UE4:actor运动过程中的几种检测
来源:互联网 发布:w3cschool python 编辑:程序博客网 时间:2024/06/03 21:27
项目中用到了检测事件,于是学习了下,顺便这里纪录一下.
1.自定义运动过程中的检测box检测事件。
图1.1
图 1.2
盒体检测是根据设置的起始点和终点,发出的盒状的射线检测框。可以根据盒状射线检测到的结果做出一些响应事件.如图1.2
如本案例, 图1.2,红色方块体在运动的过程中发射方体射线检测,检测到场景中的某种actor,然后打印出改actor的name和collisiontype,并停止运动。
图 1.3
如图1.3,盒体检测的蓝图节点连接。最后的bool值是控制self的移动和停止的。
图 1.4
UE4中提供了丰富的检测功能,目前我用到的有这么几种,射线检测 如图1.4,事件检测,boxcollision检测。射线检测中又分了十几二十中检测机制,单大体原理都相同。
以前在一个虚拟交互样板间的项目中使用过线性射线检测机制,通过鼠标射线拾取场景中的物体切换材质(UI控制)。这个样板间我随后可能会出一个视频专门去讲解一下,因为牵扯到挺多东西的。
2.动画运动过程中的Overlap检测事件:
此案例是导入的盒体动画,skeletalmesh在运动的过程中进行的overlap检测。首先需要设置一下skeletalmesh的碰撞属性
图 2.1
如图 2.1 勾选GenerateOverlaoEvent属性,意思是打开overlap事件属性。另外需要设置碰撞预设值为Overlap碰撞预设。当然,根据自己的需求自定义碰撞预设,让skeletalmesh可以根据需求忽略不需要的actor。
图 2.2
如图2.2,此蓝图较为简单,添加一个oncomponentbeginoverlap事件,按照需求打印出检测到的actor的name和collisiontype值。当overlap事件发生后,停止播放动画。
3.自定义运动过程中的Overlap检测事件:
由于不确定项目需求是动画运动还是自定义tick驱动的运动,所以,两种方式都做了overlap的检测。另外,包工头要求需要精确的碰撞检测,不能用盒体检测,最好用物体自身的碰撞去检测,所以,这里还得用Overlap事件。
图 3.1
这里使用的模型是不规则的,如果用盒体或者球体检测,不能做到精确检测。反之,overlap事件中,模型的任意部分只要发生了重叠事件,都能够触发响应。
图3.2
这里只大致写了制作的思路,很多细节没有写到。有什么不同的朋友可以联系我,大家一起交流下。QQ:251221274
阅读全文
0 0
- UE4:actor运动过程中的几种检测
- 运动中的摄像机检测目标
- Opencv中的几种边缘检测算法
- 三帧差分法 - 运动物体检测 - 行人检测 - 学习研究过程
- [unreal4入门系列之七] UE4中的Actor类和Pawn类
- 运动检测
- ue4 动态增删查改 actor,bp
- UE4蓝图节点翻译---Get Parent Actor
- UE4蓝图节点翻译---Is Child Actor
- UE4蓝图节点目录翻译【目录】--- Actor
- 运动目标检测跟踪各过程算法综述
- 运动目标检测跟踪各过程算法综述
- 运动目标检测跟踪各过程算法综述
- 运动目标检测跟踪各过程算法综述【…
- 运动目标检测跟踪各过程算法综述
- 运动目标检测跟踪各过程算法综述
- 运动目标检测跟踪各过程算法综述
- 存储过程中的几种循环
- Android Api demo系列(19) (Graphics>AnimateDrawables)
- SCI期刊
- ***hdu6183
- Tomcat的配置使用
- react-native run-android 报错
- UE4:actor运动过程中的几种检测
- CentOS 7.0下使用yum安装MySQL
- 【05】vue.js — v-cloak的使用
- Bandwidth Estimation in WebRTC (and the new Sender Side BWE)
- MyBatis_tkmapper
- Android百度地图默认位置中心点设置
- 浅谈JavaScript应用重构
- UVA 10790
- 素数筛法