IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 游戏开发 -> [XR]动捕 UnityXR + FinalIK(VRIK) + SteamVR -> 正文阅读

[游戏开发][XR]动捕 UnityXR + FinalIK(VRIK) + SteamVR

开发环境:

  1. Windows 10 专业版;
  2. Unity 2020.3.23f1c1 (64-bit);
  3. SteamVR Plugin (v2.7.3),SteamVR Plugin | Integration | Unity Asset Storeicon-default.png?t=LA92https://assetstore.unity.com/packages/tools/integration/steamvr-plugin-32647
  4. Final IK v2.0;
  5. Vive?Pro?套件;
  6. Vive Tracker v2.0,6个;
  7. 虚拟人物模型:Final IK自带例子人物模型、Daz3D下载的人物模型;

开发步骤:

  1. 安装SteamVR相关环境(略),头盔和控制器可以正常使用;
    1. 配对Tracker:从Steam启动SteamVR后,菜单 =>?设备 =>?配对控制器 =>?我想匹配不同类型的控制器 =>?选择Tracker
    2. 配对成功后,在SteamVR窗口能看到所有设备都被点亮;
  2. 获取Tracker数据:
    1. 导入SteamVR Plugin,按官方文档操作即可;
    2. 上代码:
      ///  获取设备方式一:
      // 添加设备监听
      UnityEngine.XR.InputDevices.deviceConnected += OnDeviceConnected;
      
      ///  获取设备方式二:
      var inputDevices = new List<UnityEngine.XR.InputDevice>();
      UnityEngine.XR.InputDevices.GetDevices(inputDevices);
      
      /// 判断设备类型
      if (device.characteristics == InputDeviceCharacteristics.TrackedDevice)
      {
          // tracker
          // 获取Tracker空间坐标
          Vector3 pos = new Vector3();
          device.TryGetFeatureValue(CommonUsages.devicePosition, out pos);
          // 获取Tracker旋转数据
          Quaternion rotation = new Quaternion();
          device.TryGetFeatureValue(CommonUsages.deviceRotation, out rotation);
      }
      
      

    3. 实时获取Tracker坐标和旋转数据;
  3. 虚拟人物模型预处理:
    1. 修改AnimationType:导入的fbx => Rig => AnimationType => Humanoid;
    2. 查看 Avatar?的Configure;
  4. 使用FinalIK中的VRIK组件:
    1. 模型Prefab挂载组件VRIK,如果符合人体骨骼命名和结构,则References里会自动挂载,否则自己手动设置;
  5. 添加代码绑定Tracker和VRIK骨骼节点逻辑:
    1. 代码:
      // 校准:
      // ik : 挂载VRIK的场景中人物模型对象
      // settings :  RootMotion.FinalIK.VRIKCalibrator.Settings
      // 其他参数为6大主要节点Transform:头、躯干、左手、右手、左脚、右脚,使用同步的Tracker对象即可
      RootMotion.FinalIK.VRIKCalibrator.Calibrate(ik, settings, headTracker, bodyTracker, leftHandTracker, rightHandTracker, leftFootTracker, rightFootTracker);
      // 其他校准函数参考官方文档

  6. 运行,查看动捕效果:
    1. 如果发现Game的视口比例不对(被锁死),可检查Camera组件的Output下XR Rendering字段,可以去掉,也可以新建一个Camera,在另一个Display上查看;

参考:

  1. Unity 官方文档:针对 XR 配置 Unity 项目 - Unity 手册要针对 XR 配置您的 Unity 项目,请按照以下步骤操作:https://docs.unity.cn/cn/current/Manual/configuring-project-for-xr.html
  2. Steam?官方文档:SteamVR Unity Plugin | SteamVR Unity Plugin https://valvesoftware.github.io/steamvr_unity_plugin/index.html
  3. Vive?官方文档:Developer Resources - Developer Resources https://developer.vive.com/resources/?site=cn
  4. Final?IK?官方文档:VRIKicon-default.png?t=LA92http://www.root-motion.com/finalikdox/html/page16.html
  5. 其他:仅需两个摄像头就可实现全身追踪-Mocap For All_哔哩哔哩_bilibilitwitter/Akiya_Souken_VR对于大部分的VR玩家来说,全身追踪主要被用于VRchat中,通过绑在身上的追踪器来完成,从需要SteamVR基站到无需基站的6点惯性定位解决方案。现在,有一款新的全身追踪方案,无需基站,无需追踪器,它就是“Mocap For All”。这是一款来自日本开发者正在开发的,允许任何人都可使用的运动捕捉软件而无需特殊设备,最低要求是将两个网络摄像头连接到PChttps://www.bilibili.com/video/av333290600
  游戏开发 最新文章
6、英飞凌-AURIX-TC3XX: PWM实验之使用 GT
泛型自动装箱
CubeMax添加Rtthread操作系统 组件STM32F10
python多线程编程:如何优雅地关闭线程
数据类型隐式转换导致的阻塞
WebAPi实现多文件上传,并附带参数
from origin ‘null‘ has been blocked by
UE4 蓝图调用C++函数(附带项目工程)
Unity学习笔记(一)结构体的简单理解与应用
【Memory As a Programming Concept in C a
上一篇文章      下一篇文章      查看所有文章
加:2021-12-05 12:21:14  更:2021-12-05 12:21:28 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 21:05:32-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码