レンダリング

このページは自動翻訳されており、誤りが含まれる場合があります。誤りを見つけた場合は「このページを編集」リンクからご協力ください。

Turian は Silk.NET を通して Vulkan 1.3 で描画します。同じレンダラーが Studio の Scene ビューと Game ビュー、CLI のスクリーンショット、そしてエクスポートしたゲームを描画します。

フレーム

各フレームは次の順でレンダーシステムによって描画されます:

システム 描画するもの
Standard PBR マテリアルとシーンのライティングによるモデルとメッシュ。
Mesh シンプルなメッシュ。
Gizmos エディターのギズモとデバッグ線(Studio のみ)。
World UI ワールド内のクアッドに配置した .ui ドキュメント — Studio と CLI の描画のみ。エクスポートしたゲームではまだ描画されません。
Overlay シーンの上に描く画面空間の .ui ドキュメント。

レンダラーはウィンドウの Vulkan スワップチェーン、または Studio のビューやヘッドレス描画用のオフスクリーン画像に描画します。

カメラ

CameraComponent がビューを定義します:

プロパティ 意味
UsePerspective true なら透視投影、それ以外は平行投影。
FieldOfViewDegrees 垂直方向の視野角(透視投影)。
Frustum ビューボリュームの高さ(平行投影)。
NearPlane、FarPlane クリップ距離。
AspectMode、FixedAspectRatio ウィンドウのアスペクト比に従うか、固定するか。
Priority アクティブなカメラのうち、最も高い優先度のものが描画します。

優先度を変えることでカメラを切り替えます — Bistro サンプルの CameraCycler は、カメラのリストに最高優先度を順に渡します。既製のコントローラー Free Fly、FPS、Orbit、Follow は Add Component → Rendering → Camera にあります。

ライト

LightComponent は次のどちらかです:

  • Point — ノードの位置から全方向に発光し、距離の二乗で減衰します。1 フレームに最大 10 個。
  • Directional — 太陽のように、ノードの前方軸に沿った平行光。位置は無視されます。1 フレームに最大 4 個。

Intensity と Color(RGBA)で強さと色を設定します。

マテリアル

表面は glTF の PBR メタリック・ラフネスモデルを使います。ベースカラー、メタリック、ラフネス、法線、オクルージョン、エミッシブに、それぞれ係数とオプションのテクスチャがあります。マテリアルの作成とモデルからのインポートは アセット を参照してください。

グラフィックス設定

プロジェクトの Graphics Settings アセットはレンダリングのオプションを持ちます。現在はテクスチャの既定の最大解像度です。プロジェクト設定 を参照してください。

ウィンドウなしでの描画

CLI は同じレンダラーでシーンを PNG ファイルに描画します。CI や回帰チェックに便利です:

turian-cli screenshot MyGame --camera "Main Camera" --width 1920 --height 1080 --out shot.png
turian-cli playmode MyGame --frames 120 --out after-two-seconds.png

GPU がなくても、Mesa の lavapipe のようなソフトウェア Vulkan ドライバーで動作します。turian-cli のコンテナイメージには 1 つ含まれています。

まだないもの

Turian 1.0 のレンダラーは意図的に小さくしています。シャドウ、イメージベースドライティング、スカイボックス、ポストプロセス、プロジェクトのコードからの独自レンダーパスはロードマップにあり、このリリースには含まれていません。


← すべてのドキュメント このページを編集