Support Topics |
|
|
サポートトピックス / UC-win/Road |
|
City Designツール Vol.3 (全7回) AnimatedCharacter |
|
|
アリゾナ州立大の小林です。FORUM8から公開されているCity Designというツールの紹介をします。
FORUM8社のVRパッケージであるUC-win/Roadと、他の3DCGパッケージ間でシームレスに都市データを生成・変換するためのツール群の開発を目指しております。ここで紹介するツールはソースコードも公開しております。今のところ特定のサポートはとっておりませんので、バグなどの問題があっても責任は負いかねませんので、よろしくお願いします。今回記事で、建築・土木関係の方で貴社のシステムに適した簡易ツールが欲しいというご希望があればお寄せください。
|
第1回・第2回としてPovrayToMax、ImageToTerrain というツールを紹介しました。PovrayToMax
はUC-win/Roadで作成したデータを他の3Dソフトで読み込むためツールで、ImageToTerrainは航空写真付の3次元地形データの作成プロセスとそのためツールでした。今回はUC-win/Road
上で群集生成などに利用する3次元キャラクターモデルのためのツールAnimatedCharacterを紹介します。実際には、Autodesk社の3dsMax上で、作成されたアニメーションモデル(メッシュオブジェクト)をUC-win/RoadでサポートされているPK3という形式のデータに一括変換するためのツールです。
群集モデルは、避難シミュレーションからハリウッド映画や3Dゲームなど非常に多種多様な分野で利用されています。学術分野では2次元でのマルチ・エージェントモデルを用いて、いろいろな行動ルール(AIエンジン)を研究・開発しています。World16(VR都市モデルの研究を行っている世界的ワーキンググループ)のメンバーも渋谷のスクランブル交差点で200人が行きかう様子を可視化するプロジェクトを発表しました。その開発時に、3次元のアニメーションキャラクターの作成に非常に苦労したのが、本ツール開発の動機です。
アニメーションキャラクターとは、歩く・走る・立ち止まるなどの動作付の3次元人間モデルです。通常このようなキャラクターを作成するには、多くの作業ステップが必要です。まず最初に、人体の3次元メッシュデータの作成をします。Autodesk社のMayaや3ds Maxなどを利用しますが、人間らしく見えるモデルを作成するには経験とセンスが必要です。最近はネット上からダウンロードできたり、人体作成専用のソフトがあるのでそれらを利用することも可能です。多くの方は、このメッシュデータさえあれば簡単にアニメーションキャラクターができると考えますが、メッシュ作成過程は全体の4分の1程度です。
次にこのメッシュデータに動作を連携させるためにボーンという骨組みを作成します。作成したメッシュの形(腕、足、首など)の位置を合わせながらボーンを作成します。基本的にはこのボーンに動きを与えるので、動きが人間ぽく見えるかどうかはボーンのつくりに左右されます。人間のボーンなら2―3回の練習で作成できるようになります。
次は、このボーンデータとメッシュデータを統合するスキニングという作業が必要です。実はこれがもっとも苦痛な作業です。上で説明したように、動作は基本的にボーンがつかさどります。各ボーンの動きにメッシュ頂点がどのくらい連動するかを指定するのがスキニングです。腕を曲げたときはひじの部分は上腕のボーンと下腕のボーンの2つの動きに左右されるため、ひじ部の各頂点がどのくらいづつ影響を受けるかをWeight行列で記述する必要があります。これらの影響の大きさをすべての頂点に対してすべてのボーンに定義するのです。最近のツールは以前のものと比べて大分改善はされてはいますが、未だに時間のかかる作業です。とくに1つの動きに対してよいWeight設定ができても、新しい動きを加えたとたんにメッシュが奇妙に変形してしまったりするので、かなりの試行錯誤が必要です。
スキニングの後は、実際にボーンに動いたり走ったりするアニメーションをデザインします。いくつかのキーフレームに基準となるポーズを与えて、キーフレーム間は自動に生成するようにします。最近はWalkやRunといった基本的な動きはプリセットで用意されていたりするので、それを使ってもよいでしょう。フレーム0からフレーム47までの48フレームで歩行の1サイクルをデザインしたものをファイルとして作成しておけば、あとは実行環境で繰り返しをさせることで、いつまでも歩いているキャラクターモデルができます。
最後に完成したメッシュをUVマッピングに展開して、Photoshopなどの画像編集ソフトで顔・筋肉・服などのテクスチャを描写して完成です。
|
前節で、一般的なアニメーションキャラクターモデルの作成方法を紹介しました。ここではそのデータを保存してVR空間にインポートするためのフォーマットを紹介します。Forum8のVRソフトであるUC-win/RoadではMD3というデータファイルを利用します。MD3はQuark3というゲームのために開発されたフォーマットで、多くのFPS(ファースト・パーソン・シューティング)ゲームで採用されたフォーマットです。ただし、描写スピードを優先したフォーマットであるため、最近のFBXなどのフォ−マットと比べると多くの制限があります。またいくつかの部位と動作を複数のMD3ファイルと管理ファイルでコントロールするため、PK3というZIP形式のファイルを作成する必要があります。その中に指定したフォルダー構造を構築し、MD3ファイル、テクスチャ画像ファイル、管理ファイル、アニメーションフレームファイルなどを適切な階層に保存する必要があります。UC-win/Roadで独自のキャラクターを利用する場合は、このようにPK3ファイルを各自で作成しなくてはいけないため、かなり苦労します。これらの作業を簡易化するために作成したツールがAnimatedCharacterです。3dsMax上で作成したアニメーションキャラクターを選択し、利用したいフレーム数を指定するだけで、すべてのファイル群を自動生成してくれます。次節ではその利用方法を紹介します。
|
ツールの使い方をステップ順にしめしました。また、以下のWebサイト上で、チュートリアル動画とツールがダウンロードできます。
今回は3dsMax上で作成したアニメーションキャラクターモデルをUC-win/Roadで直接読み込めるPK3データに変換するツールを紹介しました。本ツールを利用して作成したPK3ファイルは別の3Dオーサリングツールでも利用可能です。次回は道路線、ゾーニング、地形データから建物を含む3次元都市データを自動生成するツールImageToCityを紹介します。
AnimatedCharacter活用手順
● チュートリアル動画、ツールDL : http://world16.forum8az.com/2010/11/vr-tutorials-md3-character-pipeline.html
- 3dsMaxで利用したいアニメーションデータの作成
- MayaやMotionBuilderなどの別のツールで作成したものをFBXファイルで保存したものを3dsMaxでインポートしてもかまいません。インポートされたデータはEditable
Meshとして認識されます(1つのメッシュオブジェクトである必要があります)。ここでは、MotionBuilderとMayaで作成された鶏モデルを利用しました。
- 変換されたデータを保存するために、“models\players\myObj”という階層を作成
- myObjのところは自分の好きな名前でかまいません。
- 3dsMaxを開き、メニューから“MAXScript・Run Script…”を選択、“q3-md3 exporter
beta .ms”fileを指定
- 通常のMaxScript実行と同様に、UtilityタブのUtilitiesプルダウンリストから“Quark3
MD3 Exporter”を選択すると、ツールが追加されます。
- アニメーションオブジェクトを選択し、開始フレーム番号と終了フレーム番号を“Start
Frame”, “End Frame”に入力
- もし選択したオブジェクトにSkinモディファイアがある場合は、”Edit Mesh”モディファイアを追加してください。
- ”Get Texture”ボタンで使用するテクスチャファイルを指定
- ”Set MD3 File Name”ボタンを選択し、”lower.md3”という名前のファイルを 2.で作成したmyOBJフォルダに保存
- “Export MD3 File”ボタンを選択
- PK3ファイルに必要なすべてのファイルがmyOBJフォルダに生成されていることを確認してください。
- Zipファイルを作成し、2.で作成したmodels階層以下のすべてのファイルとフォルダーをコピーし、ZIPファイルの拡張子を.pk3とする
- UC-win/Roadを開き、人間モデル同様に作成したPK3ファイルを登録すれば利用できます。
|
|
|
■図1 AnimatedCharacterツールのGUI
|
|
■図2 ステップ6で指定する階層とファイル名
|
|
■図3 ステップ7で生成されるファイル群 |
|
|
|
|
|
サポートトピックス / UC-win/Road |
|
VISSIM/S-PARAMICS
導入後の交通インタラクション機能の詳細 |
|
|
UC-win/Road Ver5.2ではVISSIMやS-PARAMICSといった交通解析ソフトとのデータ連携を可能としており、解析結果をUC-win/Road上で再現することができます。UC-win/Road自体にも1時間あたりの走行台数と経路確率、走行速度等に基づいて交通シミュレーションを行う機能がありますが、交通解析ソフトの解析結果があればUC-win/Road内での設定の手間を減らすことができ、なおかつ車両ごとの個別の動きが表現できます。また、解析結果を再現した車両とUC-win/Road上でのシミュレーション車両との干渉チェックを行うインタラクション機能もあります。
|
VISSIMはドイツPTV社が販売する交通マイクロシミュレーションソフトで、道路上の走行車両、歩行者、自転車等のシミュレーションを行うことができます。UC-win/Roadへはマイクロシミュレーションプレーヤーの読み込み機能を使用することで解析結果を読み込むことが出来ます。読み込みの際には車両プロファイルごとに設定する車両モデルの選択を行うことができ、乗用車、トラック、バスなどの区別をつけることでよりリアルな表現となります。また、マイクロシミュレーションプレーヤーにおいては歩行者や自転車、信号機といった割り当てが可能で、VISSIMによる歩行者や自転車のシミュレーション結果も読み込むことができます。信号の切り替えも解析結果に従って制御することができ、交差点における車や歩行者、自転車の動きをまとめて表現することが可能となります(図1)。
|
■図1 VISSIMの解析結果を読み込んだ交差点のシミュレーション |
|
S-PARAMICSは英国SIAS社が販売する交通マイクロシミュレーションソフトで、道路上を走る車両の挙動を個別に計算することで交通流の解析を行います。S-PARAMICSプラグインを使用することにより、S-PARAMICS上で構築した道路ネットワークと道路構造をUC-win/Roadへ直接読み込むことが出来ます(図2)。データ変換機能により線形や横断面の変化といった道路構造を再現でき、橋梁やトンネル、ロータリー式交差点の作成にも対応しています。交通流解析結果はVISSIMと同様にマイクロシミュレーションプレーヤーによって別途読み込みが可能で、車両1台ごとの移動ログを読み込むことで、交通の全体の流れが可視化され、S-PARAMICS上でのシミュレーションをそのままUC-win/Roadへ反映させることができます(図3・4)。
|
|
|
|
|
■図2 S-PARAMICSの
道路ネットワークの読み込み |
|
■図3 マイクロシミュレーションプレーヤー
による交通流読み込み |
|
■図4 解析結果に対して
車両モデルを割り当て |
また、同様にUC-win/RoadからS-PARAMICSへのデータ変換も可能です。データ変換機能によりUC-win/Roadで作成した道路ネットワークと道路構造をS-PARAMICSデータに変換でき、変換データを基にS-PARAMICSによる交通シミュレーションの実行が可能です。これにより、例えば設計図面を基にUC-win/Roadで道路ネットワークを作成し、データ変換機能を使用してS-PARAMICSへ変換して交通解析を行い、それをさらにUC-win/Roadへ反映させて交通流の表現を行うといった一連の作業をスムーズに行うことができます。
※社名、製品名は一般に各社の登録商標または商標です。
|
マイクロシミュレーションプレーヤーが持つインタラクション機能として、シミュレーション結果を利用して読み込まれた交通流に対してユーザーが運転する車両との干渉チェックを行う機能があります(図5)。通常、マイクロシミュレーションプレーヤーによって読み込まれた交通流は移動ログによって制御されるため、UC-win/Roadによる交通コントロールの対象とはなりませんが、この機能を使用すると再生された交通流とがユーザーが運転する自車へ衝突するのを回避させることができます。交通流と自車との位置関係を把握して自車と衝突する恐れのある後続車を自動的に減速させる機能や、交通流をUC-win/Roadによる交通コントロールに切り替える機能を設定することができます。後者の機能を設定した場合は交通流が道路上に出現した時点でUC-win/Roadによる交通流に切り替わり、移動ログに従った走行ではなくなります。
|
■図5 インタラクション機能 |
このインタラクション機能を使用した場合、ドライビングシミュレータで走行を行うコースに対して交通流解析結果を適用することが可能となります。解析結果が表現された道路を自ら運転することで、解析ソフトだけでは行えないドライバー視点での交通状況の確認を行うことができ、それによって解析結果を自分自身が体感するという新たな使い道を体験することができます(図6・7)。
|
|
|
■図6 解析結果をUC-win/Roadで可視化 |
|
■図7 運転時の周辺車両を
マイクロシミュレーションプレーヤーで制御 |
|
|
(Up&Coming '11 盛夏の号掲載) |
|
|
>> 製品総合カタログ
>> プレミアム会員サービス
>> ファイナンシャルサポート
|