如何在Unity中将PUN与VR按钮联网?

时间:2019-03-08 16:48:12

标签: unity3d virtual-reality photon vrtk

我已经在研究解决方案已有好几个星期了,我认为是时候伸出援手了。我试图使一个按钮在被控制器按下时能够播放声音,每个人都会听到该声音。使用VRTK和PlayoVR,我可以制作一个非网络版本,玩家可以将手伸过一个立方体,单击控制器上的触发器,然后发出声音。

这是该多维数据集的代码:

namespace VRTK.Examples  {
using UnityEngine;


public class Whirlygig : VRTK_InteractableObject
{
    public GameObject AudioSource;
    public AudioSource LeftSpeaker;

    public override void StartUsing(VRTK_InteractUse currentUsingObject = 
null)
    {
    AudioSource.GetComponent<AudioSource>().Play();
    }
}
}

我迷路的地方是如何使用Photon Unity Networking将其联网。这就是我所拥有的:

namespace PlayoVR
{
using UnityEngine;
using VRTK;
using UnityEngine.Video;
using NetBase;

public class PlaySync : Photon.MonoBehaviour
{
    public AudioSource LeftSpeaker;
    public GameObject Whirlgig;
    private bool StartUsing;

    // Use this for initialization
    void Awake()
    {
        GetComponent<VRTK_InteractableObject>().InteractableObjectUsed += 
new InteractableObjectEventHandler(DoPlay);
    }

    void DoPlay(object sender, InteractableObjectEventArgs e)
    {
        StartUsing = true;
    }

    // Update is called once per frame
    void Update()
    {
        // Handle firing
        if (StartUsing)
        {
            CmdPlay();
            StartUsing = false;
        }
    }

    void CmdPlay()
    {
        photonView.RPC("NetPlay", PhotonTargets.All);
    }

    [PunRPC]
    void NetPlay()
    {
        LeftSpeaker.Play();
    }
}
}

您可能会看到,我是一个初学者。使用此代码,当我将手放在多维数据集中并按触发器时,什么也没发生。如果有人可以提供任何帮助甚至替代方案,我将非常感激。

亲切的问候, 音乐博物馆

0 个答案:

没有答案