HTC 获取trigger键,按下执行相应操作

本文介绍了两种Unity脚本实现方案:一种通过触发器控制粒子系统的开关,另一种通过手柄触发器控制动画播放。这两种方法均使用了SteamVR库来处理输入事件。

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

第一种:

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

public class DoMieHuoTrigger : MonoBehaviour {

	public GameObject MieHuoParticle;
	void Start()
	{
		var trackedController = GetComponent<SteamVR_TrackedController>();
		if (trackedController == null)
		{
			trackedController = gameObject.AddComponent<SteamVR_TrackedController>();
		}

		trackedController.TriggerClicked += new ClickedEventHandler(OnTriggerClicked);
	}

	void OnTriggerClicked(object sender, ClickedEventArgs e)
	{
		if (GameHeper.isStartMieHuo) {
			MieHuoParticle.SetActive (!MieHuoParticle.activeSelf);
		} else {
			MieHuoParticle.SetActive (false);
		}

	}
}

第二种:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
/* 获取手柄,如果按下trigger,手会播放动画一遍*/
public class TriggerPlay : MonoBehaviour {

    public Animator HandCtrl;
    private SteamVR_TrackedObject trackedObj;

    private void Start()
    {
       
	
    }
    private void Update()
    {
        var device = SteamVR_Controller.Input((int)trackedObj.index);
        if (device.GetPressDown(SteamVR_Controller.ButtonMask.Trigger))
        {
            HandCtrl.SetBool("", true);
        }

    }

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值