本文章由cartzhang编写,转载请注明出处。 所有权利保留。

文章链接: http://blog.csdn.net/cartzhang/article/details/44748475

作者:cartzhang

说明:kinect使用的是一代版本,SDK为1.8版本

一、概述

根据上篇博客,可大致知道Kinect舒适区范围。下面就借助Ue4平台来表现一下。

建立工程,加载Kinect库。当然,我并没有直接使用Kinect库,而是自己封装了一个自己的库。

使用方法与添加UE4的各种库类似,具体可以UE4的wiki上自行搜索,当然自己也有尚未解决的问题。

二、BP代码部分

在我的Character的头文件上加入调用Kinect玩家位置的函数

UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = Gameplay)
bool BGetPostionSucess;
UFUNCTION(BlueprintCallable, Category = KINECTUE)
FVector4 GetPlayerPositon();

CPP中代码如下:

FVector4 AU4UE4TestCharacter::GetPlayerPositon()
{
FVector4 VPosition = FVector::ZeroVector;
BGetPostionSucess = false;
UDKinect::UDKVector pPosition;
int iFlag = KinectGetUserPosition(USER_INDEX, pPosition);
if (iFlag == 0)
{
BGetPostionSucess = false;
//GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Red, "can get player position for the moment");
}
else{
VPosition = FVector(pPosition.x, pPosition.y, pPosition.z);
BGetPostionSucess = true;
}
return VPosition;
}

这样就基本搞定了代码部分。

三、Blueprint的函数实现

首先是初始化舒服区的位置,在BP中写一个函数即可。

根据之前博客范围,我想把左右范围控制在角度为60度,这样做有就跟为90-60= 30度,这样根据正切函数就可以得到舒适距离与左右范围的为dist/tan60;因此在下图中有个变量叫做根号三,就是约等于1.732。

我本有意画个图,奈何画的比较烂,不贴了。

初始化图:

说明:MinZ为舒适区的最近距离,MaxZ为舒适区设置的最大距离。这个根据Kinect摄像头的高度和角度来调节。

接下来就是画线了:画了红绿两种线段来表示区域。

红色交汇处为左上角点,绿色交汇点为右下角点。

Basic position是kinect的位置,也可以叫做相对位置点。

然后就是玩家位置了,BP如下:

四、主BP调用

这些函数搞定以后,就是在关卡的BP中进行调用了。这个就简单多了。

初始化调用:

位置实时判断表示:

五、测试结果

若都写完了,编译也没有错误,就Play来运行检测一下。

看你的Kinect是否可以找到玩家位置,我这里用来一个小木块来代替了玩家,做了个小gif.

THE  END!

---------------------------

若有问题,请随时联系!

非常感谢!

Kinect舒适区范围--UE4 的Blueprint测试范例的更多相关文章

  1. 刻意练习,逃离舒适区——怎么样成为一个高手[罗辑思维]No.183_知识笔记

    2016/10/30 14:31:32   一.对事物的见解分为两类:         1.评论性的见解               说的内容都是对的,符合常理的,但是却是不解决问题的.       ...

  2. 从web到游戏,走出舒适区

    最近很久没有更新博客了,实在太忙.因为在这段时间里我做了一个改变了我现在职业生涯的一个决定,而我现在正在为这个决定而加倍的努力付出. 我认为我还是有必要把这个比较重要的节点记录下来,我也是第一次在自己 ...

  3. ue4 character 物理测试

    charactor里 CapsuleComponnet Mesh CharacterMovement 3个组件里有有物理开关 目前看Mesh的Simulate Physics+Enable Gravi ...

  4. redis集群配置及运行命令(windows和centos)附Python测试范例代码

    表示配置主服务器器的IP和端口 slaveof <masterip> <masterport> # 设置slave是否是只读的.从2.6版起,slave默认是只读的. slav ...

  5. ASP.NET MVC4 Jquer 日期控件 测试范例

    <!doctype html>   <html lang="en"> <head> <meta charset="utf-8&q ...

  6. 【jmeter测试范例】001——TCP测试

    1.打开Jmeter(或者运行NewDriver.java启动Jmeter) 2.新建一个测试计划 ······ 3.新建线程组 4.设置线程组的参数 1.线程的数量 2.要在多久内完成,即每个请求发 ...

  7. Kinect 摄像头范围介绍和玩家舒适距离实测

    本文章由cartzhang编写,转载请注明出处. 所有权利保留. 文章链接: http://blog.csdn.net/cartzhang/article/details/44588097 作者:ca ...

  8. 【测试工程师面试】 记录XX银行面试

    LZ在一个18线小城市做测试,近来想走出自己的舒适区,去做一点不一样的测试工作. 18线地区,测试工作并不多.最好的差不多就是LZ目前待着的公司了.遂决定去魔都闯荡几年,对一个在魔都无房无车无户口的人 ...

  9. 月薪15k的测试员需要学习什么技术?

    想了很久,决定还是要写一篇这样的文章出来,月薪15k的测试员需要学习什么技术?我觉得测试想要月薪15k并不难,只要做到我说的这几点肯定是可以的! 克服懒惰 我觉得,越是聪明的人越是觉得自己“懒惰”.大 ...

随机推荐

  1. 内核中的宏定义__init、__initdata和__exit、__exitdata

    __init.__initdata和__exit.__exitdata的定义位于<kernel/include/linux/init.h> /* These are for everybo ...

  2. Spider_reg

    # 解析 数据的分类 结构化数据 有固定的格式,如 :HTML.XML.JSON 非结构化数据 图片.音频.视频,这类数据一般都存储为二进制 # 正则表达式 re 使用流程 创建编译对象:p = re ...

  3. 洛谷 P4779【模板】单源最短路径(标准版)

    洛谷 P4779[模板]单源最短路径(标准版) 题目背景 2018 年 7 月 19 日,某位同学在 NOI Day 1 T1 归程 一题里非常熟练地使用了一个广为人知的算法求最短路. 然后呢? 10 ...

  4. maven仓库快速镜像

    国内连接maven官方的仓库更新依赖库,网速一般很慢,收集一些国内快速的maven仓库镜像以备用. ====================国内OSChina提供的镜像,非常不错=========== ...

  5. 找不到或无法载入主类 org.jivesoftware.openfire.starter.ServerStarter

    刚接触openfire的配置就出现了这个错误.解决方法非常easy,忘记了将openfire的源文件加入到user entries中了

  6. Android提示版本号更新操作流程

    Android提示版本号更新操作流程 2014年5月8日: andorid的app应用中都会有版本号更新的操作,今天空暇的时候就花了点心思弄了一下.主要技术方面用到了AsyncTask异步载入.htt ...

  7. VC++ 6.0 BUG BUG BUG BUG BUG

    http://blog.163.com/amao831@126/blog/#m=0 我经常在的VC++6.0中 定义某个类的对象时 再用.访问或者->访问时不自动弹出他的成员函数或者成员变量 最 ...

  8. 【习题 6-11 UVA - 10410】Tree Reconstruction

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 可以先确定当前这棵子树的dfs序的范围. 然后第一个元素肯定是这棵子树的根节点. 那么只要在这棵子树的范围里面枚举节点. 看看有没有 ...

  9. sass和less,优秀的前端样式预处理器

    身为切图界的一员,或者说在前端界打滚了一段日子的你.会慢慢地发现.如今的css编写已经不能满足自己的效率. 假设有更强大的框架,让你的css更灵活和更easy复用和维护,那该多好啊.非常明显,这个早已 ...

  10. Android 撕衣服(刮刮乐游戏)

    项目简单介绍: 该项目为撕衣服,相似刮刮乐游戏 具体介绍: 用户启动项目后.载入一张图片,当用户点击图片的时候,点击的一片区域就会消失.从而显示出在这张图片以下的图片 这个小游戏相似与刮奖一样,刮开涂 ...