撰写了文章 更新于 2018-12-05 17:14:52
2018.46/47 | 角色换装,UnityECS
讨论群: 827072601
爱发电: https://afdian.net/@taohuayuan
任务板: https://trello.com/b/StForyw7/taohuayuan
twitter: https://twitter.com/zephyr1125
wiki: https://taohuayuanwiki.a2hosted.com
首先,是现学现卖的做好了角色的换装系统,看了一堆视频,然后试了好几遍不同方案才搞定/笑哭.
然后做了个小光头,和另一套衣服,试一下效果:

最后决定下来的工作流:
1. Blender中在角色模型文件中直接制作新的换装
2. Blender中检查确保新换装与角色骨骼在各个动画中的适配
3. 不进行导出,Unity直接使用Blender文件
4. 写了一个一键输出的Editor扩展,在Unity下将Blender文件内的新模型连带骨骼一起输出为一个新prefab
5. 这样准备工作就完成了,这个新换装就可以被配置为角色的初始装备或者用于游戏内实时更换.
6. 在运行时,使用的是https://github.com/masterprompt/ModelStitching 这位朋友的方案进行新装的Skin与人物现有骨骼的贴附.
比较重要的是,这个"单一Blender文件+多prefab"的方式,与我原本学的"每个装备导出1个fbx"的方案在文件容量上相比, 前者是后者的5%.
这样,整个换装的框架和流程都OK了, 以后就是慢慢加发型和衣服了.

编辑器中,对角色进行着装定义
然后因为前一个周末的时候跟老朋友聊天,他能帮我做一个节点编辑器的工作. 于是就想到了Entitas替换为UnityECS这个工作应该开始了.其一是因为UnityECS的完成度已经高了很多,再者如果让别人帮我写工具的话,如果基于Entitas写,将来还是得再改到UnityECS,重复工作浪费时间.
因此这周开始重看刚刚结束的Unite2018上Day2长达10小时的ECS专题日的视频:
https://www.youtube.com/watch?v=fZfPv-oxO7U
以及官方教程:
https://unity3d.com/cn/learn/tutorials/topics/scripting/introduction-ecs?playlist=17117
官方项目范例:
https://github.com/Unity-Technologies/EntityComponentSystemSamples
不得不说,Unity的ECS + Job System + Burst Compiler的组合拳的运行效率真的是恐怖,非常建议同为游戏码农的朋友去学一下.
因此预计在未来的一个月内应该都是现有项目的Unity ECS改造工作了.
最后推荐一个游戏!叫做<simmiland>
https://store.steampowered.com/app/932850/Simmiland/
人物动作十分魔性,然后游戏玩法也非常独特!当生产能够自给自足起来后, 看着小人儿们自己发展村庄能看一下午!