private AirVRStereoCameraRig CreateAirVRCameraRig(AirVRStereoCameraRig customizedRigPrefab)
    {
        int onAirVRPort = 9090;
        AirVRServerInitParams initParam = GameObject.FindObjectOfType<AirVRServerInitParams>();
        if (initParam)
            onAirVRPort = initParam.port;

        if (!customizedRigPrefab)
        {
            rig = FindObjectOfType<AirVRStereoCameraRig>();

            if(!rig)
                rig = CircleVR.DontDestroyInstantiate("AirVRCameraRig" , Vector3.zero , Quaternion.identity).AddComponent<AirVRStereoCameraRig>();
        }
        else
            rig = CircleVR.DontDestroyInstantiate(customizedRigPrefab.gameObject , Vector3.zero , Quaternion.identity).GetComponent<AirVRStereoCameraRig>();

        rig.trackingModel = AirVRStereoCameraRig.TrackingModel.ExternalTracker;

        if (!customizedRigPrefab)
        {
            rig.centerEyeAnchor.gameObject.AddComponent<AudioListener>();
            rig.centerEyeAnchor.gameObject.AddComponent<AirVRServerAudioOutputRouter>();
        }

        Debug.Log("[CircleVR Client] onAirVR Port : " + onAirVRPort.ToString());

        AirVRCameraRigManager.managerOnCurrentScene.Delegate = this;

        return rig;
    }
 public void Init(AirVRStereoCameraRig rig)
 {
     if (Event != null)
     {
         Event.OnInit(rig);
     }
 }
示例#3
0
    private CameraPane createCameraPane(AirVRStereoCameraRig cameraRig)
    {
        Camera camInstance = GameObject.Instantiate(cameraPrefab).GetComponent <Camera>();

        camInstance.gameObject.transform.parent = _thisTransform;

        return(new CameraPane(cameraRig, camInstance));
    }
示例#4
0
 void Awake()
 {
     _thisTransform           = transform;
     _thisCharacterController = GetComponent <CharacterController>();
     _cameraRig   = GetComponentInChildren <AirVRStereoCameraRig>();
     _headLocator = transform.FindChild("Body/HeadLocator");
     _soundShot   = transform.FindChild("SoundShot").GetComponent <AirVRSampleAudioSource>();
 }
    private void Awake()
    {
        _stereoCameraRig = FindObjectOfType <AirVRStereoCameraRig>();

        _button    = transform.Find("Canvas/Panel/Button").GetComponent <Button>();
        _indicator = transform.Find("Canvas/Panel/Indicator").GetComponent <Image>();

        _indicator.gameObject.SetActive(false);
    }
示例#6
0
 public void AddCameraPane(AirVRStereoCameraRig cameraRig)
 {
     if (doesCameraPaneExist(cameraRig) == false)
     {
         CameraPane pane = createCameraPane(cameraRig);
         pane.enabled = true;
         _cameraPanes.Add(pane);
         recalcCameraPaneLayout();
     }
 }
示例#7
0
    public void OnBounded(string userID, AirVRStereoCameraRig rig)
    {
        bounded = true;

        if (this.userID != userID)
        {
            this.userID = userID;
        }

        Connect();
    }
示例#8
0
 void Awake()
 {
     _thisTransform           = transform;
     _thisCharacterController = GetComponent <CharacterController>();
     if (!PPPMenubar.isCapturemode)
     {
         _cameraRig = GetComponentInChildren <AirVRStereoCameraRig>();
     }
     _headLocator = transform.Find("Body/HeadLocator");
     _soundShot   = transform.Find("SoundShot").GetComponent <AudioSource>();
 }
示例#9
0
 private CameraPane getCameraPane(AirVRStereoCameraRig cameraRig)
 {
     foreach (CameraPane pane in _cameraPanes)
     {
         if (pane.cameraRig == cameraRig)
         {
             return(pane);
         }
     }
     return(null);
 }
示例#10
0
    public void RemoveCameraPane(AirVRStereoCameraRig cameraRig)
    {
        CameraPane pane = getCameraPane(cameraRig);

        if (pane != null)
        {
            _cameraPanes.Remove(pane);
            destroyCameraPane(pane);

            recalcCameraPaneLayout();
        }
    }
示例#11
0
    public void Init(Configuration config, AirVRStereoCameraRig rig)
    {
        rig = CreateAirVRCameraRig(rig);

        CircleVRTrackingSystem.onCreateTracker += onCreateTracker;

        QualitySettings.vSyncCount = 0;

        if (Event != null)
            Event.OnInit(config);

        Debug.Log("[CircleVR Client] Initialized");

        SetupContentClient();
    }
    private void Awake()
    {
        _cameraRig = GetComponentInChildren <AirVRStereoCameraRig>();

        var head = _cameraRig.transform.Find("TrackingSpace/CenterEyeAnchor/Head");

        if (head != null)
        {
            _head = head.GetComponent <MeshRenderer>();
        }
        _leftController  = _cameraRig.transform.Find("TrackingSpace/LeftHandAnchor/Controller").GetComponent <MeshRenderer>();
        _rightController = _cameraRig.transform.Find("TrackingSpace/RightHandAnchor/Controller").GetComponent <MeshRenderer>();

        _leftControllerColor  = _leftController.material.color;
        _rightControllerColor = _rightController.material.color;
    }
    public void OnBounded(string userID, AirVRStereoCameraRig rig)
    {
        this.userID = userID;

        Transform tracker = CircleVRTrackingSystem.GetTracker(CircleVR.GetPair(userID).trackerID);

        rig.externalTracker = tracker.Find("CenterAnchor");

        CircleVRErrorType error;

        if (host.AddConnectedUserIDs(userID, out error))
        {
            CircleVRDisplay.GetHead(CircleVR.GetPair(userID).trackerID).Connected = true;
            return;
        }

        Debug.Log("[Client Emulator] " + error.ToString());
    }
示例#14
0
    private void Setup(Configuration config, int maxClientCount, AirVRStereoCameraRig customizedRig)
    {
        if (IsEditorPlatform())
        {
            CreateControlPannel(config);
            CircleVRHost host = CreateHost(config);
            CreateClientEmulator(host);
        }
        else
        {
            CreateNetwork();

            if (config.isHost)
            {
                CircleVRHost host = CreateHost(config);
                CreateHostNetwork(config, host, maxClientCount);
                return;
            }

            CreateClientNetwork();
        }

        CreateClient(config, customizedRig);
    }
示例#15
0
 private void CreateClient(Configuration config, AirVRStereoCameraRig rig)
 {
     DontDestroyInstantiate("Client", Vector3.zero, Quaternion.identity).AddComponent <CircleVRClient>().Init(config, rig);
 }
示例#16
0
 private bool doesCameraPaneExist(AirVRStereoCameraRig cameraRig)
 {
     return(getCameraPane(cameraRig) != null);
 }
示例#17
0
 public CameraPane(AirVRStereoCameraRig cameraRig, Camera camera)
 {
     _cameraRig       = cameraRig;
     _camera          = camera;
     _cameraTransform = camera.gameObject.transform;
 }
 public void OnInit(AirVRStereoCameraRig rig)
 {
     Debug.Log("[SampleContentClient] OnInit");
 }
 public void Configure(AirVRStereoCameraRig cameraRig, AirVRInputDeviceID srcDevice)
 {
     _cameraRig = cameraRig;
     _feedback  = new Feedback(this, srcDevice);
 }