[Unity] 平台跳跃游戏 角色控制器 教程合集 | 如何制作平台跳跃游戏 | 做一个超级马里奥那样的游戏 | 状态机架构 | 虚拟相机 | 输入系统

Channel:
Subscribers:
1,920
Published on ● Video Link: https://www.youtube.com/watch?v=Pnar5BP9k14



Category:
Tutorial
Duration: 3:35:23
626 views
13


➤教程内容
- Finite State Machine 状态机架构
- Unity新的输入系统 Input System
- 虚拟相机 Cinemachine
- 二段跳,土狼时间,小跳,预输入等角色控制的实现
---------------------------------
你好啊!我是阿严,一个小小的独立游戏开发者与自由艺术家。
我的频道的主要内容是独立游戏的开发教程与日志。
欢迎订阅我的频道不错过更新~
➤独立游戏开发研究交流Q群1:236873600 (已满,偶尔有位置)
➤独立游戏开发研究交流Q群2:638118294
➤YouTube - https://www.youtube.com/c/RYanIndieDev
➤Discord - https://discord.gg/ZmTgSCe4Jq
➤Twitter - https://twitter.com/XuZuyan
➤FaceBook - https://www.facebook.com/Yan.YouTube
➤ArtStation - https://www.artstation.com/xuzuyan
---------------------------------
➤游戏试玩 / 资源包 / 相关课件 / 源码
- GitHub - https://github.com/AtCloudStudio/PlatformerControllerTutorial
- Gitee - https://gitee.com/ryanindiedev/PlatformerControllerTutorial
---------------------------------
➤项目所使用到的资源链接
- Unity-chan
- Official Site: https://unity-chan.com/
- Asset Store:
- https://assetstore.unity.com/packages/3d/animations/sd-chan-animation-bundle-204862
- https://assetstore.unity.com/packages/3d/characters/unity-chan-model-18705
- Cartoon FX: https://assetstore.unity.com/packages/vfx/particles/cartoon-fx-free-109565
- Fantasy Arcade RPG Freedom World Sounds: https://assetstore.unity.com/packages/audio/music/fantasy-arcade-rpg-freedom-world-sounds-free-package-123530
- Fantasy Menu SFX: https://assetstore.unity.com/packages/audio/sound-fx/fantasy-menu-sfx-57238
- Sets - Gems: https://assetstore.unity.com/packages/3d/props/sets-gems-19902
---------------------------------
➤参考资料链接
- Finite State Machine - Wikipedia - https://en.wikipedia.org/wiki/Finite-state_machine
- Ensuring Data Integrity With hash Codes - Microsoft .NET Docs - https://docs.microsoft.com/en-us/dotnet/standard/security/ensuring-data-integrity-with-hash-codes
- InputAction - Input System Manual - Unity Documentation - https://docs.unity3d.com/Packages/com.unity.inputsystem@1.3/api/UnityEngine.InputSystem.InputAction.html
- Animator.CrossFade() - Unity Documentation - Scripting API - https://docs.unity3d.com/ScriptReference/Animator.CrossFade.html
- Animator.StringToHash() - Unity Documentation - Scripting API - https://docs.unity3d.com/ScriptReference/Animator.StringToHash.html
- Rigidbody.AddForce - Unity Documentation - Scripting API - https://docs.unity3d.com/ScriptReference/Rigidbody.AddForce.html
- Physics.OverlapSphereNonAlloc - Unity Documentation - Scripting API - https://docs.unity3d.com/ScriptReference/Physics.OverlapSphereNonAlloc.html
- Physics.OverlapSphere - Unity Documentation - Scripting API - https://docs.unity3d.com/ScriptReference/Physics.OverlapSphere.html
- Animation Curve - Unity Documentation - Manual - https://docs.unity3d.com/Manual/animeditor-AnimationCurves.html
- AnimationCurve.Evaluate - Unity Documentation - Scripting API - https://docs.unity3d.com/ScriptReference/AnimationCurve.Evaluate.html
- MonoBehaviour.OnGUI() - Unity Documentation - Scripting API - https://docs.unity3d.com/ScriptReference/MonoBehaviour.OnGUI.html
- GUI.Label() - Unity Documentation - Scripting API - https://docs.unity3d.com/ScriptReference/GUI.Label.html
- 委托-Unity Learn - Delegates - Unity Learn - https://learn.unity.com/tutorial/delegates
---------------------------------
➤章节时间戳
00:00:00 教程简介
00:01:20 创建新项目
00:02:52 安装必须的官方插件
00:04:54 导入资源包
00:07:40 文件夹架构
00:09:27 什么是状态机
00:11:52 构建基础状态机
00:15:03 玩家状态机
00:18:41 常规方法实现状态切换
00:23:25 通过状态机实现状态切换
00:28:36 状态机模式的优缺点
00:31:59 更方便的管理和切换状态
00:35:39 设置输入动作
00:41:47 玩家输入类
00:46:13 玩家左右移动
00:51:52 改变玩家的朝向
00:56:27 玩家加速与减速
01:01:19 虚拟相机跟随玩家移动
01:06:05 动画播放优化
01:11:40 跳跃状态分析
01:15:07 地面检测器
01:21:22 检测动画是否播放完毕
01:23:27 玩家跳起状态
01:25:54 玩家掉落状态
01:30:16 玩家落地状态
01:32:51 空中移动
01:36:26 小跳
01:37:40 状态硬直
01:40:14 空中跳跃逻辑
01:41:16 空中跳跃状态
01:45:44 星星宝石
01:53:02 什么是土狼时间
01:54:49 土狼时间的实现
02:01:11 如何处理玩家预输入
02:03:06 输入缓冲的实现
02:05:09 使用OnGUI()来Debug
02:08:01 跳跃输入缓冲时间
02:10:32 跳跃输入优化总结
02:11:16 游戏声音分类
02:14:56 音效播放器
02:20:23 语音播放器
02:23:03 简单的背景音乐播放
02:23:55 委托的使用
02:29:53 事件频道
02:31:16 创建事件频道
02:33:39 使用事件频道
02:35:58 胜利宝石
02:37:39 通关画面
02:40:48 准备画面
02:46:43 玩家失败状态
02:54:05 玩家漂浮状态
02:59:20 失败画面
03:08:02 玩家胜利状态
03:11:21 状态驱动虚拟相机
03:15:03 通关计时器
03:21:18 带参数的事件频道
03:28:46 继续打磨
03:32:22 制作更多的关卡
03:33:12 再见
---------------------------------
#unity
#indiegame
#gamedev




Other Videos By RYanIndieDev


2022-10-09【塞尔达传说:旷野之息】游戏实况 14
2022-10-08【塞尔达传说:旷野之息】游戏实况 13
2022-10-07【塞尔达传说:旷野之息】游戏实况 12
2022-10-06【塞尔达传说:旷野之息】游戏实况 11
2022-10-05【塞尔达传说:旷野之息】游戏实况 10
2022-10-04【塞尔达传说:旷野之息】游戏实况 09
2022-10-03【塞尔达传说:旷野之息】游戏实况 08
2022-10-02【塞尔达传说:旷野之息】游戏实况 07
2022-10-01【塞尔达传说:旷野之息】游戏实况 06
2022-09-30【塞尔达传说:旷野之息】游戏实况 05
2022-09-30[Unity] 平台跳跃游戏 角色控制器 教程合集 | 如何制作平台跳跃游戏 | 做一个超级马里奥那样的游戏 | 状态机架构 | 虚拟相机 | 输入系统
2022-09-29【塞尔达传说:旷野之息】游戏实况 04
2022-09-28【塞尔达传说:旷野之息】游戏实况 03
2022-09-27【塞尔达传说:旷野之息】游戏实况 02
2022-09-26【塞尔达传说:旷野之息】游戏实况 01
2022-09-26【艾尔登法环】一周目实况【Ep.52】史诗终结
2022-09-25【艾尔登法环】一周目实况【Ep.51】灰烬王城
2022-09-24【艾尔登法环】一周目实况【Ep.50】命定之死
2022-09-23【艾尔登法环】一周目实况【Ep.49】天空之城法姆·亚兹拉
2022-09-22【艾尔登法环】一周目实况【Ep.48】灰灭之火
2022-09-22[Unity] 平台游戏控制器 教程 Ep.10.3 Part.8 再见 | Goodbye



Tags:
unity tutorial
indie game
Unity教程
unity 中文
橫版卷軸遊戲
Unity獨立遊戲開發
遊戲開發
Unity自製遊戲
獨立遊戲開發
Unity編程
Unity C#
unity c# tutorial
indie dev
game development
Unity game
unity中文教程
game dev
unity教學
unity 遊戲製作教學
unity遊戲製作
unity 遊戲開發
unity 平臺遊戲
unity 人物控製器
unity 狀態機
unity 輸入系統
unity 虛擬相機
unity 相機跟隨
unity 二段跳
unity 空中跳躍
unity 土狼時間
unity character controller
unity plantformer
unity finite state machine
unity input system
EventChannel
C# Delegate
委托
事件频道
通关时间计时器