[Live] MonoBehaviour 機制說明與測試 – Testing MonoBehaviour Message

前幾天有場直播跟大家分享我對 Unity MonoBehaviour 的一些心得,花了一個小時左右跟觀眾討論一些在 Unity 開發時容易遇到的問題,以及一些零碎的小細節。

之後的一個多小時,則是閱讀 Unity 官方文件以及進行測試,目的是希望了解 Awake、Start、Update、OnDestroy、OnEnable 等 MonoBehaviour 事件(Message enent) 的執行細節。

直播紀錄與實驗紀錄如下:

2017/2/21 直播紀錄 (Unity 開發 | Monobehaviour 機制說明與測試)

Read More »

在 Unity 使用 Git Submodule/Subtree 的困境及應對 – trouble when using Submodule or Subtree in Unity

同為 Unity 專案之間,一定有許多方便且時常重複使用的程式碼,是加快開發的重要工具。如果能夠同時在所有專案都有一份這樣的程式碼,又有手段可以同時對每一分程式碼進行更新或修改就再好不過了,於是我們通常會想到利用 Submodule / Subtree 來管理專案。

不過因為 Unity 專案的特性,事情可能沒有那麼簡單容易。

在使用 Git Submodule / Subtree 來管理你的 Unity 專案之前,你應該先釐清 Submodule / Subtree 的特性其實跟 Unity 專案結構是有些衝突的。

subproject.jpg

Read More »

筆記 – Unity 中常用的 Attribute – Some Common and Useful Unity Attribute

Attribute 是 C# 的一個功能,更是在 Unity 中很方便的一個部分,可以用於強化 C# script 腳本與 Unity Editor 場景編輯器的互動。

善用 Attribute 可以讓 Editor 更方便的改動 Component 參數 (更加客製化的改動介面)、避開錯誤的參數設定 (超出數值範圍、不該改動的數值等),或者添加全新的功能在 Editor 中等。

本文紀錄許多我常用的、方便的 Attribute,皆是 Unity 內建,直接可以使用。

Read More »

為 Unity 準備一個泛用的狀態模式 – prepare a State pattern for Unity

State pattern 是我使用次數最多的設計模式,在 Unity 遊戲的開發中被我用於 程式流程的控制、規則的彈性編輯、簡易 AI 的撰寫、腳色控制器 的設計等,是應用相當廣泛的模式。

因為次數太多了,索性事先設計好基本的類別,當需要的時候便可以隨時隨地使用 State pattern,本文便是藉機介紹了 State pattern 及我的通用作法。

Read More »

應用 Singleton pattern 及 Unity Component 做系統拆分與管理 – Dividing your game system in unity.

在使用 Unity 開發遊戲的時候,為了實現各種功能,往往會不斷衍伸出一個又一個的系統,分別執掌不同的任務,可能是為了管理 UI 介面,也可能是為了建立連線,又或者是為了管理存檔。一個個的系統往往又為了方便而採用 Singleton pattern,或者互相注入,最後的結果就是系統之間的關係複雜,程式碼不易維護及重複使用。

於是乎我就一直思考著如何將一個巨大的系統架構,拆分成一個個獨立且靈活的小系統,就像電腦與周邊設備可以用 USB 輕易連接與斷開,我也希望我所開發的一個個系統,可以自由自在地安置在不同的開發專案之中。

如今這是我的初步成果,一套用於拆分以及管理各個子系統的架構:

gamesystemmanager

Read More »