예제 #1
0
    void OnTrackerStarted()
    {
        Debug.Log("PlaneManager.OnTrackerStarted() called.");

        this.positionalDeviceTracker = TrackerManager.Instance.GetTracker <PositionalDeviceTracker>();
        this.smartTerrain            = TrackerManager.Instance.GetTracker <SmartTerrain>();

        if (this.positionalDeviceTracker != null && this.smartTerrain != null)
        {
            if (!this.positionalDeviceTracker.IsActive)
            {
                Debug.LogError("The Ground Plane feature requires the Device Tracker to be started. " +
                               "Please enable it in the Vuforia Configuration or start it at runtime through the scripting API.");
                return;
            }

            if (!this.smartTerrain.IsActive)
            {
                this.smartTerrain.Start();
            }

            Debug.Log("PositionalDeviceTracker is Active?: " + this.positionalDeviceTracker.IsActive +
                      "\nSmartTerrain Tracker is Active?: " + this.smartTerrain.IsActive);
        }
    }
예제 #2
0
 /// <summary>
 /// Me guardo la altura del primer vertice.
 /// </summary>
 /// <param name="terrain"></param>
 public override void beginEdition(SmartTerrain terrain)
 {
     base.beginEdition(terrain);
     Vector2 coords;
     if (terrain.xzToHeightmapCoords(Position.X, Position.Z, out coords))
         terrain.interpoledIntensity(coords.X, coords.Y, out level);
 }
예제 #3
0
    void OnVuforiaStarted()
    {
        Debug.Log("OnVuforiaStarted() called.");

        m_StateManager = TrackerManager.Instance.GetStateManager();

        // Check trackers to see if started and start if necessary
        m_PositionalDeviceTracker = TrackerManager.Instance.GetTracker <PositionalDeviceTracker>();
        m_SmartTerrain            = TrackerManager.Instance.GetTracker <SmartTerrain>();

        if (m_PositionalDeviceTracker != null && m_SmartTerrain != null)
        {
            if (!m_PositionalDeviceTracker.IsActive)
            {
                m_PositionalDeviceTracker.Start();
            }
            if (m_PositionalDeviceTracker.IsActive && !m_SmartTerrain.IsActive)
            {
                m_SmartTerrain.Start();
            }
        }
        else
        {
            if (m_PositionalDeviceTracker == null)
            {
                Debug.Log("PositionalDeviceTracker returned null. GroundPlane not supported on this device.");
            }
            if (m_SmartTerrain == null)
            {
                Debug.Log("SmartTerrain returned null. GroundPlane not supported on this device.");
            }

            MessageBox.DisplayMessageBox(unsupportedDeviceTitle, unsupportedDeviceBody, false, null);
        }
    }
예제 #4
0
    void OnVuforiaStarted()
    {
        Debug.Log("OnVuforiaStarted() called.");

        m_StateManager = TrackerManager.Instance.GetStateManager();

        // Check trackers to see if started and start if necessary
        m_PositionalDeviceTracker = TrackerManager.Instance.GetTracker <PositionalDeviceTracker>();
        m_SmartTerrain            = TrackerManager.Instance.GetTracker <SmartTerrain>();

        if (m_PositionalDeviceTracker != null && m_SmartTerrain != null)
        {
            if (!m_PositionalDeviceTracker.IsActive)
            {
                m_PositionalDeviceTracker.Start();
            }
            if (m_PositionalDeviceTracker.IsActive && !m_SmartTerrain.IsActive)
            {
                m_SmartTerrain.Start();
            }
            YiyouStaticDataManager.Instance.StartLoadABAssets();
        }
        else
        {
            SceneManager.LoadScene("wikiSLAM");
        }
    }
예제 #5
0
    void OnVuforiaStarted()
    {
        Debug.Log("OnVuforiaStarted() called.");

        m_StateManager            = TrackerManager.Instance.GetStateManager();
        m_PositionalDeviceTracker = TrackerManager.Instance.GetTracker <PositionalDeviceTracker>();
        m_SmartTerrain            = TrackerManager.Instance.GetTracker <SmartTerrain>();
        if (m_PositionalDeviceTracker != null && m_SmartTerrain != null)
        {
            if (!m_PositionalDeviceTracker.IsActive)
            {
                m_PositionalDeviceTracker.Start();
            }
            if (m_PositionalDeviceTracker.IsActive && !m_SmartTerrain.IsActive)
            {
                m_SmartTerrain.Start();
            }
        }
        else
        {
            if (m_PositionalDeviceTracker == null)
            {
                Debug.Log("PositionalDeviceTracker returned null. GroundPlane not supported on this device.");
            }
            if (m_SmartTerrain == null)
            {
                Debug.Log("SmartTerrain returned null. GroundPlane not supported on this device.");
            }
        }
    }
예제 #6
0
    void OnVuforiaStarted()
    {
        Debug.Log("OnVuforiaStarted() called.");

        stateManager = TrackerManager.Instance.GetStateManager();

        // Check trackers to see if started and start if necessary
        this.positionalDeviceTracker = TrackerManager.Instance.GetTracker <PositionalDeviceTracker>();
        this.smartTerrain            = TrackerManager.Instance.GetTracker <SmartTerrain>();

        if (this.positionalDeviceTracker != null && this.smartTerrain != null)
        {
            if (!this.positionalDeviceTracker.IsActive)
            {
                this.positionalDeviceTracker.Start();
            }
            if (this.positionalDeviceTracker.IsActive && !this.smartTerrain.IsActive)
            {
                this.smartTerrain.Start();
            }
        }
        else
        {
            if (this.positionalDeviceTracker == null)
            {
                Debug.Log("PositionalDeviceTracker returned null. GroundPlane not supported on this device.");
            }
            if (this.smartTerrain == null)
            {
                Debug.Log("SmartTerrain returned null. GroundPlane not supported on this device.");
            }
        }
    }
예제 #7
0
    public void ResetTrackers()
    {
        this.smartTerrain            = TrackerManager.Instance.GetTracker <SmartTerrain>();
        this.positionalDeviceTracker = TrackerManager.Instance.GetTracker <PositionalDeviceTracker>();

        // Stop and restart trackers
        this.smartTerrain.Stop();  // stop SmartTerrain tracker before PositionalDeviceTracker
        this.positionalDeviceTracker.Reset();
        this.smartTerrain.Start(); // start SmartTerrain tracker after PositionalDeviceTracker
    }
예제 #8
0
        /// <summary>
        /// Me guardo la altura del primer vertice.
        /// </summary>
        /// <param name="terrain"></param>
        public override void beginEdition(SmartTerrain terrain)
        {
            base.beginEdition(terrain);
            Vector2 coords;

            if (terrain.xzToHeightmapCoords(Position.X, Position.Z, out coords))
            {
                terrain.interpoledIntensity(coords.X, coords.Y, out level);
            }
        }
예제 #9
0
    public void ResetTrackers()
    {
        Debug.Log("ResetTrackers() called.");

        m_SmartTerrain            = TrackerManager.Instance.GetTracker <SmartTerrain>();
        m_PositionalDeviceTracker = TrackerManager.Instance.GetTracker <PositionalDeviceTracker>();

        // Stop and restart trackers
        m_SmartTerrain.Stop();  // stop SmartTerrain tracker before PositionalDeviceTracker
        m_PositionalDeviceTracker.Reset();
        m_SmartTerrain.Start(); // start SmartTerrain tracker after PositionalDeviceTracker
    }
예제 #10
0
    public void ResetTrackers()
    {
        Debug.Log("ResetTrackets() Called.");

        m_SmartTerrain            = TrackerManager.Instance.GetTracker <SmartTerrain>();
        m_PositionalDeviceTracker = TrackerManager.Instance.GetTracker <PositionalDeviceTracker>();


        m_SmartTerrain.Stop();
        m_PositionalDeviceTracker.Stop();
        m_PositionalDeviceTracker.Start();
        m_SmartTerrain.Start();
    }
예제 #11
0
    /// <summary>
    /// This method stops and restarts the PositionalDeviceTracker.
    /// It is called by the UI Reset Button and when RELOCALIZATION status has
    /// not changed for 10 seconds.
    /// </summary>
    public void ResetTrackers()
    {
        Debug.Log("ResetTrackers() called.");

        this.smartTerrain            = TrackerManager.Instance.GetTracker <SmartTerrain>();
        this.positionalDeviceTracker = TrackerManager.Instance.GetTracker <PositionalDeviceTracker>();

        // Stop and restart trackers
        this.smartTerrain.Stop();  // stop SmartTerrain tracker before PositionalDeviceTracker
        this.positionalDeviceTracker.Reset();
        this.smartTerrain.Start(); // start SmartTerrain tracker after PositionalDeviceTracker

        AnchorExists = DoAnchorsExist();
    }
예제 #12
0
 /// <summary>
 ///     Setea y configura la technique que muestra el pincel sobre el terreno.
 /// </summary>
 /// <param name="terrain"></param>
 public virtual void configureTerrainEffect(SmartTerrain terrain)
 {
     if (Rounded)
     {
         terrain.Technique = "PositionColoredTexturedWithRoundBrush";
     }
     else
     {
         terrain.Technique = "PositionColoredTexturedWithSquareBrush";
     }
     terrain.Effect.SetValue("brushPosition", new[] { Position.X, Position.Z });
     terrain.Effect.SetValue("brushRadius", Radius);
     terrain.Effect.SetValue("brushHardness", Hardness);
     terrain.Effect.SetValue("brushColor1", Color1.ToArgb());
     terrain.Effect.SetValue("brushColor2", Color2.ToArgb());
 }
예제 #13
0
    void OnTrackerStarted()
    {
        Debug.Log("PlaneManager.OnTrackerStarted() called.");

        this.positionalDeviceTracker = TrackerManager.Instance.GetTracker <PositionalDeviceTracker>();
        this.smartTerrain            = TrackerManager.Instance.GetTracker <SmartTerrain>();

        if (this.positionalDeviceTracker != null)
        {
            if (!this.positionalDeviceTracker.IsActive)
            {
                this.positionalDeviceTracker.Start();
            }

            Debug.Log("PositionalDeviceTracker is Active?: " + this.positionalDeviceTracker.IsActive +
                      "\nSmartTerrain Tracker is Active?: " + this.smartTerrain.IsActive);
        }
    }
예제 #14
0
    void OnTrackerStarted()
    {
        Debug.Log("OnTrackerStarted() called.");

        m_PositionalDeviceTracker = TrackerManager.Instance.GetTracker <PositionalDeviceTracker>();
        m_SmartTerrain            = TrackerManager.Instance.GetTracker <SmartTerrain>();

        if (m_PositionalDeviceTracker != null)
        {
            if (!m_PositionalDeviceTracker.IsActive)
            {
                m_PositionalDeviceTracker.Start();
            }

            Debug.Log("PositionalDeviceTracker is Active?: " + m_PositionalDeviceTracker.IsActive +
                      "\nSmartTerrain Tracker is Active?: " + m_SmartTerrain.IsActive);
        }
    }
예제 #15
0
    void OnVuforiaStarted()
    {
        Debug.Log("OnVuforiaStarted() called.");

        m_StateManager = TrackerManager.Instance.GetStateManager();

        // Check trackers to see if started and start if necessary
        m_PositionalDeviceTracker = TrackerManager.Instance.GetTracker <PositionalDeviceTracker>();
        m_SmartTerrain            = TrackerManager.Instance.GetTracker <SmartTerrain>();

        if (m_PositionalDeviceTracker != null && m_SmartTerrain != null)
        {
            if (!m_PositionalDeviceTracker.IsActive)
            {
                m_PositionalDeviceTracker.Start();
            }
            if (m_PositionalDeviceTracker.IsActive && !m_SmartTerrain.IsActive)
            {
                m_SmartTerrain.Start();
            }
        }
        else
        {
            if (m_PositionalDeviceTracker == null)
            {
                Debug.Log("PositionalDeviceTracker returned null. GroundPlane not supported on this device.");
            }
            if (m_SmartTerrain == null)
            {
                Debug.Log("SmartTerrain returned null. GroundPlane not supported on this device.");
            }

            MessageBox.DisplayMessageBox(unsupportedDeviceTitle, unsupportedDeviceBody, false, null);
        }
        m_ContentPositioningBehaviour = m_PlaneFinder.GetComponent <ContentPositioningBehaviour>();
        m_ContentPositioningBehaviour.DuplicateStage = false;
        SetMidAirMode(true);
    }
예제 #16
0
    void OnVuforiaStarted()
    {
        Debug.Log("OnVuforiaStarted() called.");

        stateManager = TrackerManager.Instance.GetStateManager();

        // Check trackers to see if started and start if necessary
        this.positionalDeviceTracker = TrackerManager.Instance.GetTracker <PositionalDeviceTracker>();
        this.smartTerrain            = TrackerManager.Instance.GetTracker <SmartTerrain>();

        if (this.positionalDeviceTracker != null && this.smartTerrain != null)
        {
            if (!this.positionalDeviceTracker.IsActive)
            {
                Debug.LogError("The Ground Plane feature requires the Device Tracker to be started. " +
                               "Please enable it in the Vuforia Configuration or start it at runtime through the scripting API.");
                return;
            }

            if (this.positionalDeviceTracker.IsActive && !this.smartTerrain.IsActive)
            {
                this.smartTerrain.Start();
            }
        }
        else
        {
            if (this.positionalDeviceTracker == null)
            {
                Debug.Log("PositionalDeviceTracker returned null. GroundPlane not supported on this device.");
            }
            if (this.smartTerrain == null)
            {
                Debug.Log("SmartTerrain returned null. GroundPlane not supported on this device.");
            }

            MessageBox.DisplayMessageBox(UnsupportedDeviceTitle, UnsupportedDeviceBody, false, null);
        }
    }
예제 #17
0
 public virtual void beginEdition(SmartTerrain terrain)
 {
     this.terrain = terrain; editing = true;
 }
예제 #18
0
 /// <summary>
 /// Setea y configura la technique que muestra el pincel sobre el terreno.
 /// </summary>
 /// <param name="terrain"></param>
 public virtual void configureTerrainEffect(SmartTerrain terrain)
 {
     if (Rounded) terrain.Technique = "PositionColoredTexturedWithRoundBrush";
     else terrain.Technique = "PositionColoredTexturedWithSquareBrush";
     terrain.Effect.SetValue("brushPosition", new float[] { Position.X, Position.Z });
     terrain.Effect.SetValue("brushRadius", Radius);
     terrain.Effect.SetValue("brushHardness", Hardness);
     terrain.Effect.SetValue("brushColor1", Color1.ToArgb());
     terrain.Effect.SetValue("brushColor2", Color2.ToArgb());
 }
예제 #19
0
 public virtual void beginEdition(SmartTerrain terrain)
 {
     this.terrain = terrain;
     Editing      = true;
 }