コード例 #1
0
        public MLUPCFBinding(MLPCF PCF, Vector3 position, Quaternion rotation, Vector3?scale = null)
        {
            CFUID         = PCF.CFUID;
            this.position = this.rotation = this.scale = default(SerializableUnityData);

            Quaternion inverseOrientation = Quaternion.Inverse(PCF.Orientation);

            this.Position = inverseOrientation * (position - PCF.Position);
            this.Rotation = inverseOrientation * rotation;
            this.Scale    = scale ?? Vector3.one;
        }
コード例 #2
0
        public static MLUTrackedPCF GetTrackedPCF(MLCoordinateFrameUID CFUID)
        {
            foreach (MLUTrackedPCF trackedPCF in trackedPCFs)
            {
                if (CFUID.Equals(trackedPCF.PCF.CFUID))
                {
                    return(trackedPCF);
                }
            }

            return(null);
        }
コード例 #3
0
    private void SpawnPCFVisual(CFUID cfuid)
    {
        Debug.Log("Spawning Visual at nearest PCF " + cfuid);
        var pcf = PCFList.Find(x => x.CFUID == cfuid);

        if (pcf != null)
        {
            Debug.Log(pcf.Position);
        }

        PhotonNetwork.Instantiate("PCFVisual", pcf.Position, pcf.Orientation);
    }
コード例 #4
0
        public static MLPCF GetPCF(MLCoordinateFrameUID CFUID)
        {
            foreach (MLPCF PCF in PCFs)
            {
                if (PCF.CFUID.Equals(CFUID))
                {
                    return(PCF);
                }
            }

            return(null);
        }
コード例 #5
0
    public void SyncClosestPCF(CFUID id)
    {
        _closestPCFCFUID = id;
        Debug.Log("Trying to sync " + _closestPCFCFUID + " " + _closestPCFCFUID.ToGuid());

        if (_closestPCFCFUID == null)
        {
            Debug.Log("Closest PCFID is null");
        }
        if (_closestPCFGameObject != null)
        {
            return;
        }

        Debug.Log("List Size " + PCFList.Count);
        _closestPCF = PCFList.Find(x => x.CFUID == _closestPCFCFUID);
        MLPersistentCoordinateFrames.GetPCFPose(_closestPCF, HandleClosestPCFQuery);
    }