Unity 创建Kinect 动作检测实时监控波形图

最近,完成了基于机器学习的Kinect姿势识别的功能。但是,光做一做相应的姿势,收集到识别的数据,总感觉差强人意,少了点什么东西。而且有时候会因为距离kinect的距离远近发生误判的情况,Scene界面什么也没有,只好凭感觉来调整位置。还有就是,面对每秒上百条数据结果,还真是看不过来。于是,我就萌生了一个想法,能不能把收集到的数据展示成为一个类似于实时监控波形图,这样的话,我就能够在Unity上更方便的处理姿势检测的数据啦。
好啦,我们先看一下效果图~
这里写图片描述
嗯,接下来,我们来讲解一下具体的制作过程。
首先是,这个波形图的建立,我们这里使用动态纹理的方式生成。
创建一个新的脚本,我这里命名为HistogramTexture。
哦,对了,在编写本脚本之前,请先在您的项目中增加LMNRY/SetProperty(https://github.com/LMNRY/SetProperty/tree/master/Scripts)这个插件,他可以帮助我们可以在编辑模式下调试的时候,随意概念脚本的属性并显示。
下面是主要程序纹理的代码。
我们可以在类名前面加一个标志[ExecuteInEditMode],这表明我们的代码是可以在编辑模式下使用的。编辑模式下的update函数不会一直调用的,而是当scene界面发生变化的时候才会执行。
切记,在本例中,这个模式我们可以当做最初画程序纹理调试用,当真正运行程序的时候,要把[ExecuteInEditMode]注释掉。

    public Material material = null;
    public bool iscanvas = false;
    private Texture2D m_generatedTexture = null;
    private int base_width;
    private Queue heights = new Queue();
    private float height = 0f;
        #region Material properties
    [SerializeField,SetProperty("textureWidth")]
    private int m_textureWidth = 100;
    public int textureWidth{
        get{
            return m_textureWidth;
        }
        set{
            m_textureWidth = value;
            _UpdateMaterial ();
        }
    }
    [SerializeField,SetProperty("rectangleColor")]
    private Color m_rectangaleColor = Color.yellow;
    public Color rectangleColor{
        get{
            return m_rectang
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值