Three.js获取模型内部children子模型真实位置信息的方法

在Three.js项目中,为了实现对导入模型内灯的位置进行手动打光,需要获取模型内部children子模型的真实位置信息。由于直接获取到的位置不准确,需要通过`getWorldPosition()`或`localToWorld()`方法计算物体的外框属性。在模型加载后,需手动调用这些方法以更新值,确保获取到正确的世界坐标。
摘要由CSDN通过智能技术生成

碰到一个项目需求是导入一整个模型,然后在模型中的灯的位置手动打光,可是获取到的位置信息是0,0,0,那么想要实现这个需求,首先我们得知道灯的位置在哪里。
在这里插入图片描述
根据打印信息,发现Meshposition值为{x,y,z},也不知道为什么不把值赋给它,但是大佬肯定有大佬的想法,我们老实改就行了。

去看官方文档发现,通过computeBoundingBox(),computeBoundingSphere()这两个方法都可以计算出物体的外框属性,有点像我们二维的getBoundingClientRect()都是来计算长宽等属性的函数。

这个值是不会被默认计算的,如果我们需要计算它,那么就需要我们手动调用,否则会一直保持默认的值null

下面附上计算转换的方法:

  // 方法一:根据当前 Geometry 的外边界矩形计算
  //这里的myModel是指你要获取的那个模型的名字,我以这个模型的第一个子部件为例
  let obj=
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值