VR下实现匕首的功能,需求如下:

1,玩家可以拿着一把匕首攻击怪物,攻击的伤害,依据玩家攻击时的速度,和攻击到怪物的部位决定

2,攻击到怪物的位置会播放一个溅血的特效

3,在比较短暂的时间内,玩家攻击的动作必须要具有一定的幅度才会有伤害,也就是说,在攻击到怪物时,玩家持刀的手臂必须做一定距离的运动.

作此限制,是为了避免接触怪物即造成伤害,以至于玩家只需要不断的微小移动手臂就可以反复攻击

这里的几个难点如下:

一,如何判断匕首攻击到怪物的具体位置和部位呢?

首先想到的是通过设置Collison Response为Block来解决的, 如果这样做,那么刀与玩家自身以及世界中的物体产生碰撞时,刀就会影响被碰撞物体的运动,这是不想看到的.

那么可否设置Collison Response不为Overlap呢,这样设置,刀不会影响物体的运动,可以插入到物体中,可是Overlap时得到的HitResult却不含有Location以及BoneName.

最后想到可以使用BoxTraceByChannel来解决,如下图所示

每隔一段时间执行一次BoxTraceByChannel就可以获得碰撞信息

注:途中的Box是一个BoxCollison,使用它的形状包围刀,方便设置和调整,如下图所示

二,如何判断玩家在攻击到怪物之前的一段时间内是否有一定幅度的运动呢?

再具体一下上述问题中的时间和幅度,假设时间是0.5s,距离是0.5m.

那么问题就转化为:如何确定玩家在攻击到怪物的0.5s时间内,玩家距离攻击位置的最大距离超过0.5m

也就是说,我们需要知道在攻击到怪物之前的0.5s内,玩家的移动位置,然后找出距离攻击位置最大的,如果超过0.5m,此次攻击是有效的.

因为我们不知道玩家何时会攻击到怪物,所以我们必须保存玩家当前时刻之前的0.5s内的所有位置,我们可以保存20个,那么0.5/20 = 0.025s/个,

也就是每隔0.025s采集一下玩家手臂的位置循环保存到一个长度20的数组里即可.

转载于:https://www.cnblogs.com/sichuanke/p/6764340.html

UE4实现VR下匕首攻击的方法相关推荐

  1. linux arp防火墙关闭,解决linux下arp攻击的方法

    一般Windows用户可以使用antiArp防火墙,但是有些计算专业的朋友们由于工作或其他原因使用的是linux系统,那么linux下arp攻击怎么办呢?下面就是一位高手解决linux下arp攻击的方 ...

  2. linux apr防火墙,教你一招:解决linux下arp攻击的方法

    一般Windows用户可以使用antiArp防火墙,但是有些计算专业的朋友们由于工作或其他原因使用的是linux系统,那么linux下arp攻击怎么办呢?下面就是一位高手解决linux下arp攻击的方 ...

  3. linux防火墙arp攻击,解决linux下arp攻击的方法

    一般Windows用户可以使用antiArp防火墙,但是有些计算专业的朋友们由于工作或其他原因使用的是linux系统,那么linux下arp攻击怎么办呢?下面就是一位高手解决linux下arp攻击的方 ...

  4. linux arp攻击教程,Linux下防御arp攻击的方法

    Linux下防御arp攻击的方法 发布时间:2008-09-08 17:09:19   作者:佚名   我要评论 1.获取同一网段下所有机器MAC地址的办法 机房有机器中毒,发arp包,通过arpsp ...

  5. linux的cc防火墙,LNMP下安裝CSF防火墙、CC攻击解决方法

    被DDOS攻击了以后,就一直找解决的方法.询问了很多人,最后让Kiloserve的技术人员帮我弄些方法,其中有提到过CFS 这个LINUX上的防火墙,记得上次KVM.LA的K总也提过,最终我还是选择了 ...

  6. Epic Games资深程序工程师王祢: 使用UE4制作VR内容的优化

    游戏兵工厂新闻报道: 11月21日下午,由蛮牛精心打造的开发者线下技术交流平台,第四届蛮牛杯思享汇系列活动(北京站)在金长安大厦圆满结束.来自蛮牛社区的游戏开发者.VR行业.游戏产业以及媒体记者等超1 ...

  7. 使用UE4开发VR项目_性能优化(一)_常用工具

    原作者:Mullin-ぼくリん <使用UE4开发VR项目-性能优化>系列文章将分成三篇分别介绍使用UE4开发VR项目的一些工具使用和VR优化思路.目的是总结UE4开发VR项目中常用的一些调 ...

  8. VR下双手与物体的交互

    背景 Oculus的Touch, HTC Vive的Controller, PSVR的PS Move, 三家一线VR硬件都在给大家传达一个信息: VR下能够模拟双手的体感控制器是一个趋势. 在VR游戏 ...

  9. 对抗样本无法被重建!CMU提出通用的无监督对抗攻击检测方法

    作者 | Ben Dickson 编译 | 琰琰 机器学习在应用程序中的广泛使用,引起了人们对潜在安全威胁的关注.对抗性攻击( adversarial attacks)是一种常见且难以察觉的威胁手段, ...

最新文章

  1. xubuntu18.04安装Google拼音输入法
  2. ubuntu下配置eclipse3.3
  3. Android源码分析--MediaServer源码分析(二)
  4. 数论 - 算数基本定理的运用 --- nefu 118 : n!后面有多少个0
  5. Minimum Inversion Number HDU - 1394(权值线段树/树状数组)
  6. 前端学习(2570):template和jsx的对比
  7. oracle 时间集合,oracle 日期函数集合(集中版本)第2/2页
  8. idea编辑区光标问题
  9. Ubuntu Linux服务器配置SSH无密码登陆
  10. 荣耀Magic 2 3D感光版来了,和苹果Face ID系统有何不同?
  11. android下拉刷新完全解析,教你如何一分钟实现下拉刷新功能,高仿京东下拉刷新,轻松上手!...
  12. 远程服务器桌面配置iis6,windows 2003服务器安装 IIS6.0和IIS自带FTP服务器图文教程...
  13. 借助 Material You 动态配色丰富您的应用
  14. Unity 实现批量Build打包
  15. 微吼直播 html5,微吼直播jssdk接入指引.pdf
  16. 十五、分布式相关理论
  17. 在到达胜利之前无法回头
  18. android投影到win7,求教,如何把安卓手机屏幕投射到win7电脑上-win7投屏设置,手机投屏到电脑win7...
  19. 企业从无到有,云账户CEO大谈创业时代的创业者思维
  20. spark.read.option参数

热门文章

  1. DELPHI XE7\XE8 移动开发,Android、iOS
  2. Nginx启动只有master进程而没有worker进程
  3. “秘密”的火爆注定将只是昙花一现?
  4. 【Flink】FlinkSQL代码格式问题
  5. 插件学习:jquery.slimscroll.min.js
  6. 网易2017校园招聘笔试题 回文序列
  7. 驾考科目三理论高频和易错点总结
  8. WMS server error. WMS request not enabled. Check wms/ows_enable_request settings
  9. 2.如何用chatgpt辅助撰写英文简历(同样可实用中文)
  10. java.lang.SecurityException: Not allowed to change Do Not Disturb state - 免打扰模式异常