通过另一个脚本访问 Kudan 事件、变量

Accessing Kudan events, variables though another script

关注 Kudan 的 SampleApp 脚本:

using UnityEngine;
using System.Collections;

namespace Kudan.AR.Samples
{
    /// <summary>
    /// Script used in the Kudan Samples. Provides functions that switch between different tracking methods and start abitrary tracking.
    /// </summary>
    public class SampleApp : MonoBehaviour
    {
        public KudanTracker _kudanTracker;  // The tracker to be referenced in the inspector. This is the Kudan Camera object.
        public TrackingMethodMarker _markerTracking;    // The reference to the marker tracking method that lets the tracker know which method it is using
        public TrackingMethodMarkerless _markerlessTracking;    // The reference to the markerless tracking method that lets the tracker know which method it is using

        public void MarkerClicked()
        {
            _kudanTracker.ChangeTrackingMethod(_markerTracking);    // Change the current tracking method to marker tracking
        }

        public void MarkerlessClicked()
        {
            _kudanTracker.ChangeTrackingMethod(_markerlessTracking);    // Change the current tracking method to markerless tracking
        }

        public void StartClicked()
        {
            // from the floor placer.
            Vector3 floorPosition;          // The current position in 3D space of the floor
            Quaternion floorOrientation;    // The current orientation of the floor in 3D space, relative to the device

            _kudanTracker.FloorPlaceGetPose(out floorPosition, out floorOrientation);   // Gets the position and orientation of the floor and assigns the referenced Vector3 and Quaternion those values
            _kudanTracker.ArbiTrackStart(floorPosition, floorOrientation);              // Starts markerless tracking based upon the given floor position and orientations
        }
    }
}

要访问 Kudan 的 functions/events/variables,我需要使用与 Kudan 相同的命名空间创建一个脚本。我不知道这有什么好处或坏处,因为我不太了解命名空间。

我的问题是,我可以访问那些 variables/functions/etc 而无需在同一命名空间中创建脚本吗?如果可以,怎么做?

我是自学编程的,如果这对某些人来说太基础了,我深表歉意,谢谢。

如果您不想在整个脚本中使用相同的命名空间,则需要在声明变量时明确说明命名空间。

所以,与其说:

namespace Kudan.AR.Samples
{
    public class SampleApp
    {
        public KudanTracker _kudanTracker; 
    }
}

你会说:

public class SampleApp
{
    public Kudan.AR.KudanTracker _kudanTracker;
}

有关更多信息,我建议查找 how to use Namespaces