UE4 への移行日記 (9)

アンリアル日記 ― 第 9 日目 (2015/3/10)

UE4 4.7.2 (7.25 時間)

Google Docs による個人的なメモ

初日からの熱意未だ衰えず (高くなることはないにしても)。

Paper 2D: Unity の専用 2D ツールが必要な局面はまったくありませんでしたが、このことを書き留めておくことは重要なことです。1 年ほど、フルに 2D スプライトを使ってレンダリングされるゲームを作っていました。Darkade の実験の多くは擬似的な 2D でした。ですから、Unity が 2D を管理するために特化された機能を多数発表した時には、時間の無駄であったかのように思えたものでした。

UE4 の 2D 専用ツールは簡単です。楽しみとして、『Braid』のスプライトで Tim が走っているものをダウンロードして、その 10 秒後には Flipbook エディタで動かしてみました。(Flipbook は UE4 のスプライト アニメーションのツールです。) インポートされたスプライトは、お望みとあれば、もっと多くの定義されたピクセルを使って「レトロ化」することができます。カスタムのコライダー形状はエディタで簡単に定義できます。まず「最もよくフィットする」ボックスのコライダーを作ります。これに、カスタムの頂点を追加して、よりしっかりとフィットするように操作することができます。

スプライト アニメーション シークエンスは、.JSON で外部で定義されますが、ドラッグアンドドロップでインポートできます。アニメーション シークエンスはブループリント化でき、それによってイベントのトリガーが容易になります。物理は、Unity をいじっていた時とほぼ同じようにして操作できます。つまり、スプライトを軸 (この場合は Y ) にロックして、物理を有効化できます。

Flipbook-600x350
(Braid と Tim は、著作権が保護されている、Jonathan Blow の著作物です。)

物理: 物理 (Physics) も時間をかけたことがない分野です。単に「自分のゲーム デザインを破壊して楽しむ」ことくらいはしましたが。Unity と同様、実装は簡単です。メッシュにコリジョン コンポーネントをもたせ、物理を on にするだけです。インポートされたアセットのジョイントとスキンの重みに基づいて、スケルタルメッシュのコリジョンを作成することができます。さらに、PhAT (物理アセットツール) によって洗練することができます。ワールド内のジョイント ツールは、僕が記憶している Unity の機構と同じです。ジョイントおよびコリジョン ボディを編集・定義でき、モーターと物理的な力をアサインし、breakable joint (破壊可能なジョイント) を必要とするか否かを決定できます。

Physics-Fun-600x291
(物理ファン)

Destructibles (被破壊性): 2013年僕は 6 か月を費やして、プロシージャルな破壊を Unity で扱うことができる独自のシステムを作りました。「なぜ Asset Store で売らなかったの?」と聞かれるでしょうから、言っておきますと、僕が作ったそれらシステムは気持ちの悪いものだったのです。その場しのぎで雑然としたものだったのです。でもちゃんと動きましたよ! プロトタイプ (まだ開発中です) で実現したいあらゆるものが見れるのは素敵なことでした。そして、今は、UE4 があれば何もせずにだまって座っているだけでそのようなことが実現できるのですから、すごいことです。自動的な破壊メッシュ生成、破壊のデプス、フレームのサポート (窓枠をそのままにして窓ガラスを吹き飛ばし、その後により強い力で窓枠を吹き飛ばす様子を想像してみてください)、衝突時のダメージ、そしてもちろん、サウンドおよびパーティクルのトリガーも実現できます。プレイヤーとしてもデザイナーとしても、破壊はとてつもなく楽しい。すでに作ってあるプロジェクトを移植するのが今から楽しみです。

マテリアルのノード: 僕は何年も Allegorithmic 社の Substance を使ってきました。また 3DS Max では Slate Material Editor も使用してきました。ですから、UE4 のノードによるマテリアル エディタは得意です。マテリアル パイプラインのほとんどを (全部でないにしても) Substance に任せたいのですが、UE4 でパラメータを調整しなければならない場合は、その言語が全く馴染みがないということはないのですから安心です。また、UE4 では物理ベースのレンダリングが何も設定しなくてもすぐに使えます。どれだけ嬉しかったことか!もう少しで泣きそうになりました。

メモ: HDR のサポートによって、エミッシブが非常に楽しくなりました。サブサーフェス スキャタリングのサポート/実装が極めてシンプル (実際、グラフを見るだけで理解できました)。D3D11 テセレーション。フレネルによる屈折。

追加メモ: マテリアル コンテンツ サンプルを見て回っている時に、マテリアルのインスタンスを選択する場合があるでしょう。コンテンツ ブラウザでそれをダブルクリックしても、元のノード グラフは開かれません (単にプレビューが表示されるだけです)。このような場合は、左で Parent のプレビューをブラウズして (虫眼鏡のアイコン) 場所を特定し、それによって表示されるアセットをダブルクリックします。

マテリアル インスタンス: UE4 のマテリアルを操作しているうちに、ますます Substance Designer で馴染んできたワークフローに似ていると思いました。ノードの作成、マスク、レイヤー、インスタンス化、プロシージャルなエフェクト ― これらのことがすべて似ています。それが分かってから、マテリアルの作業を UE4 でどのくらいの分量やるべきか迷いが出てきました。UE4 には、機能作成とカスタマイゼーションの特別レイヤーがあります。このことを知ってよかったです。これで、Substance に夢中になって取り組んだあと、同じように (あるいは少しマイルドに) 集中的にUE4 に取り組むことができます。

Emissive-HDR-600x291
(エミッシブ-HDR)

マテリアルのプロパティ: このレベルの Content Examples では、マテリアルでできることをたっぷりと見ることができます。ライティングの処理、半透明、各種エフェクトなど。

重要メモ: クッキーがとても簡単。僕の記憶している Unity よりも UE4 は数段進んでいる。シャドウはライトマップにベイクされる (スタティックな使用のみ。ただし、それでも美しく、面白いエフェクトを作れる可能性が大いにある。) 僕はとても屈折が苦手だ。このテーマについてはまた取り上げなければ。

デカール: デカールを初めて見た 2009年からずっとあるテーマをもってきました。つまり、どのようにしたら、素早く投影されたテクスチャ エフェクトをエンジンで実行できるかというテーマをです。Unity ではどのようにすると機能するのか調べる時間がありませんでした。しかし、UE4 では簡単にデカールを扱えます。マテリアルをデカールとして定義して、適当なブレンドモードを割り当て、それをアクタ (ゲームのオブジェクト) としてシーンにドラッグ/インスタンス化するだけでした。これも、幅広く活用してみたいと思います。

Decal-600x290
(自分の縄張りにはこうやってマークをつけてやる)

アンリアルの本部で Gerleve 氏と Noon 氏がマルチプレイヤー シュートアウトのサンプルについてライブストリームで説明しているのを視聴しました。分かりやすくとてもおもしろい。今後もこのようなセッションを見ることが楽しみです。これもまた、私たちデベロッパーの生活を豊かにしようとするエピックの努力なのです。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする