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

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

Unity 軟體圖示 Unity 4.6.2 資料更新 2015-02-11 閱讀約 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

UnitySetup-4.6.2.exe · 1.44 GB · 連結指向軟體原廠

版本紀錄

再看 5 筆

看完整版本清單

這一版改了什麼

What's new in this version:

Features
- Support for iOS 64-bit builds using il2cpp.

Changes
- The Flash build target is no longer supported from this release onwards.

Improvements
- Audio: Added WWW.GetAudioClipCompressed. Allows AudioClips obtained via WWW class to be loaded into memory compressed, similar to "Compressed in Memory" import option.
- Graphics: Added MaterialPropertyBlock.Set*() methods to overwrite existing values in a MaterialPropertyBlock instead of adding duplicates.
- iOS: Add basic launch screen support.
- iOS: Expose “set pause” as ObjC API.
- Linux: Added more font fallbacks for Latin and CJK.
- Oculus GearVR: Enabled low latency audio support.
- Oculus Plugin: Future Oculus Plugin releases will no longer require Direct_To_Rift.exe
- Oculus: Added VR friendly splash screen for Unity Free.
- Scene View: DrawGizmo attribute now reports errors when used incorrectly, and has better documentation.
- Standalone: Screen.dpi implemented for OSX and Windows standalone platforms.
- UI: Change Text.m_Text to protected and Text.text to virtual. In this way users can have control over the text contents when extending Text.
- UI: Expose EventSystem.firstSelected to API.
- WebPlayer UnityObject: It is now possible to identify the webplayer runtime version before loading content. This makes it possible to load different content based on the runtime version already installed.

Fixes
- 2D: Custom sprites are now forced to have unique name when created through Sprite Editor.
- 2D: Fixed PolygonCollider2D mesh generation on Android.
- 2D: Hotkey for sprite Trim 'T' doesn't intervene with sprite naming anymore.
- 2D: Single sprite pivot will be now properly saved in Sprite Editor.
- 2D: Sprite importer multi-editing now works for packing tag, pixels per unit and extrude fields.
- 2D: Sprite Packer page list is now refreshed after packing.
- Android: Android TV - do not strictly require accelerometer and microphone.
- Android: Fix for NullReferenceException causing a crash.
- Android: Fixed a file-loading problem which occasionally caused 'Inflate Error' messages & freezes or crashes when loading resources on Android.
- Android: Fixed broken texture upload from OnApplicationPause(false).
- Android: Fixed build failure on x86 Java on Windows.
- Android: Fixed CJK fonts on Android Lollipop.
- Android: Fixed possible crash in hardware stats code.
- Android: Fixed deadlock when calling UnityPlayer.pause() too early.
- Android: Fixed freeze during startup on some Amazon Kindle devices.
- Android: Fixed freeze on focus change when app is not paused (e.g. keyboard input).
- Android: Fixed Japanese Kana fonts on Android Lollipop.
- Android: Fixed lights-out mode on Android Lollipop.
- Android: Fixed possible lost wakeup in UnityPlayer when rapidly calling pause/resume.
- Android: Fixed theme attribute in default manifest to hide title bar during startup.
- Android: Increase maximum memory available to Java when building for Android.
- Animation: Animation window no longer shows 'Function not supported' for events on secondary MonoBehaviours.
- Animation: Don't expose multiple entries for a source clip in AnimatorOverrideController.
- Animation: Optimize and DeoptimizeTransformHierarchy are available in runtime as well as editor.
- Asset Import: Imported assets now update the project label database correctly.
- Asset Import: Restored previous behaviour of AssetModificationProcessor.OnWillSaveAssets to ignore null or void return values.
- Asset Import: Reserialize imported .unitypackage assets to comply with project's Force Binary / Force Text serialization setting.
- Core: Fixed incorrect error message when RectTransform.GetWorldCorners is called with incorrect parameters.
- Core: PPtr animations now properly trigger the OnDidApplyAnimationProperties callback.
- Editor: Allow viewing of all ModelImporter tabs when the model is not open for edit.
- Editor: Fixed importing of .DDS textures with XRGB color formats.
- Editor: Fixed a bug where driven RectTransform would incorrectly mark the scene dirty if it had a Vector2 where one coord was driven and the other not. Such a setup is common with the ContentSizeFitter UI component.
- Editor: Fixed a small memory leak related to FormerlySerializedAs attribute.
- Editor: Fixed bugs that caused UnityEvent object references to change by themselves with no user action when selecting multiple objects.
- Editor: Fixed lagginess in editor when destroying multiple elements.
- Editor: Fixed navigation to next / previous animation keyframes when there are subframe keyframes.
- Graphics: Worked around some GPU driver bugs that were causing crashes when using OpenGL ES 3.0.
- Graphics: Fixed possible memory corruption when using dynamic batching on platforms that support NEON.
- Graphics: Fixed D3D9 handling of unsupported BGRA32 texture format to fall back properly to ARGB32.
- Graphics: Texture2D.PackTextures will produce an ARGB4444-format atlas if all input textures are ARGB4444/RGBA4444.
- iOS: Do not rotate splash view on non 6+ iPhones.
- iOS: Ensure that Input.touches is not changed during the frame.
- iOS: Fixed 2nd stage splash orientation on iOS 8.0+ landscape.
- iOS: Fixed crash when text field contents are modified via script and undo is used.
- iOS: Fixed OpenGL ES backbuffer size determination (fixes iPhone6+ zoomed mode).
- iOS: Fixed local notifications for iOS 8.0. You should call NotificationServices.RegisterForLocalNotificationTypes before scheduling first notification.
- iOS: Fixed messed up terminal settings if building for iOS from console.
- iOS: Fixed skewed image on secondary display (AirPlay).
- iOS: Fixed splash screen check on Xcode 5 when iPhone 6 splashes are present.
- iOS: Fixed Xcode 6.2 support.
- iOS: Increased stack allocator size on iOS.
- iOS: On iOS set no backup flag on __info cache file.
- iOS: Register SubstanceArchive when procedural materials are used.
- iOS/IL2CPP: Correctly emit method, property, field, and event counts for array types
- iOS/IL2CPP: Dramatically reduce the amount of warnings the generated code produces.
- iOS/IL2CPP: Fixed Armv7 linker errors ("b/bl/blx ARM branch out of range").
- iOS/IL2CPP: Fixed crash in reflecting over custom attributes.
- iOS/IL2CPP: Gamecenter integration works now.
- iOS/IL2CPP: Fixed incorrect code being generated for open generic types deriving from UnityEngine.Object.
- iOS/IL2CPP: Fixed memory leak in reflection code.
- iOS/IL2CPP: Fixed race condition in internal reflection implementation.
- iOS/IL2CPP: Ignore managed types not in the UnityEngine namespace when the types which should not be stripped are discovered.
- iOS/IL2CPP: BinaryFormatter serializer works now.
- iOS/IL2CPP: Generated C++ code is a lot easier to read now.
- iOS/IL2CPP: Treat arrays created with a lower bound of zero (via Array.CreateInstance) as SZARRAY types.
- Linux: Make device unique identifier more consistent.
- Mac OS X Standalone: Release player builds are now stripped off symbols again.
- MonoDevelop: Generated solutions include 'indent size' directive to match tab size now.
- Oculus Plugin: Fixed GearVR Unity Pro + Android Basic license issue.
- Physics 2D: HingeJoint2D gizmo is displayed correctly with respect to any reference angle.
- Physics 2D: Changes to the EdgeCollider2D points are now saved when used in prefabs.
- Physics 2D: Setting the Rigidbody2D position or rotation directly now wakes the body.
- Physics 2D: SliderJoint2D & HingeJoint2D reference angles are now reset when connecting to another Rigidbody2D.
- Physics 2D: Static 2D collider gizmos now render at the correct Transform Z position.
- Scripting: Fixed a harmless but annoying error message when using StopCoroutine(Coroutine).
- Scripting: Fixed issue with Console.InputEncoding and Console.OutputEncoding throwing an exception the first they were set on the .NET 2.0 Subset profile.
- Shaders: Fixed editor memory leak in shader error reporting.
- UI: Changing any Transition settings on a Selectable Component will now immediately reflect on the Scene and Game View.
- UI: Don't apply AspectRatioFitter logic when component is inactive.
- UI: Fixed a bug which caused wrong Y cursor alignment in TextField with custom fonts.
- UI: Fixed division by zero if ScrollRect content size has zero width or height.
- UI: Fixed issue where adding and removing a parent canvas wouldn't update parent canvas relationship of child objects.
- UI: Fixed issue where keyboard would not display on mobile devices.
- UI: Fixed regression with events being sent to wrong object in some cases when using multiple GraphicRaycasters.
- UI: Make sure we copy the pointer enter for the right and middle mouse pointers when we fetch them.
- UI: Moved EventSystemEditor from UnityEditor.UI namespace to UnityEditor.EventSystems namespace.
- UI: Prevent the '/n' from appearing when reactivating an input-field in the disable call.
- UI: Sliced image with transparent borders (padding) works correctly with non-default pixelsPerUnit.
- UI: When activating the standaloneInputModule do not set selected element to NULL.
- Version Control: Fixed drag-dropping assets between change lists only moving a single asset.
- Windows Phone 8: It's now possible to specify plugins that should not be processed just like in Windows Store Apps.
- Windows Phone 8.1/Store Apps: Fixed an issue which caused casting arrays in UnityScript sometimes throw MissingMethodException deep inside Boo.Lang.dll.
- Windows Phone/Store Apps: Fixed a rare crash that was caused by skinned meshes.
- WWW: Fixed bug in WWW Caching when WWW.LoadFromCacheOrDownload is canceled using WWW.Dispose.