문제

커스텀을 하려고 하는데 Shape3D ~의 영향을 받다 DirectedLight Java 3D에서는 아무것도 작동하지 않는 것 같습니다.

Shape에는 다음과 같은 형상이 있습니다. IndexedQuadArray, NORMAL 플래그를 설정하고 적용하여 법선 벡터가 올바른 정점에 적용되도록 보장 - 인덱스 벡터 사용

모양에 재질을 지정했습니다(지정된 색상과 광택이 있거나 없음).
조명도 같이 켜놨어요 BranchGroup Shape로 변경했지만 여전히 작동하지 않습니다.

실제로 모양에 법선을 추가하면 개체가 사라지는 것처럼 보입니다. 법선이 없으면 평면 음영 처리되어 모든 면이 동일한 음영이 됩니다.

나는 터무니없이 간단한 것을 포함하는 것을 잊었거나 뭔가 잘못했다고 생각할 수 있습니다.

실제로 조명을 테스트하기 위해 저는 Sphere Shape 옆에 있고 구가 영향을 받고 올바르게 조명되었지만 모양은 여전히 ​​그렇지 않았습니다.둘 다 같은 편이었어 BranchGroup

[작은 이상한 점 - 구를 변환하면 어떤 방향으로든 31보다 크게 움직이면 사라집니다...[폭이 최대 600인 개체를 다루기 때문에 내 뷰는 약 700으로 뒤로 설정되어 있습니다.]


편집하다:아마도 관련이 있는 공식 튜토리얼에서 이것을 찾았습니다.

라이브 장면 그래프에서 음영 처리를 위해 적절하게 지정된 시각적 객체(즉, Material 객체가 있는 객체)는 모든 광원 객체의 영향 범위를 벗어나 검은색으로 렌더링됩니다.

도움이 되었습니까?

해결책

빛의 setInfluencingBounds() 올바르게 설정되지 않아 장면의 모양이 경계에 포함되지 않았습니다.

이는 다음을 설정하여 수정되었습니다. BoundingBox 전체 영역을 포괄하고 이를 영향 경계에 할당합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top