如何在Babylon.js中反转鼠标按下拖拽的操作方向
你使用的是Babylon.js的FreeCamera,要反转鼠标拖拽的操作方向,根据你要修改的操作类型对应调整相机属性即可:
- 反转左键拖拽旋转视角的方向:修改相机的
angularSensibilityX(水平方向)、angularSensibilityY(垂直方向)属性为负值,默认值为2000,改成-2000即可完全反转对应轴的操作方向 - 反转右键拖拽平移视角的方向:直接将相机的
invertPan属性设置为true即可
修改后的完整示例代码如下:
var createScene = function () { var scene = new BABYLON.Scene(engine); var camera = new BABYLON.FreeCamera("camera1", new BABYLON.Vector3(0, 5, -10), scene); camera.setTarget(BABYLON.Vector3.Zero()); // 反转鼠标拖拽旋转方向 camera.angularSensibilityX = -2000; camera.angularSensibilityY = -2000; // 如需反转右键平移方向,取消注释下一行 // camera.invertPan = true; camera.attachControl(canvas, true); var light = new BABYLON.HemisphericLight("light", new BABYLON.Vector3(0, 1, 0), scene); light.intensity = 0.7; var sphere = BABYLON.MeshBuilder.CreateSphere("sphere", {diameter: 2, segments: 32}, scene); sphere.position.y = 1; var ground = BABYLON.MeshBuilder.CreateGround("ground", {width: 6, height: 6}, scene); return scene; };
注:上述相机属性的配置代码放在attachControl调用前后均可正常生效。
内容的提问来源于stack exchange,提问作者Solsiden
相关产品推荐
相关产品推荐

