【游戏开发指路】Unity学习路线,三万字大纲(面试题大纲 | 知识图谱 | Unity游戏开发工程师)

文章目录

  • 一、前言
  • 二、我的大学
  • 三、Unity学前
    • 1、C#基础
      • 1.1、数据类型
      • 1.2、变量
      • 1.3、常量
      • 1.4、运算符
      • 1.5、判断
      • 1.6、循环
      • 1.7、数组
      • 1.8、枚举
      • 1.9、字符串
      • 1.10、命名空间
      • 1.11、类
      • 1.12、结构体
      • 1.13、接口
      • 1.14、方法
      • 1.15、封装
      • 1.16、继承
      • 1.17、多态性
      • 1.18、运算符重载
      • 1.19、IO操作
      • 1.20、预处理
      • 1.21、异常处理
    • 2、C#进阶
      • 2.1、Attribute特性
      • 2.2、反射
      • 2.3、属性
      • 2.4、索引器
      • 2.5、委托
      • 2.6、事件
      • 2.7、集合
      • 2.8、泛型
      • 2.9、匿名方法
      • 2.10、不安全代码
      • 2.11、正则表达式
      • 2.12、多线程
  • 四、Unity入门
    • 1、Unity的安装与激活
      • 1.1、中国版与国际版
      • 1.2、Unity下载
      • 1.3、Unity激活
    • 2、Unity社区
      • 2.1、中文手册
      • 2.2、技术专栏
      • 2.3、技术问答
      • 2.4、中文课堂
      • 2.5、官方Bilibili
      • 2.6、资源商店
    • 3、IDE安装
      • 3.1、Windows
      • 3.2、MacOS
    • 4、认识编辑器
      • 4.1、视图面板
      • 4.2、常用菜单
    • 5、工程目录结构
      • 5.1、Assets目录
      • 5.2、ProjectSettings目录
      • 5.3、UserSettings目录
      • 5.4、Library目录
    • 6、图片
    • 7、模型
    • 8、材质球
    • 9、声音
    • 10、预设
    • 11、GameObject
    • 12、Transform
    • 13、运行测试
    • 14、Windows打包
  • 五、Unity初级
    • 1、C#脚本
    • 2、UGUI
      • 2.1、UGUI基础组件
      • 2.2、UGUI实操
    • 3、引擎常用组件
      • 3.1、Audio组
      • 3.2、Effects组
      • 3.3、Event组
      • 3.4、Layout组
      • 3.5、Mesh组
      • 3.6、Miscellaneous组
      • 3.7、Nevigation组
      • 3.8、Physics2D组
      • 3.9、Physics组
      • 3.10、Rendering组
    • 4、发布
      • 4.1、基础设置
      • 4.2、平台发布
    • 5、编辑器拓展
      • 5.1、拓展Project视图
      • 5.2、拓展Hierarchy视图
      • 5.3、拓展Inspector视图
      • 5.4、拓展Scene视图
      • 5.5、拓展顶部菜单
  • 六、Unity中级
    • 1、UGUI案例
    • 2、简单物理
      • 2.1、刚体
      • 2.2、碰撞
      • 2.3、触发器
      • 2.4、物理材质
      • 2.5、射线
      • 2.6、弹簧
    • 3、动画
    • 4、粒子系统
    • 5、寻路导航
    • 6、Json
    • 7、二维码
    • 8、插值缓动
    • 9、Zip压缩与解压
    • 10、Behavior Designer
    • 11、Cinemachine
    • 12、TimeLine
    • 13、Tilemap
    • 14、ProBuilder
    • 15、版本管理
      • 15.1、SVN
      • 15.2、Git
    • 16、Python语言
      • 16.1、用途
      • 16.2、Python语言基础
    • 17、打包工具
    • 18、实用工具
    • 19、探索
  • 七、Unity中高级
    • 1、Lua语言
      • 1.1、八大基本数据类型
      • 1.2、注释
      • 1.3、 变量
      • 1.4、 循环
      • 1.5、 流程控制
      • 1.6、 函数
      • 1.7、运算符
      • 1.8、 字符串
      • 1.9、 数组
      • 1.10、 表table
      • 1.11、 元表metatable
      • 1.12、 模块module
      • 1.13、 协程
      • 1.14、 文件IO
      • 1.15、 错误处理
      • 1.16、 垃圾回收
      • 1.17、 面向对象
      • 1.18、 与C交互
    • 2、通信协议
      • 2.1、ProtoBuf
      • 2.2、sproto
    • 3、接入SDK
      • 3.1、Android Studio
      • 3.2、XCode
      • 3.3、常见SDK
      • 3.4、Plugins目录结构
      • 3.5、Android平台
      • 3.6、iOS平台
      • 3.7、多SDK混接问题
    • 4、ToLua框架
    • 5、热更新
      • 5.1、版本号管理
      • 5.2、热更内容
      • 5.3、打包热更包
      • 5.4、执行热更新
    • 6、发行
    • 7、部署
  • 八、Unity高级
    • 1、设计模式
    • 2、游戏框架
    • 3、性能优化
      • 3.1、CPU
      • 3.2、 GPU
      • 3.3、内存
      • 3.4、 包体
      • 3.5、 网络
    • 4、兼容、适配与稳定
    • 5、自动化测试
    • 6、图形学与渲染
      • 6.1、OpenGL
      • 6.2、Unity Shader
      • 6.3、ShaderGraph
    • 7、代码安全
    • 8、逆向
      • 8.1、编译技术
      • 8.2、反编译技术
      • 8.3、资源逆向
      • 8.4、C#逆向
      • 8.5、C++逆向
      • 8.6、java逆向
      • 8.7、AndroidManifest逆向
    • 9、算法
  • 九、管理与规范
    • 1、svn管理
    • 2、策划规范
    • 3、美术规范
    • 4、技术文档与沉淀
  • 十、补充:数学基础
    • 1、集合
    • 2、函数
    • 3、三角函数
    • 4、向量
    • 5、数列
    • 6、不等式
    • 7、解析几何
    • 8、立体几何
    • 9、排列、组合、概率
    • 10、极限、导数
    • 11、复数
    • 12、平面几何
    • 13、多项式
    • 14、数学归纳法
    • 15、初等数论
    • 16、组合问题
  • 十一、完毕

一、前言

嗨,大家好,我是新发。
有不少同学私信和评论让我讲讲Unity的学习顺序,说不知道怎么系统地去学,遇到很多问题不知道如何去处理。
嗯,那我就根据我自己的成长过程,写一下Unity的学习路线吧。

二、我的大学

首先说下我的大学,我是年毕业于华南理工大学,读的是信息工程专业,专业课程主要如下:

【游戏开发指路】Unity学习路线,三万字大纲(面试题大纲 | 知识图谱 | Unity游戏开发工程师)

1.1、数据类型

  • 值类型
  • 引用类型
  • 指针类型
  • 装箱与拆箱

1.2、变量

  • 定义
  • 初始化

1.3、常量

  • 定义
  • 引用

1.4、运算符

  • 算术运算符
  • 关系运算符
  • 逻辑运算符
  • 位运算符
  • 赋值运算符

1.5、判断

  • if 语句
  • if … else语句
  • 嵌套 if 语句
  • switch 语句
  • 嵌套 switch 语句
  • 条件运算符

1.6、循环

  • while 循环
  • for/foreach 循环
  • do … while 循环
  • 嵌套循环
  • break 语句
  • continue 语句

1.7、数组

  • 声明
  • 初始化
  • 赋值
  • 访问
  • 遍历
  • 多维数组
  • Array与ArrayList的区别

1.8、枚举

  • 声明
  • 访问
  • 与int、string的转换
  • 判断枚举是否包含id

1.9、字符串

  • 字符串比较
  • 字符串替换
  • 字符串连接
  • 判断是否含有字符串
  • 复制字符串
  • 判断是否是以某个字符串结尾
  • 判断是否是以某个字符串开头
  • 字符串判等
  • 字符串格式化
  • 求索引
  • 字符串判空
  • 使用分隔符连接字符串数组
  • 使用分隔符分割字符串
  • 插入字符串
  • 移除字符串
  • 转char[]
  • 大小写转换
  • 去除前后空白字符

1.10、命名空间

  • 定义
  • using
  • 嵌套命名空间

1.11、类

  • 定义
  • 成员函数
  • 构造函数
  • 析构函数
  • 静态成员
  • 密封类
  • 静态类

1.12、结构体

  • 定义
  • 特点
  • 类与结构体的区别

1.13、接口

  • 定义
  • 继承

1.14、方法

  • 定义
  • 调用
  • 递归
  • ref与out
  • 不定参数

1.15、封装

  • 访问修饰符
  • 类与结构体的区别

1.16、继承

  • 基类与派生类
  • 接口多继承
  • 抽象类与接口区别

1.17、多态性

  • 函数重载
  • 运算符重载
  • 抽象类
  • 虚方法

1.18、运算符重载

  • 定义
  • 执行

1.19、IO操作

  • File类
  • Directory类
  • Path类
  • FileStream类
  • StreamReader类
  • StreamWriter类
  • BinaryReader类
  • BinaryWriter类

1.20、预处理

  • #define
  • #undef
  • #if
  • #else
  • #elif
  • #endif
  • #region
  • #endregion

1.21、异常处理

  • try、catch、finally 、throw
  • 异常类
  • 自定义异常

2、C#进阶

【游戏开发指路】Unity学习路线,三万字大纲(面试题大纲 | 知识图谱 | Unity游戏开发工程师)

1、Unity的安装与激活

1.1、中国版与国际版

  • 中国版
    • https://unity.cn/
  • 国际版
    • https://unity.com/

1.2、Unity下载

  • https://unity.cn/releases

1.3、Unity激活

  • 专业版
  • 加强版
  • 个人版

2、Unity社区

2.1、中文手册

  • https://docs.unity.cn/cn/current/Manual/index.html

2.2、技术专栏

  • https://developer.unity.cn/articles

2.3、技术问答

  • https://developer.unity.cn/ask/home

2.4、中文课堂

  • https://learn.u3d.cn/

2.5、官方Bilibili

  • https://space.bilibili.com/386224375

2.6、资源商店

  • https://assetstore.unity.com/

3、IDE安装

3.1、Windows

  • Visual Studio
  • VS Code
  • Sublime

3.2、MacOS

  • VS Code
  • XCode
  • Sublime

4、认识编辑器

4.1、视图面板

  • Scene面板:上帝视角的场景
  • Game面板:玩家视角的画面
  • Hierarchy面板:层级面板
  • Inspector面板:属性面板
  • Paoject面板:工程目录
  • Console面板:日志面板

4.2、常用菜单

  • File / Open Project:打开工程
  • File / Build Settings:打包设置
  • Edit / Preferences:偏好设置
  • Edit / Project Settings:工程设置
  • Windows / Package Manager:插件包管理

5、工程目录结构

5.1、Assets目录

  • Scripts:代码目录
  • Editor:编辑器拓展目录
  • Plugins:插件目录
  • Gizmos:绘图资源目录
  • Resources:资源目录
  • StreamingAssets:流式资源目录
  • RawAssets (自定义):生肉资源目录
  • GameAssets (自定义):熟肉资源目录
  • Shaders:Shader代码目录
  • Scenes:场景目录

5.2、ProjectSettings目录

  • 工程设置目录

5.3、UserSettings目录

  • 用户设置目录

5.4、Library目录

  • 编译目录

6、图片

  • 导入图片
  • 设置格式

7、模型

  • 创建:几何体模型
  • 导入:外部模型

8、材质球

  • 创建材质球
  • 设置材质球
    • 设置Shader
    • 赋值给模型
    • 调整参数

9、声音

  • 导入
  • 播放

10、预设

  • 创建预设
  • 保存预设
  • 编辑预设
  • 加载预设
    • Resources.Load
    • AssetDatabase.LoadAssetAtPath
    • AssetBundle.LoadFromFile
  • 实例化预设
    • Object.Instantiate

11、GameObject

  • 创建GameObject
  • 设置父节点
  • 挂脚本
  • 隐藏与现实
  • 销毁GameObject

12、Transform

  • 移动
  • 旋转
  • 缩放

13、运行测试

  • 运行
  • 暂停
  • 停止

14、Windows打包

  • 打包:Windows
  • 测试

五、Unity初级

【游戏开发指路】Unity学习路线,三万字大纲(面试题大纲 | 知识图谱 | Unity游戏开发工程师)

1、UGUI案例

  • 打图集
  • UI适配分辨率
  • UI界面分层
  • 背景图适配文字宽度
  • 模型显示在UI上
  • 粒子显示在UI上
  • UI裁切3D模型
  • UI裁切粒子
  • 艺术字体制作
  • 不规则按钮
  • 跑马灯
  • 图文混排
  • 图片镜像对称
  • 多层嵌套滑动列表
  • 摇杆
  • 雷达图
  • 折线图
  • 循环列表
  • 小地图
  • 头顶文字
  • 适配刘海屏

2、简单物理

2.1、刚体

  • 类型
  • 移动
  • 重力

2.2、碰撞

  • 条件
  • 检测

2.3、触发器

  • 设置
  • 检测

2.4、物理材质

  • 创建
  • 摩擦力
  • 弹性
  • 设置引用

2.5、射线

  • 发射
  • 检测
  • 结果

2.6、弹簧

  • 设置
  • 案例

3、动画

  • Animator
  • Animation
  • 状态机变量
  • 动画融合
  • 状态切换
  • 混合树

4、粒子系统

  • 创建
  • 制作
  • 播放
  • 案例
    • 火焰
    • 下雪
    • 水花
    • 闪电
    • 激光
    • 爆炸
    • 烟雾
    • 喷射
    • 闪光
    • 魔法阵
    • 溅血

5、寻路导航

  • 导航障碍物
  • 导航烘焙
  • 导航代理
  • 点击寻路
  • 寻路跳跃

6、Json

  • LitJson库
  • 构建JsonData
  • JsonData与string的转换
  • JsonData与数组和字典的转换

7、二维码

  • ZXing库
  • 生成二维码
  • 保存为图片

8、插值缓动

  • DoTween插件
  • 平滑移动
  • 平滑旋转
  • 平滑缩放
  • 平滑插值自定义变量

9、Zip压缩与解压

  • Ionic.Zip.Unity插件
  • 创建zip文件
  • 解压zip文件
  • 显示解压进度

10、Behavior Designer

  • 插件下载
  • 编辑器界面
  • 设置变量
  • Composites类节点
  • Decorators类节点
  • Actions类节点
  • Conditionals类节点
  • 优先级与打断
  • 行为树存储
  • 行为树加载
  • 行为树控制

11、Cinemachine

  • 插件安装
  • 摄像机跟随
    • 自由视角跟随
    • 固定视角跟随
  • 轨道镜头
  • 轨道镜头跟随
  • 镜头融合
  • 跟随目标组
  • 切镜
  • 自由观察摄像机
  • 状态驱动摄像机
  • 轨道物体
  • 2D摄像机
  • 与TimeLine配合使用

12、TimeLine

  • 插件安装
  • 创建TimeLine资源
  • 创建轨道
  • Activation Track轨道
  • Animation Track轨道
  • Audio Track轨道
  • Control Track轨道
  • Signal Track轨道
  • Playable Track轨道
  • TimeLine倒放

13、Tilemap

  • 插件安装
  • 创建调色板
  • 制作瓦片
  • 绘制瓦片
  • 删除瓦片
  • 填充瓦片
  • 多瓦片涂刷
  • 瓦片缝隙问题
  • 瓦片序列帧
  • 瓦片自适应方向
  • 添加碰撞

来源:林新发

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年4月12日
下一篇 2022年4月12日

相关推荐