BennIY Geschrieben 27. Mai 2017 Melden Share Geschrieben 27. Mai 2017 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 More sharing options...
Zer0Cool Geschrieben 27. Mai 2017 Melden Share Geschrieben 27. Mai 2017 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 More sharing options...
Life Is Good Geschrieben 28. Mai 2017 Melden Share Geschrieben 28. Mai 2017 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 More sharing options...
BennIY Geschrieben 28. Mai 2017 Autor Melden Share Geschrieben 28. Mai 2017 Linien könnten Schon was bringen, die Punkte in meinem Array haben eine Reihenfolge es ist ein Pfad. Ich hätte dann eine Funktion geschrieben die eine Linie vom aktuellen Punkt zum darauffolgenden zieht. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Zer0Cool Geschrieben 28. Mai 2017 Melden Share Geschrieben 28. Mai 2017 Mhh, wenn du da noch Pfadinformationen hast, könnte es vielleicht gehen, für Linien kannst du einen Linerenderer nehmen, den gibt es bereits in Unity, der bekommt ein Array mit Punkten:https://docs.unity3d.com/Manual/class-LineRenderer.html Aber ob der mit so vielen Linien zurechtkommt, da bin ich überfragt. 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.