こんにちは。ワイドソフトデザインのY.Mです。
今回もしつこく3DCGシステム開発に関して、その”面白さ”についてお話ししたいと思います。
面白さというとやはり3DCGならではのビジュアルで見せることができる点は外せませんし、
システム開発自体の「ものづくり」の楽しさがあることは言うまでもありませんが、
それだけではない奥深さがあることをご紹介いたします。
前提
3DCGにおける表現を理解しておく必要があります。
細かな話をし出すときりがありませんし詳細はWikiや解説サイトなどをご確認いただければ
私よりもはるかに分かりやすく説明してくれることと思います…
ですので、ここでは簡単な表現モデルのみをご説明いたします。
3DCGの基本はポリゴンです。ポリゴンと言えば私の世代的には「スーパーファミコン」の「スターフォックス」です(笑)。
当時2Dのファミコンから3Dになっても驚愕とはならず、えらいカクカクしてるなって思ったものです。
そのポリゴンです。今やテクスチャ、ノーマルマップ、バンプマップ、各種シェーダーなどが駆使され品質は別次元ですが、
それでも基本部分はポリゴンです。
ではポリゴンとは何ぞやと。ポリゴンというと基本的には三角ポリゴン面を意味し、
その三角形の3頂点の3次元座標(x,y,z)とその順番で構成されます。
ちなみに順番は3次元空間内での面の向き(ベクトル)に関係します。
このポリゴンの集合体で実に様々なものが表現されます。
色々な3DCGソフトでワイヤー表示が出来るのでポリゴンの様子を機会があればご覧ください。
ポリゴン(英: polygon)とは、多角形のことであるが、この記事ではサーフェスモデルなど、コンピュータグラフィックス特に3次元コンピュータグラフィックスにおける応用について述べる(注意: 「ポリゴン」という語自体は、3次元のそれを特に指すものではなく、2次元の多角形も全く同様に「ポリゴン」である)。
(出典 Wikipedia https://ja.wikipedia.org/wiki/ポリゴン)
本題
たったこれっぽっちの情報(頂点座標と並び順)の何が興味深いのか…
①形を変えられる
3次元座標をずらすだけで形が変わるのです。
例えば、マウスで一部をつまんでその周囲の頂点を比例して動かせばねんどのように形を変えることも可能です。
構造物のようなものであれば制御点を決めて変えたくない部分の形を維持しながら可変部分で形を変えることも。
ボコボコした形状ならばマウスでなぞってあげると面の向きを考慮して周囲の座標と平均を取って滑らかにすることも。
②形を合わせられる
最近よくお目にかかるハンディスキャナで計測した3次元のデータなどは計測ごとに原点が異なってしまうこともあります。
そんな場合、加工前後のデータでも似たような箇所があれば特徴点として位置姿勢の関係を近傍で最小化し合わせることも可能です。
③形をつくれる
既に形がある場合に限らず無い場合でも、つくるものが決まっていればサイズなどのパラメータを設定できるようにして
机、椅子、カーテン、ブラインドなどなど自動生成することも可能です。
④形を動かせる
可動域や可動軸などを決めてアニメーションすることも可能です。
扉の開閉、シートの折り畳み、人の歩行などあらゆるものを動かせます。
⑤視覚を補助できる
ちょっとしたガイド線や形状を入れるだけでも遥かに見やすくなることもあります。
どう動くのか、どれだけの長さか、角度か、大きさかなどなど。
⑥面を辿れる
頂点の座標から隣接する面を探していくことも可能です。
隣接する面の凸凹がきつくなる部分を境として口腔内全体で1つのものから歯などの特定の形を抽出したりすることも可能です。
⑦解析できる
上記特定した処置中の歯の形状を評価して削り足りているか、削り過ぎているかなど確認することも可能です。
また、面が食い込んで干渉しているかどうかのチェックも可能です。
⑧色を塗り分けられる
ポリゴン全体に色を設定するだけでなく頂点ごとにも色を設定することが可能です。
高さに応じて色をグラデーション表示することで浸水時の範囲なども表現できます。
⑨画像も活用できる
単に3角ポリゴン2枚の四角形に画像を設定するだけではなく、
球体や円筒に張り付けその中心から見ることで360度パノラマを表現することも可能です。
⑩多様な形式のデータでも読める
座標の値と面を構成する順番のインデックスというシンプルな内容のため
細かな書式は違えどもファイルを読み込んでいくパターンは似たようなものになります。
お客様独自のシステムデータでも比較的手軽に読み込めることもあります。
まとめ
Windows10になって標準的な3Dデータフォーマットであれば「Print3D」や「ペイント3D」にて
データを開くことが可能になり3DCGがより身近に手軽になってきています。
とりわけ後者の「ペイント3D」は3D上でお絵描き出来てしまうので、干渉箇所などの問題箇所を示したり、
避難経路などを描き足したりしてコミュニケーションを図ったり、資料の作成などにも活用できます。
とは言えあくまで表現を変えたり表示するなど汎用的なことに留まります。
また大半の各業界にはそれぞれの専用CADが存在し基本的なものは大概揃ってはいます。
でもそれだけでは足りない、これまでに無い新しいことがしたい場合に
今回お話したような技術を駆使して解決していくところにも3DCGシステム開発の面白さが存在するのです。
アイデア次第で色々なことができるそんな3DCGシステム開発の世界に興味を持っていただければ幸いです。