three.js를 사용하여 객체를 렌더링하는 응용 프로그램이 있습니다. 방향 조명과 트랙볼 컨트롤을 모두 사용하고 있습니다. 저는 컨트롤을 사용하여 카메라를 움직이고 있으며 조명의 위치는 정적이라는 것을 알고 있습니다.방향 조명 및 트랙볼 제어 동기화 - 세 가지
그러나 움직임이있을 때마다 조명이 카메라와 함께 이동하여 각 시점에서 조명 조건이 동일 해지길 바랍니다. 이렇게하면 매달려있는 물체가 카메라 대신 회전하여 나타납니다.
현재 내가 가지고
camera = new THREE.PerspectiveCamera(45, width/height, 0.01, 1000);
camera.position.z = 3;
light = new THREE.DirectionalLight(0xAAAAAA, 1);
light.position = camera.position;
scene.add(light);
내가 시도하는 것 :
-
(이것은 preffered을 받겠지만) 조명의 다른 유형을 사용하여
- 비슷한 방법
- 업데이트 시도 Render 루프가있는 위치. 전혀 효과가 없습니다.
이 효과는 빛이 물체의 반대편에 있고 정적인데, 이는 의미가 없습니다. 나는 빛의 위치가 같기 때문에 같은 방향을 가리킬 것이라고 상상한다.
업데이트 : 사용 후 그래서
는 :
light.castShadow = true;
light.shadowCameraVisible = true;
나는 빛되고 캐스트를 개설 프레임을 관찰 할 수있다. 빛의 위치는 바뀌지 만 빛 자체는 원래 위치에서 다시 그려지지 않습니다. 빛이 다시 그려지기 위해 필요한 것이 있습니까?
도움을 주시면 감사하겠습니다. 이 같은 것을, 객체가 회전되는 환상을 생성하고 싶은 경우
아쉽게도 작동하지 않습니다. 라이트는 컨트롤과 함께 움직이지 않으며 오브젝트가 반대쪽에 빛이 나타나는 이전과 같은 효과를냅니다. – Tony
예, 나는 그 제안을 따라 갔지만, 내가 깨닫지 못했던 매우 다른 문제가있었습니다. 간단한 [jsfiddle] (http://jsfiddle.net/qzXFM/2/)을 만드는 동안. 나는 이것이 실제로 완벽하게 작동한다는 것을 깨달았다. 내 응용 프로그램에서 나는 카메라의 정확한 위치 이동을가 렸던 광선 효과를 사용하려고했습니다. 고맙습니다.대답으로 회신하면 기꺼이 받아 들일 것입니다. – Tony
나는 당신의 지시를 따랐습니다. :-) – WestLangley