Hinweis: Dies ist definitiv ein Hack, aber es fügt ARKit Unity eine dauerhafte Bildverfolgung hinzu. Die gleiche Idee kann auch auf die native lib angewendet werden.
Herunterladen Arkit 1.5 beta https://bitbucket.org/Unity-Technologies/unity-arkit-plugin/branch/spring2018_update
In ARSessionNative.mm, diesen Codeblock hinzu:
extern "C" void SessionRemoveAllAnchors(void* nativeSession) {
UnityARSession* session = (__bridge UnityARSession*)nativeSession;
for (ARAnchor* a in session->_session.currentFrame.anchors)
{
[session->_session removeAnchor:a];
return;
}
}
In UnityARSessionNativeInterface.cs, fügen Sie diesen Code unter SessionRemoveUserAnchor:
private static extern void SessionRemoveAllAnchors (IntPtr nativeSession);
Und dies unter RemoveUserAnchor:
public void RemoveAllAnchors() {
#if !UNITY_EDITOR
SessionRemoveAllAnchors(m_NativeARSession);
#endif
}
Dann rufen diese von einem Update oder Coroutine:
UnityARSessionNativeInterface.GetARSessionNativeInterface().RemoveAllAnchors();
Wenn der Anker entfernt wird, kann das Bild wieder zu erkennen. Es ist nicht super glatt, aber es funktioniert definitiv.
Ich hoffe, Sie haben das nützlich gefunden! Lassen Sie es mich wissen, wenn Sie weitere Hilfe benötigen.
so für Sie mit ARKit tun können.Sie sollten eine Echtzeit-Bildverarbeitung wie Tensorflow oder Watson verwenden, um ein Objekt zu erkennen. –
@matloob Hasnain derzeit Vuforia funktioniert gut bit der Kunde möchte wissen, ob wir stattdessen ARKit verwenden könnten. – Superwayne
Ja, ich weiß über Vaforia-Marker-Scannen. –