es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

ARKit – Occlusión del entorno

En Unity, podemos implementar la occlusión con Environment Depth, lo cual utiliza ARKit en segundo plano. ¿Cómo puedo lograr el mismo comportamiento en iOS ARkit?

Sé que podemos configurar los semánticos del marco con profundidad, pero dudo que sea realmente lo mismo que la occlusión del entorno en Unity.

 

// Construir el conjunto de semánticas del marco requeridas.
let semantics: ARConfiguration.FrameSemantics = [.sceneDepth]
configuration.frameSemantics = semantics

session.run(configuration)
Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para lograr el mismo comportamiento en iOS ARKit, podemos utilizar las capacidades de comprensión de escena de ARKit. La comprensión de escena proporciona información sobre la disposición espacial de la escena de RA, incluyendo la geometría de superficies y objetos. Esta información puede utilizarse para ocultar objetos virtuales que deben quedar detrás de objetos del mundo real.

    Para habilitar la comprensión de escena, podemos utilizar la propiedad de configuración de ARKit llamada detectVolume. De forma predeterminada, esta propiedad está configurada en false, pero podemos habilitarla para detectar la extensión de los objetos del mundo real en la escena. Una vez habilitada, podemos acceder a rawFeaturePoints, sceneDepth y capturedDepthData de ARFrame para determinar la disposición del entorno y utilizarla para la ocultación.

    Para implementar la ocultación, podemos utilizar la información de sceneDepth proporcionada por la comprensión de escena de ARKit. Esta información puede utilizarse para crear un mapa de profundidad de la escena, que puede aplicarse a los objetos virtuales en la escena para ocultarlos en base a la profundidad de los objetos del mundo real. Esta técnica es similar a la función de “Profundidad de entorno” en el plugin ARKit de Unity.

    En general, podemos lograr un comportamiento de ocultación similar en iOS ARKit habilitando la comprensión de escena y utilizando la información de profundidad para ocultar los objetos virtuales. Sin embargo, los detalles de implementación pueden diferir de la implementación de Unity.

Comments are closed.