同步操作将从 呼呼睡大觉/ZZZDemo源码 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
仅供开发者学习使用,请勿随意外传,禁止商业用途,包含相关官方美术素材,侵权联系作者删除。
下载ZIP(文件大约200MB),解压文件若出现损坏,请关闭第三方下载工具,使用浏览器下载。解压之后直接用UnityHub打开根文件夹,打开项目后进入NO1场景 按键说明:WASD为移动、单点Shift闪避、鼠标左键攻击、鼠标滚轮设置相机距离、Q为大招、E小招、R为切人。
第三人称控制采用CharacterController下的Move方法实现移动,使用OnAnimaionMove动画更新频率刷新的根运动实现的移动。 动画的过渡和播放逻辑基于Unity内置Animator组件+有限状态机。所有动画状态继承Istate接口,每一种状态机只允许刷新一种状态,为角色分了MovementStateMachine和ComboStateMachine。每一类状态机继承StateMachine这个基类,基类实现Istate的切换方法,子类实现各种继承IState接口状态的缓存和初始化。各种状态内部实现输入事件或者自定义的注册与注销、动画播放逻辑、数据的初始或者变更、状态的退出及过渡等逻辑。 人物的连招基于ComboState控制攻击键的输入的事件、预输入动画事件、必要时间动画事件、打断连招衔接动画事件。 CharacterHealth注册伤害事件、处理对应攻击者的伤害、受伤动画、格挡动画以及生成受击音效、受击特效 第三人称镜头和技能镜头基于Cinemachine的 State-Driven Camera、Dolly轨道相机、Timeline动态更新Dolly数据。移动状态的水平居中通过Cinamachine计算实现
ScriptableObject实现人物所有不变数据的储存、ReusableData实现人物变更数据的储存和变更。 BindableProperty实现变更数据的事件绑定。 TimerManager工具类计时器工具提供基于ScaleTime倒计时触发的委托函数、基于UnScaleTime倒计时触发的委托函数、以及可以销毁正在计时委托的API。 GameEventManager工具类事件工具提供事件注册(用string类型映射一个传入T或多个T参数委托事件)、事件触发、事件销毁的API。 SFX_PoolManger工具类提供一个用SoundStyle枚举类型映射音效预制体激活的API、一个用SoundStyle枚举类型和String映射音效预制体激活的API,所有音效预制体的生成的配置完全自动化,基于可在编辑器状态下执行的CreateSoundPoolItem和CreateComboPoolTool的editor文件。 所有PoolManger基于对象池设计模式。 VFXManager工具类控制全场特效的播放速度,提供控制场景特效播放速度的API。 CameraHitFeel工具类控制角色慢动作、顿帧、震屏。提供改变ScaleTime的API、只改变特定角色动画播放速度和场景中所有特效播放速度的API。 SwitchCharacter工具实现人物切换、人物切换动画、相机目标点变更等逻辑,提供人物切换,人物连携的API。 GameBlackboard工具类实现每个角色之间的数据共享、和敌人的同步。提供GetGameData(string)的API、GetEnemies()的API。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。