Unity学习 - ravegenius/share GitHub Wiki

1.C#编程语言

2.Unity引擎

2.1.学习Unity编辑器操作

2.1.1.下载安装及版本说明

2.1.2.创建工程及脚本

2.1.3.窗口面板作用及基本操作

2.1.3.1 Scene 视图
2.1.3.1.1 Scene View Tools
2.1.3.1.2 Scene View Tool Settings
2.1.3.1.3 Scene View Grid and Snap
2.1.3.1.4 Scene View Options
2.1.3.2 Game 视图
2.1.3.3 Hierarchy 视图
2.1.3.4 Project 视图
2.1.3.5 Inspector 视图

2.1.4.GameObject 游戏对象和 Component 组件

2.1.4.1.GameObject 游戏对象
2.1.4.2.Component 组件
2.1.4.3.Transform 变换组件
2.1.4.4.静态游戏对象

2.1.5.Prefab 预制件

2.1.5.1.预制件概念
2.1.5.2.操作预制件
2.1.5.3.预制件变体(Prefab Variant)
2.1.5.4.解压缩预制件实例

2.1.4.创建物体及物体相关

2.1.4.1.物体坐标系
2.1.4.2.物体基本操作

2.1.5.导入导出模型

2.1.6.创建编辑材质

2.1.7.着色器

2.1.8.资源市场及导入资源

2.1.9.创建绘制地形树木草坪等等

2.1.10.作为灵魂的组件,脚本就是组件

2.1.11.物体的基本操作

2.1.11.1.Tag和Layer
2.1.11.2.标量和向量
2.1.11.3.向量的模、单位向量、单位化(归一化)
2.1.11.4.向量运算 点乘得夹角

2.1.12.预制体与变体 - 复用的物体的时候使用

2.1.13.Debug调试

2.2.Unity的代码开发

2.2.1.脚本的生命周期

2.2.2.脚本的执行顺序

2.2.3.脚本-Vector3既是向量又是坐标 - 夹角|距离|点乘|叉乘|差值|模|规范化向量

2.2.4.脚本-旋转 - 欧拉角与四元数

2.2.5.动态修改物体 - 通过脚本实现API

2.2.6.API基本类

2.2.6.1.Time类
2.2.6.2.Application类
2.2.6.3.SceneManage类
2.2.6.3.1.SceneManage类 - Unity场景加载 - 游戏有多个场景组成 场景由多个游戏 物体组成 物体由多个脚本组件组成
2.2.6.3.2.SceneManage类 - 场景切换、同步加载
2.2.6.3.3.SceneManage类 - 场景异步加载获取进度 - 协程(加载到0.9就加载完毕了,非自动跳转)
2.2.6.4.Transform类 - 旋转、移动、可维持父子关系

2.2.7.Unity-Input事件

2.2.7.1.鼠标事件 - Input.GetMouseButton()\Input.GetMouseButtonUp()\Input.GetMouseButtonDown()
2.2.7.2.键盘事件 - Input.GetKey(KeyCode)\Input.GetKeyUp(KeyCode)\Input.GetKeyDown(KeyCode)
2.2.7.2.触摸事件 - Input.touches

2.2.8.Unity-灯光组件 - 实时|烘焙(节省性能)

2.2.9.Unity-摄像机组件 - 透视摄像机|正交摄像机|天空盒|****

2.2.10.Unity-Audio组件

2.2.11.Unity-Video组件

2.2.12.Unity-Character Controller角色控制器

2.2.13.Unity-RigidBody组件

2.2.13.1.Unity-给物体添加物理系统
2.2.13.2.Unity-物体的碰撞 - Add Rigidbody|OnCollisionEnter|OnCollisionStay|OnCollisionExit|Collision
2.2.13.3.Unity-物体的触发 - Add Rigidbody|OnTriggerEnter|OnTriggerStay|OnTriggerExit|Collider
2.2.13.4.Unity-铰链、弹簧、特殊的物理关节 - Add Rigidbody|铰链Hinge Joint|弹簧Spring Joint|Fixed Joint

2.2.14.Unity-物理材质 - 静态摩擦力|动态摩擦力|弹力

2.2.15.Unity-射线 - Camera.main.ScreenPointToRay(Input.mousePosition)

2.2.16.Unity-粒子系统 Particle System - 制作一个火焰

2.2.17.Unity-绘制 - Line Renderer|Trail Renderer

2.2.18.Unity-动画 *

2.2.18.1.Unity-旧版简单的动画 - Animation
2.2.18.2.Unity-新版简单的动画 - Animator
2.2.18.3.Unity-新版动画 - 角色模型动起来 - 增加Trigger来触发动画 TODO Demo
2.2.18.4.Unity-新版动画 - 角色模型动起来 - 挥拳火焰 TODO Demo
2.2.18.5.Unity-混合动画 TODO Demo
2.2.18.6.Unity-动画图层 TODO Demo
2.2.18.7.Unity-反向动力学 TODO Demo

2.2.19.Unity-导航组件 * TODO Demo

2.2.20.Unity-UI

2.2.20.1.Unity-Canvas画布
2.2.20.2.Unity-Image锚点、轴心点
2.2.20.3.Unity-Text文本使用
2.2.20.4.Unity-Button按钮使用
2.2.20.5.Unity-Input输入框使用
2.2.20.6.Unity-Toggle单选框使用
2.2.20.7.Unity-下拉列表使用
2.2.20.8.Unity-滑动条、滚动条使用
2.2.20.9.Unity-Panel面板使用
2.2.20.10.Unity-其他UI组件使用 - Content Size Fitter | Vertical Layout Group | Horizontal layout Group | Grid Layout Group

3.Unity项目架构

4.Unity网络多人对战

5.Unity游戏综合项目及图形学

6.Unity实战