首页 / 浏览问题 / 三维GIS / 问题详情
使用ModelInstanceCollection加载glb模型,加载不出来
83EXP 2025年01月23日

使用产品:SuperMap for WebGL 11.3

问题描述:使用primitive方式添加glb模型,没有加载出来,文件地址没问题(使用entity方式正常)

let modelMatrix = SuperMap3D.Transforms.headingPitchRollToFixedFrame(position, new SuperMap3D.HeadingPitchRoll(SuperMap3D.Math.toRadians(90), 0, 0))
const modelPrimitive = viewer.scene.primitives.add(
  new SuperMap3D.ModelInstanceCollection({
    url: '',
    instances: [{ modelMatrix }]
  })
)

1个回答

可以发下完整的代码及glb模型
1,787EXP 2025年01月23日
编辑器没找到可以添加文件的地方。代码如下

let position = SuperMap3D.Cartesian3.fromDegreesArray(110.27569019522117, 21.53283137965961, 30)
let modelMatrix = SuperMap3D.Transforms.headingPitchRollToFixedFrame(position, new SuperMap3D.HeadingPitchRoll(SuperMap3D.Math.toRadians(90), 0, 0))
modelMatrix = SuperMap3D.Matrix4.multiplyByUniformScale(modelMatrix, 1, modelMatrix)

let instances = [{ modelMatrix }]

const modelPrimitive = viewer.scene.primitives.add(
  new SuperMap3D.ModelInstanceCollection({
    url: '',//文件路径
    instances: instances 
  })
)
请问这种实例化方法如何更新模型的位置呢?直接修改position好像没有效果
...