**
UE4中螢幕 和鏡子的 實作效果 SceneCapture2D的用法v
**
一,目的
為了實作在虛拟場景中 建立一個螢幕或者一個反光鏡的效果。 此處需要用到一個 sceneCapture2D 元件。
二,測試環境
UE4 4.24
三,思路
1, SceneCaptue2D 元件 可以了解為一個 擷取二維畫面的錄影機元件(隻是個人了解,因為她的樣子就是一個錄影機),這個元件有一個選項是 Texture Target , 就是将擷取的畫面存儲的地方。 這個Texture Targrt 是一個Render Target 類型。
2, 如果我們想一面鏡子, 我們将鏡子的材質設定成動态材質。 通過給這個動态材質(其實就是鏡子的材質) 中的 base color 指派成 上面的 Texture Target 就可以實作這個效果。注意: Base Color 對應的 應該一個參數化的變量, 這樣在 動态材質指派的時候, 就可以直接進行指派了。
四,步驟
1, 鏡子的自身材質

注意:
(1)我們在這個材質中設定了三個變量。 前面兩個 有可能是寬高比, 個人沒看到具體的效果。可以測試。 這個材質可以建立執行個體, 執行個體中直接設定 寬高, 例子中 一個長寬2:1 的 鏡子, 對應的材質執行個體 分别是 1.4 和0.7 ,玄機等待測試。 注意 水準方向 取反, 因為鏡子擷取的是鏡像。
2, emissive 例子中也設定了參數, 其實可以直接設定成固定的。
2,給sceneCapture2D 建立對應的 Target
(1)這是一個 renderTarget 類型
以為我的鏡子是豎直方向的。 是以 寬高比例 我按照上面設定。
上面是藍圖中建立的 SceneCapture2D 元件。 将Target 設定成我們建立好的。
紅色現況圈出來的,是為了優化性能。 如果 每一幀都捕捉,耗能會比較大。 是以,我們隻勾選了 在運動的時候捕捉就行。
3, 藍圖中 建立動态材質執行個體的過程——接通
(1)動态材質執行個體
模型有可能會有多個材質,是以要注意Material 下面的 Index 的序号。
在初始化中,建立了動态材質執行個體後,就可以進行指派了。
(2)參數化指派
将 SceneCapture2d 對應的 render target 給動态材質指派, 完成了鏡子的材質就是 錄影機擷取的材質的效果。
最終效果:
以前一位朋友跟我說過這個, 至今我能記起來的就是他說的:這個很簡單…, hi my friend ,are you ok?