Unity游戏开发工程师 知识图谱

三、Unity学前
1、C#基础

Unity游戏开发工程师 知识图谱_第1张图片
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游戏开发工程师 知识图谱_第2张图片
2.1、Attribute特性

 

    预定义特性
        AttributeUsage
        Conditional
        Obsolete
    自定义特性
        声明
        构建
        应用

2.2、反射

    概念
    原理
    用途
    优缺点
    使用

2.3、属性

    get/set访问器
    抽象属性

2.4、索引器

    this[int index]
    用途
    重载索引器

2.5、委托

    概念
    用途
    声明
    实例化
    委托多播

2.6、事件

    概念
    用途
    声明
    使用
    事件与委托的区别

2.7、集合

    ArrayList
    Hashtable
    SortedList
    Stack
    Queue
    BitArray

2.8、泛型

    特性
    泛型类
    泛型方法
    泛型委托
    泛型接口
    泛型约束

2.9、匿名方法

    概念
    语法
    委托与匿名方法
    Lambda表达式

2.10、不安全代码

    unsafe
    托管代码与非托管代码

2.11、正则表达式

    字符转义
        \r
        \n
        \b
        \t
    字符类
        [character_group]
        [^character_group]
        [first - last]
        \w与\W
        \s与\S
        \d与\D
    定位符
        ^
        $
        \A
        \Z
        \z
        \G
        \b
        \B
    限定符
        *
        +
        ?
        {n}
        {n,}
        {n, m}
    Regex类

2.12、多线程

    线程生命周期
    创建线程
    暂停线程
    销毁线程

四、Unity入门

Unity游戏开发工程师 知识图谱_第3张图片
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

    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游戏开发工程师 知识图谱_第4张图片
1、C#脚本

 

    创建:Create / C# Script
    挂脚本
        手动挂:AddComponent
        代码挂:AddComponent
    获取脚本:GetComponent
    移除脚本:RemoveComponent
    激活与禁用
        手动
        代码:enabled
    生命周期
        Awake
        OnEnable
        Start
        Update
        FixUpdate
        LateUpdate
        OnDisable
        OnDestroy
    打印日志
    断点调试

2、UGUI
2.1、UGUI基础组件

    Text
    Image
    RawImage
    Button
    Toggle
    Slider
    Scrollbar
    Dropdown
    InputField
    Canvas
    Panel
    ScrollView

2.2、UGUI实操

    文字描边
    文字阴影
    文字对齐
    文字自动换行
    血条/进度条
    圆圈进度条
    技能CD
    图片循环
    图片置灰
    圆形头像
    按钮换图
    单选/多选框
    左右开关
    横向布局
    纵向布局
    网格布局
    切九宫格

3、引擎常用组件
3.1、Audio组

    AudioSource
    AudioListener

3.2、Effects组

    ParticleSystem
    LineRenderer
    TrailRenderer

3.3、Event组

    EventSystem
    EventTrigger
    GraphicRaycaster

3.4、Layout组

    RectTransform
    Canvas
    CanvasGroup
    CanvasScaler
    AspectRatioFitter
    ContentSizeFitter
    GridLayoutGroup
    HorizontalLayoutGroup
    VerticleLayoutGroup
    LayoutElement

3.5、Mesh组

    MeshFilter
    MeshRenderer
    SkinnedMeshRenderer
    TextMeshPro-Text

3.6、Miscellaneous组

    Animator
    Animation

3.7、Nevigation组

    NavMeshAgent
    NavMeshObstacle

3.8、Physics2D组

    Rigidbody2D
    BoxCollider2D
    CapsuleCollider2D
    CircleCollider2D
    CompositeCollider2D
    EdgeCollider2D

3.9、Physics组

    Rigidbody
    BoxCollider
    CapsuleCollider
    SphereCollider
    CharacterController
    TerrainCollider

3.10、Rendering组

    Camera
    CanvasRenderer
    SpriteRenderer
    Skybox
    SortingGroup
    Light

4、发布
4.1、基础设置

    设置APP名字
    设置APP图标
    设置闪屏
    设置版本号

4.2、平台发布

    Windows平台
        设置分辨率
        设置后台运行
        发布exe
    Android平台
        JDK安装
        Android SDK下载
        NDK下载
        Gradle下载
        设置keystore
        发布apk
    iOS
        导出XCode工程
        申请证书
        安装证书
        设置证书
        发布ipa

5、编辑器拓展
5.1、拓展Project视图

    右键菜单
        [MenuItem(“Assets/My Tools/Tools 1”, false, 2)]
    拓展布局
        [InitializeOnLoadMethod]
        EditorApplication.projectWindowItemOnGUI

5.2、拓展Hierarchy视图

    右键菜单
        [MenuItem(“GameObject/My Create/Cube”,false,0)]
    拓展布局
        [InitializeOnLoadMethod]
        EditorApplication.hierarchyWindowItemOnGUI

5.3、拓展Inspector视图

    拓展组件
        [CustomEditor(typeof(Camera))]
        public override void OnInspectorGUI()
    拓展Context菜单
        [MenuItem(“CONTEXT/Transform/New Context 1”)]
        MenuCommand

5.4、拓展Scene视图

    画线或3D物体
        OnDrawGizmos
        OnDrawGizmosSelected
    画GUI
        [CustomEditor(typeof(Camera))]
        OnSceneGUI
        Handles

5.5、拓展顶部菜单

    带勾选的菜单
        [MenuItem(“MenuTest/Test”, false, 3)]
        Menu.GetChecked
        Menu.SetChecked
    带快捷键的菜单
        [MenuItem(“Assets/HotKey %#d”,false,-1)]
        %:表示Ctrl键
        #:表示Shift键
        &:表示Alt键

六、Unity中级

Unity游戏开发工程师 知识图谱_第5张图片
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

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

14、ProBuilder

    插件安装
    创建模型
    编辑点线面
    设置顶点颜色
    镜像克隆
    编辑材质
    同材质与颜色选择
    模型导出
    案例
        跑酷场景
        障碍物道具

15、SVN

    SVN客户端下载与安装
    SVN工程检出
    SVN更新
    SVN提交
    SVN合并
    SVN日志查看
    SVN还原
    SVN对比修改
    SVN冲突解决

16、Python语言
16.1、用途

    制作工具

16.2、Python语言基础

    环境搭建
        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 方法
        检索
        替换
    多线程
        创建
        启动

17、打包工具

    打AssetBundle
    代码设置图标
    代码设置应用名称
    代码设置版本号
    代码设置闪屏
    代码设置分辨率
    代码设置横竖屏
    打整包工具
        Windows平台
        Android平台
        iOS平台
    命令行打包
    Jenkins自动化打包
        Jenkins搭建
        创建任务
        执行命令行打包
        通知企业微信机器人
    XCodeAPI
        导出XCode工程
        自动设置XCode工程参数
        生成ipa
    IL2CPP
    支持64位系统
    谷歌AAB格式
        打包
        安装

18、实用工具

    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工具

19、探索

    AR项目
    VR项目
    机器学习 ML-Agents
    流体模拟

七、Unity中高级

Unity游戏开发工程师 知识图谱_第6张图片
1、Lua语言
1.1、八大基本数据类型

 

    table
    string
    number
    bool
    nil
    function
    thread
    userdata

1.2、注释

    单行注释
    多行注释

1.3、 变量

    全局变量
    局部变量

1.4、 循环

    while
    for
    break
    ipairs
    pairs

1.5、 流程控制

    if then end
    elseif
    else

1.6、 函数

    function
    多返回值
    可变参数
    匿名函数
    闭包

1.7、运算符

    算数运算符
    关系运算符
    逻辑运算符
    其他运算符

1.8、 字符串

    字符串长度
    字符串拼接
    双引号单引号
    转义符
    字符串替换
    字符串查找
    字符串格式化
    字符串截取
    大小写转换

1.9、 数组

    数组长度
    增删改查
    遍历
    排序

1.10、 表table

    元素连接
    增删改查
    遍历
    排序

1.11、 元表metatable

    定义
    元方法
    设置元表
    获取元表
    __index
    __newindex
    禁止表被修改

1.12、 模块module

    定义
    require

1.13、 协程

    创建
    启动
    挂起
    嵌套

1.14、 文件IO

    创建文件
    判断文件存在
    读文件
    写文件
    删除文件
    创建目录
    判断目录存在
    删除目录

1.15、 错误处理

    pcall
    xpcall

1.16、 垃圾回收

    机制
    流程

1.17、 面向对象

    类封装
    继承

1.18、 与C交互

    loadlib
    require

2、通信协议
2.1、ProtoBuf

    原理
    使用
    不同语言版本的ProtoBuf

2.2、sproto

    原理
    使用
    不同语言版本的sproto

3、接入SDK
3.1、Android Studio

    Android Studio安装
    JDK安装与环境变量配置
    下载Android SDK
    Android Studio配置Android SDK
    Android Studio配置JDK
    下载Gradle工具
    设置build.gradle
    Java与SDK交互

3.2、XCode

    导入SDK包到XCode工程
    Objective-C与SDK交互
    plist配置权限
    添加SDK系统库

3.3、常见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

3.4、Plugins目录结构

    Android
        libs
        armeabi-v7a
        armv8-64
        x86
        res
        assets
    iOS
        .bundle
        .framework
        .h
        .mm
        .m
    .dll

3.5、Android平台

    .jar包
    .aar包
    .so包
    AndroidManifest.xml
    C#与java交互
    C#与C/C++交互

3.6、iOS平台

    C#与Objective-C交互

3.7、多SDK混接问题

    SDK依赖冲突
    代码、资源冗余
    升级SDK麻烦
    聚合SDK

4、ToLua框架

    框架下载
    交叉编译tolua各个平台库
        Windows
        Android
        iOS
        MacOS
    框架接入
    资源管理器
    界面管理器
    网络管理器
    声音管理器
    C#与Lua交互
    使用Lua编写业务逻辑
    拓展框架

5、热更新
5.1、版本号管理

    app版本号
    res版本号

5.2、热更内容

    代码热更
        C#代码热更新
        lua代码热更新
    资源热更
        配置
        预设
        纹理
        材质球
        声音
        其他资源文件

5.3、打包热更包

    MD5
    lua加密
    资源加密
    打AssetBundle
    Zip压缩
    上传Web服务器

5.4、执行热更新

    获取更新列表
    判断版本号
    下载
    MD5校验
    解压Zip
    加载AssetBundle
    文件解密

6、发行

    多渠道发行
    重签名
        Android
        iOS
    差异化
        渠道号
        APP名字
        APP图标
        APP闪屏
        APP Loading图
        APP Logo
    应用市场
        开发者账号
        创建应用
        设置元数据
        APP参数
        接入SDK
        联调
        提审
        上架
    iOS企业签
    iOS超级签
    iOS企业版部署到Web服务器
        plist
        https服务器
        itms-services协议

7、部署

    云服
        阿里云
        腾讯云
    SSH远程
        SecureCRT工具
    云盘
        oss阿里云
        cos腾讯云
    Linux常用指令
        cd
        mv
        ls -l
        cp
        rz -e
        sz -e
        ps -axj
        df
        top
        history

八、Unity高级

Unity游戏开发工程师 知识图谱_第7张图片
1、设计模式

 

    简单工厂模式
    抽象工厂模式
    工厂方法模式
    策略模式
    单一职责原则
    开放-封闭原则
    依赖倒转原则
    装饰模式
    代理模式
    原型模式
    模板方法模式
    迪米特法则
    外观模式
    建造者模式
    观察者模式
    状态模式
    适配器模式
    备忘录模式
    组合模式
    迭代器模式
    单例模式
    桥接模式
    命令模式
    职责链模式
    中介者模式
    享元模式
    解释器模式
    访问者模式

2、游戏框架

    工程目录管理
    网络管理
    通信协议解决方案
    UI解决方案
    Lua框架
    多语言解决方案
    多渠道解决方案
    多SDK混接解决方案
    对象池管理
    资源加载解决方案
    热更新解决方案
    项目安全解决方案
    编辑器工具
    全局配置
    事件管理
    场景管理

3、性能优化
3.1、CPU

    运用对象池,避免重复实例化
    分帧运算,避免短时超负荷
    数据缓存,避免重复运算
    算法

3.2、 GPU

    使用多层次细节LOD
    使用光照贴图
    静态合批和动态合批
    简化着色器
    使用平台推荐的压缩格式
    减少模型面数
    减少贴图大小

3.3、内存

    模型区分高低模
    释放AssetBundle
    降低模型面数
    降低骨骼数量
    降低贴图大小

3.4、 包体

    压缩图片
    压缩音频
    压缩自带库文件
    拓展包
    分段下载

3.5、 网络

    数据流量优化

4、兼容、适配与稳定

    多架构CPU兼容
    奔溃率监控
    日志上报
    Windows版本兼容
    Android版本兼容
    分辨率适配
    ADB调试
    XCode调试

5、自动化测试

    AirTest

        客户端下载

        Poco-SDK

        设备连接

        编写脚本
            获取屏幕尺寸
            引用其他air脚本
            元素定位
            点击元素
            等待元素出现或消失
            拖动
            滑动
            连续滑动
            按住n秒拖动
            长按
            判断元素是否存在
            两指挤压收缩操作
            无效的操作异常
            节点或属性不存在异常
            等待超时异常
            对象已被清除异常
            自定义poco属性

        运行脚本

        生成报告

6、图形学与渲染
6.1、OpenGL

    渲染管线
    图元
    Draw Call
    顶点着色器
    裁剪
    屏幕映射
    三角形设置
    三角形遍历
    片元着色器
    逐片元操作
    固定渲染管线
    可编程渲染管线
    GLSL语言
    着色器编译
    光照模型
    模板测试
    深度测试
    融混
    帧缓存
    相机模式
    齐次坐标
    纹理映射
    程序式纹理
    噪声

6.2、Unity Shader

    ShaderLab语言
    表面着色器
    顶点着色器
    片元着色器
    Cg/HLSL语言
    点和矢量
    矩阵
        矩阵定义
        齐次坐标
        平移矩阵
        缩放矩阵
        旋转矩阵
    坐标空间
        模型空间
        世界空间
        观察空间
        裁剪空间
        屏幕空间
    标准光照模型
        环境光
        自发光
        漫反射
        高光反射
    逐顶点光照
    逐像素光照
    纹理
        常规纹理
        法线纹理
        渐变纹理
        遮罩纹理
    透明效果
        渲染顺序
        透明测试
        透明混合
        双面渲染
    屏幕后处理
        调整屏幕亮度
        调整屏幕饱和度
        调整屏幕对比度
        边缘检测(卷积)
        高斯模糊
        Bloom效果
        运动模糊
    噪声
        消融效果
        水波纹效果
        全局雾效
    渲染技术优化
        动态批处理
        静态批处理
        共享材质
        减少顶点数
        模型LOD技术
        遮挡剔除
        减少实时光和阴影
        减少纹理大小
        利用分辨率缩放

6.3、ShaderGraph

    入门
        Universal RP下载
        创建Pipeline Assets
        设置Pipeline Assets
        升级shader
        创建PBR Graph
        创建变量
        使用变量
        创建节点
        保存Graph文件
        创建材质球
        材质球设置shader
        材质球赋值给模型
        调整材质球变量
    案例
        模型裁切
        模型溶解
        边缘光效果
        卡通阴影色块效果
        水纹叠加
        积雪效果
        不锈钢效果
        UV抖动效果
        顶点波动
        马赛克效果
        水球效果
        火焰效果
        旋涡效果
        闪电效果
        全息效果
        高斯模糊
        自发光
        粒子系统溶解效果
        物体靠近局部溶解效果
        2D描边效果
        子弹拖尾效果
        模型上涂鸦
        刮刮乐效果

7、代码安全

    代码混淆
    dll加密
    重新编译mono
    辅助so库,hook
    IL2CP
    Lua代码加密

8、逆向
8.1、编译技术

    词法分析
    语法分析
    语义分析与处理
    符号表
    运行时存储组织
    优化
    目标代码生成

8.2、反编译技术

    逆向分析的各个阶段
        文件装载
        指令解码
        语义映射
        相关图构造
        过程分析
        类型分析
        结果输出
    逆向分析框架
        静态分析框架
        动态分析框架
        动静结合的分析框架
    指令系统
        机器指令
        汇编指令
    可执行文件
        文件格式
        文件头
        字符串表
        符号表

8.3、资源逆向

    AssetStudio

8.4、C#逆向

    ILSpy

8.5、C++逆向

    IDA

8.6、java逆向

    jd-gui
    dex2jar

8.7、AndroidManifest逆向

    AndroidStudio

9、算法

    复杂度分析:代码执行效率和资源消耗
    链表:LRU缓存淘汰算法
    栈:浏览器的前进和后退功能
    队列:有限资源池的请求排队
    尾递归:避免递归过深导致的堆栈溢出
    排序算法基础:从哪几个方面分析排序算法
    O(n2)排序:为什么插入排序比冒泡排序更受欢迎
    O(nlogn)排序:快速查找第K大元素
    线性排序:根据年龄给100万个用户排序
    排序优化:高性能通用排序函数
    二分查找:省内存快速查找
    二分查找的变体:快速定位IP地址对应的归属地
    哈希表:Word软件的单词拼写检查
    哈希表:打造一个工业级的哈希表
    位图:网页爬虫中的网址链接去重
    哈希算法:防止数据库脱库后用户信息泄露
    树和二叉树:什么样的二叉树适合用数组存储
    二叉查找树:相比哈希表,二叉查找树有何优势
    平衡二叉查找树:为什么红黑树如此受欢迎
    递归树:如何借助树求递归算法的时间复杂度
    B 树:MySQL数据库索引是如何实现的
    堆:如何维护动态集合的值
    堆排序:为什么说堆排序没有快速排序快
    堆的应用:快速获取Top 10热门搜索关键词
    跳表:Redis中的有序集合类型
    并查集:路径压缩和按秩合并这两个优化是否冲突
    线段树:查找猎聘网中积分排在第K位的猎头
    树状数组:实现一个高性能、低延迟的实时排行榜
    BF算法:编程语言中的查找、替换函数是怎样实现的
    RK算法:借助哈希算法实现高效的字符串匹配
    BM算法:文本编辑器中的查找和替换功能
    Trie树:搜索引擎的搜索关键词提示功能
    AC自动机:多模式串匹配实现敏感词过滤
    图的表示:存储微博、微信等社交网络中的好友关系
    深度优先搜索和广度优先搜索:如何找出社交网络中的三度好友关系
    拓扑排序:确定代码源文件的编译依赖关系
    单源短路径:地图软件计算出行路线
    启发式搜索:用A*算法实现游戏中的寻路功能
    小生成树:随机生成游戏中的迷宫地图
    流:解决单身交友联谊中的多匹配问题
    分治算法:大规模计算框架MapReduce中的分治思想
    回溯算法:从电影《蝴蝶效应》中学习回溯算法的核心思想
    动态规划:如何巧妙解决“双11”购物时的凑单问题
    动态规划:如何实现搜索引擎中的拼写纠错功能

九、管理与规范
1、svn管理

    分支管理
        拉分支
        分支合并
        冲突解决
        SVN还原
        SVN追溯
    账号管理
    权限管理

2、策划规范

    文案格式规范
    office软件版本统一
    需求工作流规范
    文档存储规范
    配置表字段规范
    原型设计图规范

3、美术规范

    资源目录规范
    资源命名规范
    预设制作规范
        预设节点规范
        预设组件规范
        预设模板
        预设继承
    模型结构规范
        面数规范
        节点结构规范
        尺寸规范
        贴图规范

4、技术文档与沉淀

    载体
        WIKI
        Confluence
        技术博客
    内容
        模块接口
        配置说明
        GM命令
        技术解决方案
        规范说明
        工具说明

十、补充:数学基础
1、集合

    集合基础
    容斥原理

2、函数

    定义域、值域
    函数的性质
        单调性
        奇偶性
        周期性
        凹凸性
        连续性
        可导性
        有界性
        收敛性
    初等函数
        一次、二次、三次函数
        幂函数
        双勾函数
        指数、对数函数
    函数的迭代
    函数方程

3、三角函数

    三角函数图像与性质
    三角函数运算
    三角恒等式、不等式、最值
    正弦、余弦定理
    反三角函数
    三角方程

4、向量

    向量运算
    向量坐标、数量积

5、数列

    数列通项公式求解
    换元法
    特征根法
    不动点法,迭代法
    数学归纳法,递归法

6、不等式

    解不等式
    均值不等式
    重要不等式
        柯西不等式
        排序不等式
        契比雪夫不等式
        赫尔德不等式
        权方和不等式
        幂平均不等式
        琴生不等式
        Schur不等式
        嵌入不等式
        卡尔松不等式
    证明不等式的常用方法
        利用重要不等式
        调整法
        归纳法
        切线法
        展开法
        局部法
        反证法

7、解析几何

    直线与二次曲线方程
    直线与二次曲线性质
    参数方程
    极坐标系

8、立体几何

    空间中元素位置关系
    空间中距离和角的计算
    棱柱、棱锥、四面体性质
    体积、表面积
    球、球面
    三角面
    空间向量

9、排列、组合、概率

    排列组合的基本公式
        加法、乘法原理
        无重复的排列组合
        可重复的排列组合
        圆排列、项链排列
        错位排列数
    计数方法
        映射法
        容斥原理
        递推法
        折线法
        算两次法
        母函数法
    证明组合恒等式的方法
        Abel法
        算子方法
        组合模型法
        归纳与递推方法
        母函数法
        组合互逆公式
    二项式定理
    概率
        独立事件概率
        互逆事件概率
        条件概率
        全概率公式、贝叶斯公式
        现代概率,几何概率
    数学期望

10、极限、导数

    极限定义,求法
    导数定义,求法
    导数的应用
        判断单调性
        求最值
        判断凹凸性
    洛必达法则
    偏导数

11、复数

    复数概念及其运算
    复数的几个形式
        复数的代数形式
        复数的三角形式
        复数的指数形式
        复数的几何形式
    复数的几何意义,复平面
    复数与三角,复数与方程
    单位根及应用

12、平面几何

    几个重要的平面几何定理
        梅勒劳斯定理
        塞瓦定理
        托勒密定理
        西姆松定理
        斯特瓦尔特定理
        张角定理
        欧拉定理
        九点圆定理
    圆幂,根轴
    三角形的巧合点
        内心
        外心
        重心
        垂心
        旁心
        费马点
    调和点列
    圆内接调和四边形
    几何变换
        平移变换
        旋转变换
        位似变换
        对称变换
        反演变换
        配极变换
    几何不等式
    平面几何常用方法
        纯几何方法
        三角法
        解析法
        复数法
        向量法
        面积法

13、多项式

    多项式恒等定理
    多项式的根及应用
        韦达定理
        虚根承兑原理
    多项式的整除,互斥
    拉格朗日插值多项式
    差分多项式
    牛顿公式
    单位根
    不可约多项式,最简多项式

14、数学归纳法

    第一数学归纳法
    第二数学归纳法
    螺旋递归法
    跳跃递归法
    反向递归法
    最小数原理

15、初等数论

    整数,整除
    同余
    素数,合数
    算数基本定理
    费马小定理,欧拉定理
    拉格朗日定理,威尔逊定理
    裴蜀定理
    平方数
    中国剩余定理
    高斯函数
    指数,阶,原根
    二次剩余定理
        Legendre 符号
        Gauss 二次互反律
    不定方程
        不定方程解法
            同余法
            构造法
            无穷递降法
            反证法
            不等式估算法
            配方发,因式分解法
        重要不等方程
            一次不等方程(组)
            勾股方程
            Pell 方程
    p 进制进位制,p 进制表示

16、组合问题

    组合计数问题
    组合恒等式,不等式
    存在性问题
    组合极值问题
    操作变换,对策问题
    组合几何
        凸包
        覆盖
        分割
        整点
    图论
        图的定义,性质
        简单图,连同图
        完全图,树
        二部图,k 部图
        托兰定理
        染色与拉姆塞问题
        欧拉与哈密顿问题
        有向图,竞赛图
    组合方法
        映射法,对应法,枚举法
        算两次法
        递推法
        抽屉原理
        极端原理
        容斥原理
        平均值原理
        介值原理
        母函数法
        染色方法
        赋值法
        不变量法
        反证法
        构造法
        数学归纳法
        调整法
        最小数原理
        组合计数法
————————————————
版权声明:本文为CSDN博主「林新发」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/linxinfa/article/details/119731272

你可能感兴趣的:(游戏技术,Unity,Unity学习框架)