3d oder Physikengine ?
-
- Beiträge: 243
- Registriert: 29.08.2004 12:46
- Wohnort: Irgendwo im nirgendwo
- Kontaktdaten:
3d oder Physikengine ?
Hi,
im alten forum hat danilo gesagt, dass er eine eigene 3D-Engine schreiben will.
Danilo, wie weit bist du denn ?
Ich würde gerne eine Physikengine oder eine 3d engine oder beides (?) schreiben.
1 Frage:
Was ist leicher ? Eine physikengine oder eine Grafikengine ?
2 Frage:
Was ist für mich am besten geignet (ich bin ein fortgeschrittener Proger !) ?
3 Frage:
Was hättet ihr für wünsche, voralen für die Physikengine ?
4 Frage(für die 3d engine):
Wo kann ich bestimmte dateiformatbeschreibungen finden ?
Für:
*.x
*.dxf
*.obj
5 Frage:
Wie viele benutzen hier Cinema 4d oder truespace (2) ?
PS:
Bitte drückt euch freundlich aus!
Euer Robert !
Danke !
im alten forum hat danilo gesagt, dass er eine eigene 3D-Engine schreiben will.
Danilo, wie weit bist du denn ?
Ich würde gerne eine Physikengine oder eine 3d engine oder beides (?) schreiben.
1 Frage:
Was ist leicher ? Eine physikengine oder eine Grafikengine ?
2 Frage:
Was ist für mich am besten geignet (ich bin ein fortgeschrittener Proger !) ?
3 Frage:
Was hättet ihr für wünsche, voralen für die Physikengine ?
4 Frage(für die 3d engine):
Wo kann ich bestimmte dateiformatbeschreibungen finden ?
Für:
*.x
*.dxf
*.obj
5 Frage:
Wie viele benutzen hier Cinema 4d oder truespace (2) ?
PS:
Bitte drückt euch freundlich aus!
Euer Robert !
Danke !
Zuletzt geändert von Robert Wünsche am 28.09.2004 15:17, insgesamt 1-mal geändert.
Jeder hat einen Schutzengel.
- freedimension
- Admin
- Beiträge: 1987
- Registriert: 08.09.2004 13:19
- Wohnort: Ludwigsburg
- Kontaktdaten:
Re: 3d oder Physikengine ?
Also ganz freundlich gesagt: Das dachte ich von mir früher auch immer. Die anderen waren immer die die nichts können und ich der HeldRobert Wünsche hat geschrieben:2 Frage:
Was ist für mich am besten geignet (ich bin ein fortgeschrittener Proger !) ?

Wenn ich mir deine Fragen hier so anschaue bezweifle ich das mit dem "fortgeschrittenen Progger" allerdings (obwohl, Fortschritt ist immer relativ). Wie gesagt, nicht Übel nehmen, gelle



So long
P.S.: Wenn ich für Danilo antworten darf: Wenn es von ihm so eine Lib je geben sollte, so ist sie noch nicht über die Konzeptionsphase hinausgekommen. Im Moment denkt er jedoch noch stark darüber nach sich überhaupt damit zu beschäftigen. Also steht es in den Sternen ob und wann diese Lib kommt.
Wenn man einen Shooter proggen will, benötigt man wohl beides. Die von Half-Life (wenn auch sehr alt) find ich recht lustig, da kannst mitten im Spiel die Gravitation usw. verändern, sofern die Serverrechte hast. Also wenn Du etwas ähnliches hinzaubern könntest, oder gar was besseres, wäre es schon beachtlich....
-
- Beiträge: 243
- Registriert: 29.08.2004 12:46
- Wohnort: Irgendwo im nirgendwo
- Kontaktdaten:
Hi Robert,
also, alles kann ich dir nicht beantworten aber son paar sachen schon
Also:
Frage 1:
Ich hab keine Ahnung, wie schwer ne Grafikengine ist, bin Anwendungsprogger, bei der Physik-Engine musst du bedenken, dass du mit sehr hohen und sehr niedrigen werten rechnen musst (rechnen is hier in zweifachem Sinne zu sehen, rechnen und erwarten). Schon mal was von der Gravitationskonstante f gehört? Die hat den Wert 6.6726*10^-11
Da kommst du mit Floats nicht weit, müsstest dir also erstmal ne art Workaround bauen, mit der du die Exponenten unabhängig rechnen kannst. Du kannst zwar erstmal mit so nem Kram wie Erdbeschleunigung anfangen, aber, Gravitation sollte so ne Engine eigentlich auch enthalten, meinste nicht?
Frage 2:
Das kann man so nicht sagen, wie definierst du das wort Fortgeschritten?
Guck mal im Alten Forum (glaub, das war noch da), da hatte ich mal mit n paar anderen ne "Auseinandersetzung"(<>Streit, =Diskussion) zum Thema, bis wann ist man anfänger, wann profi.
Die Frage ist, wo bist du Fortgeschritten, kannst du sehr gut logisch denken, kannst du besonders gut mathematische Formeln aufstellen oder kannst du besonders übersichtliche Fensteroberflächen erstellen?
Frage 3:
Zuerst mal eine "schön geordnete" Formelsammelung, damit mein ich
in der Hilfe, aufschlussreiche namen, was bei so ner Engine auch nicht
immer leicht ist, geb ich beispielsweise strecke und beschleunigung an, kann ich ja end- oder durchschnittsgeschwindigkeit zurückerhalten, da
musst du also zwei funktionen für schreiben, bei Gravitation, kannst du errechnen, wie groß(Masse) ein Körper ist, um den gekreist wird, oder wie groß(Masse) ein Körper ist, der um einen Anderen Kreist (Eigentlich kreisen ja beide um einen Punkt, wir gehen mal davon aus, dass die Massenunterschiede sehr Groß sind (Beispiel:Erde dreht sich in Etwa um den Sonnenmittelpunkt, der Mond dreht sich aber um einen Punkt, der nicht im Erdmittelpunkt. sondern auf 2/3 (oder war´s 1/3
) der Strecke vom Erdmittelpunkt zur Erdoberfläche (durchschnittsstrecke, is aber egal, bei der Länge der Strecke)). Wie soll man die Zwei dann direkt unterscheiden können? Gibt nix schlimmeres, wenn man andauernd in der Hilfe nachschauen muss. Am Anfang is ok. Aber halt nicht bis zum Ende, wenn man die dauernd braucht. GetSpeed() und GetSpeed_() wären da wohl nicht geeignet.
Ausserdem möchte ich aus dieser Engine (wird das ne Library oder ne DLL, ersteres wäre wohl besser) physikalische Konstanten auslesen können, beispiel #pp_earthg=9.81 (pp für Pure Physics, g steht für gravitation, normal in Physik, das darf man meiner meinung nach so abkürzen)
Frage 4:
www.wotsit.org
Frage 5:
Ich nicht
So, hoffe, das hat dir geholfen
Oh, jetzt hab ich ja doch alle Fragen beantwortet
also, alles kann ich dir nicht beantworten aber son paar sachen schon

Also:
Frage 1:
Ich hab keine Ahnung, wie schwer ne Grafikengine ist, bin Anwendungsprogger, bei der Physik-Engine musst du bedenken, dass du mit sehr hohen und sehr niedrigen werten rechnen musst (rechnen is hier in zweifachem Sinne zu sehen, rechnen und erwarten). Schon mal was von der Gravitationskonstante f gehört? Die hat den Wert 6.6726*10^-11
Da kommst du mit Floats nicht weit, müsstest dir also erstmal ne art Workaround bauen, mit der du die Exponenten unabhängig rechnen kannst. Du kannst zwar erstmal mit so nem Kram wie Erdbeschleunigung anfangen, aber, Gravitation sollte so ne Engine eigentlich auch enthalten, meinste nicht?
Frage 2:
Das kann man so nicht sagen, wie definierst du das wort Fortgeschritten?
Guck mal im Alten Forum (glaub, das war noch da), da hatte ich mal mit n paar anderen ne "Auseinandersetzung"(<>Streit, =Diskussion) zum Thema, bis wann ist man anfänger, wann profi.
Die Frage ist, wo bist du Fortgeschritten, kannst du sehr gut logisch denken, kannst du besonders gut mathematische Formeln aufstellen oder kannst du besonders übersichtliche Fensteroberflächen erstellen?
Frage 3:
Zuerst mal eine "schön geordnete" Formelsammelung, damit mein ich
in der Hilfe, aufschlussreiche namen, was bei so ner Engine auch nicht
immer leicht ist, geb ich beispielsweise strecke und beschleunigung an, kann ich ja end- oder durchschnittsgeschwindigkeit zurückerhalten, da
musst du also zwei funktionen für schreiben, bei Gravitation, kannst du errechnen, wie groß(Masse) ein Körper ist, um den gekreist wird, oder wie groß(Masse) ein Körper ist, der um einen Anderen Kreist (Eigentlich kreisen ja beide um einen Punkt, wir gehen mal davon aus, dass die Massenunterschiede sehr Groß sind (Beispiel:Erde dreht sich in Etwa um den Sonnenmittelpunkt, der Mond dreht sich aber um einen Punkt, der nicht im Erdmittelpunkt. sondern auf 2/3 (oder war´s 1/3


Ausserdem möchte ich aus dieser Engine (wird das ne Library oder ne DLL, ersteres wäre wohl besser) physikalische Konstanten auslesen können, beispiel #pp_earthg=9.81 (pp für Pure Physics, g steht für gravitation, normal in Physik, das darf man meiner meinung nach so abkürzen)
Frage 4:
www.wotsit.org
Frage 5:
Ich nicht
So, hoffe, das hat dir geholfen
Oh, jetzt hab ich ja doch alle Fragen beantwortet

Falsch zugeordnetes Zitat des Tages: "O'zapft is" - Edward Snowden 

-
- Beiträge: 243
- Registriert: 29.08.2004 12:46
- Wohnort: Irgendwo im nirgendwo
- Kontaktdaten:
@Franky
DANKE !
Hat jemand noch anregungen für die Physikengine ?
Was muss ich noch beachten ?
Ist es sinnvoll, ein eigenes Dateiformat zum schnellen laden der objekte, welt, sounds, ... zu bauen ?
Im foraus ... Danke !
DANKE !
Ja,ja, feleicht (habs noch nicht ausprobiert) !Frage 2:
...
Die Frage ist, wo bist du Fortgeschritten, kannst du sehr gut logisch denken, kannst du besonders gut mathematische Formeln aufstellen oder kannst du besonders übersichtliche Fensteroberflächen erstellen?
Nochmals Danke !Oh, jetzt hab ich ja doch alle Fragen beantwortet![]()
Hat jemand noch anregungen für die Physikengine ?
Was muss ich noch beachten ?
Ist es sinnvoll, ein eigenes Dateiformat zum schnellen laden der objekte, welt, sounds, ... zu bauen ?
Im foraus ... Danke !
Jeder hat einen Schutzengel.
Es heißt zwar immer wenn man nichts freundliches sagen kann sollte man lieber garnichts sagen, aber ich versuch einfach zu allermindest nen umgangston zu wahren der einem freundlichen recht nache kommt:Robert Wünsche hat geschrieben:Ja,ja, feleicht (habs noch nicht ausprobiert) !Frage 2:
...
Die Frage ist, wo bist du Fortgeschritten, kannst du sehr gut logisch denken, kannst du besonders gut mathematische Formeln aufstellen oder kannst du besonders übersichtliche Fensteroberflächen erstellen?
Wer lesen kann ist klar im Vorteil!!!
So könnte man die Hauptaussage die ich mit dem zitat verknüpfen will umschreiben, denn deine Aussage passt mal rein garnicht zu dem was Franky geschrieben hat - insofern würde ich schonmal behaupten dass die sache mit dem logischen denken noch nicht allzu weit fortgeschritten ist. Sollte ich mich irren so ist es in meinen Augen doch ein wenig vermessen hier Fragen zu stellen, die Antworten dann allerdings nur kurz zu überfliegen (so hat es mit dieser aussage den anschein) und dann irgendwas zusammenhangsloses zu schreiben.
Wobei man sagen kann dass viele Leute hier oder allgemein auch in Foren davor zurückschrecken sich Beiträge durchzulesen die etwas umfangreicher gestaltet sind (man postet die lösung, jemand anderes postet sie ebenfalls nur weil er zu faul war mal die beiträge zu lesen)... also in dem Punkt nichts gegen dich persönlich, eher n allgemeiner kritikpunkt.
Zu deinem vorhaben:
Eine simple (man beachte das wort simpel) 3d engine die vielleicht nicht mehr kann als ein paar poly's und meshes und weiß der geier was darzustellen ohne großartige shader effekte usw ist durchaus vergleichsweise leicht, genauso verhält es sich mit einer Physik engine.
Es kommt immer ganz darauf an, was du implementieren willst - wenn du dazu keine angaben machst wird die Frage was nun leichter ist eher ne Streitfrage bleiben.
Weiterhin kommt es auf deine vorlieben an - für ne Physik engine musste wirklich ein Physik freak sein, bei ner 3d engine n halbes mathe genie.
Ergo solltest DU für dich selbst entscheiden was dir mehr liegt.
Schwer ist beides wenn du was vorzeigbares haben willst.
Was für dich am besten geeignet wäre? Nun gut... du bist ein fortgeschrittener Progger (deiner ansicht nach) dann solltest du vielleicht erstmal mit vorhandenen engines arbeiten, deren funktionsweise beobachten und damit projekte aufstellen. Denn imho ist es für nen fortgeschrittenen progger alleine zu viel aufwand ne 3d engine oder physik engine (alleine) in einem akzeptablen zeitrahmen auf die beine zu stellen, bzw einfach unschaffbar.
Vorstellungen für die Physik engine?
Naja, neben dem ganzen obligatorischem zeugs wie sämtlichen reibungsarten, schiefem wurf und dem kinderkram wäre es denke ich ganz interessant wenn für diverse objekte einige presets vorhanden wären wie diese sich nun verhalten wenn man sie wirft, dagegen tritt etc.
Dazu noch solche gags wie umwelteinflüsse und das ganze wäre in meinen augen ganz brauchbar.
Vorstellungen bei ner 3d engine?
Die "Half Life" engine gibt es wenn mans genau nimmt eigentlich garnicht - sie basiert auf der Quake1 engine. Theoretisch gesehen würde eine aufbesserung selbiger mit state-of-the-art effekten und techniken und zusatzliche implementierung für einfache nutzbarkeit in PB reichen. Willst du allerdings etwas komplett eigenes schreiben - orientierung an den anderen Freeware, GPL, "Budget" engines - also Bump Mapping, Shader, Anisotropic Filtering, Triliniear um nur n paar sachen zu nennen.
Wohlgemerkt sind das wünsche - was umgesetzt werden kann ist wieder etwas ganz anderes. Aber ich denke du musst die leute schon mit dingen locken die andere engines nicht bieten, sonst würde dein Produkt einfach in der breiten masse verschwinden. Mit den wünschen, die allerdings nur ganz grob formuliert sind (ich denke du kannst dir dennoch was darunter vorstellen) bist du zumindest halbwegs konkurrenzfähig.
Was das mit den Dateiformaten angeht würde ich sagen dass du für die DirectX eigenen formate ohne weiteres auf irgendeiner MS page infos findet müsstest... ansonsten könnte google weiterhelfen.
Zur letzten Frage:
keine Ahnung
Ich hoffe mein Beitrag wird nicht einfach überlesen und auch so aufgefasst wie er gemeint war: Nicht unfreundlich - aber kritisch!
Mfg
RaVeN
AMD Athlon64 3000+, 1024MB DDR-RAM, Geforce 8600GT, WinXP SP2, DirectX 9.0c, PureBasic 3.94
RaVeN99 hat geschrieben: Wer lesen kann ist klar im Vorteil!!!
.vermessen.....die Antworten dann allerdings nur kurz zu überfliegen (so hat es mit dieser aussage den anschein)
...........
.......
....
Vorstellungen bei ner 3d engine?
Die "Half Life" engine gibt es wenn mans genau nimmt eigentlich garnicht
Wer ohne Sünde ist, werfe den Ersten steinCSprengel hat geschrieben: Die von Half-Life (wenn auch sehr alt) find ich recht lustig, da kannst mitten im Spiel die Gravitation usw. verändern











Denn die Gravitation hat wohl nix mit der 3D-Engine zu tun. CSprengel spricht über die Physikengine.
Tja, das passiert, wenn man einfach Antworten überfliegt









Sorry, RaVeN99, ist nicht böse gemeint, aber ich hab mich weggeschmissen, als du erst soooooo nen langen text geschrieben hast, was man nicht machen soll und es dann im selben Atemzug selbst verbockst
Du hast zwar recht, Robert scheint das nicht so recht verstanden zu haben
aber, sorry, ich schmeiß mich weg







Falsch zugeordnetes Zitat des Tages: "O'zapft is" - Edward Snowden 

Naja, wo hört die Grafikengine auf und wo beginnt die Physik? Ich denk mal, daß gehört zusammen...
Was ich aber weiß, daß es einen HL-Mod gibt, der wie Quake 1 ist. Und das sieht schon stark anders aus, man erkennt halt die Waffen usw. Vorallem hab ich Quake immer Softwaregerendert gezockt und ich wüßte nicht, daß es da je wirkliches 3D gab. Bei HL gibt es echtes 3D. Aber wie auch immer, ich befürchte, PB verbraucht für etwas vergleichlisches mindestens doppelt so viele Recourcen.
Da hab ich was anderes gehört, aber selbst kann ich das nicht beurteilen. Vielleicht basiert die HL-Engine auf der Quake-Engine.Die "Half Life" engine gibt es wenn mans genau nimmt eigentlich garnicht
Was ich aber weiß, daß es einen HL-Mod gibt, der wie Quake 1 ist. Und das sieht schon stark anders aus, man erkennt halt die Waffen usw. Vorallem hab ich Quake immer Softwaregerendert gezockt und ich wüßte nicht, daß es da je wirkliches 3D gab. Bei HL gibt es echtes 3D. Aber wie auch immer, ich befürchte, PB verbraucht für etwas vergleichlisches mindestens doppelt so viele Recourcen.
- NicTheQuick
- Ein Admin
- Beiträge: 8809
- Registriert: 29.08.2004 20:20
- Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti - Wohnort: Saarbrücken
Also bevor ich mich an eine richtige 3D-Physik-Engine wage, gehe ich erstmal Mathematik studieren. Solange die Physik-Engine 2D bleibt, gehts ja noch, aber ab 3D wirds mir echt zu kritisch.
Man braucht bei 2D schon alle möglichen Vektoren, man sollte mit Richtungs-, Geschwindigkeits-, Kraft-, Beschleunigungs-, Gravitations- und Massenanziehungskraft-Vektoren umgehen können. Dann gibt es noch Reibung, verschiedene Körper, die jeweils eigene Formeln für Kollisions- und Impulsberechnungen haben und insgesamt einem einsamem Programmierer viel Arbeit über ein paar Jahre bereiten.
Außerdem hat das alles nichts damit zu tun, wie gut man eine Programmiersprache beherrscht. Am Ende braucht man doch nur jede Menge Formeln und noch nicht mal so viele IF-Anweisungen.
Das einzig schwere ist das Formel-Umstellen, richtige Anwenden verschiedener Formeln mit scheinbar gleichen Parametern, usw., usf.
Ich weiß gerade nicht wie alt du bist und was du in der Schule schon alles gemacht hast in Sachen Mathematik und Physik. Im Grunde kommt im Gymnasium erst ab Klasse 13 (12 bei G8) die ganze Vektorberechnung, die mich im übrigen besonders interessiert.
PS.: Ich hab für meine 2D-Kollisions-Engine schon Seitenweise Formeln zusammengeschrieben und aufgelöst. Bei 3D brauchst du übrigens auch eine Engine, die Gleichungssysteme lösen kann, da 3 Parameter nicht mehr einfach so zu lösen sind.
Man braucht bei 2D schon alle möglichen Vektoren, man sollte mit Richtungs-, Geschwindigkeits-, Kraft-, Beschleunigungs-, Gravitations- und Massenanziehungskraft-Vektoren umgehen können. Dann gibt es noch Reibung, verschiedene Körper, die jeweils eigene Formeln für Kollisions- und Impulsberechnungen haben und insgesamt einem einsamem Programmierer viel Arbeit über ein paar Jahre bereiten.
Außerdem hat das alles nichts damit zu tun, wie gut man eine Programmiersprache beherrscht. Am Ende braucht man doch nur jede Menge Formeln und noch nicht mal so viele IF-Anweisungen.
Das einzig schwere ist das Formel-Umstellen, richtige Anwenden verschiedener Formeln mit scheinbar gleichen Parametern, usw., usf.
Ich weiß gerade nicht wie alt du bist und was du in der Schule schon alles gemacht hast in Sachen Mathematik und Physik. Im Grunde kommt im Gymnasium erst ab Klasse 13 (12 bei G8) die ganze Vektorberechnung, die mich im übrigen besonders interessiert.
PS.: Ich hab für meine 2D-Kollisions-Engine schon Seitenweise Formeln zusammengeschrieben und aufgelöst. Bei 3D brauchst du übrigens auch eine Engine, die Gleichungssysteme lösen kann, da 3 Parameter nicht mehr einfach so zu lösen sind.