当前位置: 首页 > news >正文

pico手柄和人物模型手部旋转同步,实现手柄控制手臂手部位置移动、手部旋转和手指的操作了

这里的主要内容就是下述代码;

 // 获取左手控制器的旋转(四元数表示)Quaternion aRotationQuaternion = leftHandController.rotation;// 计算旋转差值(四元数表示)Quaternion rotationDifference = Quaternion.Euler(0, -90, -90);// 应用差值到左手控制器的旋转并获取新的四元数Quaternion bRotationQuaternion = aRotationQuaternion * rotationDifference;// 将新的四元数设置给左手的旋转leftHand.rotation = bRotationQuaternion;

下面是全部代码、加入Animation 的ik控制器和手部动画控制就可以实现手柄控制手臂手部位置移动、手部旋转和手指的操作了

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class NewBehaviourScript : MonoBehaviour
{//头部控制器(vr头盔)public Transform XROrigin;//头部控制器(vr头盔)public Transform headController;//左手控制器(左手柄)public Transform leftHandController;//右手控制器(右手柄)public Transform rightHandController;public Transform player;//头部rigpublic Transform head;//左手rigpublic Transform leftHand;//右手rigpublic Transform rightHand;// Start is called before the first frame updatevoid Start(){}// Update is called once per framevoid Update(){//修改角色朝向Vector3 cameraForward = headController.forward;cameraForward.y = 0;player.rotation = Quaternion.LookRotation(cameraForward);//修改角色位置 Vector3 newPosition = XROrigin.position ;transform.position = newPosition;//修改角色左手位置leftHand.position = leftHandController.position;// 获取左手控制器的旋转(四元数表示)Quaternion aRotationQuaternion = leftHandController.rotation;// 计算旋转差值(四元数表示)Quaternion rotationDifference = Quaternion.Euler(0, -90, -90);// 应用差值到左手控制器的旋转并获取新的四元数Quaternion bRotationQuaternion = aRotationQuaternion * rotationDifference;// 将新的四元数设置给左手的旋转leftHand.rotation = bRotationQuaternion;}}

在这里插入图片描述


http://www.mrgr.cn/news/20636.html

相关文章:

  • 2024 年高教社杯全国大学生数学建模竞赛B题4小问解题思路(第二版)
  • python circular import python循环导入问题
  • 进销存管理系统源码
  • C++ 模板进阶知识——万能引用
  • blast的快速安装使用-简易版
  • 基于STM32的RTOS--freertos的使用(HAL实现多任务)
  • 逻辑回归模型
  • vue3 通过 绑定 ref 重置 DOM
  • 【计算机网络】TCP连接如何确保传输的可靠性
  • PMP错题总结(十七)
  • Circuitjs 在线电路模拟器使用指南
  • linux curl命令介绍以及使用
  • 科研绘图系列:R语言折线图(linechart plots)
  • 2024年高教杯国赛(E题)数学建模竞赛解题思路|完整代码论文集合
  • Mybatis 多表联查
  • LCR 017
  • 9.5javaweb项目总结
  • kubelet 探针
  • 树莓派点灯(TODO)
  • 从0到1深入理解vite