【游戏技术群】959392658  【游戏出海群】12067810
yzc88亚洲城 手机端
  • 开发者工具开发者工具
  • www.yzc88.comManual
  • 蛮牛杯蛮牛杯
  • Unity官方专区Unity官方专区
yzc88亚洲城

关注:653

当前位置:yzc88亚洲城 技术专区 yzc88亚洲城

查看: 8406|回复: 35
发新帖

[Unreal教程] 虚幻引擎4中的柔性轮廓

[复制链接]  [移动端链接]
排名
9676
昨日变化
1

263

主题

301

帖子

1592

积分

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

UID
159865
好友
9
蛮牛币
3981
威望
0
注册时间
2016-8-1
在线时间
626 小时
最后登录
2018-3-8

蛮牛译员

跳转到指定楼层
楼主
yzc88亚洲城 2017-9-28 15:14:21 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册帐号

x

虚幻引擎4中的柔性轮廓


自从我第一次写了关于在虚幻引擎4中创建轮廓之后,我想知道是否可以将它们渲染为软的轮廓,而不是苛刻的二进制线,就像在Left 4 Dead或CS:GO的游戏中看到的,如下所示。





最近我做了一个快速实验,使用SpiralBlur的修改版本,这是Unreal Engine 4中提供的一个节点,并且正在使用一些自定义的着色器代码。 这是我得到的结果:








看起来不错 效果比二进制轮廓贵一点,因为我们在SpiralBlur节点中执行了几个步骤以使其看起来非常流畅。 后来在这篇文章中,我将谈论性能。 最终的图像显示了高距离参数的极端设置,从而更清晰地显示淡出。



材质图


不幸的是,我在Spiral Blur节点上找不到任何官方的UE4文档。 内置的实现将场景纹理和多次迭代创建... .螺旋模糊。 默认设置是大约128次迭代,这是非常大的! 我已经使用这个节点作为参考来创建自己的样本自定义深度缓冲区而不是场景颜色。


它的节点图是相当简单的,大多数的逻辑发生在自定义节点内,作为下面的代码示例被添加。









[C++] 纯文本查看 复制代码
float3 CurColor=0;
float2 NewUV = UV;
int i=0;
float StepSize = Distance / (int) DistanceSteps;
float CurDistance=0;
float2 CurOffset=0;
float SubOffset = 0;
float TwoPi = 6.283185;
float accumdist=0;
if (DistanceSteps < 1)
{
  return Texture2DSample(CustomDepthTexture,CustomDepthTextureSampler,UV);
}
else
{
  while (i < (int) DistanceSteps)
  {
    CurDistance += StepSize;
    for (int j = 0; j < (int) RadialSteps; j++)
    {
      SubOffset +=1;
      CurOffset.x = cos(TwoPi*(SubOffset / RadialSteps));
      CurOffset.y = sin(TwoPi*(SubOffset / RadialSteps));
      NewUV.x = UV.x + CurOffset.x * CurDistance;
      NewUV.y = UV.y + CurOffset.y * CurDistance;
      float distpow = pow(CurDistance, KernelPower);
      CurColor += ceil(Texture2DSample(CustomDepthTexture,CustomDepthTextureSampler,NewUV))*distpow;
      accumdist += distpow;
    }
    SubOffset +=RadialOffset;
    i++;
  }
  CurColor = CurColor;
  CurColor /=accumdist;
  return CurColor;
}



性能

性能在850M移动GPU上以1280×720(约?1.5ms)测量,在我的GTX 980 Ti上运行,运行时间为1920×1080,后处理材料为0.8ms。 它在很大程度上取决于螺旋模糊中的迭代量。 您将要保持DistanceSteps和RadialSteps尽可能的低,同时保持平滑的边缘。 在演示中,我决定了4次DistanceSteps和8次RadialSteps,这是32次迭代。



结论

总而言之,答案是肯定的! 完全有可能使这项工作被实现。 我想象,可能会有更有效的方式来模糊自定义深度缓冲区以获得类似的结果,我只是利用可用的着色器代码快速获得概念证明。 重要的是要注意,远离对象的轮廓可以使它看起来略微不光滑,更薄的轮廓有助于柔性轮廓实现并且参数调整是一个问题







原文标题:Soft outlines in Unreal Engine 4
原文链接:http://www.tomlooman.com/soft-outlines-in-ue4/

点评

hao  yzc88亚洲城 2018-11-12 01:49

7日久生情
2880/5000
排名
2485
昨日变化

2

主题

1851

帖子

2880

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
241666
好友
0
蛮牛币
10773
威望
0
注册时间
2017-9-6
在线时间
453 小时
最后登录
2019-1-31
沙发
yzc88亚洲城 2017-9-29 10:29:30 来自Mobile--- | 只看该作者
感谢分享了

7日久生情
2752/5000
排名
274
昨日变化
2

4

主题

114

帖子

2752

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
122711
好友
0
蛮牛币
9494
威望
0
注册时间
2015-9-15
在线时间
698 小时
最后登录
2019-2-20
板凳
yzc88亚洲城 2017-9-29 11:19:46 | 只看该作者
看起来效果很不错啊,感谢
[发帖际遇]: 墨家教徒 在论坛发帖时没有注意,被小偷偷去了 1 蛮牛币. 幸运榜 / 衰神榜

8常驻蛮牛
7516/10000
排名
256
昨日变化
1

0

主题

3889

帖子

7516

积分

Rank: 8Rank: 8

UID
3215
好友
0
蛮牛币
149
威望
0
注册时间
2013-9-4
在线时间
1661 小时
最后登录
2019-2-18
地板
yzc88亚洲城 2017-9-29 11:30:32 | 只看该作者
的顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶
[发帖际遇]: 一个袋子砸在了 zhaoXH 头上,zhaoXH 赚了 1 蛮牛币. 幸运榜 / 衰神榜

7日久生情
4324/5000
排名
2455
昨日变化
1

5

主题

3108

帖子

4324

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
209186
好友
5
蛮牛币
5527
威望
0
注册时间
2017-3-1
在线时间
633 小时
最后登录
2019-2-20
5#
yzc88亚洲城 2017-9-29 13:06:03 | 只看该作者
不错,收藏了
[发帖际遇]: luastudy 在论坛发帖时没有注意,被小偷偷去了 1 蛮牛币. 幸运榜 / 衰神榜

7日久生情
1680/5000
排名
2295
昨日变化
10

0

主题

628

帖子

1680

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
182268
好友
2
蛮牛币
805
威望
0
注册时间
2016-11-9
在线时间
442 小时
最后登录
2019-2-19
6#
yzc88亚洲城 2017-9-29 15:50:26 | 只看该作者
的顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶

4四处流浪
414/500
排名
26796
昨日变化
4

0

主题

167

帖子

414

积分

Rank: 4

UID
221429
好友
0
蛮牛币
114
威望
0
注册时间
2017-5-9
在线时间
233 小时
最后登录
2018-10-29
7#
yzc88亚洲城 2017-9-29 18:13:37 | 只看该作者
thank you sir

排名
47732
昨日变化
16

0

主题

16

帖子

32

积分

Rank: 1

UID
151000
好友
0
蛮牛币
68
威望
0
注册时间
2016-6-6
在线时间
12 小时
最后登录
2018-6-2
8#
yzc88亚洲城 2017-9-30 09:54:54 | 只看该作者
感谢分享
[发帖际遇]: gforcex 乐于助人,奖励 2 蛮牛币. 幸运榜 / 衰神榜

3偶尔光临
155/300
排名
15449
昨日变化
5

0

主题

78

帖子

155

积分

Rank: 3Rank: 3Rank: 3

UID
243160
好友
0
蛮牛币
319
威望
0
注册时间
2017-9-13
在线时间
29 小时
最后登录
2017-11-14
9#
yzc88亚洲城 2017-9-30 11:06:21 | 只看该作者
感谢分享

6蛮牛粉丝
1391/1500
排名
2632
昨日变化
13

7

主题

250

帖子

1391

积分

Rank: 6Rank: 6Rank: 6

UID
241851
好友
0
蛮牛币
3174
威望
0
注册时间
2017-9-6
在线时间
598 小时
最后登录
2019-2-20
10#
yzc88亚洲城 2017-10-16 19:46:43 | 只看该作者
感谢分享

4四处流浪
361/500
排名
6332
昨日变化
1

0

主题

66

帖子

361

积分

Rank: 4

UID
251292
好友
0
蛮牛币
431
威望
0
注册时间
2017-10-28
在线时间
85 小时
最后登录
2018-7-4
11#
yzc88亚洲城 2017-10-31 08:09:37 | 只看该作者

排名
64343
昨日变化
40

0

主题

9

帖子

12

积分

Rank: 1

UID
146305
好友
0
蛮牛币
14
威望
0
注册时间
2016-4-21
在线时间
1 小时
最后登录
2017-11-5
12#
yzc88亚洲城 2017-11-5 21:03:15 | 只看该作者
谢谢楼主分享!

7日久生情
2392/5000
排名
1622
昨日变化
5

1

主题

952

帖子

2392

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
216583
好友
2
蛮牛币
3935
威望
0
注册时间
2017-4-7
在线时间
653 小时
最后登录
2019-2-20
13#
yzc88亚洲城 2017-11-6 19:08:47 | 只看该作者
感谢分享

3偶尔光临
157/300
排名
25245
昨日变化
8

2

主题

53

帖子

157

积分

Rank: 3Rank: 3Rank: 3

UID
162813
好友
0
蛮牛币
225
威望
0
注册时间
2016-8-17
在线时间
77 小时
最后登录
2018-8-1
14#
yzc88亚洲城 2017-11-7 09:55:16 | 只看该作者
不错,改天试试

排名
34620
昨日变化
9

0

主题

12

帖子

24

积分

Rank: 1

UID
196822
好友
0
蛮牛币
23
威望
0
注册时间
2016-12-28
在线时间
4 小时
最后登录
2017-11-8
15#
yzc88亚洲城 2017-11-8 09:49:56 | 只看该作者
感谢翻译

您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则

快速回复 返回顶部 返回列表