ニュース

2025年6月23日

Parrot ゲーム サンプル:Unreal Engine に移行するゲーム デベロッパーのための、新しい実践的なリソース

Fab

Parrot Game Sample

Unity

ゲーム

ブループリント

ラーニング

secret-dimension-logo.png
Secret Dimension は、2017年に創設された一流の共同開発ゲーム スタジオです。同社のチームは、エンジニアリング、デザイン、テクニカル アートの分野で AAA レベルの専門知識を備えるベテランで構成されています。 Secret Dimension は、厳しく困難な開発課題をかかえるあらゆる規模のクライアントをサポートすることに注力しています。主要なあらゆるゲーム エンジンだけでなく、複数の独自のエンジンでも開発に携わってきましたが、主に使用しているのは Unreal Engine です。
エンジンの移行は、ゲーム開発における永続的な課題の 1 つであり、デベロッパーはチームとプロジェクトを新しいエンジンに移行することが、きわめて困難な作業であることを理解しています。  

エンジンはアーキテクチャ レベルでそれぞれ異なり、その影響はコードのスタイルからツール、アート パイプラインまで、あらゆる場所に及びます。つまり、他のゲーム エンジンに移行する場合は、開発パターンだけでなく、チームのこれまでに培った知識までアップデートしなければならないのです。 

Unreal Engine への移行を検討しているデベロッパーは、移行を可能な限りシームレスに行いたいと考えています。そこで役立つのが Parrot ゲーム サンプルです。

Parrot ゲーム サンプルの概要

Parrot ゲーム サンプルは、Epic Games と経験豊富な開発スタジオ Secret Dimension が共同で開発した作品で、Unreal Engine でのゲーム開発を実践的に学びたいと考えている、Unity の使用経験のあるデベロッパーをサポートするために開発されました。

Secret Dimension が、Unreal Engine 5.6 と Unity 6 の両方で同じアセットを使用して、チャーミングな海賊をテーマにした 2.5D プラットフォーム ゲーム (3 つのレベル、タイトル画面、フル メニュー システム) を開発しました。本作の目標は、2 つのバージョン間で最大限の互換性を確保し、開発プロセスで得られるあらゆるインサイトを得ることです。
その結果として制作されたのが Parrot ゲーム サンプルです。Fab で Unity バージョンとUnreal Engine バージョンの両方を無料でご利用いただけます。詳しい注釈が付けられ、全面的に文書化されたこのプロジェクトにより、デベロッパーは、各プロジェクトを詳しく確認し、ドキュメントと注釈を読み、ツールを探索し、Secret Dimension のクロスエンジン開発のプロセスから重要なインサイトを得ることができます。

プロジェクトの立ち上げから、Unreal Engine 5 のビルトイン機能や合理化されたワークフローの活用まで、Parrot は、あらゆるデベロッパーの成長を促進させる、実践的で現実的なインサイトを提供することができます。

Parrot の目的はシンプルです。デベロッパーに知識を伝達し、インスピレーションを提供することです。

Secret Dimension の Parrot ゲーム サンプルのクリエイターであり、シニア ソフトウェア エンジニアである Dakota Herold 氏と Justin Thomas 氏に、本作の開発への取り組みについて直接お話を伺いました。

Parrot ゲーム サンプルの開発

皆さん、こんにちは!Dakota Herold と Justin Thomas です。私たちはどちらもプロの Unity デベロッパーとしてキャリアをスタートし、Secret Dimension に入社してから Unreal Engine を学び始めました。
Parrot ゲーム サンプルの制作に着手した当初、私たちにはいくつかの目標がありました。実装をより簡単に比較できるようにするため、Unreal Engine と Unity で可能な限り同等のゲームを制作したいと考えました。また、Unreal Engine での開発に着手するうえでの優れた基盤を提供するために、ゲーム システムが Epic のコーディング基準に沿った適切なエンジニアリング プラクティスに準拠していることを確認する必要がありました。さらに、徹底的に文書化したいと考えました。つまり、Unreal Engine のコードを可能な限り簡潔にわかりやすく記述し、コードが実行する内容や、Unreal Engine の基盤となるシステムの仕組みなどを説明できるように、包括的でわかりやすいコメントを盛り込みました。このように、Unreal Engine 自体と同様に、コードをドキュメントとして機能させたいと考えたのです。

綿密にドキュメント化されたコードに加えて、一連の補足ドキュメントも用意しています。これらのドキュメントでは、概念、Unreal Engine システム、Parrot の実装に関するより詳細な説明、そして必要に応じて公式 Unreal Engine ドキュメントへの参照など、さまざまなトピックについてより詳しく解説されています。 

私たちには、ゲームにどのようなコンテンツを含めるか、そして役立つチュートリアルを作成するためにどのような機能を実装する必要があるかについて、開発プランがありました。目標は、デベロッパーが相互参照できる便利な一連の機能とアーキテクチャを提供することでした。 

そのため、紹介したい機能とシステムをすべて組み込んだ、基本的な 2.5D プラットフォーマーの設計を考案しました。それぞれの例をできる限りシンプルでわかりやすくまとめるように努めました。その成果物がチュートリアルです。このチュートリアルで、皆さんがシンプルでわかりやすく学習できることを願っています。

Parrot では、入力、ライティング、シェーダー、マテリアル、オーディオ、キャラクター コントローラー、物理、管理システムの実装を紹介しています。

使用されている特定の Unreal Engine システムには、グローバル イルミネーション用の Lumen、高ポリゴン メッシュ用の Nanite、敵 AI 用の Behavior Trees、レベル ストリーミング用の World Partition、泳ぐサメ用のシーケンサー、Unreal Motion Graphics (UMG)、ユーザー インターフェースのための CommonUI、拡張入力などがあります。
私たちは早い段階から、水がゲームの一部になることはわかっていたので、水の物理を使って障害物を作成できるのではないかと考えていました。Epic の Water System プラグインを調べたところ、物理シミュレーションは適していないことがわかりました。そこで、シミュレーションによる水ではなく、スタイライズドされた平面に方針を変更しました。Epic から 単一レイヤー ウォーター シェーディング モデルを使うことを提案されたのですが、このモデルで、まさに私たちが目指していた美しいビジュアルを実現できました。このシステムはこれまで使用したことがありませんでしたが、その機能と最終結果の品質には圧倒されました。
快適なプラットフォーム物理を実装するために、Unreal Engine の CharacterMovementComponent を採用し、独自にカスタマイズしました。プラットフォーム ゲームのジャンプ メカニクス、落下物理、コヨーテ タイムを追加しました。これらはすべて設計時に設定可能な値が用意されており、簡単に調整して感覚を掴むことができます。具体的には、「頂点到達時間」と「頂点の高さ」の値を調整可能な値として公開しました。これは、ジャンプ感覚を調整し、最適な状態にするための最も効果的な方法だと考えたからです。
カメラに関しては、いくつかの名作ゲームからインスピレーションを得て、プレイヤーがデザインしたレベルを移動する際に自然な感覚で反応する一方向カメラを作成しました。カメラの一方向の性質と特定の動作は、すべてのプラットフォーム ゲームに適しているわけではありませんが、Parrot には非常に「馴染んで」います。 

全体的なビジュアルに統一感を持たせるために、アセットのマテリアルとライティングのカスタマイズに時間を費やしました。Unreal Engine のマテリアル関数を使用してさまざまなエフェクトを適用し、アセットを最も効果的に見せるようにライティングを調整しました。プロジェクトのマテリアル全体で使用している各種エフェクトおよびライティングの設定方法をぜひご確認ください。

Parrot では、CC0 ライセンスのアセットを多用しています。その目的は、プロジェクトのコンテンツを誰でも自由に利用して、独自の用途に合わせて改変できるようにすることでした。Kenney.nl、Quaternius、OpenGameArt、そして CC0 (著作権フリー) でアセットを作成してくださった多くのコントリビューターの皆様に感謝致します。Parrot が皆様のアセットを適切に披露できていることを願っています!
Unity でゲームをビルドする場合、デベロッパーは何らかの形式のゲームプレイ フレームワークを自分で作成する必要があります。Parrot では、これらのシステムを Unreal Engine のバージョンに可能な限り近づけて実装しました。さらに、Unreal Engine のワークフローとの整合性を高めるために、スキャフォールドを追加しました。 

これらの機能には、ゲーム管理システムの範囲指定されたライフサイクルを実現するためのシーンのロード、カスタム キャラクター移動コンポーネント、Unreal Engine の behavior tree で使用されるセマンティクスに一致するカスタム ビヘイビア グラフ ノードの作成などが含まれます。Unity におけるこれらのパターンと実装が、Unreal Engine で使用される開発ワークフローとアーキテクチャ パターンの理解を深めるうえで役立つことを願っています。

Download the Parrot Game Sample today!

Download nowSee documentation

業界の最新イノベーションの情報と無料アセットのお知らせを入手しましょう。

情報を提供することにより、Epic Games Store からのお知らせ、アンケート、特別オファーの受信に同意したものとみなされます。 プライバシーポリシー