stl文件unity_Unity导入STL格式模型(一)

STL文件是一种非常简单且实用的三角形网格文件,他只按照三角面片的方式存储了所有的面信息及法矢量,不包含纹理以及其他任何媒体信息,主要存储格式分为:ASCII码格式、二进制格式。

这种文件格式在工业上以及3D打印行业应用非常广泛,但是Unity并不支持这种格式的模型,原因可能是因为STL模型的顶点普遍量级过大,随随便便一个模型都有可能越过了Unity单个网格顶点数不能超过65000的上限,以及他自身在未经过3DMax或maya等的二次加工前提下并不能表现出良好的渲染效果的原因。

综上所述,貌似几乎不会有哪个吃撑了的会想直接将STL模型拿到Unity中开发,毕竟那样的计算量级确实过于庞大了。目前的效果,导入一个4M的STL模型就花了将近5分钟!对了,到这里我不得不吐槽Unity的某些机制了,我可以理解为Unity将编辑器主线程的资源分配做了极大限制,在不开其他线程的情况下,主线程导入一个4M的STL模型需要约20几分钟,开一个线程来单独处理的话,只需要5分钟左右,但再开10个线程或者100个线程的话(不存在同步锁),处理时间几乎也是5分钟左右,当然100个线程电脑几乎死机,我查了一下这应该是由于进行的是内存计算的原因,多线程并不能优化本地内存计算的效率,不过在子线程中处理运算与在Unity主线程中处理却是有着本质区别的。

首先,在网上随便下了一个STL模型,因为一直没找到ASCII码格式的,所以暂时只处理二进制格式的文件。

模型原图:

6b01daebe575a69f5ca939f4fab49ff2.png

8c443745e9ac960db635f8a1bf90bcc1.png

将它拖到工程中,先重写DefaultAsset的OnInspectorGUI,使他看起来像一个我们已知的文件,DefaultAsset代表的是Unity缺省资源,不可识别的资源,我们在OnInspectorGUI

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值