1

http://babylonjs-playground.com/#A83GX#0

大家好,

我已经和 babylonjs 一起玩了几天了,对此我很兴奋。但是,如果我没有问题,我为什么会在这里。

附加操场链接,现在弧形摄像机围绕网格旋转。它给人一种网格本身正在旋转的错觉,但是当我将对象从 (0,0,0) 移开时,它开始显示相机正在旋转而不是对象。而不是这样的相机黑客,我想从任何地方旋转网格本身,我用谷歌搜索并在 babylonjs 论坛中找到了几个主题,但解决方案不像相机解决方案那样流畅或轻松。如果有人可以帮助我,那就太好了。干杯并感谢您提前提供的帮助。

4

1 回答 1

0

我认为您正在寻找的是旋转功能?

尝试cylinder.rotate(new BABYLON.Vector3(1, 1, 1), 30);...它将在所有轴 iirc 上旋转圆柱体网格 30 度。这是一个更新的游乐场。

如果您想使用鼠标输入旋转网格,以下是使用几个指针事件围绕 X 和 Y 轴旋转网格的方法:

var onPointerDown = function (e) {
    // check if we clicked on a mesh
    var pickInfo = scene.pick(scene.pointerX, scene.pointerY);
    if (pickInfo.hit) {
        currentMesh = pickInfo.pickedMesh;
        rotationInit = currentMesh.rotation.y;
    }
};

var onPointerMove = function (e) {

    dragDiff = {
        x: e.x - dragInit.x, 
        y: e.y - dragInit.y                     
    }

    var newRotation = rotationInit;
    newRotation.x = rotationInit.x - dragDiff.x /70
    newRotation.y = rotationInit.y - dragDiff.y /70

    currentMesh.rotation = newRotation;
    return true;
};

您还可以通过添加一些代码(例如监听键,如 Shift)绕 Z 轴旋转。

更新游乐场

于 2016-02-03T10:47:06.613 回答