Doc:JA/2.6/Manual/Game Engine/Camera/Dome

提供: wiki
< Doc:JA‎ | 2.6‎ | Manual‎ | Game Engine‎ | Camera
移動先: 案内検索

Blender Game Engine のドームモード

この機能は、インタラクティブなプロジェクトを没入型ドーム環境として視覚化できます。拡張性の高いツールとするため、完全なドーム、端を切り落としたドーム(ッ前方および後方)、プラネタリウム、球面ミラーによるドームをサポートしています。

この機能はBlender 2.49で追加されました。これはPaul Bourkeが開発したマルチパス・テクスチャ・アルゴリズムを使用し、SAT(Society for Arts and Technology)の後援のもと、SAT Metalab immersion research program[1]の一環としてDalai Felintoによって実装されました。簡潔に説明すると、これはシーンを4回レンダリングして、平行投影カメラで見たときに魚眼レンズのような投影に見えるようにデザインされたメッシュに貼り付けます。

注意
最大の大きさで投影するために、Blenderをフルスクリーンモードにして使ってください。 そのためには、コマンドラインで-WをつけてBlenderを起動します。また、トップメニューを消すためにすべてのウィンドウを結合します。そうでなければ、(Ctrl+Up)で最大化しても完全に全画面を使えません(トップバーメニューは約20ピクセルあります)。


Dome Camera Settings

Dome Type
メニューで使用するドームカメラの種類を選択します。それぞれのカメラの概要は後述します。また設定項目も後述します。

使用できる設定項目はカメラの種類によってかわります:

Resolution
バッファの解像度。この数値を下げるとスピードが上がりますが、品質は下がります。
Tesselation
4がデフォルトです。これはメッシュの分割レベルです(Cube Mapでは使えません)。
Angle
視野の角度。範囲は90°から250°です(FisheyeとTruncatedで使えます)。
Tilt
水平軸におけるカメラの回転(FisheyeとTruncatedで使えます)。
Warp Data
映像を湾曲させるのにカスタムメッシュを使います。

Fisheye Mode

視野90°から250°までの正射影魚眼映像。

  • 90°から180°までの場合、4回レンダリングします。
  • 181°から250°までの場合、5回レンダリングします。
Fisheye Mode

Front-Truncated Dome Mode

端を切り落としたドーム用にデザインされています。このモードでは魚眼映像がウィンドウの上部および左右に接するように配置されます。

  • 90°から180°までの場合、4回レンダリングします。
  • 181°から250°までの場合、5回レンダリングします。
Front Truncated Dome Mode

Rear-Truncated Dome Mode

端を切り落としたドーム用にデザインされています。このモードでは魚眼映像がウィンドウの下部および左右に接するように配置されます。

  • 90°から180°までの場合、4回レンダリングします。
  • 181°から250°までの場合、5回レンダリングします。
Rear Truncated Dome Mode

Cube Map Mode

このモードはキューブマッピングのプリレンダーアニメーションに使えます。

  • これは6回レンダリングします。イメージの順番はBlenderの環境マップのフォーマットと同じです。
    • 1段目:右、後、左
    • 2段目:下、上、前
Environment Map Mode

Spherical Panoramic

球面パノラマモードです。

  • 6回レンダリングします。
  • 上部と下部はDefinitionを5以上に設定すると正確になっていきます。
Full Spherical Panoramic Mode

Warp Data Mesh

さまざまな投影環境を使用する場合、フラットなスクリーンとは違ってシンプルな遠近法ではないイメージが必要となることがあります。円筒ディスプレイ、プラネタリウムドームのための新しい方式、バーチャルリアリティ用の直立型ドームなどのために補正されたイメージです。

メッシュのフォーマットについてはPaul Bourkeの記事 を参照。

Dev-GameEngine-Dome-Warped.jpg

こういったイメージを生成するために、特別なフォーマットを用いています。


テンプレートは::

mode
width height
n0_x n0_y n0_u n0_v n0_i
n1_x n1_y n1_u n1_v n1_i
n2_x n1_y n2_u n2_v n2_i
n3_x n3_y n3_u n3_v n3_i
(...)

1行目はメッシュに適用されるイメージの種類です:2 = rectangular(矩形), 1 = radial(放射状) 2行目はメッシュの寸法をピクセルに換算した数値。残りの行はメッシュの結節点(nodes)です。

それぞれの行はx y u v iからなっています。(x,y)は正規化されたスクリーン座標、(u,v)はテクスチャ座標、iは乗算する強度ファクターです。


xの範囲は(-1 x アスペクト比)から(アスペクト比)まで、yは-1から1、uとvは0から1、iは0から1です。負の数が入っているとそのノードは描画されません。

  • Warp Meshデータファイルを使うためには、ファイルを作成してテキストエディタに追加する必要があります。
  • テキストエディタを開きます(テキストエディタウィンドウ)。
  • テキストエディタで、メッシュデータファイル(たとえばmyDome.data)を開きます(Text/Open または Alt+O)。
  • ゲームフレーミングセットアップに移動します(Window Types/Buttons Window/Scene Page または F10)。
  • ドームモードを有効にします。
  • Warp Data欄にファイル名(たとえばmyDome.data)を入力します。

Warp Mesh(イメージを湾曲させるのに使うメッシュ)の作成にはmeshmapperというインタラクティブなツールが使えます。これはPaul Bourke's Warpplayerソフトウェアパッケージに含まれています(フルバージョンが必要です)。

サンプルファイル

Spherical Mirror Dome 4x3, Truncated Dome 4x3, Sample Fullscreen File 4x3, Sample Fullbuffer File 4x3.

Note

重要: ビューポートはカンバスの横/縦の比を使って計算されます。したがって、画面のサイズが変わると必要なメッシュファイルも変わります。また正しい縦横比を得るために、Blenderをフルスクリーンで使用してください。