チュートリアル / 宋さんの3ds Max キッチンスタジアム
第19回:Max Creation Graphを使おう!(その2)

2015.05.27

  • 3ds Max
  • Max Creation Graph
  • チュートリアル

MCG 第2回目です。
前回は基本的な使い方と、先ずは簡単なボックス作成ツールを作ってみました。
今回は前回作成したボックス作成ツールをもう少し拡張させましょう。といっても極わずかな修正です。
前回作成したツールは正方形プリミティブを作成する物でしたが、作成したボックスの基点(Pivot)はボックスの中心でしたね。

Max Creation Graph Screen
Max Creation Graph Screen

今回は標準のボックスツールのように基点が箱の底面に配置されるような仕組みを組んでいきます。
前回のボックス作成のノードグラフより、多くのノードを使用していきますよ。

では前回作成したボックス作成ツールのグラフはこんな感じでした。

Max Creation Graph Screen

先ずは[CreateBox]と[Output: geometry]ノードの間に細工をしていきます。

Max Creation Graph Screen

基点がボックスの底面に位置するのであれば、メッシュ自体をボックスの高さの値の半分持ち上げてあげればいいですよね、基点調整の[オブジェクトのみ影響]を使ってメッシュを持ち上げる動作をMCGの中で行えば良いわけです。

Max Creation Graph Screen

つまり、メッシュをオフセット移動させるので、ノードリストの中で”offset”と入力してなんか使えそうなノードはないか探してみましょう。
するとなんか使えそうなノードがいくつかありますね、特に[Geometry – TriMash]の中に使えそうなノードを発見しました。その名の通り[OffsetMesh]!

Max Creation Graph Screen

ではこのノードをグラフエディタの中に配置し接続してみましょう。
[CreateBox]ノードの”Value (TriMesh)”ソケットと [OffsetMesh]の“Mesh (TriMesh)”ソケットをつなぎ、さらには[OffsetMesh]の“”Value (TriMesh)“ソケットと[Output geometry]をつなぎます。

Max Creation Graph Screen

しかし これだけではどの方向にどれだけの値でオフセットするか判りません。ですので どんどん情報を加えていきましょう。

Max Creation Graph Screen

「OffsetMesh」ノードの中に”offset”と書かれた入力ソケットがあります。さらにこのソケットをよく見ると”Vector3”と書かれています。このコラムの最初の方でベクトルの話をしましたが、これはまさにベクトルの値を入れろ!っということですね、つまり方向と値ということです。
なので、この入力ソケットには”Vector”に関する何かしらのノードが必要ということです。
ノードリストで”Vector”という名前を検索します。

Max Creation Graph Screen

ここではシンプルに[Vector3]を使いましょう。[Vector3]を配置したら出力ソケットである”Value(Vector3)”と [OffsetMesh]ノードの入力ソケット“offset(Vector3)”を接続します。

Max Creation Graph Screen

さて、[Vector3]の入力ソケットには値を入力する入力ソケットがXYZの値で用意されています。この値はメッシュをオフセットさせる値を[Vector3]で定義しその値となるわけですですから、何かしらの値を入力します。今回は基点を底面に配置するようにするのでZ軸方向に持ち上げなければなりません。X方向とY方向に関しては移動しません。Z方向の値はボックスの高さの値の半分の値を入力すれば丁度底面に基点が配置できるようになります。
ではそのような仕組みを組んでみます。
XとYの値は、固定値を使うので数学でいうところの[Constant(定数)]を使います。ノードリストから[Constant]を探し配置しましょう。

Max Creation Graph Screen Max Creation Graph Screen

上図のように配置接続します。[Constant]ノード内の”Value”には何も入力していないので、ここでは”0.0”と数値を直接入力します。

Max Creation Graph Screen

これでメッシュはXY方向には動かないということになります。
次にZ方向の移動値です。
前回作成したFirstBoxツールは正方形を作成するために、[CreateBox]ノードの入力には同一のパラメータを使っていました。これでもいいのですが、今回は軸ごとにパラメータを持つように改造しましょう!
[Parameter: Single]ノードを選択し、「Shift」キーを押しながらドラッグします。こうすることでコピーを作れます。もう一度コピーして3つの[Parameter: Single]ノードを作成しましょう。
出来ましたら、パラメータの名称を「Width」「Height」「Depth」と変更します。

Max Creation Graph Screen

最後に[CreateBox]ノードにそれぞれ接続します。
では先ほど作成した[Vector3]の ”Z(Single)”にコピーした[Parameter: Single]ノードの”Height”を接続してみます。
結果は以下の様なグラフになっています。

Max Creation Graph Screen

でもこれではまだ不完全ですね。
試しに保存して「評価」してみましょう。
評価した後に、ボックスを作成すると 基点がボックスの下に配置されています。つまり高さの値をそのままメッシュのオフセット値にしているからです。なので、[Vector3]の ”Z(Single)”に接続するValue(値)を2で割ってあげる必要があります。
数値を割るためには[Divide]というノードを使います。
値の演算を行うには[Math](計算)というカテゴリ内の[Divide](割る)というノードを使用します。他にも四則演算のノードや様々な数学的な計算をおこなうノードが[Math]の中にはありますので、時間のあると気に色々試して見て下さい。
おそらく皆さんもだいぶMCGに慣れてきているのではないでしょうかね、
オペレータノードリストから[Divide]を選択し、エディターに配置します。

Max Creation Graph Screen

この[Divide]の入力は”x (any)”、”y (any)”となっています。ここでは”x (any)”には割られる値、”y (any)”には割る値を設定します。先ほど使った[Constant]ノードをもう一度使いこのノードの”Value”に”2.0”と入力し、割る数である”y (any)”に接続します。 割られる”x (any)” には[Parameter: Single ”Height”]のValueを接続します。
なんかややこしくなってきましたが、下図のような構造になれば出来上がりです。

Max Creation Graph Screen

ではこのグラフを保存して、評価します。
どうですか?ちゃんと基点が底面に配置されていますね。あと、ボックスのパラメータも幅、高さ、奥行きと3つのパラメータで構成されています。

Max Creation Graph Screen Max Creation Graph Screen

今回は以上で終了です。
だいぶMCGの勘所を掴んできたのではないでしょうか?
次回は、作成したMCGツールをインストーラといった形で活用して、別のデザイナーの方へにツールを配布する方法などをご紹介したいと思います。 ではでは、、、

製品購入に関するお問い合わせ
オートデスク メディア&エンターテインメント 製品のご購入に関してご連絡を希望される場合は、こちらからお問い合わせください。