首页 / 浏览问题 / 三维GIS / 问题详情
webgl怎样锁定摄像机旋转轴?
2EXP 2019年10月23日

camera.constrainedAxis方法无效。我用viewer.camera.constrainedAxis = Cesium.Cartesian3.UNIT_Y;在原生cesium里有效,在supermap webgl里无效。是不是超图有bug?或者有什么其他方法能锁定摄像机旋转轴?

cesiumsupermap

如图所示,上面原生cesium是绕某个轴旋转,而下面超图webgl完全没有绕任何轴旋转。

1个回答

您好,使用官网示例,输入代码viewer.scene.camera.constrainedAxis = new Cesium.Cartesian3(0,1.0,0);是可以控制锁定旋转轴的,您那个UNIT_Y我也试过了 也是可以的呀。

您是在哪里测试的呢?您可以在官网尝试一下
6,215EXP 2019年10月24日
看图,官网示例并没有效果

 您把这个代码viewer.scene.camera.constrainedAxis = new Cesium.Cartesian3(0,1.0,0);放到60行后面,然后运行。不要看整个地球,就看哪个地形,您稍微转下视角就能看出来

示例地址http://support.supermap.com.cn:8090/webgl/examples/editor.html#terrainAndImagery

箭头所指的才是Y轴,您设置哪个以后会发现这个调动不了

这么跟你说吧,我用鼠标左键平移地图,摄像机会发生倾斜,在亚洲看是正的,到了欧洲就歪了。而原生cesium就没有这个问题。怎么让摄像机一直保持正南正北?

scene.ScreenSpaceCameraController

尝试一下这下面的接口

...