UE4 への移行日記 (7)

アンリアル日記 ― 第 7 日目 (2015/3/8)

UE4 4.7.2 (7 時間)

日曜日。ほとんど UE4 “教会”で過ごす。

UE4 のあらゆる要素を表面的にでも理解して行こうとする時に、教材のものすごい量に圧倒されることも無理からぬこと。ある意味、大変な重労働なのです。冷静に考えれば、だれもそんなことやろうなんて思いません。ゲームを制作するために必要となる多数のことがらは、さまざまなチームによって扱われることがベストです。仕事を専門化したタスクに分割していくわけです。アダム・スミスも大喜びです。それでも、もしも時間があり、そのような勉強が長期的にどのような結果を産むかということが分かっていれば、やっていけないことはないですよね?

僕ならやります。

この前の月曜日、1 週間やってみようと僕は言いました。うれしいことに、Dark Acre に完璧なルネッサンスが起きます。大々的にツールを採用して行くことにします。今後数ヶ月のロードマップは、100% エンジンを体系的に学習するためのものとなります (その様子は記録するという目的で今後もここに書き表していくつもりです)。最初の大きなマイルストーンは、4月17日に実施される次回の Ludum Dare です。

インディー系開発者として出発したころ、第 1 回の Ludum Dare (訳注: 48時間でゲームを作るコンペです) に参加しました。2010年12月17日から19日のことでした。その 48 時間の結果はハチャメチャなものでした¹が、自分の穴だらけで不完全な Unity3 に関する知識を痛感できました。それで、9 年間連続して参加していたにもかかわらず、Ludum Dare (2013年8月) の参加を止めたのです。参加にともなうストレスにメリットはないと感じられたからです。ですが、今回の新たな出発とともに、またそろそろあの狂乱のイベントに参加しようと思います。

diary

Content Examples をどんどんこなして行く
(実装が法外に簡単)

ブループリント – 通信: このレベルには、ブループリントをトリガーするさまざまなサンプルが入っています。特に重要なものとしては、スポーン ブループリント、イベント ディスパッチャによるリセット、ファーストパーソンのインタラクション (レバー、クランク、引き手)、入力によるマテリアルの変更 (火の下で氷が溶ける、木が燃えるなど) です。ツールと Example Content がインストールされているなら、ちょっと手を休めて、このレベルの 3.3 をご覧ください。まだ見たことがなければ、きっと驚きますよ。

ブループリント – 入力: Unity3D のキャリアの終わりに、新たなプロジェクトでやってみたいことが一つあります。それは、Input Manager を開き、たくさんのボタンを定義し、可能な場合は必ず Input.GetButton を使うことによって、アクセシビリティの柔軟性を維持することです。この組み合わせの素晴らしい点は、入力変数を作って、最終的にどんなものにも割り当てることができるようになるということです。X360 のコントローラー (僕の個人的な好みです)、リープモーションのデバイス、Oculus Rift、マウス、キーボードなど、何であれプレイヤーは完全に制御できるようになります。

アンリアルにも同様のマネージャーがあります。Edit > Project Settings… Engine > Input にあります。ほとんど同じように機能します。バインディングが割り当てられると、ブループリントのノードとして配置して、イベントを制御できるようになります。また、それらに割り当てた名前が何であれ、それによって呼び出されるようになります。また、一種の Input.GetKey (Key Input) ノードもあります。これは、基本的なキーボードのキーを通じた素早い入力をグラブできます。僕は、プロトタイプ作成中にこのメソッドをよく使いました。しかし、プロジェクトが上手く進行し、すべてをリマップする段になると、とてもストレスを感じるようになりました。純粋なコードを書き、ReSharper を使うのであれば大した問題ではないのですが、ブループリントを使う場合は、初回で上手くレイアウトしたいはずです。

ブループリント – マウス インタラクション: マウスからスクリーンへの基本的なインタラクションは、簡単なノードの連続で処理されます。僕が少しだけ実験してみたところ、描画されているテクスチャをカスタマイズすることは (特別な「グラブ」の手や素敵にアニメートするポインタを実現したい場合に)、基本を超えているように思われました。現在、調査中です。これも重要なことですが、サンプルでは、インタラクションのためのブループリントがグローバルではなくローカルでした。つまり、各インタラクティブなオブジェクトのために定義され、ヒットするアクタ上に置かれているということです。これをキャラクターやカメラに適用させる方法が必ずあるはずです。まだ分かりませんが。

ブループリント – HUD: HUD の機能はすべてブループリントを通じてプログラムできることが分かり、よかったです。ただし、ブループリントで要素を手作業で配置するよりも、UMG UI を使って作成するほうが遥かに良いと思われますが。

ブループリント – スプライン: 
賛成: スプラインを使って、メッシュやパーティクル エフェクト、素早くかつダーティーでセクシーなアニメーション、時折見かける「成長するぶどう/木」エフェクトのためのパスを描画することができます。
反対: SVG がインポートできないですって?Illustrator/Max のようなアセット パッケージでスプラインを描画できる方法を開発してもらいたいと思います。なぜなら、これは素晴らしい機能だからです。現状では、Max で線画を作成して、メッシュとしてエクスポートし、テンプレートとして使用することによって、アンリアル内部で描画できるようになります。あるいは、テクスチャをインポートして、それをトレースします。ただし、専用のベクタ描画パッケージの強力な機能を利用すると、ずっと便利なのです。

Unreal-Networking-Example-600x297

アンリアルのエンジニアにユーモア感覚がない訳がない。

ブループリント ― ネットワーキング: これについては始めたばかりです。明日も取り組みます。このトピックは複雑なので、僕にはいつもながら大変です。長い日曜日でした。

原注1. 古いデプロイのための Unity Web Player がしばらく不調でした。ゲームが動かなかった方、ごめんなさい。ダウンロード版は動きます。開始時に OS から警告が出ますが、安全なので大丈夫です。

シェアする

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

フォローする