查看原文
其他

VR丨手把手教你用UE4开发VIVE:抛物线定位移动篇

2017-04-11 甲虫· Gad-腾讯游戏开发者平台

系列回顾:

VR丨基础教程:手把手教你用UE4开发VIVE


Demonstration.gif


点击阅读原文,下载弧线检测工具蓝图:



1.Floor_Target继承自Actor类挂载一个cube碰撞器

2.LaserTool继承自ActtorComponent类用以挂载到其他实例化对象上方便调用加载


实现思路:
抛物线位移分为三部分来说


1.抛物线射线检测
2.绘制抛物线

3.移动角色控制器


API提示【抛物线碰撞检测】


抛物线可以被分解成线段,即将连续的点用线段首尾相连表示,“抛物线检测”则使用多次的线段碰撞检测来完成


射线碰撞检测API


碰撞检测API

射线碰撞检测API


开始编写抛物线工具蓝图


(1)创建一个继承自ActtorComponent的蓝图作为工具


工具蓝图基类

(2)创建一个Function作为基础算法函数;我们将通过这个基础算法获得轨迹点的列表信息及包含的碰撞检测结果


算法函数提供后续绘制和定位数据

输入

起点坐标,起点朝向,vector3类型变化量,每段线段长度,默认循环次数,


输出

碰撞检测所得Hit,检测结果,检测所经历的轨迹点列队


基础算法蓝图

(3)接下来创建对外接口函数


创建对外函数接口

将函数设置为公开函数


一般均为public


接口设置思路


输入

一般输入时不需要总改变检测弧线形状颜色等数据,故对外接口只接收起点坐标和朝向即可;
其他有关弧线检测所需的数据均在工具类内使用默认值,如需形状和检测长度理想可自行修改。


输出

返回本次弧线检测的检测结果和Hit信息,给调用者用来做处理


对外函数接口

工具使用方法


将LaserTool的组件拖拽到之前准备好的角色控制器上


LaserTool继承自ActtorComponent

角色控制器蓝图实现

将Floor_Target拖拽到场景并改变其大小;也可多个拼接使用


拉伸拼接地面即可

即可实现抛物线检测定位位移

点击阅读原文,下载简单易迁移的抛物线定位移动蓝图包。


今日推荐


腾讯互娱发布2016VR技术白皮书

行业杂谈:在没有帕胖的时代怀念独占



添加小编微信,可享双重福利

1.加入GAD游戏VR交流圈

获取行业干货资讯,观看大牛分享直播

2.直接领取GAD独家VR资料库,地址在小编朋友圈

包括研究报告、游戏制作、项目分享等全套资料


↓长按添加小编GAD-安琪↓

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存