2016-08-11 1 views
0

저는 유니티 3D와 C#을 처음 접했습니다. 또한 정확히 어떻게 Kudans 임의의 추적 솔루션을 자세히 작동하는지 잘 모르겠습니다. 저는 현재 Unity Kudan SDK를 사용하여 VR 위치 추적 솔루션을 구축하고 있습니다. 적어도 시도해 볼 것입니다. 이제 내 계획은 다음과 같습니다Unity 3D Kudan 메시가 스크린을 떠날 때마다 "Markerless Object를 놓으세요?"

  1. 메쉬 화면을 떠날 때마다, 나는 키우면 위치를 동결하고 새로운 기능 포인트를 찾으려면 (이하 "장소 markerless 객체"버튼이 일을한다 : 새로운 기능 지점과 장소를 찾기 메쉬).
  2. 새로운 피쳐 포인트 (밀리 초가되어야 함)를 발견하면 메쉬의 위치를 ​​모호하게하고 새로운 피쳐 포인트를 사용하여 위치를 추가로 변경합니다.

"새로운 특징 지점 찾기"아이디어는 메시와 오래된 특징 지점이 화면을 떠날 때마다 추적이 매우 부정확 해지기 때문에 필요합니다. 이뤄져 수)

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을 (미안 또한, 더 이상 추적 추적 이뤄져 :

이미 SampleApp.cs이 시도 메쉬가 화면을 떠났을 때 추적을 잃지 않으므로 그 해결책입니다.

이 문제를 해결할 생각이 있습니까?

+0

에 내 작품을보고 내 유튜브 채널을 볼 수 있습니다. 이론적으로 일단 카메라 뷰를 벗어나면 성능 목적을 위해 자동으로 추려지며, 더 이상 보이지 않는 것으로 간주됩니다. 이 시점에서 코드가 실행됩니다. 나는 이것이 당신의 문제를 해결할 것이라고 생각합니다. ___ Renderer.isVisible ___을 사용할 때 어떤 이유로 든 그림자를 사용하기 시작하면 음영 렌더링을 위해 화면이 꺼져있는 동안에도 개체가 여전히 보이는 것으로 간주되는 문제가 발생할 수 있습니다. – DisturbedNeo

답변

0

잘 이해하면 3D 모델이 화면에서 사라지 자마자 트리거로 3D 모델의 위치를 ​​변경하고 싶습니다. 그리고 3D 모델 주위를 다시 움직이면 3D 모델이 항상 추적되기 때문에 3D 모델이 화면 밖으로 나가더라도 ArbiTrackIsTracking()은 사실로 남아 있습니다. 그러나 스마트 폰을 너무 많이 움직이면 논리적으로 추적이 중지됩니다.

내 생각에 3D 모델은 기능을 통해 스마트 폰의 위치와 방향을 추적하여 3D 모델 마커리스 트랜스 포트 드라이버의 위치를 ​​얻는 것이 좋습니다. 3D 모델이 추적되기 시작한 순간의 위치를 ​​차지할 수 있습니다. 그러면 저장된 첫 번째 및 마지막 위치의 차이에 해당하는 값을 제공합니다. 그리고이 차이가 발생하면 arbitrack stop으로 추적을 중지합니다.

내 트위터 계정 @ModeLolito에서 질문 할 수있는 다른 질문이 있으면 빨리 대답 할 수 있습니다. 당신은 메쉬 화면을 왼쪽 때 알고 싶은 경우에 는 그리고 당신은 ___ Renderer.isVisible ___ 확인 가치가있을 수도, 구단 https://www.youtube.com/user/modelisationLolito