日本でハリウッドVFXを制作! 「経産省アイディアボックス」 結果:  
●まとめエントリはこちら ●FAQ ●お問い合わせは左のメールフォームから

2009年12月15日火曜日

ボロノイ分割

映画「2012」をはじめとして、3dsMaxのプラグインRayfireなどの最新の破壊系プラグインでも使われているボロノイ分割。

Mayaにはブラストコードというプラグインがありよく使うのだが、一見リアルな破片のようにみえて、実は断面形状は平面を引き延ばした形になってしまうので、よくみるとリアルとは言えない。

仕事上、破壊系の仕事が多いので、手間のかかるブラストコードでなく、もっと手軽にできればかなり仕事が楽になる。
ひいては、ガラス系の破壊だけでなくビルディングなどにもリアルなエフェクトを付けることができるはずだ。


先日、シミュレーションについていろいろと調べているとき、いくつかボロノイ分割をスクリプトで試している人がいた。

スクリプトで作れるのなら、もしかしたらもう少し勉強して知識が付けば自分でも似たようなことができるかもしれないと思い、いくつか情報を集めてみた。

スクリプトにおいては、考え方がMaxもMayaも似ている。
まずパーティクルを発生っせ、それをボロノイ分割の母点として用い、各境界線を算出している。
各境界線が交わる点を結んだ線を作り、そこから面を作り立体を作り出すという流れになっているのだと思われる。

ボロノイは分割した破片を創り出すところまでなので、相互干渉の問題を解決し、リジッドボディーシミュレーションの計算速度の問題などはまた別途解決する必要はあるが、破片ができるだけでもかなり時間の節約が出来る。

----------------------------------------

Wiki: ボロノイ図(wiki)

HP: ボロノイ図とは

HP: 大山崇のボロノイ図のページ(IE推奨)

ボロノイ図といってもいろいろな方法があることがわかる。
その違いがJavaにより、リアルタイムにみることができる。

このページを見ていて気がついたが、ブラストコードは線画を元にしているが、生成される破片は、「マンハッタン」という方法で得られる形状ににている。
何らかの形でボロノイ分割のアルゴリズムを利用しているのかもしれない。

ブログ:rsakaneの備忘録 「ボロノイ図


HP: PASCO ボロノイ分割とは?
ボロノイ分割アルゴリズムのわかりやすい説明。


HP: wonderfl:ボロノイ図
ランダムに動く点からリアルタイムで生成されるボロノイ図のフラッシュ
ボロノイ分割を行うスクリプトはパーティクルを利用する手段がMayaにもMaxにもあるが、その理由がなんとなくわかる。



----------------------------------------
Creative Crash (Mel Script)
dg_Voro_Py 1.0.0


R+D
Volonoi

iShatter. 64 pieces. by Ivan Tiunov

voronoi fracture MEL script by Alin Sfetcu

こうしてみるとMelでボロノイ分割をするのは、不可能ではないことがわかる。


sproadic thoughts on CAD 'history' engines


3dsMax script
Volonoi cells

 

0 件のコメント:

コメントを投稿