我试着把BoxMesh绕着它的轴旋转。
如果没有Physijs.Scene.simulation(),rotateOnAxis就能工作,但是通过仿真,它就无法工作。通过模拟,它确实绕着它的位置移动。
this.player.__dirtyPosition = true;
// move forwards/backwards/left/right
if ( this.keyboard.pressed("W") )
this.player.translateZ( -moveDistance );
if ( this.keyboard.pressed("S") )
this.player.translateZ( moveDistance );
if ( this.keyboard.pressed("Q") )
this.player.translateX( -moveDistance );
if ( this.keyboard.pressed("E") )
this.player.translateX( moveDistance );
// rotate left/right/up/down
if ( this.keyboard.pressed("A") )
{
this.player.rotateOnAxis( new THREE.Vector3(0,1,0), rotateAngle);
}
if ( this.keyboard.pressed("D") )
{
this.player.rotateOnAxis( new THREE.Vector3(0,1,0), -rotateAngle);
}所以W,S,Q,E是有效的,但是A,D不适用于Physijs.Scene.simulation(),A,D不需要Physijs.Scene.simulation()。有什么想法吗?
**编辑解决:
很明显,this.player.__dirtyPosition = true;只允许你改变位置,而不是旋转,我在代码中搜索类似的东西,所以我发现也有一个this.player.__dirtyRotation = true;解决了我的问题!)
发布于 2015-05-25 13:58:37
很明显,this.player.__dirtyPosition = true;只允许您更改位置,而不是旋转,我在代码中查找类似的内容,因此我发现也有一个this.player.__dirtyRotation = true;这解决了我的问题!)
https://stackoverflow.com/questions/24753233
复制相似问题