[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Showing posts with label Structure Synth. Show all posts
Showing posts with label Structure Synth. Show all posts

Monday, August 03, 2009

Structure SynthとSunflowで反射する床を描画する

Structure SynthとSunflowで反射する床を描画するには、以下のスクリプトを実行します。


1 * { x -50 z -50 } 100 * { x 1 } 100 * { z 1 } 1 * { s 0.95 color #f0f0f0 } box::shiny

1 * { x -22.5 y -11.5 } 6 * { x 7.5 } 2 * { y 11.5 } frame8
{ x -19 } wall4
{ x 30.5 } wall4
{ x -21.5 z 19.5 } wall40z
{ x 33 z 19.5 } wall40z
{ x -10 z 10 ry 20 } chair

rule chair {
{ y 1.5 s 2 1 2 color #f0f0e0 } box
{ z -1.25 y 2 s 2 3 0.5 color #f0f0e0 } box
{ x -1.25 y 1.5 z -0.25 s 0.5 2 2.5 color #f0f0e0 } box
{ x 1.25 y 1.5 z -0.25 s 0.5 2 2.5 color #f0f0e0 } box
}

rule frame8 {
{ y 0.75 s 8 0.5 0.5 color #303030 } box
{ y 12.25 s 8 0.5 0.5 color #303030 } box
{ x -3.75 y 6.5 s 0.5 12 0.5 color #303030 } box
{ x 3.75 y 6.5 s 0.5 12 0.5 color #303030 } box
}

rule wall4 {
{ x -2 y 12.25 s 4 23.5 1 color #f0f0f0 } box
}

rule wall40z {
{ x -2 y 12.25 s 1 23.5 40 color #f0f0f0 } box
}


Structure Synthでの出力画像


以下のテンプレートを使用してSunflowのシーンファイルを作成してレンダリングします。


<template defaultExtension="Sunflow scene file (*.sc)" name="Sunflow" runAfter="%SUNFLOW%\sunflow.bat "$FILE" -o "$FILE.png"" >
<description>
shiny template.

Original template by Syntopia.
The Sunflow coloring was added by Tom Beddard ('subblue')
</description>
<primitive name="begin" ><![CDATA[
%photons {
% caustics 10000000 kd 64 0.5
%}

%% common settings
image {
resolution {width} {height}
aa 0 2
}

gi {
type ambocc
bright { "sRGB nonlinear" 1 1 1 }
dark { "sRGB nonlinear" 0 0 0 }
samples 64
maxdist 3.0
}

accel bih
filter mitchell
bucket 32 spiral

%% camera
camera {
type pinhole
eye {CamPosX} {CamPosY} {CamPosZ}
target {CamTargetX} {CamTargetY} {CamTargetZ}
up {CamUpX} {CamUpY} {CamUpZ}
fov {fov}
aspect {aspect}
}


%% scene background - comment out if not needed
background {
% color { "sRGB nonlinear" {BR} {BG} {BB} }
color { "sRGB nonlinear" 0.3 0.5 0.8 }
}


%% geometry
object {
shader none
transform col 0.001 0 0 0 0 0.001 0 0 0 0 0.001 0 0 0 0 1
type generic-mesh
name "Box"
points 8
1 1 1
1 0 1
0 0 1
0 1 1
0 1 0
0 0 0
1 0 0
1 1 0

triangles 12
0 3 2
0 2 1
2 3 4
2 4 5
3 0 7
3 7 4
0 1 6
0 6 7
1 2 5
1 5 6
5 4 7
5 7 6
normals none
uvs none
}
]]></primitive>
<primitive name="end" ><![CDATA[

]]></primitive>
<primitive name="box" ><![CDATA[
shader {
name "shader{uid}"
type diffuse
diff { "sRGB nonlinear" {r} {g} {b} }
}

instance {
name "{uid}"
geometry "Box"
transform col {matrix}
shader "shader{uid}"
}
]]></primitive>
<primitive type="shiny" name="box" ><![CDATA[
shader {
name "shader{uid}"
type shiny
diff { "sRGB nonlinear" {r} {g} {b} }
refl 0.4
}

instance {
name "{uid}"
geometry "Box"
transform col {matrix}
shader "shader{uid}"
}
]]></primitive>

<primitive name="sphere" ><![CDATA[
shader {
name "shader{uid}"
type diffuse
diff { "sRGB nonlinear" {r} {g} {b} }
}

object {
shader "shader{uid}"
type sphere
c {cx} {cy} {cz}
r {rad}
}
]]></primitive>
</template>



Sunflowでの出力画像

Saturday, August 01, 2009

Structure Synthでランプが並ぶ風景を描画する

Structure Synthでランプが並ぶ風景を描画するには、以下のスクリプトを実行します。

// 白色の立方体でタイルの地面を描画
1 * { x -100 z -100 } 200 * { x 1 } 200 * { z 1 } 1 * { s 0.95 color #f0f0f0 } box

1 * { y 1 x -3 z -100 } 66 * { z 3 } lamp
1 * { y 1 x 3 z -100 } 66 * { z 3 } lamp

rule lamp {
{ color #f0f0f0 } box
{ y 1 } sphere::light
}


Structure Synthでの出力画像


以前の記事で使用したテンプレート(Structure SynthとSunflowで街頭の明かりがついた町並みを描画する)を使用してSunflowでレンダリングすると、以下のような画像になります。

Friday, July 31, 2009

Structure Synthでピラミッドを描画する

Structure Synthでピラミッドを描画するには、以下のスクリプトを実行します。

set maxobjects 1000000
// 白色の立方体
{ y 6.5 color #e0e0e0 } pyramid
rule pyramid maxdepth 8 {
{ s 0.95 } box
{ y -1 x -0.5 z -0.5 } pyramid
{ y -1 x -0.5 z 0.5 } pyramid
{ y -1 x 0.5 z -0.5 } pyramid
{ y -1 x 0.5 z 0.5 } pyramid
}
// 明るい灰色の地面
{ y -1 s 200 0.1 200 color lightgray } box

Structure Synthでの出力画像


Sunflowでの出力画像

Thursday, July 30, 2009

Structure SynthとSunflowでミラーの立方体を描画する

Structure SynthとSunflowでミラーの立方体を描画するには、以下のスクリプトを実行します。

// 黄色っぽい立方体
{ z 3 y 1 s 2 color #d0c040 } box
// 水色っぽい立方体
{ x -3 y 1 s 2 color #7799ff } box
//ミラーの立方体
{ y 1 s 2 } box::mirror
// 白色の立方体
{ x 3 y 1 s 2 color #ffffff } box
// 明るい灰色の地面
{ y -1 s 200 0.1 200 color lightgray } box

次に、Structure SynthでSunflowにエクスポートする時に以下のテンプレートファイルを使用します。


<template defaultExtension="Sunflow scene file (*.sc)" name="Sunflow" runAfter="%SUNFLOW%\sunflow.bat "$FILE" -o "$FILE.png"" >
<description>
glass template.

Original template by Syntopia.
The Sunflow coloring was added by Tom Beddard ('subblue')
</description>
<primitive name="begin" ><![CDATA[
%photons {
% caustics 10000000 kd 64 0.5
%}
%% common settings
image {
resolution {width} {height}
aa 0 2
}

gi {
type ambocc
bright { "sRGB nonlinear" 1 1 1 }
dark { "sRGB nonlinear" 0 0 0 }
samples 64
maxdist 3.0
}

accel bih
filter mitchell
bucket 32 spiral

%% camera
camera {
type pinhole
eye {CamPosX} {CamPosY} {CamPosZ}
target {CamTargetX} {CamTargetY} {CamTargetZ}
up {CamUpX} {CamUpY} {CamUpZ}
fov {fov}
aspect {aspect}
}


%% scene background - comment out if not needed
background {
% color { "sRGB nonlinear" {BR} {BG} {BB} }
color { "sRGB nonlinear" 0.5 0.6 0.8 }
}


%% geometry
object {
shader none
transform col 0.001 0 0 0 0 0.001 0 0 0 0 0.001 0 0 0 0 1
type generic-mesh
name "Box"
points 8
1 1 1
1 0 1
0 0 1
0 1 1
0 1 0
0 0 0
1 0 0
1 1 0

triangles 12
0 3 2
0 2 1
2 3 4
2 4 5
3 0 7
3 7 4
0 1 6
0 6 7
1 2 5
1 5 6
5 4 7
5 7 6
normals none
uvs none
}
]]></primitive>
<primitive name="end" ><![CDATA[

]]></primitive>
<primitive name="box" ><![CDATA[
shader {
name "shader{uid}"
type diffuse
diff { "sRGB nonlinear" {r} {g} {b} }
}

instance {
name "{uid}"
geometry "Box"
transform col {matrix}
shader "shader{uid}"
}
]]></primitive>
<primitive name="box" type="mirror">
<![CDATA[
shader {
name "shader{uid}"
type mirror
refl { "sRGB nonlinear" 0.800 0.800 0.800 }
}
instance {
name "{uid}"
geometry "Box"
transform col {matrix}
shader "shader{uid}"
}
]]>
</primitive>
<primitive name="sphere" ><![CDATA[
shader {
name "shader{uid}"
type diffuse
diff { "sRGB nonlinear" {r} {g} {b} }
}

object {
shader "shader{uid}"
type sphere
c {cx} {cy} {cz}
r {rad}
}
]]></primitive>

</template>


Sunflowでの出力画像

Wednesday, July 29, 2009

Structure SynthとSunflowで街頭の明かりがついた町並みを描画する

Structure SynthとSunflowで街頭の明かりがついた町並みを描画するには、以下のスクリプトを実行します。


1 * { x -100 z 100 } 3 * { x 40 color #e0e0e0 } 3 * { z -40 } block

rule block {
{ x -30 z -30 } streetlamp
{ x -30 z -20 } streetlampz
{ x -20 z -30 } streetlampx
{ x -10 z -30 } streetlampx
{ x 0 z -30 } streetlampx
{ x -20 z -20 } building
{ x -10 z -20 } building
{ x -0 z -20 } building
{ x -30 z -10 } streetlampz
{ x -20 z -10 } building
{ x -10 z -10 } building
{ x -0 z -10 } building
{ x -30 z -0 } streetlampz
{ x -15 z 0 } building1x2
{ x -0 z 0 } building
}

rule block {
{ x -30 z -30 } streetlamp
{ x -20 z -30 } streetlampx
{ x -10 z -30 } streetlampx
{ x 0 z -30 } streetlampx
{ x -30 z -20 } streetlampz
{ x -20 z -20 } building
{ x -10 z -20 } building
{ x -0 z -20 } building
{ x -30 z -10 } streetlampz
{ x -20 z -10 } building
{ x -10 z -10 ry 90 } building
{ x -0 z -10 } building
{ x -30 z 0 } streetlampz
{ x -20 z 0 } building
{ x -10 z 0 ry 90 } building
{ x -0 z 0 } building
}


rule building {
1 * { x -4 z -6 y 10.5 s 1 21 1 } 5 * { z 2 } box
1 * { x 4 z -6 y 10.5 s 1 21 1 } 5 * { z 2 } box
{ y 10.5 s 7 21 9 } box
1 * { y -3 s 9 1 9 } 8 * { y 3 } box
{ y 22 s 8 1 8 } box
}

rule building {
1 * { x -4 z -6 y 11 s 1 22 1 } 5 * { z 2 } box
1 * { x 4 z -6 y 11 s 1 22 1 } 5 * { z 2 } box
{ y 10.5 s 7 22 9 } box
1 * { y -2 s 9 1 9 } 12 * { y 2 } box
{ y 23 s 8 2 8 } box
{ y 24 s 6 1 6 } box
{ x 2 z 2 y 25 s 2 2 2 } box
}

rule building {
1 * { y -2 s 9 1 9 } 9 * { y 2 } box
1 * { x -5 z -5 y -1 } 8 * { y 2 } 9 * { x 1 } 9 * { z 1 } 1 * { s 0.95 } box
1 * { y 18 s 7 3 3 } box
}

rule building {
1 * { y -2 s 9 1 9 } 8 * { y 2 } box
1 * { x -5 z -5 y -1 } 7 * { y 2 } 9 * { x 1 } 9 * { z 1 } 1 * { s 0.95 } box
1 * { y 14 s 7 1 7 } 6 * { y 2 } box
1 * { x -4 z -4 y 13 } 6 * { y 2 } 7 * { x 1 } 7 * { z 1 } 1 * { s 0.95 } box
1 * { y 27 s 5 1 5 } box
}

rule building1x2 {
1 * { y -2 z -0.5 s 19 1 8 } 8 * { y 2 } box
1 * { x -10 z -5 y -1 } 7 * { y 2 } 19 * { x 1 } 8 * { z 1 } 1 * { s 0.95 } box
{ s 6 2 1 z 4 y 0.25 } box
}

rule streetlamp {
{ y 1 x 2.5 z 2.5 } sphere::light
{ y 1 x 2.5 z -2.5 } sphere::light
{ y 1 x -2.5 z 2.5 } sphere::light
{ y 1 x -2.5 z -2.5 } sphere::light
}

rule streetlampx {
{ y 1 x 5 z 2.5 } sphere::light
{ y 1 x 5 z -2.5 } sphere::light
{ y 1 x 2.5 z 2.5 } sphere::light
{ y 1 x 2.5 z -2.5 } sphere::light
{ y 1 x 0 z 2.5 } sphere::light
{ y 1 x 0 z -2.5 } sphere::light
{ y 1 x -2.5 z 2.5 } sphere::light
{ y 1 x -2.5 z -2.5 } sphere::light
{ y 1 x -5 z 2.5 } sphere::light
{ y 1 x -5 z -2.5 } sphere::light
}

rule streetlampz {
{ y 1 x 2.5 z 5 } sphere::light
{ y 1 x 2.5 z 2.5 } sphere::light
{ y 1 x 2.5 z 0 } sphere::light
{ y 1 x 2.5 z -2.5 } sphere::light
{ y 1 x 2.5 z -5 } sphere::light
{ y 1 x -2.5 z 5 } sphere::light
{ y 1 x -2.5 z 2.5 } sphere::light
{ y 1 x -2.5 z 0 } sphere::light
{ y 1 x -2.5 z -2.5 } sphere::light
{ y 1 x -2.5 z -5 } sphere::light
}

// 白色の地面
{ y -0.5 s 400 0.1 400 color white } box


Structure Synthでの出力画像


Sunflowでレンダリングする際、以下のテンプレートファイルを使用します。
以下のテンプレートではsphere::lightで指定した球を球形光源に置き換えます。


<template defaultExtension="Sunflow scene file (*.sc)" name="Sunflow" runAfter="%SUNFLOW%\sunflow.bat "$FILE" -o "$FILE.png"" >
<description>
night template.

Original template by Syntopia.
The Sunflow coloring was added by Tom Beddard ('subblue')
</description>
<primitive name="begin" ><![CDATA[
%photons {
% caustics 10000000 kd 64 0.5
%}

%% common settings
image {
resolution {width} {height}
aa 0 2
}

gi {
type ambocc
% bright { "sRGB nonlinear" 1 1 1 }
bright { "sRGB nonlinear" 0.5 0.6 0.9 }
dark { "sRGB nonlinear" 0 0 0 }
samples 64
maxdist 3.0
}

accel bih
filter mitchell
bucket 32 spiral

%% camera
camera {
type pinhole
eye {CamPosX} {CamPosY} {CamPosZ}
target {CamTargetX} {CamTargetY} {CamTargetZ}
up {CamUpX} {CamUpY} {CamUpZ}
fov {fov}
aspect {aspect}
}


%% scene background - comment out if not needed
background {
% color { "sRGB nonlinear" {BR} {BG} {BB} }
color { "sRGB nonlinear" 0.5 0.6 0.8 }
}


%% geometry
object {
shader none
transform col 0.001 0 0 0 0 0.001 0 0 0 0 0.001 0 0 0 0 1
type generic-mesh
name "Box"
points 8
1 1 1
1 0 1
0 0 1
0 1 1
0 1 0
0 0 0
1 0 0
1 1 0

triangles 12
0 3 2
0 2 1
2 3 4
2 4 5
3 0 7
3 7 4
0 1 6
0 6 7
1 2 5
1 5 6
5 4 7
5 7 6
normals none
uvs none
}
]]></primitive>
<primitive name="end" ><![CDATA[

]]></primitive>
<primitive name="box" ><![CDATA[
shader {
name "shader{uid}"
type diffuse
diff { "sRGB nonlinear" {r} {g} {b} }
}

instance {
name "{uid}"
geometry "Box"
transform col {matrix}
shader "shader{uid}"
}
]]></primitive>
<primitive name="sphere" ><![CDATA[
shader {
name "shader{uid}"
type diffuse
diff { "sRGB nonlinear" {r} {g} {b} }
}

object {
shader "shader{uid}"
type sphere
c {cx} {cy} {cz}
r {rad}
}
]]></primitive>
<primitive type="light" name="sphere" ><![CDATA[
light {
type spherical
color { "sRGB nonlinear" 0.900 0.900 0.700 }
radiance 4.0
center {cx} {cy} {cz}
radius {rad}
samples 16
}
]]></primitive>

</template>


Sunflowでの出力結果

Tuesday, July 28, 2009

Structure SynthとSunflowで夕暮れ後のような色合いの画像をレンダリングする

Structure SynthとSunflowで夕暮れ後のような色合いの画像をレンダリングするには、以下のテンプレートのように、shaderをdiffuseに変更してgiの光の色を変更します。
テンプレートファイルは、Structure SynthのMiscディレクトリ以下に起きます。


<template defaultExtension="Sunflow scene file (*.sc)" name="Sunflow" runAfter="%SUNFLOW%\sunflow.bat "$FILE" -o "$FILE.png"" >
<description>
this template uses diffuse shader.

Original template by Syntopia.
The Sunflow coloring was added by Tom Beddard ('subblue')
</description>
<primitive name="begin" ><![CDATA[
%photons {
% caustics 10000000 kd 64 0.5
%}

%% common settings
image {
resolution {width} {height}
aa 0 2
}

gi {
type ambocc
% bright { "sRGB nonlinear" 1 1 1 }
bright { "sRGB nonlinear" 0.6 0.7 1 }
dark { "sRGB nonlinear" 0 0 0 }
samples 64
maxdist 3.0
}

accel bih
filter mitchell
bucket 32 spiral

%% camera
camera {
type pinhole
eye {CamPosX} {CamPosY} {CamPosZ}
target {CamTargetX} {CamTargetY} {CamTargetZ}
up {CamUpX} {CamUpY} {CamUpZ}
fov {fov}
aspect {aspect}
}


%% scene background - comment out if not needed
background {
% color { "sRGB nonlinear" {BR} {BG} {BB} }
color { "sRGB nonlinear" 0.5 0.6 0.8 }
}


%% geometry
object {
shader none
transform col 0.001 0 0 0 0 0.001 0 0 0 0 0.001 0 0 0 0 1
type generic-mesh
name "Box"
points 8
1 1 1
1 0 1
0 0 1
0 1 1
0 1 0
0 0 0
1 0 0
1 1 0

triangles 12
0 3 2
0 2 1
2 3 4
2 4 5
3 0 7
3 7 4
0 1 6
0 6 7
1 2 5
1 5 6
5 4 7
5 7 6
normals none
uvs none
}
]]></primitive>
<primitive name="end" ><![CDATA[

]]></primitive>
<primitive name="box" ><![CDATA[
shader {
name "shader{uid}"
type diffuse
diff { "sRGB nonlinear" {r} {g} {b} }
}

instance {
name "{uid}"
geometry "Box"
transform col {matrix}
shader "shader{uid}"
}
]]></primitive>
<primitive name="sphere" ><![CDATA[
shader {
name "shader{uid}"
type diffuse
diff { "sRGB nonlinear" {r} {g} {b} }
}

object {
shader "shader{uid}"
type sphere
c {cx} {cy} {cz}
r {rad}
}
]]></primitive>
</template>



Sunflowでの出力画像
Sunflowでレンダリングした夕暮れ後の町並み

Saturday, July 25, 2009

Structure Synthで色相と彩度を変えて描画する

Structure Synthで色相と彩度を変えて描画するには、以下のスクリプトのようにhueとsatを使用します。

10 * { sat 0.8 y 2 } 1 * { hue -10 } 360 * { hue 10 ry 10 x 2 } box

Structure Synthでの出力画像


Sunflowでの出力画像

Thursday, July 23, 2009

Structure Synthで町並みを描画する

Structure Synthで町並みを描画するには、以下のスクリプトを実行します。

1 * { x -100 z 100 } 5 * { x 40 color #e0e0e0 } 5 * { z -40 } block

rule block {
{ x -20 z -20 } building
{ x -10 z -20 } building
{ x -0 z -20 } building
{ x -20 z -10 } building
{ x -10 z -10 } building
{ x -0 z -10 } building
{ x -15 z 0 } building1x2
{ x -0 z 0 } building
}

rule block {
{ x -20 z -20 } building
{ x -10 z -20 } building
{ x -0 z -20 } building
{ x -20 z -10 } building
{ x -10 z -10 ry 90 } building
{ x -0 z -10 } building
{ x -20 z 0 } building
{ x -10 z 0 ry 90 } building
{ x -0 z 0 } building
}


rule building {
1 * { x -4 z -6 y 10.5 s 1 21 1 } 5 * { z 2 } box
1 * { x 4 z -6 y 10.5 s 1 21 1 } 5 * { z 2 } box
{ y 10.5 s 7 21 9 } box
1 * { y -3 s 9 1 9 } 8 * { y 3 } box
{ y 22 s 8 1 8 } box
}

rule building {
1 * { x -4 z -6 y 11 s 1 22 1 } 5 * { z 2 } box
1 * { x 4 z -6 y 11 s 1 22 1 } 5 * { z 2 } box
{ y 10.5 s 7 22 9 } box
1 * { y -2 s 9 1 9 } 12 * { y 2 } box
{ y 23 s 8 2 8 } box
{ y 24 s 6 1 6 } box
{ x 2 z 2 y 25 s 2 2 2 } box
}

rule building {
1 * { y -2 s 9 1 9 } 9 * { y 2 } box
1 * { x -5 z -5 y -1 } 8 * { y 2 } 9 * { x 1 } 9 * { z 1 } 1 * { s 0.95 } box
1 * { y 18 s 7 3 3 } box
}

rule building {
1 * { y -2 s 9 1 9 } 8 * { y 2 } box
1 * { x -5 z -5 y -1 } 7 * { y 2 } 9 * { x 1 } 9 * { z 1 } 1 * { s 0.95 } box
1 * { y 14 s 7 1 7 } 6 * { y 2 } box
1 * { x -4 z -4 y 13 } 6 * { y 2 } 7 * { x 1 } 7 * { z 1 } 1 * { s 0.95 } box
1 * { y 27 s 5 1 5 } box
}

rule building1x2 {
1 * { y -2 z -0.5 s 19 1 8 } 8 * { y 2 } box
1 * { x -10 z -5 y -1 } 7 * { y 2 } 19 * { x 1 } 8 * { z 1 } 1 * { s 0.95 } box
{ s 6 2 1 z 4 y 0.25 } box
}

// 白色の地面
{ y -0.5 s 400 0.1 400 color white } box


Structure Synthでの出力画像(道路から)


Sunflowでの出力画像(道路から)


Structure Synthでの出力画像(高い位置から)


Sunflowでの出力画像(高い位置から)

Structure Synthでビルを描画する - その5

Structure Synthでビルを描画するには、以下のスクリプトを実行します。

{ color #e0e0e0 } building

rule building {
1 * { y -2 z -0.5 s 19 1 8 } 8 * { y 2 } box
1 * { x -10 z -5 y -1 } 7 * { y 2 } 19 * { x 1 } 8 * { z 1 } 1 * { s 0.95 } box
{ s 6 2 1 z 4 y 0.25 } box
}

// 白色の地面
{ y -0.5 s 200 0.1 200 color white } box

Structure Synthでの出力画像


Sunflowでの出力画像


関連項目
Structure Synthで町並みを描画する

Wednesday, July 22, 2009

Structure Synthでビルを描画する - その4

Structure Synthでビルを描画するには、以下のスクリプトを実行します。

{ color #c0c0c0 } building

rule building {
1 * { y -2 s 9 1 9 } 8 * { y 2 } box
1 * { x -5 z -5 y -1 } 7 * { y 2 } 9 * { x 1 } 9 * { z 1 } 1 * { s 0.95 } box
1 * { y 14 s 7 1 7 } 6 * { y 2 } box
1 * { x -4 z -4 y 13 } 6 * { y 2 } 7 * { x 1 } 7 * { z 1 } 1 * { s 0.95 } box
1 * { y 27 s 5 1 5 } box
}

// 白色の地面
{ y -0.5 s 200 0.1 200 color white } box

Structure Synthでの出力画像


Sunflowでの出力画像


関連項目
Structure Synthで町並みを描画する

Tuesday, July 21, 2009

Structure Synthでビルを描画する - その3

Structure Synthでビルを描画するには、以下のスクリプトを実行します。

{ color #c0c0c0 } building

rule building {
1 * { y -2 s 9 1 9 } 9 * { y 2 } box
1 * { x -5 z -5 y -1 } 8 * { y 2 } 9 * { x 1 } 9 * { z 1 } 1 * { s 0.95 } box
1 * { y 18 s 7 3 3 } box
}

// 白色の地面
{ y -0.5 s 200 0.1 200 color white } box

Structure Synthでの出力画像


Sunflowでの出力画像


関連項目
Structure Synthで町並みを描画する

Monday, July 20, 2009

Structure Synthでビルを描画する - その2

Structure Synthでビルを描画するには、以下のスクリプトを実行します。

{ color #c0c0c0 } building

rule building {
1 * { x -4 z -6 y 11 s 1 22 1 } 5 * { z 2 } box
1 * { x 4 z -6 y 11 s 1 22 1 } 5 * { z 2 } box
{ y 10.5 s 7 22 9 } box
1 * { y -2 s 9 1 9 } 12 * { y 2 } box
{ y 23 s 8 2 8 } box
{ y 24 s 6 1 6 } box
{ x 2 z 2 y 25 s 2 2 2 } box
}

// 白色の地面
{ y -0.5 s 200 0.1 200 color white } box

Structure Synthでの出力画像


Sunflowでの出力画像


関連項目
Structure Synthで町並みを描画する

Sunday, July 19, 2009

Structure Synthでビルを描画する - その1

Structure Synthでビルを描画するには、以下のスクリプトを実行します。

{ color #c0c0c0 } building

rule building {
1 * { x -4 z -6 y 10.5 s 1 21 1 } 5 * { z 2 } box
1 * { x 4 z -6 y 10.5 s 1 21 1 } 5 * { z 2 } box
{ y 10.5 s 7 21 9 } box
1 * { y -3 s 9 1 9 } 8 * { y 3 } box
{ y 22 s 8 1 8 } box
}

// 白色の地面
{ y -0.5 s 200 0.1 200 color white } box

Structure Synthでの出力画像


Sunflowでの出力画像


関連項目
Structure Synthで町並みを描画する

Saturday, July 18, 2009

Structure Synthで渦巻状に四角を描画する

Structure Synthで渦巻状に四角を描画するには、以下のスクリプトを実行します。

{ color #e0e0e0 } pattern1

rule pattern1 {
{ s 2 1 1 } box
{ s 1.02 ry 15 x 0.3 } pattern1
}
// 白色の地面
{ y -0.5 s 200 0.1 200 color white } box

Structure Synthでの出力画像


Sunflowでの出力画像

Friday, July 17, 2009

Structure Synthで枠つきタイルを描画する

Structure Synthで枠つきタイルを描画するには、以下のスクリプトを実行します。

3 * { z -4 } 3 * { x 4 color #e0e0e0 } tile
// 枠つきタイル
rule tile {
{ x -1 z -1 s 0.95 } box
{ x 0 z -1 s 0.95 } box
{ x -1 z 0 s 0.95 } box
{ x 0 z 0 s 0.95 } box

{ x -0.5 z -2 s 3.95 1 0.95 } box
{ x -0.5 z 1 s 3.95 1 0.95 } box
{ x -2 z -0.5 s 0.95 1 3.95 } box
{ x 1 z -0.5 s 0.95 1 3.95 } box
}
// 白色の地面
{ y -0.5 s 200 0.1 200 color white } box

Structure Synthでの出力画像


Sunflowでの出力画像

Thursday, July 16, 2009

Structure Synthで凹みのあるタイル床を描画する

Structure Synthで凹みのあるタイル床を描画するには、以下のスクリプトを実行します。

50 * { z 2 } 50 * { x 2 color #e0e0e0 } tile
// 1つだけ凹みのあるタイルパターン
rule tile {
{ y 0.5 s 0.95 1 0.95 } box
{ x 1 y 0.5 s 0.95 1 0.95 } box
{ x 1 z 1 y 0.25 s 0.95 0.5 0.95 } box
{ z 1 y 0.5 s 0.95 1 0.95 } box
}
// 白色の地面
{ y 0 s 200 0.1 200 color white } box

Structure Synthでの出力画像


Sunflowでの出力画像

Wednesday, July 15, 2009

Structure Synthで重み付けをしたランダムな図形描画をおこなう

Structure Synthで重み付けをしたランダムな図形描画をおこなうには、以下のスクリプトのようにruleでw <係数>を指定します。

// ランダムにtileルールを描画
50 * { z 1 } 50 * { x 1 color #e0e0e0 } tile
rule tile {
{ y 0.5 s 0.95 1 0.95 } box
}
// 1/10の重みつけ
rule tile w 0.1 {
{ y 2 s 0.95 4 0.95 } box
}

// 白色の地面
{ y 0 s 200 0.1 200 color white } box

Structure Synthでの出力画像


Sunflowでの出力画像

Tuesday, July 14, 2009

Structure Synthでランダムに凸凹になったタイルを描画する

Structure Synthでランダムに凸凹になったタイルを描画するには、以下のスクリプトを実行します。

50 * { z 1 } 50 * { x 1 color #e0e0e0 } tile
// 同じ名前のルールを複数定義すると、それぞれのルールがランダムに呼び出される
rule tile {
{ y 0.475 s 0.95 0.9 0.95 } box
}
rule tile {
{ y 0.5 s 0.95 1 0.95 } box
}

// 白色の地面
{ y 0 s 200 0.1 200 color white } box


Structure Synthでの出力画像


Sunflowでの出力画像


関連項目
Structure SynthとSunflowのインストールと連携

Monday, July 13, 2009

Structure Synthでレンガパターンを描画する

Structure Synthでレンガパターンを描画するには、以下のスクリプトを実行します。

// レンガパターンをy軸に5回、x軸に10回繰り返す
5 * { y 2 } 10 * { x 4 color #e0e0e0 } brick
// レンガパターン
rule brick {
{ x 0.975 y 1.5 s 1.95 0.95 1 } box
{ x 2.975 y 1.5 s 1.95 0.95 1 } box
{ x 0.5 y 0.5 s 1 0.95 1 } box
{ x 2 y 0.5 s 1.95 0.95 1 } box
{ x 3.5 y 0.5 s 1 0.95 1 } box
}

// 白色の地面
{ y 0 s 200 0.1 200 color white } box

Structure Synthで出力した画像


Sunflowで出力した画像

Sunday, July 12, 2009

Structure Synthで棚を描画する

Structure Synthで棚を描画するには、以下のスクリプトを実行します。

// 水平方向の板
1 * { y -1 } 11 * { y 1 } 1 * { s 10 0.1 1 color #d0d0d0 } box
// 垂直方向の板
1 * { x -6 y 5 } 11 * { x 1 } 1 * { s 0.1 10 1 color #d0d0d0 } box

// 白色の地面
{ y 0 s 200 0.1 200 color white } box

Structure Synthでの出力画像


Sunflowでの出力画像