物联网可视化这个事儿越来越多人关注和应用,可视化应用可以用在各行各业中,包括智慧校园、智慧城市、智能建筑、智慧电厂,IT运维,在这里不一一列举,物联网行业的技术人才肯定了解的比小编还多撒。那今天说说物联网可视化效果怎么做能做到最好。制作物联网可视化应用肯定要借助平台和工具的,thingjs就是面向物联网的3D可视化在线开发平台。作为技术工程师的你肯定能玩儿转,因为thingjs平台是基于webgl,使用 Javascript 语言进行开发,门槛极低,但是效果贼好,注意前端工程师都能在thingjs平台在线开发3D可视化应用哈。
- 第一人称行走.js
- 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;
- var gui = null;
- function add_control() {
- if (ctrl) {
- return
- }
- app.camera.position = [0, 10, 0];
- ctrl = app.addControl(new THING.WalkControl({
- walkSpeed: 0.02,
- turnSpeed: 0.25,
- gravity: 29.8,
- eyeHeight: 1.6,
- jumpSpeed: 10,
- enableKeyRotate: false,
- useCollision: false,
- useGravity: true
- }));
- gui = new THING.widget.Panel({
- 'titleText': '第一人称行走',
- 'hasTitle': true
- });
- gui.position = [10, 200];
- gui.addBoolean(ctrl, 'enableKeyRotate').caption('键盘控制旋转');
- gui.addBoolean(ctrl, 'useCollision').caption('碰撞检测');
- gui.addBoolean(ctrl, 'useGravity').caption('重力检测');
- gui.addNumberSlider(ctrl, 'gravity').caption('重力').step(1).min(0).max(50).isChangeValue(true);
- gui.addNumberSlider(ctrl, 'jumpSpeed').caption('跳起速度').step(1).min(0).max(30).isChangeValue(true)
- }
- function remove_control() {
- if (ctrl) {
- app.removeControl(ctrl);
- ctrl = null;
- gui.destroy()
- }
- }