2016-08-11 53 views
0

我对Unity 3D和C#有点新鲜。另外我不完全确定如何Kudans任意跟踪解决方案详细工作。我目前正在使用Unity Kudan SDK来构建VR位置跟踪解决方案,至少我会尝试它。现在我的计划是:Unity 3D Kudan“放置无标记物体”每当网格离开屏幕?

  1. 每当网格离开屏幕,我想冻结it's位置,并寻找新的特征点(以下简称“地方无标记对象”按​​钮是这样做的:寻找新的功能点和地点一个网格)。
  2. 一旦它找到新的特征点(应该是毫秒级的),它会解除网格的位置并使用新的特征点来进一步改变它的位置。

“找到新的特征点”的想法是必要的,因为无论何时网格和旧特征点离开屏幕,跟踪将变得非常不准确。

我已经尝试过这SampleApp.cs:

bool VRSignal; 
 

 
     public void Start() 
 
     { 
 
      //Get Bools from "KudanTracker" 
 
      GameObject g = GameObject.Find("Kudan Camera"); 
 
      KudanTracker bScript = g.GetComponent<KudanTracker>(); 
 
      bool VRSignal = bScript.ArbiTrackIsTracking(); 
 
     } 
 

 
    public void Update() 
 
     { 
 
      if(VRSignal == false) 
 
      { 
 
       // 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); \t \t \t \t // Starts markerless tracking based upon the given floor position and orientations 
 
      } 
 
     }

但现在它不需额外的轨道正确地跟踪了,还i'm很肯定ArbiTrackIsTracking()不会致使是解决方案是因为它在网格离开屏幕时不会失去跟踪。

你有什么想法来解决这个问题吗?

+0

如果你想知道网格何时离开屏幕,可能值得检查___ Renderer.isVisible ___。从理论上讲,一旦它离开照相机视图,就会出于性能目的自动剔除它,此时它不再被视为可见。此时,您的代码将运行。我认为这会解决你的问题。 请注意,当使用___ Renderer.isVisible ___时,如果您出于任何原因开始使用阴影,则可能会遇到问题,即即使在屏幕外用于呈现阴影的目的,对象仍然被视为可见。 – DisturbedNeo

回答

0

如果我理解的很好,只要你的3d模型消失在屏幕上,你就需要用触发器改变3d模型的位置。 即使3D模型熄灭屏幕,ArbiTrackIsTracking()仍然是正确的,因为如果再次围绕3d模型移动屏幕,3D模型将始终被跟踪。 但是,如果您的智能手机逻辑上移动太多,跟踪停止。

针对您的问题,我的想法是获取您的3D模型无标记变换驱动程序的位置,因为3D模型在功能上会随智能手机的位置和方向移动来跟踪。 所以你可以采取你的3D模型开始被追踪的时刻。 然后您给出一个值,它将对应于保存的第一个和最后一个位置的差异。 如果得到这种差异,则停止使用仲裁停止的跟踪。

如果你有另一个问题,你可以问我的Twitter帐户@ModeLolito我可以更快地回答。 你可以看我的YouTube频道,看看我的作品在kudan https://www.youtube.com/user/modelisationLolito