3d oder Physikengine ?

Hier kann alles mögliche diskutiert werden. Themen zu Purebasic sind hier erwünscht.
Flames und Spam kommen ungefragt in den Mülleimer.
Robert Wünsche
Beiträge: 243
Registriert: 29.08.2004 12:46
Wohnort: Irgendwo im nirgendwo
Kontaktdaten:

3d oder Physikengine ?

Beitrag von Robert Wünsche »

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 !
Zuletzt geändert von Robert Wünsche am 28.09.2004 15:17, insgesamt 1-mal geändert.
Jeder hat einen Schutzengel.
Benutzeravatar
freedimension
Admin
Beiträge: 1987
Registriert: 08.09.2004 13:19
Wohnort: Ludwigsburg
Kontaktdaten:

Re: 3d oder Physikengine ?

Beitrag von freedimension »

Robert Wünsche hat geschrieben:2 Frage:
Was ist für mich am besten geignet (ich bin ein fortgeschrittener Proger !) ?
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 Held :D
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 ;-) :) :D

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.
Beginne jeden Tag als ob es Absicht wäre!
Bild
BILDblog
THEEX
Beiträge: 804
Registriert: 07.09.2004 03:13

Beitrag von THEEX »

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....
Robert Wünsche
Beiträge: 243
Registriert: 29.08.2004 12:46
Wohnort: Irgendwo im nirgendwo
Kontaktdaten:

Beitrag von Robert Wünsche »

Und was ist mit den dateiformaten ?
Hat jemand darüber eine ahnung ?
Oder muss ich alles umständlich ausknobeln ?
Jeder hat einen Schutzengel.
Benutzeravatar
Franky
Beiträge: 1132
Registriert: 29.08.2004 16:31
Wohnort: Münsterland
Kontaktdaten:

Beitrag von Franky »

Hi Robert,

also, alles kann ich dir nicht beantworten aber son paar sachen schon :wink:

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 :roll: ) 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. :wink:
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 :mrgreen:
Falsch zugeordnetes Zitat des Tages: "O'zapft is" - Edward Snowden :)
Robert Wünsche
Beiträge: 243
Registriert: 29.08.2004 12:46
Wohnort: Irgendwo im nirgendwo
Kontaktdaten:

Beitrag von Robert Wünsche »

@Franky

DANKE !
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?
Ja,ja, feleicht (habs noch nicht ausprobiert) !
Oh, jetzt hab ich ja doch alle Fragen beantwortet :mrgreen:
Nochmals 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 !
Jeder hat einen Schutzengel.
RaVeN99
Beiträge: 310
Registriert: 29.08.2004 15:26
Wohnort: Weiden i.d.OPF
Kontaktdaten:

Beitrag von RaVeN99 »

Robert Wünsche hat geschrieben:
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?
Ja,ja, feleicht (habs noch nicht ausprobiert) !
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:

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
Benutzeravatar
Franky
Beiträge: 1132
Registriert: 29.08.2004 16:31
Wohnort: Münsterland
Kontaktdaten:

Beitrag von Franky »

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

CSprengel hat geschrieben: Die von Half-Life (wenn auch sehr alt) find ich recht lustig, da kannst mitten im Spiel die Gravitation usw. verändern
Wer ohne Sünde ist, werfe den Ersten stein :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol:

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 :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol:

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 :lol: :lol: :lol: :lol: :lol: :lol: :lol:
Falsch zugeordnetes Zitat des Tages: "O'zapft is" - Edward Snowden :)
THEEX
Beiträge: 804
Registriert: 07.09.2004 03:13

Beitrag von THEEX »

Naja, wo hört die Grafikengine auf und wo beginnt die Physik? Ich denk mal, daß gehört zusammen...
Die "Half Life" engine gibt es wenn mans genau nimmt eigentlich garnicht
Da hab ich was anderes gehört, aber selbst kann ich das nicht beurteilen. Vielleicht basiert die HL-Engine auf der Quake-Engine.
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.
Benutzeravatar
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

Beitrag von NicTheQuick »

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.
Antworten