ThingJS支持塌陷性能,加快3D渲染速度

ThingJS支持模型塌陷,通过合并物体和材质来提高3D渲染速度。在导入塌陷后的模型后,可以进行轻量级3D开发,减少内存占用和CPU使用,提高运行效率。在3DMAX等建模软件中创建子对象,并在ThingJS中进行控制,实现物体拆分和爆炸图效果。塌陷模型后,子节点信息被保留,以满足特定的开发需求和性能优化。
摘要由CSDN通过智能技术生成

image.png
在3D建模阶段,塌陷性能其实就是附加,材质也会合并会变成一种材质。加快渲染速度。ThingJS在导入塌陷后的模型后再进行轻量3D开发。

今天来讲讲如何基于js语法来开发一个物体模型拆解展开的效果,专业名称叫“物体爆炸图”,标准ThingJS体系模型出于互动模型性能考虑,都要求在模型上传前做塌陷,这种建模细节对于提升3D开发效率很有必要,目的是减少模型对内存的占用。

在3D开发之前,模型本身会重叠很多命令,占用很大一部分内存和CPU,拖慢电脑,所以针对模型进行塌陷后(指的是把很多个物体合并成一个,转换为一个命令可编辑多边形或可编辑网格),就会去除这些多余的命令参数,不再花时间记录和存储,从而加快运行速度。

制作物体模型时,根据爆炸图中各个零件的拆分需要,针对子模型或子节点定义并命名物体子对象,在3DMAX等建模软件里就能创建子对象。这些子对象在ThingJS在线开发中可作为模型子节点来控制,能够像单独模型对象物体一样进行移动、添加事件等操作。

拆分后磨性子节点如果有多材质或点数超过上限,那在ThingJS开发中会继续拆分,并在子节点中被命名成组,组内继续拆分“01”、“02”等对象。例如:3dmax命名, 一个子节点名字为“box”,由于该子节点使用了多种材质,该子节点在在线开发中会被命名成组,组内会被拆分并命名为“box_0”,“box_1”等对象。

注意经塌陷的模型不再有子节点保留,只有上述分项控制模型局部要求,保留已命名的子对象信息,最大程度上提高开发性能,又满足模型拆分的特殊需要。

官方示例请各位看官参考:

// 加载场景代码 
var app = new THING.App({
    
    url: '/api/scene/406e419fae9000a47a4a8899'
});

// 发电机模型节点数据
var nodeObjData = {
   
    '1': {
   name: '机座', offset: [0, 0, -1]},
    '2': {
   name: '保护装置', offset: [0, -1, 0]},
    '3': {
   name: '电瓶', offset: [0, -1, 0]},
    '4': {
   name: '排气口', offset: [0, 0, 1]},
    '5_0': {
   name: '过滤器', offset: [0, 0, 1]},
    '5_1': {
   name: '过滤网', offset: [0.5, 0, 1]},
    '6': 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值