|
|||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||
建設ITジャーナリスト家入龍太氏が参加するFORUM8体験セミナーのレポート。 |
|||||||||||||||||||||||||||||
はじめに
建設ITジャーナリストの家入です。3Dモデルで建物や土木構造物を設計するBIM(ビルディング・インフォメーション・モデリング)の世界では、3Dモデルを使ってウォークスルーやCGアニメーション、VR(バーチャルリアリティー)など、映画のようなコンテンツを作ってプレゼンテーションに利用することがよく行われています。 こうしたCGアニメ的な使い方をする世界でここ数年「Unity」や「Unreal Engine」などの言葉を聞く機会が増えました。これらは3Dゲームを開発するためのゲームエンジンなのです。 同じ3DでもBIMとゲームでは全く違う世界のように思われますが、リアルタイムに変化する状況に合わせて、CGアニメのストーリーを変える必要がある場合には、BIMモデルを軽くてスピーディーな動きが実現できるゲームエンジンに移植して、動的なコンテンツを作ることもできるのです。 今回のセミナーは、フォーラムエイトが開発・販売する3Dゲームエンジン「スイート千鳥エンジン」の基本的な使い方や、リアルタイムVRシステム「UC-win/Road」とのデータ連携について学びます。 製品概要・特長
体験内容 このほか、ゲーム用のインターフェース「Kinect」と連携させてインタラクティブなコンテンツ制作や、研究開発などにも柔軟に使用することができます。 グラフィックな機能には「HDシェーダーライブラリ」が用意されています。空や水面、天候などの表現のほか被写体深度を調整したり、水彩画フィルターのようにアーティステックな表現を行ったりするのに使えます。
ゲームアプリでは素早くデータを入力したり、途中で分かりやすくメッセージを表示したりすることも求められます。そこで2Dのユーザーインターフェースデータを簡単に作れる「UI制作ツール」を備えています。 このほか、ムービー作成アプリ「Maya」のプラグインとしてエフェクトを効率的に作成できる「エフェクト制作ツール」も備えています。 今後も最新ハードにも対応できるように、対象プラットフォームを追加したり、表現方法を拡充したりと、機能拡張は続いていきます。 続いて行われた実習では、おなじみの「もぐらたたきゲーム」のバーチャル版を作りました。といっても、すべてのプログラムを書いている時間はとてもありません。そこで、あらかじめ用意されたコードを変更したり、追加したりすることで、プログラムの動作がどのように変わるのかを体験しました(画像1)。
まずは「千鳥エンジン」の初期設定を行い、初めの実習データを読み込みました。プログラミング作業を行うフォルダへのパス設定や、「ビルド」「実行」「デバッグ」などよく使うコマンドが、画面上のどこのメニューに入っているのかを確認しました。 実習データには、すでに9個の穴にそれぞれもぐらが1匹ずつ潜んでいる状態のプログラムが入っています。このプログラムに「TaskMan::」で始まるコードを1行書き加えてみます。そしてビルド、デバッグを行うと、ナント、9匹のもぐらが全員、穴から顔を出したではありませんか。このように、プログラムをちょっと変えただけで、画面に表示されるものが大きく変わるのが、ゲーム開発ソフトの面白さと言えるでしょう(画像2)。 今度は穴に引っ込んでいるもぐらのうち、1匹だけ顔を出させる部分を作りました。もぐらの番号をプログラム中に書いておき、エンターキーを押すとそのもぐらが出てきました。このもぐらの番号を「乱数」で設定するとエンターキーを押すたびに違うもぐらが出てくるようになります。ちょっとずつプログラミングとは何かがわかってきました(画像3)。
続いて穴から顔を出したもぐらをクリックすると、穴の中に引っ込むアニメーションを実行します。この動作を行う部分は、「飛び出す」「待機する」「たたかれて潜る」と、時間切れで「たたかれずに潜る」という四つのコードで構成されています。さらに、穴に潜る途中や、潜り終わったもぐらはたたけないようにするための判定を行うif文もコード中に含まれています。もぐらをクリックすると穴に引っ込むという単純な操作を行うコードだけでも、様々な場合分けや条件の判定という機能が含まれていることがわかります。 さらにもぐらが出てくるまでの時間設定や、ゲーム終了までの時間設定を行ったり、もぐらをたたいた回数をスコアとして表示するスコアパネルを追加したりするとだんだん、ゲームらしくなってきました(画像4)。 最後はゲームの開始と終了時に表示するボタンと追加です。また、もぐらの動作速度を制御するパラメーターを変更することでゲームの難易度を変える機能も追加して、もぐらたたきゲームが完成しました(画像5)。
2番目の実習は、リアルタイムに景観や交通流、災害などをVR(バーチャルリアリティー)空間でシミュレーションできる「VR Design Studio UC-win/Road」と「千鳥エンジン」とのデータ連携です。実習では、UC-win/Road上のラーメン店の建物モデルをスイート千鳥に持ってくる過程を体験しました。
まずはUC-win/Roadを起動して、ラーメン店の建物を道路わきに配置します。そして開発中の「エクスポート機能」を利用して、ラーメン店の建物モデルを「FBX形式」で書き出します。テクスチャー形式にはスイート千鳥エンジンに対応した「DDS形式」を指定しました。 今度はスイート千鳥エンジンを起動して、FBX形式で保存されたラーメン店モデルを読み込みました。すると同じテクスチャーのラーメン店がスイート千鳥エンジンの中に登場しました。
UC-win/Road上のモデルをスイート千鳥エンジンに持ってくる方法を体験したところで操作実習は終わりました。 イエイリコメントと提案 フォーラムエイトの製品ラインアップはこれまで、エンジニアリング分野のプロ向けソリューションが中心でしたが、最近は3Dモデリングソフト「Shade3D」や今回、紹介したゲーム開発ソフト「千鳥エンジン」といったコンシューマー向けのコンテンツを制作するシステムも充実してきました。 交通事故の防止や防災、避難訓練などの分野では、実際の挙動に基づいた高度なシミュレーション結果を、一般の人にわかりやすく、興味を持ってもらえるように見せることが必要です。 自分が洪水や火災などの現場に居合わせたときの避難行動の結果を表現するコンテンツなどを作るときは、ゲーム形式にするとわかりやすく、「ベストプラクティス」を目指して何度もトライすることになります。その繰り返しが、訓練となり、いざという時の行動に結びついてきます。 千鳥エンジンが一般の人に防災意識を高めるコンテンツの制作などで、広く使われていくことを期待しています。 |
|||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||
(Up&Coming '20 秋の号掲載) |
Up&Coming |
LOADING