请问要如何通过编程来改变 Forge Viewer 相机位置
您好,我想知道有没有办法通过写代码的方式来改变 Forge Viewer 相机的位置,这是有办法做到的吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
发布评论
评论(3)
冰之心2022-09-13 10:55:13
首先把视角调到自己想要的视角,然后用viewer.autocam.getCurrentView();获取当前自己想要的这个视角。以下的值在你想要的当前视角的结构里可以找到,直接进行替换就好。有值的替换值,其他的不用动。这只是基础的写法,可以根据自己想要的效果进行优化。
//初始化模型视角
const eye = viewer.navigation.getEyeVector();
const newPosition = new THREE.Vector3(-508.8144114263626, -280.3273446852653, 266.7830755532873);
const target = eye.add( newPosition );
const up=new THREE.Vector3(0.3887726104595453,0.12839765943236225,0.9123430815262217);
const worldUp=new THREE.Vector3(0,0,1);
const center=new THREE.Vector3(-446.59100073377203,-254.7583215368543,236.66966636633654);
const pivot=new THREE.Vector3(-464.94482906148437,-217.88815652611004,230.05122957846686);
const defaultViewer ={
position: newPosition.clone(),
up: up.clone(),
center: center.clone(),
pivot: pivot.clone(),
fov: 53.130101602940826,
worldUp: worldUp.clone(),
isOrtho: false
};
// 将信息更新到相机上
viewer.autocam.goToView(defaultViewer);
~没有更多了~
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
可以的,在 Forge Viewer 里头有很多方法可以做到这点,这边我会以
AutoCam.goToView()
来示范,以下样例假设相机的新位置是 ( x1, y1, z1 ):以上希望对你帮助~