Googe Blocks とアンリアル エンジンを使用して作業する
2017年11月20日

Google Blocks とアンリアル エンジンを使用して作業する

作成 Jarlan Perez

初めまして! 私は、3D アーティストの Jarlan Perez です。今回は Google の素晴らしいプログラムについてご紹介したいと思います。このプログラムは、アーティストが一定期間で特定のツールを使って作業し、その理解を深めていくものです。Google のチームが各アーティストと密接に連携して開発を推し進めた Blocks というツールを使用し得た VR 向けのアート制作がもたらす可能性の理解を深めることができました。

Blocks を使ってモデリングすることだけが、唯一の厳格な要件でした。それがプロジェクトの重要なポイントだったからです。私はそれをアンリアル エンジンに取り込んでインタラクションを可能にし、少し複雑なものにしたいと考えました。これは Google チームと私にとっても素晴らしい方法であり、互いに学びながら作業することができました。期限の最終日には、自分が達成した結果と気付いたことについてチームでデモをしました。その内容は Blocks が優れている点、さらに試したいこと、もっと活用したかった機能などがありました。以下では、その中からいくつかの点について取り上げています。

UE_and_BLOCKS.jpg

アンリアル エンジン 4 (UE4) の使用経験

現在の仕事に至った経緯についてご興味があるかもしれませんね。私は、大学卒業後に小さなインディー チームに入りました。小さなモバイル ゲームを開発してそれを App Store でリリースしたところとても評判が良く、100,000 を超えるダウンロードがありました。自分たちが初めて手掛けたアプリが認められて我々は有頂天になりました。当時はアンリアル エンジン 3 (UE3) を使っていましたが、UE3 のワークフローは今とは違ってアーティストフレンドリーではあるものの、UE4 のように簡単ではありませんでした。 

残念ながらチームはその後まもなく次回作の制作中に解散。私は、転職して Lockheed Martin でマルチメディア デザイン エンジニアとして働き、航空関係や原子力発電所向けの様々なトレーニング用に 3D モデルや背景を制作しました。ゲームもまだ作ってはいましたが、別の目標を持って作業するようになっていました。

現在は、親友でありインディー チームの仲間である Brad Colson と UE4 を使って作業しています。当時はゲームのアイデアに関して、プロトタイプの制作や概念実証 (Proof of Concept(POC)) はほとんど行っていませんでしたが、二人ともフルタイムの仕事をしており非常に忙しいにもかかわらずゲームのアイデアを試したりするのが大好きなので色々試しながら独自タイトルを作っています。

どれほどのメカニックをテストしたかはもう覚えていませんが我々のどちらかが興味を持ったメカニクスはいくつも試し、その中でいくつかは将来の大きなプロジェクト用にとっておきました。

この時期にUE4 についてかなり詳しく学び、UE4 リリースの 1 年程前のベータ段階で UE4 に関わる機会があり使用していました。以下の動画と VR 体験で Ash の部屋を再現するサイド プロジェクトに取り組んだりとUE4 で色々楽しみました。
 

近い将来、これまで書きためてきたゲームアイデアをいくつか集めて、UE4 で全く新しいプロジェクトを制作したいと考えていました。今回は Google のアート プロジェクトについて説明します。

Google Blocks Project

このプロジェクトは、Blocks を使って 2 週間以内に VR プロジェクトを作るというシンプルなものです。こうしたプロジェクトでは通常、魅力的な背景を制作して、Blocks ギャラリー、動画、静止画でコミュニティと共有します。2 週間という期間は短いことを認識したうえで、背景の構築に挑むだけでなく、UE4 に取り込んでインタラクティビティを加えて、単に視覚的なものを短いインタラクティブな体験にしたいと考えました。

UE4 は長いこと自分にとってお気に入りのエンジンでした。アーティストを解き放つ威力を持っていたからです。最低限のプログラミング知識、または知識がなくても、思いつくものを何でも簡単にプロトタイピングすることができます。

良き競争相手のソフトウェアを使うのも良いかもしれないと考えました。Blocks は Unity 5 で開発されたものです。ですから、私のモデルの大部分は UE4 で考えて開発したものであるにも関わらず、Unity で作られます。

770_GoogleBlocks_UE4_Pic1.jpg

当初のアイデア

当初は、3 つか 4 つ程度の小さな背景を作りたいと考えました。プレイヤーが通り、簡単なパズルを解き、移動し、集まったり、大きくなってひとつの背景を作ったりするものです。こうしたアイデアを考えてみて、UE4 で簡単なプロトタイプを作って動きと簡単なメカニクスをテストしました。いくつかのテストを行った後、このアイデアは捨てました。周りの世界が大きくなっていくような考え方がとても好きで、それについて考えてみました。しかし、それをシーンの可動部分と組み合わせると、プレイヤーの気分が悪くなりそうでした。 

他にもいくつかのコンセプトを試しました。いつものことながら最初はすべて面白そうで実用化できそうに思いました。Blocks を使うとテスト用にモックアップを簡単に作ることができます。UE4 に入れてテストするのに長時間かける必要がなくなりました。

一例として小さなブロックの世界を複数作ってプレイヤーが歩き回って探検できるようにしたいと考えました。こうした世界が何らかの形でつながってレベルの他の部分を明らかにしていくのです。

770_GoogleBlocks_UE4_Pic2.jpg
Blocks でのコンセプト 1

もうひとつの例として、つながるという側面をさらに推し進めてプレイヤーが特定のアイテムを各ブロックで集めたら、それらが集まって Blocks のロゴを作るようにしようと思いました。簡単なテストをいくつか行った後、縦方向と横方向の動きが沢山あるとプレイヤーが少し気分が悪くなるため、このアイデアも見送りました。

770_GoogleBlocks_UE4_Pic3.jpg
Blocks でのコンセプト 2

島 (Isle)

770_GoogleBlocks_UE4_Pic4.jpg

私は方向転換することに決めました。シーンのサイズを大きくして、実際には行けないエイリアンが出てきそうな面白く探検できる場所にしました。小さなブロックで有機的につながった島にしました。

Blocks Isle は、以前のミニ ブロックのコンセプトよりもはるかに大きな島ですが、プレイヤーの気分を悪くする可能性のある要素はありません。プレイヤーは島を探検して、パズルを解きながら姿を消した友達に何が起こったのかを見つけていきます。作業時間は 2 週間しかなく、範囲を限らなければならないことを何度も自分に言い聞かせました。

こうした考えをもとに、基本的ストーリーを組み立てました。

以下のような話です。友達の Jasper がまた危険な冒険に旅立ちました。行先は、謎に包まれた Blocks Isle です。Jasper が消息を絶ってから何週間も経ちました。そこで、プレイヤーは彼が最後にメッセージを発信した場所に行く決意をします。

ここから物語が始まります。プロトタイプで試してみたところ、うまく行きそうな気がしました。これは全体として約 20 分程度の短いものです。 

770_GoogleBlocks_UE4_Pic5.jpg
スタート地点

この神秘的な島、Isle の至る所で Jasper が気付いたことを書いた記録やメモが見つかります。こうしたものを読んだり、聞いたりして、クエストに役立ちそうな情報を明らかにしていきます。

770_GoogleBlocks_UE4_Pic6.jpg
Jasper が残した記録

以下はエンジン内と Blocks 内でのスクリーンショットです。

770_GoogleBlocks_UE4_Pic7.jpg
エンジン内の Blocks Isle

770_GoogleBlocks_UE4_Pic8.jpg
エンジン内の Blocks Isle

770_GoogleBlocks_UE4_Pic9.jpg
Blocks 内で作業中の Blocks Isle コンセプト

モデリング

Blocks を使ったモデリングは実に楽しいものです。いかに解放感があってクリエイティブなものであるかについては既にお話したので、ここでは詳しく扱いません。まだ試したことがなければ、是非お勧めします。完璧に一貫性のある外観と視覚的言語を保ちながら、低ポリゴン モデルを作る非常に面白いものでした。

Blocks は空間をプロトタイピングするうえでも素晴らしいツールです。アンリアル エンジンに取り込む前に、実際のサイズまでシーンを拡大して、そこに立って、動きのグリップと自分の腕を前後に動かす動きを組み合わせて空間内を歩くシミュレーションをしていました。これがプレイヤーが空間をどのように移動するか、特定の物を配置した方が良い場所などについて理解するのに役立ちました。その結果、作業時間の大幅短縮につながりました。

開発

Blocks と UE4 の連携は非常にうまくいきました。Blocks を使うことで、モデリング中や構想段階で視覚化してその空間にいるかのように感じることができます。アンリアル エンジンは、アーティストに魔法の力を与えてくれます。アンリアル エンジンを使用すると概念実証を十分に試行し、プログラマーがいなくても機能を実装することができます。

770_GoogleBlocks_UE4_Pic10.jpg
UE4 でプロトタイプが機能

一日の中の一定時間、Blocks でコンセプトを試し、残りの時間でアンリアル エンジンを使ってそうしたアイデアの基本機能を作っていました。このやり方で、迅速なプロトタイピングが可能になり、後でアート アセットを使って空間を埋める際に非常に役立ちました。

自分は従来の 3D モデリングに習熟していましたが、従来の方法でやっていたらこのプロジェクトはもっと時間がかかっていたと思います。Blocks を使うことで、工程を省くのに役立ちました。従来は、シーンをモデリングし、その工程を通して一部の構成要素をエクスポートしてエンジンに取り込んで配置し、動かしてみて空間内でどのようになるかを把握します。こうした作業がすべて Blocks 内でできます。これは大幅な時間短縮につながります。もちろん、色を決めるのも簡単になりました。色を試したければ、エンジンでテスト中にマテリアルを作って各アセットに配置しなければなりませんが、これは時間がかかります。Blocks では簡単にプレビューすることができます。

とはいえ、Blocks からジオメトリを取り出して、アンラップとライトマップのベイクのために 3D プログラムに取り込まなければなりませんでした。こうした工程はまだ行う必要があります。

770_GoogleBlocks_UE4_Pic11.jpg

UI

このプロジェクトでは多くの UI を非常にシンプルにしました。実際、ほとんど UI がありません。唯一目に見える UI は、インタラクティブなアイテム上を通るときに、アイテム上で切替わる説明とコントローラー上にポップアップするツールチップです。

通常、これは短時間の体験であるため、プレイヤーのトレーニングにあまり時間はかけません。その結果、テスト時に気づいたのは人々がボタンの機能を見つけられなかったり、忘れてしまうということです。この問題に対処するために、アイテム上を通ると状況に合わせたツールチップを表示するコントローラーを作りました。操作に関わるボタンもハイライトしました。これがプレイヤーの大きな助けになります。プレイヤーが忘れがちな長めのチュートリアル セッションを用意する必要性がなくなりました。

770_GoogleBlocks_UE4_Pic12.jpg
コントローラーのツールチップ

UI は将来いろいろ試してみたいと思いますが、このプロジェクトでは上記のやり方がうまくいきました。 

終わりに

自分が考えうる最良のアドバイスのひとつとして、いろいろ試してさらなる高みを目指すことをお勧めします。ご自分のプロセスを改善する新しいツールに目を光らせて、新しいことに挑戦することを恐れないでください。うまくいかなくても大丈夫です。簡単な道を進んで問題に直面しない場合よりも、挑戦することで多くを学ぶことができます。

素晴らしい低ポリゴンのゲームやアーティストが存在します。彼らが Blocks を使って VR でモデルを作るとうまく行くと思います。この小さなプロジェクトが 2 週間でできたので、小規模チームでさらに時間をかければもっと沢山のことができるだろうと思います。私個人としては、それが実現するのを見たいですし、近い将来きっとそうなるという確信があります。是非、試してみて #MadeWithBlocks ハッシュタグを使って作品をオンラインで投稿してみてください。ご質問があったり、作品をシェアしたい場合は、ここに ご連絡 ください。

ダウンロード

このプロジェクトを無料で この Gumroad リンク からダウンロードすることができます。

編集注記:この記事は当初、Medium の Jarlan のブログに投稿されたものであり、ここからご覧いただけます。