Unity3D 实现Cave空间 (二)

本文介绍了如何使用Unity与动捕设备(如VRPN)进行通信,通过XBox手柄控制角色移动和旋转,并提供了一个Unity脚本示例。还提供了VRPN插件下载链接。
摘要由CSDN通过智能技术生成

接上一章,Cave空间的功能基本上实现了,我们项目中用到了动捕设备来控制,所以涉及到与unity通信,我们采用了VRPN进行通信。
我们的unity端相当于客户端,与动捕设备建立通信,将动捕的移动和旋转值传到unity里控制相机的移动与旋转。
在这里插入图片描述在这里插入图片描述
通过测试,观察动捕设备的移动和旋转方向是否与unity中相机的相反,如果相反,在InvertAxis中对应的轴后打对勾。
如果需要通过XBox手柄控制角色移动与旋转,那只要控制整体移动与旋转就可以。下面是自己写的移动旋转脚本,可以参考,可以换别的写法也可以。
在这里插入图片描述

void FixedUpdate()
    {
        #region 移动   旋转
        float lh = Input.GetAxis(XBox.LeftStickHorizontal);
        float lv = Input.GetAxis(XBox.LeftStickVertical);

        float rh = Input.GetAxis(XBox.RightStickHorizontal);
        float rv = Input.GetAxis(XBox.RightStickVertical);

        movement = head.forward* lv;
        movement += head.right * lh;
     
        movement.Normalize();
        movement *= runSpeed;
        movement.y = 0f;

        if (rh != 0 || rv != 0)
        {
            transform.Rotate(Vector3.up, -rh * rotateSpeed);
        }

        rigidbody.velocity = new Vector3(movement.x, rigidbody.velocity.y, movement.z) + Vector3.up * Height;
        //Debug.Log(rigidbody.velocity);
        Height = 0f;//初始化跳跃高度

        #endregion
    }

VRPN插件也上传了,如果有需要可以去下载。
路径:https://download.csdn.net/download/sxwwc/89005875

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值