SlideShare a Scribd company logo
1 of 24
UNITY5
Manual Introduction
官方說明心得整理
Working in Unity
王聖川
Basics : Interface
Asset
• 資源檔案.
– 資源檔案預設存放在專案目錄底下的 Asset 目錄.
– Asset檔案有對應的unique ID and meta file.
– 專案先匯入資源檔案, 再透過資源產生對應的遊戲物件
(game object)實體.
Assets
Asset
• Asset有各自的import setting.
• Asset可以包裝成Asset package ; 也可匯入準備好的
Asset package.
Asset Store
Windows
• Game view - 即時模擬遊戲畫面.
• Inspector window - 遊戲所有物件之屬性檢驗視窗
(inspector), 可檢視與修改編輯.
Windows
• Scene view – 場景(關卡)編輯視窗.
– Scene search場景搜尋功能.
– Game view預設模擬當前的場景內容.
Create Gameplay
• Game object – fundamental for Unity.
– Unity內部系統運行的一切基本物件單位結構.
– 先有scene才有game object.
– 可由components組成各種內容.
– 必備Transform component.
– 可指定Tag與Layer.
Create Gameplay
• Components - for game object.
– 可對game object新增component, 與編輯屬性內容.
– 可透過script程式控制, 配置component.
– 內容行為組成, 由各種不同定義好的模組組合成一個game
object, 實現不同行為之遊戲實體.
Create Gameplay
• Prefab – instantiate game objects. 可視為遊戲
物件設計樣板, 方便透過script做到物件實體化.
– 預先定義來代表特定遊戲實體原型之抽像概念類別.
{ game object  指定components}
– 在Unity設計好一個prefab後, 便可以透過prefab快速
大量產生同類的遊戲實體.
Create Gameplay
• Game input – virtual axes. 遊戲輸入控制.
– 定義虛擬軸向, 實作各類控制.
– 支援VR控制實作 (Oculus Rift ; VIVE).
– Mobile input輸入控制設定.
• Touch / multi-touch / accelerometer.
– Mobile keyboard控制.
Create Gameplay
• Transforms. 物體座標定義與轉換控制.
– Non-uniform scaling: 造成部份運算不精確, 如collision,
rotation update等.
– Runtime中不建議調整物體scaling, 考量正確性與效能, 建
議必要的scaling調整在asset import setting階段進行, 並
採用uniform scaling.
Create Gameplay
• Random in script. 在Unity中實作隨機表現 (可搭配
curve變化).
• Rotation and Orientation.
– Inspector中旋轉角度會顯示euler angle以方便閱讀.
– 但遊戲實際運行中內部旋轉運算皆採用quaternion表達與
計算.
– Script coding中存取一個rotation也必須將它視為
quaternion calculation.
Create Gameplay
• Publish builds.
– Development build for debugger / profiler.
– Build階段排除 Tag: EditorOnly 之物件.
Editor Feature
• 各系統管理頁面.
– Audio manager(聲音); Input manager(輸入裝置);
Network manager(網路); Physics manager(物理引擎);
Time manager(時間).
– 設定面: 編輯器使用設定; Player setting(遊戲產品設定);
Quality setting(畫面品質); Graphics setting(繪圖方法相
關設定); Script execution(腳本執行).
– Tags and layers. Gameobject 標籤(tag)與圖層(layer)設定.
Editor Feature
• Settings managers.
– Player settings. 最終遊戲產品端相關, 建置遊戲release版
本相關的設定.
– Splash screen. 遊戲啟動畫面流程設定, 包含遊戲初次啟動
與下載期間的開頭介紹切頁畫面設定.
• RenderDoc整合(graphics debugger).
Editor Feature
• Special folders:
– Assets: 專案所有資源檔案.
– Editor: editor scripts檔案專用路徑, 遊戲端程式內容不會包
含有此部份 scripts (EditorGUIUtility.Load).
– Editor Default Resources: editor scripts 對應之資源路徑.
Build階段會排除.
– Gizmos: 編輯器小元件提示icon.
– Plugins: 外掛函式庫專用路徑.
– Resources: script(Resources.Load) 讀取之資源檔案.
– Standard Assets: standard asset package匯入時
的資源檔案的存放路徑.
– Streaming Assets: 遊戲啟動後資源會被複製到裝
置系統(iOS/Android/…)中的資源存取對應路徑.
Advanced Dev
• Profiler windows.
– CPU
– Memory
– Physics
– Audio
– Rendering / GPU
Advanced Dev
• Plugins.
– Managed plugin. (managed .NET)
– Native plugin. (C / C++ / obj-c)
– Low-level native plugin. (ex: accessing rendering)
Advanced Dev
• Asset bundle.
– 遠端下載資源功能.
– Build & upload.
– Downloading & load.
– Compression. 檔案壓縮格式. 壓縮格式: LZ4 (效能最佳化) ;
LZMA ( 最佳壓縮比).
– During build: 可排除(shaders/engine scripts).
• Load assets from bundles.
– Binary data in bundle.
– Protection. 檔案保護方案 (encrypt | decrypt).
– Include precompiled script assemblies.
Advanced Dev
• Reduce built size
• Social APIs.
• JSON.
• ScriptableObject – shared reference in script.
Advanced in Editor
• Command line.
• 場景(scene): 文字檔格式.
• AssetDatabase with scripting.
• Text scene file. (better for version control)
• Cache server – for assets.
– 專案中的所有資源可透過cache server集中管理, 減少
專案匯入時間.
Advanced in Editor
• Extended editor window.
– Scripting : EditorWindow, CustomPropertyDrawer,
CustomEditor.
– 開發者自行開發的客製化用途工具視窗.

More Related Content

Similar to 2017 unity5 manual_intro

使用 Visual Studio Code 建構 JavaScript 應用程式
使用 Visual Studio Code 建構 JavaScript 應用程式使用 Visual Studio Code 建構 JavaScript 應用程式
使用 Visual Studio Code 建構 JavaScript 應用程式Will Huang
 
Game development and unity practice
Game development and unity practiceGame development and unity practice
Game development and unity practicegltop
 
Java Build Tool course in 2011
Java Build Tool course in 2011Java Build Tool course in 2011
Java Build Tool course in 2011Ching Yi Chan
 
component based html5 game engine
component based html5 game enginecomponent based html5 game engine
component based html5 game enginehbbalfred
 
介紹前端 Web 技術在跨平台開發上的應用
介紹前端 Web 技術在跨平台開發上的應用介紹前端 Web 技術在跨平台開發上的應用
介紹前端 Web 技術在跨平台開發上的應用Jerry Lin
 
Android resource-management
Android resource-managementAndroid resource-management
Android resource-managementLucas Xu
 
Linux binary Exploitation - Basic knowledge
Linux binary Exploitation - Basic knowledgeLinux binary Exploitation - Basic knowledge
Linux binary Exploitation - Basic knowledgeAngel Boy
 
使用 TypeScript 駕馭 Web 世界的脫韁野馬:以 Angular 2 開發框架為例
使用 TypeScript 駕馭 Web 世界的脫韁野馬:以 Angular 2 開發框架為例使用 TypeScript 駕馭 Web 世界的脫韁野馬:以 Angular 2 開發框架為例
使用 TypeScript 駕馭 Web 世界的脫韁野馬:以 Angular 2 開發框架為例Will Huang
 
Html5 canvas 游戏开发实例详解
Html5 canvas 游戏开发实例详解Html5 canvas 游戏开发实例详解
Html5 canvas 游戏开发实例详解believeStrong
 
20120516 axure rp prototype design outline
20120516 axure rp prototype design outline20120516 axure rp prototype design outline
20120516 axure rp prototype design outlineturtleknight
 
2012 Autodesk Media &Entertainment Day
2012 Autodesk Media &Entertainment Day2012 Autodesk Media &Entertainment Day
2012 Autodesk Media &Entertainment DayFAUST CHOU
 
documen.tips_cocos2d-x
documen.tips_cocos2d-xdocumen.tips_cocos2d-x
documen.tips_cocos2d-xSangDang40
 
Android应用开发 - 沈大海
Android应用开发 - 沈大海Android应用开发 - 沈大海
Android应用开发 - 沈大海Shaoning Pan
 
The Journey of Source Generator
The Journey of Source GeneratorThe Journey of Source Generator
The Journey of Source GeneratorRoberson Liou
 
Kind editor设计思路
Kind editor设计思路Kind editor设计思路
Kind editor设计思路taobao.com
 
Hello Html5 Games
Hello Html5 GamesHello Html5 Games
Hello Html5 Gamestbmallf2e
 

Similar to 2017 unity5 manual_intro (20)

Unity遊戲程式設計- Unity基礎指引
Unity遊戲程式設計- Unity基礎指引Unity遊戲程式設計- Unity基礎指引
Unity遊戲程式設計- Unity基礎指引
 
使用 Visual Studio Code 建構 JavaScript 應用程式
使用 Visual Studio Code 建構 JavaScript 應用程式使用 Visual Studio Code 建構 JavaScript 應用程式
使用 Visual Studio Code 建構 JavaScript 應用程式
 
Kinect+sdk
Kinect+sdkKinect+sdk
Kinect+sdk
 
Game development and unity practice
Game development and unity practiceGame development and unity practice
Game development and unity practice
 
Java Build Tool course in 2011
Java Build Tool course in 2011Java Build Tool course in 2011
Java Build Tool course in 2011
 
component based html5 game engine
component based html5 game enginecomponent based html5 game engine
component based html5 game engine
 
Berserk js
Berserk jsBerserk js
Berserk js
 
介紹前端 Web 技術在跨平台開發上的應用
介紹前端 Web 技術在跨平台開發上的應用介紹前端 Web 技術在跨平台開發上的應用
介紹前端 Web 技術在跨平台開發上的應用
 
Android resource-management
Android resource-managementAndroid resource-management
Android resource-management
 
Linux binary Exploitation - Basic knowledge
Linux binary Exploitation - Basic knowledgeLinux binary Exploitation - Basic knowledge
Linux binary Exploitation - Basic knowledge
 
使用 TypeScript 駕馭 Web 世界的脫韁野馬:以 Angular 2 開發框架為例
使用 TypeScript 駕馭 Web 世界的脫韁野馬:以 Angular 2 開發框架為例使用 TypeScript 駕馭 Web 世界的脫韁野馬:以 Angular 2 開發框架為例
使用 TypeScript 駕馭 Web 世界的脫韁野馬:以 Angular 2 開發框架為例
 
專題-2017Linux Driver 實現
專題-2017Linux Driver 實現專題-2017Linux Driver 實現
專題-2017Linux Driver 實現
 
Html5 canvas 游戏开发实例详解
Html5 canvas 游戏开发实例详解Html5 canvas 游戏开发实例详解
Html5 canvas 游戏开发实例详解
 
20120516 axure rp prototype design outline
20120516 axure rp prototype design outline20120516 axure rp prototype design outline
20120516 axure rp prototype design outline
 
2012 Autodesk Media &Entertainment Day
2012 Autodesk Media &Entertainment Day2012 Autodesk Media &Entertainment Day
2012 Autodesk Media &Entertainment Day
 
documen.tips_cocos2d-x
documen.tips_cocos2d-xdocumen.tips_cocos2d-x
documen.tips_cocos2d-x
 
Android应用开发 - 沈大海
Android应用开发 - 沈大海Android应用开发 - 沈大海
Android应用开发 - 沈大海
 
The Journey of Source Generator
The Journey of Source GeneratorThe Journey of Source Generator
The Journey of Source Generator
 
Kind editor设计思路
Kind editor设计思路Kind editor设计思路
Kind editor设计思路
 
Hello Html5 Games
Hello Html5 GamesHello Html5 Games
Hello Html5 Games
 

More from River Wang

FairyGUISDK_UIPackage_Analysis.pptx
FairyGUISDK_UIPackage_Analysis.pptxFairyGUISDK_UIPackage_Analysis.pptx
FairyGUISDK_UIPackage_Analysis.pptxRiver Wang
 
20220529_UniTask_Intro.pptx
20220529_UniTask_Intro.pptx20220529_UniTask_Intro.pptx
20220529_UniTask_Intro.pptxRiver Wang
 
zenject extenject-intro
zenject extenject-introzenject extenject-intro
zenject extenject-introRiver Wang
 
Unity optimize mobile game performance
Unity optimize mobile game performanceUnity optimize mobile game performance
Unity optimize mobile game performanceRiver Wang
 
DoozyUI_基礎介紹教學
DoozyUI_基礎介紹教學DoozyUI_基礎介紹教學
DoozyUI_基礎介紹教學River Wang
 
Gamedev: Multi-threaded animate model
Gamedev: Multi-threaded animate modelGamedev: Multi-threaded animate model
Gamedev: Multi-threaded animate modelRiver Wang
 
桌面應用工具軟體開發方案評估 (Based on Unity engine)
桌面應用工具軟體開發方案評估 (Based on Unity engine)桌面應用工具軟體開發方案評估 (Based on Unity engine)
桌面應用工具軟體開發方案評估 (Based on Unity engine)River Wang
 
OGRE v2.1 manual - Technical Overview
OGRE v2.1 manual - Technical OverviewOGRE v2.1 manual - Technical Overview
OGRE v2.1 manual - Technical OverviewRiver Wang
 
OGRE v2.1 manual - Changes: Objects, Scene & Nodes
OGRE v2.1 manual - Changes: Objects, Scene & NodesOGRE v2.1 manual - Changes: Objects, Scene & Nodes
OGRE v2.1 manual - Changes: Objects, Scene & NodesRiver Wang
 
OGRE v1.10 manual - The Core Objects
OGRE v1.10 manual - The Core ObjectsOGRE v1.10 manual - The Core Objects
OGRE v1.10 manual - The Core ObjectsRiver Wang
 
OpenCascade Technology Overview: Modeling Data
OpenCascade Technology Overview: Modeling DataOpenCascade Technology Overview: Modeling Data
OpenCascade Technology Overview: Modeling DataRiver Wang
 
OpenCascade Technology Overview: OCAF
OpenCascade Technology Overview: OCAFOpenCascade Technology Overview: OCAF
OpenCascade Technology Overview: OCAFRiver Wang
 
OpenCascade Technology Overview: Visualization
OpenCascade Technology Overview: VisualizationOpenCascade Technology Overview: Visualization
OpenCascade Technology Overview: VisualizationRiver Wang
 
OpenCascade Technology Overview: Foundation Classes
OpenCascade Technology Overview: Foundation ClassesOpenCascade Technology Overview: Foundation Classes
OpenCascade Technology Overview: Foundation ClassesRiver Wang
 
2017 graphics-01: 電腦圖學繪圖流程
2017 graphics-01: 電腦圖學繪圖流程2017 graphics-01: 電腦圖學繪圖流程
2017 graphics-01: 電腦圖學繪圖流程River Wang
 

More from River Wang (15)

FairyGUISDK_UIPackage_Analysis.pptx
FairyGUISDK_UIPackage_Analysis.pptxFairyGUISDK_UIPackage_Analysis.pptx
FairyGUISDK_UIPackage_Analysis.pptx
 
20220529_UniTask_Intro.pptx
20220529_UniTask_Intro.pptx20220529_UniTask_Intro.pptx
20220529_UniTask_Intro.pptx
 
zenject extenject-intro
zenject extenject-introzenject extenject-intro
zenject extenject-intro
 
Unity optimize mobile game performance
Unity optimize mobile game performanceUnity optimize mobile game performance
Unity optimize mobile game performance
 
DoozyUI_基礎介紹教學
DoozyUI_基礎介紹教學DoozyUI_基礎介紹教學
DoozyUI_基礎介紹教學
 
Gamedev: Multi-threaded animate model
Gamedev: Multi-threaded animate modelGamedev: Multi-threaded animate model
Gamedev: Multi-threaded animate model
 
桌面應用工具軟體開發方案評估 (Based on Unity engine)
桌面應用工具軟體開發方案評估 (Based on Unity engine)桌面應用工具軟體開發方案評估 (Based on Unity engine)
桌面應用工具軟體開發方案評估 (Based on Unity engine)
 
OGRE v2.1 manual - Technical Overview
OGRE v2.1 manual - Technical OverviewOGRE v2.1 manual - Technical Overview
OGRE v2.1 manual - Technical Overview
 
OGRE v2.1 manual - Changes: Objects, Scene & Nodes
OGRE v2.1 manual - Changes: Objects, Scene & NodesOGRE v2.1 manual - Changes: Objects, Scene & Nodes
OGRE v2.1 manual - Changes: Objects, Scene & Nodes
 
OGRE v1.10 manual - The Core Objects
OGRE v1.10 manual - The Core ObjectsOGRE v1.10 manual - The Core Objects
OGRE v1.10 manual - The Core Objects
 
OpenCascade Technology Overview: Modeling Data
OpenCascade Technology Overview: Modeling DataOpenCascade Technology Overview: Modeling Data
OpenCascade Technology Overview: Modeling Data
 
OpenCascade Technology Overview: OCAF
OpenCascade Technology Overview: OCAFOpenCascade Technology Overview: OCAF
OpenCascade Technology Overview: OCAF
 
OpenCascade Technology Overview: Visualization
OpenCascade Technology Overview: VisualizationOpenCascade Technology Overview: Visualization
OpenCascade Technology Overview: Visualization
 
OpenCascade Technology Overview: Foundation Classes
OpenCascade Technology Overview: Foundation ClassesOpenCascade Technology Overview: Foundation Classes
OpenCascade Technology Overview: Foundation Classes
 
2017 graphics-01: 電腦圖學繪圖流程
2017 graphics-01: 電腦圖學繪圖流程2017 graphics-01: 電腦圖學繪圖流程
2017 graphics-01: 電腦圖學繪圖流程
 

2017 unity5 manual_intro

  • 3. Asset • 資源檔案. – 資源檔案預設存放在專案目錄底下的 Asset 目錄. – Asset檔案有對應的unique ID and meta file. – 專案先匯入資源檔案, 再透過資源產生對應的遊戲物件 (game object)實體.
  • 5. Asset • Asset有各自的import setting. • Asset可以包裝成Asset package ; 也可匯入準備好的 Asset package.
  • 7. Windows • Game view - 即時模擬遊戲畫面. • Inspector window - 遊戲所有物件之屬性檢驗視窗 (inspector), 可檢視與修改編輯.
  • 8. Windows • Scene view – 場景(關卡)編輯視窗. – Scene search場景搜尋功能. – Game view預設模擬當前的場景內容.
  • 9. Create Gameplay • Game object – fundamental for Unity. – Unity內部系統運行的一切基本物件單位結構. – 先有scene才有game object. – 可由components組成各種內容. – 必備Transform component. – 可指定Tag與Layer.
  • 10. Create Gameplay • Components - for game object. – 可對game object新增component, 與編輯屬性內容. – 可透過script程式控制, 配置component. – 內容行為組成, 由各種不同定義好的模組組合成一個game object, 實現不同行為之遊戲實體.
  • 11. Create Gameplay • Prefab – instantiate game objects. 可視為遊戲 物件設計樣板, 方便透過script做到物件實體化. – 預先定義來代表特定遊戲實體原型之抽像概念類別. { game object  指定components} – 在Unity設計好一個prefab後, 便可以透過prefab快速 大量產生同類的遊戲實體.
  • 12. Create Gameplay • Game input – virtual axes. 遊戲輸入控制. – 定義虛擬軸向, 實作各類控制. – 支援VR控制實作 (Oculus Rift ; VIVE). – Mobile input輸入控制設定. • Touch / multi-touch / accelerometer. – Mobile keyboard控制.
  • 13. Create Gameplay • Transforms. 物體座標定義與轉換控制. – Non-uniform scaling: 造成部份運算不精確, 如collision, rotation update等. – Runtime中不建議調整物體scaling, 考量正確性與效能, 建 議必要的scaling調整在asset import setting階段進行, 並 採用uniform scaling.
  • 14. Create Gameplay • Random in script. 在Unity中實作隨機表現 (可搭配 curve變化). • Rotation and Orientation. – Inspector中旋轉角度會顯示euler angle以方便閱讀. – 但遊戲實際運行中內部旋轉運算皆採用quaternion表達與 計算. – Script coding中存取一個rotation也必須將它視為 quaternion calculation.
  • 15. Create Gameplay • Publish builds. – Development build for debugger / profiler. – Build階段排除 Tag: EditorOnly 之物件.
  • 16. Editor Feature • 各系統管理頁面. – Audio manager(聲音); Input manager(輸入裝置); Network manager(網路); Physics manager(物理引擎); Time manager(時間). – 設定面: 編輯器使用設定; Player setting(遊戲產品設定); Quality setting(畫面品質); Graphics setting(繪圖方法相 關設定); Script execution(腳本執行). – Tags and layers. Gameobject 標籤(tag)與圖層(layer)設定.
  • 17. Editor Feature • Settings managers. – Player settings. 最終遊戲產品端相關, 建置遊戲release版 本相關的設定. – Splash screen. 遊戲啟動畫面流程設定, 包含遊戲初次啟動 與下載期間的開頭介紹切頁畫面設定. • RenderDoc整合(graphics debugger).
  • 18. Editor Feature • Special folders: – Assets: 專案所有資源檔案. – Editor: editor scripts檔案專用路徑, 遊戲端程式內容不會包 含有此部份 scripts (EditorGUIUtility.Load). – Editor Default Resources: editor scripts 對應之資源路徑. Build階段會排除. – Gizmos: 編輯器小元件提示icon. – Plugins: 外掛函式庫專用路徑. – Resources: script(Resources.Load) 讀取之資源檔案. – Standard Assets: standard asset package匯入時 的資源檔案的存放路徑. – Streaming Assets: 遊戲啟動後資源會被複製到裝 置系統(iOS/Android/…)中的資源存取對應路徑.
  • 19. Advanced Dev • Profiler windows. – CPU – Memory – Physics – Audio – Rendering / GPU
  • 20. Advanced Dev • Plugins. – Managed plugin. (managed .NET) – Native plugin. (C / C++ / obj-c) – Low-level native plugin. (ex: accessing rendering)
  • 21. Advanced Dev • Asset bundle. – 遠端下載資源功能. – Build & upload. – Downloading & load. – Compression. 檔案壓縮格式. 壓縮格式: LZ4 (效能最佳化) ; LZMA ( 最佳壓縮比). – During build: 可排除(shaders/engine scripts). • Load assets from bundles. – Binary data in bundle. – Protection. 檔案保護方案 (encrypt | decrypt). – Include precompiled script assemblies.
  • 22. Advanced Dev • Reduce built size • Social APIs. • JSON. • ScriptableObject – shared reference in script.
  • 23. Advanced in Editor • Command line. • 場景(scene): 文字檔格式. • AssetDatabase with scripting. • Text scene file. (better for version control) • Cache server – for assets. – 專案中的所有資源可透過cache server集中管理, 減少 專案匯入時間.
  • 24. Advanced in Editor • Extended editor window. – Scripting : EditorWindow, CustomPropertyDrawer, CustomEditor. – 開發者自行開發的客製化用途工具視窗.