0 registered members (),
18,008
guests, and 5
spiders. |
Key:
Admin,
Global Mod,
Mod
|
|
|
Lite c - Seil aufwickeln
#392436
01/22/12 15:50
01/22/12 15:50
|
Joined: Dec 2011
Posts: 3
Salzknerpel
OP
Guest
|
OP
Guest
Joined: Dec 2011
Posts: 3
|
Hallo, wird mir jemand bei einer nicht so leichten Sache helfen? Möchte mein Bergwerk nachbauen.Der Förderturm ist fertig und die Seilscheiben drehen sich auch. Nur das Seil am Förderkorb ist eine Stange die fest mit den Förderkorb verbunden ist. Wie bekomme ich das Seil um die Seilscheibe herum und wie kann ich das dann auf und ab rollen. Die Seilscheiben sind Umlenkrollen und unten am Boden steht die Fördermaschine (Winde). Geht sowas überhaupt? Ich würde mich freuen wenn mir jemand helfen kann und mit mir in den E-Mailkontakt treten könnte. Viele Grüße Salzknerpel (Bitte wenns geht nur auf Deutsch)
Last edited by Salzknerpel; 01/22/12 16:25.
|
|
|
Re: Lite c - Seil aufwickeln
[Re: ventilator]
#392446
01/22/12 19:10
01/22/12 19:10
|
Joined: Jul 2001
Posts: 6,904
HeelX
Senior Expert
|
Senior Expert
Joined: Jul 2001
Posts: 6,904
|
Ich denke auch, dass eine Texturanimation reichen sollte. Schwierig wird es nur für deinen Förderkorb, da du dann ja die Textur verschiebst, aber das Seilmodell dann ja durch den Korb geht. Da müsstest du dann dem Seilmodell, an dem der Förderkob entlangfahren kann, einem Pixelshader geben, der ab einer bestimmten z-Position und niedriger das Seilmodell nicht rendert - darüber aber schon, natürlich.
Wenn du allerdings willst, dass das Seil, bzw. die Seile schwingen, dann muss das animiert werden, wie ventilator auch schon sagte. Ich würde aber stattdessen auch die Textur verschieben und die Animation nur für die Schwingung des Seils einsetzen und dann kannst du das dann auch besser mit Bonesanimation machen; sind es 70 oder weniger Bones, die du verwendest, kannst du das auch über die Grafikkarte berechnen lassen, was für genügend Geschwindigkeit sorgen sollte.
Vertexanimation geht auch, könnte aber ein Aufwand sein, der sich letztenendes nicht bezahlt machen.
Eine Möglichkeit die mir noch einfällt wäre auch noch Texturanimation plus Bewegung über einen Vertexshader (Schwingung), wobei die Stärke und Richtung der Seilbewegung in den Normalen der Vertexe gespeichert werden und im Vertexshader ausgewertet werden. Will man korrektes shading erreichen, kann man wiederum die originalen Normalen in einer Normalmap abspeichern und im Pixelshader auswerten.
Last edited by HeelX; 01/22/12 19:11.
|
|
|
Re: Lite c - Seil aufwickeln
[Re: Superku]
#392472
01/23/12 01:08
01/23/12 01:08
|
Joined: Dec 2002
Posts: 3,375 Vindobona (Ostarichi)
Harry Potter
Expert
|
Expert
Joined: Dec 2002
Posts: 3,375
Vindobona (Ostarichi)
|
Wenn man das Seil einfarbig macht, dann kann man aber auch einfach die Vertices verschieben. Also für das herunterhängende Seil einfach eine schmale Röhre modellieren, und die Höhe dieser Röhre (die Vertices vom unteren Seil-Ende) an die Position des Förderkorbes anpassen. Die Textur wird dabei natürlich gestaucht, wenn das Seil kürzer wird. Deshalb muss sie einfarbig sein, bzw. darf nur aus verschieden farbigen vertikalen Streifen bestehen.
Eine andere Möglichkeit wäre folgende: Anstatt des herunterhängenden Seiles einfach eine Röhre modellieren, die bis zum Boden reicht. Je nach Position des Förderkorbes könnte man dann mit Pixelbefehlen den Alphakanal der Textur verändern, sodass die unteren Teile des Seiles unsichtbar werden. Man könnte dem Seil dann auch eine hübsche Seil-Textur geben, die nicht gezerrt oder gestaucht wird. Wenn man die Seil-Röhre dann noch vertikal vibrieren lässt (eine leichte Auf/Ab-Bewegung um ein paar "cm"), dann sieht das so aus, als ob das Seil sich bewegen würde.
Falls Du eine sichtbare Kabeltrommel einbauen willst, mit der das Seil aufgewickelt werden soll, dann würde ich dafür ein animiertes Model verwenden. Dieses hat dann natürlich entsprechend viele Polygone, damit sich das Seil schön rund aufrollen lassen kann. Daher muss man hier auf jeden Fall ein LOD-Model verwenden. Also aus der Nähe sieht man das aufgeollte Seil, bei größerer Entfernung sieht man einfach nur die Kabeltrommel mit einer Seil-Textur.
|
|
|
Re: Lite c - Seil aufwickeln
[Re: Harry Potter]
#392478
01/23/12 09:17
01/23/12 09:17
|
Joined: Jul 2001
Posts: 6,904
HeelX
Senior Expert
|
Senior Expert
Joined: Jul 2001
Posts: 6,904
|
Das mit dem Stauchen ist wahrscheinlich ineffizienter als im Shader abhängig von der Z-Position der Decke des Fahrstuhls mit clip() die zu rendernden Pixel wegzuwerfen (das wäre dann die effiziente Umsetzung von Harry's alphapixel-Variante). Dennoch: Stauchen funktioniert natürlich auch. Wenn man das Tiling verändert (in einem Shader), kann man die Texturstauchung auch wieder rausrechnen. Insgesamt erscheint mir das dann aber wieder als zu umständlich  Eine vertikale Bewegung an einem vertikalen Seil führt doch zu einer Bewegung entlang der Seilachse? Das mit den Partikeln funktioniert nur dann, wenn es um das strikt nach unten gehende Seil handelt. Wenn Salzknerpel aber mehr als das haben will, muss man beschrieben wo das Seil entlangläuft (meine erste Idee: geordnete Vertices in einem dummymodell und deren Positionen dann ablaufen mit den Partikeln).
|
|
|
Re: Lite c - Seil aufwickeln
[Re: ventilator]
#392498
01/23/12 15:48
01/23/12 15:48
|
Joined: Sep 2003
Posts: 6,861 Kiel (Germany)
Superku
Senior Expert
|
Senior Expert
Joined: Sep 2003
Posts: 6,861
Kiel (Germany)
|
Das mit den Partikeln funktioniert nur dann, wenn es um das strikt nach unten gehende Seil handelt. Wenn Salzknerpel aber mehr als das haben will, muss man beschrieben wo das Seil entlangläuft Das stimmt so nicht, Partikel lassen sich auch problemlos für die Seilscheibe benutzen. Man kann einfach mit einer simplen Formel die Positionen der Partikel berechnen, die "Auflösung" mit einer Variable steuern und diese auch bspw. bei größerer Entfernung zum Spieler dynamisch reduzieren, Modelle oder vorgegebene Vertices sind nicht notwendig.
"Falls das Resultat nicht einfach nur dermassen gut aussieht, sollten Sie nochmal von vorn anfangen..." - Manual Check out my new game: Pogostuck: Rage With Your Friends
|
|
|
Re: Lite c - Seil aufwickeln
[Re: Superku]
#392503
01/23/12 16:03
01/23/12 16:03
|
Joined: Aug 2002
Posts: 2,183 Germany, BaW�
Rondidon
Expert
|
Expert
Joined: Aug 2002
Posts: 2,183
Germany, BaW�
|
Übersetzt für Normalo-Mathematiker  : Einfach mehrere Partikel mit Beam-Effekt hintereinander ein bestimmtes Muster bzw. eine Formel entlanglaufen lassen. In der Praxis ist das also zuerst eine Gerade für das "gespannte Seil" und danach eine konstante Kurve um die Seilscheibe herum. Falls du was aufwickeln willst: Auf der Kabeltrommel in einem konstanten Kurvenflug dann immer ein Stück nach rechts oder links gehen, wobei auch der Faktor "nach oben" oder "nach unten" variiert werden kann. Das ist dann der "Aufwicklungsgrad". Das sollte die schönste Lösung sein, weil das Seil nachher rund aussieht. Richtig ausmodellieren und komplex per Vertex-Animation animieren würde ich das nicht. Kostet Performance und sieht dabei wahrscheinlich auch noch schlecht(er) aus (als die mathematische Lösung). Jedenfalls was die Kabeltrommel angeht.
|
|
|
|