這是歷史版本頁面 — 看 Unity 最新版本

想做遊戲但不知從哪開始,Unity能幫你什麼

Unity 軟體圖示 Unity 2020.1.4 資料更新 2020-09-02 閱讀約 7 分鐘

你大概有過這種時刻:玩了某款遊戲之後,心裡冒出「這我也做得出來」的念頭,於是打開電腦想找一套能開發遊戲的軟體。結果搜尋到的東西不是太專業看不懂,就是下載下來不知道從哪裡開始,連要建一個角色、讓它動起來都找不到按鈕。你只是想先做一個簡單的小遊戲試試看,卻卡在第一步。

如果從程式語言開始學,光是理解變數、迴圈、物件導向就要花上好幾個月,還沒碰到遊戲畫面就先放棄了。就算找到現成的遊戲範例,也常常因為版本不對、缺少素材、不知道怎麼修改而卡住。這類遊戲開發工具的切入點,是把「寫程式」和「做遊戲」之間的距離縮短——用視覺化的編輯器排列場景、拖曳物件、設定參數,需要寫程式的部分再補上程式碼,同時提供大量現成素材和教學資源,讓你能夠從一個小原型開始,逐步做出完整的遊戲。

Unity 操作介面
Unity 的操作介面

01Unity能做什麼類型的遊戲?

官方說明指出它同時支援2D和3D開發,包含AI尋路工具、UI系統、物理引擎(Box2D和NVIDIA PhysX)、動畫工具、後製特效等,可以製作各種類型的遊戲。官方也提到可以用於VR、AR、手機、桌機、網頁、電視等多種平台。具體想做什麼類型的遊戲,可以參考官方教學和Asset Store的資源。

02它支援哪些平台發布?

官方說明提到可以發布到25個以上平台,包括手機(iOS、Android)、桌機(Windows、Mac)、遊戲主機、電視、VR、AR和網頁。它的跨平台功能可以「build once and deploy to the largest range」,也就是一次建置就能發布到多個平台。但具體支援哪些平台,建議到官方網站確認最新清單。

03免費版有什麼限制?

官方說明提到「Unity 6 Personal - Free Plan」是免費版本,但資格是「Revenue or funding less than $200K in the last 12 months」,也就是過去12個月收入或資金少於20萬美元。超過這個門檻就需要付費方案。免費版包含核心開發平台功能,但可能缺少某些進階功能,建議到官方網站查看免費版與付費版的詳細比較。

Unity 介面畫面 2
Unity 介面畫面

04Asset Store是什麼?

sset Store是Unity的資源商店,官方說明提到裡面有「thousands of quality, ready-made assets」,包括資源、工具、擴充功能等,可以加速專案開發。你可以購買或下載免費的素材、外掛、教學資源等。它同時也是社群分享知識的地方,對初學者來說是很好的學習資源。

05Unity Hub是做什麼的?

官方說明提到Unity Hub是用來管理多個Unity Editor安裝、建立新專案、存取你的工作的工具。也就是說,你可以用Unity Hub來安裝不同版本的Unity、切換專案、管理編輯器。它算是Unity開發流程的入口,建議先安裝Unity Hub再開始使用。

06完全沒寫過程式的人適合用嗎?

官方說明提到「beginners, students and hobbyists」是目標使用者之一,而且有「tons of tutorials and ready-made assets」可以引導學習。但Unity本身是專業遊戲引擎,需要學習程式語言(C#)和遊戲開發概念。如果完全沒寫過程式,建議先從官方教學和簡單的2D專案開始,逐步學習。

Unity 介面畫面 3
Unity 介面畫面

07獨立開發者適合嗎?

官方說明提到「independent developers and studios」是主要使用者,而且免費版就是為了獨立開發者設計的(收入低於20萬美元)。官方也提到「democratizing ecosystem smashes the time and cost barriers」,意思是降低開發時間和成本門檻。如果你是自己一個人或小團隊開發,Unity的資源和社群應該能提供足夠支援。

08學生或業餘愛好者適合嗎?

官方說明提到「beginners, students and hobbyists」是目標使用者,而且有大量教學資源和免費版可以使用。學生可以用免費版學習遊戲開發,業餘愛好者也可以用它來做自己喜歡的專案。但要注意免費版的收入限制,如果未來你的遊戲開始賺錢且超過20萬美元,就需要升級付費方案。

09不會英文的人用這套軟體會很吃力嗎?

這套軟體的介面語系是英文,官方說明也是英文,所以不會英文的話確實會比較吃力。但Unity有龐大的中文社群和教學資源,網路上有許多中文教學影片和文章。建議可以先從中文教學開始學習,同時慢慢熟悉英文介面。如果完全無法接受英文介面,可能需要考慮其他有中文介面的遊戲引擎。

Unity 介面畫面 4
Unity 介面畫面

10我公司收入超過20萬美元,還能用免費版嗎?

根據官方說明,免費版的資格是「Revenue or funding less than $200K in the last 12 months」,也就是過去12個月收入或資金少於20萬美元。如果你的公司收入超過這個門檻,就不能使用免費版,需要購買付費方案。建議到Unity官方網站查看最新的授權方案和價格。

11我的電腦還是Windows 7,能用嗎?

官方支援系統包含Windows 7 64位元,所以如果你的電腦是Windows 7 64位元,應該可以安裝使用。但要注意,Windows 7已經停止支援,Unity後續版本可能不再支援Windows 7。建議確認你使用的Unity版本是否支援Windows 7,並考慮升級作業系統以獲得更好的相容性和安全性。

12我只想做簡單的2D小遊戲,用這套軟體會不會太複雜?

Unity支援2D開發,官方說明提到「The app supports both 2D and 3D development with features and functionality for your specific needs across genres」,所以2D遊戲是沒問題的。但Unity本身是專業引擎,功能很多,學習曲線可能比專門的2D遊戲工具(如GameMaker)陡峭。如果你只想做非常簡單的2D遊戲,可以先從Unity的2D教學開始,評估自己是否能接受它的複雜度。

下載與官方連結

前往官方網站 下載 Unity

UnityDownloadAssistant-2020.1.4f1.exe · 409.6 KB · 連結指向軟體原廠

版本紀錄

再看 5 筆

看完整版本清單

這一版改了什麼

What's new in this version:

Fixes:
- 2D: Fixed animation has incorrect dependency on UnityEngine.XR.WSA.Input
- 2D: Fixed ArgumentException errors are thrown when 2D Game Kit is imported for the first time
- 2D: Fixed ArgumentException when applying Sprite Import settings with mosaic property unchecked
- 2D: Fixed BakeCollider requires GC every frame even when there are no changes in SpriteShape
- 2D: Fixed exception thrown continuously when Undo operation is performed with sprites are assigned earlier
- 2D: Fixed NullReferenceException on creating Prefab with SpriteSkin
- 2D: Fixed NullReferenceException when creating Preset for SpriteSkin component
- 2D: Fixed Skinning Module flickers when creating new category in Visibility Window
- 2D: SpriteAtlasManager late binding crash
- 2D: [Sprite Atlas] atlasRequested callback does not trigger after unloading and loading sprite atlas
- AI: Resolves an issue where NavMeshQuery::Raycast could get stuck in an infinite loop if the NavMesh contains degenerate polygons
- Asset Pipeline: Fix a crash that can occur when downloading non primary artifacts from cache server
- Asset Pipeline: Fixes editor hang after getting disconnected and quickly reconnected to cache server
- DX12: 8 Multi-RenderTarget gives Assert error d3d12: querying for an out-of-bounds color surface
- DX12: Editor crashes when shader global constant buffer exceeds 64kB on dx12
- DX12: Editor crashes when using ProBuilder in Vertex Edit mode View on Crashes HQ with HDRP/DXR
- DX12: Texture2DArray MSAA resolve is broken on d3d12
- Editor: corrects keycode mappings in play mode by only using gdk keyvals to map to sdlk values
- Editor: Fixed an issue where Inspector window is not updated when multiple assets from the Project window are deselected/selected.
- Editor: Fixed Editor crashes when unlocking Inspector with PropertyInfo.SetValue function.
- Editor: Fixed Mac OpenGL editor causing a kernel panic on Intel Graphics
- Editor: Fixed NullReferenceException when changing Asset serialization mode
- Editor: fixes crash on drag and drop from a closing window
- Editor: Renamed themes to Light and Dark now that they are available irrespective of license
- Editor: Update Collab packag
- GI: Fix Static Analysis Defect 53214 (Potentially overflowing expression in RRBakeLightProbesTechnique.cpp)
- GI: Fixed erroneous logic for resolving shadowmask texture format
- Graphics: fixed readback from temporary RT not working on metal
- Graphics: Metal: Fix shader compiler warnings that could appear on macOS 11 Big
- Graphics: SkinnedMeshRenderer.BakeMesh now bakes cloth changes into the target Mesh
- GraphView: Addressed some issues with heterogeneous selections involving stack nodes and disabled a
- iOS: Fixed unintended storyboard rotation if device changes orientation during initial application loading.
- Kernel: Fixed an editor crash in the Jobs Debugger which could happen when using the Hybrid renderer.
- Linux: Reduced polling frequency for stale Editor windows
- Package Manager: Added support for External symbols on a platform that required it
- Package Manager: Don't prints message in console when user cancels "Add package from disk" dialog
- Package Manager: Fixed a potential error when running the linker with a failure on lld command.
- Package Manager: Fixed an issue where Git dependencies could cause UPM to hang when using SSH with a passphrase-protected private key without setting up an SSH authentication agent.
- Package Manager: Fixed Debug.Log by re-enabling it when used in function pointers or jobs
- Package Manager: Fixed errors when opening Inspector with a non-public Execute method on a job producer type
- Package Manager: If path to the package contained spaces, then native command execution could fail. This would manifiest as weird errors with 'lld' or 'vswhere' or other native tools.
- Prefabs: Fixed SerializableObject.GetIterator() throws ArgumentNullException when UnpackPrefabInstance() is called on an instantiated Prefab in Inspector logic
- Profiler: Fixed an issue where attempting to order a set of filtered samples by either time or size in either Hierarchy or Raw Hierarchy would cause all the items to disappear
- Profiler: Fixed an issue where PackedMemorySnapshot.nativeObjects.gcHandleIndex would always return -1 due to not reporting the correct managed object address during processing
- Profiler: Fixed an issue with the memory profilers type metadata where some fields would be skipped due to types failing to be reported
- Scripting: Build incompatible custom assemblies with a dirty predefined assembly ref should not be compiled
- Scripting: Correct file sharing for exFAT partitions on macOS
- Scripting: Fix unlimited warnings to Editor.log using all disk space
- Scripting: Fixed crash that would occur when an exception was thrown during the initialization of a custom attribute
- Scripting: Fixed hang that would occur when a Debugger.Break was in the accessor of a field
- Scripting: Fixed NotImplementedException when accessing X509Chain.ChainStatus in certificate validation callback
- Scripting: Include Defines in Response Files(csc.rsp) for Define Constraints
- Serialization: Fixed data loss that could occur when serializing string arrays where elements started with the character ':'
- Serialization: Restore arrays from null serialized properties backport
- UI: Fixed canvas drawing multiple times per frame when OnDemandRendering.renderFrameInterval is more than 1.
- UI Toolkit: Fix LongField binding
- UI Toolkit: Fixed Label tooltip behavior when text value can change while elided
- UI Toolkit: Fixed TextElements that generates more than 16k vertices cause IndexOutOfRangeException on vertex buffers
- Fixed UI Toolkit leaks memory when new large mesh is allocated via MeshGenerationContext
- Fixed Small visual regressions
- Universal Windows Platform: Fixed incorrect warning saying that BC7 texture format is not supported on UWP when in fact it is
- Universal Windows Platform: Fixed Unity crashing after initializing it second time if splashscreen is enabled
- Universal Windows Platform: Work around MSBuild issue when building UWP AppxBundles from the command line
- Web: UnityWebRequest: fix hang or crash on iOS (upload/abort related)
- Windows: Fix Shift key not reporting in GUI Event.keyCode property
- XR: Added option to always discard depth after rendering

API Changes:
- iOS: Removed: Removed the breaking interface change to IUserProfile (gameID)

Changes:
- Package Manager: Asserts that are currently discarded no longer discard arguments with potential side effects
- Package Manager: Automatically add embedded package files to the version control system
- Package Manager: Bump com.unity.mathematics to 1.2.1 version
- Timeline: Updated Timeline package to version 1.3.5

Improvements:
- Editor: Update Polybrush to 1.0.2
- Package Manager: Added support for returning enterprise entitlement packages from the PackageManager.Client.SearchAll() method. These packages will now show in the Package Manager UI Unity Registry section when users have the entitlement to use them.
- Serialization: Increased the allowed serialization depth to allow larger, more complex data models to be serialized