蓝图解锁怎么用_[UE4蓝图][Materials]虚幻4中可互动的雪地材质完整实现(一)
不說廢話,先上個(gè)演示圖
最終成果(腳印,雪地可慢慢恢復(fù),地形可控制)主要原理(白話文):
假如你頭上是塊白色并且可以透視的平地,來了個(gè)非洲兄弟踩上面,你拿起單反對(duì)著上面拍了一張,照片如下
把腳印稍作翻轉(zhuǎn)(因?yàn)樾枰氖菑纳贤驴吹膱D),然后用打印機(jī)打印照片,墊在黑人兄弟腳下之后得到
黑人兄弟彈跳就是好再試試用3D打印機(jī),白色的地方堆高點(diǎn),腳印的地方留個(gè)黑色凹槽,然后變成了
沒錯(cuò),原理就是這么簡(jiǎn)單,你可以開始跟著做了。
完整實(shí)現(xiàn):
1.先新建一個(gè)新的ThirdPerson藍(lán)圖項(xiàng)目,把建筑都刪掉,新建一個(gè)中心在原點(diǎn)的地形
(我們先把地形中心,人物,SceneCapture都放在原點(diǎn)位置,這樣翻轉(zhuǎn)UV的時(shí)候會(huì)好理解一點(diǎn),后面我們?cè)倏紤]上坐標(biāo)的偏移)
- UE4的項(xiàng)目名和項(xiàng)目文件名一定要用英文,之前我的項(xiàng)目總文件夾名是中文,創(chuàng)建C++項(xiàng)目一直報(bào)錯(cuò)
 
2.新建一個(gè)SceneCapture2D藍(lán)圖類,將SceneCaptur2D藍(lán)圖類拖入到場(chǎng)景中,設(shè)置坐標(biāo)(0,0,-500),Y軸旋轉(zhuǎn)90度,這樣就使其在地面下并且鏡頭朝上了。
- SceneCapture2D:相當(dāng)于一個(gè)相機(jī),每幀拍一張照片提供給你,你可以拿來放到材質(zhì)里或者直接擺UI上,大部分游戲的小地圖都是用這個(gè)做的
 
3.進(jìn)入藍(lán)圖,將CaptureComponent2D組件的投射類型改為正交,寬度可以暫時(shí)設(shè)為2048(也就是之后雪地的最大寬度)
- 投射類型(Projection Type):
透視(Perspective)就是類似人眼,看到的是近大遠(yuǎn)小。
正交(Orthographic)就像數(shù)學(xué)老師黑板上畫的效果,不會(huì)因?yàn)橥队岸淖兾矬w比例。 
4.在資源管理器中新建兩個(gè)RenderTarget,按1,2排序,2會(huì)用到。然后在CaptureComponent2D中綁定RendetTarget1,并將CaptureSource改為Final Color。
- RenderTarget(渲染目標(biāo)):用來保存渲染的緩存,類似拍張照片存在這里。
 
5.新建一個(gè)材質(zhì)名為Depth,將MaterialDomain改為Post Process(后期處理),添加到CaptureComponent2D的后效材質(zhì)數(shù)組中
6.新建一個(gè)材質(zhì)Snow,將其設(shè)置為Two Sided(兩面的),然后放到地形上。如果不設(shè)置成兩面的,等會(huì)在地形下方的相機(jī)就看不到地形,捕捉不到地形的場(chǎng)景深度。
7.Depth材質(zhì)解析
- 記得先開啟Player的自定義深度
(關(guān)于自定義深度和相關(guān)材質(zhì)基礎(chǔ)知識(shí)請(qǐng)先看這兩篇
[UE4藍(lán)圖][Materials]虛幻4中用自定義深度完整實(shí)現(xiàn)描邊材質(zhì)(一) - 架狙只打腳
[UE4藍(lán)圖][Materials]虛幻4中用自定義深度完整實(shí)現(xiàn)描邊材質(zhì)(二) - 架狙只打腳) 
- 先介紹下Saturate節(jié)點(diǎn),這個(gè)節(jié)點(diǎn)等同于Math.Clamp(0,1)。
當(dāng)輸入值小于0時(shí),輸出0。
當(dāng)輸入值大于1時(shí),輸出1。
當(dāng)輸入值在0到1之間時(shí),直接輸出這個(gè)值。 - 因?yàn)镾ceneCapture2D是從下往上拍的,所以獲得Player的自定義深度是大于場(chǎng)景深度的,也就是Player離相機(jī)的距離大于地面離相機(jī)的距離。
 - 這里用(CustomDepth-SceneDepth)/自定義參數(shù)Depth=Result,那么有三種情況沒有人站的地方:CustomDepth為正無窮,所以Result為正無窮,Saturate處理后為1,顯示白色。人的腳底到離地面Depth高度的這一段(圖中紅色示意部分):CustomDepth大于SceneDepth并且小于參數(shù)Depth,所以Result為0~1的值,Saturate處理后值不變,那么根據(jù)離地越近的部分越黑。人從Depth高度往上的部分:Result為大于1的值,也是顯示白色。
 
8.現(xiàn)在新建一個(gè)UserInterface-WidgetBlueprint(控件藍(lán)圖),也就是一個(gè)UI界面,拖入一個(gè)Image,并將其的Image引用選為RenderTarget1,然后記得編譯。
9.打開一開始創(chuàng)建的SceneCapture2D藍(lán)圖,在GameBegin時(shí)將這個(gè)UI添加到視窗上。
現(xiàn)在運(yùn)行游戲應(yīng)該可以看到我們要的初步照片了
這里為了看得清楚,我把相機(jī)的OrthoWidth調(diào)成512了,所以腳印看起來比你的大我們?cè)侔褭z測(cè)的深度參數(shù)Depth由20改為200試試
(這里注意:這里相機(jī)從下往上每個(gè)像素點(diǎn)檢測(cè)到的自定義深度是取離相機(jī)最近的一個(gè),也就是說從下往上看被腳掌擋住的部分,比如腳脖子,跟腱等等,檢測(cè)到的自定義深度就是腳掌離相機(jī)的距離,顯示黑色,只有在腳掌之外的部位被檢測(cè)到,才會(huì)顯示更淡的顏色。)
下一篇:
[UE4藍(lán)圖][Materials]虛幻4中可互動(dòng)的雪地材質(zhì)完整實(shí)現(xiàn)(二)?zhuanlan.zhihu.com本篇到此結(jié)束了,因?yàn)橄胗涗浀募?xì)致一點(diǎn),所以會(huì)比較慢,感謝關(guān)注評(píng)論點(diǎn)贊收藏!
總結(jié)
以上是生活随笔為你收集整理的蓝图解锁怎么用_[UE4蓝图][Materials]虚幻4中可互动的雪地材质完整实现(一)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: 梦到摘桃子是什么意思周公解梦
 - 下一篇: 女人梦到鞋子开胶好不好