ToB企服应用市场:ToB评测及商务社交产业平台

标题: 在react中利用three.js 渲染模型 让鼠标拖拽是模型转动 [打印本页]

作者: 铁佛    时间: 2024-9-8 01:14
标题: 在react中利用three.js 渲染模型 让鼠标拖拽是模型转动
  1. import { OrbitControls } from 'three/examples/jsm/controls/OrbitControls';
  2. useEffect(() => {
  3.   // 初始化OrbitControls
  4.   const controls = new OrbitControls(camera, renderer.domElement);
  5.   // 设置控制参数
  6.   controls.enableDamping = true; // 平滑化运动
  7.   controls.dampingFactor = 0.05;
  8.   controls.screenSpacePanning = false;
  9.   controls.minDistance = 10;
  10.   controls.maxDistance = 200;//缩放最大距离
  11.   controls.minAzimuthAngle = -Math.PI / 4; // 最小方位角
  12.   controls.maxAzimuthAngle = Math.PI / 4; // 最大方位角
  13.   controls.minPolarAngle =-Math.PI/6;; // 允许相机向上看
  14.   controls.maxPolarAngle = Math.PI/3; // 允许相机向下看直到正下方
  15.   controls.addEventListener('start', (event) => {
  16.   });
  17.   controls.addEventListener('end', (event) => {
  18.     console.log('Interaction ended.',event);
  19.    
  20.   });
  21.   // 注册zoom事件
  22.   controls.addEventListener('zoom', function() {
  23.     console.log('Zooming');
  24.   });
  25. })
复制代码
利用OrbitControls  实现模型转动放大缩小等功能,这是three里带的 所以用起来比较顺畅一些。
下面可以设置他放打缩小的限定已经 转动的角度。
全部的代码包罗渲染代码我上一篇文章有写到渲染代码。都是写在了useEffect中,否则页面标签没有渲染完去渲染模型,会报错。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4