开启辅助访问
 找回密码
 注册帐号

扫一扫,访问微社区

开发者专栏

关注:1532

当前位置:游戏蛮牛 技术专区 开发者专栏

__________________________________________________________________________________
开发者干货区版块规则:

  1、文章必须是图文形式。(至少2幅图)
      2、文章字数必须保持在1500字节以上。(编辑器右下角有字数检查)
      3、本版块只支持在游戏蛮牛原创首发,不支持转载。
      4、本版块回复不得无意义,如:顶、呵呵、不错......【真的会扣分的哦】
      5、......
__________________________________________________________________________________
查看: 869|回复: 8

[仅为年时] UE4准星对准物体高亮(上)--发射射线的两种方式

[复制链接]  [移动端链接]
排名
1411
昨日变化
5

217

主题

1191

帖子

4709

积分

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

UID
73452
好友
30
蛮牛币
834
威望
0
注册时间
2015-2-6
在线时间
1301 小时
最后登录
2017-1-20

专栏作家蛮牛译员社区QQ达人活力之星蛮牛哥认证开发者

QQ
发表于 2016-11-15 16:24:10 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 仅为年时 于 2016-11-15 16:28 编辑

201281514134768014.jpg

从屏幕中心发射射线的方法,效果图:
QQ图片20161115162728.png

在一些游戏中,有一个功能是准星对准物体,然后物体显示高亮。

比如说:
一、FPS类游戏,准星对准队友,队友显示为绿色框,对准敌人,敌人显示为红色框。
二、拾取物品,准星对准物品,物品显示高亮。(当然还有一种是鼠标放到物体上,物体显示高亮)。

分析:
想象一下,怎么实现这个功能呢?
两个字:射线

射线的两种方案:
1、取屏幕中心点,转换为世界坐标,向外发射射线。
2、取场景中摄像机位置,向前发射射线。

需要准备的:创建一个第一人称蓝图的实例,创建一个简单场景,创建几个简单地物品。(大家随便建)
如下图:
图片2.png

实现方法:

A、取屏幕中心点法。

首先,打开第一人称角色蓝图,在左边的Functions中创建一个函数,取名随意,我这里取名为Trace,如下图:
图片3.png

然后Trace函数会自动打开,我们在接着Trace创建一个LineTraceByChannel,如下图:
图片4.png

这个方法就是创建一条射线,起点与终点就是Start与End。

起点是屏幕中点,那首先让我们获取屏幕大小,然后打散,再除以二,如下图:
图片5.png

右键创建一个convertScreenLocationToWorldSpace方法(该方法是把当前屏幕坐标转换为世界坐标域),然后再创建一个GetPlayerController,分别把刚刚屏幕大小打散获得的XY值以及GetPlayerController与ConvertScreenLocationToWorldSpace相连,如下图:
图片6.png

这样,我们就得到了屏幕中心点的世界坐标和方向。而终点就是当前坐标加上方向乘以一个长度。链接如下图:
图片7.png

我们可以用下图的选项来测试我们的射线是不是正确的。如下图:
图片8.png

B、取摄像机位置法。

该方法我用一张图表示出来,测试的时候根据场景的不同可能会有点问题,具体原因没有找到,但大部分情况是正确的。如下图:
图片9.png

本篇讲解的是从屏幕中心发射射线的方法,下一篇讲解使物体高亮的判断逻辑。

图片1.png
[发帖际遇]: 仅为年时 乐于助人,奖励 1 蛮牛币. 幸运榜 / 衰神榜

回复

使用道具 举报

3偶尔光临
236/300
排名
7127
昨日变化
6

6

主题

47

帖子

236

积分

Rank: 3Rank: 3Rank: 3

UID
151014
好友
2
蛮牛币
260
威望
0
注册时间
2016-6-6
在线时间
80 小时
最后登录
2016-12-28

蛮牛译员

发表于 2016-11-15 18:31:55 | 显示全部楼层
学无止境~~

回复

使用道具 举报

4四处流浪
357/500
排名
6306
昨日变化
76

5

主题

158

帖子

357

积分

Rank: 4

UID
132417
好友
0
蛮牛币
1549
威望
0
注册时间
2015-12-23
在线时间
66 小时
最后登录
2017-1-20
发表于 2016-11-16 09:23:46 | 显示全部楼层
学习了,谢谢楼主分享

回复 支持 反对

使用道具 举报

4四处流浪
301/500
排名
4681
昨日变化
29

0

主题

31

帖子

301

积分

Rank: 4

UID
157532
好友
0
蛮牛币
581
威望
0
注册时间
2016-7-18
在线时间
84 小时
最后登录
2017-1-20
QQ
发表于 2016-11-16 10:56:06 | 显示全部楼层
学习,感谢分享

回复

使用道具 举报

6蛮牛粉丝
1190/1500
排名
1141
昨日变化
2

0

主题

324

帖子

1190

积分

Rank: 6Rank: 6Rank: 6

UID
111260
好友
0
蛮牛币
3828
威望
0
注册时间
2015-6-30
在线时间
186 小时
最后登录
2017-1-20
发表于 2016-11-16 11:14:55 | 显示全部楼层

学习了,谢谢楼主分享
[发帖际遇]: 漫无边际 发帖时在路边捡到 2 蛮牛币,偷偷放进了口袋. 幸运榜 / 衰神榜

回复 支持 反对

使用道具 举报

4四处流浪
472/500
排名
4612
昨日变化
38

4

主题

147

帖子

472

积分

Rank: 4

UID
175029
好友
5
蛮牛币
962
威望
0
注册时间
2016-10-12
在线时间
131 小时
最后登录
2017-1-20
发表于 2016-11-16 20:12:05 | 显示全部楼层
感谢楼主分享

回复

使用道具 举报

排名
12886
昨日变化
7

0

主题

15

帖子

56

积分

Rank: 2Rank: 2

UID
153599
好友
0
蛮牛币
77
威望
0
注册时间
2016-6-25
在线时间
11 小时
最后登录
2017-1-3
发表于 2016-11-16 21:39:05 | 显示全部楼层
谢谢楼主分享

回复

使用道具 举报

3偶尔光临
241/300
排名
5455
昨日变化
53

0

主题

27

帖子

241

积分

Rank: 3Rank: 3Rank: 3

UID
168796
好友
0
蛮牛币
508
威望
0
注册时间
2016-9-16
在线时间
62 小时
最后登录
2017-1-20
QQ
发表于 2016-11-16 23:41:06 | 显示全部楼层

学习了,谢谢楼主分享

回复 支持 反对

使用道具 举报

6蛮牛粉丝
1145/1500
排名
824
昨日变化
2

1

主题

28

帖子

1145

积分

Rank: 6Rank: 6Rank: 6

UID
100193
好友
1
蛮牛币
2745
威望
0
注册时间
2015-5-14
在线时间
282 小时
最后登录
2017-1-20
发表于 2017-1-11 09:02:02 | 显示全部楼层
难点在材质。

回复

使用道具 举报

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

本版积分规则

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