So erhalten Sie die 3D-Welt-Raumposition von Render Texture

8

Ich verwende Textur rendern , um eine Seite zu erstellen Karte , es funktioniert gut und ich habe es durch diese Schritte geschafft.

  1. Eine Hauptkamera, die die Szene rendert.
  2. NGUI-Kamera Rendern der GUI.
  3. Diese GUI enthält die Render-Textur (Minimap), die die Szene auf der Textur mit der GUI-Kamera rendert.

Aber jetzt möchte ich die Karte weiter verbessern und will sie hartnäckig machen. Ich möchte die Weltreposition von Render Texture Click Point. Gibt es eine Möglichkeit, die Position des Welt-Space aus dem spezifischen Klickpunkt der Render-Textur zu erhalten?

Wenn ich irgendwo in die Rendertextur klicke, wie bekomme ich dann den Punkt im 3D Weltraum?

Zum Beispiel: Ich habe bei Render Texture ein Auto-Objekt angeklickt. Nun, wie kann ich es im 3D-Welt-Raum markieren oder holen?? Wie kann 2D-Textur-Klickposition in Welt-Raum-Position konvertiert werden!

    
Muhammad Faizan Khan 26.04.2016, 07:33
quelle

1 Antwort

4

Das setzt einige Dinge voraus.

Zuerst verwende ich EventSystems, um Mausklicks zu erhalten. Dies ist keine Voraussetzung, es kann leicht geändert werden (durch Sie aber ^^). Um es richtig einzurichten, brauchst du EventSystem in deiner Szene (wenn du eine UI hast, hast du wahrscheinlich schon eine).

Zweitens müssen Sie eine PhysicsRaycaster Komponente an Ihre Hauptkamera (die Kamera, durch die der Player hindurch sieht) anhängen.

Zu guter Letzt, auf dem GameObject, das den Renderer für die Render-Textur enthält (ich habe einen einfachen Quad verwendet), wenden Sie das folgende Skript an und weisen Sie die entsprechende Kamera zu.

%Vor%

edit: oben ist vielleicht etwas ausführlich, du könntest es leicht reduzieren, wenn du einen Liner magst, es ist nur um zu zeigen, wie es funktioniert. bitte auch nur halte das für einen proof of concept, es ist nicht gründlich getestet .

    
yes 27.04.2016 14:27
quelle

Tags und Links