示例#1
0
    public void releaseSphereWithObject(GameObject obj)
    {
        ForceDirTrackedObject fdto = obj.GetComponent <ForceDirTrackedObject>();

        if (fdto == null)
        {
            return;
        }

        if (grabObject1 == fdto)
        {
            grabObject1 = null;
            activeScale = false;

            if (grabObject2 == null)
            {
                activeMove = false;
            }
        }

        else if (grabObject2 == fdto)
        {
            grabObject2 = null;
            activeScale = false;
            if (grabObject1 == null)
            {
                activeMove = false;
            }
        }
    }
    // Use this for initialization
    void Start()
    {
        vrSystem = OpenVR.System;

        menuManager = menuObject.GetComponent <MenuManager>();

        menuSliderMask = 1 << LayerMask.NameToLayer("MenuSlider");
        nodeLayerMask  = 1 << LayerMask.NameToLayer("NodeLayer");
        beam.SetActive(false);

        otherTrackedObjScript = otherController.GetComponent <ForceDirTrackedObject>();

        fDirScript = forceDirLayoutObj.GetComponent <ForceDirLayout>();
    }
示例#3
0
    public void grabSphereWithObject(GameObject obj)
    {
        ForceDirTrackedObject fdto = obj.GetComponent <ForceDirTrackedObject>();

        if (grabObject1 == fdto || grabObject2 == fdto)
        {
            return;
        }

        if (grabObject1 == null)
        {
            grabObject1      = fdto;
            activeGrabObject = grabObject1;
        }
        else if (grabObject2 == null)
        {
            grabObject2      = fdto;
            activeGrabObject = grabObject2;
        }

        if (grabObject1 != null && grabObject2 != null)
        {
            initialScale = gameObject.transform.localScale;
            Vector3 tVec = grabObject1.transform.position - grabObject2.transform.position;
            initialDist = tVec.magnitude;
            activeScale = true;
            activeMove  = false;
        }
        else
        {
            //initialRotation = Quaternion.Inverse(gameObject.transform.rotation) * activeGrabObject.currRotation;
            initialRotation = Quaternion.Inverse(activeGrabObject.transform.rotation) * gameObject.transform.rotation;
            Vector3 tmpVec = gameObject.transform.position - activeGrabObject.transform.position;

            Transform t = activeGrabObject.transform;

            inititalOffset.Set(
                Vector3.Dot(t.up, tmpVec),
                Vector3.Dot(t.right, tmpVec),
                Vector3.Dot(t.forward, tmpVec)
                );
            activeMove  = true;
            activeScale = false;
        }
    }
示例#4
0
    // Use this for initialization
    void Start()
    {
        sphereCenter = gameObject.transform.position;

        NodeLinkDataLoader dataLoader = new NodeLinkDataLoader();

        dataLoader.srcType = DataSourceType.MOVIES;
        //dataLoader.LoadNodeLinkData();
        dataLoader.LoadRawData();
        populateMaps(dataLoader);
        generate3DPoints();
        generateNodesAndLinks();

        if (leftController != null)
        {
            leftContManager = leftController.GetComponent <ForceDirTrackedObject>();
        }
        if (rightController != null)
        {
            rightContManager = rightController.GetComponent <ForceDirTrackedObject>();
        }
    }