yilaipan 发表于 2023-10-4 19:12:06

【Unity3D】Unity3D技术栈

1 前言

    本文梳理了笔者在学习 Unity3D 的过程中,对 Unity3D 的理解和学习路线,以帮助读者循序渐进地学习 Unity3D,后续笔者仍会持续更新 Unity3D 相关技术栈,并同步到本文中。
1.1 专栏文章特点


[*]知识系统:专栏从资源管理、物理引擎、音视频、UGUI、UI Toolkit、动画、导航、粒子、协程、网络、Shader、Shader Graph、GL、Lua 等多个专题深度剖析了 Unity3D 技术栈,帮助读者形成一个系统的 Unity3D 知识体系。
[*]循序渐进:专栏将专题及其知识点由易到难排布,避免读者往复查阅资料,使读者能够循序渐进地学习。
[*]科学严谨:专栏讲述的知识点或有 Demo 支撑、或有公式推导、或有源码佐证、或有官方资料可查,理论站得住脚,有理可循;对于一些概念,表述明确,尽量避免 “可能”、“也许” 等含糊不清的词语,避免使用疑问句、感叹句;对于拿捏不定的知识点,尽量不展现给读者,使读者能放心吸收专栏的知识。
[*]逻辑清晰:专栏尽可能将每个知识点的前因后果展现给读者,讲清楚 What、How、Why,使读者知其所以然。
[*]紧扣主题:对于专栏中的每篇文章,读者通过查阅文章标题和章节标题即可了解文章内容,方便读者快速阅读和筛选文章。
[*]语言简练:专栏使用书面的表达方式,避免使用口语表达,避免冗余陈述,避免描述与主题不相关的内容,避免带入个人情感,使读者阅读效率更高。
[*]图文并茂:专栏大量使用了 gif 动图和图片,使读者能够更直观地理解知识点。
[*]案例丰富:专栏通过大量的案例讲解知识点,使读者对知识点的理解更深刻。
[*]案例解耦:专栏尽可能使用最简单的案例解释知识点,力求一个案例只讲解一个知识点,避免将多个知识点揉在一个案例中,造成读者抓不住文章的重点。案例不是为了秀肌肉,而是为了讲清楚一个知识点。
[*]持续更新:专栏长期持续更新,给读者及时补充新的知识。
[*]多站发布:专栏在 CSDN、知乎、掘金、简书、博客园、GitCode 等网站都有发布,读者可以根据自己的喜好选择对应网站。
1.2 读者解惑

    不少读者给笔者留言,笔者就其中问得比较频繁且有价值的问题作出以下答疑解惑。
1)学完该专栏需要多久
    每个人的学习进度不一样,与每天投入时间、理解力、数学基础、心态、执行力等因素相关,具体学习时间较难评估。本专栏所有文章总页数为 979 页(截至 2023.9.14),读者可以根据平时阅读相同页数的书籍所消耗的时间来评估。
2)专栏知识点来自哪里
    专栏知识点主要来源于 B 站、博客网站(CSDN、知乎、掘金等)、GitHub、官方文档、书籍、源码、工作总结、生活灵感等。B 站是获取知识最快的途径,博客网站是资料最多的知识源(各个博主从不同的角度描述了对同一个知识点的理解,通过阅读不同博主的博客,对该知识点就能形成较全面的认知),GitHub 是 Demo 最多的知识源,官方文档是最全面的知识源(但是较难读懂,主要因为 Demo 太少,缺少动图),书籍是最系统的知识源,源码是最权威的知识源。
3)为什么网上那么多资料还要自己写博客

[*]网上资料虽多,但经常不对口,只有自己总结的才是自己想要的,自己的文章,想怎么修改就怎么修改,也方便后期进行扩展延申。
[*]通过总结,加深对知识点的理解。看别人资料时,碰到一知半解的地方,经常会选择性地放过自己;如果自己总结,不能发出去忽悠别人,不然很容易被喷,迫使自己必须弄清楚,有时候也能收到一些意外的收获。
[*]只有自己实践过、推导过的知识点,使用起来才会更放心、更顺手;光看别人的资料,不实践,不推导,后面用起来时可能会碰到一大堆问题,使得我们怀疑之前学的知识点的正确性。
[*]输出了大量的 Demo,工作中或多或少用得上,可以极大提高工作效率。
[*]打通 Unity3D 全栈,构建系统的知识体系,形成技术闭环。
4)写博客的动力是什么
    写博客的动力主要源于对 Unity3D 的兴趣和对未知的焦虑。希望积累更多的知识,能够更轻松地应对工作;碰到裁员时,也能更从容地面对。
2 相关网站

1)Unity 相关网站

[*]Unity 官网:https://unity.cn
[*]Unity 手册:https://docs.unity.cn/cn/current/Manual/index.html
[*]Unity API:https://docs.unity.cn/cn/current/ScriptReference/index.html
2)模型下载网站

[*]Asset Store:https://assetstore.unity.com/account/lists
[*]Poly Haven:https://polyhaven.com/zh
[*]OpenGameArt:https://opengameart.org
[*]Sketchfab:https://sketchfab.com
[*]Free3D:https://free3d.com/3d-models
[*]CGTrader:https://www.cgtrader.com/free-3d-models
[*]GrabCAD:https://grabcad.com/library
[*]微妙网:https://www.wmiao.com
[*]爱给网:https://www.aigei.com/3d/model
3)动画下载网站

[*]Mixamo:https://www.mixamo.com
4)图片下载网站

[*] 橙光:https://www.66rpg.com/Drawtrade/goods/goodslist
5)音频下载网站

[*] freesound:https://freesound.org
6)配色方案网站

[*]Flat UI Colors:https://flatuicolors.com
[*]Trending Color:https://coolors.co/palettes/trending
3 基础入门


[*]常用快捷键
[*]地形Terrain
[*]MonoBehaviour的生命周期
[*]Transform组件
[*]人机交互Input
[*]角色控制器(CharacterController)
[*]场景切换、全屏/恢复切换、退出游戏、截屏
4 资源管理


[*]资源管理
[*]基于AssetBundle实现资源热更新
5 物理引擎


[*]刚体组件Rigidbody
[*]碰撞体组件Collider
[*]发射(Raycast)物理射线(Ray)
6 音视频


[*]AudioSource组件
[*]VideoPlayer组件
7 灯光和相机组件及其应用


[*]灯光组件Light
[*]相机
[*]立方体纹理(Cubemap)和天空盒子(Skybox)
[*]相机跟随
[*]缩放、平移、旋转场景
8 GUI和UGUI基础及应用


[*]GUI控件
[*]UGUI概述
[*]UGUI之Text
[*]UGUI之Image和RawImage
[*]UGUI之Button
[*]UGUI之Toggle
[*]UGUI之Slider
[*]UGUI之Dropdown
[*]UGUI之InputField
[*]UGUI回调函数
[*]UGUI之布局组件
[*]血条(HP)
[*]摇杆
9 UI Toolkit


[*]UI Toolkit简介
[*]UI Toolkit容器
[*]UI Toolkit元素
[*]UI Toolkit样式选择器
[*]UI Toolkit自定义元素
[*]UI Toolkit数据动态绑定
10 动画


[*]2D动画
[*]人体模型及动画
[*]人物跟随鼠标位置
[*]动画回调函数、动画事件、动画曲线
[*]动画混合
[*]IK动画
11 导航系统


[*]导航系统
[*]分离路面导航
[*]动态路障导航
12 特效组件


[*]拖尾TrailRenderer
[*]线段渲染器LineRenderer
[*]粒子系统ParticleSystem
[*]基于粒子系统实现烟花特效
13 并发程序


[*]协同程序
14 网络编程


[*]同步Socket通讯
[*]异步Socket通讯
[*]Photon环境搭建
15 网格和Bounds应用


[*]绘制物体表面三角形网格
[*]点选物体、框选物体、绘制外边框
[*]绘制物体外框线条盒子
16 Unity Shader

16.1 图形学基础理论


[*]渲染管线
[*]空间和变换
[*]伽马校正
[*]Shader常量、变量、结构体、函数
16.2 着色器


[*]固定管线着色器一
[*]固定管线着色器二
[*]表面着色器
[*]顶点和片元着色器
16.3 光照基础


[*]法线贴图和凹凸映射
[*]阴影原理及应用
[*]反射和折射
16.4 模型特效


[*]广告牌特效
[*]动态路径特效
[*]地面网格特效
[*]激光灯、碰撞特效
[*]选中物体消融特效
[*]基于模板测试和顶点膨胀的描边方法
[*]花瓣特效
16.5 屏幕后处理特效


[*]调整屏幕亮度、饱和度、对比度
[*]边缘检测特效
[*]高斯模糊特效
[*]Bloom特效
[*]运动模糊特效
[*]选中物体描边特效
[*]水波特效
[*]半球卷屏特效
[*]卷轴特效
16.6 屏幕深度和法线纹理特效


[*]屏幕深度和法线纹理简介
[*]激光雷达特效
[*]流动雾效
[*]基于深度和法线纹理的边缘检测方法
[*]平面光罩特效
16.7 非真实渲染(NPR)


[*]素描特效
16.8 URP


[*]Renderer Feature简介
17 Shader Graph


[*]Shader Graph简介
[*]Shader Graph节点
[*]程序纹理简单应用
[*]消融特效
[*]水面特效
18 GL应用


[*]使用GL绘制线段
19 逻辑热更新


[*]Lua基础语法
[*]ToLua逻辑热更新
[*]xLua逻辑热更新
20 加载大模型


[*]Cesium加载大地图
21 综合应用


[*]Tank大战
[*]魔方
声明:本文转自【Unity3D】Unity3D技术栈。

tjz001 发表于 2023-10-4 19:12:36

可以合作吗?

zhengyan 发表于 2023-10-4 19:13:02

合作什么
页: [1]
查看完整版本: 【Unity3D】Unity3D技术栈