2018年8月13日 星期一

2017.08 Unity 教學講義

曾經規劃了某個 Unity 教學課程,雖然後來課程沒有進行,但也在 2017 年 8 月期間準備了一些講義。這份講義還不到當初課程規劃的一半,但也有兩百多頁的內容,大部分取自 Unity 官網以及官方使用手冊裡面的資料,最大的差別在於官方資料是英文的,而這份講義是中文的。 ^_^
提供給有需要的朋友們參考。


依照講義內容的圖示可知,此份文件適用於 Unity 2017.1.0f3。
文件大小為 19.8MB,可在 這裡 取得。

以下是講義的目錄:
  1. 認識 Unity 遊戲開發引擎與軟體安裝、授權
    • Unity 遊戲開發引擎的特點
    • 下載 Unity 安裝程式
    • 安裝 Unity 開發引擎
    • 建立 Unity ID
    • 啟用授權
  2. 開發與學習資源
    • 教程 Tutorials
    • 文件資料 Documentation
    • 直播教學 Live training
    • 認證開發者課件 Certified Developer Courseware
    • 資源商店 Asset Store
  3. 2D 與 3D 遊戲專案概念
    • 全 3D
    • 正交 3D
    • 全 2D
    • 具備 3D 圖像的 2D 遊戲
    • 具備透視攝影機的 2D 遊戲玩法和圖像
    • 其它類型
    • 2D 和 3D 模式設定
  4. 建立遊戲專案與專案結構介紹
    • 建立新專案
    • 專案結構
  5. 工具介面的使用
  6. 遊戲資源工作流程
    • 原型物件
    • 匯入資源
    • 常見的資源類型
    • 匯入設置
    • 從 Asset Store 匯入
  7. 製作與匯入資源包
    • 匯入資源包
    • 標準資源包
    • 自定資源包
    • 匯出資源包
    • 匯出更新的資源包
  8. 標準資源包
    • 2D
    • Cameras
    • Characters
    • Environment
    • ParticleSystems
    • Prototyping
    • Utility
  9. 主要工作視窗
    • Project 視窗
    • Scene 視窗
    • Game 視窗
    • Hierarchy 視窗
    • Inspector 視窗
  10. 遊戲場景
    • 儲存場景
    • 開啟場景
  11. 多場景編輯
    • 編輯器操作
    • 播放模式
    • 場景的特定設置
    • 提示和技巧
  12. 遊戲物件與組件概念
    • 遊戲物件 GameObject
    • 組件 Component 介紹
  13. 使用組件 Component
    • 添加 Component
    • 編輯 Component
    • Component 環境選單指令
    • 測試屬性
  14. 轉換組件 Transform 簡介
  15. 編寫腳本建立組件
  16. 解除遊戲物件
  17. 遊戲物件標籤
    • 建立新 Tag
    • 套用 Tag
    • Tags and Layers
  18. 靜態遊戲物件
  19. 預製元件 Prefab
    • 使用 Prefab
    • 從實例編輯 Prefab
  20. 各種儲存工作
    • 儲存目前場景的更改
    • 儲存專案範圍的變化
    • 立即寫入磁碟的變更(不需要儲存)
  21. 執行期使用 Prefab(一)
    • 常見情況
    • 建立牆壁
  22. 在執行期使用 Prefab(二)
    • 實例化火箭和爆炸
    • 使用破碎物件替代原始物件
    • 使用特定模式放置一堆物件
  23. 傳統遊戲輸入控制
    • Virtual Axes
    • Key Code
  24. 行動裝置觸控輸入
    • 多點觸碰螢幕
    • 滑鼠模擬
    • 加速度傳感器
    • 低通濾波器
  25. 轉換組件 Transform(一)
    • 編輯 Transform
    • 父子化
  26. 轉換組件 Transform(二)
    • 非均勻縮放的局限性
    • 比例的重要性
    • 使用 Transform 的幾個提示
  27. 添加隨機性遊戲元素(一)
    • 從陣列中選擇隨機項目
    • 選擇不同機率的項目
    • 加權連續隨機值
    • 洗牌
  28. 添加隨機性遊戲元素(二)
    • 選出不重複的項目
    • 空間裡的隨機點
  29. Unity 的旋轉與方向(一)
    • 歐拉角 Euler Angle
    • 四元數 Quaternion
    • 對編寫腳本的影響
  30. Unity 的旋轉與方向(二)
    • 使用 Quaternion 建立旋轉
    • 使用 Quaternion 操作旋轉
    • 對動畫的影響
  31. 遊戲中的照明
    • 渲染路徑
  32. 跨平台遊戲構建與發佈要項
    • 建立單機播放器
    • 構建過程
    • 預載
  33. Unity 程式設計介紹
    • 創建腳本
    • 腳本檔案剖析
    • 控制 GameObject
  34. Unity 程式構造與編輯器的關係
  35. 程式組件對遊戲物件的控制
    • 訪問組件
    • 訪問其它物件
  36. Unity 事件功能與執行順序
    • 定期更新事件
    • 初始化事件
    • GUI 事件
    • 物理事件
  37. 時間與幀率管理
    • 固定時間步驟 Fixed Timestep
    • 最大允許時間步驟 Maximum Allowed Timestep
    • 時間比例 Time Scale
    • 奪取幀率 Capture Framerate
  38. 協程 Coroutine(一)
  39. 協程 Coroutine(二)
  40. 命名空間的使用
  41. 屬性的使用
  42. 了解自動記憶體管理
    • 實值與參考類型 Value and Reference Types
    • 分配與垃圾回收 Allocation and Garbage Collection
    • 最佳化 Optimization
    • 請求回收
    • 可重複使用的物件池
  43. 平台相依編譯與定義
    • 平台定義指令
    • 測試預定義編碼
    • 平台自定義
  44. 特殊資料夾與編譯順序
  45. 腳本序列化
    • 了解熱重新載入
    • 序列化規則
    • 序列化器何時可能出現意外?
    • 改善序列化的使用
    • 使編輯器程式碼可熱重載
    • 自定義序列化
  46. UnityEvent 欄位的應用
    • 使用 UnityEvent
    • 泛用 UnityEvent
    • UnityEvent 功能
    • UnityEventBase 功能
  47. Null 參考例外
    • Null 檢查
    • Try/Catch 區塊
    • 總結
  48. 了解向量計算(一)
    • 加法
    • 減法
    • 純量乘法和除法
    • 點積
    • 叉積
    • 從一個物件到另一個物件的方向和距離
雖然是一份未完成的文件,未來應該也不會補足內容。