Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
Da ich nicht will dass die Ankündigungen dieser Demos in den Newsthreads untergehen (wo es evtl. keiner liest) mache ich hier mal nen eigenen Thread dafür auf, der immer aktualisiert wird sobald ich eine neuen Newtondemo für Entwickler hochlade. Bei diesen Demos handelt es sich um Demos die ein bestimmtes Newton-Feature zeigen, und mit sehr ausfürhlich dokumentiertem Quellcode kommen, so dass Interessierte diese Features recht einfach erlernen und selbst implementieren können.
Demo 1 : Joints Download Zeigt die Nutzung der von Newton angebotenen Joint(=Verbindung)-Typen : Ball-and-Socket, Hinge, Slider, Corkscrew und universal joint. Zeigt ausserdem auch wie Newtons Raycast-Funktionen genutzt werden um Körper zu beeinflussen.
Demo 2 : Vehikle-Container Download Zeigt wie man den Vehikel-Container von Newton nutzt um Fahrzeuge zu implementieren.
Demo 3 : Trägheit Download Mit den Trägheitsfeatures von Newton kann man (u.a.) Körper, die von einer Flüssigkeit umgeben sind, simulieren. Dies wird in dieser Demo gezeigt.
Wer Fragen bzgl. der Demos hat kann diese dann hier stellen, und ich werde versuchen darauf einzugehen.
Es gibt also in der neuen Version eine "Masse" mit der man verschiedene Materialien in Wasser oder anderen flüssigkeiten "Schwimmen" lassen kann?
Das finde ich mal richtig nice.
Muss nurnoch schaffen mit Newton umzugehen Aber das schaffe ich auch noch irgendwann
Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
Masse? Nein, es gibt halt passende Funktionen mit der man nun Trägheitskräfte statt normaler Kräfte auf einen Körper wirken lassen kann. Das kann man nutzen um Körper in Flüssigkeiten zu simulieren, aber damit lassen sich auch andere Dinge realiseren. In der nächsten SDK-Version wird diese Trägheitssache übrigens nochmals verbessert, und das was der Macher als Verbesserung angesprochen hat dürfte recht interessant werden.
Aber erstmal um Freude zu bereiten.
"
Endlich geschafft etwas bewegen zu lassen.
Wie einfach das ist, aber ich IDIOT, wie immer stand aufem schlauch Newton ist schon geil (Jetzt wo ich es checkte ^^)
"
Naja So, aber mal ne andere Frage, gibts eine Möglichkeit von Newton bescheidzubekommen, wenn eine Kollision vorkommt?
zB. Irgend ne "Bombe" auf irgend ein Objekt(Oder Level) einschlägt, geht das?
Und kann ich mir auch sagenlassen auf was der einschlägt? Danke!
Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
Das geht über die Material-Callbacks. Du kannst ja in NewtonMaterialSetCollisionCallback die Callbacks für Kollisionen setzen (Beginn der Kollision, Kollision selbst, Ende der Kollision) und dann im Kollisionscallback mittels NewtonMaterialGetBodyCollisionID die ID des kollidierten Objektes rausbekommen. Wenn du die hast musst du dort nur noch prüfen ob das Material mit dem kollidiert ist das Material deines Levels ist.
Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
Nett! Mit den Joints kann man schon so einiges machen, u.a. auch motorisierte mechanische Objekte wie z.B. Roboter (auch wenn sowas komplexer ist). Aber ich bitte dich darum dich auch an die GPL zu halten, also nicht nur die Exe weiterzugeben sondern auch den veränderten Quellcode.
Registriert: Fr Mai 14, 2004 18:56 Beiträge: 804 Wohnort: GER/OBB/TÖL-WOR/Greiling
Bis auf das gepostete habe ich nichts wesentliches verändert (nur noch eine bool-variable eingeführt, für die "komplett-anzeigen-abfrage"). Von daher habe ich deinem Kritikpunkt absolut entsprochen.
Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
Es geht mir aber halt darum dass du den kompletten Quellcode mit ins Paket packst, das sollte man schon machen (wegen der GPL halt). Wenn jemand die Datei so in die Hände bekommt (also nicht über den Thread hier), dann ist nicht nachvollziehbar woher er kommt.
Registriert: Fr Mai 14, 2004 18:56 Beiträge: 804 Wohnort: GER/OBB/TÖL-WOR/Greiling
tja... vom prinzip her muss ich dir recht geben. aber wenn jemand die exe bekommt, was kann er dann damit machen, womit er gegen den OS-Gedanken verstößt? Verkaufen? Patentieren lassen? Aber ich werde in das Package am besten noch ne readme reintun.
Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
Lad einfach das komplette Paket mit allen Files die bei mir drin waren hoch, so wie es laut GPL sein sollte. Ich will dich hier nicht kritisieren, aber wie gesagt geht es mir darum dass sich die Leute auch an die von mir genutzte GPL halten, dabei spielt es keine Rolle ob jemand mit der puren EXE was anstellt oder nicht.
Registriert: Fr Mai 14, 2004 18:56 Beiträge: 804 Wohnort: GER/OBB/TÖL-WOR/Greiling
jetzt richtig?
Einige fragen habe ich noch: Kann man die Achsen oder Punkte, an denen die Objekte tatsächlich verbunden sind, sichtbar machen? denn ich musste die programmierung einmal komplett umschmeißen und neu anfangen, weil ich mich mit meinem pivotpoint, der ja auch angibt, wo genau "verschraubt" wird(kann ja auch ausserhalb der körper selbst liegen!!), total verfranst habe.
Noch was: um meine Körper von vornherein schief zu createn(matrix_setrotation) und dann korrekt zu joinen, muss ich ja den punkt, an dem gejoint wird, neu berechnen. geht das ganz normal mit trigonometrie?(ich frage aus faulheit )
Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
luketheduke hat geschrieben:
jetzt richtig?
OK, danke schön!
luketheduke hat geschrieben:
Einige fragen habe ich noch: Kann man die Achsen oder Punkte, an denen die Objekte tatsächlich verbunden sind, sichtbar machen? denn ich musste die programmierung einmal komplett umschmeißen und neu anfangen, weil ich mich mit meinem pivotpoint, der ja auch angibt, wo genau "verschraubt" wird(kann ja auch ausserhalb der körper selbst liegen!!), total verfranst habe.
Ich glaube dass geht momentan noch nicht (die Joints können also noch nicht visualisiert werden), ist aber AFAIK fürs nächste Release geplant.
luketheduke hat geschrieben:
Noch was: um meine Körper von vornherein schief zu createn(matrix_setrotation) und dann korrekt zu joinen, muss ich ja den punkt, an dem gejoint wird, neu berechnen. geht das ganz normal mit trigonometrie?(ich frage aus faulheit )
Schau mal in die glMatrixHelper.pas. Dort gibt es funktionen um Vertices mit Matrizen zu manipulieren (Matrix_TansformVector).
Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
Das war ne "physikalische Meisterleistung" Für jemanden wie mich, der nicht viel mit Physik am Hut hat, war das ne echte Herausforderung und es hat recht lange gedauert bis die zumindest halbwegs gefunzt hat (ist noch nicht perfekt).
Ich habe mich dabei an dieses Tutorial gehalten. Das "Problem" an der Sache ist halt, dass es ein System mit gegenseitiger Wechselwirkung ist (wenn man das so nennt) : Das Motordrehmoment ist u.a. von der Rotation des Rades abhängig, und diese Rotation wird durch das Drehmoment erzeugt dass der Motor auf das Rad einwirken lässt.
Mitglieder in diesem Forum: 0 Mitglieder und 5 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.