Skripts von der Befehlszeile aus ausführen

3ds Max gestattet es Ihnen jetzt, MAXScript-Befehle direkt in die Befehlszeile einzugeben. Wenn Sie 3ds Max über eine DOS-Befehlszeile aufrufen, können Sie ein auszuführendes Startskript angeben. Dieses Vorgehen kann bei Aufgaben wie dem unbeaufsichtigten Rendern von Stapeln hilfreich sein.

Dabei wird der bereits vorhandene Befehlszeilenparameter -U verwendet, der ein Dienstprogramm angibt, das beim Start von 3ds Max ausgeführt werden soll. Der Parameter "-U" erlaubt ein optionales Zusatzargument, bei dem es sich im Falle von MAXScript um den Namen des Startskripts handelt. "MAXScript" muß in genau der Schreibweise wie im folgenden Beispiel eingegeben werden (nachdem Sie zum Programmverzeichnis von 3ds Max gewechselt sind):

3dsmax -U MAXScript rendercams.ms

Diese Beispiel-Befehlszeile würde die Programmdatei von 3ds Max MAXScript und anschließend das Skript rendercams.ms starten.

Das folgende Beispielstartskript lädt zwei Szenen, rendert Frames von allen in ihnen enthaltenen Kameras und beendet dann 3ds Max:

loadMaxFile "foo.max"
for c in cameras do render camera:c outputfile:("foo_"+c.name+".bmp")
loadMaxFile "baz.max"
for c in cameras do render camera:c outputfile:("baz_"+c.name+".bmp")
quitMax #noPrompt

In diesem Beispiel, wird die Methode quitMax() verwendet, um 3ds Max zu beenden, sobald das Skript beendet wurde. Bei einem Startskript muß es sich nicht unbedingt, wie in diesem Beispiel, um ein Stapelskript handeln, es kann jedoch zur Vorbereitung von 3ds Max auf eine interaktive Verwendung eingesetzt werden, wie etwa durch das Laden einer Szenendatei und der Auswahl einiger Benutzeroberflächenoptionen.

Die herkömmlichen Programmstart-Skripts, startup.ms und diejenigen im Verzeichnis \scripts\startup, werden vor dem Startskript ausgeführt. Sie können auch Skripts in individuellen Szenendateien installieren, die automatisch ausgeführt werden, wenn diese Szene offen ist oder geschlossen wird oder beim Eintreten bestimmter anderer Ereignisse.

Anmerkung: Die in die Befehlszeile eingegebenen -U-MAXScript-Programmstartskripts werden ausgeführt, nachdem 3ds Max vollständig gebootet und die Standardskripts ausgeführt wurden.

MAXScript-Befehlszeilenparameter

Die folgenden Parameter sind spezifisch für die Verwendung mit MAXScript-Dateien und -Funktionen gedacht.

Parameter Effekt
-mip Startet 3ds Max in einem minimierten Modus. Sie können allerdings das Fenster nie zum interaktiven Einsatz öffnen.
-mxs Der Parameter ist praktisch identisch mit -U MAXScript file.ms, sie brauchen jedoch nicht die .ms-Datei. Im Anschluss an den Parameter können Sie MAXScript-Befehle eingeben.
-silent Der Parameter setSilentMode ist mit dem MAXScript-Befehl vergleichbar und unterdrückt alle Dialogfelder der MAXScript- und 3ds Max-Dialogfelder, damit die mit dem Befehl "-U" angegebenen Stapelskripts nicht unterbrochen werden.
-u MAXScript <Dateiname> Öffnet eine bestimmte MAXScript-Datei.

Beispiel für die gewünschte Syntax:

3dsmax.exe -silent -mxs "for c in cameras do render c outputFile:(c.name + ".bmp") vfb:off " file.max

In diesem Beispiel wird 3ds Max im stillen Modus gestartet, file.max geöffnet und jede Kameraansicht in eine BMP-Datei gerendert, ohne dass das Fenster mit gerenderten Frames angezeigt wird.

3dsmax.exe -q -mi -U MAXScript \\server1\folder\myScript.ms \\server2\folder\file.max

In diesem Beispiel wird der Startbildschirm unterdrückt, während 3ds Max in minimiertem Modus gestartet, file.max von einem Netzwerkserver aus geöffnet und das auf einem anderen Server gefundene myScript.ms ausgeführt wird. Wenn myScript.ms die gleichen Befehle wie das erste Beispiel enthält, dann wird mit beiden Beispielen das gleiche Ergebnis erzielt.

3dsmax.exe -q -silent -mip -mxs  "for c in cameras do render c outputFile:(c.name + ".bmp") vfb:on; quitMAX() #nopromptfile.max" file.max

Dieses letzte Befehlsbeispiel unterdrückt den Startbildschirm, startet 3ds Max im stillen Modus und einem permanent minimierten Zustand, öffnet file.max, rendert jede Kameraansicht in eine BMP-Datei, die das Fenster für gerenderte Frames anzeigt, und beendet dann 3ds Max.