Unityの検索機能

3D でのリアルタイムレンダリング

Unity で 3D の開発を始めたばかりの方は、レンダリングとは正確には何なのかと自問したことがあるのではないでしょうか。たまに 3D グラフィックスを使用する方や、3D の制作を始めたばかりの方にとって、レンダリングは 3D グラフィックスの他の要素よりも理解しにくいと感じられるかもしれません。

幸いなことに、プロジェクトを思いどおりの外観にして動かすための Unity のレンダリングの設定に関しては、参考資料がたくさんあります。

3D でのリアルタイムレンダリングとその仕組み

3D レンダリングとは、コンピューターに保存された三次元データに基づいて画像を作成するプロセスです。また、光を利用して最終的に画像を作り出すため、写真やシネマトグラフィーと同じようなクリエイティブなプロセスと考えられています。

3D レンダリングでは、コンピューターグラフィックスによって 3D ワイヤーフレームモデルを 3D フォトリアリスティック(現実に近い)エフェクトを使用した 2D 画像に変換します。1 つの画像(フレーム)のレンダリングは数秒で完了する場合もあれば、数日かかる場合もあります。3D レンダリングには大きく分けてリアルタイムレンダリングとオフライン(事前)レンダリングの 2 種類があり、主な違いは画像が計算されて処理されるスピードです。

リアルタイムレンダリングはビデオゲームやインタラクティブグラフィックスで特によく使用されます。3D 画像が非常に速いスピードで計算されるので、プレイヤーがゲームを操作すると、多数の画像で構成されるシーンがリアルタイムで起こっているように見えます。

そのため、リアルタイムレンダリングのプロセスではインタラクティブ性とスピードが重要な役割を果たします。たとえばシーン内でキャラクターを動かしたい場合は、人の目には自然な動きとして認識されるスピードで表示されるように、次のフレームを描画する前にキャラクターの動きを更新する必要があります。

最大の目標は、許容できる最低限のレンダリングスピードで可能な限り高度なフォトリアリズムを実現することです。このスピードは一般に毎秒 24 フレームであり、動いているような錯覚を人の目に起こさせるために最低限必要なスピードです。

レンダリングは膨大な量の高度な計算に基づいて行われますが、最近のソフトウェアではわかりやすく操作が簡単なパラメーターが用意されている場合もあります。通常、最新の 3D ゲームエンジンにはレンダリングエンジンが組み込まれており、驚くほど質の高いグラフィックスを実現できます。

Unity でのリアルタイムレンダリング

real time rendering in unity

Unity でインタラクティブなプロジェクトを作成するときは、光り輝く陽の光から、夜のネオンサインのキラキラとしたまばゆい輝き、後光がさす感じ、薄暗い通り道、影になったトンネルなど、さまざまな光を実現することでプレイヤーを夢中にさせるワクワクするような環境が作れます。

モバイルデバイス向けの 2D ゲームを開発する場合でも、コンソールゲーム向けの 3D ゲームを開発する場合でも、Unity のスクリプタブルレンダーパイプライン (SRP)を使用することで、美しい描写を実現し、特定のハードウェアに合わせて最適化できます。

たとえば、HD レンダーパイプライン (HDRP)はハイエンドの PC やコンソールを対象にし、ライトウェイトレンダーパイプライン(LWRP)はモバイルデバイスを対象にします。

Unity でのグラフィックスレンダリングについて読む

最新バージョンの Unity で行われたグラフィックスの更新

3D と 2D でのリアルタイムレンダリング

real time rendering 3D and 2D

Unity で作成するプロジェクトの種類や、2D にするか 3D にするかをまだ決めていない方は、選択は完全に自由であること、あらゆる種類の 2D/3D ゲームを制作するためのプロフェッショナルなツールセットが揃っていることを思い出してください。2 つの要素を組み合わせて、2.5D のインタラクティブな体験を作成することすら可能です。

Unity では、スプライトレンダラーを使用して 2D シーンと 3D シーンの両方でスプライトタイプの画像をレンダリングできます。このコンポーネントを使用すると、画像を 2D シーンと 3D シーンの両方に使用できるスプライトとして表示できます。

Unity では、Sorting Layers という概念を使用してスプライトをグループに分け、オーバーレイの優先順位を設定できます。また、レイヤー内の並び順を使用して、同じレイヤー内のスプライトに一貫した優先順位を適用できます。

Unity のスプライトレンダラーについて詳しく見る

2D ゲームや 3D ゲームの作成方法を実践的に学びたい方のために、Unity のコンテンツチームが 2 つの包括的なゲームキット 2D Game Kit3D Game Kit を制作しました。どちらのキットにもメカニクス、ツール、システム、アセットがまとめられており、コードを一切記述せずにゲームプレイを組み立てることができます。

リアルタイムレンダリングの例

Book of the Dead

book of the dead

『Book of the Dead』では、Unity のレンダリングアーキテクチャのカスタマイズを向上し、開発者がレンダリングをより細かく制御できるようにする Unity の 2018 年の新機能、スクリプタブルレンダーパイプラインの利用によって実現したさまざまなことをお見せします。また、『ADAM』や『The Blacksmith』を手がけた Unity のデモチームはリアルタイム環境のアセットを使用しており、すべてのアセットはスキャンされた実世界のオブジェクトとテクスチャです。

『Book of the Dead』について詳しく読む

『Book of the Dead』の環境を作るプロジェクトはアセットストアで公開しています

「Book of the Dead」のコンセプトアートについて詳しく読む

ADAM

ADAM

ADAM』は Unity デモチームが Unity を使用して制作したショートフィルムで、リアルタイムでレンダリングされ、リアルタイムのエリアライトと高忠実度の物理シミュレーションツールを使用しています。このショートフィルムの続編が、『District 9』の監督である Neill Blomkamp によって制作されました。

『ADAM』の制作について詳しく読む

リアルタイムのフィルム『ADAM』EP2&3では、数多くのコンポーネントが Unity に集約され、非常に注目を集めるエフェクトを実現しています。これらの作品を裏から支えたチームは、カスタムシェーダーとリアルタイムレンダリングを使用しました。

"リアルタイムレンダリング機能のおかげで、エンジンがレンダリングしてくれている間は仕事をしている感じすらしませんでした"(Nate Holroyd、ライティングアーティスト)

『ADAM』EP2&3 の裏話を読む

『ADAM』EP3 でのレンダリングとシェーディングについて詳しく読む

OK

弊社のウェブサイトは最善のユーザー体験をお届けするためにクッキーを使用しています。詳細については、クッキーのポリシーのページをご覧ください。