2016-08-11 4 views
0

Unity 3DとC#の新機能です。また、私はKudansの任意の追跡ソリューションがどのように詳細に機能するかについては正確にはわかりません。私は現在、Unity Kudan SDKを使用してVR位置追跡ソリューションを構築していますが、少なくとも試してみます。今、私の計画は次のとおりです。新しい特徴点と場所を探す:メッシュスクリーンを残しているときはいつでも、私はit's位置を凍結し、新しい特徴点を見つけたいUnity 3D宇宙メッシュがスクリーンを離れるたびに「無マーカー物体を置く」?

  1. (「場所のマーカーレスオブジェクト」ボタンは、これをやっていますメッシュ)。
  2. 新しいフィーチャポイント(ミリ秒単位であるはずです)を見つけたら、メッシュの位置を解凍し、新しいフィーチャポイントを使用してその位置をさらに変更します。

「新しい特徴点を探す」アイデアは、メッシュと古い特徴点が画面から離れているときは常に、追跡が非常に不正確になるためです。 won'tこと)

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 
 
      } 
 
     }

しかし、今では正常にかなり確信してArbiTrackIsTrackingを( - 私も、もうトラックトラックをwon't:

私はすでにSampleApp.csでこれを試してみましたそのメッシュが画面を離れたときに追跡を失うことはないため、その解決策です。

この問題を解決するにはどうすればよいですか?

+0

メッシュが画面を離れたときを知りたい場合は、___ Renderer.isVisible ___をチェックする価値があります。理論的には、一度カメラビューを離れると、パフォーマンス目的で自動的に選択され、その時点では視認されなくなります。その時点で、コードが実行されます。私はこれがあなたの問題を解決すると思います。 ___ Renderer.isVisible ___を使用する場合、何らかの理由でシャドウを使用すると、シャドウをレンダリングする目的でオフスクリーンでもオブジェクトが表示されていると見なされるという問題が発生する可能性があります。 – DisturbedNeo

答えて

0

よく分かっていれば、3Dモデルが画面から消えるとすぐに、トリガーで3Dモデルの位置を変更したいと思っています。 3Dモデルの周りに再び画面を移動すると、3Dモデルは常に追跡されるため、3Dモデルが画面外に出てもArbiTrackIsTracking()は真のままです。 スマートフォンをあまりにも動かすと、論理的にトラッキングが停止します。

私の考えは、3dモデルが機能するためにスマートフォンの位置と向きを追跡するため、3Dモデルのマーカーレストランスフォームドライバの位置を取得することです。 3Dモデルが追跡される瞬間の位置を取ることができます。 次に、保存された最初と最後の位置の差に対応する値を与えます。 そして、この差があれば、arbitrack stopでトラッキングを止めます。

私のツイッターアカウント@ModeLolitoで質問することができる別の質問がある場合は、私は速く答えることができます。 そして私のYouTubeチャンネルを見て、九段の作品を見ることができます https://www.youtube.com/user/modelisationLolito

関連する問題