Archiv verlassen und diese Seite im Standarddesign anzeigen : Gibts keine echten Echtzeit-Physik-Engines?
FloaTR
2006-12-11, 12:13:22
Echtzeit-Ragdoll-Effekte z.B. in Titan Quest oder UT sind ja eher SlowMo Effekte statt Echtzeit. Ist echte Echtzeit zu aufwendig oder wird das erst mit einer schnellen CPU Echtzeit?
AnarchX
2006-12-11, 12:22:20
Spiel einfach mal einen aktuelleren Shooter, da gibt es doch einiges an "Echtzeit"-Physik zu sehen.;)
Das in UT2k3/4 (und anderen Games) der Ragdoll-Effekt etwas SlowMo wirkt, ist eher eine Designentscheidung um diesen etwas mehr Geltung zu geben, realistischer könnte ihn Epic natürlich auch gestallten wenn sie wöllten.
Spasstiger
2006-12-11, 13:12:17
Die Physik in der Source-Engine wirkt imo sehr echtzeitmäßig. Und man kann die Geschwindigkeit auch per Konsole einstellen.
Die Geschwindigkeit, mit der eine Physiksimulation abläuft, hat übrigens nicht unbedingt was mit der Rechenleistung zu tun. Stellt man die Geschwindigkeit der Physiksimulation höher, wird halt im Gegenzug eine geringere Genauigkeit in Kauf genommen (für die Flugbahn eines Objekts werden dann z.B. nur noch 5 statt 10 Punkte berechnet).
Ist echte Echtzeit zu aufwendig...Das ist imo genau der Grund. Rechner und Progamme, die physikalisch halbwegs korrekte Echtzeitberechnungen machen (z. B. Crashtestsimulationen, professionelle Flugsimulatoren) kosten wahrscheinlich nicht umsonst ein Vermögen. Außerdem wage ich zu bezweifeln, dass man physikalisch völlig korrekt rechnen kann. Wäre das möglich, so könnten wir auch das Wetter berechnen.
Monger
2006-12-11, 13:51:51
Echtzeit-Ragdoll-Effekte z.B. in Titan Quest oder UT sind ja eher SlowMo Effekte statt Echtzeit. Ist echte Echtzeit zu aufwendig oder wird das erst mit einer schnellen CPU Echtzeit?
Ich glaube, ich weiß was du meinst. Das Problem ist, dass es mit real eingestellter Schwerkraft ziemlich beschissen aussehen würde.
Das liegt an verschiedenen Dingen. Zum einen ist die Masseverteilung innerhalb der Körper immer noch nicht realistisch. Der menschliche Torso ist ja kein massiver Klotz, sondern innen drin ziemlich schlabbrig. Das hat durchaus nennenswerte Auswirkungen auf die Trägheit...
Zum anderen ist die Berechnung von Reibung derzeit ein Witz. Die Haftreibung ist in der Realität sehr hoch, die Gleitreibung dagegen relativ niedrig (ab einem gewissen Tempo rutscht man auf Beton genauso gut weiter wie auf Eis).
Beides würden aber nicht nur physikalisch detaillierte Oberflächen erfordern (bei vielen Oberflächen wie z.B. Holz macht es einen Unterschied, ob man mit oder gegen die Maserung rutscht), sondern auch eine vernünftige Kollisionserkennung. Und die kann es nicht geben, solange Körper noch als massive Objekte angenommen werden.
Im Endeffekt hängt es also wirklich daran, dass aktuelle Rechner das einfach noch nicht in Echtzeit können. Also senkt man lieber ein bißchen die Schwerkraft und sorgt dafür dass es cool aussieht, als sich in allzu komplexen Zusammenhängen zu verheddern.
Echtzeit-Ragdoll-Effekte z.B. in Titan Quest oder UT sind ja eher SlowMo Effekte statt Echtzeit. Ist echte Echtzeit zu aufwendig oder wird das erst mit einer schnellen CPU Echtzeit?
wie schnell das ganze ablauft hat nichts mit der rechenleistung zu tun, nur würde man reale ragdoll-effekte kaum zu gesicht bekommen, deshalb macht man sie langsamer damit man mehr davon sieht.
tokugawa
2006-12-11, 16:35:18
Erst einmal: selbst wenn's Slow Mo ist, ist es Echtzeit. Die Definition von "Echtzeit" ist, dass es on-the-fly berechnet wird, egal ob langsam oder schnell (mal abgesehen davon dass das langsame "Absicht" ist). Echtzeit ist also das Gegenteil von "berechnen bevor das Programm überhaupt gestartet wurde", bzw. Preprocessing.
Das ist imo genau der Grund. Rechner und Progamme, die physikalisch halbwegs korrekte Echtzeitberechnungen machen (z. B. Crashtestsimulationen, professionelle Flugsimulatoren) kosten wahrscheinlich nicht umsonst ein Vermögen. Außerdem wage ich zu bezweifeln, dass man physikalisch völlig korrekt rechnen kann. Wäre das möglich, so könnten wir auch das Wetter berechnen.
Doch, "korrekt" ist die Berechnung in aktuellen Physik-Middlewares schon.
Nur natürlich wird nicht die gesamte Weltphysik nachberechnet, sondern nur ein Teil (Festkörperphysik + ein paar Extras).
Aber die bekannten Formeln der Physik werden alle so berechnet wie man sie kennt mittels Linear Solvern.
Dass natürlich bei diskreten Berechnungen von nichtdiskreten Größen eine Ungenauigkeit gegenüber der "echten" Welt auftritt, ist ja logisch (das nennt man "Aliasing"). Das hat aber nicht mit physikalischer "Korrektheit" zu tun (diese liegt ja eher in der Formel die man verwendet, und nicht in der Genauigkeit, in der man diese Formel dann berechnet).
Ich glaube, ich weiß was du meinst. Das Problem ist, dass es mit real eingestellter Schwerkraft ziemlich beschissen aussehen würde.
Das liegt an verschiedenen Dingen. Zum einen ist die Masseverteilung innerhalb der Körper immer noch nicht realistisch. Der menschliche Torso ist ja kein massiver Klotz, sondern innen drin ziemlich schlabbrig. Das hat durchaus nennenswerte Auswirkungen auf die Trägheit...
Zum anderen ist die Berechnung von Reibung derzeit ein Witz. Die Haftreibung ist in der Realität sehr hoch, die Gleitreibung dagegen relativ niedrig (ab einem gewissen Tempo rutscht man auf Beton genauso gut weiter wie auf Eis).
Beides würden aber nicht nur physikalisch detaillierte Oberflächen erfordern (bei vielen Oberflächen wie z.B. Holz macht es einen Unterschied, ob man mit oder gegen die Maserung rutscht), sondern auch eine vernünftige Kollisionserkennung. Und die kann es nicht geben, solange Körper noch als massive Objekte angenommen werden.
Im Endeffekt hängt es also wirklich daran, dass aktuelle Rechner das einfach noch nicht in Echtzeit können. Also senkt man lieber ein bißchen die Schwerkraft und sorgt dafür dass es cool aussieht, als sich in allzu komplexen Zusammenhängen zu verheddern.
Die Berechnung selber ist kein Witz, sondern schon sehr gut. Was eventuell ein "Witz" ist, ist wie es - wie du auch sagst - "eingestellt" ist. Das ist halt hauptsächlich deswegen damit es gut aussieht.
Realismus ist inszenierungstechnisch nicht immer das beste Ziel: manchmal will man einfach dass Dinge "cool" aussehen, und da ist "Realismus" eher im Weg.
PS: In PhysX kann man pro Oberfläche Materialien mit verschiedenen Eigenschaften (Reibung, usw.) einstellen, damit kann man ziemlich viel machen, ob sich allerdings die Content Creators dann die Mühe machen das auch zu nutzen, ist eine andere Frage.
Aber die bekannten Formeln der Physik werden alle so berechnet wie man sie kennt mittels Linear Solvern.Ja, die mathematischen Gleichungen mögen korrekt sein, dennoch wage ich zu bezeifeln, dass man das richtig berechnen kann. Zumindest nicht mit unseren derzeitigen Mitteln. Zur Physik gehören nämlich noch mehr Dinge als nur ein paar mathematische Formeln, z. B. chaotische Vorgänge.
Würde die Berechnung nämlich stimmen, so könnte die Software auch vorhersagen, in welche Richtung ein auf der Spitze aufgestellter Bleistift fällt. Sie kann es berechnen, und trotzdem kann der Stift in der Realität in die andere Richtung fallen, weil irgendein Mikropartikel im unteren Drittel des Bleistifts verrutscht ist.
Ein anderes Beispiel wären Wellen. Natürlich kann man Wellen berechnen. Aber eben nicht wirklich. Sonst könnte man ja einfach ausrechnen, wie die Welle aussehen wird, die übermorgen an Koordinate x,y auf Land treffen wird.
Die heutigen Physikberechnungen sind imo nur ein stark vereinfachtes Modell der Wirklichkeit.
Ja, die mathematischen Gleichungen mögen korrekt sein, dennoch wage ich zu bezeifeln, dass man das richtig berechnen kann.
Das stimmt, liegt aber ganz einfach daran, dass man nicht alle Daten hat, die die Formeln brauchen um die richtigen Ergebnisse zu errechnen.
tokugawa
2006-12-11, 17:44:40
Ja, die mathematischen Gleichungen mögen korrekt sein, dennoch wage ich zu bezeifeln, dass man das richtig berechnen kann. Zumindest nicht mit unseren derzeitigen Mitteln. Zur Physik gehören nämlich noch mehr Dinge als nur ein paar mathematische Formeln, z. B. chaotische Vorgänge.
Würde die Berechnung nämlich stimmen, so könnte die Software auch vorhersagen, in welche Richtung ein auf der Spitze aufgestellter Bleistift fällt. Sie kann es berechnen, und trotzdem kann der Stift in der Realität in die andere Richtung fallen, weil irgendein Mikropartikel im unteren Drittel des Bleistifts verrutscht ist.
Ein anderes Beispiel wären Wellen. Natürlich kann man Wellen berechnen. Aber eben nicht wirklich. Sonst könnte man ja einfach ausrechnen, wie die Welle aussehen wird, die übermorgen an Koordinate x,y auf Land treffen wird.
Die heutigen Physikberechnungen sind imo nur ein stark vereinfachtes Modell der Wirklichkeit.
Chaotische Vorgänge sind nur deswegen chaotisch weil man keine exakten Messungen durchführen kann (heisenbergsche Unschärfe).
Genau dasselbe Problem hat man mit Werten im Rechner, sprich, Diskretisierung ("Aliasing").
Von daher ist klar, dass ausgehend von derselben Situation, ein Bleistift in der Wirklichkeit und ein virtueller Bleistift sich anders verhalten (teilweise frappierend, eben wegen des chaotischen Verhaltens, dass kleine Wertänderungen große Resultatänderungen bewirken). Das liegt auch daran dass man diese Ausgangssituation nicht exakt genug "sampeln" kann, dass im Rechner tatsächlich dieselbe Ausgangsituation vorliegt.
Aber: geht man tatsächlich von den Werten im Rechner aus, also, Bleistift-Position und -Orientierung in einem Rechner-Zahlen-Format, und überträgt diese Ausgangssituation 1:1 in die Wirklichkeit (also der umgekehrte Weg) - was übrigens auch unmöglich ist: bei hypothetischen gleichen Ausgangszahlen würden - Aliasing ausgenommen - tatsächlich dasselbe Ergebnis vorliegen.
Aber zur "korrekten" Physiksimulation im Rechner zählt ja niemals, dass es sich ident verhält zu irgendeiner Ausgangsinstanz der realen Welt (die man ja, wie gesagt, nicht messen kann).
Sondern es geht darum, dass ausgehend von einem Rechnerwert auch das Ergebnis im Rechner richtig ist aufgrund der bekannten Formeln.
Chaotisch ist das ganze im Rechner eh auch schon deswegen weil kleine Änderungen an den Ausgangswerten sehr verschiedene Endergebnisse bewirken.
Die Leute müssen sich von dem Gedanken trennen dass Physiksimulationen im Rechner die Wirklichkeit simulieren. Das stimmt nicht, und kann auch nie das Ziel sein (eben weil man die Wirklichkeit nicht genau genug messen könnte). Sondern eine Physiksimulation hat das Ziel, einen Teilbereich der Physik (also Physik mit irgendwelchen Constraints, wie z.b. "Nur Festkörper") zu simulieren, und diesen innerhalb der Physiksimulation korrekt zu halten - es ist also schon korrekt in diesem Sinn. "Korrektheit" heißt in diesem Fall nicht "gleich wie die Wirklichkeit". Das ist eine Fehleinschätzung. Korrekt heißt konsistent innerhalb des Systems.
Mastermind
2006-12-11, 19:38:39
Chaotische Vorgänge sind nur deswegen chaotisch weil man keine exakten Messungen durchführen kann (heisenbergsche Unschärfe).
Das ist so falsch bzw. zumindest nicht die gängige Lehrmeinung. Nach dieser haben die Teilchen bzw. Wellen tatsächlich diese Unschärfe. Determinismus ist schon lange "out".
Es geht nicht darum, ob man die Welt messen kann, oder nicht. Man könnte selbst dann nicht den korrekten Fall eines Bleistiftes berechnen, wenn man die Welt tatsächlich vollständig vermessen könnte. Und das hat diverse Gründe.
Zum Eingangsbeitrag: Was zum geier ist "echte Echtzeit"? :confused:
Was die Geschwindigkeit ablaufender Physiksimulationen angeht wurde schon richtig geschrieben, dass es da teilweise Wert auf Optik und künstlerische Umsetzung gelegt wird anstatt auf Realismus, was z.B. bei Egoshootern ja auch OK ist. Bei Simulatoren ist es was ganz anderes und da geht man auch anders mit der Physik um.
Und noch einige Dinge, die ich hier zu bedenken geben möchte:
Die Physikberechnungen am Computer sind an der Realität gemessen (bis auf Sonderfälle, die nicht in Spielen vorkommen) ungenau! Punkt. Alles andere ist falsch. Richtig ist: Diese Ungenauigkeit kann variieren. In Egoshootern kann man sich mit einer niedrigen Ungenauigkeit zufrieden geben. Oder interessiert es jemanden, ob die angeschossene Kiste einen Millimeter zu weit fliegt? Bei Simulatoren sieht es wiederum anders aus.
Problem: höhere Präzision erfordert mehr Rechenzeit. Und das lässt sich (bis auf die Sonderfälle) unendlich steigern.
tokugawa
2006-12-11, 20:24:39
Das ist allerdings eine Binsenweisheit: Nona ned sind am Computer Werte im Vergleich zur Realität ungenau. Die Diskretisierung allein ist ja schon ein Ungenauigkeitskriterium.
Bezüglich Determinismus und Unschärfe - mag sein dass du da in der aktuellen Physiklehrmeinung recht hast - ich bin kein Physiker. Mir ging's aber darum, dass der Hauptgrund warum der ominöse Bleistift nicht in derselben Position zu liegen kommt im Vergleich zur Realität, nicht an der Berechnung an sich liegt, sondern an der Ungleichkeit der Ausgangssituation, die unter anderem daher herrührt, dass du gar nicht diesselbe Ausgangssituation schaffen kannst, da du diese schon gar nicht in der Realität unendlich genau messen kannst. Da hapert's und nicht an der Berechnung im Computer.
Im Übrigen ist der Hauptfaktor der Genauigkeit in einer Physiksimulation am Computer die Qualität des Linear Solvers. Und hier muß man sagen dass Havok, PhysX und Konsorten so exzellente Solver haben, dass diese auch "Simulationsqualität" haben. Klar ist diese Middleware unter anderem auch für "Mainstream-Physik" in Spielen entwickelt worden, aber die Solver-Qualität ist, wie gesagt, auch für wissenschaftliche Zwecke ausreichend, speziell wenn es wissenschaftliche Zwecke in Echtzeit sein sollen (klar sind nicht-Echtzeit-Solver noch genauer).
Mastermind
2006-12-11, 20:33:15
Das ist allerdings eine Binsenweisheit: Nona ned sind am Computer Werte im Vergleich zur Realität ungenau. Die Diskretisierung allein ist ja schon ein Ungenauigkeitskriterium.
Bezüglich Determinismus und Unschärfe - mag sein dass du da in der aktuellen Physiklehrmeinung recht hast - ich bin kein Physiker. Mir ging's aber darum, dass der Hauptgrund warum der ominöse Bleistift nicht in derselben Position zu liegen kommt im Vergleich zur Realität, nicht an der Berechnung an sich liegt, sondern an der Ungleichkeit der Ausgangssituation, die unter anderem daher herrührt, dass du gar nicht diesselbe Ausgangssituation schaffen kannst, da du diese schon gar nicht in der Realität unendlich genau messen kannst. Da hapert's und nicht an der Berechnung im Computer.
Im Übrigen ist der Hauptfaktor der Genauigkeit in einer Physiksimulation am Computer die Qualität des Linear Solvers. Und hier muß man sagen dass Havok, PhysX und Konsorten so exzellente Solver haben, dass diese auch "Simulationsqualität" haben. Klar ist diese Middleware unter anderem auch für "Mainstream-Physik" in Spielen entwickelt worden, aber die Solver-Qualität ist, wie gesagt, auch für wissenschaftliche Zwecke ausreichend, speziell wenn es wissenschaftliche Zwecke in Echtzeit sein sollen (klar sind nicht-Echtzeit-Solver noch genauer).
Ich weißt zwar nicht, was normalerweise "Hauptgrund" und was "Nebengrund" ist. Es ist sowieso sicher von Fall zu Fall unterschiedlich und nicht pauschal immer gültig. Aber die Berechnung an sich hat sehr wohl nachteilige Auswirkung auf die Genauigkeit. Das hat auch mit den verwendeten Formeln zu tun. Die Solver mögen ja relativ gut sein. Aber das ändert nichts daran, dass die Physik, die sie berechnen, weit davon entfernt ist von dem, was in der Realität passiert. Der große Vorteil der Solver und der Grund, warum auch Physiker überhaupt was zu Stande bringen ist, dass die meisten Einflüsse schlicht vernachlässigbar sind. Letztendlich bleibt aber zu sagen, dass 1) durch die numerische Berechnung und 2) durch verwendung schneller, aber weniger präziser Formeln und 3) weglassen Vernachlässigbarer Zusammenhänge die Genauigkeit ebenfalls verringert wird.
Wie stark sich nun welcher Effekt in welchem Fall auswirkt weiß ich nicht, hier fehlt mir wiederum die Programmierer-Erfahrung. Aber die kommt vielleicht ja noch in Zukunft. :smile:
Das was du schreibst ist ja an sich nicht so falsch. Aber du lässt diese wichtigen Dinge eben außer Acht und damit wirkt dein Post so, als könnte der PC mit etwas mehr GHz die Welt berechnen, was aber prinzipiell nicht möglich ist. Selbst für einen sehr geringen Teil der Welt geht das nicht. Ein klassisches Beispiel: Es ist mathematisch bewiesen, dass es nicht möglich ist, ein Dreikörperproblem analytisch zu lösen.
Vielleicht ist meine Sicht eine weniger pragmatische und mehr eine theoretische, aber mir war es wichtig das alles anzumerken. :wink:
tokugawa
2006-12-11, 20:54:39
Das was du schreibst ist ja an sich nicht so falsch. Aber du lässt diese wichtigen Dinge eben außer Acht
...tu ich nicht.
Ich hab ebenfalls geschrieben dass man die Simulierte Physik nicht mit der "Realwelt"-Physik vergleichen darf, weil die Simulation wirklich nur ein streng abgegrenztes Teilsystem darstellt (und durch die Abgrenzung selbst wiederum einige Dinge fehlen, also die Abgrenzung selbst wiederum Ungenauigkeiten produziert.
und damit wirkt dein Post so, als könnte der PC mit etwas mehr GHz die Welt berechnen, was aber prinzipiell nicht möglich ist.
Auch das hab ich nie behauptet. Ich hab mehrfach geschrieben dass man bei Physiksimulationen nicht "auf die Welt" achten soll, bzw mit dieser vergleichen. Das ist nicht Sinn und Zweck der Physiksimulation.
Selbst für einen sehr geringen Teil der Welt geht das nicht. Ein klassisches Beispiel: Es ist mathematisch bewiesen, dass es nicht möglich ist, ein Dreikörperproblem analytisch zu lösen.
Vielleicht ist meine Sicht eine weniger pragmatische und mehr eine theoretische, aber mir war es wichtig das alles anzumerken. :wink:
Klar, da die angesprochenen Solver nichts anderes als Lösungsmethoden für ordinäre Differenzialgleichungen sind, müssen die Formeln die berechnet werden auch differenzierbar bzw. integrierbar sein :)
Und ja, natürlich ist deine Sicht die richtige: die Welt nachberechnen, das geht nun einfach nicht.
Und du hast auch recht dass meine Sicht die pragmatische ist: einen fallenden Bleistift im Verhalten plausibel (hier kommt die Psychologie in's Spiel!) zu simulieren, das geht. Und das Verhalten ist im groben genau wie in der Realität(swahrnehmung). Und das ist zu simulieren und geht mit den bekannten Formeln derzeit in Echtzeit.
Komplett wirklichskeitsgetreue Physik geht schon visuell gar nicht, da ja auch die Rendering Equation nicht in ihrer vollen Pracht lösbar ist.
Kladderadatsch
2006-12-11, 21:04:28
Wäre das möglich, so könnten wir auch das Wetter berechnen.
ähm, das wurde nicht erst dieses jahr imo vom max planck insitut getan. resultat war hier die klimaerwärmung, die viel zu hoch ausgefallen ist, da eine nachkommastelle eines parameters falsch angegeben war. jetzt dauerts wieder ein paar monate..
Außerdem wage ich zu bezweifeln, dass man physikalisch völlig korrekt rechnen kann. Wäre das möglich, so könnten wir auch das Wetter berechnen.
Klar kann man das. Nur ist die Rechenkraft dafür noch nicht stark genug.
Monger
2006-12-11, 21:37:41
Die Berechnung selber ist kein Witz, sondern schon sehr gut. Was eventuell ein "Witz" ist, ist wie es - wie du auch sagst - "eingestellt" ist. Das ist halt hauptsächlich deswegen damit es gut aussieht.
Das meinte ich nicht. Stell dir einen Reifen vor: ein Reifen hat nur deshalb eine so gute Haftkraft, weil er eben nicht starr ist, sondern sich an die Strasse randrückt.
Wenn in einem Computerspiel irgendwas auf den Boden aufschlägt, dann ist die Aufschlagsfläche meistens sehr gering. Eigentlich müsste der Körper gleiten. Weil das aber scheisse aussähe, spielt man an verschiedenen Parametern rum, wie eben der Schwerkraft oder der Gleitreibung.
Und ich finde das nicht gerade optimal: so wirkt alles viel zu leicht und wie Gummi. Wenn neben mir ein Kühlschrank auf den Boden kracht, darf sich das nicht wie Wasserball anfühlen. Da gibt es noch VIEL Potential, aber das würde eben eine halbwegs realistische Modellierung der Körper verlangen. Aber soweit sind wir eben noch lange nicht.
Lawmachine79
2006-12-11, 22:50:07
Das ist so falsch bzw. zumindest nicht die gängige Lehrmeinung. Nach dieser haben die Teilchen bzw. Wellen tatsächlich diese Unschärfe. Determinismus ist schon lange "out".
Er hat absolut Recht. Und Determinismus ist das schon lange nicht.
Ich denke, was Physik angeht, bekommt der Satz "Ob du jetzt XY machst oder ob in China ein Sack Reis umfällt" eine völlig neue Bedeutung. Es spielt nämlich für alle Dinge, die geschehen, sehr wohl eine Rolle, ob in Sack China ein Reis umfällt oder nicht.
1) Sind es so viele Einflußgrößen, daß wir sie derzeit nicht erfassen können. Es geht jetzt nicht darum, ob unsere Rechner leistungsfähig genug sind, sie zu simulieren. Wer soll denn die ganzen Einflußgrößen erfassen? Und in eine Engine einarbeiten? Und selbst wenn das geschehen ist, ist es immer noch nicht realistisch. Jede Einflußgröße hat eine Schnittstelle zu einer anderen. Wer macht die Schnittstellen? Die Entstehung jeder Einflußgröße ist in sich logisch und dennoch beschäftigen sie ganze Wissenschaftszweige. Wenn man dann auch noch die Wirkung dieser Größen untereinander berechnen will, Synergien, gegenseitige Aufhebung usw...na dann, Prost Mahlzeit
2) Es gibt im Moment eine interessante Versicherungswerbung im Internet, naja, sie endet damit, daß ein Boot in ein Haus kracht. Das verdeutlicht sehr gut, was ich meine. Klar ist es unwahrscheinlich. Sehr sogar. Aber es ist möglich. Und wer weiß, wenn in China ein Sack Reis umgefallen wäre, ob das Boot dann dennoch ins Haus gekracht wäre. Das, was wir Zufall nennen, das, was Du Tokugawa fälschlicherweise als "Determismus" vorgeworfen hast, sind völlig natürliche, logische Vorgänge. Wir sind mittlerweile soweit, ihrer Komplexität zu kennen, jedoch nicht soweit, sie zu erfassen, zu analysieren (welch ungeheure Datenflut) und sie in Simulationen einzubinden. Jeder EINZELNE Einflußfaktor hat Milliarden von Möglichkeiten, wie er sich auswirkt. Es gibt MILLIARDEN dieser EINZELNEN Einflußfaktoren Jeder Einflußfaktor entsteht aus Milliarden andere Einflußfaktoren. Aus den Milliarden Möglichkeiten, wie ein Einflußfaktor sich auswirkt und den Milliarden verschiedener Einflußfaktoren entsteht letztendes das Endergebnis. Die Wahrscheinlichkeit auf einen Lottogewinn ist gering. Die Wahrscheinlichkeit, daß ein Staubkorn den Weg fliegt den es fliegt ist Milliardenfach geringer. Wir werden nie den Weg eines Objekts genau bestimmen können. Klar, wir bewegen uns iterativ auf die genaue Bestimmung dieses Wertes zu. Aber vorhersagen können werden wir ihn nie.
3) Ich finde Final Destination ist ein wahnsinnig realistischer Film. Das mir jetzt eine Zigarette hinfällt, ist genau so wahrscheinlich, wie das in dem Film gezeigte wirklich passiert. Tja, die Zigarette ist mir nicht hingefallen. Vielleicht tut sie das morgen. Mir ist schon oft eine Zigarette runtergefallen. In den letzten 14 Jahren bestimmt 30-40 mal. Vielleicht passiert mir das nie wieder, vielleicht ab sofort täglich. Wer weiß das schon? Eine Physikengine mit Sicherheit nicht.
tokugawa
2006-12-11, 23:10:44
Das meinte ich nicht. Stell dir einen Reifen vor: ein Reifen hat nur deshalb eine so gute Haftkraft, weil er eben nicht starr ist, sondern sich an die Strasse randrückt.
Wenn in einem Computerspiel irgendwas auf den Boden aufschlägt, dann ist die Aufschlagsfläche meistens sehr gering. Eigentlich müsste der Körper gleiten. Weil das aber scheisse aussähe, spielt man an verschiedenen Parametern rum, wie eben der Schwerkraft oder der Gleitreibung.
Und ich finde das nicht gerade optimal: so wirkt alles viel zu leicht und wie Gummi. Wenn neben mir ein Kühlschrank auf den Boden kracht, darf sich das nicht wie Wasserball anfühlen. Da gibt es noch VIEL Potential, aber das würde eben eine halbwegs realistische Modellierung der Körper verlangen. Aber soweit sind wir eben noch lange nicht.
Gummi? Ich hab glaub ich genau die richtigen Videos für dich:
http://www.cg.tuwien.ac.at/~chiu/eg06/sca/CIMG1253.AVI
http://www.cg.tuwien.ac.at/~chiu/eg06/sca/CIMG1255.AVI
Wir sind schon viel weiter als du glaubst. Natürlich noch nicht am Ende aller Weisheiten, aber ich glaube du hast noch eine recht "niedrige" Meinung von dem was heutzutage schon alles möglich ist.
Vor allem verwechselst du prinzipiell mehrere Dinge: was du meinst, ist nicht prinzipiell ein Problem der Physikberechnung, sondern nur, wie konkret die Parameter (Reibung, Schwerkraft, usw.) eingestellt sind.
Wie also die Content Creators sich entschieden haben, dass die Objekte eingestellt werden.
All das was du über's Gleiten oder ähnliches sagst ist heute mit Leichtigkeit möglich, das Hauptproblem ist nur, die richtigen Werte zu nehmen dass es tatsächlich gut ausschaut. Es ist kein prinzipielles Berechnungsproblem.
Mastermind
2006-12-12, 07:12:04
@tokugawa:
OK, ich war gestern Abend sehr müde und habe nicht den richtigen Durchblick gehabt. Dein Posting wirkte auf mich wie beschrieben, aber du hast es ja richtig gestellt. Wir haben im Endeffekt beide recht. :smile:
@warmachine79:
Was willst du mit deinem Posting sagen? Dass in der Physik alles eine Rolle spielt, das ist richtig und einer der Gründe, dass die Rechenleistung enorm steigt, wenn man sich an die richtigen Werte weiter annähern will. Ich habe das vielleicht nicht so deutlich gesagt, aber angedeutet.
Ich habe jedenfalls im späteren Verlauf auch nicht gesagt, dass tokugawa nicht recht hat. Ich wollte ihn nur um einige Dinge ergänzen. Dein Posting kann man auch als Ergänzung sehen, denn du widersprichst weder meinen, noch seinen Aussagen. Ich hätte das auch alles schreiben können, war aber halt zu müde. :wink: Jedenfalls seh ich im Moment keine Probleme oder Widersprüche.
Klar kann man das. Nur ist die Rechenkraft dafür noch nicht stark genug.Das glaube ich nicht. Rechenkraft wäre vielleicht genug da, aber es ist (zumindest bisher) völlig unmöglich, alle Eingabeparameter zu erfassen. Ich denke da in diesem Zusammenhang an den Schmetterling in Südamerika, dessen Flügelschlag bei uns ein Gewitter verursacht.
Soweit ich das hier bisher gelesen habe, komme ich zu der Überzeugung, dass wir zwar die bisherigen Erkenntnisse der Physik (und wir haben nicht besonders viel Ahnung davon) mathematisch einigermaßen korrekt berechnen können, es aber in der Realität völlig anders aussehen kann. Lassen wir z. B. einen Ball von einem Hochhaus fallen, ist die Berechnung nach unseren physikalischen Kenntnissen zwar korrekt, er wird sich aber selbst bei Tausenden von Versuchen nie exakt so verhalten, wie in der Wirklichkeit.
Mastermind
2006-12-12, 09:37:45
Klar kann man das. Nur ist die Rechenkraft dafür noch nicht stark genug.
Das glaube ich nicht. Rechenkraft wäre vielleicht genug da, aber es ist (zumindest bisher) völlig unmöglich, alle Eingabeparameter zu erfassen. Ich denke da in diesem Zusammenhang an den Schmetterling in Südamerika, dessen Flügelschlag bei uns ein Gewitter verursacht.
Soweit ich das hier bisher gelesen habe, komme ich zu der Überzeugung, dass wir zwar die bisherigen Erkenntnisse der Physik (und wir haben nicht besonders viel Ahnung davon) mathematisch einigermaßen korrekt berechnen können, es aber in der Realität völlig anders aussehen kann. Lassen wir z. B. einen Ball von einem Hochhaus fallen, ist die Berechnung nach unseren physikalischen Kenntnissen zwar korrekt, er wird sich aber selbst bei Tausenden von Versuchen nie exakt so verhalten, wie in der Wirklichkeit.
Ich habe es doch schon in aller Deutlichkeit gesagt! Übrigens etwas, was ich vorhin vergessen hatte @tokugawa zu erwähnen: Sein Beitrag war ein Aufhänger, aber meine Aussagen an alle hier gerichtet. Hier nochmal in Stichpukten:
- Die Physik von heute ist nicht vollständig, vielleicht wird sie das auch niemals sein. Das heißt, wir kennen noch nicht einmal alle Zusammenhänge! Oder denkt ihr es wird nicht mehr in der Physik geforscht oder was?
- Auch wenn alle Parameter bekannt wären, könnte man eine Simulation nicht exakt der Wirklichkeit entsprechend ablaufen lassen. Das geht prinzipiell nicht! Völlig egal, ob es in Echtzeit abläuft oder nicht.
Darum gehts aber in einem Computerspiel auch überhaupt nicht, weswegen es auch kein Problem darstellt. Die Physik-Enginges von heute bieten eine (bis auf Sonderfälle natürlich) völlig ausreichende Genauigkeit für ihren Einsatzzweck.
Damit sollte doch jetzt alles geklärt sein.
Das was simuliert wird ist aber dennoch korrekt. Quantenmechanische Effekte und so Zeug spielen bei der Berechnung von rigid bodies nun wirklich keine Rolle.
Monger
2006-12-12, 10:47:31
Wir sind schon viel weiter als du glaubst. Natürlich noch nicht am Ende aller Weisheiten, aber ich glaube du hast noch eine recht "niedrige" Meinung von dem was heutzutage schon alles möglich ist.
Möglich ist ne Menge. Fragt sich nur, zu welchem Preis. Das in der Industrie schon ziemlich realistische Physikberechnungen durchgeführt werden, ist ja klar. Die brauchen das ja auch wirklich für Crashtests etc. Um sowas im Consumermarkt zu machen, fehlt aber noch die Hardware. Und irgendwo auch die Notwendigkeit. Wenn bei einem Spiel 90% der Rechenkraft in die Physikberechnung fließt, hat man die Prioritäten ganz klar falsch gesetzt.
MadMax@
2006-12-12, 11:45:31
btw chaotische systeme sind Deterministisch und habe nichts mit der unschärferelation zu tun.
Rübennase
2006-12-12, 12:52:06
Was mich interessieren würde ist, ob generell die Physik einen Anteil von z.B. 25% der CPU kriegt egal wie schnell oder ob sie eine GrundGHZ-Zahl für sich benötigt bei Havok. Es gibt ja auch OpenSource oder selbstgestrickte wie bei Flatout, die mMn performanter sind/weniger CPU fressen.
Monger
2006-12-12, 13:34:15
Was mich interessieren würde ist, ob generell die Physik einen Anteil von z.B. 25% der CPU kriegt egal wie schnell oder ob sie eine GrundGHZ-Zahl für sich benötigt bei Havok. Es gibt ja auch OpenSource oder selbstgestrickte wie bei Flatout, die mMn performanter sind/weniger CPU fressen.
FlatOut verwendet die Havok Engine, deshalb schlechtes Beispiel. Far Cry verwendet eine eigens entwickelte Engine. Die aber imho auch nicht ganz so prickelnd ist...
nur mal btw ein Link zu einer sehr interressanten Seite:
http://graphics.stanford.edu/~fedkiw/
Wenn man auf die Bilder klickt kann man sich ein Video runterladen.
Das ist die Seite eines Assistenz Professors, der auf diesem Gebiet forscht.
Sehr interressant sind auch die Fluid- oder Rauchsimulationen weiter unten. Wenn ich nur dran denk, dass sowas früher oder später in PC-Spielen in Echtzeit berechnet wird...
ohoh: interessant schreibt man mit nur einem "r". sry, is mir fast schon peinlich
FlatOut verwendet die Havok Engine
Sicher nicht, läuft viel zu flüssig für. Beweise!
Wenn mehrere Dinge einander beinflussen, wo fängt man da zu rechnen an ?
Monger
2006-12-19, 15:07:50
Sicher nicht, läuft viel zu flüssig für. Beweise!
http://www.golem.de/0507/39174.html
Dann hat Golem keine Ahnung, auf der bugbear-seite steht eigenentwicklung
Wenn mehrere Dinge einander beinflussen, wo fängt man da zu rechnen an ?
mit einem Gleichungssystem ?
Mastermind
2007-01-06, 22:41:40
Wenn mehrere Dinge einander beinflussen, wo fängt man da zu rechnen an ?
Es hängt davon ab, wie die Beeinflussung konkret stattfindet und was Du überhaupt ausrechnen willst. Es kann dabei gut und gerne sein, dass Du es nicht analytisch lösen kannst. Numerisch kannst Du es dann lösen, aber Du kriegst eben nie das exakte Ergebnis raus.
Monger
2007-01-06, 23:38:52
Dann hat Golem keine Ahnung, auf der bugbear-seite steht eigenentwicklung
Kannst du mir dafür eine genaue Quelle nennen? Ich hab die Bugbear Seite hoch und runter abgesucht (das war logischerweise auch meine erste Adresse als Info-Quelle), hab aber überhaupt keinen Hinweis auf verwendete Technologien finden können, weder für Sound, Physik noch Grafik.
Es hängt davon ab, wie die Beeinflussung konkret stattfindet und was Du überhaupt ausrechnen willst. Es kann dabei gut und gerne sein, dass Du es nicht analytisch lösen kannst. Numerisch kannst Du es dann lösen, aber Du kriegst eben nie das exakte Ergebnis raus.
Ich glaube nicht, dass irgendein Echtzeitsystem anders als numerisch rechnet. Lohnt sich auch gar nicht: jede Interaktion seitens des Benutzers würde ja alle Formeln wieder in Frage stellen. Mal ganz abgesehen davon, dass der Computer wirklich schlecht darin ist, einzelne Formeln aufzulösen. Vektoraddition ist da viel mehr sein Ding. Da nimmt man auch ein paar Rundungsfehler in Kauf, solange es nur halbwegs flüssig abläuft.
Also berechnet man schön säuberlich zeitlich eine Kollision nach der anderen.
Mastermind
2007-01-07, 00:08:52
Ich glaube nicht, dass irgendein Echtzeitsystem anders als numerisch rechnet. Lohnt sich auch gar nicht: jede Interaktion seitens des Benutzers würde ja alle Formeln wieder in Frage stellen. Mal ganz abgesehen davon, dass der Computer wirklich schlecht darin ist, einzelne Formeln aufzulösen. Vektoraddition ist da viel mehr sein Ding. Da nimmt man auch ein paar Rundungsfehler in Kauf, solange es nur halbwegs flüssig abläuft.
Also berechnet man schön säuberlich zeitlich eine Kollision nach der anderen.
Klar. Ich hatte aber den Eindruck, dass der Gast eine physikalische Frage gestellt hat. Er war offensichtlich darüber vewirrt, wie man überhaupt rechnen soll, wenn mehrere Dinge sich beeinflussen. Diese Verwirrung ist berechtigt. Denn sowas kann man unter Umständen eben nicht analytisch berechnen und die analytische Berechnung ist nun mal das, woran man normalerweise erst mal denkt, weil man das noch aus der Schule kennt. Was Echtzeit-Engines angeht hast Du natürlich recht, wobei analytische Berechnungen in einigen Spezialfällen immer noch angewendet werden, weil sie eben unter besonderen Umständen sehr viel schneller sein können als die numerischen (dabei aber zum Beispiel auch noch ungenauer, kommt eben auf die konkrete Formel und Situation an). :smile:
Echtzeit-Ragdoll-Effekte z.B. in Titan Quest oder UT sind ja eher SlowMo Effekte statt Echtzeit.
*sarkasmusmodus*
In der Realität gibt es solche "Effekte" gar nicht: eine funktionierende Nachahmung der Physik würde also gar keine zuckenden Hampelmänner hervorbringen. Ebenso würde eine solche Engine der Hauptfigur versagen, mit 500Kg Waffen und mindestens eben so viel Ausrüstung herumzurennen und damit 2 Meter hoch zu springen *gg*
Man könnte auch nie so schnell losrennen wie es in den Spielen der Fall ist. Da hört's ja schon auf ;)
tokugawa
2007-01-07, 03:12:35
*sarkasmusmodus*
In der Realität gibt es solche "Effekte" gar nicht: eine funktionierende Nachahmung der Physik würde also gar keine zuckenden Hampelmänner hervorbringen. Ebenso würde eine solche Engine der Hauptfigur versagen, mit 500Kg Waffen und mindestens eben so viel Ausrüstung herumzurennen und damit 2 Meter hoch zu springen *gg*
Kommt immer auf die Forces an :)
Eine solche Engine würde natürlich konfigurierbare "Werte" haben. Da könnte man auch einen Charakter bauen der einfach übermenschliche Kraft besitzt.
Aber Coda hat recht: allein schon das Bewegen der Figur ist - aus Spielbarkeitsgründen - komplett ohne Trägheit gelöst. Vom Springen und Fallen will ich gar nicht erst reden.
Obwohl Charaktere in den meisten Engines sowieso als "Kinematic Actors" implementiert sind, sprich, für die sowieso "Spezialregeln" gelten.
Ganon
2007-01-07, 09:21:58
Das in UT2k3/4 (und anderen Games) der Ragdoll-Effekt etwas SlowMo wirkt, ist eher eine Designentscheidung um diesen etwas mehr Geltung zu geben, realistischer könnte ihn Epic natürlich auch gestallten wenn sie wöllten.
Das Thema/die Antwort ist zwar schon etwas älter, aber ich glaub bald, das es keine Design-Entscheidung ist, sondern in der Engine vergraben ist, bzw. dann halt Standard-Engine-Config ist.
Denn Red Steel auf dem Wii nutzt ja auch die Unreal Engine 2. Und dort laufen die RagDoll"-Effekte" ebenso lahmarschig ab. Und dort fliegen häufig Leute durch die Gegend ;)
BlackBirdSR
2007-01-07, 10:44:19
Das Thema/die Antwort ist zwar schon etwas älter, aber ich glaub bald, das es keine Design-Entscheidung ist, sondern in der Engine vergraben ist, bzw. dann halt Standard-Engine-Config ist.
Denn Red Steel auf dem Wii nutzt ja auch die Unreal Engine 2. Und dort laufen die RagDoll"-Effekte" ebenso lahmarschig ab. Und dort fliegen häufig Leute durch die Gegend ;)
Vielleicht eine Möglichkeit den Berechnungsaufwand pro Zeiteinheit trotz hoher Genauigkeit und Details möglichst gering zu halten.
Ganon
2007-01-07, 11:10:10
Vielleicht eine Möglichkeit den Berechnungsaufwand pro Zeiteinheit trotz hoher Genauigkeit und Details möglichst gering zu halten.
Das mag sein. Aber man siehe hier als Gegenbeispiel Metroid Prime 2 Echoes(sry, das ich hier mit Konsolen-Spielen komme, aber die einzigen RagDoll-Spiele die ich habe sind UT04 (Mac), MP2E (GC) und RedSteel (Wii) wo ersteres und letztes die selbe Engine verwenden). Bei diesem Spiel fliegen die Gegner weitaus realistischer (schnell und harter Aufprall) durch die Gegend.
Es ist ja nunmal so das man, wenn neben einem etwas explodiert nicht 5 Meter in die Luft fliegt in der Luft 3-5 Drehungen macht. ;) Normalerweise würde man nur weggeschleudert, bzw. umfallen (je nach Druck).
Das mag sein. Aber man siehe hier als Gegenbeispiel Metroid Prime 2 Echoes(sry, das ich hier mit Konsolen-Spielen komme, aber die einzigen RagDoll-Spiele die ich habe sind UT04 (Mac), MP2E (GC) und RedSteel (Wii) wo ersteres und letztes die selbe Engine verwenden). Bei diesem Spiel fliegen die Gegner weitaus realistischer (schnell und harter Aufprall) durch die Gegend.
Es ist ja nunmal so das man, wenn neben einem etwas explodiert nicht 5 Meter in die Luft fliegt in der Luft 3-5 Drehungen macht. ;) Normalerweise würde man nur weggeschleudert, bzw. umfallen (je nach Druck).
Die Explosionen sind weniger problematisch - da gibt es oft genug Partikeleffekte um die schlechte Physikanimation und Einstellungen zu verschleiern.
Nehmen wir HL 2 als Beispiel, da ist es nicht selten das Gegner 2 Meter, von einem Schuss aus einer ganz normalen Waffe, weggeschleudert werden. Ich frage mich da oft aus welchen Material die gegnerischen Körper gemacht sind (Styropor veielleicht?), oder was für eine Kraft das Geschoss entfalten kann.
Ich erwarte von einen Gegner, wenn er getroffen wird, das er vertikal zu Boden geht und dabei ganz langsam die Kraft in seinen Beinen verliert, nicht aber das er, wie aus einer Kanone abgefeuert, wegfliegt.
- Das gilt nur für Spiele mit Standardwaffen. Wenn es um UT geht kann ich nicht mitreden, da ich selbst nicht weiss wie sich ein Körper bei einem Treffer aus dem ''Rocket launcher'' oder ''Flak'' in der Realität verhält.
Ganon
2007-01-07, 12:02:53
Nehmen wir HL 2 als Beispiel, da ist es nicht selten das Gegner 2 Meter, von einem Schuss aus einer ganz normalen Waffe, weggeschleudert werden.
So etwas hast du Hollywood zu verdanken. ;) In deren Filmen fliegen die Gegner doch nach einem Pistolenschuss auch.
Bauer
2007-01-07, 12:03:35
Die Gegner sind nicht aus Styropor, sondern die Geschosse aus Blei.
Die kinetische Energie von ner ordendlichen Schrotladung lässt einen nicht einfach zu Boden sinken.
Ausserdem Schleudert die "normale" SMG einen nicht soweit weg. Die Pistole erst recht nicht.
Ich finde HL2 da realistischer als manche Kinofilme, wo die Leute wirklich wegkatapultiert werden von einem Treffer.
Ganon
2007-01-07, 12:06:30
Die kinetische Energie von ner ordendlichen Schrotladung lässt einen nicht einfach zu Boden sinken.
Aber auch nur höchstens umfallen. "Fliegen" sicherlich nicht.
Die Gegner sind nicht aus Styropor, sondern die Geschosse aus Blei.
Die kinetische Energie von ner ordendlichen Schrotladung lässt einen nicht einfach zu Boden sinken.
Ausserdem Schleudert die "normale" SMG einen nicht soweit weg. Die Pistole erst recht nicht.
Ich finde HL2 da realistischer als manche Kinofilme, wo die Leute wirklich wegkatapultiert werden von einem Treffer.
Die ist hier weniger relevant. Die Kugeln gehn durch den weichen Körper hindurch, dabei wird nur ein kleiner Prozentsatz der Energie auf den Körper übergeben*. Wäre es ein Objekt (mit der selben KE) welches, wegen der grösseren Oberfläche, vom Körper abprallt - oder eben nicht, weil es den Körper wegen seiner Wucht mitnimmt- dann könnte ich das ''Wegfliegen'' auch verstehen, aber so?
* Wie ein Katana durch ein Stück Butter. Es ist egel wie schnell sich das Schwert bewegt, das Stück Butter wird durchgeschnitten ohne dabei die KE aufzunehmen.
Bauer
2007-01-07, 13:22:48
Mir ist klar was du meinst, aber eine Schrotladung durchschlägt eher selten den Körper, sondern wird durch die Streuung großflachiger abgebremst und gibt die Energie an den Körper weiter. Bei nem Revolver z.B. kommt es auch stark darauf an welche Munition verschossen wird. Vollmantel schlägt durch, Teilmantel oder andere zersplittern und werden auch abgebremst.
Mir ist klar was du meinst, aber eine Schrotladung durchschlägt eher selten den Körper, sondern wird durch die Streuung großflachiger abgebremst und gibt die Energie an den Körper weiter. Bei nem Revolver z.B. kommt es auch stark darauf an welche Munition verschossen wird. Vollmantel schlägt durch, Teilmantel oder andere zersplittern und werden auch abgebremst.
Ich habe das Gefühl das wir grundsätzlich einer Meinung sind, und die Unterschiede nur noch im Detail liegen.
Ich glaube dennoch das Schrotkugelchen nicht genugend Kraft haben einen 70 - 90 Kilo Körper wegzuschleudern. Die Kraft ist höchstens gross genug um es schnell auf den Rücken fallen zu lassen. Aber nicht ultrashnell!!
Monger
2007-01-07, 13:37:30
Das Thema/die Antwort ist zwar schon etwas älter, aber ich glaub bald, das es keine Design-Entscheidung ist, sondern in der Engine vergraben ist, bzw. dann halt Standard-Engine-Config ist.
Denn Red Steel auf dem Wii nutzt ja auch die Unreal Engine 2. Und dort laufen die RagDoll"-Effekte" ebenso lahmarschig ab. Und dort fliegen häufig Leute durch die Gegend ;)
Das kann ich widerlegen. Ich hab mal mit dem Unreal Editor von UT2004 ein bißchen rumgespielt, und wenn man da ein bißchen an den Parametern rumspielt, kannst du Objekte mit abartiger Geschwindigkeit durch die Gegend fetzen.
Es gibt allerdings ein Problem bei der Karma Engine (wobei ich davon ausgehe, dass Havok damit auch zu kämpfen hat): wenn die Framerate zu tief in den Keller sinkt, kann es sein dass keine Rechenzeit mehr zur Kollisionserkennung bleibt. Die Gegenstände fliegen dann einfach glatt durcheinander durch. Je schneller und kleiner ein Objekt ist, desto wahrscheinlicher ist natürlich so ein Effekt. Vielleicht ist es also doch eine technische Limitierung, dass man lieber keine allzu hektischen Physik-Effekte implementiert.
Gast0502
2007-01-07, 14:35:01
Es gibt evtl. noch einen Grund warum die Physik engines so langsam ablaufen.
Bei vielen nummerischen simulkationen ist es so das sie nur bedingt stabiel ablaufen. Das heißt man hat nur einen sehr eingeschränkten Parameterraum.
Das heißt man kan die Zeitschritte nicht einfach beliebig klein wählen.
Kannst du mir dafür eine genaue Quelle nennen? Ich hab die Bugbear Seite hoch und runter abgesucht (das war logischerweise auch meine erste Adresse als Info-Quelle), hab aber überhaupt keinen Hinweis auf verwendete Technologien finden können, weder für Sound, Physik noch Grafik.
Na erstens werben sie nicht mit der Havok und 2. gibt Havok FO nicht als Havok-Spiel an
tokugawa
2007-01-07, 18:34:22
Es gibt evtl. noch einen Grund warum die Physik engines so langsam ablaufen.
Bei vielen nummerischen simulkationen ist es so das sie nur bedingt stabiel ablaufen. Das heißt man hat nur einen sehr eingeschränkten Parameterraum.
Das heißt man kan die Zeitschritte nicht einfach beliebig klein wählen.
Die meisten Physik-Engines verwenden (entweder intern oder extern) sowieso fixe Timesteps. Für manche Integratoren ist das sowieso nötig.
Ich wüsst auch nicht, warum Physik-Engines "langsam" laufen sollten, wie es der Threadersteller behauptet.
Dass manche Dinge langsam ablaufen in der Praxis liegt einzig und allein daran, dass es Inszenierung ist. SlowMo für den künstlerischen Effekt, sozusagen. Nicht daran dass die Physik-Engine langsam wäre.
Ich schlage vor, jeder der meint eine Physik-Engine wäre "langsam-ablaufend", sich mal das PhysX SDK downzuloaden und mal herumzuprogrammieren damit.
Speziell wenn man die Werte für Masse und Kräfte nicht korrekt einstellt, kann's sehr leicht sein dass es einem sogar zu schnell geht :) (ich hatte z.B. mal den Bug dass ich die Werte so eingestellt habe dass es diverse Kisten sofort auf dem Raum schleudert, schneller als es einem lieb war).
elianda
2007-01-11, 01:40:47
Zur Berechnung von physikalischen Ablaeufen braucht man erstmal ein Modell.
Anhand dieses Modells stellt man eine Berechnungsvorschrift auf. Typischerweise sind das Differentialgleichungen, die dann numerisch geloest werden oder grosse Gleichungssysteme.
Nun geht es schon beim Modell los, welche Effekte man mit einbezieht und was man weglaesst. Man kann das nahezu beliebig genau treiben, was jedoch die benoetigte Rechenleistung, das mathematisch zu beschreiben enorm erhoehen kann. Dabei spielt die Heisenbergsche Unschaerfe noch ueberhaupt keine Rolle. Man hat schon auf viel groesseren Laengenskalen eine gigantische Menge an Effekten, die man in sein Modell stecken koennte.
Es macht auch garkeinen Sinn auf Modelle auf atomarer Ebene zu nehmen, um die Bewegung eines Holzbretts zu simulieren. Das wuerde zwar prinzipiell funktionieren und sogar viele physikalischen Effekte automatisch mit einschliessen, jedoch ist der Rechner noch nicht erfunden.
(Avogadro Zahl 6,0221415 * 10^23 mol^−1)
Im weiteren kommen beim aufstellen der numerischen Naeherungsverfahren fuer die Differentialgleichungen Probleme wie Stabilitaet, Konvergenz usw. des Verfahrens hinzu. Je nach Typ der Differentialgleichung und des gewaehlten Naeherungsverfahrens haengt das auch von den eingesetzten Parametern ab.
Die Hauptungenauigkeit entsteht jedoch schon beim angesetzten Modell.
Wenn man sich die Physik in aktuellen Spielen anschaut, dann sagt man doch eher es sieht unrealistisch aus, weil das dahinterliegende Physikmodell etwas weggelassen hat, nicht weil es ungenau und damit falsche Ergebnisse berechnet.
Wer schonmal gesehen hat, wielange eine wissenschaftliche theoretische Rechnung schon fuer ein kleines physikalisches Problem benoetigt, der kann sich vorstellen, wie stark vereinfacht die Modelle in Spielen sein muessen.
Können sich Physikengines wie Havok automatisch an die CPU anpassen oder laufen sie immer gleich präzise und somit cpu-aufwendig ab? Bei SpeedTree ist das ja auch regelbar.
tokugawa
2007-01-12, 06:12:46
Können sich Physikengines wie Havok automatisch an die CPU anpassen oder laufen sie immer gleich präzise und somit cpu-aufwendig ab? Bei SpeedTree ist das ja auch regelbar.
Wie ich bereits geschrieben habe ist Physik schwerer zu skalieren (bei Bäumen kann man das durchaus über LODs machen).
Es gibt aber einige wenige Möglichkeiten Rechenleistung zu skalieren, je nach Engine (ich persönlich hab nur Erfahrung mit PhysX, wo es durchaus ein paar Flags gibt, die einige Dinge beeinflussen).
Es ist allerdings nichts was wie ein "Regler" steuerbar wär, sondern eher einzelne Features die man dazu/ab/umschalten kann, die die Rechenzeit beeinflussen.
Gast1242414
2007-01-14, 04:32:03
Können sich Physikengines wie Havok automatisch an die CPU anpassen oder laufen sie immer gleich präzise und somit cpu-aufwendig ab? Bei SpeedTree ist das ja auch regelbar.
jo bestimmt warum auch net einfach die zahl der iterationen nach untenschalten wen ne schwache cpu im rechner sitzt aber schneller wird die engin an sich dan net nur eben mehr fps.
vBulletin®, Copyright ©2000-2025, Jelsoft Enterprises Ltd.