Я являюсь новым для Unity 3D и C#. Также я не совсем уверен, как работает какое-то решение по произвольному отслеживанию Kudans. В настоящее время я использую SDK Unity Kudan для создания решения для позиционного отслеживания VR, по крайней мере, я попробую его. Теперь мой план:Unity 3D Kudan «Place Markerless Object» всякий раз, когда сетка оставляет экран?
- Всякий раз, когда сетка покидает экран, я хочу, чтобы заморозить положение подмигнули и найти новые точки функций (кнопка «место безмаркерных объект» делает это: Найти новую точку функции и место сетка).
- После того, как он обнаружил новые точки отличия (которые должны быть миллисекундами), он размораживает положение сетки и использует новые точки функции для дальнейшего изменения ее положения.
Идея «найти новую точку» необходима, потому что всякий раз, когда сетка и старые точки функции покидают экран, отслеживание будет очень неточным.
я уже попробовал это в 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
}
}
Но теперь won't трек правильно отслеживать больше, также i'm вполне уверен ArbiTrackIsTracking() won't быть решение для этого, потому что оно не потеряет отслеживание, когда сетка покидает экран.
У вас есть вопросы решить эту проблему?
Если вы хотите знать, когда сетка покинула экран, это может быть стоит проверить ___ Renderer.isVisible ___. Теоретически, как только он покидает камеру, он автоматически выбирается для достижения целей, и в этот момент он больше не считается видимым. В этот момент ваш код будет работать. Я думаю, что это решит вашу проблему. Обратите внимание, что при использовании ___ Renderer.isVisible ___, если вы начинаете использовать тени по какой-либо причине, тогда вы можете столкнуться с проблемой, когда объект по-прежнему считается видимым даже во время вне экрана для целей визуализации теней. – DisturbedNeo