Unity3d开发(九) 动画模型资源导入预处理

在Unity导入资源后,我们通常需要做许多设置,这些操作通常很繁琐,并且容易出错,最好的办法是使用自动的pipline处理,因为不是项目中的每一个人都十分清楚资源的结构设计。这篇文章主要探讨如何通过自动的方式实现动画模型资源的定制处理。

AssetPostprocessor

在Unity中,AssetPostprocessor类能够在导入资源时,或导入资源后捕获到相应的信息。

模型(Model)导入的过程中,钩子函数的调用顺序如下:

  • OnPreporcessModel 在刚进入导入阶段前,会调用这个函数。我们能够重写ModelImporter的设置来更改导入的模型的通用信息。
  • OnAssignMaterialModel 一旦网格和材质导入,这些信息就会关联到模型上,在关联之前,会调用这个函数。因此改变模型材质通常要更改这个函数。
  • OnPostprocessGameObjectWithUserProperties关联好模型的渲染信息后,会调用这个函数来处理用户信息。
  • OnPostprocessModel 这是最后一个函数,当函数运行完,则对象创建完成。这个函数有一个参数,它是这个实例对象自己。由于GameObject是引用对象,因此改变属性的操作,例如:增加脚本,更改位置,是可以带出函数作用域,保存到最终预设中的。更多情况下,我们是要更改它的ModelImporter属性。
ModelImporter model = (ModelImporter) assetImporter;

另一方面,我们可以获取gameObject.name,并依赖某些命名规则,以对导入的资源进行分类。

实际案例

由于使用了状态机控制角色动作,有些导入的FBX动画需要更改为Loop。经统计名称中包含waitwalkrunairdizziness的动画需要设置为循环,依照上面的原理,实现
代码如下:

using UnityEngine;
using System.Collections;
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值