Autor Beitrag
F34r0fTh3D4rk
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 5284
Erhaltene Danke: 27

Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
BeitragVerfasst: Fr 21.03.08 20:50 
hi,

Ich habe die Tage mal eine kleine Demo gebastelt, welche eine kleine Simulation von Objekten wie Kleidung in Echtzeit darstellt.
Die Physik ist nicht gerade das, was man als korrekt bezeichnen würde, allerdings eignet sie sich gut für Echtzeitanwendungen wie z.B. Spiele.

user defined image
user defined image
Hier gibt es einen großen Screenshot:
www.exec-dev.de/Cloth/cloth_high_res.jpg

Die Bedienung des Programms ist einfach:
  • Pfeiltasten / Bild oben und unten - Bewegen des Objektes
  • Plus / Minus - Objekt vergrößern / verkleinern
  • Maus (Taste gedrückt halten und Bewegen) - Kamera bewegen
  • w - wireframe mode
  • l - Beleuchtung an / aus schalten
  • o - wechselt zwischen Kugel und Würfel
  • r - Simulation zurücksetzen
  • s - Normalenglättung an/aus
  • p - Shader an/aus
  • 1-4 - Reibung einstellen
  • 5-6 - Subsampling einstellen
  • "." / "," - Auflösung des Gitters einstellen
  • F1-F4 - Fixpunkte an/aus
  • F5 - Screenshot
Hier gibt es den Download:
www.exec-dev.de/Cloth/Cloth.zip

Für Fragen und Anregungen bin ich offen, wer sich selbst mit dem Thema beschäftigen möchte, sollte sich den Artikel "Advanced Character Physics" von Thomas Jakobsen anschauen.
Falls reger Bedarf besteht, werde ich den Quellcode ein wenig aufbereiten und veröffentlichen.

mfg


Zuletzt bearbeitet von F34r0fTh3D4rk am So 11.05.08 20:48, insgesamt 19-mal bearbeitet
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: Sa 22.03.08 00:30 
Hi,

kurz experimentiert, sieht auch schon sehr vielversprechend aus ... ABER:

1. Siehe Screenshot. Das solltest Du mal noch irgendwie schauen, dass da nicht das Objekt öfters mal durchschaut (und das statisch sogar so bleibt)

2. Renderfehler wenn das Tuch über sich selbst umgeklappt ist.
Einloggen, um Attachments anzusehen!
_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
F34r0fTh3D4rk Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 5284
Erhaltene Danke: 27

Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
BeitragVerfasst: Sa 22.03.08 11:07 
hi,

ja ich hab schon ne kleine Gegenmaßnahme drin, die verhindern soll, dass Objekte durcheinander durchschauen, allerdings funktioniert das auch nur in begrenztem Maße. Bei der Selbstkollision (die ich nicht behandle) sieht das ganze schon schwieriger aus.

Übrigens hat das Tuch keine Rückseite, ich zeichne nur die Vorderseite und schalte Backface Culling ab, deshalb ist die auch nicht ganz so wie sie sein sollte.

mfg
F34r0fTh3D4rk Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 5284
Erhaltene Danke: 27

Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
BeitragVerfasst: Mi 07.05.08 19:23 
Ich hatte mich gewundert, warum die Kollision mit dem Würfel so viel langsamer war, als die mit der Kugel.
Das hinzufügen eines
ausblenden Delphi-Quelltext
1:
2:
else
  break;

wirkt manchmal Wunder ;)

Die etwas performantere Version ist hochgeladen.

mfg


Zuletzt bearbeitet von F34r0fTh3D4rk am Mi 07.05.08 19:34, insgesamt 2-mal bearbeitet
Calculon
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 676

Win XP Professional
Delphi 7 PE, Delphi 3 PRO
BeitragVerfasst: Mi 07.05.08 19:33 
Sieht echt beeindruckend aus!

Erinnert mich an das Cape von Spawn:
youtube.com/watch?v=NSoumRoNSt0
F34r0fTh3D4rk Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 5284
Erhaltene Danke: 27

Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
BeitragVerfasst: Mi 07.05.08 19:35 
hi,

Hab gerade Version 1.1 hochgeladen. Jetzt kann man mit den Tasten F1-F4 die Fixpunkte bestimmen.

mfg
j.klugmann
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 07.05.08 19:40 
Moin,
ich finde die neue Version schon richtig gut! :zustimm:
Besonders im Wireframe mode sieht man so richtig wie schön es animiert ist.
Bloß:
- wenn man licht ausschaltet sieht das alles ein bisschen komisches aus(das object ist weiß)?
-es gibt grafik fehler wenn dieses Lacken aufeinander fällt.

Kann man sicher etwas draus machen!!!!

j.klugmann
F34r0fTh3D4rk Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 5284
Erhaltene Danke: 27

Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
BeitragVerfasst: Mi 07.05.08 19:45 
hi,

hab grad nochmal hinzugefügt, dass man das Objekt jetzt auch nach oben und unten bewegen kann.
Die Fehler liegen daran, dass sich Polygone überlagern. Es sind schon einige Gegenmaßnahmen getroffen, aber so richtig behoben ist das Problem nicht. Das liegt, wie schon gesagt an der fehlenden Selbst-Kollision und der Tatsache, dass das Tuch aus Performancegründen (weil es eine Physik Demo ist) keine Rückseite hat.

Achja das mit dem Licht ist vielleicht missverständlich. Kein Licht bedeutet nicht, dass es dunkel ist. Ohne Licht gibt es kein richtiges Hell oder Dunkel, deshalb wird einfach alles weiß gezeichnet. Diese Funktion ist hauptsächlich für die Kombination mit dem Wireframe Modus gedacht.

mfg
arj
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 378

Win XP/Vista, Debian, (K)Ubuntu
Delphi 5 Prof, Delphi 7 Prof, C# (#Develop, VS 2005), Java (Eclipse), C++, QT, PHP, Python
BeitragVerfasst: Do 08.05.08 15:15 
Respekt. Saugeil. Ich hab mich im Studium mit Physiksimulationen beschäftigt.
Das sieht richtig gutaus. :)
wunsiedler
ontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 506
Erhaltene Danke: 4

Win7

BeitragVerfasst: Do 08.05.08 18:28 
Wenn man die 4 Fixpunkte nach unten legt und zw. Kugel und Quader umschaltet, fliegt das Tuch weg und landet neben dem Quader. Tilt. :D Fixpunkte wieder zurück, schwingt sich das Tuch wieder darüber. Sehr schön.

Allerdings: Fixpunkte unten, Kugel max. beim umschalten auf Quader verschwindet das Tuch im Nirvana....
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: Fr 09.05.08 10:08 
Wenn man die Fixpunkte kurzzeitig alle abschaltet, schwingt das Tuch beim Reaktivieren stark in die Richtung des ersten aktivierten Fixpunktes ... Wenn man diesen kurz darauf wieder deaktiviert, kann man damit ein sehr efektives Katapult bauen, was nicht mal, wenn man danach alle 4 Fixpunkte wieder aktiviert, das Tuch zurück ins Blickfeld holt.

_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
F34r0fTh3D4rk Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 5284
Erhaltene Danke: 27

Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
BeitragVerfasst: Fr 09.05.08 13:38 
Ich sollte vielleicht mal eine Weltgrenze einführen ^^ ist eigentlich kein Ding, aber für solche Katapult Aktionen war das Programm auch eigentlich nicht gedacht :P

mfg
Silas
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 478

Windows XP Home
Delphi 2005, RAD Studio 2007, MASM32, FASM, SharpDevelop 3.0
BeitragVerfasst: Fr 09.05.08 14:31 
Mein Respekt, sieht wirklich sehr realistisch aus :zustimm:

Allerdings hat dein Programm noch einen Bug (oder ist das ein Feature?): Wenn man die Kugel/den Würfel vergrößert/verkleinert, liegt er nicht mehr auf dem "Boden". Dadurch kann man mit einer überdimensionierten Kugel das Tuch extrem weit spannen und herrlich durch die Gegend schießen :D .

Deswegen drei Featurewünsche:
- Beim verkleinern/vergrößern des Objekts sollte das untere Ende auf der gleichen Höhe bleiben
- Das Objekt sollte nicht in den Boden verschiebbar sein
- Man sollte die Objekthöhe (z.B. mit PageUp/PageDown) ändern können
- Wenn das Tuch zerreißt (was ja durchaus vorkommt), sollte es kaputt sein.

Zum letzten: kA wie kompliziert das in deinem Fall ist, deswegen: Nicht so wichtig, wäre aber schön. :)


Edit: Wer lesen kann, ist glatt im Vorteil :roll:

_________________
Religionskriege sind nur Streitigkeiten darüber, wer den cooleren imaginären Freund hat ;-)
AXMD
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 4006
Erhaltene Danke: 7

Windows 10 64 bit
C# (Visual Studio 2019 Express)
BeitragVerfasst: Fr 09.05.08 19:44 
Hallo!

Deine Demo gefällt mir sehr gut. Was mir allerdings ein bisschen fehlt ist die Möglichkeit, das Gitter, das auch im Wireframe-Modus angezeigt wird, fein- oder grobmaschiger einzustellen, um die Qualität der Simulation erhöhen bzw. verringern zu können.
Was mir noch aufgefallen ist: lässt man das Tuch zu einem ungünstigen Zeitpunkt los rutscht es mangels Reibung komplett vom Würfel herunter und bleibt dann am Boden liegt, was sehr seltsam aussieht, da das riesige Tuch auf einige wenige Pixel zusammen"fällt". Anstatt dieses Lila-Tons ist dann auch sehr viel grau zu sehen (siehe Bild im Anhang).

AXMD

PS.: Die Frameraten reichen denke ich auf eine Nachkommastelle genau, 10 sind wohl etwas zu viel des Guten ;)
Einloggen, um Attachments anzusehen!
Reinhard Kern
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 591
Erhaltene Danke: 14



BeitragVerfasst: Sa 10.05.08 02:16 
Titel: Re: Realtime Cloth Simulation
user profile iconF34r0fTh3D4rk hat folgendes geschrieben:
hi,

Ich habe die Tage mal eine kleine Demo gebastelt, welche eine kleine Simulation von Objekten wie Kleidung in Echtzeit darstellt.
...


Hallo,

wenn du Kugel/Quader durch Claudia Schiffer und das Tuch durch eine Kreation von Lagerfeld ersetzen kannst, könntest du damit richtig Geld verdienen. Ist ja nur ein quantitativer Unterschied...

Ich fürchte nur, man kann sowas heute nicht mehr als Einzelperson realisieren. Aber solange du Zeit dafür hast, mach weiter in der Richtung. Da steckt viel mehr Potential drin als in noch einem MP3-Player oder Texteditor.

Ich denke, mit einer Software, die einerseits individuelle Körpermasse berücksichtigt und andrerseits Kleiderstücke auf einem solchen Körper in 3D darstellt, könnte man sogar SEHR SEHR viel Geld verdienen - jeder Shop weltweit, der im Internet Klamotten anbietet, kann das brauchen.

Gruss Reinhard
huuuuuh
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 665
Erhaltene Danke: 19

win xp, (win vista), win 7
VS 2008 Express Edition, VS 2010 Express Edition, VS 2010 Professionell
BeitragVerfasst: Sa 10.05.08 06:24 
wenn man die kugel ohne fixpunkte zum würfel ändert fliegt das tuch auch weg. ohne wiederkehr
F34r0fTh3D4rk Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 5284
Erhaltene Danke: 27

Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
BeitragVerfasst: Sa 10.05.08 16:53 
So, es gibt eine neue Version ;)

user defined image

Version 1.2
Änderungen:
  • Das Tuch kann die Welt nun nicht mehr verlassen
  • Das Objekt (Kugel oder Box) kann nicht mehr im Boden versinken
  • Die Simulation lässt sich nun zurücksetzen
  • Die Auflösung des Tuchgitters ist einstellbar
  • Luft- sowie Kontaktreibung sind einstellbar
  • EDIT: Subsampling ist nun auch einstellbar

Allerdings scheint es noch einen Grafikfehler bei der Normalenglättung zu geben, das muss ich mir nochmal anschauen, gegebenenfalls mache ich die noch ausschaltbar. Ein optionaler Lichtshader (Phong) ist auch noch in Planung.

mfg


Zuletzt bearbeitet von F34r0fTh3D4rk am Sa 10.05.08 21:14, insgesamt 5-mal bearbeitet
AXMD
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 4006
Erhaltene Danke: 7

Windows 10 64 bit
C# (Visual Studio 2019 Express)
BeitragVerfasst: Sa 10.05.08 17:05 
Hallo!

Die neue ZIP-Datei scheint beschädigt zu sein.

AXMD
F34r0fTh3D4rk Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 5284
Erhaltene Danke: 27

Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
BeitragVerfasst: Sa 10.05.08 17:09 
hi, habs grad nochmal hochgeladen.
Jetzt lässt sich auch das Subsampling steuern.

Prinzipiell gilt:
  • Je größer Sumsampling, desto genauer (aber auch langsamer) die Simulation.
  • Je größer die Auflösung, desto realistischer (aber auch langsamer) die Simulation
  • Je größer die Auflösung, desto ungenauer die Simulation

Daraus folgt, dass man für eine höhere Auflösung auch mehr Subsampling benötigt, was die Simulation doppelt langsam macht.

Also entweder hohe Auflösung und niedriges Subsampling oder geringe Auflösung und hohes Subsampling, oder etwas was dazwischen liegt (was bei der Standardeinstellung der Fall ist). In Echtzeitanwendungen wie Spielen ist die Auflösung jedoch meist geringer. Das lässt sich aber durch grafische Effekte leicht überdecken.

mfg
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: Sa 10.05.08 17:17 
Bei den meisten Parameter-Kombinationen fällt das Tuch durch das Objekt hindurch, besonders, wenn das Objekt sehr klein oder sehr groß ist.

Außerdem sieht die Simulation jetzt an vielen Stellen etwas unnatürlich aus, besonders da sich das Tuch zu verdrehen scheint, obwohl sich die Kugel nicht dreht und solche Effekte.

_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.