マクロコマンド説明(ぼくせる64)
(1)座標系
初期の画面で、右側がX、上方向がY、手前がZの正方向です。
ボクセルの位置を表す座標は、X,Y,Zそれぞれ、0~63の整数です。
ボクセルの範囲は0~63ですが、マクロコマンドのパラメータでは、(例えば半球を生成したい場合など)0未満や64以上の座標値を指定することも可能です。
(2)色番号
マクロコマンドでのボクセルの色は色番号で指定します。
色番号の一覧は作成予定ですが、とりあえずは、使いたい色のボクセルを表示して、「ホーム」メニューの「クリックして」の部分を「ボクセルの情報を表示」にして、ボクセルをクリックして確認してください。
色番号は1~216、0を指定した場合はボクセル無し(削除)になります。
(3)書式
マクロコマンドは1行に1コマンド、1文字目にコマンド名、2文字目以降にカンマで区切ったパラメータを入力します。
1文字目が「'」(シングルクォーテーション)の行はコメント行として無視されます。
(4)マクロコマンド一覧
[]内のパラメータはオプション(省略可能)です。
V(Voxel)コマンド
ボクセルの追加
Vx,y,z,c
x,y,z:ボクセルの座標
c:ボクセルの色番号
B(Box)コマンド
直方体の生成
Bx1,y1,z1,x2,y2,z2,c[,d,f]
x1,y1,z1:直方体の対角1点目の座標
x2,y2,z2:直方体の対角2点目の座標
c:直方体の色番号
以下を指定すると四角錐(台)になる
d:四角錐(台)の高さ方向を表す整数(1:X, 2:Y, 3:Z)
f:2点目を含む底面の辺長ををf倍する(実数,0≦f≦1)
f=0で四角錐、0<f<1で四角錐台になる
P(Prism)コマンド
直角三角柱の生成
Bx1,y1,z1,x2,y2,z2,c,d
x1,y1,z1:直角三角柱の底面の直角部分の頂点の座標
x2,y2,z2:直角三角柱に外接する直方体の、上記x1,y1,z1の対角の座標
c:直角三角柱の色番号
d:直角三角柱の高さ方向を表す整数(1:X, 2:Y, 3:Z)
S(Sphere)コマンド
球(楕円体)の生成
Sx1,y1,z1,x2,y2,z2,c
x1,y1,z1:楕円体に外接する直方体の対角1点目の座標
x2,y2,z2:楕円体に外接する直方体の対角2点目の座標
c:楕円体の色番号
C(Cylinder)コマンド
(楕)円柱の生成
Cx1,y1,z1,x2,y2,z2,c,d[,f]
x1,y1,z1:円柱に外接する直方体の対角1点目の座標
x2,y2,z2:円柱に外接する直方体の対角2点目の座標
c:円柱の色番号
d:円柱の高さ方向を示す整数(1:X, 2:Y, 3:Z)
以下を指定すると円錐(台)になる
f:2点目を含む底面の半径ををf倍する(実数,0≦f≦1)
f=0で円錐、0<f<1で円錐台になる
T(Text)コマンド
文字列の生成(全角1文字が8×8ボクセルになる)
Tx,y,z,d1,d2,c,s
x,y,z:文字列の始点(先頭文字左下)の座標
d1:文字列の(右手)方向を示す整数(1:X, 2:Y, 3:Z, -1:-X, -2:-Y, -3:-Z)
d2:文字列の上方向を示す整数(1:X, 2:Y, 3:Z, -1:-X, -2:-Y, -3:-Z)
c:文字列の色番号
s:文字列(半角英数記号、JIS第1水準漢字)
※文字の生成には美咲フォントを使わせていただいています
M(Mode)コマンド
実行モードの変更
Mm[,p]
m:モードを示す整数(初期値は0)
0:通常モード(既存のボクセルの有無に関わらず、ボクセルの追加・変更を行う)
1:変更モード(生成位置に既存のボクセルが存在する場合は色を変更し、存在しない場合は追加を行わない)
以下を入力して付加条件が指定できる
p:付加条件パラメータ
0:付加条件なし(省略時と同じ)
0.0001<=p<=0.9999:乱数を用いて、確率pでボクセルの追加・変更を行う
1:生成位置のx,y,z座標の合計が奇数になる場合のみボクセルの追加・変更を行う(市松模様)
2:生成位置のx,y,z座標の合計が偶数になる場合のみボクセルの追加・変更を行う(市松模様)
R(Replace)コマンド
指定した色番号のボクセルを別の色番号に変更する
Rc1,c2
c1:変更前の色番号
c2:変更後の色番号
G(backGround color)コマンド
背景色の変更
Gr,g,b,a
r,g,b,a:背景色(0~255の整数)
r,g,bは赤・緑・青成分の強度、aは不透明度(通常255)を入力する
{コマンド
ブロック定義の開始
{ (パラメータ無し)
}コマンド
ブロック定義の終了
} (パラメータ無し)
{コマンドと}コマンドの間に入力されたコマンドによって生成されるボクセルは、即時には反映されず、以降の@コマンドによって配置されるブロックとして定義される
同じ形のボクセルのグループを、複数個所に配置したい場合に使用する
同時に定義できるブロックは1種類だけなので、異なる形のブロックを配置したい場合は、ブロックの定義と配置の組み合わせを、繰り返し行う
@コマンド
ブロックの配置
@x,y,z
x,y,z:ブロックを配置する場所
ブロックを定義したときの座標(0,0,0)の位置が(x,y,z)になるように配置される
(5)実行例
例1
以下のコマンドを実行すると
b0,0,0,63,0,63,216 b2,1,2,29,28,29,181 c34,1,2,61,28,29,31,2 c2,1,34,29,28,61,36,2,0 s34,1,34,61,28,61,211 t4,31,31,1,2,18,マクロの実行例こんな形ができます
例2
以下のコマンドを実行すると
b24,0,24,39,0,39,139 b24,1,24,34,1,32,139 M1,0.25 b24,0,24,39,1,39,206 M0 { B0,0,0,0,1,0,121 B-1,2,0,1,5,0,25 B0,2,-1,0,5,1,25 B-1,3,-1,1,4,1,25 v0,6,0,25 } @37,1,26 @26,2,29 @27,1,36 @36,1,37こんな形ができます