[编程开发] 如何系统地自学 Unity3D?

[复制链接]
cnsyk 发表于 2023-10-13 08:45:17|来自:北京 | 显示全部楼层 |阅读模式
如何系统地自学Unity3D,少走一些弯路。

全部回复5 显示全部楼层
Iriskang 发表于 2023-10-13 08:46:16|来自:北京 | 显示全部楼层
注意:资料在文章最后面。


针对unity 3D游戏开发的学习,不同阶段采用的方式是不一样的。本文把unity 3D的学习分为入门、实战、进阶三个阶段。下面分开来说
一、入门阶段

入门阶段的目标是学会unity 3D的基本语法和知识,能够使用unity 3D解决一些简单的问题。这个阶段不建议看书学习,效率太慢。这个阶段不追求知识广度,只要求能够快速上手就行。建议直接找一些介绍unity 3D的基础知识的视频课程来看。推荐一个比较经典的课程。
1、3D基础数学编程
2、Unity3D用户手册
3、3D基础渲染管线
4、Unity3D概要和基础知识讲解
5、Unity基础游戏特效
6、unity3d常用组件及分析
7、Unity3D角色控制和物理特效
入门系列博客

1. Unity -Demo 之 ✨桌面小宠物
2. Unity3D和UE4哪个才是未来的方向
3. 学习unity,做自己的游戏
4. 【100个 Unity小知识点】☀️ | Unity 中的原始预制体 和 预制体变体 的区别和作用
5. ref="https://juejin.cn/post/7008876388606296077">一文搞懂 Unity 布娃娃(Ragdoll)系统 让角色更加真实 (附实用Ragdoll插件详解)
6. 一文告诉你市面上最火的游戏都是用什么引擎做的!!!
7. Unity3D打砖块游戏入门教程
8. 实践6天入门Unity3D的学习路线
9. Android 项目 集成Unity3D
10. 浅谈Unity与Android原生的桥接
11. 零基础入门Unity Shader
12. 5分钟制作Unity过场动画
13. 帮你省了3个小时,来直接开发Unity的HelloWorld
14. Unity3D与Android的交互通信
15. iOS 与 Unity 的交互
16. Unity实用功能之经纬度和Unity坐标之间转换
17. Unity引擎与C#脚本简介
18. ef="https://juejin.cn/post/7007327007566463012">无需写代码 使用Unity实现"嫦娥奔月"小动画,快来看看这漂亮的嫦娥吧【仅供娱乐】
19. Unity3D工程打包成iOS的framework
20. Unity同一工程打包出多个相同安卓apk,不相互覆盖说明
21. Unity 基础 之 Resources加载和卸载介绍
22. href="https://juejin.cn/post/6854573218737586190">一个 ARKit 开发者的 Unity 学习感想:Unity 会一统 AR 开发吗?
23. Unity入门:快速做一个上瘾的小游戏
二、实战阶段

这个阶段主要是要增加自己的知识广度,这个阶段就要多看书多做项目,理论和实践相结合,提升自己的理论水平和实战经验。
关于书籍方面,推荐如下基本

1、创造高清3D虚拟世界:Unity引擎HDRP高清渲染管线实战


比较经典的一本书,书中包含了大量的HDRP入门基础,更通过剖析优秀案例对高清渲染管线的主体框架和各种特性进行阐述,如完全基于物理的光照和材质系统、体积光与雾效设置、光照烘焙及实时后处理效果等。本书全方位讲解如何使用Unity HDRP高清渲染技术来制作高质量画面内容。
2、Unity 3D游戏开发(第2版)


本书对游戏开发、细节分析、运行时分析等核心内容进行了较为深入的剖析,提供了相对完整的项目实践经验,对于项目实战有相当大的帮助。
3、Unity 3D实战核心技术详解


本书详细介绍了实际游戏开发中使用的核心技术,每一章都结合了游戏开发的实战案例。首先,介绍了3D 数学在Unity 中的运用,3D 数学知识包括:Unity 坐标系统、向量、矩阵、四元数、欧拉角等基础知识。其次,介绍了游戏开发中常用的核心技术:Avatar 换装系统、消息事件系统、Protobuf 在游戏中的运用,以及游戏中的文本文件加密算法等。
关于教学课程方面的推荐

1、C++中搭建Lua脚本引擎开发框架
2、C++游戏服务器编程从入门到掌握视频教程
3、Unity3D就业班全套培训课程
4、unity游戏开发0基础就业班开发赛车游戏项目
5、RPG游戏黑暗之光(unity就业班)代码素材全
6、Unity接入微信登录 微信分享 微信支付 支付宝支付
7、AR互动大屏项目实战课程(服务器搭建入门)完结
8、虚幻4 ARPG手游『 无尽之剑·文明』实战
9、Unity5.6开发捕鱼达人
10、Unity3D 团队协作框架应用项目-神之右手
11、Unity5.3背包系统 装备系统和锻造系统基于UGUI
12、unity实战 MMOARPG地下守护神_单机版实战视频课程
13、Unity制作 王者荣耀 商业级手游源码素材全
14、ARPG游戏实战
15、Kinect体感切水果游戏开发
16、Unity3D实例教程之3D塔防游戏
17、Unity3d之3D坦克大战实战
18、Unity3D之跑酷项目实战
这几个视频课程都是关于项目实战方面的,没什么好介绍的,跟着课程把里面的项目实战都实践一遍,对提升编程技能很有帮助。
关于项目方面的推荐

1、Unity3DTraining
https://github.com/XINCGer/Unity3DTraining
Unity的练习项目,包含了众多的实战场景,非常适用于练手


2、Armour/Multiplayer-FPS
https://github.com/Armour/Multiplayer-FPS
基于Unity游戏引擎的多人第一人称射击游戏。目前较为活跃的FPS设计游戏项目。


3、Unity-JumpJump
https://github.com/zhenghongzhi/Unity-JumpJump
Unity3d开发的微信跳一跳小游戏。功能还是比较完善的,值得学一学。


实战方面博客推荐

1. 用Unity3D开发一个坦克大战游戏
2. Unity模块嵌入React项目
3. Unity的Flutter组件渲染
4. Unity Android 交互与打包
5. 对Unity中Coroutines的理解
6. Unity使用心得 之 ✨ Unity2019打包apk显示版本过低问题
7. href="https://www.oschina.net/translate/asm-js-and-webgl-for-unity-and-unreal-engine">用于 Unity 和虚幻引擎的 Asm.js 与 WebGL
8. Unity与Android Studio✨之间那些不清不楚的小秘密✨(Android Studio与unity交互
9. Flutter集成unity踩坑之旅
10. Unity 实战项目 ☀️| Unity接入 百度语音识别 SDK!一篇文章搞定在Unity中实现语音识别!
11. 聊一聊Unity协程背后的实现原理
12. iOS与Unity3D交互
13. Unity 编译 Android 的原理解析和 apk 打包分析
14. 【Unity3D-UGUI原理篇】(四)Event System Manager 事件与触发
15. Unity Mask原理及自定义遮罩
16. Unity跨平台的机制原理
17. Unity Projector 投影器原理以及优化
18. UGUI系列-原理分析(Unity3D)
19. Unity中UI曲面化
20. Unity内实现OBB包围盒算法
21. Unity3D研究院之Image组件K特殊材质动画的一种方法
22. Unity3D研究院之同步Scene与Game视图摄像机
23. Unity3D研究院之3D界面与2D界面的结合
24. Unity3D研究院之实时获取手机电流、电压、计算功率发热
三、进阶阶段

进阶阶段主要就是加深自己的知识深度,不仅要强化自己编程高阶技能,比如性能优化、项目选型架构等技能,更要提升自己的编程理论水品。这个阶段更多的就是要追求看书和学习一些比较难度较高的课程和项目。
关于书籍的推荐

1、游戏编程算法与技巧


本书介绍了大量今天在游戏行业中用到的算法与技术,其中包括了2D 和3D 图形学、物理、人工智能、摄像机等多个方面的技术,读完以后让人有种醍醐灌顶的感觉。
2、Unity游戏设计与实现


本书通过10个不同类型的游戏实例,展示了真正的游戏设计和实现过程。本书的重点并不在于讲解Unity的各种功能细节,而在于核心玩法的设计和实现思路。每个实例都从一个idea 开始,不断丰富,自然而然地推出各种概念,引导读者思考必要的数据结构和编程方法。掌握了这些思路,即便换成另外一种引擎,也可以轻松地开发出同类型的游戏。
关于进阶的博客的推荐

1. f="https://juehttp://jin.cn/post/6844903437977518087">腾讯是如何做 Unity 手游性能优化的
2. 跟Unity学代码优化
3. Unity性能优化 – 脚本篇
4. Unity性能优化 – 设置篇
5. Cocos2d-x+Lua游戏的优化总结
6. Unity Android端启动黑屏优化
7. Unity 之 性能测试工具UPR的使用简介
8. 基于Unity手机游戏引擎性能监控
9. Unity平台 | 快速集成华为性能管理服务
10. 项目优化之性能优化(Unity3D)
11. 项目优化之优化技巧进阶(Unity3D)
12. 项目优化之DrawCall优化(Unity3D)
13. 项目优化之循环优化(Unity3D)
14. 项目优化之数据集合优化(Unity3D)
15. Unity GetComponent相关性能比较结论
16. 按需渲染如何改善移动端性能?
17. Unity WebGL优化技巧
18. 游戏优化系列三:Unity游戏的黑屏问题解决方法
19. Unity UI 优化整理
20. Unity学习—UGUI优化Tips
21. Unity3D移动端打包优化总结
22. Unity学习—脚本优化Tips
23. 腾讯手游优化之路
24. Unity3D我目前采用的Shader优化方案
25. Unity3D游戏优化之头顶UI
26. Unity手游性能蓝皮书
最后把我整理的关于unity3d开发相关的电子书在这里分享给大家,这些资料用于学习分享,请勿用于商业目的。
由于百度链接分享多了经常被屏蔽,为了方便管理,书籍分享地址统一放到下面这篇文章,请访问该文章获取。

shitboy:unity书籍推荐
吴大公子 发表于 2023-10-13 08:46:34|来自:北京 | 显示全部楼层

  • 可以学习一套固有教程,当然,更好的一种办法也是我比较建议的一种办法,就是从开发的套路入手,更加恰当的一种说法就是学习游戏开发企业中常用的开发经验、方式方法
  • 比如开发一款Unity游戏,没有进入企业工作过的新人会新建游戏对象然后往对象上面挂脚本,而如果你是一个专业开发者,那你就知道在企业中开发游戏时,游戏的数据、数值会由策划设定好,程序要通过读取这些游戏数值,根据这些数值来创建游戏对象,通过这些对象再进一步的挂上Unity中专门负责游戏渲染的游戏对象
  • 在开发网络游戏时,专业开发与业余开发的开发思维是不一样的,一个是按照官方的教程去做,另外一个是从数据驱动的角度进行游戏开发,整体思路都是不一样的,还有游戏的打包策略、游戏的性能优化、游戏的Shader开发、游戏的整体客户端框架、服务器框架、还有它的UI框架等等,这些都是在进行网络游戏开发时需要思考的一些方法
详细内容可以参考我们的《皇室战争S2:分布式与帧同步》公开课
qca8829 发表于 2023-10-13 08:47:00|来自:北京 | 显示全部楼层
unity学习教程及讨论小组https://www.zhihu.com/column/c_1383091320982958080
zsqffff 发表于 2023-10-13 08:47:22|来自:北京 | 显示全部楼层
系统地学难道不就是看官方文档嘛? 目录结构都列好了, 按顺序啃就行了.
不活 发表于 2023-10-13 08:47:56|来自:北京 | 显示全部楼层
前言

每一条重新出发帆船,都是一面崭新帆布。你将经历一番烈日灼烧,狂风暴雨历程,可以褶皱发黄,破破烂烂,但没有人有资格可以把你扯下来。



扬帆起航

一、万事开头难

自学最大的难题是你能否坚持下去,而不是学习中遇到的瓶颈与难题。
若是半途而废,将是终生遗憾的事呀!

学习Unity之前先对身边的事物进行一番梳理。
给予自身一份压力,一份动力,一个决心

1、压力
如果你是刚踏入大学的萌新,会有人善意地提醒你大学生活并不能放松。
知乎: 大学有必要很努力地学习吗?
如果你是面临实习毕业的铁憨憨,会有人善意地提醒你这是一个关键性的转择点。
知乎:计算机应届生月薪大多是多少?
如果你是已经出来工作的老油条。那没什么可以说的,加油吧!
你已经知道生活的艰辛了吧。

2、动力
如果你是一个独立或单机游戏的制作的追梦者,应该能看出这几年的变化。
虽然这几个月因为版号的问题小许挫折,但历史的车轮依然滚滚向前。
贴吧:目录:各个游戏的销量统计贴的链接,方便大家查找【国游销量吧】
知乎:如何评价腾讯 WeGame  游戏平台?
知乎:indienova:独立游戏人的 2017



《太吾绘卷》宣传图

看得远,是因为我站在巨人的肩膀上,游戏市场和Unity前景就是我们的底力。
有的人都抱怨连连,但还是离不开这个领域,这就是国内网络游戏状况。
中国产业信息网:2018年中国游戏行业发展现状及发展趋势分析【图】
知乎:撑起B站83.4%收入的游戏业务是怎样运营的?
知乎:unity3d游戏就业前景如何?(今年有些异样)
知乎:siki:Unity对H5小游戏开发的支持——Project Tiny (H5小游戏热也要趁一波)



3、决心
这些都扯远了,好处也不一定落到你头上,还是先看看自身是否满足学习条件再说吧。
时间:你需要盘算下自己除去上课上班之外,能花多少时间用在学习Unity上。科学的安排时间,不要刚开始就让自己每天都被塞满满的,这样持续不了几天会自暴自弃的。除非你是
知乎:上班族如何安排时间才能每天都早起、读书、跑步、冥想?
危机:当下面对的生活和工作压力该如何处理?如合理的安排课程、尝试和家里人沟通、在保证工作质量的同时为自己挤出更多的时间等。
自律:既然想自学省下培训机构的上万块学费,那你可以算下相当于每天赚了多少钱。
知乎:为什么很多IT公司不喜欢进过培训机构的人呢?



甩开包袱,轻装上阵!

二、蚂蚁啃大象

当下定决心学习了,就需要发挥蚂蚁啃大象的精神,一点一滴的循序渐进地吸收知识。
知我者为春秋也!时间就是你这段旅途最好的伙伴。

1、学习路线
一条精练的学习路线宛如晨跑中的红色沥青人行道,舒适防滑。
将Unity的学习知识分阶段进行,每一个阶段匹配相应的案例,达到巩固自身知识的作用。
基础课程旁一些推荐的网站、书籍、工具的注解能在相应的阶段为学习者深化内容,扩展视野。



Unity学习路线

2、自学步骤
第一步:计划
接下来你需要重新规划这段时间,最好精确到每天需要完成的任务,就算是每天1个小时的打码时间,只要持之以恒,积水成渊。当然也不能安排得太细太满,没有给自己喘息的机会,一定要让计划成为你的底限而不是上限,一朝崩堤,千里水淹。并且给每一时段定下目标,当完成目标时候适当的奖励自己,以此来提醒督促自己完成目标。推荐你使用ExceL做一个简单的甘特图,可以清晰的看到自己每段时间的学习效率,也给予自身完成任务的成功感。
知乎:如何使用 Excel 绘制甘特图?



甘特图

第二步:笔记
编程是一门工科,但也需要记住一些关键性的代码或按键之类的。虽然一些内容会可以找到完整的参考手册,但并非全都适合你的,而自身笔记能弥补你薄弱的内容。如果一些较为复杂的操作和代码没有笔记,那么做过之后无法及时复习,过一段时间也就忘了。可以使用Word、有道云、CSDN、博客园、Github,也经常有许多大牛分享自己的随笔、感悟等,多浏览多学习。
烟雨迷离半世殇博客【设计师养成记】不妄自菲薄,不自命不凡。 - CSDN博客



CSDN 笔记

第三步:梳理
学过的内容,将重要的和懵懵懂的内容做一个简单的梳理,别以为这是节外生枝,这是知识点扎实的体现。我们的记忆对于零散的东西很是糟糕,而对于有关联性的记忆尤为擅长,可以通过一颗颗知识的树,串联知识网络。如Unity API常用方法和类、生命周期、渲染顺序等等



有道云 知识梳理

第四步:总结
每学习一个阶段一定要将之前的知识梳理一遍,并以此作为基础完成几个案例,达到巩固知识效果。unity的学习基本上是线性的,没有那么多的分叉,方便了自学的人一路走到底。而往往有人因此而迷失方向,学了半懂半不懂,没有及时的做阶段性总结而导致基础不稳。



三、自学遇到的问题

自学当然会不知不觉走了弯路,或者一个问题成为你突破自身的瓶颈。
这时,我们需要通过自身的经验尝试性的解决问题。

1、蜂拥而至的知识冲垮你的脑袋
有些没有编程基础和其他编辑软件使用经验的同学来说,刚开始同时面对这两项内容会很头疼。既要在不熟悉的英文编辑器上做点击,又得理清代码相关的知识点,可以说是一脸懵逼的的状态。这时你需要除非主次,将目前必须熟悉的内容做进一步探索深化,而次要的可以留以后慢慢学习。如不熟悉U3D英文编辑器的则必须先整理知识,搞懂各个按键的意思。而C#编程及涉及Unity各类机制的可以往后探究。先学习一部分内容,将代码敲完运行成功才是硬道理!



Unity2017 界面布局翻译



Unity2017 工具菜单翻译

2、学习资料太多也见得是好事
学习切不可跳跃式吸收喜欢的知识,囫囵吞枣。你半会半不会的内容会失去吸引力,这会严重的打击你的积极性。不可东看一本书西看一部视频,一定选好路线后,精中捡精,先把核心的内容学完再说。

3、错误代码难以解决
大部分初学者都是跟着视频教程一步步的敲代码的,偶尔会出现代码打错或者因为Untiy版本而导致错误,遇到错误千万不能只会专一个地方思考,而是学会通过搜索错误报告,详细的比较自己的代码与视频上的有哪些地方不同。记录一些常见的错误,如忘记保存,大小写,点击了其他选项等,通过一步步运行分析最终找到问题所在。这个过程虽然耗费很长时间而且学习到的东西不多,但却锻炼了查错能力,为以后学习打好基础。



stackoverflow

4、枯燥难懂的知识如何活跃大脑
学习Unity一些类和方法的时候,会有许多雷同而又重要的知识,可将他们串联在一起编成一个小动画或者游戏达到活跃自身思维,而不是跑马观花般一学而过。学习C#的时候,数据结构和算法是必不可少的,如果能每学习一个内容,做一些相关的试题和简单设计,这对知识的吸收是很有帮助的。



codewars

5、寻找匹配的知识和相关资源
因为Untiy存在许多插件,搜索一些热门的插件加以学习是很有必要的。一定要利用来公众号,知乎,豆瓣,Github,博客,网盘搜索等平台,一些整理性强的文章必然成为的学习路上的一块砖,垒砖成墙。这样才是互联网时代学习的方式。



B站unity官方账号

6、进入圈子在Unity领域生根发芽
虽然你是个刚学习的菜鸟,但一定要尝试着融入Unity话题的领域里,可以通过关注一些Unity相关的网站,了解其他人的学习,生活,工作等。既能补充你对整个Unity知识的了解,还能结交朋友,持续性的推动你学习,积极进取。

7、两篇不错的自学入门指引
知乎 :零基础如何自学编程?
(回答关于自学编程常用的手段和需要面对的困难)
知乎:游戏引擎 Unity 的入门易精通难体现在哪?为什么?
(详细的讲述在Unity学习和使用时的亮点和槽点)

四、自学必备弹药库

1、Unity官方全家桶
【Unity 官方网站】
官方网站提供了,编辑器下载、学习、社区、资源下载商店
【Unity用户手册】Unity User Manual (2018.3)
介绍相关编辑器功能与使用技巧,可以搜索查阅相关功能使用方法。
【Unity脚本手册】Unity - Scripting API
脚本 API 介绍,说明相关脚本接口的使用方法。
【B站账号】Unity官方
放有许多官方最新的视频
【公众号】搜索:Unity官方平台
可以了解Unity平台最新的更新或社区资讯
【书籍】《Unity官方案例精讲》
对Unity官方案例内容进行详细解读并翻译


2、其他学习网站
Unity游戏开发视频教程目录 v18.11 - Siki 精心整理
内有大量教程资源,在国内罕见,或许是你自学的启蒙视频
雨松MOMO程序研究院|专注移动互联网与Unity3D游戏开发的技术博客
雨松是国内Unity相关博客最为全面的,特别是编辑器扩展方面。
2018年,他的新书《Unity3D游戏开发》(第2版)再版上架了。

3、推荐学习书籍
《大话数据结构》大话数据结构 (豆瓣)
作者用诙谐幽默、简单易懂为你讲解数据结构的方方面面,这是一本相当易读的书籍,能为你苦练数据结构的灰霾中照进一缕阳光。



大话数据结构

《Unity Shader入门精要》Unity Shader入门精要
作者编程与设计两头抓,对美有极高的追求,能细腻的讲解内容,是一本不可多得的好书。



4、资源大全
两个Unity学习资源的帖子,资源虽好可不要贪杯哟
知乎:siki:2018年Unity学习资源指南(建议收藏)
知乎:陶程:Unity 学习资源(超全)

快速回帖

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则