9 thoughts to “Cesium实战(十九)解决新版本3DTile旋转缩放问题”

  1. 我每次旋转之前都先为模型做了定位,就是执行了下面的代码,模型能够定位到我需要的点,然后再旋转就还是不见了。请问会不会是定位和旋转的处理逻辑有什么问题啊。
    var cartographic = Cesium.Cartographic.fromCartesian(tileset.boundingSphere.center);
    var newCartographic = Cesium.Cartographic.fromDegrees(newLongitude, newLatitude, newHeight);
    var surface = Cesium.Cartesian3.fromRadians(cartographic.longitude, cartographic.latitude, cartographic.height);
    var offset = Cesium.Cartesian3.fromRadians(newCartographic.longitude, newCartographic.latitude, newCartographic.height);
    var translation = Cesium.Cartesian3.subtract(offset, surface, new Cesium.Cartesian3());
    tileset.modelMatrix = Cesium.Matrix4.fromTranslation(translation);

    然后我的模型是BentleyContextcapture直接导出的3dtile格式,虽然加载模型没问题,但还是会报“This tileset JSON uses the “content.url” property which has been deprecated. Use “content.uri” instead.”,也不知道是不是文件的原因。

    1. 1. 你这么写,只能调整高度
      2. 3dtile的json文件规则改过一次,最早文件路径的键值关键字用的url,后来改成了uri,你把json文件中的url批量替换成uri,就不会报这个问题了

      1. 对,我是想怎么同时调整高度并旋转,我调整完位置和高度后,旋转就不能实现。文档里面的效果好像也不能同时调整高度和旋转。不知道你那边有没有思路,还请赐教。

  2. 为什么将模型移至原点后还要对旋转矩阵进行两次倒转再进行操作?这一步不太能理解,能说明讲解下吗

发表评论

电子邮件地址不会被公开。 必填项已用*标注