[Unity] Rendering 相關的 Event Functions 筆記
很多渲染套件或特效都會用上 OnPostRender 或 OnRenderImage 等,是一般 GameObject 上撰寫遊戲邏輯時較少用到的事件。
最近在大量處理著與畫面相關的項目,感到對這些事件不夠熟悉,於是重新讀過一些資料,留些筆記備忘。
筆記
| (依照呼叫順序排列) | 條件 | 主要用法 |
|---|---|---|
| OnWillRenderObject | is visible | 每個攝影機會對每個物件分別觸發一次 |
| OnPreCull | camera only | 在渲染前修改 camera 的參數 |
| OnBecameVisible | 如字面 | |
| OnBecameInvisible | 如字面 | |
| OnPreRender | camera only | |
| OnRenderObject | 在物件上的腳本呼叫 Graphic.Draw | |
| OnPostRender | camera only | |
| OnRenderImage | 後制特效常用 |
物件被遮擋時,renderer.isVisible 一般會為 false。但若只是要檢查是否在 camera frustum 中,可以:
1 | public static bool IsVisibleFrom (this Renderer renderer, Camera camera) { |