Support Topics |
|
|
サポートトピックス / UC-win/Road |
|
City Designツール Vol.6 (全7回) BakedTexture |
|
|
アリゾナ州立大の小林です。Forum8から公開されているCityDesignというツールを紹介します。Forum8社のVRパッケージであるUC-win/Roadと、他の3DCGパッケージ間でシームレスに都市データを生成・変換するためのツール群の開発を目指しております。
ここで紹介するツールはソースコードも公開しております。今のところ特定のサポートはとっておらず、責任は負いかねませんので、ご了承ください。今回の記事で、貴社のシステムに適した簡易ツールが欲しいというご希望があればお寄せください。
|
6回目を迎える本シリーズですが、今回はアンビエント・オクルージョンという効果を利用し、シェーダ効果をテクスチャに焼付けしたモデルを生成するツール、“BakedTexture”を紹介します。
Autodesk社の3dsMaxのプラグインとして開発されたもので、3Dオブジェクトのテクスチャをちょっとした加工だけで見た目が一段とアップするためのツールです。アンビエント・オクルージョン効果自体は、現在のほとんどの3Dソフトで標準でついている機能です。
ただ、いくつかの複雑なプロセスを理解していないとなかなか効果が得られない厄介なものなので、ボタン1つで誰でもできるようなツールを開発しました。
実際3dsMax内だけで焼付けレンダリングを行う場合に加え、それを3dsファイルに落としてUC-win/Road用のデータに保存するところまでを問題なくこなすためには、かなりの知識と経験が必要です。また、既存の3dsMaxのインターフェイスを利用して焼付けレンダリングを行うには、1つ1つの建物についてアンビエント・オクルージョン効果を計算させなくてはいけません。
VR都市データのようにたくさんの建物がある場合は、かなりの労力になります。ここで開発したツールを利用すれば複数の建物を選択して、実行しておけば自動ですべての建物のテクスチャーにアンビエント・オクルージョン効果を焼きつけした3DSファイル群を自動生成してくれます。
|
ツール紹介の前に、ざっと焼付けレンダリングとアンビエント・オクルージョンについて説明します。まず焼付けレンダリングとは、通常のテクスチャーにシェーダの効果(影、陰影、映りこみ)を計算し、その効果をテクスチャーとして再利用するものです。VR(バーチャル・リアリティ)空間ではこれらのシェーダ効果は通常リアルタイムで計算しますが、影などの計算には時間がかかるため、動きのないオブジェクトについてははじめから影付のテクスチャでごまかす方法が以前から利用されてきました。
通常の3次元モデルは、幾何情報とマテリアル情報から構成されています。幾何情報というのは、頂点・エッジ・メッシュのことです。マテリアル情報は、いくつかのマップ領域から構成されており、以前のUC-win/Roadでは1つのマップ領域(移りこみなどの水面は2つ)を利用しています。現在のバージョンではDiffuse・Ambient・Specularの3つのマップ領域が利用できます。各マップ領域に対して1つのテクスチャ(画像ファイル)を割り当てることができます。Diffuseマップには基本の色情報のテクスチャ、Ambientマップには光が当たらないときの色情報のテクスチャ、そしてSpecularマップにはマテリアルの光沢情報をグレイ画像のテクスチャで表現します。現在の3Dゲームなどは、200以上のマップ領域が利用できますが、多くのマップ領域を使うとそれだけ計算時間がかかります。よってVR空間など莫大なデータを可視化しなくてはいけない場合は、できるだけ1つのマップ領域をつかったほうが得策です。80年代より長い間、影を焼き付けたテクスチャを利用してきました。
|
アンビエント・オクルージョン(以下AO)は直訳すると「環境遮蔽」ですが、これは環境光から遮蔽された部分の陰影効果のことを言います。
もっと簡単にいえば、ある物質を地面においてすべての方向から光を均一にあてます。撮影スタジオや、曇りの日などを想定してください。
それでも物質には陰影ができます。CGを勉強している方ならグローバル・イルミネーションという言葉で表現されるレンダリング手法です
。この陰影効果だけを先にテクスチャに焼き付けておくと、すばらしい効果が得られるため、最近のゲームなどでは、一般的にAOを使っています。私がCGを勉強していた90年代は、36個の全面光源をドーム状に配置して、そこで得られたレンダリング結果を焼き付けていました。
現在の3DCGソフトでは、天空光源を1つおいて簡易的に計算できるようになっています。
図1にAO効果がなし(左図)とAO効果有り(右図)のレンダリング結果を示しています。AO効果は幾何情報から生成されるので、凸凹のない面にいくら建物のファザード画像を張付けても、効果は得られません。
図1のような効果を得るためには、ある程度の幾何データの作りこみが必要です。
また実際のVR空間ではこのモデルにさらに太陽光からの陰影が加算されます。
次の章では、実際にマニュアルな手法でAOを焼き付けたテクスチャを作成する方法を紹介します。
|
|
|
■図1 アンビエント・オクルージョン効果なし(左)と効果あり(右) |
|
実際にAO効果を焼き付けたテクスチャを作成するためには、以下のステップが必要です。
- 地面と天空光源の作成と設定
- 焼付けの対象のオブジェクトの作成
- UVマップを作成
- 焼付け先のチャンネル・効果を指定
- 焼付けレンダリングされたテクスチャをオリジナルのテクスチャと入れ替える
- データを3dsファイルとしてExportする
- 出力された3dsファイル群をUC-win/RoadにImportする
1 |
|
2 |
|
|
|
|
|
|
3 |
|
4 |
|
|
|
■図2 マニュアルな方法でのAO効果焼付テクスチャの作成ステップ1から4 |
見栄えのするモデルを作成する上で重要な点は、ステップ1の環境設定です。ここで“かっこいい”レンダリングができなければ、いくらがんばっても見栄えのするAO効果は得られません。あとのステップはツールを理解していて手順を間違えないかぎり、AO効果付きの3dsモデルは作成できます。1つだけ注意する点をあげておきます。
Diffuse・Ambient・Specularなどのマップ領域へのテクスチャ張付変換であるUVマップは、UC-win/Roadでは1つだけ利用可能です。マップ・チャンネル数が1ということです(UVマップの利用できる数をマップチャンネル数と呼びます)。つまりUC-win/Roadでは常にテクスチャはマップ・チャンネル1番に割り当てなくてはいけません。DiffuseマップのためのUVとSpecularマップのためのUVを別々に作成はできないということです。最近の3Dソフトは複数のマップ・チャンネルが利用でき、オリジナルのテクスチャーをマップ・チャンネル1番に、新しく焼き付けたテクスチャを2番へといった方法が利用されているので、そのままだとUC-win/Roadにインポートしてもオリジナルのテクスチャが張り付いたものがエクスポートされるので、注意が必要です。
|
■図3 BakedTextureツールのインターフェイス |
|
自分で使うツールを簡単なパターン画像群を用意することで作成したモデルをUC-win/Roadにインポートしたサンプルモデルを紹介します。2011年11月に行われた第5回国際VRシンポジウムで、筆者が発表した仮想の日本城のモデルです。前回紹介したツールを利用して幾何データは自動生成されたものです。このままのデータをUC-win/Roadにもっていってもよいのですが、AO効果を焼付けしたテクスチャを利用しています。
|
今回は建物をVR空間でよりよく見せるための、アンビエント・オクルージョンの利用と、その効果を焼付けテクスチャとして生成しUC-win/Roadで利用できるようなデータにエクスポートするツール、BakedTextureを紹介しました。
|
|
|
■図4 仮想の日本城モデルのUC-win/Road内でのスクリーンショット |
|
動画ファイルは容量が大きくなるため、通常は圧縮して録画します。無圧縮AVIの場合、各コマの静止画を圧縮せずに記録しますが、例えば、1024×768ピクセル(RGB
24bit)で30fps (1秒間に30コマ)とすると、静止画1枚当たり2.3MB程度として、1分間の容量は2.3MB×30コマ×60秒となり、4GBを超える膨大なファイルサイズになります。
そこで、UC-win/Roadで動画を録画する際は、データ圧縮の形式を指定します。「AVI
オプション」の「コーデック」欄にそのパソコンにインストールされているコーデックの種類が表示され、圧縮に使用するコーデックを選択します。
|
|
|
■図1 UC-win/Roadの動画書き出しオプション |
|
コーデック(CODEC:Compression/Decompression)は、データの圧縮/伸張を行うプログラムであり、動画再生する際は、作成時に使用した同種のコーデックが必要です。
Windowsが標準搭載しているコーデックで圧縮した動画であれば、納品先などの別のWindowsマシンで再生する場合でも、新たにコーデックをインストールすることなく、そのまま再生できます。Windows
7では、DivXやXvidなど、標準で含まれるコーデックの種類が増えています。コーデックには映像のほか、MP3やAC-3といった音声の圧縮/伸長に用いる音声コーデックも存在します。映像コーデックと音声コーデックは、それぞれ用途や生データに応じて選択し、例えば「映像がDivXで音声がMP3」のように組み合わせて圧縮を行います。
こうした圧縮データを保持するファイル形式を「コンテナ」フォーマットとよび、映像・音声のほか、章・字幕、再生に必要な同期情報など、多様な種類のデータに対応するものもあります。コンテナは、ファイル内部のデータの並びを定め、ひとつのファイルとしてまとめるもので、いわばデータの格納容器なので、中に含まれたデータがどのコーデックによるものかは、外から判断しづらくなっています。代表的なコンテナとしてAVIがありますが、コーデックがDivXでもXvidでも、AVI形式のコンテナに納めると拡張子は同じ.aviとなります。
現在、携帯電話やデジタルビデオカメラ、DVDなどのメディア、YouTubeなどの動画配信など、用途に合わせ、圧縮率と画質の優先度が変わるため、多数のコーデックが開発され流通しています。動画のコーデックは、拡張子だけでは判別できないため、コーデック識別ツールなどを利用すると便利です。 |
コーデックは、エンコーダとデコーダの2つのコンポーネントで構成されています。エンコーダは圧縮
(エンコード) 機能を実行し、デコーダは圧縮解除 (デコード) 機能を実行します。両方のコンポーネントを含むコーデックもあり、いずれか1つのみを含むコーデックもあります。あるパソコンでこの動画を再生できるから同じ形式で動画作成(圧縮)できるという訳ではなく、例えば、DivXなどのようにWindows7でそのまま再生できる形式でも、動画を作成する際には、DivXコーデック(エンコーダ)をインストールする必要があります。これらのコーデックは、インターネット上で無料ダウンロードにより入手することができます。
コーデック
(映像圧縮形式) |
コンテナ形式
(一般的な拡張子) |
特徴 |
WMV |
wmv/wm |
Windows Media Video の略。Microsoft社開発のWindow Media Player標準対応。圧縮方法はMPEG-4がベースとなっている。 |
DivX |
avi/divx |
画質劣化を抑え、容量を大幅に小さくできる。MPEG-4がベース。 |
Xvid |
avi/xvid |
高画質で高圧縮。DivXとほぼ同様の品質で圧縮できる。オープンソースでMPEG-4がベース。 |
AVCHD |
m2ts |
HD動画対応ビデオカメラで利用される。H.264がベース。 |
Cinepak |
avi |
初期のVideo for WindowsやQuickTime、家庭用ゲーム機で利用された。今もほとんどの再生ソフトで再生可能。ロースペックのマシンでも実行できるが、MPEGに比べ低画質で圧縮時間もかかるため現在はあまり使用されない。 |
■表1 Windows 7で再生がサポートされる主なビデオコーデック
コンテナ |
主な対応コーデック |
主な拡張子 |
特徴 |
AVI |
映像:MPEG-4, WMV, H.264 |
avi |
Windows標準。多様なコーデックに対応し、対応するソフトウェアが多い。ストリーミング配信には不向き。 |
MOV |
avi |
mov/qt |
Apple社開発。デジタルカメラの動画などでも利用される。QuickTimePlayerで再生。 |
RealMedia |
映像:RealVideo
音声:RealAudio |
rm/rmvb/ram |
RealNetworks社開発。低ビットレートでのストリーミングに強く、ネット配信のストリーミング動画で利用される。RealPlayerで再生。 |
F4V, FLV(Flash Video) |
映像:H.264, On2 VP6(FLV4)
音声:MP3, AAC |
f4v/f4p/flv |
Adobe Systems社定義。Web上の動画配信で広く使用される。Flash Playerによりインタラクティブな表現が可能、モバイル配信でも利用される。 |
■表2 代表的なメディアコンテナフォーマット
|
|
(Up&Coming '12 新年号掲載) |
|
|
>> 製品総合カタログ
>> プレミアム会員サービス
>> ファイナンシャルサポート
|