游戏开发的世界充满了创造与探索的乐趣,2D RPG(角色扮演游戏)是许多游戏开发者的梦想之一。如果你渴望从零开始构建一个有趣的RPG游戏,那么这个课程将是适合你的完美选择。在这篇博客文章中,我们将详细探讨如何使用Unity 6和C#来创建一个完整的2D RPG,包括战斗系统、敌人和各种游戏机制。
MP4 | 视频:h264、1920×1080 | 音频:AAC,44.1 KHz
语言:英语+中英文字幕(云桥网络 Ai翻译)| 时长:21 小时 26 分钟 含课程文件
学习目标
通过参加这个项目驱动的课程,你将收获以下知识和技能:
- 从零开始学习C#:掌握一种在Unity中高效使用的编程语言。
- Gain Experience in Unity 6:深入学习最新版本的Unity,这个版本于2024年末发布。
- 设计、开发和部署完整的RPG项目:掌握开发游戏的全过程。
- 使用预制件(Prefabs)实现各种武器和敌人:应用高级概念来丰富游戏元素。
- 理解基础知识与更复杂的主题:在熟悉游戏开发的同时,扩展你的知识面。
- 通过视觉和粒子效果增强游戏体验:让你的游戏更加生动。
- 重构你的代码,提高质量:学会如何精简和优化代码结构。
- 通过每一节课获得实践经验:通过动手实践深入理解理论。
- 编写清晰且可扩展的C#代码:提升自身的编码能力。
- 提升开发效率:掌握键盘快捷键和专家提示,快速提升你的开发效率。
课程需求
这个课程是为所有人设计的,即使你没有任何经验,依然可以参与进来。只需要一点热情和愿望,我们将一起开启这段游戏开发的旅程。
课程内容
1. Unity基础与项目设置
在游戏开发的初期,掌握Unity的界面操作、场景设置、资源组织以及2D游戏开发的基础知识至关重要。课程将从这些基本要素入手,帮助你建立一个稳固的开发基础。
2. 玩家与战斗机制
你将学习如何实现玩家的流畅移动,并打造一套双武器系统,包括近战攻击(刀)和远程攻击(药水)。通过动态视觉轨迹的引入,你将为玩家的攻击增加更多的视觉冲击力。
3. 用户界面与健康系统集成
良好的用户界面(UI)是提升游戏体验的重要组成部分。在这一节中,我们将一起设计并集成一个互动的生命值条,帮助玩家更好地掌控他们的状态。
4. 敌人的行为与人工智能
丰富的敌人角色能够提升游戏的刺激感与挑战性。在这部分中,你将开发出多样的敌人角色,它们将拥有独特的精灵(Sprites)以及近战和远程攻击能力,从而为玩家带来更为丰富的对抗体验。
5. 美化你的游戏
在游戏开发的最后阶段,视觉效果起着至关重要的作用。我们将探讨如何应用动态光照和粒子系统等先进的视觉效果,提升你的游戏的专业感与观赏性,让它更具“游戏魅力”。Learn To Create A 2D Rpg In Unity 6
通过这个课程的学习,你不仅可以掌握2D RPG的构建技能,还能培养对游戏设计的敏感性和创造力。不论你是刚入门的初学者,还是希望提升技能的中级开发者,本课程都为你提供了明确且逐步的学习路径,帮助你从头到尾完成一个完整的游戏项目。
现在就加入我们,开始你的游戏开发旅程吧!与成千上万的开发者一起,创造出属于你自己的2D RPG游戏。
概述
第 1 部分:简介
讲座 1 下载 Unity 并集成 Visual Studio Code
第 2 讲 进口源项目
第 3 讲 如何充分利用课程
第 2 部分:Unity C# 基础知识
讲座 4 Unity C# 基础 – 简介
讲座 5 添加测试脚本
第 6 讲 函数
讲座 7 变量
第 8 讲 公立与私立
第 9 讲 条件句
讲座 10 Visual Studio Code 快捷键
第 11 讲 Unity C# 基础 – 结论
第 3 部分:设置项目
第 12 讲 设置项目 – 简介
第 13 讲 布局
讲座 14 导入图像
讲座 15 导入音频
第 16 讲 设置项目 – 结论
第四部分:球员移动
第 17 讲 球员移动 – 介绍
讲座 18 创建玩家游戏对象
第 19 讲 设置玩家输入
讲座 20 创建 PlayerMovement 脚本
讲座 21 捕获对 RigidBody2D 的引用
讲座 22 获取运动向量
讲座 23 使用 RigidBody2D 进行移动
讲座 24 Time.deltaTime
第 25 讲 球员移动 – 结论
第 5 部分:玩家动画
第 26 讲 播放器动画 – 简介
讲座 27 设置动画师
讲座 28 创建动画剪辑
讲座 29 播放动画
讲座 30 Flip SpriteRenderer
第 31 讲播放器动画 – 结论
第 6 部分:环境
讲座 32 环境 – 简介
课程 33 创建 Tilemap
讲座 34 绘制环境
讲义 35 添加碰撞
讲义 36 使用 SpriteAtlas
第 37 讲 环境 – 结论
第 7 部分:敌人预制件
讲座 38 敌人预制件 – 简介
讲座 39 创建敌人游戏对象
讲座 40 预制敌人
讲座 41 EnemyData ScriptableObject
讲座 42 填写 ScriptableObject 数据
讲座 43 选择一个随机敌人精灵
讲座 44 创建预制变体
讲座45 设置武器
讲座 46 更改武器 SpriteRenderer
讲座 47 获取玩家方向
讲座 48 实施停车距离
讲座 49 处理碰撞
讲座 50 敌人预制件 – 结论
第 8 节:代码重构:角色移动
讲座 51 代码重构:角色移动 – 简介
讲座 52 继承
讲座 53 变量保护
讲座 54 函数中的受保护、虚拟和覆盖
讲义 55 获取 RigidBody
讲座 56 摘要
讲义 57 覆盖 SetDirection
讲座 58 重构敌人停止距离
讲座 59 锁定敌人动向
讲座 60 代码重构:角色移动 – 结论
讲座 61 附加:为什么不直接编写好的代码?
第 9 部分:玩家基础武器
讲座 62 玩家基础武器 – 介绍
讲座 63 设置基础武器
讲座 64 动画
讲座 65 连接动画
讲座 66 触发动画
讲座 67 添加攻击输入
讲座 68 添加空闲动画事件
讲座 69 屏幕 VS 世界位置
讲座 70 计算朝向鼠标的角度
讲座 71 理解鼠标和玩家的位置
讲座72 翻转武器容器
讲座 73 玩家基础武器 – 结论
第 10 节:敌方基地武器
讲座 74 敌方基地武器 – 简介
讲座 75 设置动画师
讲座 76 创建 CharacterSelector 脚本
讲座 77 快速重构:基础武器
讲座 78 开始实现 CharacterSelector
讲座 79 为什么“如果”有时不是最好的选择
讲座 80 事件解决方案
讲座 81 调用事件
讲座 82 在字典中存储事件
讲义 83 使事件函数抽象化
讲座 84 敌人基地武器 – 结论
第 11 节:代码重构:字符翻转
讲座 85 代码重构:字符翻转 – 简介
讲座 86 敌人翻转
讲座87 为什么要重构以及如何重构?
讲义88 创建CharacterFlip类
讲座89 声明OnFlipped事件
讲座 90 相应翻转
讲座 91 MouseFollowerManager
讲座 92 移动MouseFollowerManager
讲座 93 代码重构:字符翻转 – 结论
第 12 部分:菜单
讲座 94 菜单 – 简介
讲座 95 创建和重命名场景
讲座 96 添加环境
讲座 97 Canvas 渲染模式
讲座 98 添加 UI 元素
讲座 99 Canvas UI 缩放模式
讲座 100 ChangeSceneButtonClick 脚本
讲座 101 添加背景
讲座 102 菜单 – 结论
第 13 部分:生命值栏 UI
讲座 103 健康酒吧 – 简介
讲座104 创建HealthBarCanvas
讲座 105 健康栏 UI
讲座 106 创建角色健康脚本
讲座 107 预制 HealthBarCanvas
讲座 108 健康酒吧 – 结论
第 14 节:击退
讲座 109 击退 – 简介
讲座 110 碰撞与触发器简介
讲座 111 对撞机类型
讲座 112 对撞机类型交互
讲座 113 触发器
讲座 114 检测与敌人的碰撞
讲座 115 理解击退逻辑
讲座 116 设置击退
讲座 117 击退正确的 RigidBody
讲座 118 被击退时避免移动
讲座 119 敌人击退
讲座 120 如果不攻击则禁用玩家基础武器碰撞器
讲座 121 击退 – 结论
第 15 节:代码重构:Knockback
讲座 122 代码重构:Knockback – 简介
讲座 123 玩家基础武器 VS 敌人基础武器
讲座 124 修复 BoxCollider
讲座 125 创建 CharacterCollision 脚本
讲座 126 添加图层
讲座 127 快速代码重构:初始化武器
讲座 128 代码重构:Knockback – 结论
第 16 节:卫生系统
讲座 129 卫生系统 – 简介
讲座 130 使 CharacterHealth 成为 CharacterCollision 的一个实例
讲座 131 更新当前健康
讲座 132 界面基础
讲座133 创建IDeath接口
讲座 134 实现接口
讲座 135 接口与抽象类
讲座 136 静态变量
讲座 137 卫生系统 – 结论
第 17 节:StateCanvas 和 GameManager
讲座 138 StateCanvas 和 GameManager – 简介
讲座 139 设置 StateCanvas 预制件
讲座 140 UI 容器
讲座 141 创建不同状态的画布
讲座 142 创建 GameManager 脚本
讲座 143 为什么要使其通用?
讲144 使其通用
讲座 145 显示 StateCanvas
讲座 146 ChangeState
讲座 147 StateCanvas 和 GameManager – 结论
第 18 节:射手敌人
讲座 148 射手敌人 – 简介
讲座 149 创建攻击射击武器动画
讲座 150 AttackAnimationEvent
讲座 151 设置射弹预制件
讲座 152 Unity 中对象排序的“最佳”方法
讲座 153 实例化射弹预制件
讲座 154 将射弹移向玩家
讲座 155 这种逻辑的问题
讲座 156 碰撞障碍物时销毁抛射物
讲座 157 射手敌人 – 结论
第 19 节:抛射物
讲座 158 抛射物 – 简介
讲座 159 创建 ProjectileData ScriptableObject
讲座 160 随机化射弹精灵
讲座 161 开始检测与玩家的碰撞
讲座 162 解决敌人互相射击的问题
讲座 163 第二种选择和快速代码重构
讲座 164 抛射物 – 结论
第 20 节:玩家射击武器
讲座 165 玩家射击武器 – 简介
讲座 166 InventoryCanvas
讲座 167 WeaponButton 脚本
讲座 168 为玩家添加射击武器
讲座169 更新武器
讲座 170 快速修复
讲 171 添加十字线
讲座 172 快速代码重构和 Canvas 排序顺序修复
讲座 173 Canvas 与 SpriteRenderer
讲座 174 玩家射击武器 – 结论
第 21 节:游戏精华:玩家摄像头
讲座 175 Game Juice:玩家相机 – 简介
讲座 176 安装 Cinemachine
讲座 177 Cinemachine 简介
讲座 178 Cinemachine 关注
讲座 179 修复 Cinemachine 更新模式
讲座 180 为 WeaponsContainer 添加 Lerp
讲座 181 Game Juice:玩家相机 – 结论
第 22 节:自定义武器伤害
讲座 182 自定义武器伤害 – 简介
讲座 183 WeaponData ScriptableObject
讲座 184 从 ScriptableObject 访问 Damage
讲座 185 自定义武器伤害 – 结论 + 说明
第 23 节:IDestroyable 接口
讲座 186 IDestroyable 接口 – 简介
讲座 187 为什么要使用其他界面?
讲座 188 这些实施中的问题 + 解决方案
讲座 189 快速重构 damage.GetWeaponData()
讲座 190 IDestroyable 接口 – 结论
第 24 节:游戏果汁:弹丸轨迹
讲座 191 Game Juice:射弹轨迹 – 简介
讲座 192 什么是游戏汁以及如何添加它?
讲座 193 添加 TrailRenderer 组件
讲义 194 固定抛射体运动
讲座 195 创建射弹主色
讲座 196 使用投射物主色
讲座 197 Game Juice:射弹轨迹 – 结论
第 25 节:Game Juice:射弹动画
讲座 198 Game Juice:射弹动画 – 简介
讲座 199 旋转抛射体
讲座 200 创建生成和销毁动画
讲座 201 微调抛射物动画
讲座 202 在生成时使用射击武器移动
讲座 203 添加加速度
讲座 204 销毁动画
讲座 205 以自定义方式销毁射弹
讲座 206 管理射弹最后位置以修复破坏动画错误
讲座 207 Game Juice:射弹动画 – 结论
第 26 节:游戏果汁:爆炸粒子
讲座 208 Game Juice:爆炸粒子 – 简介
讲座 209 设置爆炸粒子
讲座 210 创建 ExplosionManager
讲座 211 修改粒子颜色
讲座 212 使用粒子颜色
讲座 213 Game Juice:爆炸粒子 – 结论
第 27 节:Game Juice:基础武器踪迹
讲座 214 Game Juice:基础武器轨迹 – 简介
讲座 215 创建 TrailRenderer
讲座 216 Game Juice:基础武器踪迹 – 结论
第 28 节:游戏精华:照明
讲座 217 Game Juice:照明 – 简介
讲座 218 基础武器灯
讲座 219 射击武器灯
讲座 220 修改射击武器灯光颜色
讲座 221 添加视觉效果
讲座 222 Game Juice:照明 – 结论
第 29 节:Game Juice:角色翻转 Lerp
讲座 223 Game Juice:角色翻转 Lerp – 简介
讲座 224 设置协程
讲座 225 添加 Lerp 逻辑
讲座 226 仅对特定对象进行 Lerp + 代码重构
讲座 227 Lerp MouseFollowerManager
讲座 228 Game Juice:角色翻转 Lerp – 结论
第 30 节:游戏果汁:角色闪光
讲座 229 Game Juice:角色 Flash – 简介
讲座 230 设置 FlashRoutine
讲座 231 FlashMaterial
讲座 232 改变材料
讲座 233 Game Juice:角色闪现 – 结论
第 31 节:Game Juice:场景转换
讲座 234 Game Juice:场景转换 – 简介
讲座 235 创建画布
讲座 236 设置动画
讲座 237 经理与单身人士
讲座 238 使用动画
讲座 239 修复小问题
讲座 240 处理退出时间
讲座 241 避免在淡入淡出时点击按钮
讲座 242 Game Juice:场景转换 – 结论
第 32 节:音频
讲座 243 音频 – 简介
讲座 244 创建 AudioManager 脚本
讲座 245 播放音频
讲座 246 播放音乐
讲座 247 音频 – 结论
第 33 节:最后的润色和窗户的建造
讲座 248 最后的润色和窗户的建造 – 简介
讲座 249 StateCanvas UI 动画
讲座 250 修复敌人静态变量
讲座 251 添加 EnemyAnimationTimeRandomizer
讲座 252 删除视野之外的射弹
讲座 253 为 Windows 构建
讲座 254 最后的润色和窗户的建造——结论
第 34 节:结论
第 255 讲结论!
1、登录后,打赏30元成为VIP会员,全站资源免费获取!
2、资源默认为百度网盘链接,请用浏览器打开输入提取码不要有多余空格,如无法获取 请联系微信 yunqiaonet 补发。
3、分卷压缩包资源 需全部下载后解压第一个压缩包即可,下载过程不要强制中断 建议用winrar解压或360解压缩软件解压!
4、云桥CG资源站所发布资源仅供用户自学自用,用户需以学习为目的,按需下载,严禁批量采集搬运共享资源等行为,望知悉!!!
5、云桥CG资源站,感谢您的赞赏与支持!平台所收取打赏费用仅作为平台服务器租赁及人员维护资金 费用不为素材本身费用,望理解知悉!