游戏中的换装系统一直是游戏中不可或缺的一部分,在Unity中如何去实现换装?换装需要注意哪些问题?接下来我们就上面两个问题展开讨论。
换装主要分为两种类型,一种类型是对于静态模型的换装,就是直接将身体需要换的Mesh更换即可。另一种类型是对于动态的,有动作的模型的换装。对于前者换好装以后,如果模型运动就会出现错位或者方向不对的情况,而后者正好弥补了这种情况的发生。所以我们主要是针对后者进行的Avatar换装。
换装的实现效果图:
以上是在模型的运动过程中把裤子进行了更换。其他的也是一样处理的。
那Avatar换装的原理是什么?
第一、需要一套运动的骨架。
第二、需要换装的各部分Mesh。
需要把各部分的Mesh绑定到骨架上,在骨架的运动过程中,绑定在上面的Mesh会一起跟随运动。
各部分的Mesh在unity中展示的效果如下图:
上图是我们需要更换的模型是两套比如head-001和head-003,就是对应的两套Mesh需要相互替换.
我们还需要一套动作骨架,这个在Unity中是无法看到的,我们就不展示了。
接下来是代码实现:
第一步是加载需要更换的各部分Mesh
第二步是加载需要绑定Mesh的骨架:
这样我们就完成了换装,运用一套骨架,可以绑定多个Avatar,效果如下所示:
是不是很简单?