ここでは、壺屋の伝統家屋を例にマクロを作成します。
用意する物、3Dソフト(ここではDogaを使いました)、エクセル、ペイントソフト
Mesh Body {
76;
1.620000;4.320000;-0.000000;,
4.860000;2.250000;3.060000;,
(略)
67;
4;2,1,0,0;,
4;5,4,3,3;,
(略)
4;68,75,74,71;;(ここまで)
MeshMaterialList
{(ここ以下の利用方法については、近く研究予定)
い:;→,に置換
以下のように編集する。
ポイント指定部
|
4.5 |
-2.34 |
-2.61 |
;0 |
|
4.5 |
-2.34 |
2.61 |
;1 |
以下略 |
テクスチャ貼り付け部
poly( a |
3 |
2 |
1 |
0 |
); |
|
|
|
|
|
|
|
|
poly( a |
11 |
10 |
9 |
8 |
); |
|
|
|
|
|
|
|
|
poly( a |
12 |
10 |
11 |
6 |
); |
|
|
|
|
|
|
|
|
poly( a |
15 |
14 |
3 |
13 |
); |
|
|
|
|
|
|
|
|
poly( a |
17 |
16 |
1 |
2 |
); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Bitmap( kawara2.PAT 0 0
0 0 ) |
|
|
|
|
|
|
|
|
|
|
|
||
texpoly( a |
18 |
0 |
190 |
19 |
119 |
129 |
20 |
137 |
129 |
21 |
255 |
190 |
);Kawarayane |
texpoly( a |
22 |
0 |
190 |
23 |
119 |
129 |
24 |
137 |
129 |
25 |
255 |
190 |
); |
texpoly( a |
26 |
107 |
196 |
27 |
0 |
251 |
28 |
215 |
251 |
); |
|
|
|
texpoly( a |
29 |
107 |
196 |
30 |
0 |
251 |
31 |
215 |
251 |
); |
|
|
|
以下略 |
|
|
|
|
|
|
|
|
|
この際、必要ならポイントをいくつかのパーツへ切り分けしてもよい。
※テキストエディタ以外で開くと、コピーする際罫線が化けて出るおそれあり。
Area( 5 %1 %2 %7 )
IfVarRange( : 346 %5 4 )
PerspectiveCall(
:ob1_pc01 )
Jump( : )
:ob1_pc01
Perspective
mif( %8 )
RefPoint(
2 :ob1_SubEnd %4 %1 %2 E= %8 v1= %6 v2= 100 )
melse
RefPoint(
7 :ob1_SubEnd %4 %1 %2 v1= %6 v2=
100 )
mifend
RotatedCall( :ob1_b1 0 0 %3 )
:ob1_SubEnd
Return
:ob1_b1
ShadowCall(
:ob1_b2 )
:ob1_b2
VectorJump(
:ob1_West 32767 0 0 0 )
VectorJump(
:ob1_SouthEast 0 0 32767 0 )
:ob1_NorthEast
Call( :ob1_module01 ) ;
TransformCall(
:ob1_module02 0 0 0 0 0 0 0 90 0 )
;
Return
:ob1_SouthEast
TransformCall(
:ob1_module02 0 0 0 0 0 0 0 90 0 )
;
Call( :ob1_module01 ) ;
Return
:ob1_West
VectorJump(
:ob1_SouthWest 0 0
32767 0 )
:ob1_NorthWest
Call( :ob1_module01 ) ;
TransformCall(
:ob1_module02 0 0 0 0 0 0 0 90 0 )
;
Return
:ob1_SouthWest
Call( :ob1_module01 ) ;
TransformCall(
:ob1_module02 0 0 0 0 0 0 0 90 0 )
;
Return
;
; Module
description:
;
:ob1_module01
Points( 0
<ここにポイント指定部を記述>
)
<ここにテクスチャ貼り付け部を記述>
Return
必要に応じて繰り返す。
EndA