全球版:https://learn.unity.com/, VR开发专题:https://learn.unity.com/pathway/vr-development?signup=true
国内版:https://learn.u3d.cn/
可选包:https://docs.unity3d.com/Manual/pack-safe.html
w3school:https://www.w3cschool.cn/unity3d_jc/unity3d_jc-6jet38c2.html
unity国内开发者社区:https://developer.unity.cn/
Unity资源商店:https://assetstore.unity.com/
Unity教程的结构
Unity教程分为手册和脚本API两部分。
手册是功能说明。
脚本API 是API Reference。
Unity教程都是讲的Unity的内置模块。
Unity Registry是Unity官方提供的可选包,这些可选包的文档在另一个地方:https://docs.unity3d.com/Manual/pack-safe.html
Unity教程的主题
其中比较重要的是图形、物理,了解了这两块基本上做游戏就没问题了。我最需要恶补的就是图形。
输入
2D
图形
世界构建:地形、树
物理
脚本
多人游戏
音视频
动画
UI
导航和寻路
Unity服务
XR
Unity的包
打开Unity的PackageManager,浏览一下Unity的各种包。
Unity的包分为四类:
-
内置包:Unity 编辑器自带的包
-
Unity Registry:Unity官方包
-
InProject:项目中已经导入的包
-
MyAssets:我收藏的包
Unity的内置包
UI
-
IMGUI:Unity的立即UI,只能用在Editor中
-
UI:Unity的拖拽式UI,每一个元素都是一个GameObject,只能用在运行时
-
UI Elements:Unity新版UI
-
UI Elements Native
地形
-
Terrain
-
TerrainPhysics
-
Tilemap
-
Wind:风区,可以影响地形和粒子效果
物理
-
Cloth
-
Vehicles:汽车的物理模拟,使用轮子碰撞器组件
-
ParticleSystem
-
Physics、Physics2D
多媒体
-
ImageConversion
-
ScreenCapture
-
Audio
-
Video
网络
-
Unity Web Request
-
Unity Web Request Asset Bundle
-
Unity Web Request Audio
-
Unity Web Request Texture
-
其它
-
AI:实现了寻路算法
-
AndroidJNI
-
AssetBundle
-
Director
-
JsonSerialize:Unity最早实现的JSON序列化库,基本上全是bug。
-
Subsystems
-
Umbra:遮挡剔除系统
-
Analytics:埋点相关
-
XR、VR:
-
Wind
Unity官方包
2D相关
-
2D Animation
-
2D IK:preview阶段,根据部分动作预测整体动作。
-
2D Pixel Perfect
-
2D PSD Importer
-
2D Sprite
-
2D SpriteShape
-
2D Tilemap Editor
-
2D Tilemap Extras(Preview阶段)
自适应性能
-
Adaptive Performance
-
AdaptivePerformance 三星
Unity服务
Advertisement:广告;iOS14 Advertising Support:iOS上的广告支持
Authentication:授权服务,可以用Oculus等一些著名的ID进行登录。
Economy:经济
UDP:Unity Distribution Portal,让开发者可以访问其它三方Android商店。
GameFoundation:
基础服务
Cloud Code:云服务,server-less
CloudSave:云存储
RemoteConfig:类似字节的TCC,存储远程配置。
CCD:Cloud Content Dilivery,云内容,例如直播流、视频流等
Analytics
Analytics Library:Unity的埋点、客户端分析服务
WebGL Publisher:将webgl导出的东西一键部署到远端,类似一个静态站点。
IAP
因为Unity对IAP投入力度非常大,涉及模块较多,因此单独讨论。
小米SDK:小米商店的支付SDK
In App Purchasing
多人游戏
Lobby:多人游戏
MultiPlayerHLAPI:多人游戏高级API
Netcode For Entities:用于DOTS的多人游戏
Relay:中继
XR
XR部分有很多公司的XR 开发插件。
-
AR foundation
-
ARCore XR Plugin:苹果的XR工具包
-
ARKit Face Tracking
-
ARKit XR Plugin
-
MagicLeap XRPlugin
-
Oculus XR Plugin
-
OpenXR Plugin
-
Windows XR Plugin:提供了Unity XR SDK的实现,允许使用windows 混合现实设备。
-
XR Interaction Toolkit
-
XR Plugin Management
-
MockHMD XR Plugin
文件格式
-
FBX Exporter:允许将场景导出为fbx文件,然后再AutoDesk、maya、3dmax等软件中编辑,然后导回到unity。
-
Alembic:支持.abc文件,这是一种动画传输文件。
移动端
Android Logcat:用于在UnityEditor中展示来自Android设备的日志。可以在Window/Analysize/Android Logcat中查看。
DeviceSimulator:它是过去Game窗口的替代者,Game窗口的缺点就是尺寸无法模拟真实设备的尺寸。
编辑器工具
QuickSearch:在Assets、场景、菜单、包、API、配置中搜索,相当于Unity中的SearchEverything
EditorCoroutines:在Unity Editor中构建类似MonoBehavior的对象。
Unity Recorder:在编辑器的Play模式下允许录制动画、音频、视频等。
测试
ProfileAnalyzer:性能分析工具
MemoryProfiler:内存分析工具
TestFramework:包括一个UI和一个测试框架。
Code Coverage:代码覆盖率统计
脚本编辑器
JetBrains Rider Editor
Visual Studio Editor
Visual Studio Code Editor
编辑器
Unity是一系列子编辑器的集合,所谓游戏引擎就是游戏开发工具集合,而游戏开发工具就是地形编辑、场景编辑、UI编辑、时间线编辑、shader编辑、动画编辑。
PolyBrush:MeshPaiting、Sculpting,集合绘制工具
Timeline:时间线工具。
UI Builder:拖拽形式构建UI
Terrain Tools:地形工具
ShaderGraph:可以无需编程编辑shader。
ProBuilder:构建、编辑特定几何形状。
Scriptable BuildPipeline:将AssetBundle移动到C#中进行。
Cinemachine:专业的摄像机
-
VisualEffectGraph:视觉效果图,可以用于编辑视觉效果。
-
PostProcessing:有一系列特效和图片过滤器,可以直接用在摄像机上,来提升游戏视觉效果。
-
Animation Rigging:Animation Rigging工具箱。
渲染管线RP
-
Core RP
-
HighDefinition RP
-
UniversalRP
DOTS
HavokPhysics for Unity,用于DOTS系统的物理引擎。
Jobs
Burst:将IL字节码转成高度优化的二进制码,基于LLVM。
其它
InputSystem
Kinematica:下一代动画库
Mathematics:提供类似shader数学函数的语法。
AI navigation
ML Agents:基于机器学习的角色行为
Addressables:资源管理
MobileNotification:在Android、IOS上发送通知。
TextMeshPro:文字库。
VersionControl:版本管理,使用Plastic SCM。
Unity UI:像GameObject一样的UI。
Newtonsoft.JSON因为使用过于广泛,从Unity2020开始,已经成为Unity的标准JSON库了。