Modelviewer如何限制视角 禁止查看3D模型底部区域
Modelviewer 禁止视角转到模型下方的实现方案
你当前代码未对相机垂直俯仰角度做下限限制,因此用户拖动操作时可以将视角翻到模型底部。通过min-camera-orbit属性配置垂直角度阈值即可解决问题:
min-camera-orbit属性接收三个参数,格式为水平旋转角 垂直俯仰角 最小缩放距离,你原有配置auto auto 5%里的第二个auto代表不对垂直俯仰角做下限约束- Modelviewer的垂直俯仰角规则为:
0deg是相机与模型中心平视,90deg是正上方俯视,-90deg是正下方仰视 - 将第二个参数设置为大于等于
0deg的数值,即可禁止相机转到模型水平面以下,你可以根据展示需求调整具体数值,例如设置为5deg可以预留一点向下看的余量,避免平视时看不到模型底部边缘的地形 - (可选)如果需要限制最大俯视角度,可同步配置
max-camera-orbit的第二个垂直角度参数,例如设置为85deg即可避免相机完全垂直俯视模型顶部
注意:你原有代码里重复写了两次camera-controls和ar属性,属于冗余配置,修复时可以删掉重复项
修改后可直接使用的代码
<model-viewer id="hotspot-camera-view-demo" src="assets/scene.gltf" ios-src="assets/Low_Poly_Lake_Scene.usdz" camera-controls auto-rotate enable-pan touch-action="none" ar ar-modes="webxr scene-viewer quick-look" camera-orbit="-8.142746deg 68.967deg 0.6179899m" camera-target="-0.003m 0.0722m 0.0391m" field-of-view="45deg" min-field-of-view="25deg" max-field-of-view="45deg" interpolation-decay="200" min-camera-orbit="auto 0deg 5%" max-camera-orbit="auto 90deg auto" > </model-viewer>
效果参考
正常正面视图:
修复后将不会再出现以下底部视角问题:
内容的提问来源于stack exchange,提问作者Asheline
相关产品推荐
相关产品推荐

