游戏中选中物体边缘高亮的方法

常见的游戏中,当玩家对准、选中一个可以被操作的物体时,物体的边缘会亮起来,就像下面这两个图中的效果,我也去查了下如何实现,然后来分享下学习经验。
在这里插入图片描述在这里插入图片描述

如何实现?——

**这是基于像素深度,通过后期处理实现的描边,**材质算法原理有点复杂,后期我会去学习整理思路然后再写一篇学习笔记来分享,
这里就先直接附上从其他人那里嫖过来的材质链接(要用到)
链接:https://pan.baidu.com/s/1eTfzCg6
密码:dqcx。
(原文链接:https://blog.csdn.net/qq_36409711/article/details/78833726)

Step 1 ——添加后期处理材质

在这里插入图片描述

Step 2——给可以被选中的物体添加接口

在这里插入图片描述
在这里插入图片描述
创建两个函数,一个是物体高亮和取消物体高亮
在这里插入图片描述
创建几个物体,Box和Sphere继承自PickUp
在这里插入图片描述
在这里插入图片描述
PickUp类继承接口并实现Select和Deselect函数
tips:
这里我们可以再edit窗口查看ue4引擎再渲染的时候就已经处理好了像素深度
在这里插入图片描述
在这里插入图片描述
我们在select和deselect函数设置的就是图中红色箭头指向的这个参数,可以看到在勾上后这个物体就可以在custom depth中出现

Step3——box检测物体

定义一个变量Target
在这里插入图片描述
在这里插入图片描述
从屏幕的中间向前3米发射矩形射线
在这里插入图片描述
只对有接口的物体有反应
接下来就是各种情况的判断:

一.没有检测到物体的时候:
1.之前有一个物体被检测到且高亮:那么就取消前一个物体高亮并把target设置为空值
。。。。

二.检测到物体的时候:
1.之前没有检测到物体:
2.之前检测到了物体:
.之前检测到的物体是不是同一个:是同一个就不变,不是同一个就取消前一个的高亮并把target变成当前的物体,并把当前的设置为高亮,
.
等等等…

在这里插入图片描述

本文来源于网络整理,由作者番茄鱼发布,其观点不代表番茄鱼视觉的立场,转载请联系原作者。
7
美梦成真

发表评论