当前位置:手机游戏 > 手游资讯 > 游戏攻略 > 精灵换装(Unity2D 精灵换装系统实现)

精灵换装(Unity2D 精灵换装系统实现)

作者:哪吒游戏网 来源:哪吒游戏网 2020-04-03 16:15:17

精灵换装(Unity2D 精灵换装系统实现),哪吒游戏网给大家带来详细的精灵换装(Unity2D 精灵换装系统实现)介绍,大家可以阅读一下,希望这篇精灵换装(Unity2D 精灵换装系统实现)可以给你带来参考价值。

背景

有了前篇多方向多动作移动,逐帧动画系统,作为本篇的基础,实现换装系统就很容易了,实际上就是更换精灵图集这么简单。实际的2D经典游戏也是怎么做的精灵换装,比如网易的西游系列角色也就能染染头发什么的,实际上就是精灵的图集换了没有什么高深的东西。当然为了充实本篇的内容,还是要添加一点小小的难度?我们加上角色可以更换武器的需求,更换武器就要难许多了,因为涉及到角色要正确拿起武器还要和角色同步移动,所以一共涉及到3个方面的内容,就是动态更换,对位和同步移动(实际坐骑系统也是一个原理),当然很多事情是美工人员提供的,引擎只要提供具有图集融合的换装系统即可。最终实现效果图,

实现

如何破呢!背景中已经说的很清楚了,原理很简单,传统的做法是这样的,首先通过图片合成的技术,我们的美工人员准备好角色精灵图片集合,然后完成武器图片集合的动态合成。然后我们根据游戏需求或者叫做策划案将美工设计的各种精灵角色图片集合,武器图片集合在游戏运行时,动态合成然后赋予角色精灵动画系统即可。这样就可以实现更换武器了,老规矩我们通过图片的形式来说明这个动态换肤的原理,一目了然,

首先是不同服装或者角色其实是独立的一张精灵图集,当然这个图集是比较复杂的有8个方向和n个动作(站立,跑动,施法,死亡等等)

其次是可以更换的武器的对应图集

最后是在游戏动画系统呈现之前做精灵图集的融合,供最终的动画系统显示

具体怎么实现?我们可以使用接合前篇所提到的Unity动态sprite分割和加载技术精灵换装,采用纹理动态生成技术完成这个功能,具体代码如下所示,

关于Unity动态sprite分割和加载技术可以参考前篇Unity 2D角色纹理的动态加载和自动分割,当然前篇基本实现的是一个方向(一维)的分割。本篇使用的是多维的也就是八个方向的所以代码可能复杂一些(原理一样)

角色身体和武器的动态融合,也就是2d纹理动态生成技术技术,是通过Super.CombineTestures()这个函数来实现的,主要依赖Unity Texture2D的SetPixel这个方法进行2d纹理的动态重绘。

需要注意的一点是使用Texture2D的SetPixel在纹理类型(Texture type)设置项要设置成 Advance,不然会报错

总结

有了前面这么多篇基础知识的积累,实现本篇2d精灵的换装系统,也是水到渠成的事情。希望本篇对大家有所帮助,当然可能水平有限,提到的技术也许不是性能最优的,比如使用sprite动态切割的精灵图集本身需要大量的美工工作量,小游戏往往做不到,可能需要骨骼动画这样的技术,而且Unity主打的是移动端,这么大规模的图集,在渲染上可能要会消耗很多资源,欢迎大家指导交流。

蛮牛社区()分享最新的游戏研发和虚拟现实相关技术内容。欢迎关注哪吒游戏网

总结:以上内容就是针对精灵换装(Unity2D 精灵换装系统实现)详细阐释,如果您觉得有更好的建议可以提供给哪吒游戏网小编,精灵换装(Unity2D 精灵换装系统实现)部分内容转载自互联网,有帮助可以收藏一下。



上一篇: 天使兽(数码宝贝天使兽进化哪一集)

下一篇: 喜马拉雅雪人(喜马拉雅山雪人之谜,已被证实是史前熊类(图片))

本文标签: 精灵换装 美丽精灵换装 花精灵仙子换装
猜你喜欢