3ds Maxで作業していると、「同じ操作を何十回も繰り返している」場面が必ず出てきます。オブジェクトの一括リネーム、原点の調整、同じ設定の割り当て——こうした単純作業こそ、MAXScriptで自動化する価値が一番高いところです。この記事では、プログラミング未経験の方でも今日から試せる、MAXScriptの入り口を紹介します。
なぜMAXScriptなのか
MAXScriptは3ds Maxに標準で組み込まれているスクリプト言語です。追加のインストールは不要で、Maxさえあればすぐに書き始められます。アニメ背景モデルのように「大量の似たオブジェクトを扱う」制作では、手作業の時間をそのまま短縮できるため、費用対効果がとても高いのが特徴です。
まずは メインメニュー → スクリプト作成 → 新規スクリプト でエディタを開き、書いたコードを選択して Ctrl+E で実行、という流れを覚えておけば十分です。
最初の一歩:選択オブジェクトを操作する
MAXScriptでは、いま選択しているオブジェクトの集まりを selection で扱えます。たとえば選択中のオブジェクトを順番に処理するには、次のように書きます。
-- 選択している全オブジェクトの名前をリスナーに表示する
for obj in selection do
print obj.name
この for obj in selection do ... が、繰り返し作業を自動化する基本の型です。あとは「何をするか」の部分を書き換えていくだけです。
実用例1:連番で一括リネームする
選択したオブジェクトに Prop_001, Prop_002… と連番の名前を付ける例です。手作業だと地味に時間のかかる作業が、一瞬で終わります。
-- 選択オブジェクトを Prop_001 から連番でリネーム
for i = 1 to selection.count do
selection[i].name = ("Prop_" + (formattedPrint i format:"03d"))
実用例2:原点をまとめて床に合わせる
配置したモデルの高さがバラバラなとき、選択したオブジェクトをまとめて床(Z=0)に接地させる例です。
-- 選択オブジェクトの一番下をZ=0に合わせる
for obj in selection do
(
local bottom = obj.min.z
obj.pos.z -= bottom
)
数行のスクリプトですが、対象が10個でも100個でも同じ手間で処理できるのがスクリプトの強みです。
どうやって覚えていくか
いきなり文法を覚える必要はありません。おすすめは マクロレコーダー の活用です。スクリプト作成 → マクロレコーダー をオンにして普段の操作をすると、その操作に対応するMAXScriptが自動で書き出されます。それを見ながら「この操作はこう書くのか」と逆引きで覚えていくのが、一番の近道です。
また、リスナー(下部のピンク&白の枠)にエラーや結果が表示されるので、少しずつ実行しながら確認していくと安全です。
管理人のひとこと
MAXScriptは「プログラミングを覚える」というより「面倒な作業を減らす道具」くらいの感覚で始めるのがちょうどいいと思います。最初はマクロレコーダーの出力をコピペするだけでも十分。慣れてくると、自分専用のツールがどんどん増えていって作業が本当に楽になります。



コメント