babylonjs 分部加载模型_hanyeah

博客介绍了Babylonjs加载模型的相关内容。它只支持加载“.babylon”模型,可借助插件加载其他格式。使用babylonjs.loaders.js,采用LoadAssetContainer分部加载。还讲述了获取器材一部分的方法,如给mesh或空对象命名后通过属性匹配查找,推荐使用“.gltf”格式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Babylonjs只支持加载“.babylon”模型,官方提供了一些插件可以从3D建模软件导出“.babylon”模型,其它格式的模型只能通过插件来加载。

使用babylonjs.loaders.js来加载模型。

我使用LoadAssetContainer来加载,因为我不是一次性加载整个场景,一个模型文件对应一个器材,用到的时候才加载。LoadAssetContainer加载完成之后,会得到一个AssetContainer对象,通过AssetContainer对象的addAllToScene来加载到场景,removeAllFromScene来从场景中删除。

加载完得到一堆mesh,如何拿到器材的一部分(比如铡刀开关的铡刀)?

如果铡刀是一个mesh,可以在建模软件中给铡刀起个名字,代码中通过遍历AssetContainer对象的meshes,通过name属性来找到铡刀。

如果铡刀不是一个mesh,本来想通过分组(blender中是Collection,其它软件不知道),给组起名字,然后来找到。但是发现blender导出".obj"或其它格式之后,Collection信息是丢失的。把多个Mesh放到一个空对象(Empty)中,导出“.gltf”格式,有空对象的信息,“.obj”和“.babylon”文件没有,所以使用“.gltf”格式,把多个mesh放到一个空对象中,给空对象命名,获取的时候,通过AssetContainer对象的transformNodes来获取(遍历,匹配name属性)。

3D开发不熟,不知道别人是怎么做的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值