【Oculus Interaction SDK】(九)使用控制器时显示手的模型
前言
这篇文章是【Oculus Interaction SDK】系列的一部分,如果发现有对不上的对方,可以回去翻看我之前发布的文章,或在评论区留言。如果文章的内容已经不适用于新版本了,也可以直接联系我,我会持续更新文章内容。
当前适用版本:
- Unity 版本:2021.3.7f1c1
- Oculus Interaction SDK 版本:47.0
文章最近更新日期:2023.02.14
在之前的文章里,我们都是直接使用 OculusInteractionSampleRig
来进行操作的,它会直接识别我们是在使用手柄还是单纯的手,从而显示对应的控制器模型或手的模型
如果我希望使用控制器时在游戏中也显示手的模型,这该怎么办呢?
别着急,这就是本篇文章要解决的问题!
创建新的控制器
首先,我们需要禁用原本的控制器
复制一个 Hands,重命名为 Controller Hands
移除 Controller Hands 的 Hand Skeleton OVR
组件
找到 HandDataSource,删除它所有的组件(注:从此处开始,后续步骤左右手类似,文章只展示左手的设置过程)
为 HandDataSource 添加 From OVR Controller Hand Data Source
组件
Camera Rig Ref 和 Tracking To World Transformer 引用 InputOVR
,Hmd Data 引用 Hmd
,Update After 引用 LeftHand,Handedness 选择 Left
找到 LeftHand,在 Hand 组件的 Update After 和 I Modify Data From Source Mono 处引用 HandDataSource
在 Project 窗口搜索 OculusHand,找到 OculusHand_L / OculusHand_R 使其成为对应的 HandDataSource 的子物体
找到 OculusHand_L > l_handMeshNode,禁用 Skinned Mesh Renderer 组件
回到 OculusHand_L,在 Animator 组件的 Controller 处引用 HandController_l_ 作为动画控制器
给 OuclusHand_L 添加 Animated Hand OVR
组件,Controller 选择 L Touch,Animator 引用自身的 Animator 组件
Animator 组件的 Culling Mode 选择 Always Animate
接下来这一步很关键!!
锁定 HandDataSource 的 Inspector 面板,按住 Alt 键后点击 b_l_wrist 展开所有子物体,然后把手指的骨骼对应拖动到 Bones 列表(顺序如下)
这样手就出现了
目前来看我们的手与控制器的位置与旋转方向都产生了一定的偏差,下一步就来解决这个问题
设置手的位置和方向
在 OculusInteractionSampleRig 的子物体中找到 OVRControllerPrefab,关闭控制器模型的显示
然后回到手的 HandDataSource,在 From OVR Controller Hand Data Source 中调整手的偏移量(此处左右手数据一致)
我们来看看效果(为了演示效果,左手的控制器模型没有禁用)
最后,找到 HandInteractorsLeft 的子物体 HandGrabAPI,添加 Finger Raw Pinch Injector
组件,并引用自身的 Hand Grab API 组件(右手也一样)
大功告成!!!
参考资料
https://www.youtube.com/watch?v=GF2BswT7EcM
【Oculus Interaction SDK】(九)使用控制器时显示手的模型的更多相关文章
- 【Oculus Interaction SDK】(一)设置 VR 相机与控制器 && 实现简单的抓取功能
前言 前段时间 Oculus 的 SDK 频繁更新,很多已有的教程都不再适用于现在的版本了.本系列文章的主要目的是记录现版本常见功能的实现方法,便于自己后续开发.当然,不排除我文章刚写完 SDK 又变 ...
- 【Oculus Interaction SDK】(二)抓取释放效果的物理优化
前言 这篇文章是[Oculus Interaction SDK]系列的一部分,如果发现有对不上的对方,可以回去翻看我之前发布的文章,或在评论区留言.如果文章的内容已经不适用于新版本了,也可以直接联系我 ...
- 【Oculus Interaction SDK】(五)设置不同的抓握手势
前言 这篇文章是[Oculus Interaction SDK]系列的一部分,如果发现有对不上的对方,可以回去翻看我之前发布的文章,或在评论区留言.如果文章的内容已经不适用于新版本了,也可以直接联系我 ...
- 【Oculus Interaction SDK】(六)实体按钮 && 按压交互
前言 这篇文章是[Oculus Interaction SDK]系列的一部分,如果发现有对不上的对方,可以回去翻看我之前发布的文章,或在评论区留言.如果文章的内容已经不适用于新版本了,也可以直接联系我 ...
- 【Oculus Interaction SDK】(三)限制可操作物体的移动 / 旋转
前言 这篇文章是[Oculus Interaction SDK]系列的一部分,如果发现有对不上的对方,可以回去翻看我之前发布的文章,或在评论区留言.如果文章的内容已经不适用于新版本了,也可以直接联系我 ...
- ios 仿新浪微博 UINavigationController 向左滑动时显示上一个控制器的View.
仿新浪微博 UINavigationController 向左滑动时显示上一个控制器的View. 实现原理,UINavigationController 的 self.view显示时把当前显示的vie ...
- jquery自定义滚动条 鼠标移入或滚轮时显示 鼠标离开或悬停超时时隐藏
一.需求: 我需要做一个多媒体播放页面,左侧为播放列表,右侧为播放器.为了避免系统滚动条把列表和播放器隔断开,左侧列表的滚动条需要自定义,并且滚动停止和鼠标离开时要隐藏掉. 二.他山之石: 案例来自h ...
- 启动mysql时显示:/tmp/mysql.sock 不存在的解决方法
启动mysql时显示:/tmp/mysql.sock 不存在的解决方法 启动mysql时报错的解决(mysql 5.0.45 redhat as 43) ====================== ...
- JS实现类似QQ好友头像hover时显示资料卡的效果
一.应用场景 鼠标hover弹出div,并且鼠标离开后不能马上隐藏,因为这个div上还有功能入口.比如: 鼠标经过好友列表中的好友头像时显示资料卡的效果 hover时显示二维码 二.实现 用如下这样一 ...
- vue隐藏APP启动时显示的{{}}
vue隐藏APP启动时显示的{{}} vue组件在编译好之前会显示{{msg}},在官网上找到这个
随机推荐
- Pthread 并发编程(三)——深入理解线程取消机制
Pthread 并发编程(三)--深入理解线程取消机制 基本介绍 线程取消机制是 pthread 给我们提供的一种用于取消线程执行的一种机制,这种机制是在线程内部实现的,仅仅能够在共享内存的多线程程序 ...
- Leetcode 799.香槟塔:动态规划+递归
香槟塔:动态规划+递归 题目来源:Leetcode 22/11/20每日一题:799.香槟塔 https://leetcode.cn/problems/champagne-tower 我们把玻璃杯摆成 ...
- 将现有源码添加进repo管理
将现有源码添加进repo管理 适用于大型项内无源码管理(git/repo)的源码 前言 公司在进行一些项目的开发时,从供应商原厂给的code内没有包含任何源码管理的文件.需要多人协同开发,但由于项 ...
- 目标检测模型的评价标准-AP与mAP
目录 目录 目录 前言 一,精确率.召回率与F1 1.1,准确率 1.2,精确率.召回率 1.3,F1 分数 1.4,PR 曲线 1.4.1,如何理解 P-R 曲线 1.5,ROC 曲线与 AUC 面 ...
- Microsoft.IO.RecyclableMemoryStream源码解读
一.RecyclableMemoryStreamManager 源码地址:https://github.com/Microsoft/Microsoft.IO.RecyclableMemoryStrea ...
- SpringBoot中搭配AOP实现自定义注解
1 springBoot的依赖 确定项目中包含可以注解的依赖 <dependency> <groupId>org.springframework.boot</groupI ...
- JuiceFS CSI Driver 常见问题排查指南
Kubernetes 作为资源调度和应用编排的开源系统,正在成为云计算和现代 IT 基础架构的通用平台.JuiceFS CSI Driver 实现了容器编排系统的存储接口,使得用户可以在 Kubern ...
- Mqttnet内存与性能改进录
1 MQTTnet介绍 MQTTnet是一个高性能的 .NET MQTT库,它提供MQTT客户端和MQTT服务器的功能,支持到最新MQTT5协议版本,支持.Net Framework4.5.2版本或以 ...
- SpringCloud微服务框架复习笔记
SpringCloud微服务框架复习笔记 什么是微服务架构? 微服务是一种软件开发技术,它提倡将单一应用程序划分成一组小的服务,服务之间互相协调.互相配合,为用户提供最终价值.每个服务运行在其独立的进 ...
- week_9(推荐系统)
Andrew Ng 机器学习笔记 ---By Orangestar Week_9(推荐系统) 1. Problem Formulation 这节就仅仅简单地介绍了一下 推荐系统的应用和实例.完全可以略 ...