Gamestudio Links
Zorro Links
Newest Posts
Data from CSV not parsed correctly
by dr_panther. 05/06/24 18:50
Help with plotting multiple ZigZag
by degenerate_762. 04/30/24 23:23
M1 Oversampling
by 11honza11. 04/30/24 08:16
AUM Magazine
Latest Screens
The Bible Game
A psychological thriller game
SHADOW (2014)
DEAD TASTE
Who's Online Now
3 registered members (AndrewAMD, 7th_zorro, alibaba), 913 guests, and 3 spiders.
Key: Admin, Global Mod, Mod
Newest Members
firatv, wandaluciaia, Mega_Rod, EternallyCurious, howardR
19050 Registered Users
Previous Thread
Next Thread
Print Thread
Rate Thread
Starting with Newton #121207
04/03/07 13:03
04/03/07 13:03
Joined: Mar 2007
Posts: 47
Z
zydar Offline OP
Newbie
zydar  Offline OP
Newbie
Z

Joined: Mar 2007
Posts: 47
Hi @ all
ich habe newton installiert und weiß nicht was ich jetzt machen soll...

Re: Starting with Newton [Re: zydar] #121208
04/03/07 18:34
04/03/07 18:34
Joined: Jan 2007
Posts: 651
Germany
R
RedPhoenix Offline
User
RedPhoenix  Offline
User
R

Joined: Jan 2007
Posts: 651
Germany
Schwierig... Das Problem mit Newton ist, dass man nicht sehen kann, wie genau die dllfunctionen arbeiten (es sei denn man kann c++ und kriegt die dlls auf).
Schau dir erstmal die Tutoriallevels an, da kriegt man einen ganz guten Einblick in das Prinzip von Newton. Das Grundprinzip ist auch gar nicht so schwierig:

---Erstmal newton.dll und newton_script2.wdl und newton.wdl ins Spielverzeichnis kopieren und die wdls includen (im Hauptscript). (P.s. bei neueren Versionen muss die dll ins acknex_plugins verzeichnis).
Außerdem muss zu den levelstring definitionen:
string newtonLevel_cls = <levelname.CLS>;
Und an den Anfang der Mainfunction:
wait(1); dll_handle = newtonHandle; temp = NewtonAddMap (level_str, splashscreen);

Wobei das dll_handle nur gebraucht wird, wenn mehrere dlls geöffnet sind (nicht vergessen dass dann das newtonhandle auch existieren muss, dazu in newton.wdl suchen obs definiert ist)

---Dann kann mans ganz simpel schon haben: Einem Objekt die Function newtonwoodentity geben und für skill1 einen massenwert (ich glaube gerechnet in kg oder aber in pfund) einstellen, skill2 bis 5 auf 0.1 setzen und fertig. (Wenn das Objekt zu Levelstart im Boden steckt oder in der Luft schwebt muss zusätzlich noch flag2 gesetzt sein)

Nun mal das was ICH bisher vom Newtonprinzip verstanden habe:
1: Objekte werden wenn sie eine Newtonfunction bekommen in der Newtondll definiert und bekommen einen Body (ID) zugewiesen. Dieser enthält Informationen über Boundingbox und Position des Objektes und kann nicht mehr von 3dGS direkt kontrolliert werden. (Das heißt: Ist ein Objekt ein Newtonobjekt kann man es nicht mehr per Gamestudio bewegen oder seine Form verändern ohne dies durch Newtonfunktionen auf die dll zu übertragen.
2: Andersherum geht das aber sehr wohl. Das heißt Newton verändert die Position und eigenschaften des Body und passt das reale Objekt dann an die veränderten Daten an (das macht Newtonupdate). Das bedeutet man bewegt newtonobjekte indem man ihre bodyinformationen in der dll mit entsprechenden dllfunctionen (newtonbodyaddforce, etc.) verändert.
3:Um ein Objekt zu zerstören muss neben dem Gamestudioobjekt auch der Newtonbody zerstört werden (newtonremoveentity).
4:Kollision wird nur zwischen Newtonobjekten unterstüzt. Das level ist mit einbezogen wenn die Zeile am Anfang des Meainscripts richtig gesetzt ist. Auch terrain kann man theoretisch als kollisionsobjekt definieren (newtonterrain).
5:Es ist möglich mehrere Objekte miteinasnder zu verknüpfen um so komplxe Systeme wie z.B. einen Ball an einer Schnur, eine Tür an Angeln, oder ein Modell mit verschiedenen Kollisionsbereichen die sich unterschiedlich verhalten sollen zu verwirklichen. Dazu benutzt Newton Levelgruppen. Die Objekte die in der Gruppe anderen untergeordnet sind, sind an diese Angehängt. Dazu ist aber die Definition spezieller Drehpunkte von Nöten (siehe dazu unbedingt die Beispiele im Newtoncontent.
6: Die Kollisionseigenschaften wie Reibung etc. werden von Materialien gesteuert, die bei der INitialisierung eines Objektes festgelegt werden. Definiert man ein Newtonobjekt beispielsweise mit Newtonwoodentity, wird ihm das Material wood_material zugeordnet, es verhält sich ungefähr wie Holz. (das hat nichts mit den 3DGs Materialien zu tun, es ist eine Zuweisung innerhalb der dll).

So das war mal ein Überblick über das was ich bisher herausgefunden habe, noch ein kleiner Tipp am Rande: Alles was hier steht steht in etwas längerer Form auch in der Newtondokumentation die ist im Ordner docs bei den Beispielen, kleiner Blick lohnt sich wirklich


Moderated by  HeelX, Spirit 

Gamestudio download | chip programmers | Zorro platform | shop | Data Protection Policy

oP group Germany GmbH | Birkenstr. 25-27 | 63549 Ronneburg / Germany | info (at) opgroup.de

Powered by UBB.threads™ PHP Forum Software 7.7.1