Suche Mitstreiter für Simulationssoftware



  • trotzdem:

    Gibt es sowas nicht schon?

    bzw. wie sieht es mit dem Wissenschaftlichen aus, habt ihr Biologen, Mathematiker etc an Board? (will meinem im Team)



  • Primär wichtig ist halt ein "Reize"-Konzept.
    Das einzelne zu simulierende Individuum muß halt seine Eindrücken in Form von Reizen bekommen. Diese beeinflussen dann das Handeln des Einzelnen. So hält an dieser Stelle die Erweiterbarkeit offen. Reize werden halt wie beim Menschen mit einem Sichtkegel und einer Höraura wahrgenommen. Dazu kommen halt noch die Reize aus der Berührung. Basis für die Beurteilung sind dann Charakterwerte des Chars wie man sie aus Rollenspielen kennt. Die Reize werden dann Fuzzy über die Char-Werte beurteilt und wirken so auf die eigentliche Aufgabe des Chars.

    Eine Skriptschnittstelle wird auch u.a. für Ereignisse benötigt, welche die Sim. beeinflussen und die getimed werden können, damit man halt einen gewissen Reaktionsrahmen vorbeurteilen kann und so auf Drehbuchanweisungen reagieren kann (z.B. die Explosion eines Autos, was als Reiz auf die Chars übergeht oder ein Tor fällt bei einem Spiel, worauf die Chars dann mehr oder weniger schnell und mehr oder weniger freudig reagieren).
    Beim Pathfinding spielt halt auch eine gewisse Unschärfe eine Rolle, damit eine gewisse Schwarmbildung stattfinden kann.
    Die graphische Darstellung des ganzen ist nicht ganz so erheblich, da das ganze ja nachträglich an einen photorealistischen Renderer exportiert wird. Displacements und hohe Texturauflösungen sind also unwichtig für die Simulationsbeurteilung (Texturen werden in der ersten Version wahrscheinlich völlig aus der Simulationsansicht rausfallen und die Chars einfach nur Matte geshaded). Wenn die Sim fertig ist wird die Szene, bzw. die Skelette der Chars, exportiert und danach wird das finale Mesh mit den mehr oder weniger hochauflösenden Texturen an die Skelette angelegt und als "RIB" rausgeschrieben. Das Shading, Riggen und die Animation kommen also aus Packages wie Maya.
    UI...war klar...wird dann höchstwahrscheinlich an mir hängen bleiben (wenn sich nicht ein Frontend-Coder erbarmed).
    Das Computed Rendering wird dabei eher Reizbasierend sein. Ein DispatchingServer wird z.B. feststellen zwischen welchen Chars es zu Boundingboxcollisionen kommt, welche Chars einfach nach ihrem eigenen Kopf weiter agieren können, etc und die Pakete dann weiterreichen. Echtzeit wird nie und nimmer erreichbar sein (was auch keine Rolle spielt).
    Die Wegfindung unterliegt zum einen dem eigenen Willen und zum anderen einen Auftrag. Das ganze wird dann gegeneinander gehalten und kann mehr oder weniger gesteuert wirken, je nachdem wie scharf eingestellt.
    Plattformtechnisch würde sich wie gesagt OpenGL anbieten, da es mehr oder weniger Plattformunabhängig ist.



  • Muhi:

    Klar gibt es immer ähnliche Lösungen...(1-2 Filmtaugliche)
    Aber eben nix aus Deutschland und sowas stärkt neben dem Geldbeutel auch den Standort, denn was Filmeffekte angeht ist die BRD immernoch ein 3. Welt Land.

    Biologen können wir erst mal ruhig beiseite lassen. Es geht ja um Filmsequenzen und nicht um Wissenschaftlich korrekte Darstellung. Viele Wissenschaftlich korrekte Simulationen stellen solche Sachen zwar simulationstechnisch 99,999% richtig da, jedoch nicht ansatzweise mit dem Ziel da Filmanimationen draus zu erstellen.



  • EDIT/



  • Eher X sieht die Wand durch Kollisionserkennung mit der Boundingbox "Wand".
    Der Reiz ist also "Hindernis".
    Wenn der Charwert für die Intelligenz Null ist würde er weiterlaufen und kollidieren (was dann unter Kollisionserkennung der Geometrien fallen würde um festzustellen wie er kollidiert).
    Eine Kollision würde unter Berücksichtigung der Wandhärte (Strohwand oder Steinwand) und der Geschwindigkeit den Reiz "Schmerz" auslösen.
    Wenn der Char nun menschlich aber nur Dumm wie Stroh ist würde der Schmerz eine Reaktion auslösen unter Einbeziehung seiner Schmerzschwelle. Und er würde sich auf dem Boden winden, sich ans Knie fassen bzw. eben das tun was er anhand seiner Bewegungsskripte her kann. Die Erstellung der Bewegungsskripte ist dann aber schon der Anwendungsbereich der Software.

    Wenn allerdings sagen wir mal Pinochio vor die Wand rennen würde, dann würde dieser, da er ein Schmerzempfinden von -1 hat und damit keinen Schmerz spüren kann einfach weiterlaufen oder aufstehen als wäre nix passiert, da der Reiz bei ihm keinen Effekt hat. Wie stark Reize wirken hängt also an den Char-Werten der einzenen Chars ab.



  • Also ich fasse nochmal zusammen damit ich das richtig verstehe:

    Die Individuen habe alle unterschiedliche Charakterwerte. Durch die Umgebung (durch Skripte) hervorgerufene Reize veranlassen das Individuum zur Reaktion (fuzzy). Die Simulationssoftware ist aber jetzt nicht dafür zuständig, die Bewegung vollständig zu simulieren, sondern sagt nur "Das Individuum läuft nach Ort X, es bewegt sich langsam, ...". Das 3D-Programm zu dem exportiert wird macht daraus erst die wirkliche Animation - Die Simulationssoftware animiert nicht. Ist das richtig so?



  • soll es sowas ähnliches wie das hier: http://de.wikipedia.org/wiki/Welt_am_Draht
    werden? 😉



  • Nicht ganz...

    Mit der Animationssoftware oder MotionCapture Programmen werden Animationssequenzen erstellt. Diese werden einer Bewegung zugeordnet und so der Simulation zugeordnet.
    Nehmen wir mal das Beispiel "Walkcycle", also 2 Schritte. Wie schnell der Cycle abgespielt wird hängt von der Laufgeschwindigkeit der Chars ab (jeder Mensch geht ja verschieden schnell). Dadurch geht eine Gruppe von sagen wir mal 3 Personen in Reihe schon mal unterschiedlich schnell. Wenn der vorne laufende Char dem 2. zu nahe kommt kann dieser entweder einen Gang runter schalten oder ausweichen. Das wäre ein Reiz der durch Simulation entsteht. Wenn die Gruppe aber den Befehl bekommt die Formation zu halten wird der 2. nicht ausweichen sondern langsamer werden, was auch den 3. bremst. Beschleunigen oder bremsen ist aber ein dynamischer Prozess, d.h. die Änderung wird nicht von Frame zu Frame sonder über die Zeit erst relevant...praktisch wie beim Stau. Man kann dabei wenig Effekt sehen wenn man das ganze auf einem "Paradeplatz" macht oder viel Effekt wenn das ganze einen Hügel hinunter geht.
    Reize können also durch Simulation oder durch Skripte hervorgerufen werden.
    Die Simulation wählt dann unter den Animationen die zur Verfügung stehen die passende aus und passt diese auf die Charwerte an (bzw. dessen Rig/Skelett) die Bewegungen der Skelette wird nun gespeichert, auf die Meshes die zu Grunde liegen angewendet und aus den dadurch entstehenden Positionen der Polygone wird dann eine Datei erstellt, die an den Renderer gesendet wird...vereinfacht gesagt.
    Das 3D Programm stellt nur das Mesh, Rig, die Textur und die Animationspattern zur Verfügung...danach ist es raus aus der Nummer.



  • Pale_Dog:
    Das ganze ist nicht poetisch, ethisch oder moralisch...
    Das ist einfach eine Simulation von Figuren in großem Rahmen, da sowas nicht einzeln animiert werden kann...es interessiert keinen was die Chars wirklich denken oder fühlen und sei dir versichert...die Chars auch nicht!

    Such eher mal nach dem Begriff "Crowd Simulation" um festzustellen worum es geht, also eher sowas wie BlenderPeople oder Massive.



  • EDIT/



  • Hmmm ich denke ich hätte Interesse am theoretischen Teil mitzuarbeiten.



  • Sollte eigentlich auch Distibuted Rendering heißen und bezieht sich dann auf die Ausrechnung der Interaktion.

    Zu viel Physik ist da sicher nicht drin... 😃
    Um das Forum hier mal zu entlasten:
    Das Forum fürs Projekt ist eingerichtet unter
    www.truesaints.de/phpBB2
    Wer also Lust hat an dem Projekt mitzuarbeiten kann sich da anmelden.

    An die Admins: Dieses Post ist kein Edit damit alle Abos informiert werden.



  • Edititert



  • Edit



  • EDIT/



  • Eine Wand aus Strohballen die Auseinanderfliegt erstell ich dir in Maya in 30 min., die Frage wie genau das sein muß ist eher interessant. Es interessiert bei soetwas nicht ob da jeder Strohballen Halmgenau auseinanderspringt, sonder viel mehr ob das glaubwürdig aussieht.
    Wenn eine Kamera 30 Meter davon entfernt ist, sich in Bewegung befindet und da dann noch MotionBlur draufliegt sieht vieles echt aus, was noch lange nicht physikalisch Korrekt ist.

    Ein wesentlicher Punkt ist halt, dass man die Physikengine kapselt um die Felder und Funktionen austauschbar zu halten...
    Was die Unwegbarkeiten angeht:
    Dafür hab ich ja das Projektforum angelegt, denn sowas sprengt zum einen hier den Rahmen und macht zum andern diesen Thread durch pure Länge dadurch unlesbar.

    Das es ein Spaziergang wird hab ich nie behauptet 😃



  • Truesaints schrieb:

    Eine Wand aus Strohballen die Auseinanderfliegt erstell ich dir in Maya in 30 min., die Frage wie genau das sein muß ist eher interessant. Es interessiert bei soetwas nicht ob da jeder Strohballen Halmgenau auseinanderspringt, sonder viel mehr ob das glaubwürdig aussieht.
    Wenn eine Kamera 30 Meter davon entfernt ist, sich in Bewegung befindet und da dann noch MotionBlur draufliegt sieht vieles echt aus, was noch lange nicht physikalisch korrekt ist.

    Von Maja oder Aussehen ist auch nicht die Rede; sondern von der Physik die dahinter steht. Du kannst die Impulsübetragung nicht modellieren ohne das Verhalten der Wand zu berücksichtigen. Also wirst Du auch nicht den resultirenden Vektor für den Char der dagegen läuft ermitteln können.

    Truesaints schrieb:

    Ein wesentlicher Punkt ist halt, dass man die Physikengine kapselt um die Felder und Funktionen austauschbar zu halten...

    Dem stimme ich zu!

    Truesaints schrieb:

    Was die Unwegbarkeiten angeht:Dafür hab ich ja das Projektforum angelegt, denn sowas sprengt zum einen hier den Rahmen und macht zum andern diesen Thread durch pure Länge dadurch unlesbar.

    Das es ein Spaziergang wird hab ich nie behauptet 😃

    Empfindet Ihr Euren Umgangston eigentlich selber als freundlich und integrativ?

    Was ich dort so lese:
    http://www.truesaints.de/phpBB2/viewtopic.php?t=2

    liest sich eher so als wolltet Ihr Mitstreiter abschrecken.

    Was darf man denn davon halten; wird in dem Stil auch projektintern kommuniziert?

    Grüsse

    *this



  • Was das abschrecken soll sind cout<<"Hallo Welt"; Coder.
    Worüber ich allerdings keinen Hehl machen will ist das es bei VFX um Kohle geht und das jeder der nachher an den Sachen arbeiten will ne NDA unterschreiben muss, denn das ist kein Hobbyprojekt (also 18 und geschäftsfähig sollte man schon sein). Wer damit nicht leben kann hat auch nix im Team verloren...klingt hart, ist aber so!



  • Truesaints schrieb:

    Was das abschrecken soll sind cout<<"Hallo Welt"; Coder.

    Kann ich ja verstehen; ich fand

    using namespace std;
    

    auch schon immer zu grobmaschig...

    😃 😃 😃

    Ernsthaft :

    Truesaints schrieb:

    Worüber ich allerdings keinen Hehl machen will ist das es bei VFX um Kohle geht und das jeder der nachher an den Sachen arbeiten will ne NDA unterschreiben muss, denn das ist kein Hobbyprojekt (also 18 und geschäftsfähig sollte man schon sein). Wer damit nicht leben kann hat auch nix im Team verloren...klingt hart, ist aber so!

    was Du damit erreichen willst ist schon klar und in der Sache geb ich Dir auch recht; ich find's halt nur besser wenn man auf die Leute nicht gleich so losmaschiert; sowas führt leicht zu 'ner etwas grünlichen Projektstimmung und mangelnder Produktivität.

    Ich lass mir das noch mal alles durch den Kopf gehen und melde mich übermorgen in jedem Falle bei Dir!

    Schönen Sonntag noch!

    Grüsse

    *this



  • Gast++ schrieb:

    Ich lass mir das noch mal alles durch den Kopf gehen und melde mich übermorgen in jedem Falle bei Dir!

    bewundernswert, wieviel zeit manche leute haben 😉

    btw: @OP
    auf jeden fall ein ehrgeiziges projekt. ich wünsche euch viel glück.
    🙂


Anmelden zum Antworten