[英]Rotation does not change after setting transformation matrix for camera
任何想法如何將轉換矩陣應用於PerspectiveCamera? 我有一個轉換矩陣,並通過使用將其設置為“透視相機”
camera.applyMatrix(transformationMatrix);
它正確設置了camera.position
但是camera.quaternion
保持不變。 旋轉僅在我設置camera.matrixAutoUpdate = false
但會破壞軌跡球camera.matrixAutoUpdate = false
。 我也嘗試過將camera.updateMatrix
添加到trackballcontrols中,但是再次重置旋轉。 我嘗試手動設置相機的位置,四元數和比例為:
camera.matrixAutoUpdate = false;
camera.useQuaternion = true;
var position = new THREE.Vector3();
var quaternion = new THREE.Quaternion();
var scale = new THREE.Vector3(1, 1, 1);
transformationMatrix.decompose(position, quaternion, scale);
camera.position.copy(position);
camera.quaternion.coy(quaternion);
camera.scale.copy(scale);
camera.updateMatrix();
它產生相同的結果,所有設置均正確,但trackballcontrols不起作用。
編輯:我想一次設置矩陣,而不是每一幀。
在動畫循環內部,嘗試在camera.applyMatrix(transformationMatrix)
camera.matrix.identity()
之前調用camera.matrix.identity()
,並在camera.applyMatrix(transformationMatrix)
之后調用controls.update()
camera.applyMatrix(transformationMatrix)
:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.