0
我使用三組對象的推車
var dist = -100;
var vec = new THREE.Vector3(0, 0, dist);
vec.applyQuaternion(camera.quaternion);
object.position.copy(vec);
object.lookAt(camera.position);
這個作品真的很好配售對象在鏡頭前。
我現在不得不旋轉攝像頭(它的VR視頻播放器)來設置它的起始位置,並做到這一點,仍然與WebVR樣板一起工作,我將視頻添加到小車對象並旋轉。
dolly = new THREE.Group();
dolly.position.set(0, 0, 0);
scene.add(dolly);
camera.up.set(0, 1, 0);
dolly.add(camera);
而物體現在不在攝像機前面。我試圖將小車旋轉應用到矢量以說明該角度。
var rotation = new THREE.Euler().setFromQuaternion(camera.quaternion, camera.rotation.order);
rotation.y += dolly.rotation.y;
var quat = new THREE.Quaternion().setFromEuler(rotation, camera.rotation.order);
vec.applyQuaternion(quat);
這主要適用於攝像機是特定角度但有時不是對象也在其x軸上旋轉的情況。
我假設rotation.y += dolly.rotation.y
;是錯誤的,但我不確定合併數字的更好方法。
你可以只直接添加你的對象到'camera'對象...'camera.add(對象);'這將物體放置在相機空間內,它將自動跟隨相機的移動和旋轉。 – TheJim01
謝謝@ TheJim01,是的,我之前是這麼做的,但是該項目有可選擇的元素,所以相機需要能夠看到不同的部分。如果我不得不努力迴避,我只是想避免它。 – user5839