【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)学完该专栏需要多久
每个人的学习进度不一样,与每天投入时间、理解力、数学基础、心态、执行力等因素相关,具体学习时间较难评估。本专栏所有文章总页数为 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
3 基础入门
- 常用快捷键
- 地形Terrain
- MonoBehaviour的生命周期
- Transform组件
- 人机交互Input
- 角色控制器(CharacterController)
- 场景切换、全屏/恢复切换、退出游戏、截屏
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)
- 摇杆
9 UI Toolkit
10 动画
11 导航系统
12 特效组件
13 并发程序
14 网络编程
15 网格和Bounds应用
16 Unity Shader
16.1 图形学基础理论
16.2 着色器
16.3 光照基础
16.4 模型特效
16.5 屏幕后处理特效
16.6 屏幕深度和法线纹理特效
16.7 非真实渲染(NPR)
16.8 URP
17 Shader Graph
18 GL应用
19 逻辑热更新
20 加载大模型
21 发布平台
22 综合应用
声明:本文转自【Unity3D】Unity3D技术栈。
【Unity3D】Unity3D技术栈的更多相关文章
- Docker - 技术栈
与传统的方式类似,构建及运行Docker容器与在一台虚拟机上构建和运行程序的方式是相似的,只是使用了一套新的工具以及技术. 与虚拟机不同的是,Docker容器将宿主机与应用程序或者服务隔离,从而提高了 ...
- 如何使用Microsoft技术栈
Microsoft技术栈最近有大量的变迁,这使得开发人员和领导者都想知道他们到底应该关注哪些技术.Microsoft自己并不想从官方层面上反对Silverlight这样的技术,相对而言他们更喜欢让这种 ...
- 用“MEAN”技术栈开发web应用(三)用mongodb搭建数据库
上一篇介绍了如何用express搭建起服务端MVC的开发架构,本篇我们来详细介绍一下这个Model层,也就是数据库访问层.包含如何使用mongodb搭建数据库,以及如何使用mongoose来访问数据. ...
- Web前端开发大系概览 (前端开发技术栈)
前言 互联网建立50多年了,网站开发技术日新月异,但web前端始终离不开浏览器,最终还是HTML+JavaScript+CSS这3个核心,围绕这3个核心而开发出来大量技术框架/解决方案. 我从2000 ...
- 非对称技术栈实现AES加密解密
非对称技术栈实现AES加密解密 正如前面的一篇文章所述,https协议的SSL层是实现在传输层之上,应用层之下,也就是说在应用层上看到的请求还是明码的,对于某些场景下要求这些http请求参数是非可读的 ...
- 一个人的 ClojureScript 技术栈
作者:题叶链接:https://zhuanlan.zhihu.com/p/24425284来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处.今天(昨天)分享完关于 Cloj ...
- .NET技术大系概览 (迄今为止最全的.NET技术栈)
从2002年的.NET 1.0开始,1.1,2.x,3.x,4.x,每个新版本的.NET都会增加新的技术,生态圈也在不断壮大. AD: 前言 .Net推出13年了,Visual Studio 2015 ...
- 用“MEAN”技术栈开发web应用(一)AngularJs前端架构
前言 不知何时突然冒出“MEAN技术栈”这个新词,听起来很牛逼的样子,其实就是我们已经熟悉了的近两年在前端比较流行的技术,mongodb.express.angularjs.nodejs,由于这几项技 ...
- 细数Javascript技术栈中的四种依赖注入
作为面向对象编程中实现控制反转(Inversion of Control,下文称IoC)最常见的技术手段之一,依赖注入(Dependency Injection,下文称DI)可谓在OOP编程中大行其道 ...
- java技术栈:项目概述
学习使用java到现在也有三年多了,这三年基本是以项目驱动的方式学习,有好有坏,个人觉得好处在于,有一个清晰的目标让你解决,这会让你学习非常迅速有效.当然坏处就是片面,不成体系.这种学习方式在学校以小 ...
随机推荐
- SD协议-时序02
SD Bus PAD internal card clock - 对于SD card来讲,时钟信号是一个输入 Data0-3 - inout类型,既可能是输入,又可能是输出 对于Data0-3输出的时 ...
- C++封装数据结构
1.概论 C++ STL 之所以得到广泛的赞誉,也被很多人使用,不只是提供了像vector, string, list等方便的容器,更重要的是STL封装了许多复杂的数据结构算法和大量常用数据结构操作. ...
- Java - 获取个十百千位数
int n= 1234: System.out.println(n%10 ); //获取个位 System.out.println((n/10)%10 ); //获取十位 System.out.pri ...
- c# 编写 WebAssembly
创建一个.net 7.0类库工程,引用下面的nuget包: <PackageReference Include="Microsoft.AspNetCore.Components.Web ...
- 百度网盘(百度云)SVIP超级会员共享账号每日更新(2023.12.21)
一.百度网盘SVIP超级会员共享账号 可能很多人不懂这个共享账号是什么意思,小编在这里给大家做一下解答. 我们多知道百度网盘很大的用处就是类似U盘,不同的人把文件上传到百度网盘,别人可以直接下载,避免 ...
- [转帖]Jmeter 压测中配置https证书
本文章 主要介绍证书的获取.处理.配置到jmeter中. 1. 获取证书 首先:谷歌浏览器 打开网站,点击 地址栏的锁(表示https),选择 "证书"---"隐私.搜索 ...
- 使用rpm打包nacos然后部署为systemd服务开机自动启动的方法
背景 Nacos是阿里开源的服务注册组件,能够简单的实现微服务的注册与发现机制. 但是官方并没有提供 sytemd的服务脚本, 也没有提供rpm包的方式. 公司里面使用 nacos的场景越来越多, 部 ...
- RedisSyncer同步引擎的设计与实现
RedisSyncer一款通过replication协议模拟slave来获取源Redis节点数据并写入目标Redis从而实现数据同步的Redis同步中间件. 该项目主要包括以下子项目: redis 同 ...
- css水平居中的5种几种方式
元素水平居中的第一种方式 子元素不需要宽度也可以 <div class="box"> <div class="son"> 我是内容 &l ...
- Ant Design Vue 中Drawer自定头部的样式、内容部分的样式、弹出层的样式
<a-drawer :title="myTitle" placement="right" :visible="visible" @cl ...