Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

204
Visualizações
¿Cómo preservar comportamientos de Reality Composer?

Quiero mostrar la experiencia de Reality Composer en una imagen, sin embargo, no quiero que los objetos AR se oculten cuando pierdo el rastro de la imagen, así que creé un AnchorEntity y obtuve la traducción de ImageAnchor del método de delegado de anclas didAdd de la siguiente manera :

 func session(_ session: ARSession, didAdd anchors: [ARAnchor]) { // If we already added the content to render, ignore if rootAnchor != nil { return } // Make sure we are adding to an image anchor. Assuming only // one image anchor in the scene for brevity. guard anchors[0] is ARImageAnchor else { return } // Create the entity to render, could load from your experience file here // this will render at the center of the matched image rootAnchor = AnchorEntity(world: [0,0,0]) guard let boxAnchor = boxAnchor else { return } rootAnchor!.addChild(boxAnchor.tap!) arView.scene.addAnchor(rootAnchor!) }

Como puede ver aquí, estoy obteniendo la entidad de toque del archivo Reality Composer para volver a insertarla en la entidad Anchor.

Mi problema ahora es que perdí el comportamiento de mi archivo Reality Composer, esta entidad tenía algunos comportamientos como cuando tocas voltea o se acerca a la cámara. Al perder comportamientos, estoy perdiendo todo el sentido de Reality Composer.

Ahora mi pregunta es, ¿cómo puedo recuperar los comportamientos del archivo de realidad? Pensé en anclar toda la experiencia en lugar de una entidad, así que en lugar de rootAnchor!.addChild(boxAnchor.tap!) sería rootAnchor!.addChild(boxAnchor) , pero luego el método de actualización delagate no actualiza la posición de las entidades en la escena, aquí está el código:

 func session(_ session: ARSession, didUpdate anchors: [ARAnchor]) { guard let rootAnchor = rootAnchor else { return } // Code is assuming you only have one image anchor for brevity guard let imageAnchor = anchors[0] as? ARImageAnchor else { return } if !imageAnchor.isTracked { return } rootAnchor.transform = Transform(matrix: imageAnchor.transform) }

Básicamente rootAnchor.transform = Transform(matrix: imageAnchor.transform) no funciona si el anclaje raíz es toda la escena.

Entonces, ¿cómo se puede preservar el comportamiento mientras se actualiza el ancla de acuerdo con la imagen?

Gracias

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

El problema es: en RealityKit 2.0 no tenemos acceso a los comportamientos de Reality Composer (excepto la notification ), y el tipo de anclaje (sabemos que es AnchorEntity(.image)) que asignó en Reality Composer funciona de la misma manera que la imagen de ARKit. ancla en ARImageTrackingConfig , es decir, utiliza seguimiento local en lugar de seguimiento global. En otras palabras, difícilmente obtienes tal escenario con la escena actual de Reality Composer.

Pruebe ARKit y su ARWorldTrackingConfig para el seguimiento de imágenes. Todos los "comportamientos" deben recrearse desde cero en RealityKit o en SceneKit.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda