Three.js:在对象的中心旋转

前端之家收集整理的这篇文章主要介绍了Three.js:在对象的中心旋转前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
修改了这个旋转立方体,使其在Object3D中包含3个立方体

http://jsfiddle.net/VsWb9/1243/

在上面的例子中,它使用第一个立方体.我需要它在对象的正中心的单个轴上旋转.

object3D代码

geometry = new THREE.CubeGeometry(50,50,50);
    material = new THREE.MeshNormalMaterial();
    mesh = new THREE.Object3D();
    mesh1 = new THREE.Mesh(geometry,material);
    mesh1.position.x = 50;
    mesh2 = new THREE.Mesh(geometry,material);
    mesh2.position.x = 100;
    mesh3 = new THREE.Mesh(geometry,material);

    mesh.add(mesh1);
    mesh.add(mesh2);
    mesh.add(mesh3);

    scene.add(mesh);

这是轮换

mesh.rotation.x += 0.01;
  mesh.rotation.y += 0.02;

编辑:只是说这是一个演示问题的例子,我的实际代码对象包含许多不同大小的形状.

解决方法

您可以定义中心的坐标.
mesh.position.set( center.x,center.y,center.z );
mesh.geometry.applyMatrix(new THREE.Matrix4().makeTranslation( -center.x,-center.y,-center.z ) );
原文链接:https://www.f2er.com/js/156308.html

猜你在找的JavaScript相关文章