首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Three.js Physijs.BoxMesh rotateOnAxis

Three.js Physijs.BoxMesh rotateOnAxis
EN

Stack Overflow用户
提问于 2014-07-15 08:20:48
回答 1查看 666关注 0票数 0

我试着把BoxMesh绕着它的轴旋转。

如果没有Physijs.Scene.simulation(),rotateOnAxis就能工作,但是通过仿真,它就无法工作。通过模拟,它确实绕着它的位置移动。

代码语言:javascript
复制
    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;解决了我的问题!)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-25 13:58:37

很明显,this.player.__dirtyPosition = true;只允许您更改位置,而不是旋转,我在代码中查找类似的内容,因此我发现也有一个this.player.__dirtyRotation = true;这解决了我的问题!)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24753233

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档