New Products & Service シミュレーション

UC-win/Road Ver.18

道路事業・公共事業における合意形成を支援する3次元リアルタイムVRソフトウェアパッケージ

●新規価格

Ultimate:1,892,000円(税抜 1,720,000円) 
Driving Sim:1,210,000円(税抜 1,100,000円)
Advanced:968,000円(税抜 880,000円)
Standard:660,000円(税抜 600,000円)
CIM Lite:528,000円(税抜 480,000円)

 


●リリース2024年9月

UC-win/Road・VRセミナー
日時:2024年10月8日(火)9:30~17:35
会場:札幌事務所・各会場(TV会議)/オンライン
参加費: ¥19,800(税抜¥18,000)

物理ベースレンダリングへの対応

これまでのUC-win/Road では3Dモデルのレンダリング手法としてOpenGLの固定機能パイプラインを使用したPhong反射モデルを基本として、高度な照明や影などの特殊表現についてはプログラマブルシェーダーを使用して追加してきました。この基本としているシェーディング方法は描画計算を軽くすることができますが、現実の材質を表すパラメータを指定することが難しいという側面があり、レンダリング結果もコントラストがはっきりした画像を生成する場合もありました。

一方、グラフィックに関する技術は進歩し、昨今では3DCGのレンダリング手法として物理ベースレンダリング(Physical Based Rendering、PBR)が一般的になっています。この物理ベースレンダリングという手法は、光の物理的な挙動を取り入れてモデル化されたシェーディング方法であり、散乱や反射といった各種の物理現象においてエネルギー保存の法則を満たすようにモデル化されています。そのため、パラメータの設定が行いやすく、写実的なレンダリング結果を得ることが出来るのが特徴となります。

弊社製品でもShade3Dをはじめ、F8VPS、VR-Nextエンジンといった製品でレンダリング方法として物理ベースレンダリングのサポートを行ってきました。今回UC-win/Roadにおいても次期メジャーバージョンアップとなりますVer.18において、レンダリング手法の更新を行い物理ベースレンダリングへの対応を進める予定です。

ここからはUC-win/Roadに搭載する予定の物理ベースレンダリングについて、いくつかのキーワードを上げ、詳しく説明いたします。

金属性(Metallic)・荒さ(Roughness)

図1 自動車モデルの金属光沢表現


例として、自動車モデルの金属光沢表現について、説明いたします。既存のシェーディング方法においても、金属光沢を表現するパラメータとして、「輝度」というパラメータで設定可能で、このパラメータを使用してPhong反射モデルを使用した計算式を使用して、反射を表現していました。このPhong反射モデルでは金属光沢のような反射表現を行うことができますが、そのパラメータは物理量と結びついているものではなく、現実の材質に近い値を設定することは難しいという一面がありました。また、光の反射と散乱を別々に考えて足し合わせた結果をレンダリング結果としており、エネルギー保存則を考えていないため、設定値によっては現実よりも強い反射となってしまう場合もありました。

UC-win/Roadで採用する物理ベースレンダリング用のマテリアル設定では、金属性と荒さのパラメータを用いて金属反射の強さを変更できるようにする予定です。より物理的な属性に近いパラメータを使用することで、材質の設定がより容易になります。また、物理ベースレンダリングのモデルでは金属性によって反射の強度が決定しますが、反射だけ、散乱だけをそれぞれモデル化するのではなく、さまざまな物理現象を考えてモデル化されているため、金属反射が強くなると、逆に散乱の効果は弱くなるようにできており、エネルギー保存則を満たすようになっています。そのため、写実的な表現から逸脱したレンダリング結果になることが少ないのが特徴になっています。

イメージベースライティング

図2 空によるライティングの変化


イメージベースライティング(Image Based Lighting)は、画像を基にしてライティング計算を行う手法を指します。例えば、モデルの全周囲を投影した360度画像を使用してライティング計算を行うことなどが可能です。これは、一般的に3DCGで用いられる光源のみでは表現することが出来ない周辺の明るさによる散乱効果や反射効果を実現することが可能です。

従来のUC-win/Roadでも環境マッピングの機能はありましたが、従来の機能では反射による効果のみを表現していました。今回のイメージベースライティングでは新たに散乱の効果も反映することが可能です。また、前に述べたようなエネルギー保存則を考えたモデルとなっていますので、金属性・荒さの設定に応じて、エネルギーが保存されるように散乱・反射の効果も反映されます。

法線マッピング

図3 法線マッピングを使用した凹凸の表現


これまでのUC-win/Roadではテクスチャとしてポリゴン表面の散乱色、またはフェイクライトとしての色を指定するためにテクスチャが使用可能でした。これに加えて、UC-win/Road 18では、テクスチャを使用して表面の凹凸を表現するための法線マッピングに対応いたします。

法線マッピングのテクスチャでは色の赤・緑・青それぞれが接線・従法線・法線方向のベクトル大きさとなります。凹凸がない法線マッピングは、接線・従法線方向の大きさが0で、法線方向の大きさが1となるため、テクスチャの画像をビューワで見ると#7F7FFFの色となり、青紫色に見えます。反対に、凹凸を表現するための環境マッピングのテクスチャは青紫色から変化している部分が存在します。テクスチャの情報を読み取って、元の法線情報から変化させることによって、ポリゴンよりも細かい単位で凹凸を表現することが可能になります。

リニアワークフロー

図4 リニア空間で計算しない場合(左)と計算した場合(右)


PCで色を扱う際に16進数表現(#FFFFFFのような表現)を使用した方も多いのではないかと思います。例えば、白色を表す場合はRGBが全て最大値#FFFFFF、黒色を表す場合はRGBが全て最低値の#000000となります。では、その中間の値である#808080が黒色と白色のちょうど中間の色であるかというと、それはそういうものでもありません。

一般的なビットマップ画像やディスプレイではsRGBの色空間に従っており、実際の出力の強さの通りではなく、出力で指定した値と画面の出力の間の関係は曲線を描いて変化します。単純に画像の色をそのまま画面に出力する場合は、そのまま出力しても問題ないのですが、3DCGのようにライティング計算を行った結果を出力する場合は、ライティング計算を線形色空間(リニア色空間)で行った後に、画面出力用に補正を行う必要があります。このような線形色空間でライティング計算する手法をリニアワークフローと呼びます。

UC-win/Road Ver.18における物理ベースレンダリングにおいても、線形色空間でライティング計算を行い、画面出力用に補正した値で出力を行うことで、従来よりも写実的な表現を行います。

GLTFファイルの読み込み

図5 Shade3DでのGLTFモデル作成


OpenGLの規格を策定しているクロノスグループが提唱している3D形状を格納するファイルフォーマットであるGLTFを読み込み、UC-win/Roadの3Dモデルとして使用できるようになる予定です。GLTFでは物理ベースレンダリング用のマテリアル情報も格納でき、法線マッピングや金属性、荒さ、屈折率といった情報が格納できます。また、Shade3DからGLTFファイルを出力することが可能ですので、Shade3Dで作成したデータをインポートする時に使用することが可能です。また、F8VPSやVR-NEXTエンジンでも使用可能なファイル形式のため、モデルファイルを活用することが可能です。

今後の機能拡張予定

UC-win/Road 18では以上のレンダリングエンジン更新を行う予定ですが、今後もUC-win/Road 18で実装される物理ベースレンダリングをベースとしてUC-win/Roadの機能拡張を行う予定です。例えば、テクスチャ画像としてHDR画像をサポートしたり、HDRディスプレイへのHDR画像のレンダリング対応を進めたりする予定です。また、UC-win/Road SDKユーザー向けには、Ver.18時点では既存のプラグインがそのまま使用できるように従来のレンダリングが適用される予定ですが、今後のバージョンではSDKで開発したプラグインから物理ベースレンダリングを使用するためのインターフェースや、便利なクラスなどを使用できるように取り組んでまいります。

サンプルプロジェクトの更新

図6 修正中のサンプルプロジェクト


UC-win/Road本体に付属している渋谷や京都の街並みを表現したサンプルプロジェクトのCItyDesign.rdにおいても、物理ベースレンダリングの機能が確認できるように更新を行います。物理ベースレンダリング用のマテリアルへの更新(金属性・荒さ・屈折率・クリアコートなどの設定)、テクスチャマッピングの追加(法線マップ・荒さマップ)を行うことで、物理ベースレンダリング対応によるレンダリングの変化を確認することが出来ます。

その他の開発予定

その他、現在開発予定の機能として、IFCファイルインポート時にこれまで対応していなかった押し出し形状のサポートを予定しております。建築物モデルや土木構造物モデルの柱で使用されているような部分で使用されていた場合に、形状が表示されるようになります。

最後に

UC-win/Road 18における物理ベースレンダリングへの対応はUC-win/Road初版リリース以降から見ても、基本的なレンダリング部分の大きな変更となります。本更新は都市シミュレーションや自動車シミュレーター、またそれに限らず様々な分野での利用で、現在よりも写実的な表現を提供することが可能となります。UC-win/Road 18がリリースされた時には、ぜひ触っていただき、これまでとのレンダリングの違いを体験していただき、ご活用いただければ幸いです。



(Up&Coming '24 秋の号掲載)

LOADING