[PR]
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
3dsMax:スクリプトを書いてみよう! 入門編 第2回
2009.05.21 Thursday 00:54 | 3ds Max
ということで2回目です。
とりあえず
「頂点を1つ選択した状態で、ボタンを押したらある固定の頂点にターゲット連結する」スクリプトを作るための準備を始めます。
まず最初にどんなことをすればそのようなことが出来るのかを調べるために「リスナー」というものを使います。
「MaxScript」メニュー→「MAXScriptリスナー」を選択するか、F11キーを押すと、このような画面が出てきます。
上のピンクの画面はコマンドを入力したり、動作を記録したりするする画面。
下の白い画面はピンク画面で入力した式やコマンドの数値的な結果などを表示する画面です。
これでも結構遊べますが、とりあえず上の画像のようにマクロレコーダーを有効にします。
この状態でボックスを作ったり、変換したりモデファイヤかけたりしてみてください。
いろいろな状態でピンクの画面に怪しげな文字列が追加されてくるかと思います。
これがMAXのスクリプト(どちらかというとマクロ)です。
次にマクロレコーダーがオンのままだとなにか嫌な気分になるので、とりあえず無効にします。
ピンクの画面をアクティブ(文字入力が出来る状態)にして、Ctrl+Dを入力して、画面をまっさらにします。
その後に box() と入力しEnterを押します。
そうするとBox01という名前のボックスが一つ出来ます。サイズや位置はデフォルトです。
一旦ボックスを消去して 今度は a=box() と入力してください。
同じようにボックスが出来るかと思います。
a= という部分が増えたわけですが、簡単に言うと「これから作るボックスオブジェクトはaと呼ぶからね」という意味くらいに思ってください。
次に a.pos=[10,10,10] と入力してみると、、その座標にボックスが移動します。
更に a.name="箱" と入力した後にそのボックスを選択→修正パネルで名前を確認すると 箱 となっているのが分かるかと思います。 *「箱」の文字意外は全て半角英数です。
これらはいつでも変更可能です。
aの後ろについている、.posや.nameは「プロパティ」と呼ばれるものです。
同じように .(ドット)の後に文字列がつくもので「メソッド」と呼ばれるものがあります。
こちらは簡単にいうと指示を与えるものです。
aのようにモノを表すものが「オブジェクト」です。
この構造(考え方)と同じやり方取っているプログラミング言語やスクリプトは現在ではかなり多くあります。
これから先、MAXScriptリファレンスでいろいろと調べたりすることがあると思いますが、この概念は最初はおぼろげでいいので、感覚的に捉えておくと理解がスムーズになるかと思います。
詳しく勉強されたい方は「オブジェクト指向プログラミング」とか「クラス」についての書籍をみると良いかと思います。
とりあえず
「頂点を1つ選択した状態で、ボタンを押したらある固定の頂点にターゲット連結する」スクリプトを作るための準備を始めます。
まず最初にどんなことをすればそのようなことが出来るのかを調べるために「リスナー」というものを使います。
「MaxScript」メニュー→「MAXScriptリスナー」を選択するか、F11キーを押すと、このような画面が出てきます。
上のピンクの画面はコマンドを入力したり、動作を記録したりするする画面。
下の白い画面はピンク画面で入力した式やコマンドの数値的な結果などを表示する画面です。
これでも結構遊べますが、とりあえず上の画像のようにマクロレコーダーを有効にします。
この状態でボックスを作ったり、変換したりモデファイヤかけたりしてみてください。
いろいろな状態でピンクの画面に怪しげな文字列が追加されてくるかと思います。
これがMAXのスクリプト(どちらかというとマクロ)です。
次にマクロレコーダーがオンのままだとなにか嫌な気分になるので、とりあえず無効にします。
ピンクの画面をアクティブ(文字入力が出来る状態)にして、Ctrl+Dを入力して、画面をまっさらにします。
その後に box() と入力しEnterを押します。
そうするとBox01という名前のボックスが一つ出来ます。サイズや位置はデフォルトです。
一旦ボックスを消去して 今度は a=box() と入力してください。
同じようにボックスが出来るかと思います。
a= という部分が増えたわけですが、簡単に言うと「これから作るボックスオブジェクトはaと呼ぶからね」という意味くらいに思ってください。
次に a.pos=[10,10,10] と入力してみると、、その座標にボックスが移動します。
更に a.name="箱" と入力した後にそのボックスを選択→修正パネルで名前を確認すると 箱 となっているのが分かるかと思います。 *「箱」の文字意外は全て半角英数です。
これらはいつでも変更可能です。
aの後ろについている、.posや.nameは「プロパティ」と呼ばれるものです。
同じように .(ドット)の後に文字列がつくもので「メソッド」と呼ばれるものがあります。
こちらは簡単にいうと指示を与えるものです。
aのようにモノを表すものが「オブジェクト」です。
この構造(考え方)と同じやり方取っているプログラミング言語やスクリプトは現在ではかなり多くあります。
これから先、MAXScriptリファレンスでいろいろと調べたりすることがあると思いますが、この概念は最初はおぼろげでいいので、感覚的に捉えておくと理解がスムーズになるかと思います。
詳しく勉強されたい方は「オブジェクト指向プログラミング」とか「クラス」についての書籍をみると良いかと思います。
PR
Trackback
Trackback URL:
Comment