今天跟大家聊聊我搞的魔兽世界NPC这个事儿,纯粹是自己瞎琢磨,记录一下过程,免得以后忘了。
一开始就是突发奇想,看着游戏里的NPC,觉得挺有意思,就寻思能不能自己也做一个,也不用多复杂,能动能说话就行。主要也是最近有点闲,想找点事儿干。
1,我得先搞清楚NPC这玩意儿到底是怎么弄的。网上搜了一大堆资料,什么模型,动画,脚本,看得我头都大了。后来发现,也不用一开始就搞那么复杂,可以先从最简单的静态模型开始。然后,我就开始找模型。魔兽世界的模型资源网上挺多的,但是质量参差不齐。我找了好久,才找到一个比较满意的兽人模型。下载下来之后,发现是各种格式的文件,blender、3DMax啥的,我都没用过。又是一顿折腾,现学现卖,把模型导入到了一个我稍微熟悉点的引擎里。
- 模型导入
- 材质贴图
- 骨骼绑定
接着就是材质贴图。这玩意儿看起来简单,实际上挺麻烦的。贴图的分辨率、颜色、光照,都会影响最终的效果。我对着游戏里的截图,一点一点地调整,总算把颜色调得差不多了。虽然细节还是不行,但是至少看起来像个兽人了。
再然后,就是骨骼绑定和动画。这部分我是真的一窍不通,只能找教程跟着做。先把骨骼绑定到模型上,然后再导入一些简单的动画,比如站立、行走、攻击之类的。这个过程非常痛苦,因为稍微一步出错,模型就会变得奇形怪状。我反复尝试了好多次,才勉强弄出一个能动的兽人。
3,就是脚本控制。我想让这个兽人能说几句话,能简单地移动一下。于是我就写了一个简单的脚本,让它在玩家靠近的时候,说一句“你好”。这个脚本非常简陋,没有任何逻辑,只是为了测试一下效果。
把所有东西都搞定之后,我终于看到了一个能动能说话的兽人NPC。虽然它看起来很粗糙,动作也很僵硬,但是我已经很满足了。毕竟这是我第一次自己做NPC,能做到这个程度已经很不容易了。
总结一下
这回实践最大的感受就是,游戏开发真的不容易。一个简单的NPC,就涉及到模型、动画、脚本等等多个方面,需要学习的东西太多了。不过这也让我对游戏开发产生了浓厚的兴趣,以后有时间的话,我还会继续研究下去。
这回实践还有很多不足之处。比如模型精度不高,动画不够流畅,脚本逻辑简单等等。这些都需要我在以后的学习中不断改进。希望下次再分享的时候,能做出更酷炫的NPC。