第一次提交,项目选用QFramework架构,引入了地图、角色模型(动作动画)等资源,实现了角色、武器和相机基本脚本。
角色CharaController父类,EnemyController与PlayerController子类,父类包含PlayAnimation函数和角色基本行为(待机,移动,攻击等)虚函数,子类PlayerController利用InputSystem实现了输入指令抓取并利用Command实现了基本的移动、转向、攻击等操作并利用Animator播放相应动画。角色基本数据存于CharacterInfo类中可在编辑器中自由调节。
武器Weapon类实现了基本的攻击函数,武器分类为近战伤害、子弹生成以及魔法三类并实现了不同形状的可调节参数的目标选择器类用于武器抓取攻击目标。武器数据存于WeaponInfo类中可在编辑器中调节。 实现了状态机基类,待后续引入角色状态管理。
完善了状态机,并引入Player中进行角色状态管理,利用Command实现了基本状态行为,引入了StateBehaviour监视动画结束状态以便角色状态调整。
利用状态机实现了基本角色防御,并区分防御后受击行为与普通受击行为。此外利用布尔变量优化了角色行为优先级,Move与Idle为低优先,其他动作为高优先,后续将用更好的方式重构优先级。
利用状态机实现了角色翻滚与无敌帧,并使用新的骨骼动画素材重新优化了角色动画表现力。 实现了背景音乐和音频管理器,但音效资源暂且只配置了攻击。
实现了AI行为机基类与警戒行为、追逐行为。行为机整体上通过角色的Input函数来操纵状态机以便达成理想的AI效果。得益于角色控制器设计,AI实体可以拥有玩家所拥有的大多数动作行为且可简易配置。后续会画图描述一下角色和AI行为周期。
使用了更新的地图资源以免遮挡镜头。