ブロックを積む(3)
「はじめてのVectorScript」と題して連載を始めるわけですが、本連載は「Vectorworksは持っているけどVectorScriptって何?」、「プログラミングって難しいんでしょ?」「アイデアはあるんだけど...」という人が「それ、VectorScriptでやれば簡単だよね」と言えるくらいになるのが目標です。
VectorworksはMacintosh版とWindows版とのマルチプラットホーム環境でありながらも、VectorScriptはOSを意識することのなくプログラミングが可能で、どちらでプログラミングしてもソースコードの変更なしでMacintosh、Windowsどちらでも実行が可能です。そしてVectorworksを持っていればいますぐにでも始められます。
ゲーム機の場合、DQ7(ソフト)で遊びたいという理由で3DS(ハード)を選ぶと思います。「このソフト(あなたが書いたスクリプト)を使いたいためにVectorworksを選びました」と言わせるようなプログラムを目指してがんばりましょう。自分のアイデアをプログラム化しブログで公開なんてことも夢ではありません。
第3章 3D図形の描画
柱状体を描いて見ましょう。 柱状体を描くには、
BeginXtrd(startDistance, endDistance : REAL);
EndXtrd;
を使います。
この手続きはBeginXtrdが実行された後、EndXtrdが実行されるまでの間に作成された2次元図形を底面とする柱状体を作成します。
2D図形の描画で使った、 手続きRect(p1X, p1Y, p2X, p2Y : REAL); を挟んで、
BeginXtrd( 0, 10 ); Rect( 10, 20, 60, 50 ); EndXtrd;
厚みを増やすには、
BeginXtrd( 0, 20 ); Rect( 10, 20, 60, 50 ); EndXtrd;
とすると、z方向の奥行きに影響します。
BeginXtrdの引数はZ座標ですので、
BeginXtrd( 10, 20 ); Rect( 10, 20, 60, 50 ); EndXtrd;
とすると、z方向の位置に影響します。
さらに、
BeginXtrd( 0, 10 ); RRect( 10, 20, 60, 50, 10, 5 ); EndXtrd;
とすると、隅の丸い柱状体ができます。