Du machst ein neues Create-Event (), gehst bei den Drag&Drop-Icons zur Registerkarte "control", nimmst dir da dieses Symbol: , und legst es in dem weißen kasten links daneben ab, und dann kannst du Moolt's Code dort einfügen.
3d für Anfänger
Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen
-
-
HI erstmal großes Lobsuper tut.
aer bei mir funzelt die bsp Datei net kannst du
nochmal eine andere posten??
wäre sehr netPostet postet postet -
Wenn ich mir dein Profil ansehe, dann sehe ich, dass du die Lite Version des Game Maker 7's benutzt.
Die 3d-Funktionen funktionieren aber nur mit der Pro Version des Game Maker 7's ( oder der Registrierten des 6er's ).fabse64 -> haiyyu -
OK Danke ab er kann mit der 7ner Lite Version jezt gar kein 3d verwenden ??????Dann muss ich meins wohl UpdatenPostet postet postet
-
Ja, mit der unregistrierten Version des Gamemaker's kann man die 3d-Funktionen, so wie viele andere Funktionen nicht nutzen.
Am besten du testest die unregistrierte Version noch ein wenig, und überlegst dir dann, die Vollversion zu kaufen.
Dies jedoch nur wegen der 3d-Funktionen zu machen ist nicht empfehlenswert, es sei denn man investiert viel Zeit darin. -
Danke für den Tip,
ich teste die Verion jet schon eine geraume Zeit und da ich e für gut halte werden
ich mir die Voollversion kaufen da mir viele Funktionen fehlen die ich brauchen könnte
Danke an allePostet postet postet -
-
Natürlich, 3D Funktionen sind nur mit Pro möglich (Was du allerdings auch leicht selber hättest
herausfinden können, indem du ein par Posts weiter oben geschaut hättest).___________________________________________________________
Beware of wild pointers______Hinweis für Allergiker: Kann Spuren von Ironie enthalten_____ -
Ist zwar schon was älter hier, aber ich hab mir jetzt erst 3D angeguckt.
Aber irgendwie gibt es direkt wieder Probleme.
Ich hab eigt alle Codes "genau" übernommen, auch die aus deinem Example ausprobiert, aber immer gibts Probleme.
Bei deinem Example klappt's perfekt, man sieht den "Block" auch in richtiger Größe, bei mir ist der Block winzig und manchmal garnicht zu sehen.
Was hab ich da den jetzt falsch gemacht?
Edit: Kann den keiner helfen?:sDieser Beitrag wurde bereits 1 mal editiert, zuletzt von Prustel ()
-
Sorry für den Doppelpost, aber findet keiner das Problem in meiner Datei?:s
-
Prustel schrieb:
Sorry für den Doppelpost, aber findet keiner das Problem in meiner Datei?:s
Doch, ich... Moolt, was codest du denn für Stuss zusammen?
Ich hab die gmk von Prustel mal mit deinem Tutorial verglichen und konnte keinen Unterschied feststellen. Dafür ist mir jede Menge aufgefallen, was meines Wissens gar keinen Sinn macht. Speziell das Draw Event des Blocks hat mich total verwirrt. Ich hab das in die Form gebracht, wie ich persönlich es machen würde.
Hier das Draw Event des Blocks:
Hier das Draw Event der Kamera (nur minimal modifizert - wär vermutlich sogar unnötig):
█████ ██ █ ████ everything ███ █████ is █████ ████ ████ fine ████ ███ █ ██████ love.
█████ ███████ ███ your █████ ████ government. -
-
Dazu könntest du die Zeile im Draw Event der Kamera ändern:
Die frei gestellte Stelle "block.y+z" bewirkt ganz einfach, dass die Höhe gleichzeitig der Entfernung entlang der y-Achse entspricht. Ich hoffe, das war es, was du meintest. Ansonsten einfach mal rumprobieren.█████ ██ █ ████ everything ███ █████ is █████ ████ ████ fine ████ ███ █ ██████ love.
█████ ███████ ███ your █████ ████ government. -
Mauge: Ja du hast vollkommen Recht, die Angelegenheit mit den Transformationen habe ich damals sehr ungeschickt gelöst. In meinem Tutorial zu den Tansformationen benutze ich jedoch die Variante, welche du auch vorschlägst.
-
Genau so, danke
-
@Moolt: Kannst ja mal bei Gelegenheit dieses Tutorial hier ausbessern. Sehr gut präsentiert ist es allemal.█████ ██ █ ████ everything ███ █████ is █████ ████ ████ fine ████ ███ █ ██████ love.
█████ ███████ ███ your █████ ████ government. -
Ich wäre dir echt dankbar für ein Collision Tutorial :s
Wie wäre den eine Collision wie bei diesem Video?
youtube.com/watch?v=f5THST-keQo
Das ist ein Video von einem Spiel von jemanden aus der Gmc.
Aber wenn ich versuche eine Collision zu erstellen(egal wie) bleibt der Spieler immer hängen. -
Ein Tutorial über Kollision und Kamera-Einstellungen hatte ich berreits im Hinterkopf. Jedoch lassen diese sicher ein paar Monate auf sich warten. Dies hat mehrere Gründe: Ich habe momentan wenig Zeit, diese Themen sind recht umfangreich und ich werde wahrscheinlich demnächst eine andere Reihe von Tutorials (über ein anderes Thema) hier veröffentlichen.
-
Die Kollision in dem "Trailer" ist nicht sonderlich komplex, da er keine mehreren Ebenen benutzt.
Wenn beim Springen jetzt noch Plattformen oben drüber wären, wär es etwas komplizierter.
So wie er es jetzt macht, schaut er nur, ob ein Objekt unter ihm ist, und wenn ja, schaut er, welche Höhe das Objekt hat und setzt die Höhe vom Spieler gleich der Höhe des Objekts, sobald der Spieler unten drunter ist. (ähnlich wie bei normalen Plattformspielen auch.)
Eigentlich musst du bei Kollisionen nur ne Maske benutzen und diese in die Höhe ziehen. Der Nachteil dabei ist es, dass du keine gedrehten Hitboxes machen kannst. Dafür müsstest du rechnen.
Ne Möglichkeit für ne Kollision z.B. wäre das normale Kollisionevent und dann ne if-Abfrage.
Collision-Event:
Für die vertikale Kollision (im falle des 3D dann die Z-Achse) macht man es dann z.B. so:
Collision-Event:
Wichtig wäre es, wenn du Plattformen benutzen willst, ein Script zu schreiben, welches den höchsten Boden unter dir findet.
Ich hab das in meiner Beispielengine so geregelt:
GML-Quellcode
- //This script gets the closest floor level, on which it's possible to stand.
- //The value this script returns, is the highest possible ground level below the object.
- var mxground;
- mxground=boden[0];
- for(i=1;i<=7;i+=1)
- {
- if(boden[i])
- {
- with(boden[i])
- {
- if(place_meeting(x,y,obj_player))
- {
- if(z+height<=obj_player.z)&&(z+height>mxground)
- {
- mxground=z+height;
- }
- }
- }
- }
- }
- return(mxground);
Vorrausgesetzt ist, dass im Array "boden" alle Objekte aufgelistet sind (auch als Parent möglich), auf denen das ausführende Objekt stehen kann.
boden[0] ist der Wert im Objekt, welcher den 0 Punkt festlegt. also der unterste Boden...
Sicherlich nicht die optimalste Lösung, aber ich bin damit klar gekommen und es ist bei nicht ÜBERDIMENSIONALEN Levels auch von der Leistung nicht der hit.
Man könnte z.B. auch noch ne Begrenzung benutzen, wie weit die Objekte weg sein sollen, keine Ahnung obs dann besser läuft.
PS: Ich hoffe ich konnt dir einen ungefähren eindruck verschaffen, wie Kollisionen im grunde funktionieren. Alles was weiterführend ist, is etwas komplizierter, dafür musst du die x,y,z-Koordinaten berechnen, bei welchen eine Kollision stattfindet.
PPS: Ich entschuldige mich fürs Einrücken... das Forum wills nich so wie ich...So far, Schattenphoenix~
_____________________________________________________________________________
"Who needs a stairway to heaven...
If there is an elevator to hell... ?"
- Vergessen
"Auch ein perfektes Chaos ist etwas vollkommenes."
- Jean Genet
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Schattenphoenix ()
-
Da ich nun endlich Ferien habe, habe ich mir die Zeit genommen um das Tutorial aufzuräumen und auszubessern.
Was sich getan hat:
- Probleme werden vorteilhafter gelöst, besonders in Hinsicht der Texturen
- Übersichtlichkeit erhöht, durch sinvolle Benennung der Ressourcen
- Rotation wird nun einfacher und effizienter eingesetzt
- Texturen wurden teilweise ersetzt
- Einige Rechtschreibfehler wurden entfernt
- Example wurde erneuert
-Moolt - Probleme werden vorteilhafter gelöst, besonders in Hinsicht der Texturen