最近在研究此书,花费几天时间,略有收获,所以写下此编文章,计划是3章,这是第一章,受个人能力限制,这个只是我的粗陋之见。
首先贴下此书源码下载地址,http://hzbook.com/Books/8580.html,请大家尊重知识产权,如果有需要自行购买(非广告)。
之前原本就接触了一下有关人工智能在游戏中的应用的相关文章,大体来说是
巡逻,追逐,进攻这三个状态的切换,或者还可以加一个逃跑,或者是死亡后复活等等之类别的状态
只要是根据游戏制作者的想法,把游戏变得更丰富,更好玩,最主要的是能吸引玩家往里面消费,这个才是最重要的。
然而,当我接触到了《unity3d 人工智能编程》这一本书后,醍醐灌顶,大梦初醒,通过阅读此书,我了解到了有关编程设计的一些知识,前文
所讲述的FSM有限状态机的设计,是使用了工厂模式(由于知识有限,这里如果有错误,恳请指出),增加了耦合性,使得代码更容易修改,即在原来的基础上
能增加功能而不修改原有的代码
if (dist <= 200.0f) { //先判断距离,如果成立,就执行追逐,进攻等等的动作,如果有动画,同时播放动画
<span style="white-space:pre"> <span style="white-space:pre"> </span> Quaternion targetRotation = Quaternion.LookRotation(destinationPos - npc.position); npc.rotation = Quaternion.Slerp(npc.rotation, targetRotation, Time.deltaTime * curRotSpeed); npc.Translate(Vector3.forward * Time.deltaTime * curSpeed)</span>
} else if (dist >= 300.0f) { //否则就执行其他动作 }
http://www.xuanyusong.com/archives/1840