UE4 HTC VIVE -房产漫游制作教程-抛物线移动篇

UE4 HTC VIVE -房产漫游制作教程-抛物线移动篇_第1张图片
实现效果演示

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

1.抛物线射线检测
2.绘制抛物线
3.移动角色控制器


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

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

射线碰撞检测API
UE4 HTC VIVE -房产漫游制作教程-抛物线移动篇_第2张图片
碰撞检测API
UE4 HTC VIVE -房产漫游制作教程-抛物线移动篇_第3张图片
射线碰撞检测API

开始编写抛物线工具蓝图

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


UE4 HTC VIVE -房产漫游制作教程-抛物线移动篇_第4张图片
工具蓝图基类

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


UE4 HTC VIVE -房产漫游制作教程-抛物线移动篇_第5张图片
算法函数提供后续绘制和定位数据

传入:起点坐标,起点朝向,vector3类型变化量,每段线段长度,默认循环次数,
返回值:碰撞检测所得Hit,检测结果,检测所经历的轨迹点列队

UE4 HTC VIVE -房产漫游制作教程-抛物线移动篇_第6张图片
基础算法蓝图

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


UE4 HTC VIVE -房产漫游制作教程-抛物线移动篇_第7张图片
创建对外函数接口

将函数设置为公开函数


UE4 HTC VIVE -房产漫游制作教程-抛物线移动篇_第8张图片
一般均为public
接口设置思路
输入

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

输出

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

UE4 HTC VIVE -房产漫游制作教程-抛物线移动篇_第9张图片
对外函数接口
UE4 HTC VIVE -房产漫游制作教程-抛物线移动篇_第10张图片
这里补一下抛物线长度说明,已在虚幻中国社区回答过
工具使用方法

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


UE4 HTC VIVE -房产漫游制作教程-抛物线移动篇_第11张图片
LaserTool继承自ActtorComponent
UE4 HTC VIVE -房产漫游制作教程-抛物线移动篇_第12张图片
蓝图连接方式

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


拉伸拼接地面即可
UE4 HTC VIVE -房产漫游制作教程-抛物线移动篇_第13张图片
即可实现抛物线检测定位位移

你可能感兴趣的:(UE4 HTC VIVE -房产漫游制作教程-抛物线移动篇)