cesium 自由移动的小人

cesium实现键盘控制人物模型在地图上移动,不多说直接贴代码,记录一下。

function AddPeople() {
    // if (typeof(viewer.entities.getById('people')) != "undefined") {
    //     alert("请勿重复加载。");  
    //     viewer.entities.removeById('people');
    //     //return;
    // }
    // //动态生成的人物
    // viewer.entities.add({
    //     id: 'people',
    //     position: Cesium.Cartesian3.fromDegrees(118.9602, 32.4916, 30.0),
    //     model: {
    //         uri: '../jsn-admin/img/Cesium_Man.glb',
    //         scale: 10,
    //     }
    // });
    // viewer.trackedEntity = viewer.entities.getById('people');
}


var scene = viewer.scene;
var camera = viewer.camera;
var clock = viewer.clock; //模型动画开启参数
//var controller = scene.screenSpaceCameraController;   1
var hpRoll = new Cesium.HeadingPitchRoll(); //旋转,表示为航向,俯仰和横滚。航向是绕负z轴的旋转。螺距是绕负y轴的旋转。滚动是绕正x轴的旋转。
var hpRange = new Cesium.HeadingPitchRange(); //第一视角需要用到的参数
var center = new Cesium.Cartesian3(); //第一视角需要用到的参数
var r = 0; //第一视角需要用到的参数
//var deltaRadians = Cesium.Math.toRadians(1.0);   1



//var hprRollZero0 = new Cesium.HeadingPitchRoll();   1
var position0 = Cesium.Cartesian3.fromDegrees(118.9602, 32.4916, 80); //3D笛卡尔点。
var converter0 = Cesium.Transforms.localFrameToFixedFrameGenerator('north', 'west');
//var comments0 = localFrames[0].comments;     1
//var modelMatrix0=Cesium.Transforms.eastNorthUpToFixedFrame(position0);
clock.shouldAnimate = true; //模型动画开启
//显示的人物模型
var planePrimitive0 = scene.primitives.add(Cesium.Model.fromGltf({
    url: '../jsn-admin/img/Cesium_Man.glb', //人物模型
    modelMatrix: Cesium.Transforms.headingPitchRollToFixedFrame(position0, hpRoll

你可能感兴趣的:(cesium,js,web)