本文章就来说说UnitZ的敌人生成系统 2 敌人说明
-----------------------------------------------
敌人Zombie(Clone)有很多控件(
Animator、(动画控制)
Character Controller、(3D人物角色控制)
Human Character、(控制 角色 的动画、攻击动画、死亡动画)
Character Motor、(控制模型 移动的 动作、状态)
AI Character Controller、(AI 角色控制)
Network View、(参考资料1 、2)
FPS Ray Active、(FPS 射线检测)
Character Foot Step、(人物角色 脚部控制)
Audio Source(声音控制)
)
----------------------------------------
由Basecharacter皮肤
Bip001(图2
HitMark(被攻击的反应)
)
-Bip001 Footsteps(图3 敌人 脚步 的位置)
-Bip001 Pelvins(Spine 3D模型)
(图3)
------------------------------------------------------------
Bip001的 Damage Manage 对象 为 (通过图5 左方红色方框查找 相应的类)
其父类Zombie(Clone)(HumanCharacter) 继承自 CharacterSystem.cs
CharacterSystem.cs 继承自 DamageManager.cs
( 图5 )
}
struct 结构体(参考资料6)
简单的来说.结构体就是一个可以包含不同数据类型的一个结构.它是一种可以自己定义的数据类型.
首先结构体可以在一个结构中声明不同的数据类型.
第二相同结构的结构体变量是可以相互赋值的.
第三.节省内存空间
第四.高效率.
https://img-blog.csdn.net/20170123000200306?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvQnVsYWRlTWlhbg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center
https://img-blog.csdn.net/20170123000205822?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvQnVsYWRlTWlhbg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center
Zombie(Clone)有个AI Character Controller组件,用于识别攻击目标(图5所示)Object Target
Zombie(Clone)有个AI Character Controller组件,用于识别攻击目标(图5所示)Object Target
AI Character Controller组件获得Zombie(Clone)的其他组件CharacterSystem组件,然后
这个CharacterSystem组件Character有个DoDamage函数用来传递受伤的参数(为什么CharacterSystem组件会有这个参数)
Zombie(Clone)的public class HumanCharacter : CharacterSystem
的public class CharacterSystem : DamageManager
的public void SetupAwake ()
的 rayActive = this.GetComponent
在FPSRayActive组件中,有对ShootRay函数详细的定义(图9),其中就改变了DamagePackage变量的公共构造函数public struct DamagePackage(图10)
(图9)
-----------------------------------------------------------------------------
总结一下
控制 敌人 的AI Character Control组件 是主要控制 敌人 AI 行动 的程序,用于逻辑循环判断
-----------------------------------------------------------------------------
AICharacterController
(右键 查看图片 可放大)
(逻辑总结一下)
--------------------------------------------------------------------------------
剩余部分传送门:
参考资料:
1.网络视图Network View
2.【教程】Unity3D NetworkView教程
3.Transform.root 根
4.Unity中的结构体(C#)
5.Vector3中normalized和Normalize()函数的区别
6.
7.