[3dsMax]スクリプトを使用し、エリアライトのサンプル数を一括変更する。

選択した複数のエリアライトのサンプリング数を一括変更する。

▼方法
サンプル数を変更したいエリアライトを選択する。(複数選択可能)
以下のスクリプトを実行する。

sentaku = $

for i in sentaku do(
	i.mr_NumAreaSamples = 128
	)

↑のスクリプトを実行すると、選択したエリアライトのサンプル数が128になる。
128の部分を64にすれば、サンプル数は64になる。

▼処理の流れ

変数sentakuに、選択したエリアライトを入れる。
変数sentakuは、エリアライトを複数選択している場合、変数は配列扱いになる。

forループでは、変数sentakuの中にある要素の数だけ処理を繰り返す。
(つまり、変数sentakuに入れたエリアライトの数だけ処理を繰り返す。)
変数iに、変数sentakuの要素(エリアライト)が順番に入り、サンプル数を変更する処理が実行される。

▼ユーザーインターフェイスを付け、ドロップダウンリストからサンプル数を選択出来るようにする。

続きを読む

[3dsMax]二点間の距離によって、振動の強さを変化させる。

緑と赤のオブジェクト二点間の距離によって、青のオブジェクトの振動の強さを変化させる。
(基準点は、緑のオブジェクトと、赤のオブジェクトの中心)

・3dsMaxの単位設定:標準設定
・計算に使用する緑と赤の距離の範囲:100
・振動の最大値:30

青オブジェクトの位置に、スクリプトコントローラー・位置スクリプトを割り当てる。
スクリプトコントローラーで、緑オブジェクトと、赤オブジェクトを入れた変数を用意する。
スクリプトコントローラーの式蘭に以下のスクリプトを入力する。

続きを読む

[3dsMax]ギズモについて

▼ギズモを拡大縮小するショートカットキー

ギズモ縮小:-(ハイフン)キー。(ひらがなの[ほ])
ギズモ拡大:;(セミコロン)キー。(ひらがなの[れ])

▼スクリプトでギズモのサイズを変更する。

ギズモのサイズは整数値で指定できる。

print tmGizmos.size  --現在のギズモのサイズを表示する。

tmGizmos.size = 100  --ギズモのサイズを100にする。

続きを読む

[3dsMax]MAXScript、配列要素の順番を、位置を基準に並び替える。

10個あるboxオブジェクトを配列に入れる。

hairetu = $ as array --選択したオブジェクトを配列として変数hairetuに入れる。

配列の中身を見ると、順番がバラバラ。

$Box:Box06 @ [50.000000,0.000000,0.000000]
$Box:Box02 @ [10.000000,0.000000,0.000000]
$Box:Box03 @ [20.000000,0.000000,0.000000]
$Box:Box04 @ [30.000000,0.000000,0.000000]
$Box:Box05 @ [40.000000,0.000000,0.000000]
$Box:Box10 @ [90.000000,0.000000,0.000000]
$Box:Box07 @ [60.000000,0.000000,0.000000]
$Box:Box08 @ [70.000000,0.000000,0.000000]
$Box:Box09 @ [80.000000,0.000000,0.000000]
$Box:Box01 @ [0.000000,0.000000,0.000000]

このバラバラな配列の順番を、各オブジェクトのX位置を元にして並び替える。(ソートする)

続きを読む

[3dsMax]スクリプトコントローラーを使用し、位置の移動を段階的にする。

▼スクリプトコントローラーで行う処理の簡単な説明

□オブジェクトの位置に、スクリプトコントローラーを割り当てる。

スクリプトコントローラーで変数pointposを制作し、ポイントヘルパーオブジェクトのZ位置を割り当てる。

pointposの値を、複数の条件に通し、条件に一致したら、
その条件の後にある式が指定する位置へ、□オブジェクトを移動する。

続きを読む

[3dsMax]スクリプトコントローラーで回転がおかしくなる。

▼問題
式の欄に角度を直接入力したり、回転を割り当てた変数を入力したら、
やけに高速回転して、意図した動作にならない。

▼原因
角度の単位。
式の欄で角度を扱う場合の単位はラジアン。

▼解決方法
角度をラジアンに変換する。

続きを読む

[3dsMax]スクリプトコントローラーって何なの?

▼スクリプトコントローラーってどんな事が出来るの?

・他のオブジェクトが持っている値を指定して、使う事が出来る。
・他のオブジェクトから取得した値を四則演算したり、条件分岐により処理を変えたり出来る。

▼スクリプトコントローラーの使い方。

例:スクリプトコントローラーを使用し、
スライダーマニュピュレーターでマテリアルの色を編集できるようにする。

※今回の例では、取得した値に手を加えず、そのまま利用する。

色はRGB(Red Green Blue)の三原色で指定する。
RGB各色の量をマニュピュレーターで操作できるようにする。

具体的に言うと、拡散反射光カラーにPoint3スクリプトコントローラーを割り当て、
色をスライダーマニュピュレーターの値と関連付けする。

———————————————————

続きを読む

[3dsMax]リアクションマネージャって何なの?

Aが○○したら、Bが××する。主が変化したら従も変化する。

Aが★%変化したら、Bも★%変化する。

Aに状態1と状態2を設定。Bにも状態1と状態2を設定。
Aが主(マスター)で、Bが従(スレーブ)。
Aの状態変化により、Bの状態も変化する。(AとBの変化が設定した範囲で連動する)

続きを読む。