为相机设置变换矩阵后,旋转不会改变
Rotation does not change after setting transformation matrix for camera
知道如何将变换矩阵应用于PerspectiveCamera吗?我有一个变换矩阵,我正在使用将其设置为透视相机
camera.applyMatrix(transformationMatrix);
它正确设置camera.position
但camera.quaternion
保持不变。旋转仅在我设置camera.matrixAutoUpdate = false
时才有效,但它会破坏轨迹球控制。我也尝试在轨迹球控件中添加camera.updateMatrix
,但这再次重置旋转。 我尝试手动设置相机的位置,四元数和比例为:
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();
它产生相同的结果,一切都设置正确,但轨迹球控件不起作用。
编辑:我想设置一次矩阵,而不是每一帧。
在 animate 循环中尝试在 camera.applyMatrix(transformationMatrix)
之前调用 camera.matrix.identity()
,在 camera.applyMatrix(transformationMatrix)
之后调用controls.update()
:
http://jsfiddle.net/95u904m7/1/
相关文章:
- 防止在所有平台上旋转时改变方向
- 三.js轨道控制.js可以改变反Y轴旋转吗?
- flexislider无法在现场工作,图像没有旋转,但导航点正在改变
- 我怎么能自动改变谷歌街景的旋转角度
- 如何使用jQuery旋转HTML内容,使顺序每30秒改变一次
- 将横向iPad旋转为纵向iPad不会改变网页的缩放比例
- 如何使Bootstrap 3旋转木马指标立即改变
- 我如何改变滑块的速度使用箭头在光滑旋转木马
- 如何改变THREE.js旋转地球仪从画布到WebGL
- js在点击时改变旋转
- 当旋转或缩放改变时,在Raphaeljs中拖动路径
- 改变在IE 11中不工作的DIV的旋转速度,使用JS来更新CSS动画属性
- 如何在angular js中应用加载器/旋转器来改变状态
- 旋转滑块的不透明度在Chrome OSX中会改变不透明度,但在Windows中不会
- 如何使圆形旋转滑块只改变一个方向
- 改变所有图标向下旋转为一个
- 动画高度改变在Bootstrap 3旋转木马
- 为相机设置变换矩阵后,旋转不会改变
- 问题bootstrap 3旋转木马改变高度为0px和边缘为-…px
- jQuery移动绑定旋转器来改变页面