[Unity] 如何重新命名 Serialized Fields,不遺失原始資料?

[Unity] 如何重新命名 Serialized Fields,不遺失原始資料?

Overview

命名曾經被程式設計師們列為,寫程式時最困難的事
當有用到的 Serialized Fields 需要重新命名時
GameObject 或 ScriptableObject 中的資料會遺失

範例情境
1. 原始設計:private member with public getter
2. 需求變更:private member with public getter & setter
3. 重構問題:將 private member 改為 public member,並移除多餘的 public getter & setter

解決方案
1. 直接使用文字編輯器打開 Prefab 或 ScriptableObject
2. 使用 [FormerlySerializedAs] attribute

熱血人次: 270




[Unity] 如何測試函式執行時間?

[Unity] 如何測試函式執行時間?

使用 Unity Time 下的各種屬性,包含 time、deltaTime、fixedDeltaTime
只有在不同 Frame 才會有值
想要正確測試某個函式的時間,可以採用以下三種方法
值得一提的是,Stopwatch 似乎就是為了做這件事情而存在的

Overview

1. DateTime.Now
2. Environment.TickCount
3. System.Diagnostics.Stopwatch

熱血人次: 989