[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) { |