欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 维修 > 在react中利用three.js 渲染模型 让鼠标拖拽是模型转动

在react中利用three.js 渲染模型 让鼠标拖拽是模型转动

2024/11/30 12:46:55 来源:https://blog.csdn.net/j244233138/article/details/141865869  浏览:    关键词:在react中利用three.js 渲染模型 让鼠标拖拽是模型转动
import { OrbitControls } from 'three/examples/jsm/controls/OrbitControls';useEffect(() => {// 初始化OrbitControlsconst controls = new OrbitControls(camera, renderer.domElement); // 设置控制参数controls.enableDamping = true; // 平滑化运动controls.dampingFactor = 0.05;controls.screenSpacePanning = false;controls.minDistance = 10;controls.maxDistance = 200;//缩放最大距离controls.minAzimuthAngle = -Math.PI / 4; // 最小方位角controls.maxAzimuthAngle = Math.PI / 4; // 最大方位角controls.minPolarAngle =-Math.PI/6;; // 允许相机向上看controls.maxPolarAngle = Math.PI/3; // 允许相机向下看直到正下方controls.addEventListener('start', (event) => {});controls.addEventListener('end', (event) => {console.log('Interaction ended.',event);});// 注册zoom事件controls.addEventListener('zoom', function() {console.log('Zooming');});
})

利用OrbitControls  实现模型转动放大缩小等功能,这是three里带的 所以用起来比较顺畅一些。

下面可以设置他放打缩小的限制已经 转动的角度。

所有的代码包括渲染代码我上一篇文章有写到渲染代码。都是写在了useEffect中,否则页面标签没有渲染完去渲染模型,会报错。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com