Jump to content
Unity Insider Forum

Prozedurale Mesh Generierung (Schwerter)


Mark

Recommended Posts

Ich hab die Vielfalt enorm erhöht indem ich die Generatoren für Schwerter in 2 teile geteilt habe, den Fuß der Klinge und den Rest des Körpers, Resulate:

 

Swords8.gif

Sword01.jpg

 

Sword02.jpg

 

Kleine Statistiken:

Klingentypen: 3 (jeweils Fuß und Körper)

Schultertypen 1 (verbindet Guard mit der Klinge)

Guardtypen: 4 (Parrierstange, verbindet mit Griff)

Grifftypen: 2

Pommeltypen: 2 (+1 für beliebige Meshs, zB Schädel) (Schwertknauf)

Spiketypen: 4 (1 Typ davon ist für keine Spikes)

Dekorationstypen: 3 (1 Typ davon ist für keine Deco, +1 für beliebige Meshs, zB Schädel)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Bei den Klingentypen gibt es Kristall, dann Plain (mit Rechteckigen Spike haltern) und Edged (mit den schiefen Spike haltern). Das ist nun nicht soviel Vielfalt, aber ich bin bisher auch nur am Codeunterbau gewesen so dass neue Elemente nur nebenbei dazu kamen.

 

Jeder Typ hat Fuß und Körper. Jede Klinge kann diverse Dekoelemente bekommen (auf der Flachen Seite der Klinge) (max 3 verschiedene für eine generierte Klinge) sowie Spikes (max 2 verschiedene für eine generierte Klinge).

 

Dann kann jede Klinge Einschneidig oder Zweischneidig sein, bei den Einschneidigen Klingen gibt es dann noch die Möglichkeit auf eine Zwillingsklinge.

 

Ich hab absolut keine Ahnung von Kombinatorik, und kann dir daher keine genauen Zahlen verraten.

 

Aber nur mal so grob:

 

Nur die Klingentypen können ohne Deko und Spikes und ohne Beachtung ob zwillingsklinge oder Doppelschneide zu 9 verschiedenen Typen geformt werden. 18 wenn man Zwillings und Doppelklinge beachtet und 27 wenn man Zwillingsklingen dazu nimmt.

 

Die BEstückung der Klingen durch Dekoelemente und Spikes ist auch sehr Variable, zB Variiert die Anzahl der Dekoelemente und der Spikes sehr stark (0 -10 zB). Wenn ich nur Ahnung von kombinatorik hätte..

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 4 months later...

Und warum brauchst du da ne Prozuderale Mesherstellung, weil das kann ja mit Prefabs machen, die dann einfach zufällig aneinanderwürfeln... oder habe ich da was übersehen?

 

PS: Sieht richtig geil aus weiter so und ich probier das jetzt auch mal aber mit Prefabs :-)

bearbeitet von QuesterDesura
Link zu diesem Kommentar
Auf anderen Seiten teilen

Das Mesh selbst wird jedesmal anders erzeugt, zB die Klinge ist breiter oder länger oder hat mehr Zacken, das gehört alles zum Mesh, auch kann jede Zacke anders gebogen sein, schärfer sein, etc.

 

Extrudieren ist relativ einfach im Konzept kann aber viel variation aufweisen, aber hier einer der häufigsten Fälle:

  1. Die zu extrudierneden Faces werden vom Mesh gelöst (keine shared Vertexe bei unselektierten und selektierten Faces).
  2. Alle Vertexe der selektierten Faces werden entlang der Normalen (Vertexnormalen ODER durchschnitt der Vertexnormalen ODER durchschnitt der Facenormalen) verschieben um den Extrudewert
  3. Kanten der extrudierten Fläche mit den Kanten der unextrudierten Fläche verbinden (2 Faces pro Kante erzeugen)

Bei mir sieht das per Code so aus:

http://ideone.com/SrCuaN

Link zu diesem Kommentar
Auf anderen Seiten teilen

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Lädt...
×
×
  • Neu erstellen...