AngelScriptで遊ぶ
3D-Coatには、AngelScriptというちょっとした簡易プログラミング機能みたいなのがついています。
せいぜい上級者がよく使う機能の登録に利用するくらいで、普通のスカルプトモデリングをやるぶんには全く見向きもされないであろうこの機能で、ちょっと造形を離れて遊んでみました。
Tipsというか、ただいじくってみただけというか。
公式の「取扱説明書」のpdfは、3D-Coatがインストールされてるフォルダ内の、Scriptsフォルダの中にあるよ。
これが取り扱い説明書。このpdfとにらめっこしながらプログラミングをしていく。
じゃあ実際の作業。3D-Coatで、スクリプトタブから「あなたのスクリプトを作成」というのを選ぶ。
そしたら3種類のテンプレートからどれを選ぶか聞いてくるので、適当に1番上のを選んでおく。
すると、こういう英語とプログラムの始め部分があらかじめ書かれたテキストファイルが作られるので、これにプログラムを書いていくと。
で、さっきの説明書pdfをいろいろ見ていたら、sphereとかcubeとかいう命令があった。これがきっとプリミティブを作る命令だな! ![angel5.png](https://qiita-image-store.s3.amazonaws.com/0/103927/fe9652ee-2827-f1f1-f692-04202855cbcf.png)
いざ見つけたcube命令を、しかるべきところに書き加える。mainと書かれたとこの大カッコ内がプログラムのメイン部分なので、そこに、位置が0,0,0で大きさが100,100,100の立方体を作る命令を書きこむ。
そしてスクリプトを実行すると・・・立方体ができたぜ!
※エラーがでるとしたら、ボクセル用命令なのにペイントルームでやっちゃってるとかなので、自力でボクセルルームに移動しとくか、先に「Vox();」の命令を付け加えてボクセルルームに移動するプログラムにしておこう。
調子をよくして、さらにキューブを足してみる。今度は、「減算」の設定にして、先に作った立方体からくりぬいてみよっと。 ![angel8.png](https://qiita-image-store.s3.amazonaws.com/0/103927/c46c06a1-2f26-cc5f-cd05-0571454f293c.png)
上と横のぶんも減算cube命令を足すと・・・
取扱説明書のサンプルを見るに、while命令などの繰り返しもつかえるようなので、たくさんの立方体を一気にたくさん作れるかも・・・
AngelScriptsにはサインコサインタンジェントの命令もあるみたいなので、ためしに使ってみると・・・
減算でのくり抜きとwhile命令の繰り返しを組み合わせてみると・・・
スクリプト次第で、手作業では面倒ないろんな面白い形がつくれるかも。
最後に:
有機造形ではあんまり使わないかもしれませんが、たとえばオブジェクトをたくさんコピーする時にわざわざ何度もコピーをクリックしなくても一気に複製できたり、等列の配置が簡単に作れたり、面白い幾何学模様が作れたり、手作業では面倒でつらい作業がパッとできるようになるかもしれないので、
あるいは複雑なスクリプトが組める人ならもっともっとすごい色々なことができるかもしれない可能性を秘めた機能なので、興味が出たらぜひ試してみて無限大の使い道を考えてみてくださいね。
AngelScriptそのもののマニュアルはこちら
http://www.angelcode.com/angelscript/sdk/docs/manual/index.html