2016-07-28 19 views
1

Das 3D-Modell (Virtual Object), das von der Vuforia gerendert wird, wird immer in die Kamera schauen. Wenn sich die Android-Kamera bewegt, befindet sich das Modell in der Mitte des Bildschirms. Ich benutze kein Ziel. Ich möchte das Modell nicht bewegen, sondern an der Stelle bleiben, wo ich es mit einem Knopf platziere. Wie mache ich das?So subtrahieren Sie die Kamerabewegungen in Unity - Vuforia mit C#

+0

Willst du damit sagen, dass du ein Modell auf einem echten Weltobjekt "platzieren" willst und es dort bleiben lässt (auf dem realen Weltobjekt), wenn du deine Kamera bewegst? – bpgeck

Antwort

0

In der Hierarchie Panel, ziehen Sie Ihr Modell in "MainCamera", indem Sie tun, dass das Modell als ein Kind zu MainCamera, die Modell mit der Kamera (dh) zu bewegen bewegen wird. Es wird zentriert werden alle Zeit, aber stellen Sie sicher, nachdem Sie das Modell auf die Kamera ziehen, ändern Sie die Position des Modells auf (0,0,0), wie das Modell in der lokalen Position der Kamera ist, ich hoffe, dass dies Ihnen helfen könnte!

0

In Vuforia gibt es ein Prefab namens UserDefinedTargetBuilder (Assets> Vuforia> Prefabs> UserDefinedTargetBuilder). Anstatt alles neu zu schreiben, was das Vuforia-Team bereits geschrieben hat, werde ich nur einige sehr hilfreiche Anleitungen dazu verfassen:

Eine Erläuterung zu benutzerdefinierten Zielen finden Sie unter here.

Zum Herunterladen der Vuforia-Beispielprojekte für Unity siehe here. Darin ist ein UDT-Projekt enthalten, das sehr hilfreich ist.

Und siehe here für eine gute Anleitung zur Steuerung der Erstellung des UDT.

Nun, da Unity immer der Kamera gegenübersteht, hat Unity eine Funktion namens Transform.LookAt, die als Argument die Transform des GameObject nimmt, das Sie betrachten möchten. Dies teilt im Wesentlichen die Z-Achse (die Vorwärtsachse) oder Ihr Objekt mit der Z-Achse des Objekts, das Sie betrachten möchten.