ストラクチャ
- CSV 形式 -
座標系
Direct3D の座標系は、左手座標系です。
構文
CreateMeshBuilder
MeshBuilder オブジェクトを作成します。
Cube,
R1 [, R2, R3]
直方体を作ります。
R1: X 方向の辺の長さを 2 x r1 にします。
R2: Y 方向の辺の長さを 2 x r2 にします。
R3: Z 方向の辺の長さを 2 x r3 にします。
* r2, r3 を省略したときは、一辺が 2 x r1 の立方体を作ります。
Cylinder,
N, R1, R2, H
円柱、円錐台、円錐を作ります。
N: 底面の円周方向の分割数
R1: 上底面の半径
R2: 下底面の半径
H: 高さ
* r1 = 0 または r2 = 0 のときは円錐になります。
* r1 < 0 または r2 < 0
のときは、その絶対値を元に底面のない立体を作ります。
AddVertex,
Vx, Vy, Vz
頂点を追加します。
Vx, Vy, Vz: 頂点の座標
* 頂点には、インデックスが割り当てられます。最初の頂点が 0 です。
AddFace,
V1, V2, V3, ... ,Vn
面を追加します。
V1, V2, ..., Vn: 頂点リスト
* 頂点リストは、面の表側方から見て時計回りに指定します。
AddFace2,
V1, V2, V3, ... ,Vn
表と裏の2つの面を追加します。
GenerateNormals
頂点の法線ベクトルを自動的に計算します。
SetColor,
R, G, B [, Alpha]
面の色を設定します。
R: 赤の輝度(0 ~ 255)
G: 緑の輝度(0 ~ 255)
B: 青の輝度(0 ~ 255)
Alpha: α要素(0: 透明 ~ 255: 不透明)
* デフォルトは 255, 255, 255, 255 です。
Translate,
X, Y, Z
すべての頂点を平行移動します。
X, Y, Z: 移動幅
Rotate,
Ax, Ay, Az, Theta
頂点を回転します。
Ax, Ay, Az: 回転軸
Theta: 回転角度[deg]
* 回転角度は、回転軸方向から見て時計回りが正です。
LoadTexture, Filename
イメージファイルにもとづいて Texture オブジェクトを作成します。
Filename: 読み込むファイル名
* 有効なテクスチャの横幅と高さは 2 の整数乗です(4, 8, ...)。
* データ形式は、8bit(256 色)か 24bit(フルカラー)の非圧縮のビットマップ(*.bmp)です。
SetTextureCoordinates, NVertex, Tu, Tv
テクスチャ・マッピングの座標を設定します。
NIndex:
テクスチャ・マッピングを設定する頂点のインデックス
Tu, Tv: テクスチャ・マッピングの座標
SetDecalTransparentColor, Red, Green, Blue
テクスチャの透過色を設定します。
Red: 赤(0 ~ 255)
Green: 緑(0 ~ 255)
Blue: 青(0 ~ 255)
作成例 - 家と木
■ テクスチャ(*.bmp)
House.bmp |
Tree.bmp |
■ ストラクチャファイル(*.csv)
;壁の作成 | ||||
CreateMeshBuilder | ||||
AddVertex | -6 | 6 | 0 | |
AddVertex | 0 | 6 | 0 | |
AddVertex | 0 | 6 | 8 | |
AddVertex | -6 | 0 | 0 | |
AddVertex | 0 | 0 | 0 | |
AddVertex | 0 | 0 | 8 | |
AddFace | 0 | 1 | 4 | 3 |
AddFace | 1 | 2 | 5 | 4 |
GenerateNormals | ||||
LoadTexture | House.bmp | |||
SetTextureCoordinates | 0 | 0 | 0 | |
SetTextureCoordinates | 1 | 0.5 | 0 | ;半分から折り曲げる |
SetTextureCoordinates | 2 | 1 | 0 | |
SetTextureCoordinates | 3 | 0 | 1 | |
SetTextureCoordinates | 4 | 0.5 | 1 | ;半分から折り曲げる |
SetTextureCoordinates | 5 | 1 | 1 | |
;屋根の作成 | ||||
CreateMeshBuilder | ||||
AddVertex | 0.6 | 5.7 | 8.6 | |
AddVertex | 0.6 | 5.7 | -0.6 | |
AddVertex | -6.6 | 5.7 | -0.6 | |
AddVertex | -3 | 7.5 | 3 | |
AddVertex | -3 | 7.5 | 5 | |
AddFace | 1 | 2 | 3 | ;三角形 |
AddFace | 0 | 1 | 3 | 4 |
SetColor | 48 | 48 | 48 | |
GenerateNormals | ||||
;木の作成 | ||||
CreateMeshBuilder | ||||
AddVertex | 0 | 0 | -1 | |
AddVertex | 0 | 4 | -1 | |
AddVertex | 2 | 4 | -1 | |
AddVertex | 2 | 0 | -1 | |
AddFace | 0 | 1 | 2 | 3 |
GenerateNormals | ||||
LoadTexture | Tree.bmp | |||
SetTextureCoordinates | 0 | 0 | 1 | |
SetTextureCoordinates | 1 | 0 | 0 | |
SetTextureCoordinates | 2 | 1 | 0 | |
SetTextureCoordinates | 3 | 1 | 1 | |
SetDecalTransparentColor | 0 | 0 | 0 | ;黒を透過 |
CreateMeshBuilder | ||||
AddVertex | 1 | 0 | -2 | |
AddVertex | 1 | 4 | -2 | |
AddVertex | 1 | 4 | 0 | |
AddVertex | 1 | 0 | 0 | |
AddFace | 0 | 1 | 2 | 3 |
GenerateNormals | ||||
LoadTexture | Tree.bmp | |||
SetTextureCoordinates | 0 | 0 | 1 | |
SetTextureCoordinates | 1 | 0 | 0 | |
SetTextureCoordinates | 2 | 1 | 0 | |
SetTextureCoordinates | 3 | 1 | 1 | |
SetDecalTransparentColor | 0 | 0 | 0 | ;黒を透過 |
■ Structure Viewer でプレビュー。
Copyright © 2000-2002 mackoy