Benutzer-Werkzeuge

Webseiten-Werkzeuge


Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
Letzte Überarbeitung Beide Seiten, nächste Überarbeitung
quickstart:movercontroller [2016/03/08 12:14]
zollaidal
quickstart:movercontroller [2016/03/09 09:41]
zollaidal
Zeile 11: Zeile 11:
 erlangt haben. erlangt haben.
  
-===== Allgemeines =====+===== 1. Allgemeines =====
  
-Was kann ein zCMoverControler?​+__Was kann ein zCMoverControler?​__
  
 Der zCMoverControler gibt einem Mover bestimmte Anweisungen,​ wie er sich zu verhalten hat. Dabei kann man den Controler folgendermassen programmieren:​ Der zCMoverControler gibt einem Mover bestimmte Anweisungen,​ wie er sich zu verhalten hat. Dabei kann man den Controler folgendermassen programmieren:​
Zeile 28: Zeile 28:
 Wir können damit auch umgehen, dass wenn ein Mover mal auf den Status NSTATE_LOOP gesetzt wurde, dass dieser nach dem 1.aktivieren nie mehr abschaltbar ist, indem wir den Loop über die Keyframes programmieren und den Controler einsetzen mit der Option GOTO_KEY_NEXT und den Loop somit simulieren und jederzeit unterbrechen können. Wir können damit auch umgehen, dass wenn ein Mover mal auf den Status NSTATE_LOOP gesetzt wurde, dass dieser nach dem 1.aktivieren nie mehr abschaltbar ist, indem wir den Loop über die Keyframes programmieren und den Controler einsetzen mit der Option GOTO_KEY_NEXT und den Loop somit simulieren und jederzeit unterbrechen können.
  
-Als Beispiel habe wir diesmal ​die Windmühle aus Lobarths Hof ausgesucht, ​die ja einfach da nur rumsteht und deren Flügel ​sich nicht drehen.\\ +Als Beispiel habe ich diesmal ​ein Zahnrad ​ausgesucht, ​das wir mit 8 Frames um sich selbst rotieren lassen wollen\\
-Keine Bange, es geht jetzt hier auch nicht um Morphmeshes (unheimlich Performance lastig und nicht abschaltbar) und Animationen,​ sondern um stinknormale programmierte Keyframes, mit denen wir die Mühlenflügel in Bewegung setzen werden und bei Bedarf auch wieder abschalten. +
-Wir werden dazu an der Mühle aussen einen Hebelschalter anbringen, mit dem wir die Flügelrotation ein und ausschalten. (vorerst)+
  
-In einem später von mir noch zu erstellenden Wiki über "​Dynamische Mobs", werden ​wir die Mühle öffnen, ​einen Eingang einbauen/​portalfähig machen und ein bedienbares Mahlwerk als Mobsi in die Mühle einbauen. Aber das ist noch Zukunftsmusik und eines von vielen Wikis die zum Thema Mobsi noch zu erstellen sind.+__Warum brauchen ​wir dafür ​einen zCMovercontroler?​__\\
  
 +Wir könnten doch wie wir im Moverwiki gelernt haben die Drehung des Zahnrades mit bspw. 8 Frames erzeugen 360° \\
  
 +  *Geht leider nicht, da aus mir nicht bekannten Gründen bei den Frames der Rotation eines Movers um seine Mittelachse,​ die Bewegungsgeschwindigkeiten zwischen den einzelnen Frames, auch wenn die Distanzen gleich sind zwischen den Frames, sehr unterschiedlich (schnell/​langsam) sind und somit für eine gleichmässige Rotation unbrauchbar.
 +
 +  *Manchmal, warum auch immer, dreht sich bei Rotations-Frames > 180° der Mover auch wieder rückwärts,​ was unerwünscht ist
 +
 +  *Ausserdem benögt man den Movercontroller,​ um unseren "​Loop"​ per Script unterbrechen zu können.Siehe auch [[quickstart:​spacer:​mover2#​7.b_zCMoverController|]]
 +===== 2.Vorbereitung =====
 +==== Rotation ====
 +
 +  * ** Wir starten den Spacer und öffnen die zu bearbeitende *.ZEN**
 +    * Wir nehmen uns das Objekt**Pages**Fenster vor, setzen einen Haken bei "​Hold"​ und stellen jetzt die Zeit auf etwa 12:00. Jetzt wird es, egal wie lange wir arbeiten, nicht regnen im Spacer und auch nicht dunkel werden. 12:00 habe ich gewählt, weil es da eigentlich am hellsten sein müsste. ​
 +{{:​quickstart:​spacer:​timehold.jpg|}}
 +
 +Damit das überhaupt einen Sinn ergibt,mit dem zCMoverControler zu arbeiten, müssen wir zuerst mal einen Mover einsetzen und die Zugehörigen Frames der Rotation programmieren. Wir setzen den Mover ein, wie in den Wiki´s über Mover beschrieben [[quickstart:​spacer:​mover|]] und Mover 2 -> [[quickstart:​spacer:​mover2|]].\\
 +
 +Als Mesh habe ich ein 16-zahniges Zahnrad gewählt. Wer das Zahnrad haben will, zum mitüben, hier der Download (WoP):​[[http://​upload.worldofplayers.de/​files10/​wiki_Zahnrad.3DS]]
 +
 +16 Zähne habe ich deshalb gewählt, da ich die Rotation mit 8 Frames/​Round anlegen will.Damit kann man immer 2 Zähne weiterschieben kann und und erhält annähernd gleiche Distanzen zwischen den Frames. Das ist wichtig wegen der gleichmässigen Geschwindigkeit. Es gibt ja leider keine Mess-Skala im Spacer für die Gradzahl einer Drehbewegung. Es wäre unsinnig ein 17 zähniges Zahnrad zu verwenden und dann 17/8 zu teilen und alle 2,125 Zähne einen Frame zu setzen... wer will das abschätzen?​ Ich nicht! ​
 +
 +pic_01
 +
 +__Programmierung von Moverframes__ - bei Unkenntnis bitte hier nachlesen -> [[quickstart:​spacer:​Mover#​Mover_KeyFrames|]]
 +
 +  ***Frame 0** Wir setzen im Objekt**Pages**fenster den ersten Frame, den Frame 0, indem wir einfach bei angewählem Mover auf "new key" klicken. Es färbt sich jetzt im ObjektPagesFenster oben rechts unterhalb des Schriftzuges Keyframes die graue "​Null"​ schwarz.
 +  ***Frame 1** Wir drehen mit der "​Pos1-Taste"​ bei aktiviertem Move-Modus "​M-Taste"​ das Zahnrad um exakt zwei Zähne im Uhrzeigersinn nach rechts. Ihr könnt das auch am Koordinatenkreuz,​ beim Übungszahnradmodell der senkrechte weisse Balken, erkennen, das dieser sich ebenfalls im Uhrzeigersinn dreht. Alsdann klicken wir wieder auf "new key" im Objekt**Pages**Fenster und die "​schwarze Null" wechselt zu einer "​schwarzen 1".
 +
 +pic_02
 +
 +  ***Frame 2 - 7** Das wiederholen wir für die Frames 2 bis 7, jeweils zwei Zähne weiter drehen (0-7 = (8 Frames) ​
 + 
 +
 +
 +
 +
 +===== 3. zCMoverControler Einsetzen =====
  
  
quickstart/movercontroller.txt · Zuletzt geändert: 2016/03/09 13:24 von zollaidal