2015-01-13 2 views
1

트랙볼 컨트롤과 카메라를 지향성 조명과 동기화해야합니다.ThreeJS r69 트랙볼 컨트롤, 카메라 및 방향 라이트

내 경우 시나리오 : 카메라, 조명 및 컨트롤이있는 빈 장면을 초기화하십시오. bufferGeometry obj를로드하고 중심을 가져 와서 카메라를 설정하고 obj 중심에 대한 위치와 대상을 제어합니다. 는 기본적으로 단순히 카메라의 위치와 controls.target을 설정

위치가 Three.Vector3의 OBJ입니다
camera.lookAt(position); 
camera.position = position; 
controls.target.copy(position); 

.

방향 표시등은 컨트롤과 자동으로 동기화되어야합니다.

내가 threejs R66 사용하여 한 : 컨트롤이 THREE.TrackballControls 개체입니다

function init(){ 
... 
directionalLight.position = controls.object.position; 
directionalLight.target.position = controls.target; 
... 
} 

합니다.

threejs r69는 더 이상 작동하지 않습니다. 제안 사항이 있으십니까?

감사합니다,

시몬


대신 directionalLight을 pointLight를 사용하여 해결.

var pointLight = new THREE.PointLight (0xffffff, 1, 100); camera.add (pointLight); 모든 도움

+0

어떻게 '가 작동하지'않는다? 오류가 있습니까? 어떤면이 효과가 없습니까? –

+0

트랙볼 컨트롤과 상호 작용하는 동안 조명이 카메라 움직임을 따르지 않습니다. 따라서 directionalLight.target.position은 controls.target과 같지 않습니다 (이 것은 모든 변환/회전 등을 변경합니다) – daron1337

+0

참조 http://stackoverflow.com/questions/26905929/three-js-2xmeshes-using-same- vector-as-position/26916159 # 26916159 – WestLangley

답변

0

(WestLangley 덕분에) 솔루션에 대한

감사는 다음과 같습니다

var pointLight = new THREE.PointLight(0xffffff, 1, 100); 
camera.add(pointLight);