【问题标题】:Three.js move geometry's centerThree.js 移动几何的中心
【发布时间】:2012-08-08 07:27:19
【问题描述】:

我创建了一个圆柱体,我想通过更改它的边界框将它的旋转中心移动到它的一端,但它不起作用。

http://jsfiddle.net/736a7/1/

有一个我一直在研究的例子。

基本上我想旋转圆柱体,就好像它是一把被它的手柄挥动的剑。

【问题讨论】:

    标签: three.js


    【解决方案1】:

    在我的案例中,我采用了一种使用枢轴的方法。基本上,您创建一个枢轴点:

    var pointToRotateAround;
    var objectToRotate;
    ...
    var pivot = new THREE.Object3D();
    pivot.position=pointToRotateAround.position;
    pivot.add(objectToRotate);
    scene.add(pivot);
    ...
    function render (){
    pivot.rotation.z +=0.05;
    }
    ...
    

    它提供了使一个物体围绕另一个或任何点旋转的可能方法。以下是有关该方法的更多信息:https://github.com/mrdoob/three.js/issues/1830

    【讨论】:

      【解决方案2】:

      在一些帮助下找到了。

      geometry.applyMatrix( new THREE.Matrix4().makeTranslation(x, y, z) );
      

      使用它我将圆柱体的 y 平移了 100 个点,所以它基本上在它的下端旋转。

      【讨论】:

      • 我这辈子都做不到。它也会平移原点,并且旋转根本不会改变。
      • @Tyguy7 - 你需要设置 geometry.verticesNeedUpdate = true
      • 您现在可以使用此快捷方式geometry.translate(x, y, z);,请参阅stackoverflow.com/questions/12835361/…
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-01
      • 2021-11-16
      • 1970-01-01
      • 1970-01-01
      • 2014-10-05
      相关资源
      最近更新 更多