unity人物换装系统搭建

人物换装

效果:实现人物基于身体的换装,人物在换衣服的时候旧的衣服缓慢溶解消散,新的衣服缓慢扩展生成或者合成在身体上,且这时候的模型能够适应款式类似的服装移动。在游戏中人物传送的时候,人物整体能够粒子消散,且传送后能够缓慢生成。能在满足换装的同时适应mixamo的各种动画,节省绑定和动画工作量。

前要:考虑到制作整体消散效果及模型外包,需兼顾人物和衣服整体消散。若分开模型和身体会产生多个 Mesh,需要统一整体消散效果,同时解决多 Mesh 的性能消耗问题。模型整体合成为单一 Mesh 优化了性能,减少了 Draw Call 数量、优化了材质切换,并简化了场景管理,减少了美术 Shader 调整和程序控制工作量。

具体步骤:

1.将人物身体模型(下文称裸模)导入到mixamo中,进行基础人物骨骼绑定。

2.将裸模以及人物衣服模型导入到Blender中;

3.选中把衣服要做布料的部分(下摆和裙带)分隔出来,后续在unity做布料;(如果不是连起来的裙子,前面不建议拆单独拆一次,因为前面会被多次碰撞,出现乱甩的情况)。

4.选中衣服,然后选中骨骼,附带空顶点组,然后给衣服增加修改器,拾取裸模的数据,用数据传输使得衣服能够跟随人物动作,头发和裙子部分再重复此操作;

6.将原本的裸模,在mixamo进行动画导出,推荐使用比较容易出现穿模和拉伸问题的奔跑动画。

7.在unity当中为导入的模型附加材质,材质选用消融的材质,并附加正确贴图,网上很多可以自己查询,shader关键在基于偏移量的考虑,这样溶解可以实现各种方位,溶解效果,法线偏移(实现装甲合成效果),并且添加VFX化作粒子特效,这里可用脚本以及timeline控制,实现整体溶解自然。笔者这篇文档主要为解决绑定和动画问题,不多做赘述;

8.为blender的模型导出到unity中,并且选择几个导入的设置,然后给上正确材质。

9.在mixamo中选择原本的身体裸模,导出一个比较容易穿模和出现拉伸问题的动画,然后导入到unity中,重复上述设置,将裸模的骨骼动画给到绑定好的整体模型上。

10.此时会出现的情况是,如果衣服不是贴身的,特别是裙装,会出现穿模和过度拉伸的问题。

10.穿模问题的初步解决,隐藏人物被衣服遮挡部分。后续的脚本当中也应考虑到,在换装的时候对应的遮罩;

11.过度拉伸和衣服穿模问题的解决,一开始拆出来的裙摆以及人物头发骨骼,为它们制作magica cloth2布料系统。

12.到此重新播放动画,应该已经能看到整个模型自然的运动起来,衣服对应穿模问题也用布料的物理解决了。

13.将第二套衣服(类似)直接导入到blender中,隐藏第一套衣服,然后重复第一套衣服的流程;

15.用第二套衣服的mesh替换第一套衣服的mesh和材质,看专用导入动画的模型是否能够正常播放,如果有需要删减或者添加的magica cloth自行修改,如果动画没有什么问题,那就解决了。

16.分享告一段落,之后的程序部分由公司程序操作。

17.优化和注意事项: 1.确保所有步骤中的模型比例、单位和骨骼结构一致性。 2.使用 Mesh Combine 工具合并 Mesh 以减少 Draw Call 数量。 3.在 Unity 中优化动画和布料物理效果,避免穿模和过度拉伸问题。 4.建议:在整个过程中,保持模型和动画的一致性和自然流畅度。

                                                                                                                                     ——Tumomo

                                              下周开始补发截图和操作细节——2024.7.5
重制和升级了整个流程,来不及补完所有教程,下周再更新2024.7.12

目前到15,后续运行部分会补充布料系统的预制体制作与更换,还有用标准骨骼的动画2024.7.18

                                                                                                    

  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值