Blenderforum
Frage Geometry Nodes - Druckversion

+- Blenderforum (https://blender-forum.de/forum)
+-- Forum: Blender Hilfe (https://blender-forum.de/forum/forumdisplay.php?fid=4)
+--- Forum: Support (https://blender-forum.de/forum/forumdisplay.php?fid=5)
+--- Thema: Frage Geometry Nodes (/showthread.php?tid=578)



Geometry Nodes - Malthea - 28.03.2024

Hallo,

ich möchte Schindeln auf einem Dach mit ausgefallener Form (zaubererhutartig) verteilen. Eine geläufige Vorhergehensweise mit verschiedenen Arrays + simple deform + Lattice führte nicht zu akzeptablen Ergebnissen - unter anderem wurde im Laufe der Deformation die Schindeldicke auf fast 0 reduziert.

Mein derzeitiger Versuch besteht darin, ein Mesh, das nur aus Schindelverteilungspunkten besteht, durch geonodes auf die Dachoberfläche abzubilden und dann an diesen Punkten die Schindeln aus einer Collection zu generieren.

Die Geometry Nodes funktionieren mit einem Grid Node als Punktinput, leider habe ich es bisher nicht geschafft, ein Object Info Node für die Punkteeingabe zu nutzen.

Vielleicht hat einer von euch eine Idee, wie das umgesetzt werden kann.


Im Screen aus dem Testblender habe ich einen Kegelstumpf als Dachersatz genommen.

   

Grüße Malthea


RE: Geometry Nodes - TripTilt - 28.03.2024

willst du die geometrie des Daches das du decken willst auch in geondes generieren oder geht da modeling? Falls modeling okay is ist, dann mach einfach mehr loopcuts auf diesen Kegel und dann mit "instance on points" the schindeln auf die vertices packen, blender sollte die vertices als punkte nehmen. dann kannst du dich noch mit der rotation rumärgern, euler to vector hilft, in 4.1 heisst das dann "rotate rotation" Lächeln


RE: Geometry Nodes - Malthea - 28.03.2024

Hallo,

danke für deinen Post. Das Dach ist fertig modeliert, aber da ich keine gleichmäßig verlegten Schindeln möchte, sind die Punkte des Dachmeshes keine einfache Lösung.

Mein Ansätze sind eine Spirale (Fibonacci, links im Screen) und konzentrische Kreise mit Varianzen auf der rechten Seite. Beide Verteilungen der Schindeln sind soweit ok, für den Screen habe ich sie unter Object Properties als Vertices instanziert - Align to Vertex Normal dreht sie passend auf der x-y-Ebene.

Für die Instanzierung der Schindeln auf dem Dach und die spätere Verteilung auf der z-Achse sowie die Drehung der Schindeln um x-Local benötige ich in den Geonodes Zugriff auf die Punkte im jeweiligen Punktemesh, leider reicht mein derzeitiger Wissensstand da nicht aus...

Grüße Malthea


RE: Geometry Nodes - Malthea - 06.04.2024

Hallo,

nach langer Suche und Herumprobieren habe ich eine Möglichkeit gefunden, ein Mesh, das nur aus Vertices (das einer Punktwolke entspricht) auf der Oberfläche eines anderen Meshes abzubilden. Leider gibt es in den neueren Geometry Nodes keinen Vertex Node mehr und Standard Nodes wie Distribute Points on Faces verarbeiten (noch) keine Punktwolken.

Hier meine Lösung:

   

Das Mesh Spirale enthält die Vertices, Kegelstumpf die Oberfläche, auf der abgebilded wird.


RE: Geometry Nodes - Faba - 06.04.2024

Auf eine Wachstumsspirale bin ich nicht gekommen.
Hab hier eine gefunden:
https://blenderartists.org/t/higgsas-geometry-nodes-groups-blender-3-3-3-4-3-5-3-6-4-0/1351737
Damit ging es ganz gut.
Hast du es dir in etwa so vorgestellt?
   


RE: Geometry Nodes - Malthea - 06.04.2024

Ja - genau das ist das Ziel! 

Ich muß noch an der Verteilung und Ausrichtung arbeiten - bisher habe ich die lokalen Achsen der Vertices der Spirale in x und y sowie die Flächennormale des Daches für die Ausrichtung der Schindeln genutzt - aber da gibt es kleine Unsauberkeiten - vielleicht durch den Sample Nearest Node. Ich werde es mit der Ausrichtung der Schindel direkt an der jeweiligen Fläche versuchen.

Und vielen Dank für den Link - die 10 Euro sind gut investiert.


RE: Geometry Nodes - Faba - 06.04.2024

Datei ist beigfügt.
Falls du eine bessere Lösung findest wäre ich sehr daran interessiert Lächeln


RE: Geometry Nodes - TripTilt - 06.04.2024

ui, sieht das cool aus. unter so nem dach würde ich mein observatorium einrichten Lächeln


RE: Geometry Nodes - Malthea - 07.04.2024

@Falba:

ich finde, das das Dach richtig gut aussieht. Für meine Zwecke (Game-Asset) sind das allerdings zu viele Schindeln, die sich auch an einigen Stellen durchdringen - aber da kann man sicherlich mit den Einstellungen herumprobieren.

Im Prinzip macht er das genauso, wie ich mir das vorstellt habe - seine Phyllotaxis Disk erzeugt das Vertice-Mesh und mit Raycast werden die Punkte auf dem Dachmesh abgebildet (wobei er es geschafft hat, den Raycast vom Punktemesh aufs Dach zu bringen - ich musste das umgekehrt machen).

Was wäre für dich eine bessere Lösung?

Ich habe noch den 2. Ansatz (konzentrische Kreise, vielleicht Kurven statt Vertice-Mesh), bei dem ich meine Idee (unterschiedlich große Schindeln) besser umsetzen kann - bei den 138-Grad Drehungen der Fibonacci-Spirale gibt es leider keine direkten Nachbarn und die Instanzen auf dem Dach würden sich auf jeden Fall verschieben.


RE: Geometry Nodes - Faba - 07.04.2024

@Malthea
Ich hatte es erst mit einer normalen Spirale probiert, die dann resampled wird. Das Ergebnis war ok, aber die Phyllotaxis Disk gibt ein viel schöneres Ergebnis.
Kreise wären auch noch eine Option, danke für die Idee.
Bei allen Ansätzen war es wichtig, dass wegen der Form des Daches (höhere Steigung) die Ringe zur Mitte hin enger werden um eine Abdeckung zu gewährleisten.

Wofür brauchst du direkte Nachbarn?

Bei Game Assets gehe ich in der Regel sparsamer vor.
Je nach Style, Perspektive + Anforderung Polycount benutze ich ein Mesh mit einer Textur, auf das zur Auflockerung Geometry/ einzelne Schindeln aufgesetzt sind.

Auf jeden Fall ein sehr spannendes Thema.


RE: Geometry Nodes - Malthea - 07.04.2024

Die Schindeln in meiner Collection haben eine unterschiedliche Breite und damit sie lückenlos bzw ohne Überlappung gesetzt werden können, benötige ich die Nachbarn rechts und links. Bei einem normalen Dach ist ein Überstand an den Dachkanten akzeptabel, bei einem Kreis müsste dann die jeweils letzte Schindel skaliert werden.

Über den Raycast Node könnten auch bei der Spirale die "Nachbarn" rechts und links festgestellt werden - aber da müsste dann das aktuelle Schindelelement skaliert werden - ich vermute mal, das dann ein Durcheinander ausbricht.


RE: Geometry Nodes - Faba - 07.04.2024

Unterschiedliche Breite? Das klingt kompliziert.
Da fällt mir spontan keine Lösung ein.
Bei gleicher Breite hätte ich es noch mit Kreisen probiiert:
   


RE: Geometry Nodes - Malthea - 07.04.2024

Beide Dächer sehen gut aus - vielleicht könnte man eine kleine Varianz bei den Startpunkten der Kreise reinbringen, um Regelmäßigkeit zu vermeiden.

Unterschiedliche Schindelbreiten sind nicht SO aufwendig - ich habe da einen Thread gefunden, der das ausführlich behandelt:


https://blender.stackexchange.com/questions/271450/how-to-string-objects-of-a-collection-along-an-axis-depending-on-their-size-app


RE: Geometry Nodes - Faba - 07.04.2024

Danke, das sehe ich mir mal an.


RE: Geometry Nodes - Malthea - 15.04.2024

Ich habe ein ausgezeichnetes Tutorial gefunden, das die Ausrichtung von Collections mit unterschiedlich großen Elementen behandelt. Im Tutorial werden die Elemente auf einer Collection aus Beziers angeordnet, aber da die Geometry Nodes modular aufgebaut sind, könnte man auch andere Objekte nutzen.

Die Collection-Elemente können lokal gedreht oder über die Beziers an der Oberfläche eines anderen Objekts ausgerichtet werden und der Abstand zwischen den Elementen ist wählbar. Auch gibt es zahlreiche andere Anwendungsmöglichkeiten.

https://www.youtube.com/watch?v=xhmxZCiFtLs