You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Three.js中RingGeometry创建的行星环旋转后消失是什么原因?

问题根因

  • THREE.Object3D的rotation.set()方法设计为直接接收三个数值参数,分别对应X、Y、Z轴的旋转弧度,你传入THREE.Vector3实例作为第一个参数,会导致旋转赋值异常:X轴旋转值为非法对象类型,Y、Z轴旋转值为undefined,最终行星环被旋转到相机视锥体可视范围外,因此无法看到。
  • 你已经在材质中配置了side: THREE.DoubleSide,不存在单面渲染被剔除的问题,只要旋转参数正确即可正常显示。

修复方案

两种正确写法任选其一即可:

  1. 直接传入三个弧度值,这是官方推荐的常用写法:
ring.rotation.set(Math.PI / 2, 0, 0);
  1. 如果你需要通过THREE.Vector3实例传递旋转参数,调用copy方法赋值:
ring.rotation.copy(new THREE.Vector3(Math.PI / 2, 0, 0));

内容的提问来源于stack exchange,提问作者user824624

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 12:27:02