中国版
https://unity.cn/
国际版
https://unity.com/
https://unity.cn/releases
专业版
加强版
个人版
https://docs.unity.cn/cn/current/Manual/index.html
https://developer.unity.cn/articles
https://developer.unity.cn/ask/home
https://learn.u3d.cn/
https://space.bilibili.com/386224375
https://assetstore.unity.com/
Visual Studio
VS Code
Sublime
VS Code
XCode
Sublime
Scene面板:上帝视角的场景
Game面板:玩家视角的画面
Hierarchy面板:层级面板
Inspector面板:属性面板
Paoject面板:工程目录
Console面板:日志面板
File / Open Project:打开工程
File / Build Settings:打包设置
Edit / Preferences:偏好设置
Edit / Project Settings:工程设置
Windows / Package Manager:插件包管理
Scripts:代码目录
Editor:编辑器拓展目录
Plugins:插件目录
Gizmos:绘图资源目录
Resources:资源目录
StreamingAssets:流式资源目录
RawAssets (自定义):生肉资源目录
GameAssets (自定义):熟肉资源目录
Shaders:Shader代码目录
Scenes:场景目录
工程设置目录
用户设置目录
编译目录
导入图片
设置格式
创建:几何体模型
导入:外部模型
创建材质球
设置材质球
设置Shader
赋值给模型
调整参数
导入
播放
创建预设
保存预设
编辑预设
加载预设
Resources.Load
AssetDatabase.LoadAssetAtPath
AssetBundle.LoadFromFile
实例化预设
Object.Instantiate
创建GameObject
设置父节点
挂脚本
隐藏与现实
销毁GameObject
移动
旋转
缩放
运行
暂停
停止
打包:Windows
测试
创建:Create / C# Script
挂脚本
手动挂:AddComponent
代码挂:AddComponent
获取脚本:GetComponent
移除脚本(手动):RemoveComponent
移除脚本(代码):Destroy(脚本对象)
激活与禁用
手动
代码:enabled
生命周期
Awake
OnEnable
Start
Update
FixUpdate
LateUpdate
OnDisable
OnDestroy
打印日志
断点调试
Text
Image
RawImage
Button
Toggle
Slider
Scrollbar
Dropdown
InputField
Canvas
Panel
ScrollView
文字描边
文字阴影
文字对齐
文字自动换行
血条/进度条
圆圈进度条
技能CD
图片循环
图片置灰
圆形头像
按钮换图
单选/多选框
左右开关
横向布局
纵向布局
网格布局
切九宫格
AudioSource
AudioListener
ParticleSystem
LineRenderer
TrailRenderer
EventSystem
EventTrigger
GraphicRaycaster
RectTransform
Canvas
CanvasGroup
CanvasScaler
AspectRatioFitter
ContentSizeFitter
GridLayoutGroup
HorizontalLayoutGroup
VerticleLayoutGroup
LayoutElement
MeshFilter
MeshRenderer
SkinnedMeshRenderer
TextMeshPro-Text
Animator
Animation
NavMeshAgent
NavMeshObstacle
Rigidbody2D
BoxCollider2D
CapsuleCollider2D
CircleCollider2D
CompositeCollider2D
EdgeCollider2D
Rigidbody
BoxCollider
CapsuleCollider
SphereCollider
CharacterController
TerrainCollider
Camera
CanvasRenderer
SpriteRenderer
Skybox
SortingGroup
Light
设置APP名字
设置APP图标
设置闪屏
设置版本号
Windows平台
设置分辨率
设置后台运行
发布exe
Android平台
JDK安装
Android SDK下载
NDK下载
Gradle下载
设置keystore
发布apk
iOS
导出XCode工程
申请证书
安装证书
设置证书
发布ipa
右键菜单
[MenuItem(“Assets/My Tools/Tools 1”, false, 2)]
拓展布局
[InitializeOnLoadMethod]
EditorApplication.projectWindowItemOnGUI
右键菜单
[MenuItem(“GameObject/My Create/Cube”,false,0)]
拓展布局
[InitializeOnLoadMethod]
EditorApplication.hierarchyWindowItemOnGUI
拓展组件
[CustomEditor(typeof(Camera))]
public override void OnInspectorGUI()
拓展Context菜单
[MenuItem(“CONTEXT/Transform/New Context 1”)]
MenuCommand
画线或3D物体
OnDrawGizmos
OnDrawGizmosSelected
画GUI
[CustomEditor(typeof(Camera))]
OnSceneGUI
Handles
带勾选的菜单
[MenuItem(“MenuTest/Test”, false, 3)]
Menu.GetChecked
Menu.SetChecked
带快捷键的菜单
[MenuItem(“Assets/HotKey %#d”,false,-1)]
%:表示Ctrl键
#:表示Shift键
&:表示Alt键
打图集
UI适配分辨率
UI界面分层
背景图适配文字宽度
模型显示在UI上
粒子显示在UI上
UI裁切3D模型
UI裁切粒子
艺术字体制作
不规则按钮
跑马灯
图文混排
图片镜像对称
多层嵌套滑动列表
摇杆
雷达图
折线图
循环列表
小地图
头顶文字
适配刘海屏
类型
移动
重力
条件
检测
设置
检测
创建
摩擦力
弹性
设置引用
发射
检测
结果
设置
案例
Animator
Animation
状态机变量
动画融合
状态切换
混合树
创建
制作
播放
案例
火焰
下雪
水花
闪电
激光
爆炸
烟雾
喷射
闪光
魔法阵
溅血
导航障碍物
导航烘焙
导航代理
点击寻路
寻路跳跃
LitJson库
构建JsonData
JsonData与string的转换
JsonData与数组和字典的转换
ZXing库
生成二维码
保存为图片
DoTween插件
平滑移动
平滑旋转
平滑缩放
平滑插值自定义变量
Ionic.Zip.Unity插件
创建zip文件
解压zip文件
显示解压进度
插件下载
编辑器界面
设置变量
Composites类节点
Decorators类节点
Actions类节点
Conditionals类节点
优先级与打断
行为树存储
行为树加载
行为树控制
插件安装
摄像机跟随
自由视角跟随
固定视角跟随
轨道镜头
轨道镜头跟随
镜头融合
跟随目标组
切镜
自由观察摄像机
状态驱动摄像机
轨道物体
2D摄像机
与TimeLine配合使用
插件安装
创建TimeLine资源
创建轨道
Activation Track轨道
Animation Track轨道
Audio Track轨道
Control Track轨道
Signal Track轨道
Playable Track轨道
TimeLine倒放
插件安装
创建调色板
制作瓦片
绘制瓦片
删除瓦片
填充瓦片
多瓦片涂刷
瓦片缝隙问题
瓦片序列帧
瓦片自适应方向
添加碰撞
插件安装
创建模型
编辑点线面
设置顶点颜色
镜像克隆
编辑材质
同材质与颜色选择
模型导出
案例
跑酷场景
障碍物道具
SVN客户端下载与安装
SVN工程检出
SVN更新
SVN提交
SVN合并
SVN日志查看
SVN还原
SVN对比修改
SVN冲突解决
安装Git(win和mac系统两种环境)
设置SSH
常用命令
git init #把当前目录变成git可以管理的仓库
git clone git地址 #克隆项目
git add readme.txt #添加一个文件,也可以添加文件夹
git add -A #添加全部文件
git rm test.txt #删除一个文件,也可以删除文件夹
git commit -a -m “some commit” #提交修改
git status #查看是否还有未提交
git log #查看最近日志
git reset --hard HEAD^ #版本回退一个版本
git reset --hard HEAD^^ #版本回退两个版本
git reset --hard HEAD~100 #版本回退多个版本
git remote add origin +地址 #远程仓库的提交(第一次链接)
git push -u origin master #仓库关联
git push #远程仓库的提交(第二次及之后)
git fetch #从远程获取代码库
git tag xxx #打tag
git tag #显示所有tag
git push --tag #提交tag
git branch -a #显示所有分支
git checkout 分支名 #切换分支
git merge git分支 #合并分支
制作工具
环境搭建
Windows
Linux
MacOS
变量
全局变量
局部变量
赋值
多变量赋值
数字
字符串
集合
列表
元组
字典
类型转换
int(x [,base])
long(x [,base] )
float(x)
str(x)
tuple(s)
list(s)
set(s)
dict(d)
chr(x)
运算符
算术运算符
比较运算符
赋值运算符
逻辑运算符
位运算符
成员运算符
身份运算符
条件语句
if …: elif …: else:
循环语句
while 循环
for 循环
嵌套循环
break 语句
continue 语句
pass 语句
-字符串
字符串连接
转义字符
字符串运算符
字符串格式化
三引号
Unicode 字符串
常用函数
string.find(str, beg=0, end=len(string))
string.format()
string.index(str, beg=0, end=len(string))
string.isdigit()
string.join(seq)
string.lower()
string.upper()
string.lstrip()
string.rstrip()
string.strip([obj])
string.split(str=“”, num=string.count(str))
string.startswith(obj, beg=0,end=len(string))
string.endswith(obj, beg=0, end=len(string))
string.replace(str1, str2, num=string.count(str1))
列表
创建
访问
遍历
增删改查
排序
常用函数
len(list)
max(list)
min(list)
list.append(obj)
list.count(obj)
list.index(obj)
list.insert(index, obj)
list.pop([index=-1])
list.remove(obj)
list.reverse()
list.sort(cmp=None, key=None, reverse=False)
元组
创建
访问
连接组合
删除整个元组
常用函授
len(tuple)
max(tuple)
min(tuple)
tuple(seq)
字典
创建
访问
遍历
增删改查
常用方法
len(dict)
str(dict)
dict.clear()
dict.get(key, default=None)
dict.has_key(key)
dict.items()
dict.keys()
dict.values()
dict.setdefault(key, default=None)
日期和时间
获取当前时间
获取格式化的时间
格式化日期
常用函数
time.time( )
time.localtime([secs])
time.sleep(secs)
函数
定义
调用
传参
默认参数
不定长参数
匿名函数
lambda函数
return 语句
模块
创建模块
import 语句
from…import 语句
文件IO
input 函数
open 函数
File 对象
close() 方法
write() 方法
read() 方法
tell() 方法
seek() 方法
文件重命名
文件删除
mkdir 函数
chdir 函数
rmdir 函数
异常处理
标准异常
异常处理
触发异常
自定义异常
面向对象
创建类
self对象
创建实例
访问属性
对象销毁
继承
方法重写
基础重载方法
运算符重载
正则表达式
re.match 方法
re.search 方法
检索
替换
多线程
创建
启动
打AssetBundle
代码设置图标
代码设置应用名称
代码设置版本号
代码设置闪屏
代码设置分辨率
代码设置横竖屏
打整包工具
Windows平台
Android平台
iOS平台
命令行打包
Jenkins自动化打包
Jenkins搭建
创建任务
执行命令行打包
通知企业微信机器人
XCodeAPI
导出XCode工程
自动设置XCode工程参数
生成ipa
IL2CPP
支持64位系统
谷歌AAB格式
打包
安装
Everything
快速搜索
Hash
查看MD5
Snipaste
截图
ScreenToGif
录屏Gif
BCompare
文件对比
HexEditor
十六进制查看器
XMind
思维导图
VirtualBox
虚拟机
7z
文件压缩解压
Process Explorer
超强任务管理器
PHP Study
快速Web服务器
MuMu模拟器
高性能多功能Android模拟器
AssetStudio
逆向Unity资源
SecureCRT
Linux远程
TightVNC
MacOS远程
FlashFXP
FTP工具
AR项目
VR项目
机器学习 ML-Agents
流体模拟
table
string
number
bool
nil
function
thread
userdata
单行注释
多行注释
全局变量
局部变量
while
for
break
ipairs
pairs
if then end
elseif
else
function
多返回值
可变参数
匿名函数
闭包
算数运算符
关系运算符
逻辑运算符
其他运算符
字符串长度
字符串拼接
双引号单引号
转义符
字符串替换
字符串查找
字符串格式化
字符串截取
大小写转换
数组长度
增删改查
遍历
排序
元素连接
增删改查
遍历
排序
定义
元方法
设置元表
获取元表
__index
__newindex
禁止表被修改
定义
require
创建
启动
挂起
嵌套
创建文件
判断文件存在
读文件
写文件
删除文件
创建目录
判断目录存在
删除目录
pcall
xpcall
机制
流程
类封装
继承
loadlib
require
原理
使用
不同语言版本的ProtoBuf
原理
使用
不同语言版本的sproto
Android Studio安装
JDK安装与环境变量配置
下载Android SDK
Android Studio配置Android SDK
Android Studio配置JDK
下载Gradle工具
设置build.gradle
Java与SDK交互
导入SDK包到XCode工程
Objective-C与SDK交互
plist配置权限
添加SDK系统库
微信SDK
阿里支付SDK
应用宝SDK
Bugly SDK
高德地图SDK
信鸽推送SDK
MSA SDK
广点通SDK
华为SDK
小米SDK
OPPO SDK
VIVO SDK
BiliBili SDK
谷歌SDK
Facebook SDK
Line SDK
百度SDK
九游SDK
Android
libs
armeabi-v7a
armv8-64
x86
res
assets
iOS
.bundle
.framework
.h
.mm
.m
.dll
.jar包
.aar包
.so包
AndroidManifest.xml
C#与java交互
C#与C/C++交互
C#与Objective-C交互
SDK依赖冲突
代码、资源冗余
升级SDK麻烦
聚合SDK
框架下载
交叉编译tolua各个平台库
Windows
Android
iOS
MacOS
框架接入
资源管理器
界面管理器
网络管理器
声音管理器
C#与Lua交互
使用Lua编写业务逻辑
拓展框架
app版本号
res版本号
代码热更
C#代码热更新
lua代码热更新
资源热更
配置
预设
纹理
材质球
声音
其他资源文件
MD5
lua加密
资源加密
打AssetBundle
Zip压缩
上传Web服务器
获取更新列表
判断版本号
下载
MD5校验
解压Zip
加载AssetBundle
文件解密
多渠道发行
重签名
Android
iOS
差异化
渠道号
APP名字
APP图标
APP闪屏
APP Loading图
APP Logo
应用市场
开发者账号
创建应用
设置元数据
APP参数
接入SDK
联调
提审
上架
iOS企业签
iOS超级签
iOS企业版部署到Web服务器
plist
https服务器
itms-services协议
云服
阿里云
腾讯云
SSH远程
SecureCRT工具
云盘
oss阿里云
cos腾讯云
Linux常用指令
cd
mv
ls -l
cp
rz -e
sz -e
ps -axj
df
top
history
简单工厂模式
抽象工厂模式
工厂方法模式
策略模式
单一职责原则
开放-封闭原则
依赖倒转原则
装饰模式
代理模式
原型模式
模板方法模式
迪米特法则
外观模式
建造者模式
观察者模式
状态模式
适配器模式
备忘录模式
组合模式
迭代器模式
单例模式
桥接模式
命令模式
职责链模式
中介者模式
享元模式
解释器模式
访问者模式
工程目录管理
网络管理
通信协议解决方案
UI解决方案
Lua框架
多语言解决方案
多渠道解决方案
多SDK混接解决方案
对象池管理
资源加载解决方案
热更新解决方案
项目安全解决方案
编辑器工具
全局配置
事件管理
场景管理
运用对象池,避免重复实例化
分帧运算,避免短时超负荷
数据缓存,避免重复运算
算法
使用多层次细节LOD
使用光照贴图
静态合批和动态合批
简化着色器
使用平台推荐的压缩格式
减少模型面数
减少贴图大小
模型区分高低模
释放AssetBundle
降低模型面数
降低骨骼数量
降低贴图大小
压缩图片
压缩音频
压缩自带库文件
拓展包
分段下载
数据流量优化
多架构CPU兼容
奔溃率监控
日志上报
Windows版本兼容
Android版本兼容
分辨率适配
ADB调试
XCode调试
AirTest
客户端下载
Poco-SDK
设备连接
编写脚本
获取屏幕尺寸
引用其他air脚本
元素定位
点击元素
等待元素出现或消失
拖动
滑动
连续滑动
按住n秒拖动
长按
判断元素是否存在
两指挤压收缩操作
无效的操作异常
节点或属性不存在异常
等待超时异常
对象已被清除异常
自定义poco属性
运行脚本
生成报告
渲染管线
图元
Draw Call
顶点着色器
裁剪
屏幕映射
三角形设置
三角形遍历
片元着色器
逐片元操作
固定渲染管线
可编程渲染管线
GLSL语言
着色器编译
光照模型
模板测试
深度测试
融混
帧缓存
相机模式
齐次坐标
纹理映射
程序式纹理
噪声
ShaderLab语言
表面着色器
顶点着色器
片元着色器
Cg/HLSL语言
点和矢量
矩阵
矩阵定义
齐次坐标
平移矩阵
缩放矩阵
旋转矩阵
坐标空间
模型空间
世界空间
观察空间
裁剪空间
屏幕空间
标准光照模型
环境光
自发光
漫反射
高光反射
逐顶点光照
逐像素光照
纹理
常规纹理
法线纹理
渐变纹理
遮罩纹理
透明效果
渲染顺序
透明测试
透明混合
双面渲染
屏幕后处理
调整屏幕亮度
调整屏幕饱和度
调整屏幕对比度
边缘检测(卷积)
高斯模糊
Bloom效果
运动模糊
噪声
消融效果
水波纹效果
全局雾效
渲染技术优化
动态批处理
静态批处理
共享材质
减少顶点数
模型LOD技术
遮挡剔除
减少实时光和阴影
减少纹理大小
利用分辨率缩放
入门
Universal RP下载
创建Pipeline Assets
设置Pipeline Assets
升级shader
创建PBR Graph
创建变量
使用变量
创建节点
保存Graph文件
创建材质球
材质球设置shader
材质球赋值给模型
调整材质球变量
案例
模型裁切
模型溶解
边缘光效果
卡通阴影色块效果
水纹叠加
积雪效果
不锈钢效果
UV抖动效果
顶点波动
马赛克效果
水球效果
火焰效果
旋涡效果
闪电效果
全息效果
高斯模糊
自发光
粒子系统溶解效果
物体靠近局部溶解效果
2D描边效果
子弹拖尾效果
模型上涂鸦
刮刮乐效果
代码混淆
dll加密
重新编译mono
辅助so库,hook
IL2CP
Lua代码加密
词法分析
语法分析
语义分析与处理
符号表
运行时存储组织
优化
目标代码生成
逆向分析的各个阶段
文件装载
指令解码
语义映射
相关图构造
过程分析
类型分析
结果输出
逆向分析框架
静态分析框架
动态分析框架
动静结合的分析框架
指令系统
机器指令
汇编指令
可执行文件
文件格式
文件头
字符串表
符号表
AssetStudio
ILSpy
IDA
jd-gui
dex2jar
AndroidStudio
复杂度分析:代码执行效率和资源消耗
链表:LRU缓存淘汰算法
栈:浏览器的前进和后退功能
队列:有限资源池的请求排队
尾递归:避免递归过深导致的堆栈溢出
排序算法基础:从哪几个方面分析排序算法
O(n2)排序:为什么插入排序比冒泡排序更受欢迎
O(nlogn)排序:快速查找第K大元素
线性排序:根据年龄给100万个用户排序
排序优化:高性能通用排序函数
二分查找:省内存快速查找
二分查找的变体:快速定位IP地址对应的归属地
哈希表:Word软件的单词拼写检查
哈希表:打造一个工业级的哈希表
位图:网页爬虫中的网址链接去重
哈希算法:防止数据库脱库后用户信息泄露
树和二叉树:什么样的二叉树适合用数组存储
二叉查找树:相比哈希表,二叉查找树有何优势
平衡二叉查找树:为什么红黑树如此受欢迎
递归树:如何借助树求递归算法的时间复杂度
B 树:MySQL数据库索引是如何实现的
堆:如何维护动态集合的值
堆排序:为什么说堆排序没有快速排序快
堆的应用:快速获取Top 10热门搜索关键词
跳表:Redis中的有序集合类型
并查集:路径压缩和按秩合并这两个优化是否冲突
线段树:查找猎聘网中积分排在第K位的猎头
树状数组:实现一个高性能、低延迟的实时排行榜
BF算法:编程语言中的查找、替换函数是怎样实现的
RK算法:借助哈希算法实现高效的字符串匹配
BM算法:文本编辑器中的查找和替换功能
Trie树:搜索引擎的搜索关键词提示功能
AC自动机:多模式串匹配实现敏感词过滤
图的表示:存储微博、微信等社交网络中的好友关系
深度优先搜索和广度优先搜索:如何找出社交网络中的三度好友关系
拓扑排序:确定代码源文件的编译依赖关系
单源短路径:地图软件计算出行路线
启发式搜索:用A*算法实现游戏中的寻路功能
小生成树:随机生成游戏中的迷宫地图
流:解决单身交友联谊中的多匹配问题
分治算法:大规模计算框架MapReduce中的分治思想
回溯算法:从电影《蝴蝶效应》中学习回溯算法的核心思想
动态规划:如何巧妙解决“双11”购物时的凑单问题
动态规划:如何实现搜索引擎中的拼写纠错功能