2016年6月30日木曜日

図書館のインタビュー(日本語原文)

ここ数ヶ月かけて作成した図書館のシーンをアップしたところ、たくさんのリツートやいいねを頂きました。
たくさんの反響をいただけて嬉しいです。ありがとうございます。

更にうれしいことに80lvというアーティストのインタビュー記事を載せている海外のサイトから
図書館についてインタビューをして頂きました!!!

How to Build Oxford Library in UE4?

すごい方々もインタビューの中でワークフローを紹介しているのですが、
その中に混じって良いのですかと…。
結構やってることしょぼいですよ… という感じですが、なかなかない機会なのでお受けすることにしました。

サイトには英語で記載されていますので、
こちらには編集さんに送った記事の日本語を掲載したいと思います。
(ちょっと日本語固めなのは翻訳しやすいような感じで書いたため…)

【追記2016/.9/01】
Gumroadにてオックスフォード図書館のプロジェクトデータを$1+で販売しております。
簡単な技術解説もついてますので、興味ある方はどうぞ。
【Gumroad】Oxford Library - UE4 Project






自己紹介

私は専門学校で1年間CGを学び、それからゲーム業界で10年ほど働いています。初めは制作プロダクションで外注として様々な仕事を5年間ほどおこないました。クライアントの企業に出向し、開発の中で制作する機会も多くあり、Street Fighter 4, Bayonetta, Vanquish, final fantasy 零式(PSP版)などの背景を制作しました。その後サイバーコネクトツー、プラチナゲームズに入社し、ScaleBoundの開発初期段階に参加しました。今はフリーランスとして働いています。

サイバーコネクトツーとプラチナゲームズでは、背景アーティストでありながら、マネジメントや技術検証を行うことがおおく、ほとんど制作を行っていませんでした。しかし、開発の中でワークフローやパイプラインを構築する立場にいたので、これまでの知識を生かして自分の作品を作りたいと思いました。




図書館の背景について

私は会社で働いていた間にポートフォリオとして公開できる作品を作ることができなかったので、開発を通して得た知識を使って自分のアートワークを作成したいと作品の制作を開始しました。


制作の一番の目的はポートフォリオとして出せるものを作るということです。
また、SubstanceDesigner&Painterを使った最新のワークフローを自分の中で確立させることも目的としました。


アート的な部分で自分のスキルに自信がなかったので、友人であるコンセプトアーティストのYap Kun Rongに協力をお願いしました。彼とはプラチナゲームズで同じプロジェクトで働いていたので、彼をとても信頼していました。
彼は快くこの依頼を受けてくれたので、一緒にどのようなものを制作していくか考えました。







題材を決めるときに重要視したのが完成できる題材を選ぶことです。彼にコンセプトアートを描いてもらい作成することも考えましたが、オリジナルデザインより実在するものをベースに作成してく方が難易度は高くありません。彼には必要なものがあれば描いてもらうようにし、それ以外は写真をベースにイメージを固めていくことにしました。



シーンのモックについて話してください。なんのソフトを使用しましたか?シーンの要素を作成するのにどのようなアプローチをとりましたか?

図書館のシーンのレンダリングはUE4,
モデリングはMayaとZbrush,
テクスチャはSubstanceをメインで使用し、デザインなどを作成するときにPhotoshopを時々使用しています。

まずこの図書館のシーンはベースとなるイメージの写真があります。

これはBodleian Libraries University of Oxfordの写真です。この写真を見たときにこの雰囲気をベースに制作しようと決めました。他にも様々な図書館の画像を集め、装飾や構造などを考えながらイメージをさらに固めていきました。

集めた資料を参考にMayaでホワイトボックスを作成していきました。モジュラーアセットを作成し、Maya上で配置して空間を制作していきます。この段階ではあまり細かくモジュラーアセットを分けずに柱、床、本棚程度の機能的な単位で分けて作成し、インスタンスで配置していきます。Mayaで組んだメッシュすべてを一つのFBXで書き出し、UE4へインポートしてから軽くライティングを当てて空間のサイズが妥当かどうか、ヒューマンスケールに対して適正かどうかの判断をしました。


Mayaで作成したホワイトボックス


少し調整したら問題ないことが分かったので、パーツ事にUE4にインポートし、同様の空間をUE4で組んでいきました。この段階で配置しやすい単位にモジュラーアセットをさらに調整していきます。

そこからシーンに必要なプロップのブロックアウトを作成しさらにイメージを固めていきます。題材として図書館と決めていましたが、細かい時代設定などはまだ固まっていませんでした。モックがある程度出来上がった段階でYapと話し合い、このシーンは1950年代ごろに設定することにしました。この設定を決めたことで照明や机の上に配置してある小物などは焦点を絞って資料を探すことができました。


UE4でのホワイトボックス


ホワイトボックスの段階ではディテールがあまりなく全体の情報密度のバランスがわかりにくかったので、グレイボックスの段階でメッシュにディテールを追加して全体の密度を上げていきました。柱やアーチ部分に凹凸が入ることで、そこに影が落ちるようになります。これでこのシーンの印象がよくなり、完成のイメージが見えてくるようになりました。

全体の雰囲気がこれで固まったと思ったのでアセットの制作を開始しました。


グレイボックスの状態

このときに私は一つ失敗をしていました。グレイボックスの段階でメッシュにもう少し正確なテクスチャの色を割り当てておくべきだったと今は思います。画像を見てわかるようにほとんどのメッシュに茶色を割り当てていましたが、実際に作成したテクスチャの色はもっとダークです。UE4のライティングはBaseColorの色が大きく影響します。BaseColorが明るければ間接光の影響でシーンは明るく、暗ければシーンも暗くなります。私は早く制作がしたかったのでこの工程を適当にすましてしまいました。

その結果、テクスチャが入っていったときにシーンの印象が変わっていきました。グレイボックスの段階でもう少し正確なテクスチャの色を割り当てておく、もしくはSubstancePainterなどを使って簡易でもテクスチャを割り当てておくということをしておく方が安心して制作を進めることができます。また、より早い段階で完成の印象を確認することができるので必要な手順であったと思っています。



どのように3Dモデルを作成しましたか?いくつの要素を作らなければならなかったですか?どのようにアセットらを最適化したのですか?

種類を増やせばそれだけ雰囲気づくりをすることができますが、必要以上に制作をすることは避けたかったので必要な要素を洗い出すために特定の構図を決めて、それに合わせて必要なものを作成することにしました。

グレイボックスからある程度制作が進むと足りない要素が見えてきます。そこで完成に向けて必要な要素の洗い出しを行うことにしました。

この2枚の画像は洗い出しを行う数日前と後のショットです。

簡単に実装でき、絵を完成に近づける要素を先に追加しました(例えば金色の文字や、本をすべて本棚に入れる、天井に緑色のパネルを追加するなど)。それでも足りないものを追加のアセットとして制作しています。また、DirectionalLightの向きも少し調整しました。この一連の作業はYapと一緒にお互いに意見を言いながら行いました。彼からのアドバイスは非常に的確で、構図に合わせて絵のポイントとなるものを指示してくれました。


上:調整作業前の状態 下:調整作業後



次に動画用のカメラワークを決め、カメラに合わせてアセットの配置を行いました。
カメラからのアングルのみクオリティを上げていくことに専念することができるため、すべてを作りこむ必要はなくなりました。

このシーンはゲームとして作成していたものではないのでシーン全体を軽量化するような最適化はほとんど行いませんでしたが、効率的に制作できるように心がけていました。


マテリアルはマスターマテリアルを作成し、ほとんどのアセットで使用しています。
リフレクションに変化を与えるためにノーマルマップに雲模様のゆがみを追加したこと以外変わったことは何もしていません。

使用したマスターマテリアルの処理


図書館なので書籍が大量に配置されているわけですが、本棚に配置されている本のメッシュデータは2種類のみです。本のデザインと色をマテリアルで変更できるようになっており、これでバリエーションがあるように見せています。また、配置に関しても本の厚みや位置、色をランダムに生成し、整頓した感じがなくなるようにしました。


 作成した本を配置するBlueprint


私はBlueprintを組む経験が浅く、作成するのに時間はかかりましたが、配置する作業コストは非常に少なく、簡単に様々なパターンで配置することが可能になりました。

ブループリント内ではInstanced Staticmeshを使用することでシーン内のドローコールを抑えることができ、エディタでの操作が重くなるという問題もなく大量の本を配置することができました。

ランダム感を出すために本の厚さ、配置の位置などがランダムになるようにしています。

本で使用しているマテリアルにメッシュの位置情報などから色のバリエーションを作成する処理を組んでいたので、ブループリントからパラメータをいじれるようにし、色のバリエーションをコントロールできるようにしています。これにより本の色だけではなく、1冊ごとの色の違い、本のデザインの切り替えが行えるようになっています。

※注釈
Instanced Staticmeshを設定してなかったときに本を配置したらエディタが激重になってめっちゃビビったのであった…。


アセットについて


シーンを見てわかると思いますが、この図書館の中に複雑な構造を持つアセットはありません。そのため、ほとんどのアセットのハイモデルはMayaで完結することができました。細かいディテールはすべてSubstanceで追加することができるのでハイモデルは形状を制作するだけで済みました。 Mayaで作成するのが面倒なものは、Zbrushに持っていき必要な形状を作成しました。


Mayaでベースを作成し、Zbrushで調整したハイモデル


SubstancePainterでメッシュデータのテクスチャをベイクし、それぞれの質感を作成しています。テクスチャを制作する時は多くの資料を見ながら行いました。特に気を付けていたのはどこにどのような汚れがはいるのかという点です。




マテリアルについて

このシーンでは2種類の木のテクスチャを使用しています。

主に図書館の構造部分で使用しているものと机や椅子などの小物で使用しているものです。

構造部分で使用しているテクスチャは一番初めに作成したテクスチャであり、SubstanceDesignerを使ってどのようにテクスチャを作成していくか模索していた段階でした。手っ取り早く質感を入れたかったので、Bitmap2Materialで写真素材から木のテクスチャのBaseColor、Normal,Roughnessを作成し、これらの素材をSubstanceDesignerで調整してから使用することにしました。


Bitmap2Materialから作成したテクスチャをベースにSubstanceDesignerを調整した木の質感


プロップで使用しているのはSubstanceShareで配布されていたPlankWoodBase_Bという木のマテリアルです。私はこれに少しカスタマイズを加えて使用しています。このマテリアルには様々なパラメータがセットされているので、アセット事に質感のコントロールがしやすくなっています。

このシーンで使用したテクスチャの多くはすでにSubstanceに入っているものやSubstanceShareなどから得たものがほとんどです。それらを自分のイメージにあわせて調整したものを使っています。



ライティングについて


ライティングについては、UE4のマーケットプレイスにあるLightroom:Interior Day Lightを参考にしています。
このシーンでは窓の外に白い板を配置し、スポットライトで光を当て、反射光で室内をライティングしています。図書館も同じように、シーンにある4つの窓の外に強さや色を調整したライトと板を配置しています。これにより環境光による柔らかなライティングを表現することができました。

反射光を利用したライティングのみの状態


DirectionalLightを有効にするとこのように窓からの夕日の直射光が追加されます。DirectionalLightだけではシーンに綺麗に間接光を入れることができなかったため、上記手法を取りました。

DirectionalLightを追加した状態



更に、柱やアーチの部分にスペキュラを入れるためにスポットライトを当てています。CastShadowをつけるとDirectionalLight以外に不自然な影が入ってしまうため、Offにしてあります。その結果光が当たらなくて良い箇所にもあたってしまっていますが、その問題はそれほど重要ではなったので対処しなかった。

しかしこの問題はUE4.11から追加されたライティングチャンネルを使うことで回避することができます。

スペキュラ用ライトを配置した状態



ライティングとあわせて気を付けていたのはリフレクションです。


シーンにはリフレクションキャプチャを多く配置しています。シーン全体が薄暗く、机や床など反射する素材の面積は非常に大きいので、各机にリフレクションキャプチャを配置しました。SSR(Screen Space Reflection)はあまり綺麗ではなく、リフレクションキャプチャを多く配置することできれいに反射を見せることができたので今回は使用していません。

このシーンはメッシュの形状がシンプルであるため、フラットなリフレクションによりCGぽさが出ていました。この問題を解決するためにノーマルマップに雲模様のノーマルマップを重ねてゆがみを加える処理をマスターマテリアルに追加しました。これによって広い面積にリフレクションの変化が生まれたことから自然な感じを出すことができたとおもいます。


※補足
本来この処理は軽くするなら各テクスチャのノーマルに入っていた方が処理が軽く済むのでよいかもしれませんが、後からゆがみを入れたいと思ったのでマスターマテリアルに追加する方法をとりました。

 歪みノーマルマップなし



歪みノーマルマップあり


アドバイス

より早く効率的にシーンを作成する方法として最も最適なのはホワイトボックス、グレイボックスに時間をかけることです。制作はじめのころは早くアセットをつくりたいのでこの工程を簡単にすましてしまいがちですが、じっくり取り組むことで無駄な工程の多くを省くことができたと思います。

私は2Dの絵を描かないのでコンセプトアートやスケッチなどを用意しませんでしたが、写真資料と堅実に作られたホワイトボックス、グレイボックスはそれ同等の価値があると感じました。今回は明確なゴールを示す写真がありましたが、それがないオリジナルのシーンであれば、簡単なスケッチを描いてから同じ手順でおこない、グレイボックスで完成イメージが見えるように作業を進めると思います。





また、恥ずかしい事ではありますが、この作品は私の個人作品として初めての背景でした。初めて何かを行うときは非常に時間がかかります。しかし、2回目からは工程やコツがわかっているので早く行うことができます。急いで作成することがすべてよいとは限りません。初めはじっくり取り組み、次から効率よく制作する方法を見つけていくと思えば気持ちは楽になります。
実際、私は制作中は焦りや不安など孤独感も強くありましたが、こう考えることで前に進むことができました。常によりよい方法はないかを模索しながら作業をしていくことで次第に効率やクオリティも上がっていくと思います。

11 件のコメント:

  1. 素晴らしい作品ですね。
    私はUE4初心者でマテリアルデザイン入門を見ながら勉強中の身です。
    質問なのですがMAXとZbrushの使い分けはどのようにしているのですか?
    図々しいとは思いますが教えていただけたら参考にしたいと思います。
    よろしくお願いします。

    返信削除
  2. よく見たら使い分けも書いてありましたね(ーー;)
    MAXじゃなくてMAYAだし(ーー;)
    はじめての投稿で舞い上がってました。
    すみません!

    返信削除
    返信
    1. ああ、それなら良かったですー。
      ちょうど返信をしたタイミングでしたが(投稿場所間違えましたけど)解決だったようでなにより。

      何か質問あればいつでもコメントなりくださいな。

      削除
  3. 素晴らしい作品です、、、!
    現在私は学生で、UEの使用を検討しているのですが、一つ質問よろしいでしょうか。

    映像制作のために外部でモデルとアニメーション等終わらせて、単純にレンダラーとして
    UEを使用する場合、ゲーム制作を視野にいれていなくとも
    ポリゴンは三角形で制作した方が良いのでしょうか。
    (ゲームエンジンがレンダリングにどう影響するかなど気になります)
    いきなりすみません、よければご教授お願いいたします、、

    返信削除
    返信
    1. ありがとうございます。

      UE4はFBXをインポートする時に自動的に三角化されます。なのでモデルは四角形でなければならないなどの制約はありません。

      ゲームは少ないポリゴンでよく見せるものなので、モデルだけではなくノーマルマップを貼った状態で意図したものが表示できているかどうかが重要だと思っています。

      レンダリングに影響するかどうか…については、ゲームエンジンはリアルタイムで最終結果が常に表示されています。ポリゴンが三角か四角かということがここに影響することはないと思います。

      オフラインレンダリングの経験がほとんどないので意図した回答になっていなかったらすみません…。

      削除
  4. このコメントは投稿者によって削除されました。

    返信削除
  5. 回答ありがとうございます!

    参考になりましたー、ちょっといろいろいじってみたいと思います!

    返信削除
  6. またまた失礼します。
    プロジェクトファイルをダウンロードさせてもらいました。
    何度見ても素晴らしいです。

    メッシュ自体はとても簡単な形状なのですね。
    ローポリゴンでここまでリアルに描画できることに驚いています。
    もし可能であれば、椅子を完成させるまでのワークフローを教えていただけないでしょうか?

    鋲、レザーなど色々なディティールがノーマルマップに含まれていますが、ここまではMAYAで作作って、ここからZbrashに移行して、このディティールはSD・SPで作成した、みたいなことがわかれば参考にさせてほしいと思いまして…。
    そういう本を執筆していただければすぐ買いますのでご検討お願いします!

    私はモデリング、UV展開などはできるようになったのですが、ノーマルマップの作成をどのようなワークフローで作成していけばいいのかよくわからなくて迷走しております。
    ZbrashもSubstanceも持っていないので使い方は全然わかりませんが、これから覚えていきたいと思っています。

    長文ですみません。
    可能な範囲でよろしくお願いいたします。

    返信削除
    返信
    1. 質問ありがとうございます。

      どこまでMayaでどこまでZbrushかの線引は特にこれと決めてるわけではないですが、ハードサーフェスモデリングでつくりにくい形状はZbrushで手を加えてる感じです。
      椅子で言うならば、革の部分とかがZbrushで手を加えた部分になります。
      これは特に正解があるものではないので、それぞれのソフトの特性と自分のスキルと照らしあわせて使い分けしてる感じですね。

      Substanceで加えたディテールに関してですが、形状的な部分はMaya,Zbrushで作成し、質感の細かいディテールはSubstanceで加えています。
      これに関してはNaughtyDogが今年のGDCにて同様のことを発表しているので、そっちを参考に聞いてみたほうがわかりやすいかもしれません。

      http://www.gdcvault.com/play/1023488/
      英語ですが、なんとなく言ってることはわかるのではないでしょうか…。


      ノーマルマップに関してはどのソフトで制作するかに依存するとは思いますが、Substanceで制作することで作業のフローが非常にシンプルになります。リアル系のモデルを作っていきたいと考えているのであれば導入して損はないかなと思います。

      体験版もあったと思うので、公式などのチュートリアル動画も豊富にありますのでそちらを参考にしてみるとSubstanceを使ったワークフローも把握し易いかもしれません。

      流石に全部書くわけにはいかず、このような感じの回答になってしまってすみません。
      私に聞くととりあえずSubstanceはいいぞ。ということを言ってしまうのですが、ワークフローやどこまでディテールを作成するのかについても一度触ってみたほうが早いのではないかと思います。操作は本当に扱いやすいソフトなので1日触ってればなんとなく理解できると思います。

      SubstancePainterをつかってアセットを作っていく動画も多くアップされてるので、そちらも参考に色々見ていくと全体のワークフローが見えてくると思います。それから自分で作った簡単なアセットでそのフローをためしてみるとなるほど、と理解できるようになるのではないかなと思いました。

      削除
  7. 詳しく回答していただいてありがとうございます。
    こちらこそ無茶な質問をしてすみません。
    これだけ回答してもらえただけでも、私にとっては充分参考になりました。
    あとは動画を漁って自分でなんとかできると思います。
    お忙しいところありがとうございました!

    返信削除
  8. このコメントは投稿者によって削除されました。

    返信削除