一、项目概述
The Last Game 是一款基于 Unity 引擎开发的第三人称奇幻动作战斗游戏。本项目以被洪水淹没的废墟城镇为场景背景,玩家扮演一名骑士,与神话生物狮鹫展开激烈的 Boss 对战。游戏采用第三人称视角,结合 WASD 移动控制与鼠标攻击操作,为玩家提供流畅的战斗体验。项目从需求分析到最终集成,经历了完整的游戏开发流程,涵盖了角色控制、战斗系统、敌人 AI、动画资源、UI 界面以及音效系统等多个核心模块的开发与整合。

二、核心系统实现
在玩家控制系统方面,我们实现了基于物理的 Rigidbody 移动方案,支持 Idle、Walk、Run 三段动画的自动切换,并通过 CrossFade 实现 0.15 秒的平滑过渡。攻击系统采用鼠标左键触发,设计了五段连击循环,每段攻击持续 2.0 秒,攻击时自动停止移动以保证战斗节奏。伤害判定通过动画事件驱动,在武器位置动态生成 Attack Trigger 判定盒,配合 CampType 阵营系统确保同阵营不互相伤害,同时使用 HashSet 防止重复命中。

敌人 AI 系统是本项目的技术亮点之一。狮鹫 Boss 采用了六状态状态机设计,包括 Idle 待机、Patrol 巡逻、Pursuit 追击、Attack 攻击、GetHit 受击和 Dead 死亡六个状态。通过 NavMeshAgent 实现自动寻路,探测范围设定为 10 米,攻击距离为 2 米。当玩家进入探测范围后,敌人会自动追击并始终面向玩家;进入攻击范围后则触发五段连击,攻击间隔为 3 秒。受击后会有 0.5 秒的硬直时间,之后根据与玩家的距离决定继续追击或返回巡逻。

第三人称相机系统采用 SmoothDamp 平滑跟随算法,支持鼠标控制视角旋转,水平旋转速度为 3,垂直旋转速度为 2,垂直角度限制在负 30 度到 60 度之间。相机跟随距离默认为 5 米,可通过滚轮在 2 米到 10 米之间缩放调整。游戏运行时自动锁定鼠标光标,提升沉浸感。
三、美术与资源
场景美术方面,主战斗场景使用了 Flooded Grounds 资产包,呈现了一个被洪水淹没的废弃城镇。场景包含完整的地形系统、多层地形纹理(沥青、泥土、苔藓)、水面波动着色器、后处理特效以及环境音效预制体。角色美术使用了五套高精度骑士盔甲模型,包含 PBR 纹理(Albedo、Normal、Metallic、Ao)以及多种武器组合。敌人模型采用了 HEROIC FANTASY CREATURES FULL PACK 中的狮鹫模型,该资产包还包含奇美拉、鹰身女妖、蝎狮和狼人等其他神话生物资源,为后续扩展提供了丰富选择。

动画资源方面,玩家角色拥有完整的待机动画、行走动画、奔跑动画以及五段独立攻击动画和五段连击动画。狮鹫敌人则配备了 Idle、Walk、Gallop 等地面动画,Attack1、Attack2、2HitComboAttack 等攻击动画,以及 FlyNormal、FlyStationary、Glide 等飞行动画。每个动画均提供了 Root Motion 版本,确保动画与物理系统的精确同步。此外,项目还引入了 Rapier Anim Set 细剑动画集作为备用资源,包含闪避、防御、受击、死亡等大量通用动画。


四、UI 与音效
UI 系统包含三个核心部分:血条系统使用 Unity Slider 组件实现,通过脚本实时更新玩家和敌人的 HP 百分比;主菜单通过 MenuCtrl 脚本管理,提供开始游戏和退出游戏两个选项;游戏结束面板由 GameOverCtrl 控制,支持失败和胜利两种状态的切换显示,胜利时通过 TextMesh Pro 动态修改文本内容。音效系统使用了 Combat Whooshes Sounds 资产包,包含超过一百个 WAV 音效文件,涵盖剑类、重武器、空手、特效和通用音效五大类别,并分为有回声和无回声两个版本,为不同场景提供了丰富的音效选择。
需要源文件或素材的友友可以评论区留言
转载自 CSDN-专业IT技术社区
原文链接:https://blog.csdn.net/2501_94444606/article/details/163081479




