我学习数字孪生可视化有一小段时间了,第一个制作目标就是在数字孪生可视化场景中实现一个自由飞行的摄像机。使用WSAD键控制摄像机的前后左右移动,使用QE控制摄像机的升降。
这个功能比较简单,代码也一目了然,不做过多解释了,直接上代码吧。

var app = new THING.App({
    url: 'https://www.thingjs.com/static/models/storehouse'
});
 
// 加载场景后执行
app.on('load', function () {
 // 创建按钮
 new THING.widget.Button('添加控件', add_control);
 new THING.widget.Button('删除控件', remove_control);
});
 
/**
 * 添加控件
 */
var ctrl = null;
function add_control() {
 if (!ctrl) {
        ctrl = app.addControl(new THING.FlyControl());
 
 initThingJsTip("控件添加成功!<br>键盘 W A S D 控制飞行, Q E 控制升降");
 }
}
 
/**
 * 删除控件
 */
function remove_control() {
 if (ctrl) {
        app.removeControl(ctrl);
        ctrl = null;
 initThingJsTip("本例程展示了平台内置的键盘控制摄影机交互的控件,添加控件后可以通过键盘 W A S D 控制飞行, Q E 控制升降,点击左侧按钮进行体验");
 }
}

不只可以用在摄像机上,也可以应用在数字孪生可视化场景中。
我采用的方法是使用平台内置的键盘控制摄影机交互的控件,添加控件后可以通过键盘 W A S D 控制飞行, Q E 控制升降,点击左侧按钮将触发THING.FlyControl 事件,使用键盘来控制相机角度。只需要简单的添加控件就能实现摄像机自由飞行,像我一样刚接触数字孪生可视化可视化的初学者可以试一试。

—————————————————
数字孪生可视化:https://www.thingjs.com/


hbi30w9n
10 声望0 粉丝