Jump to content
Unity Insider Forum

Punkte rendern


BennIY

Recommended Posts

Guten Abend,

 

ich arbeite gerade an einem Projekt bei dem ein sehr großer Datensatz in Unity dargestellt werden soll. Es handelt sich dabei um ca 300.000 3D Positionskoordinaten welche ich entweder als Punkte oder als Linie darstellen möchte.

Meine frage ist nun, wie verbinde ich 2 Punkte mit einer Linie (from/to) oder wie setze ich ein Punkt im 3D raum, welcher gerendert wird.

Meine Aktuelle Lösung zum Debuggen war, dass ich für jede Koordinate einen Würfel erstellt habe was jedoch Arbeitsspeicher und GPU frisst.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich fürchte Linien werden dir nichts bringen, da es eine Punktwolke ist und du nicht wissen kannst (ohne eine Flächenerkennung) wo die Linien hin sollen.
Eine einfache Lösung, wie "erzeuge Punkt im Raum" ist mir nicht bekannt (man kann wohl die Punkte als Partikel rendern, aber auch das ist wohl nicht ohne Hindernisse).

Hier habe 2 Lösungen gefunden und hier aufgeführt:
Ein Unity-Asset (kostenlos):
https://www.assetstore.unity3d.com/en/#!/content/19811

Point Cloud Viewer zum selber basteln:
http://www.kamend.com/2014/05/rendering-a-point-cloud-inside-unity/

Link zu diesem Kommentar
Auf anderen Seiten teilen

Für Linien könntest du die Low-Level Graphik Bibliothek nutzen.

Ich hab nichts getestet, aber ich hab da allerdings auch so meine Zweifel ob dein Computer das mitmacht bei sovielen Punkten :)

Alternativ zu @Zer0Cools Vorschlag könntest du auch mittels Compute Shader deine Punkte und Linien rendern. Im Grunde müsstest du halt bloß deine Punkte in "Screenspace" transformieren und dann halt die Pixel anmalen. Könnte aber ziemlich fummelig werden.

In jedem Fall willst du wohl eher nicht aufeinmal 300.000 Punkte / Linien zeichnen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Archiviert

Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.

×
×
  • Neu erstellen...