【Unity】关于unity Mesh 文件转存及解析

6 篇文章 0 订阅
4 篇文章 0 订阅

关于unity Mesh 文件转存及解析

一、 前言
unity 版本升级过程中(特别是升级到unity v2018 及以上版本),Mesh 文件格式有较大的调整,导致资源的使用不兼容。
解决以上的问题的办法: 转存Mesh 文件,在新版本中再反向解析处理。
转存解析代码涉及公司项目,就不给出了

二、我这里留下自己使用上遇到的问题:

UV存储格式不固定
在mesh 文件中,会存储uv 信息,作用是记录贴图的坐标。
unity中 Mesh 默认使用的Vector2 格式。
可以使用unity API mesh.uv 直接获取mesh 数据

但转存的过程中,发现存在一部分资源UV数据丢失,
原来其mesh uv 使用的是Vector3Vector4格式。而mesh.uv仅仅支持Vector2
这就导致转换中UV的数据丢失了(z、w)的信息

解决办法:
参考大佬的文章Unity - 导出的FBX模型,无法将 vector4 保存在 uv 中
发现Unity 官方给到的API SetUVsGetUVs 支持 vector3 等格式

  void SetUVs(int channel, Vector4[] uvs) //的 API  设置Mesh UV
  void GetUVs(int channel, Vector4[] uvs) //的 API  获取Mesh UV

那么问题就简单了,使用SetUVs 替换 mesh.uv 的使用。

完美解决,下班!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Tome.Tao

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值