You are currently viewing Unity Rendering Note1- Basic Rendering Process

Unity Rendering Note1- Basic Rendering Process

  • Post category:筆記
  • Reading time:6 mins read
  • Post author:

最近在學習Unity的渲染,想要更了解整個畫面渲染的流程與機制,並整理成了筆記。
主要是關於Frame Debugger這個工具的運用及Unity的畫面渲染的步驟

Frame Debugger

Frame Debugger能一步一步呈現渲染的過程,是用來檢查渲染過程的工具,當畫面結果不如預期時,用Frame Debugger來檢查非常方便。

路徑在Window->Analysis下。

開啟視窗後,要點擊Enable才能作用。

接下來,在Game視窗中就能看到變化了。拖動FrameDebugger視窗上方的拉桿,就能看到渲染的過程了(步驟數量一場景物件&設定而異)。

第一步:清空Buffer

GPU中會有兩個跟顯示視窗尺寸相同的空間,稱為Buffer,負責呈現我們螢幕所看到的畫面。 兩個Buffer快速輪流切換,一個負責接收CPU傳入的資料,一個負責呈現畫面,讓畫面實時更新,不會卡頓。而切換一次的過程,就是所謂的一幀。

所以每幀都要把畫面清空,畫上下下幀的畫面(下一幀由另一個Buffer呈現)。 可以看到視窗是全黑的。

第二步:深度圖

再來會由頂點資訊畫出深度圖。 可以看到深度是整個畫面最先渲染出來的部分(Event下方有詳細的項目可以查看,這裡最重要的就是Shadow Depth)。

攝影機越遠、就會越黑;反之則越白。由此初步構出場景。

第三步:Shadow Map

再來會由攝影機與場景內的光源來畫出Shadow Map。 Shadow Map是一張2D的Texture,用來記錄頂點受光的程度(0~1)。從光源出發,越先碰到的點越白、越晚碰到越黑,由此判斷頂點是否處在陰影中。 (這裡畫面可能會是全黑的,要移動一下攝影機或光源看看。)

補充一下,Project Setting中的Shadow Distance會影響這一步渲染的畫面(調高會渲染得較遠)。 至於Shadow Cascades,則是精緻度的細分,由攝影機的遠近,決定使用哪個渲染結果,下方Cascade splits則是四個結果所佔的比例(越近會越偏向0號)。

第四步:畫出陰影

有了前面的幾張圖之後,就能畫出畫面中的陰影了。

第五步:畫出物件

先藉由剛剛的影子、跟模型的頂點資料,畫出物件。 到這裡就能看到最基礎的場景的樣子了。

第六步:上色

這裡可以看到物件顏色是一個個畫出來的,並非整個場景一起渲染。是基於頂點群組決定是否一起渲染。 如果希望同個材質的物件同時渲染的話,要打勾Player Setting中的Dynamic Batching(Batch就是資料傳送時的群組,動態群組可以自動將數個頂點合併為一個頂點群組)。

第七步:光影&反射

到這裡才是真正遊戲中的顏色,跟上一步相比,會加入Skybox計算反射,讓影子會有漸層、反光處會有Skybox的顏色。



以上就是Unity最基本的渲染過程,當然真實情況肯定更加繁瑣,包誇Post-Process、自訂Shader、多種Texture、Light Probe…都會影響渲染過程,不過架構是不變的,依然是深度圖→Shadow Map→影子→上色→光照這樣的流程。

This Post Has 4 Comments

  1. 879

    This posst provides clear idea inn support off the neww users of blogging, that truly howw tto do running
    a blog.

  2. xxxtube2022.com

    At tthis mpment I aam going tto do mmy breakfast,
    afterward having my breqkfast comming again tto rwad furtherr
    news.

  3. Wonderful beat ! I would like to apprentice whjile you amennd ypur web site,
    hhow can i subscribe for a bog website? The accohnt helpd me a
    acceptable deal. I had been tiny bitt acquainted of thus your broadcas offered brdight cllear idea

  4. Hi there! This is kind off off topic but I need some
    guidance from an estqblished blog. Is iit very difficult too sset up youir oown blog?
    I’m nnot vry techincal butt I can figjre things oout pretty quick.
    I’m thinking about creatingg myy own but I’m nott sre whrre too start.

    Do you ave any pounts or suggestions? Appreciate it

Leave a Reply