當前位置:首頁 >教程首頁 > Unreal Engine >Unreal中Decal貼花拉伸運用技巧

Unreal中Decal貼花拉伸運用技巧

發布時間:2020-10-05 09:59:13

Hello,大家好,今天和大家聊一下Unreal中Decal貼花拉伸運用技巧,我是木偶心沒。

貼花(decal)在遊戲裏麵是運用的比較多的,因為他可以簡單的把圖片運用不同的疊加方式繪製到另一個物體的表麵,比如說遊戲中的髒跡,腳印,彈孔和血跡等,都是貼花的效果。

1.png

在unreal裏麵,我們還可以單獨繪製貼花的base color,roughness和normal。但是我們也會遇到一些常見的decal問題,比如說垂直的地方比如說牆邊會進行拉伸。

2.png

這是因為decal計算的信息隻有x和y軸,沒有z軸的信息,所以遇到垂直的物體就不會自動投射z軸的信息造成拉伸。

我們隻要在材質中算出貼花貼在垂直的那部分上的範圍,然後剔除掉那部分就可以了。如何求出垂直的那部分,比較簡單的算法是直接比較貼花的z軸和垂直的向量(0,0,1)是否垂直(夾角等於90度)。所以我們首先我們用Absolute World Position獲取貼花的絕對世界坐標。

3.png

然後因為要獲取的z軸是貼花的,需要在viewspace中進行換算,所以用transformVector將默認的世界坐標空間world space轉化成view space,然後通過view space的x和y坐標的模(normalize)來求z的值。因為z軸是垂直於x和y的,所以隻需要用cross就可以求得與x和y垂直的向量,即z軸。

4.webp.jpg

求得以後轉變坐標係到world space,因為需要求貼花的z向量和(0,0,1)的夾角。

5.webp.jpg

用得到的結果與向量(0,0,1)進行dot(點乘),得到的值如果等於0的話則說明兩個向量之間的夾角為90度,即垂直,因為如果遇到牆麵,相當於貼花的法線方向就等於牆麵的法線方向,所以會與(0,0,1)垂直。

6.webp.jpg

所以如果我們用所得到的值和貼花的opacity做乘法的話,最後的結果就會把垂直那部分的效果切掉。

7.webp.jpg

最後我們在引擎裏麵看到修改後的效果如下

8.webp.jpg

來源:Thepoly公眾號

华体会hth体育网 賞析
  • 2101期學員李思庭作品

    2101期學員李思庭作品

  • 2104期學員林雪茹作品

    2104期學員林雪茹作品

  • 2107期學員趙淩作品

    2107期學員趙淩作品

  • 2107期學員趙燃作品

    2107期學員趙燃作品

  • 2106期學員徐正浩作品

    2106期學員徐正浩作品

  • 2106期學員弓莉作品

    2106期學員弓莉作品

  • 2105期學員白羽新作品

    2105期學員白羽新作品

  • 2107期學員王佳蕊作品

    2107期學員王佳蕊作品

專業問題谘詢

你擔心的問題,火星幫你解答

微信掃碼入群領福利

掃碼領福利最新AI資訊

點擊谘詢
添加老師微信,馬上領取免費課程資源

1. 打開微信掃一掃,掃描左側二維碼

2. 添加老師微信,馬上領取免費課程資源

×

同學您好!

您已成功報名0元試學活動,老師會在第一時間與您取得聯係,請保持電話暢通!
確定