半条命(Half-Life)专题站

 找回密码
 注册会员
半条命(Half-Life)相关QQ群号码Half-Life历史事件表
查看: 112|回复: 0

[技术] 【HL/Sven Co-op地图教程】高级阴影

[复制链接]
发表于 2018-3-15 17:08 | 显示全部楼层 |阅读模式
本帖最后由 [noob]猥琐的ZC 于 2018-3-15 17:08 编辑

作为对高级光照教程的延续,在这一篇里我会介绍怎么搞高级阴影。请注意此教程使用的是最新版本的zhlt.fgd和SC SDK编译工具。

使阴影看上去非常粗糙的原因是lightmap,lightmap会计算光与影的清晰度,这是你无法真正改变的东西。GoldSrc引擎无法处理更小的lightmap,但是你可以通过以下几种方法来使得阴影更加逼真。

Part 1:缩小材质
如上所述,lightmap无法更改,但材质的大小可以。将材质缩放至0.5或0.25会大大增强阴影的清晰度,就像下图所示的一样:

问题1:材质缩放过小
缩放会让材质变小,这样是不行的。解决方案是创建一个当前使用材质的放大版本;假设原材质大小是128x128,而你想把它(在地图编辑器里)缩小至0.50,那就把它从WAD里导出,然后在你喜欢的图像编辑器里放大成256x256,再改个名字放回去。若想将材质缩小至0.25,你还可以把它放大成512x512(512x512是GoldSrc材质的极限大小)。使用以上这些方法,你就可以在需要的地方用放大版,在不需要的地方用原版了。

问题2:性能
将材质缩小的同时会大大增加wpoly,大量使用0.5或0.25的缩放会损失性能并增加编译时间。所以请只在光影效果很重要的地方这样做。

下图展示了不同大小下的效果以及对wpoly的影响:

     大小:1.00 / Wpoly:56                大小:0.50 / Wpoly:111           大小:0.25 / Wpoly:345            大小:0.125 / Wpoly:605
     

如你所见,0.125缩放的阴影很真实,但wpoly也突破天际了。0.5仍在接受范围内,但0.25就需要少点用了。



Part 2: 微调VRAD
为了使得阴影更好看,你可以给VRAD上这些命令。

命令:
-extra
解释:
这个命令会启用一种使光影效果更好的渲染算法。

命令:
-blur
解释:
用于给阴影去除锯齿。你可以通过模糊命令来减少阴影边缘的锯齿;这个命令的SC SDK默认数值是1.5。

         大小0.25 / blur 1.0                    大小:0.25 / blur 2.0


命令:
-smooth
解释:
润滑以一定角度彼此相邻的光影(比如圆柱体上的)。此命令在SC SDK中默认启用;大多数情况下50的数值就足够了。




原帖:[Tutorial] Advanced Shadows


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Archiver|手机版|小黑屋|半条命(Half-Life)专题站

GMT+8, 2018-4-26 00:31

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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