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)学完该专栏需要多久
每个人的学习进度不一样,与每天投入时间、理解力、数学基础、心态、执行力等因素相关,具体学习时间较难评估。本专栏所有文章总页数为 997 页(截至 2023.10.31),读者可以根据平时阅读相同页数的书籍所消耗的时间来评估。
2)专栏知识点来自哪里
专栏知识点主要来源于 B 站、博客网站(CSDN、知乎、掘金等)、GitHub、官方文档、书籍、源码、工作总结、生活灵感等。B 站是获取知识最快的途径,博客网站是资料最多的知识源(各个博主从不同的角度描述了对同一个知识点的理解,通过阅读不同博主的博客,对该知识点就能形成较全面的认知),GitHub 是 Demo 最多的知识源,官方文档是最全面的知识源(但是较难读懂,主要因为 Demo 太少,缺少动图),书籍是最系统的知识源,源码是最权威的知识源。
3)为什么网上那么多资料还要自己写博客
- 网上资料虽多,但经常不对口,只有自己总结的才是自己想要的,自己的文章,想怎么修改就怎么修改,也方便后期进行扩展延申。
- 通过总结,加深对知识点的理解。看别人资料时,碰到一知半解的地方,经常会选择性地放过自己;如果自己总结,不能发出去忽悠别人,不然很容易被喷,迫使自己必须弄清楚,有时候也能收到一些意外的收获。
- 只有自己实践过、推导过的知识点,使用起来才会更放心、更顺手;光看别人的资料,不实践,不推导,后面用起来时可能会碰到一大堆问题,使得我们怀疑之前学的知识点的正确性。
- 输出了大量的 Demo,工作中或多或少用得上,可以极大提高工作效率;另外,通过回顾这些简单的 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)图片下载网站
5)音频下载网站
- freesound:https://freesound.org
6)配色方案网站
- Flat UI Colors:https://flatuicolors.com
- Trending Color:https://coolors.co/palettes/trending
7)Shader 相关网站
- shadertoy:https://www.shadertoy.com
- skia:https://shaders.skia.org
- Node Library:https://docs.unity3d.com/Packages/com.unity.shadergraph
- The Book of Shaders:https://thebookofshaders.com
- The Book of Shaders Edit:https://thebookofshaders.com/edit.php
3 基础入门
4 资源管理
5 物理引擎
6 音视频
7 灯光和相机组件及其应用
8 GUI和UGUI基础及应用
- GUI控件
- UGUI概述
- UGUI之Text
- UGUI之Image和RawImage
- UGUI之Button
- UGUI之Toggle
- UGUI之Slider
- UGUI之Dropdown
- UGUI之InputField
- UGUI回调函数
- UGUI之布局组件
- 血条(HP)
- 摇杆