当前位置:   article > 正文

[翻译] Unity 开发自学路线_unity 学习路线

unity 学习路线

[翻译] Unity 自学路线

看了 Apple 的 Vision Pro 介绍后,一时兴起,买了 Pico 4,打算玩一玩 VR 开发。

在网上搜到了一个自学路线图(原文:Self-taught learning roadmap for Unity Developers | Medium),于是就翻译过来,并添加一些个人理解。

本人也没有 Unity 开发经验,所谓的译者注仅自己理解,后续发现文章的错误会进行修改。

Unity Roadmap

打好 C# 基础

个人认为,首先最重要的一步是在打开 Unity Editor 之前,先深入了解所有必要的C#语法和概念。

我看到很多人在这方面失败了,后来在尝试处理与Unity相关的话题时,会遇到基本的面向对象编程概念方面的困难,这些概念在处理Unity之前完全应该理解。

我强烈建议先从Visual Studio开始,尝试简单的控制台应用程序(Console Application),然后再进入Unity。这样有助于您只专注于编程概念,而不会受到像Monobehaviours、Update循环和其他游戏相关内容的干扰。

这还可以让您了解更传统应用程序的执行循环方式,与游戏的基于帧的执行循环方式不同。

总的来说,建议先学习一些关于C#的课程,并确保对诸如方法、类、构造函数、继承、接口、内置的C#类型和类,甚至是多态性等概念有很好的掌握。

个人理解,对 C# 的语法以及面向对象的编程,先不用管 Unity 中的各种概念。
类比到 Vue/React 这类开发的化,就是先学 HTML/JS 等,而不用去管 Vue/React 提供的各种设计(例如组件的生命周期、各类 API 等)。
  • 1
  • 2

Unity 基础

在对 C# 有了一定掌握后,就可以开始学习 Unity 的相关概念了:
务必理解 **Update 执行循环(Update execution loop)**和 脚本生命周期(Script Lifecycle)

了解每个函数,例如对Awake()Start() 之间的区别应该像 Update()  和 FixedUpdate() 之间的区别一样清晰,可以参考官方文档:事件函数的执行顺序 - Unity 手册 (unity3d.com)

务必要理解像序列化(serialization)帧率独立(framerate independence)协程(coroutines)、**事件(Events)**等概念。

不要习惯使用 Debug.Log() 来进行调试,正确的调试姿势看:Debug C# code in Unity - Unity 手册 (unity3d.com)(译者注:个人理解,Debug.Log() 类似于 Web 开发使用 console.log 函数,比较好的调试方式是用 debugger 打断点)

接着就是学习图形相关的概念:材质(Material)、纹理(Texture)、网格(Meshes)、精灵(Sprites)、Draw Calls、着色器(Shader)。

不用去学习如何制作游戏素材(Assets),但是得懂得把素材集成到游戏中。如果没有游戏素材,可以用免费的预制素材来练习。

规划重点平台

接下来,最好研究并确定针对哪个平台/目标进行开发。是选择移动设备?AR/VR?3A桌面游戏?游戏开发有许多领域可以专攻,尝试学习各个领域或者专注于某个特定领域,以增加在市场上成功的概率。

考虑每个主题的市场规模和需求。例如作为移动游戏开发者,并且熟悉常见 SDK(例如 Admob、Firebase、Unity Gaming Services 等),一般都会有公司需要的。

(以上是原文章的内容,描述是国外的场景,国内场景会有不一样,例如 Firebase 国内是没办法使用的,具体读者自行研究吧)

Git

Git 这一章节就不按原文翻译了,原文建议读者们熟悉 Git 基本操作以及使用 Gitflow 等工作流来提高效率。

现代编程设计模式

了解单例模式(Singleton)、观察者模式(Observer)、工厂方法(Factory Method)、生成器(Builder)、状态(State)。

原文主要是说明如果你在公司里面工作,就按照公司的模式来开发就好了。

译者注:关于设计模式的学习资料可以看:设计模式目录:22种设计模式 (refactoringguru.cn)

作品集

在网络上发布你的作品集。作品集的用处之一就是证明你在游戏领域的知识量。

这一部分不同于上面所述的,作品集不是学习,而是涉及实际构建和展示项目。

作品集至少包含以下内容:

  • 简短的技术原型(Small prototypes):展示你喜欢的有趣且复杂的游戏机制。可以放在 Github 上展示,这样也能展示你的核心编程技能。
  • 一个完整游戏的垂直切片:展示游戏具备的所有特性,至少表面的实现。

学而不厌,诲人不倦

保持学习。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/40545
推荐阅读
相关标签
  

闽ICP备14008679号