demo展示——Lily大冒险
最近在学习unity的使用,使用unity3D引擎+Rider进行小游戏开发。仿照马里奥奥德赛,在某程序大佬的指导下粗浅复刻了部分人物与场景的交互。
游戏角色可以移动、奔跑、冲刺、爬杆、举起物体、游泳以及进行攻击。地形方面设计了多种机关障碍物,泳池沼泽,检查点,传送点,导轨台,跳跃台,旗杆等关卡元素
以下是demo的演示:(由于github连接不太稳定,如加载不出可以选择下载,约18mb)
核心是维护可操控角色的有限状态机,使角色在一个时刻只能处于一种状态,并且维护好各种状态的转换。
关于操作,这里使用.InputActions文件来维护按钮的映射,然后脚本读取出来得到InputActionAsset,读取里面的InputAction进行IsPressed等判定实现响应逻辑,这样支持多平台,且动作更灵活、扩展性高。
实现摄像机跟随使用了Cinemachine插件,设置跟随点,内部原理是不断检测LookAt的物体和跟随的Target,并且并且自带摄像机碰撞,不会穿墙(将Layer设置为camera obstructor)。
目前此demo比较简单,还有部分地形在特定角度下会短暂隐形,仍在调整中。