虚幻4渲染编程(特效篇)【第一卷:Hologram Effect】

这篇博客介绍了如何在虚幻4中制作全息(Hologram)特效,包括信号干扰效果的实现,通过晶格状噪波模拟信号不稳定,以及如何让全息图像漂浮在半空中并解决透明乱序问题。同时讨论了自发光效果的处理,如霓虹灯般的显示。博客还提到了程序化生成噪波的优缺点,并分享了具体的材质节点设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

MY BLOG DIRECTORY:

YivanLee:专题概述及目录

INTRODUCTION:

特效篇会比较综合性地把一个游戏特效的制作作为主题。游戏特效主要会用到材质系统,动画系统,粒子系统,所以特效篇涉及的方面会比较广。特效师感觉就是天生的技术美术,事实上行业内现在许多技术美术都是特效转的。

Hologram Effects在几乎所有游戏里都会用到,不管什么类型,都能看到各种Hologram Effects。本篇就来制作一些Hologram效果。全息效果总体来说表现为以下几个特征:

  • 意义不明但是有节奏的信号干扰效果。
  • 透明地浮在半空中,给人很高级的科技感。
  • 自发光的诡异显示方式,类似霓虹灯。

MAIN CONTENT:

【1】信号干扰

全息效果一个非常典型的特征就是信号干扰,做这个特征的方法有很多,还是根据具体的效果来决定,信号干扰主要使用扰动的办法来做,下面就以全息文字为例。首先准备一张正常的文字图片,然后围绕上面三点做文章,首先是扰动。为了制作液晶显示器上的频率不稳定效果,我使用晶格状噪波

        float2 Random(float2 uv)
{
    float Magic = 3571;
    float2 PixelPos = uv * 512;
    float2 Random2 = ( 1.0 / 4320.0 ) * PixelPos + float2( 0.25, 0.0 );
    float Random = frac( dot( Random2 * Random2, Magic ) );
    Random = frac( Random * Random * (2 * Magic) );
    return Random;
}
//main function
return Random(floor(uv * tile));
      
v2-a6907933e91482bd1b6a0b4f76543057_b.jpg
v2-7d761143ddd1fb3509cce39f59fe82d5_b.jpg

效果如下:

v2-42794525f9278d18929d57d9791cf5b7_b.gif

感觉已经达到了目的,一些奇怪的晶格细线的效果也有了。扰动一定要有节奏。

调整这些参数可以得到下面一系列效果:

v2-2ae9f66a80fe427314792d3754a2273d_b.gif
v2-8980a8b55478f02c49afd08efd04b00f_b.gif

把晶格西线参数调大一点就会感觉像老电视的信号不稳定的效果

v2-063bda122308f6dd73d58cfaeafa61f4_b.gif

换一张底图效果如下,当然可以考虑让地图文字流动。

v2-777a684b26fa3050f8d368306fac466e_b.gif

程序化生成噪波的好处就是可以做很多变化,缺点就是不方便控制,制作思路不够artist。

v2-2b016e971ce5591f398145283ac12aac_b.gif

有了最基础的扰动之后就是在扰动的基础上给Hologram本体加元素,用横向棋盘格表现液晶显示器上的二极管。

v2-69b87bc001bbc82e8ac15296da0478f8_b.jpg
v2-9750f47b5c7e8358683c384552cd8f26_b.gif

当然为了表现Hologram上不明意义的信号干扰效果,二极管的部分也需要做强弱变化干扰。最后就会成下图效果:

v2-5caa3ce9c2202e27135711fb3a2d4378_b.jpg



【2】漂浮在半空显示

首先漂浮在半空中的透明物体肯定会有透明乱序问题。

v2-b28aec639f5226cac71f60710dc2c99b_b.jpg

通常是只要模型最表面的一层像素,里面的所有像素需要统统提出掉。首先把物体以不透明模式,把深度渲染到CustomDepth上(勾上RenderCustomDepth就会渲染它了),然后再在渲染透明物体的时候读这个CustomDepth,用PixleDepth减去CustomDepth,这样内部的像素的值是正的,外部的是负的

v2-06c59c5981c4f4b9f52cfe148876e1a6_b.jpg

CustomDepth对应a,Pixledepth对应b,如果是表面像素则a等于b,内部像素是a小于b。这里需要我们手动比较深度,切剔除像素的方法只有clip,透明物体和addtive物体刚好有。

下面是addtive模式下的节点:

v2-73ee50bc76f142338805c106a549e70c_b.jpg

这样就能把物体内部的像素剔除

v2-6802c9578efd29e315651f09b8ad475a_b.jpg
v2-72c29caa1a06c1372f6ba81ad32ee0ea_b.jpg


v2-15484d92945be248cb7de6239dce0f0d_b.jpg

稍微美化一下:

v2-29d46270357f09faccead175475fb620_b.jpg

材质球:

v2-3951a416bfc36f5ecdbf86285948d962_b.jpg

如果使用Translucent的混合模式,可以使用下面的节点:

v2-040f2392b7664afbcd2bdf2b209e3fbc_b.jpg
v2-3c88b82795d8cff15141c564d3accdf0_b.jpg

其实核心就是在材质里自己做深度比较,把没用的像素想办法剔除掉。有了这个基础之后下一步就是加上最开始讲的,加入意义不明的扰动。

v2-059f036e6e7bfa6920c37dacfc8aa9af_b.gif

这里面的抖动是故意做出来的,线框是shader算出来的,也不是采张图,只有这样才能做到这个效果

v2-f3700115aac4aceba7b448a275c220b4_b.jpg

最后我的最终材质节点如下:

v2-6af01e526a7c630c2c5ba41ebfa6e0a7_b.jpg

除此以外,用粒子直接做全息效果也时个不错的选择。

v2-43b806b0fc148a6093d59ac3fecbe48b_b.jpg

SUMMARY AND OUTLOOK:

总得来说做Hologram这种效果就以下几点注意事项:

  • 意义不明但是有节奏的信号干扰效果。可以用程序算噪波干扰,也可以用贴图来制作扰动,各有优缺点,看自己权衡。
  • 透明地浮在半空中,给人很高级的科技感。这种需要注意的就是透明乱序,大多情况下只需要模型最表层的一层像素即可。
  • 自发光的诡异显示方式,类似霓虹灯。这种就是继续对效果进行打磨,可能给点mask做强度控制,亮度也需要扰动变化等等。

NEXT:

YivanLee:虚幻4渲染编程(特效篇)【第二卷:NiagaraParticleEffects—上】

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值