Pregunta

Estoy tratando de conseguir un personalizados Shape3D a ser afectado por un DirectedLight en java 3D, pero nada de lo que yo hago parece que funciona.

La Forma tiene una geometría que es un IndexedQuadArray, con la NORMAL indicador establecido y aplicado, asegurando que los vectores normales se aplican a la correcta vértices - uso de indexado vectores

Me han dado la Apariencia de un Material (tanto con los colores y el brillo, y sin)
También he de poner la luz en el mismo BranchGroup como la Forma, pero todavía no funciona.

De hecho, cuando me agregue en las normales a la forma, el objeto parece desaparecer, y sin ellos, en un plano de sombra, para que todas las caras son del mismo tono.

Solo puedo pensar en que me estoy olvidando incluir algo ridículamente simple, o ha hecho algo mal.

Para probar las luces estaban, en realidad, me metieron en un Sphere al lado de la Forma, y la esfera se vio afectada y encendió correctamente, pero la forma no.Los dos estaban en el mismo BranchGroup

[Pequeña rareza demasiado - si yo traduzco de la esfera, se desvanece si me muevo es mayor que 31 en cualquier dirección...[mi punto de vista se establece alrededor de 700 de nuevo como yo estoy tratando con objetos de tamaños de hasta 600 de ancho]


Editar:encontré esto en el oficial tutoriales que está probablemente relacionado

Un objeto visual correctamente especificado para el sombreado (es decir, uno con un objeto Material) en una escena en vivo gráfico, pero fuera de la influencia de los límites de toda fuente de luz de los objetos hace negro.

¿Fue útil?

Solución

La luz del setInfluencingBounds() no se ha ajustado correctamente, de modo que las formas en la escena de la que no se incluyó en los límites.

Esto fue corregido mediante el establecimiento de un BoundingBox para abarcar toda la zona, y la asignación que en la influencia de los límites

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top