コード例 #1
0
    void Start()
    {
        VuforiaARController.Instance.RegisterVuforiaStartedCallback(OnVuforiaStarted);
        VuforiaARController.Instance.RegisterOnPauseCallback(OnVuforiaPaused);
        DeviceTrackerARController.Instance.RegisterTrackerStartedCallback(OnTrackerStarted);
        DeviceTrackerARController.Instance.RegisterDevicePoseStatusChangedCallback(OnDevicePoseStatusChanged);

        this.planeFinder.HitTestMode = HitTestMode.AUTOMATIC;

        this.productPlacement = FindObjectOfType <ProductPlacement>();
        this.touchHandler     = FindObjectOfType <TouchHandler>();
        this.groundPlaneUI    = FindObjectOfType <GroundPlaneUI>();

        this.planeAnchor     = this.planeAugmentation.GetComponentInParent <AnchorBehaviour>();
        this.midAirAnchor    = this.midAirAugmentation.GetComponentInParent <AnchorBehaviour>();
        this.placementAnchor = this.placementAugmentation.GetComponentInParent <AnchorBehaviour>();

        UtilityHelper.EnableRendererColliderCanvas(this.planeAugmentation, false);
        UtilityHelper.EnableRendererColliderCanvas(this.midAirAugmentation, false);
        UtilityHelper.EnableRendererColliderCanvas(this.placementAugmentation, false);

        // Setup a timer to restart the DeviceTracker if tracking does not receive
        // status change from StatusInfo.RELOCALIZATION after 10 seconds.
        this.timer           = new Timer(10000);
        this.timer.Elapsed  += TimerFinished;
        this.timer.AutoReset = false;
    }
コード例 #2
0
    void FireRope()
    {
        if (playerMotor.isSwinging)
        {
            ropeSystem.ResetRope();
            return;
        }

        if (grapplingHookChargeDisplay.fillAmount < 0.95f || hasShotGrapplingHook == true)
        {
            return;
        }

        var hit = Physics2D.Raycast(transform.position, GetAimDirection(), 99f, ropeCollisionLayerMask);

        if (hit.collider != null)
        {
            AnchorBehaviour anchorProj = Instantiate(anchorProjectilePrefab).GetComponent <AnchorBehaviour>();
            anchorProj.transform.position = transform.position;
            anchorProj.destination        = hit.point;
            anchorProj.playerOwner        = this.gameObject;
            anchorProj.speed                  = 100f;
            hasShotGrapplingHook              = true;
            anchorProj.OnArriveAtDestination += () => ropeSystem.AttachRopeToPoint(anchorProj.transform.position, anchorProj.transform.rotation);
            anchorProj.OnArriveAtDestination += () => playerMotor.Jump();
            anchorProj.OnArriveAtDestination += () => Destroy(anchorProj.gameObject);
            anchorProj.OnArriveAtDestination += () => hasShotGrapplingHook = false;
        }
        Debug.DrawRay(this.transform.position, GetAimDirection());
        StartCoroutine(ReloadGrapplingHook());
    }
コード例 #3
0
    // Use this for initialization
    void Start()
    {
        m_planeManagerA = ARContentA.GetComponentInChildren <PlaneManager>();
        m_planeManagerB = ARContentB.GetComponentInChildren <PlaneManager>();

        m_anchorInputListenerBehaviourA = ARContentA.GetComponentInChildren <AnchorInputListenerBehaviour>();
        m_anchorInputListenerBehaviourB = ARContentB.GetComponentInChildren <AnchorInputListenerBehaviour>();

        m_planeFinderBehaviourA = ARContentA.GetComponentInChildren <PlaneFinderBehaviour>();
        m_planeFinderBehaviourB = ARContentB.GetComponentInChildren <PlaneFinderBehaviour>();

        m_contentPositioningBehaviourA = ARContentA.GetComponentInChildren <ContentPositioningBehaviour>();
        m_contentPositioningBehaviourB = ARContentB.GetComponentInChildren <ContentPositioningBehaviour>();

        m_anchorBehaviourA = ARContentA.GetComponentInChildren <AnchorBehaviour>();
        m_anchorBehaviourB = ARContentB.GetComponentInChildren <AnchorBehaviour>();

        m_productPlacementA = ARContentA.GetComponentInChildren <ProductPlacement>();
        m_productPlacementB = ARContentB.GetComponentInChildren <ProductPlacement>();

        m_touchHandlerA = ARContentA.GetComponentInChildren <TouchHandler>();
        m_touchHandlerB = ARContentB.GetComponentInChildren <TouchHandler>();

        TurnOffBehaviour(false);
        TurnOffBehaviour(true);
        TurnOffBehaviour(false);
    }
コード例 #4
0
 private void Init()
 {
     navigationAnchor   = new List <GameObject>();
     infoAnchor         = null;
     anchorNumber       = -1;
     order              = new List <int>();
     listofAnchor       = new List <AnchorBehaviour>();
     ParamMenu.switchTo = null;
 }
コード例 #5
0
ファイル: AnchorAsset.cs プロジェクト: mengtest/timeline-1
    public override Playable CreatePlayable(PlayableGraph graph, GameObject owner)
    {
        var             director = owner.GetComponent <PlayableDirector>();
        Transform       tf       = ExternalHelp.FetchAttachOfTrack(director, track);
        AnchorBehaviour beha     = new AnchorBehaviour();

        beha.Set(clip_pos, clip_rot, tf, director);
        return(ScriptPlayable <AnchorBehaviour> .Create(graph, beha));
    }
コード例 #6
0
 private void GetAnchorInfo()
 {
     foreach (var anchor in listofAnchor)
     {
         if (anchor.order == anchorNumber)
         {
             infoAnchor = anchor;
         }
     }
 }
コード例 #7
0
    static bool anchorExists; // backs public AnchorExists property
    #endregion                // PRIVATE_MEMBERS

    #region MONOBEHAVIOUR_METHODS

    void Start()
    {
        VuforiaARController.Instance.RegisterVuforiaStartedCallback(OnVuforiaStarted);
        VuforiaARController.Instance.RegisterOnPauseCallback(OnVuforiaPaused);
        DeviceTrackerARController.Instance.RegisterTrackerStartedCallback(OnTrackerStarted);
        DeviceTrackerARController.Instance.RegisterDevicePoseStatusChangedCallback(OnDevicePoseStatusChanged);

        m_PlaneFinder.HitTestMode = HitTestMode.AUTOMATIC;
        m_Playmat       = FindObjectOfType <Playmat>();
        m_PlaymatAnchor = m_PlaymatAugmentation.GetComponentInParent <AnchorBehaviour>();

        UtilityHelper.EnableRendererColliderCanvas(m_PlaymatAugmentation, false);
    }
コード例 #8
0
 private void GetAnchorOrder()
 {
     navigationAnchor = new List <GameObject>(GameObject.FindGameObjectsWithTag("Anchor"));
     if (GameObject.FindGameObjectsWithTag("Anchor").Length > 0)
     {
         //Debug.Log("Found Anchor");
     }
     foreach (var anchor in navigationAnchor)
     {
         AnchorBehaviour behaviour = anchor.GetComponent <AnchorBehaviour>();
         listofAnchor.Add(behaviour);
         if (behaviour != null)
         {
             //Debug.Log("behaviour found" + behaviour.order +behaviour.sceneToGo);
         }
         order.Add(behaviour.order);
     }
     order.Sort();
 }
    void Start()
    {
        VuforiaARController.Instance.RegisterVuforiaStartedCallback(OnVuforiaStarted);
        VuforiaARController.Instance.RegisterOnPauseCallback(OnVuforiaPaused);
        DeviceTrackerARController.Instance.RegisterTrackerStartedCallback(OnTrackerStarted);
        DeviceTrackerARController.Instance.RegisterDevicePoseStatusChangedCallback(OnDevicePoseStatusChanged);

        m_PlaneFinder.HitTestMode = HitTestMode.AUTOMATIC;

        m_ProductPlacement = m_PlacementAugmentation.GetComponentInChildren <ProductPlacement>();
        m_TouchHandler     = m_PlacementAugmentation.GetComponentInChildren <TouchHandler>();
        m_PlacementAnchor  = m_PlacementAugmentation.GetComponentInParent <AnchorBehaviour>();

        m_GroundPlaneUI = FindObjectOfType <GroundPlaneUI>();

        arRCM = GameObject.FindGameObjectWithTag("FXCanvas").GetComponent <ARRenderedCanvasManager>();

        UtilityHelper.EnableRendererColliderCanvas(m_PlacementAugmentation, false);
    }
コード例 #10
0
    void Start()
    {
        VuforiaARController.Instance.RegisterVuforiaStartedCallback(OnVuforiaStarted);
        VuforiaARController.Instance.RegisterOnPauseCallback(OnVuforiaPaused);
        DeviceTrackerARController.Instance.RegisterTrackerStartedCallback(OnTrackerStarted);
        DeviceTrackerARController.Instance.RegisterDevicePoseStatusChangedCallback(OnDevicePoseStatusChanged);

        m_PlaneFinder.HitTestMode = HitTestMode.AUTOMATIC;



        m_GroundPlaneUI = FindObjectOfType <GroundPlaneUI>();

        m_PlaneAnchor  = planeAnchor.GetComponent <AnchorBehaviour>();
        m_MidAirAnchor = midAirAnchor.GetComponent <AnchorBehaviour>();

        isPlaced  = false;
        mainLight = GameObject.FindGameObjectWithTag(Tags.Light).GetComponent <Light>();
    }
コード例 #11
0
    public override Playable CreatePlayable(PlayableGraph graph, GameObject owner)
    {
        var        director = owner.GetComponent <PlayableDirector>();
        var        binding  = director.GetGenericBinding(track);
        GameObject go       = null;

        if (binding is Animator)
        {
            go = (binding as Animator).gameObject;
        }
        else if (binding is Animation)
        {
            go = (binding as Animation).gameObject;
        }
        AnchorBehaviour beha = new AnchorBehaviour();

        beha.Set(clip_pos, clip_rot, go);
        return(ScriptPlayable <AnchorBehaviour> .Create(graph, beha));
    }
コード例 #12
0
    static bool anchorExists; // backs public AnchorExists property
    #endregion                // PRIVATE_MEMBERS


    #region MONOBEHAVIOUR_METHODS

    void Start()
    {
        VuforiaARController.Instance.RegisterVuforiaStartedCallback(OnVuforiaStarted);
        VuforiaARController.Instance.RegisterOnPauseCallback(OnVuforiaPaused);
        DeviceTrackerARController.Instance.RegisterTrackerStartedCallback(OnTrackerStarted);
        DeviceTrackerARController.Instance.RegisterDevicePoseStatusChangedCallback(OnDevicePoseStatusChanged);

        m_PlaneFinder.HitTestMode = HitTestMode.AUTOMATIC;

        m_TGOProductPlacement  = FindObjectOfType <TGOProductPlacement>();
        m_BEPIProductPlacement = FindObjectOfType <BEPIProductPlacement>();
        m_TGOTouchHandler      = FindObjectOfType <TGOTouchHandlerTest>();
        m_BEPITouchHandler     = FindObjectOfType <BEPITouchHandlerTest>();
        m_GroundPlaneUI        = FindObjectOfType <GroundPlaneTestUI>();

        m_TGOAnchor  = m_TGOAugmentation.GetComponentInParent <AnchorBehaviour>();
        m_BEPIAnchor = m_BEPIAugmentation.GetComponentInParent <AnchorBehaviour>();
        UtilityHelperTest.EnableRendererColliderCanvas(m_TGOAugmentation, false);
        UtilityHelperTest.EnableRendererColliderCanvas(m_BEPIAugmentation, false);
    }
コード例 #13
0
        } //END Awake
        
        //-------------------------------//
        private void CheckIfAnchorBehaviourExists()
        //-------------------------------//
        {

#if VUFORIA
            //If the AnchorBehaviour doesn't exist, create it and link to it
            if( GetComponent<AnchorBehaviour>() == null )
            {
                anchorBehaviour = gameObject.AddComponent<AnchorBehaviour>();
            }

            //Otherwise if the script exists, link to it
            if( anchorBehaviour == null &&
                GetComponent<AnchorBehaviour>() != null )
            {
                anchorBehaviour = GetComponent<AnchorBehaviour>();
            }
#endif

        } //END CheckIfAnchorBehaviourExists
コード例 #14
0
    void Start()
    {
        VuforiaARController.Instance.RegisterVuforiaStartedCallback(OnVuforiaStarted);
        VuforiaARController.Instance.RegisterOnPauseCallback(OnVuforiaPaused);
        DeviceTrackerARController.Instance.RegisterTrackerStartedCallback(OnTrackerStarted);
        DeviceTrackerARController.Instance.RegisterDevicePoseStatusChangedCallback(OnDevicePoseStatusChanged);

        m_PlaneFinderBehaviour.HitTestMode = HitTestMode.AUTOMATIC;

        m_ProductPlacement = FindObjectOfType <ProductPlacement>();
        m_TouchHandler     = FindObjectOfType <TouchHandler>();
        m_GroundPlaneUI    = FindObjectOfType <GroundPlaneUI>();

        copyShoe.transform.SetParent(m_ProductPlacement.gameObject.transform);
        #if (UNITY_IOS || !UNITY_ANDROID)
        copyShoe.GetComponentInChildren <Transform>().transform.localScale = new Vector3(2.5f, 2.5f, 2.5f);
        #elif UNITY_ANDROID
        copyShoe.GetComponentInChildren <Transform>().transform.localScale = new Vector3(6f, 6f, 6f);
        #endif
        copyShoe.GetComponentsInChildren <Transform>()[1].localRotation = Quaternion.Euler(0, 0, 0);

        m_PlacementAugmentation = copyShoe.transform.parent.gameObject;

        m_PlacementAnchor = m_PlacementAugmentation.GetComponentInParent <AnchorBehaviour>();

        UtilityHelper.EnableRendererColliderCanvas(m_PlacementAugmentation, false);
        m_PlaneFinder.SetActive(false);
        shadowPlane = GameObject.Find("ShadowPlane");
        shadowPlane.transform.SetParent(copyShoe.transform);
        shadowPlane.transform.localPosition = new Vector3(0, 0, 0);
        #if (UNITY_IOS || !UNITY_ANDROID)
        shadowPlane.transform.localScale = new Vector3(0.2f, 0.2f, 0.2f);
        shadowPlane.transform.position  -= Vector3.up * 0.2f;
        #elif UNITY_ANDROID
        shadowPlane.transform.localScale = new Vector3(0.22f, 0.22f, 0.22f);
        shadowPlane.transform.position  -= Vector3.up * 0.4f;
        #endif
        shadowPlane.transform.rotation = Quaternion.Euler(90f, 0f, 0f);
        m_ProductPlacement.SetProductAnchor(null);
    }
コード例 #15
0
    private List <Vector3> initNodes()
    {
        List <Vector3> retVector = new List <Vector3>();
        int            nodeCount = 0;

        for (int i = 0; i < clothWidth; i++)
        {
            for (int j = 0; j < clothHeight; j++)
            {
                Vector3 newPosition = new Vector3(j, i, 0);

                retVector.Add(newPosition);

                //GameObject newNode = (GameObject)Instantiate(nodePrefab, newPosition, transform.rotation);
                NodeInfo newNodeInfo = new NodeInfo();

                newNodeInfo.GridPosition  = new Vector2(j, i);
                newNodeInfo.WorldPosition = new Vector3(j, i, 0);
                newNodeInfo.Mass          = nodeMass;
                newNodeInfo.Velocity      = Vector3.zero;
                newNodeInfo.Vertex        = nodeCount;

                //newNode.transform.parent = nodesParent.transform;
                //newNode.name = "Node " + newNodeInfo.GridPosition;

                nodes.Add(newNodeInfo);

                vertexNodeDict[nodeCount] = newNodeInfo;
                nodeCount = nodeCount + 1;

                if (newNodeInfo.GridPosition == new Vector2(0, 0))
                {
                    newNodeInfo.IsAnchor = true;
                    anchor1 = (GameObject)Instantiate(anchorPrefab, newNodeInfo.WorldPosition, Quaternion.identity);
                    AnchorBehaviour anchorBehaviour1 = anchor1.GetComponent <AnchorBehaviour>();
                    anchorBehaviour1.anchoredNode = newNodeInfo;
                    //anchor1.transform.parent = newNode.transform;
                    //newNode.transform.parent = anchor1.transform;
                }

                else if (newNodeInfo.GridPosition == new Vector2(clothWidth - 1, 0))
                {
                    newNodeInfo.IsAnchor = true;
                    anchor2 = (GameObject)Instantiate(anchorPrefab, newNodeInfo.WorldPosition, Quaternion.identity);
                    AnchorBehaviour anchorBehaviour2 = anchor2.GetComponent <AnchorBehaviour>();
                    anchorBehaviour2.anchoredNode = newNodeInfo;
                    //anchor2.transform.parent = newNode.transform;
                    //newNode.transform.parent = anchor2.transform;
                }
                else if (newNodeInfo.GridPosition == new Vector2(0, clothHeight - 1))
                {
                    newNodeInfo.IsAnchor = true;
                    anchor3 = (GameObject)Instantiate(anchorPrefab, newNodeInfo.WorldPosition, Quaternion.identity);
                    AnchorBehaviour anchorBehaviour3 = anchor3.GetComponent <AnchorBehaviour>();
                    anchorBehaviour3.anchoredNode = newNodeInfo;
                    //anchor3.transform.parent = newNode.transform;
                    //newNode.transform.parent = anchor3.transform;
                }

                else if (newNodeInfo.GridPosition == new Vector2(clothWidth - 1, clothHeight - 1))
                {
                    newNodeInfo.IsAnchor = true;
                    anchor4 = (GameObject)Instantiate(anchorPrefab, newNodeInfo.WorldPosition, Quaternion.identity);
                    AnchorBehaviour anchorBehaviour4 = anchor4.GetComponent <AnchorBehaviour>();
                    anchorBehaviour4.anchoredNode = newNodeInfo;
                    //anchor4.transform.parent = newNode.transform;
                    //newNode.transform.parent = anchor4.transform;
                }
            }
        }

        return(retVector);
    }