Wie kann ich einen Kreis in Unity3D zeichnen?

9

Wie zeichne Kreis in Unity 3d? Ich möchte einen Kreis um ein anderes Objekt zeichnen. Radien von Kreisen sind unterschiedlich und Kreise haben Textur - Quadrate.

    
Oksana 04.12.2012, 17:19
quelle

5 Antworten

10

Ich habe einen großen Fehler mit diesem Code gefunden. Die Anzahl der Punkte (Größe) sollte nicht "(2 * pi / theta_scale) + 1" sein, da dies dazu führt, dass der Kreis 6,28 Mal gezeichnet wird. Die Größe sollte "1 / theta_scale + 1" sein. Für eine Theta-Skala von 0,01 müssen also 100 Punkte gezogen werden, und für eine Theta-Skala von 0,1 müssen 10 Punkte gezogen werden. Andernfalls würde es 62 Mal bzw. 628 Mal ziehen. Hier ist der Code, den ich benutzt habe.

%Vor%

Wenn Sie die Zahl in "Größe" ändern, die durch ThetaScale geteilt wird, können Sie eine überstreichende Anzeige / Tortendiagrammgrafik erstellen.

    
MrMike 02.08.2015 01:18
quelle
7

Siehe Unity-Antworten für eine ähnliche Frage.

Alternativ :

%Vor%

Der LineRenderer benötigt kontinuierliche Punkte. Sie können diesen Code leicht ändern, um Zylinderspielobjekte anstelle eines Linienrenderers zu verwenden. Ich finde den LineRenderer etwas scheußlich.

Schließlich können Sie ähnlich wie bei der ersten Verknüpfung eine Kreistextur an eine Einheitenebene anhängen. Machen Sie einen Teil der Textur, die nicht Teil des Kreises ist, transparent. Dann skalieren und richten Sie die Ebene einfach so aus, dass sie zu Ihrem Objekt passt. Leider ist diese Methode nicht toll, wenn jemand fast parallel zum Flugzeug schaut.

    
Jerdak 04.12.2012 20:18
quelle
2

Jerdaks Lösung ist gut, aber der Code ist chaotisch, also musste ich ein wenig zwicken. Hier ist der Code für eine Klasse, wo ich i in der Schleife verwende, um einen Fehler zu vermeiden.

Es aktualisiert auch die Position des Kreises mit seiner gameObject Position.

%Vor%     
Jonathan Larkin 25.05.2015 15:13
quelle
0

Kreis kann mit Shader zeichnen - zeichne Pixel, wenn es auf Radius von der Mitte ist.

    
Oksana 25.02.2015 07:15
quelle
0

Hat folgendes mit einem Sprite gemacht. Chan fliegt in der Szene, also ist sie leicht über dem Flugzeug. Ich hatte sie fliegen, damit ich einen guten Screenshot bekommen konnte, nicht weil es nicht gut mit dem Flugzeug spielen würde.

Ich habe ein Kreis-Sprite mit niedriger Auflösung verwendet. X Drehung 90 Maßstab X 15, Y 15, Z 1

Dann setze ich die Sortierebene, so dass sie über der Standardebene rendert. Ich habe das getestet, als ich auf diesen Beitrag stieß. Es geht nicht gut mit Schatten. Ich müsste herausfinden, welche Ebenenschatten gezeichnet werden, um sicherzustellen, dass sie auf dem Sprite gerendert werden.

    
Chuck Savage 01.10.2016 06:27
quelle

Tags und Links