非常实用的游戏特效,这种透视效果在很多游戏里面有使用,《CS:GO》《守望先锋》《魔兽世界9.1》
通用Graphic API,兼容性非常强,当前已经在Android\PC上测试通过
Demo百度网盘下载420M
链接:https://pan.baidu.com/s/1Wm_Wt9KdReAgE6ne2Mxw8A
提取码:icev
Demo打包的时候有很多没用到的资源,导致打出来的包比较大,如果有需求可以联系我本人,单独打个小包,
本人QQ11413947,加我请说明来意。
当我第一次看到这个效果的时候是在《守望先锋》游戏里面,可以透视游戏中队友的位置信息
这种是透视+全息的效果,需要明确表达一个队友的位置及更多的其他信息时候使用;
后来我在玩魔兽世界的时候新开了9.1的版本,《刻西亚》地图中有一种怪物《圣物饕餮者》全地图的人都可以透视到这个怪的位置;
一次机会我特意观察了一下个效果,可以透视同一场景中任何的障碍物,包括其他的玩家,坐骑,地形,植被等;
我想这个应该不是Shader可以实现的,即便使用Shader实现,需要游戏调整很多Shader,感觉应该是镜头效果,当我在使用Unreal制作的时候,谁知道Editor自带了这个功能,但我改Shader没出效果;
准备去找官方文档看看的,网页又打不开,后来找到了相关的资料,就开始制作了。
首先,这种不是Shader实现的,是镜头效果,有一点像卡通着色描边功能;这种是绘在屏幕上,获取人物的描边信息,绘制在屏幕镜头对应的位置,需要用到的低层输入节点
1.SceneTexelSize
texel是什么?texel概念和自己理解的texel
2.ScreenPosition
3.SceneTexture:CustomDepth
4.SceneTexture:SceneDepth
实现原理
以空间的一个Pixel为单位,对其周边的8个像素分析,如果像素在屏幕空间的裁剪范围外,则使用自定义的颜色渲染这个像素;在Unreal中使用一个常量表示空间和屏幕转换结果,默认镜头可以支持100公里透视;
整个镜头效果简图