docdum Geschrieben 17. Oktober 2017 Melden Share Geschrieben 17. Oktober 2017 Hallo ich habe eine Frage zur Vorgehensweise und ggf. für verwendbare Funktionen. Wenn ich eine Rakete verschieße und ein Ziel in Reichweite ist, und die Rakete es als Ziel erfasst hat um eben dieses Objekt einen roten Rahmen/rote Box machen. Ich hatte im Internet einige Beispiele gefunden, allerdings waren die so kompliziert wie auch die Beispiele aus dem Unity-Store. Deswegen frage ich mal hier. Gruß Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Zer0Cool Geschrieben 17. Oktober 2017 Melden Share Geschrieben 17. Oktober 2017 Kommt darauf an, wie dieser Rahmen aussehen soll. Komplexere Methoden sind spezielle Meshshader oder auch ein Kameraposteffekt. Für eine einfache Variante würde ich einfach einen Unity-Cube nehmen und diesem ein Material verpassen mit unten aufgeführter Textur. Dann erstellst du noch folgendes Material und weist dieses dem Cube zu. - Unity Standard - Rendering Mode "Transparent" ("Cutout" würde auch gehen, Nachteil: Ränder können zerfranst wirken, Vorteil: Metallic und Smoothness wirken nur auf den Rand) - Metallic 0 - Smoothness 1 - Albedo Textur siehe unten - Farbe Rot Den Cube skalierst du dann über ein Skript auf die Größe die dein Objekt hat und legst diesen um dein Objekt. Der Knackpunkt dafür ist die Textur, ich habe dir eine erstellt: Ergebnis: PS: Um alle Kanten des Cubes zu sehen bräuchtest du einen "Double Sided Transparent Shader" oder du müsstest den Cube aus 12 einzelnen Quads zusammensetzen. Ich hatte das hier schon einmal erklärt: Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Helishcoffe Geschrieben 20. Oktober 2017 Melden Share Geschrieben 20. Oktober 2017 Ein anderer Ansatz (wenn es ein 2D-Quadrat sein soll wie eine Art Zielsucher), wäre ein Sprite als UI-Image zu benutzen. Mittels Script, kann man dann über die Position des zu Fokussierenden Objektes das Image auf dieses Objekt Zentrieren. Ist natürlich etwas mehr Scriptarbeit als der Ansatz von @Zer0Cool, allerdings wäre die Variante besser wenn es darum geht, ein 2D Quadrat zu erzeugen, welches in bestimmtes Objekt im Visier hat. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
docdum Geschrieben 23. Oktober 2017 Autor Melden Share Geschrieben 23. Oktober 2017 Danke euch für die Antworten, hatte leider keine Zeit vorher zu antworten. Ich möchte eigentlich nur ein einfaches 2D-Rechteck/Quadrat über ein Ziel legen. Aber ich werde beides mal probieren. Danke euch und Gruß! Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Zer0Cool Geschrieben 23. Oktober 2017 Melden Share Geschrieben 23. Oktober 2017 Ja, ich dachte irrtümlich, du wolltest einen Rahmen um das komplette 3D-Objekt legen. Du kannst aber auch einfach ein Quad (Unity-Primitive) nehmen und das Material wie ich es beschrieben habe zuweisen. Das ist eigentlich nix anderes als, wenn man es über die Unity-UI macht. Die Unity-UI-Variante wäre evtl. einfacher, wenn dein Rechteck sich nur auf der UI-Plane (d.h. nicht in den 3D-Raum - Z-Richtung - hineingehen soll) bewegen soll. Allerdings muss man hier wieder das UI-Element am 3D-Objekt ausrichten (was vermutlich dann wieder von der Komplexität her auf's selbe rauskommt). PS: Solltest du die Quad-Variante wählen, dann kannst du auch einen Sprite-Shader verwenden, der ist etwas performanter: - "Sprites/Diffuse" (mit Lichteinfluss) - "Sprites/Default" (ohne Lichteinfluss) Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
docdum Geschrieben 23. Oktober 2017 Autor Melden Share Geschrieben 23. Oktober 2017 Hallo Zer0Cool, danke nochmal für den Nachtrag. Ich hatte das jetzt mit der Canvas/Image probiert bin aber nicht überzeugt. Ich probiere jetzt mal alles durch ... Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Recommended Posts
Archiviert
Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.