第一周:MRTK-hololens2-手控/语音/眼控立方体颜色

文章介绍了如何在Unity中使用组件操作立方体,如ConstraintManager、ObjectManipulator和NearInteractionGrabbable,以及ColorChanging脚本实现立方体贴图颜色切换。同时,探讨了如何在MixedRealityToolkit(MRTK)中配置眼动追踪输入系统,包括GazeProvider组件的详细设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

操作1 抓取立方体

组件

在新建的立方体下面挂载三个组件(可以搜索选择)

1.Constraint Manager
        约束管理器组件 用于管理该物体身上所有已挂载的组件 包括呈现,激活,添加等
2.Object Manipulator
        物体操作器  该组件可以对一些行为配置 包括用几只手操作,是否有物理特性,何时激活事件
3.NearInteractionGrabbable
        这是近距离交互里面的抓取组件

操作2 注视立方体变色

代码

using System.Collections;
using System.Collections.Generic;
using UnityEngine;


public class ColorChanging : MonoBehaviour
{
    public Material GreenMaterial;
    public Material RedMaterial;
    public Material BlueMaterial;
    public Material YellowMaterial;
    private Material PreviousMaterial;
    
    

声明了四个材质属性变量,unity中拖来赋值。
而指定了public意味着当前变量可以被其他的脚本或者组件进行修改
而private的变量只能在当前类的实例使用

    void Start()
    {
        PreviousMaterial = GetComponent<Renderer>().material;
    }

    // Update is called once per frame
    void Update()
    {
        
    }

   

GetComponent<组件名>()是十分常用的方法,用来“获取挂载该脚本的游戏对象下面的某一组件
此处获取Renderer组件下面的属性material,并将值赋给material变量PreviousMaterial,后面就可以通过修改脚本属性previousMaterial来修改该游戏对象render下面的材质属性了

    public void TurnRed()
    {
        GetComponent<Renderer>().material = RedMaterial;

        PreviousMaterial = RedMaterial;
    }

    public void TurnBlue(){...}

    public void TurnGreen(){...}

    public void TurnYellow(){...}

    public void TurnBack()
    {
        GetComponent<Renderer>().material = PreviousMaterial;
    }
}

定义的一系列方法,当前游戏对象下的render组件下的material属性修改为redmaterial变量值

组件

还有MRTK的input(添加eye 在input simulator中eye换成mouse)和pointer启用eye tracking

配置

预.代码中检查是否有校准数据

返回true表明该用户眼动校准数据可用,返回false表明校准的数据不可用,null是没有检测到该用户校准数据

1.对当前构建应用启用凝视功能

2.添加凝视数据提供者

整个MRTK配置文件—>输入系统的配置文件—>眼动追踪的配置文件 
 

3.启用眼动追踪指针

4.详细参数设置
游戏对象camera之下的组件GazeProvider设置


lock cursor when focus locked(锁定焦点是锁定光标 此时不追踪眼动)
set fursor invisible when focus locked(锁定光标时设置不可见)
max gaze collision distance(最大碰撞距离)
raycast layer masks(射线检测层掩码设置可以与能试输入进行射线检测的游戏对象层)
stored stability samples(眼动采样频率)
min/max velocity threshold(头部速度阈值范围)

5.选择模拟器

效果展示

原始

手操控

鼠标注视即变色

未解之谜


该处的type找不到Microsoft.MixedReality.Toolkit.WindowsMixedReality.Input下的windows mixed reality eye gaze data provider

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值