"Structure Synth"はプロシージャルモデリングにより、幾何学的な3DCGが生成できるフリーソフトです。「プロシージャル」とは「手順の、手続き上の」という意味で、ここでは数式や設計文法(プログラム)を利用してモデリングすることを言います。

今回は個人的に最近ハマっている、このアプリケーションについて簡単にまとめてみたいと思います。WindowsやMac、Linuxを使っている方なら誰でも無料で使えるので、記事を読んで興味を持った方は、ぜひ一度触ってみると面白いですよ。


公式サイト→Structure Synth



Structure Synthの特徴


百聞は一見に如かずということで、まずはこの画像を見てください。




これは、別に私が作ったものではなく初めから模範例として用意されているモデルです。

画像左側を見ると、30行程度のよくわからない文字列や数値が並んでいます。これは、位置情報や色、形状、回転などの情報を記述したもので、比較的簡単でシンプルなコードで書くことができます。

本質的には3Dモデルを生成するソフトですが、モデルを様々な角度からpngやjpgファイルとして書き出すことも可能です。



プロシージャルモデリングとしてのメリット


「プロシージャルモデリング」では、コンピュータに命令を書いていくことでモデリングすることができます。このような特徴から以下のようなメリットがあります。
  • 形状や模様をアルゴリズムでデザイン
  • パラメータ変更で多くのバリエーションを容易に生成
  • 詳細度(LoD)を制御可能
  • コンテンツの再利用が容易
  • 超絶技巧な描画が可能



どんなものが作れるのか


flickrでは、Structure Synthで制作された様々な作品を見ることができます。プロシージャルなモデリングならではの、複雑で幾何学的な構造は見ているだけで楽しいものが多いのでまずはこちら↓を見てみてください。

ポリゴンによりメッシュを構成しながら手作業でモデリングしたモデルとは、ひと味違った面白さのあるモデルを構築できることが分かります。


作品例





これらのようなモデルどちらも数行のアルゴリズムによって描かれています

私が即席で描いたものなので品質はご愛嬌ですが、逆に数分でここまで複雑にモデリングすることが可能なほど簡単であるとも言えます。



Structure Synthで遊んでみる


ここまでで、少しでも興味を持っていただけたでしょうか?

誰もがイメージするモデリングとは少し趣の違った方法ですが、興味を持っていただけている方は少しStructure Synthで遊んでみませんか、簡単に基本操作をまとめてみたので参考なればと思います。

簡単なチュートリアル


アルゴリズムについて理解していなくても、あらかじめ用意されているモデルのパラメータを適当に書き換えるだけでも大きくモデルが変化するので、気の赴くままコードを変更するだけでも楽しめます。また、公式サイトには簡単なチュートリアルもあるため、簡単なモデルの作成なら短時間でできるようになります。

公式サイトのチュートリアルに従うと簡単に以下のようになります。

オブジェクトの配置

ocject1 (1)

配置できるオブジェクトの一例と配置したコード
{x 2}box
{x 4}grid
{x 6}sphere
{x 8}line
triangle[0,0,0;1.5,0,0;0.75,0,1]
{x 8}mesh
ここでは、6種類のオブジェクトを例として置いてみました。これを見てもらえばわかるように、x,y,zの三次元的な数値と、オブジェクトだけの名前のシンプルなコードです。オブジェクトの大きさも設定可能で、他にもdotなどもあります。

配置座標の指定だけではなく、座標軸に対して回転の情報(rx,ry,rzなど)を記述するとこのようなモデルも簡単に生成可能です。(↓コード4行)
object2 (1)


色を付ける


デフォルトでは、背景は、モデルはですがこれだけでは単調で面白くありません。ですが、そこは心配いりませんStructure Synthでは、コードの中でモデルと背景に色を設定することができます。

color1 (1)

これは公式のチュートリアルモデルの背景を白に変更して実装しただけですが、モデルを実装するだけなら1行のコードで終わります。
10 * { x 1 hue 36 } 10 * { y 1 sat 0.9 } 10 * { z 1 b 0.9 } box
  • hue :hue「色相」0~360のfloat値
  • sat :saturation「彩度」0~1のfloat値
  • b :brightness「明度」0~1のfloat値
ここでは色を表現するためにHSV(色相、彩度、明度)を使用していますが、私のように16進数のカラーコード(#ffffffとか)の方が馴染みのある方はそちらも使えるので問題ありません。

単にモデルに色を張り付けていくのではなくアルゴリズムの中で色を設定できるため、落ち着いたグラデーションや、メリハリのある色調を簡単に表現することができることはプロシージャルモデリングならではの利点です。


より洗練された構造の作成


ルール:

Structure Synthでは、様々な言語のいわゆる関数のように独自の「ルール(rule)」を作ることができます。これによりルールを再帰的に呼び出しながら複雑な構造を生成することができます。

ランダム性:
同じ名前のルールを作ることで、コードのビルドを行う際にいづれかのルールがランダムに選択され描画されます。このような仕様により、規則正しく人がモデリングするのでは得られないような動的で、変化に富んだモデルが生成されることも多いです。

上で作品の例として挙げたこちらも、「ルール」の再帰を用いて描いています

example3 (1)

set background #000
set maxdepth 10000
R
rule R{
12 * {x 1 rx 3 s 0.9}R1
12 * {z 1 rz 6 s 0.9}R1
12 * {y 1 ry 1 s 0.9}R1
{x 6 z 6 ry 10 rz 3 hue 12 s 0.98}R
}
rule R1{
7 * {x 2 ry 10 hue 15 sat 0.9} line
7 * {x 2 ry -10 hue 15 sat 0.9} line
}

ここで紹介したものは、プロシージャルモデリングのほんの一部のアルゴリズムの例です。

もっと複雑な構造の生成方法は公式サイトに命令の一覧があるので、自身で触りながら勉強すると目に見えてモデルの変化が感じられて面白いですよ(*・ω・)ノ





お疲れさまでした。

このエントリーをはてなブックマークに追加
コメントを閉じる

コメント

コメントフォーム
記事の評価
  • リセット
  • リセット