网易首页 > 网易号 > 正文 申请入驻

如何用UE4制作假透明冰块材质

0
分享至

这是侑虎科技第1017篇文章,感谢作者落月满江树供稿。欢迎转发分享,未经作者授权请勿转载。如果您有任何独到的见解或者发现也欢迎联系我们,一起探讨。(QQ群:793972859)

作者主页:

https://www.zhihu.com/people/luo-yue-man-jiang-shu-38

冰块是大家生活中必不可少的东西,但是要在引擎中还原出冰块的质感和物理属性却是比较困难的,我这边也只是用了些简单的方法进行模拟,下面就给大家讲下制作流程。先给大家看几张近距离的图片。

较为透明的冰

透明度低的冰

冰随视角的变化

整个Shader采用的是无光照Mask的Shading Model,主要制作可以分为下面几部:

内部体积,表面反射,半透明模拟,折射,半透阴影以及一些颜色的变化。

内部体积制作

内部的体积制作和我这篇《如何在UE4中用raymarch实现面片水体(采样贴图)》(https://zhuanlan.zhihu.com/p/347445204)对贴图采样进行水体模拟的文章方法一样,这里就不赘述了。

实在看不懂代码的同学就用Parallax Occlusion Mapping来实现吧,虽然性能会多消耗一些,但也没关系,效果是一样的。

Raymarch Perlin Noise之后的效果

参数设置

内部体积节点图可参考文章《如何在UE4中用raymarch实现面片水体(采样贴图)》(https://zhuanlan.zhihu.com/p/347445204),把贴图换成了Perlin Noise。

半透明模拟

本文最重要的部分来了,因为是用的无光Mask模式,所以半透明模拟我们采取的方法是用一个Cubemap贴到物体上,参考了下面这篇文章,但是他是通过改底层实现的,我们这边实现的方法更上层一点,原理都差不多。下面是文章链接,有兴趣的小伙伴可以看下。

《UE4中低成本的折射效果》 https://zhuanlan.zhihu.com/p/91671116

如果是实时的Cubemap,我们则需要用一个Scene Capture Cube来抓取,如果是静态的就直接把场景做成Cubemap然后贴上去就可以了。新建一个BP Actor后新建相机然后创建一个Cube Render Target,将Cube Texture插到相机的插槽上。

Cube相机

相机插槽

回到材质里面,我们先将Cube贴图(就是刚才新建的Cube Render Target)放进材质编辑器,然后UV口连上Camera Vector,最后输出到自发光,我们可以看到下面反着的效果。

Camera Vector作为UV

Z轴反的效果

所以我们先将Camera Vector的b轴反一下看看效果:

反向Camera Vector B轴

B轴反向的效果

看着差不多是吧?但是角度不是很对,所以我们得旋转一下这个Cubemap,我这里用RotateAboutAxis对其进行旋转,旋转轴是0,0,1(z轴),position就是Camera Vector,转完之后再加回Camera Vector(因为是在Camera Vector的基础上进行的旋转),最后Normalize(UV空间为0-1),然后对Z轴取反后连到Cube Texture 的UV就可以了,旋转角度我这边是270度(材质编辑器里是以弧度计算,所以除以360来转换成度数)。

模拟透明

模拟透明的效果

看着还可以,但是由于是Cubemap,肯定不能完全匹配上,所以只适合高折射的物体。但是还有一个问题,如果用相机抓Cubemap,他会把自身也抓上去,怎么剔除我们最后再讲。

反射

反射很简单,同样用我们的Cube Texture(就是刚才新建的Cube Render Target)然后用Reflect Vector连到UV,最后用Lerp控制反射和透明的混合比就可以达到透明度控制。

混合反射和半透

通过Lerp控制混合比

颜色混合

有了内部体积和上述效果后,我们将它们混合起来。以内部体积为Mask混合两种不透明度(其实就是内部体积和模拟透明的Lerp值,只不过我们需要两个Lerp,反射效果最后混合),然后用菲涅尔控制远近的不透明度,近处透,远处不透。

用模拟半透和内部体积进行透明度混合

透明度混合

透明度和内部体积混合后的结果

参数设置

做出上述效果后我们继续混合上反射的效果,并用菲涅尔控制反射强度变化(其实就是roughness的变化)。

混合反射效果我这边设置的反射值为0.9

混合反射后的效果,高光出现了

最后在颜色上混合上一层菲涅尔就可以了。

颜色的菲涅尔

颜色菲涅尔的效果

折射

折射很简单,原理就是扰乱半透的Cube Texture,我们只需要将一张贴图乘到半透UV的RG轴就可以了。当然为了匹配内部体积,我们可以将内部体积的UV作为折射贴图的UV。

折射效果(这张噪波贴图不是很好)

基本的效果已经实现了,我们现在做一个假的半透影子。

半透阴影

半透阴影我们采取的方法是Dither Mask,然后用Shadow Pass Switch来替换它当前的影子(其实就是用Dither过后的模型作为它投射影子的模型)。取Pixel Normal在ViewSpace中的B轴(也就是模型在地面的投影),然后abs去掉负数之后取反可以得到类似菲涅尔的效果,但是不会像菲涅尔一样随着视线变化很大。用Power可以控制范围最后输出到Dither,连上Shadow Pass Switch,再输出到Opacity Mask就可以得到假的半透阴影了(Dither阴影)。

半透阴影节点

用Pixel Normal做出的效果

半透阴影

透明度变化

translucent模式下的透明变化

最后是整体的节点:

整体节点

参数设置

附加问题:如何让摄像机只拍摄特定物体?

这个问题我在很多地方看到有人问了,这里教大家如何设置才能只渲染特定物体。

没有剔除以前会拍到自己

首先我们新建个图层,选中要显示的东西添加到图层里。

图层大纲

添加显示的Actor

在BP里的相机上设置只显示列表目标。

设置相机

然后将列表传给相机,用fresh手动更新,因为非play状态下Cube Texture不会在材质里实时更新。

将列表传给相机

最后将新建出的Actor Layer变量制定下图层名就可以只显示选中图层的物体了。

指定图层

剔除自身后的效果

文末,再次感谢落月满江树的分享,如果您有任何独到的见解或者发现也欢迎联系我们,一起探讨。(QQ群:793972859)

近期精彩回顾

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
深圳某科技公司好大的脸,居然让当地人力资源局垫付29万工资!

深圳某科技公司好大的脸,居然让当地人力资源局垫付29万工资!

黯泉
2026-02-21 22:24:35
婆婆是怎么试探你底线的?网友:我不吃姜,顿顿每个菜都有姜!

婆婆是怎么试探你底线的?网友:我不吃姜,顿顿每个菜都有姜!

另子维爱读史
2026-02-21 21:42:36
八路军三大师长中,唯独贺龙在解放战争中藏了起来,这是何故?

八路军三大师长中,唯独贺龙在解放战争中藏了起来,这是何故?

云霄纪史观
2026-02-01 07:57:19
华为手机基本走向没落了

华为手机基本走向没落了

月光作笺a
2026-02-21 06:06:45
台军女飞行员郭文静:只要长官敢下令,我会毫不犹豫的击落歼20!

台军女飞行员郭文静:只要长官敢下令,我会毫不犹豫的击落歼20!

顾史
2026-01-21 21:04:39
男篮世预赛前夕再遭打击?核心后卫受伤退出:冲击2连胜恐悬了?

男篮世预赛前夕再遭打击?核心后卫受伤退出:冲击2连胜恐悬了?

篮球快餐车
2026-02-22 03:33:32
董璇人脉真牛,泡泡玛特总裁王宁去她家过年,送小酒窝非常多礼物

董璇人脉真牛,泡泡玛特总裁王宁去她家过年,送小酒窝非常多礼物

小娱乐悠悠
2026-02-21 07:35:06
征服中年女人,无需套路:两颗真心,一生相守

征服中年女人,无需套路:两颗真心,一生相守

青苹果sht
2025-11-04 06:10:40
于根伟:如果不是扣10分起步,不会换萨尔瓦多;保级是底线

于根伟:如果不是扣10分起步,不会换萨尔瓦多;保级是底线

懂球帝
2026-02-21 10:22:16
基辅凌晨遭灭顶之灾,泽连斯基没想到,英欧的援助会来得这么快!

基辅凌晨遭灭顶之灾,泽连斯基没想到,英欧的援助会来得这么快!

李橑在北漂
2026-02-21 15:23:11
被特朗普称为“真正失败者”!美国运动员决赛后改口:我热爱美国

被特朗普称为“真正失败者”!美国运动员决赛后改口:我热爱美国

全景体育V
2026-02-21 07:47:55
军队消息人士透露:澳舰过航台湾海峡,解放军对其全程跟监警戒

军队消息人士透露:澳舰过航台湾海峡,解放军对其全程跟监警戒

环球时报国际
2026-02-21 21:15:28
我国最危险的时代,美国随时能开战,是这个小国“帮了”中国

我国最危险的时代,美国随时能开战,是这个小国“帮了”中国

混沌录
2026-02-08 13:18:24
冠军特点不在:马竞开出续约条件,可小蜘蛛还会继续在西甲打拼么

冠军特点不在:马竞开出续约条件,可小蜘蛛还会继续在西甲打拼么

里芃芃体育
2026-02-22 05:00:05
孩子成绩不好的根本原因,就是智商不够,但很多家长不愿意承认

孩子成绩不好的根本原因,就是智商不够,但很多家长不愿意承认

好爸育儿
2026-01-30 19:21:08
特朗普:“全球进口关税”从10%提高至15%

特朗普:“全球进口关税”从10%提高至15%

新华社
2026-02-22 03:49:06
苏翊鸣穿2万LV和朱易官宣恋情,两人谈了四年,朱易和苏妈妈很像

苏翊鸣穿2万LV和朱易官宣恋情,两人谈了四年,朱易和苏妈妈很像

草莓解说体育
2026-02-20 10:50:57
7名中国游客在贝加尔湖溺亡,一家4口来自江苏,旅游不是错

7名中国游客在贝加尔湖溺亡,一家4口来自江苏,旅游不是错

九方鱼论
2026-02-21 18:34:42
月薪五千的朝鲜姑娘,和她们回不去的中国梦

月薪五千的朝鲜姑娘,和她们回不去的中国梦

百姓闻世界
2026-02-17 07:29:21
“初中女生被老人索赔22万”,家长最新回应:对方已撤诉,不希望再占用公共资源

“初中女生被老人索赔22万”,家长最新回应:对方已撤诉,不希望再占用公共资源

封面新闻
2026-02-22 00:27:04
2026-02-22 08:43:00
侑虎科技UWA incentive-icons
侑虎科技UWA
游戏/VR性能优化平台
1551文章数 986关注度
往期回顾 全部

科技要闻

智谱上市1月涨5倍,市值超越京东、快手

头条要闻

贝加尔湖7名遇难者身份全部确认 1家4口仅1人生还

头条要闻

贝加尔湖7名遇难者身份全部确认 1家4口仅1人生还

体育要闻

徐梦桃:这是我第一块铜牌 给我换个吉祥物

娱乐要闻

黄晓明澳门赌博输十几亿 本人亲自回应

财经要闻

一觉醒来,世界大变,特朗普改新打法了

汽车要闻

比亚迪的“颜值担当”来了 方程豹首款轿车路跑信息曝光

态度原创

艺术
房产
家居
数码
旅游

艺术要闻

这本书法,80%的人无法读懂!网友直言:看到第二字就傻眼!

房产要闻

窗前即地标!独占三亚湾C位 自贸港总裁行宫亮相

家居要闻

本真栖居 爱暖伴流年

数码要闻

Only Apple Can Do?苹果23年前发布的iBook竟还能联网更新

旅游要闻

“春节档”的狗狗旅行团,透视宠物经济持续狂奔的密码

无障碍浏览 进入关怀版