2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Amebientのモデリング(テクスチャ編)

Last updated at Posted at 2020-12-21

Capです。Amebient Advent Calender21日目、テクスチャ制作まわりの話です。

全体

Amebientのモデルは計22枚のテクスチャで構成されています。
MetallicSmoothness用のテクスチャも含んでるので、マテリアルで見ると金属4種、コンクリート4種、その他4種の計12マテリアル。テクスチャ無しの配線用マテリアルも入れると13です。

そのうち8種のマテリアルは、いわゆるTiling Textureが割り当てられています。Tiling Textureを作りたいときは、SubstancePainter君にuv座標x,y=0,0から1,1までの範囲のUVマップを持つ板ポリを読み込んでエクスポートしてます。自分の範囲においては全てのテクスチャはSubstancePainterで作りました。

基本的には各マテリアルを良い感じに使いまわす運用をしています。テクスチャ作りにあまりコストをかけたくなかったというのがありました。小物とか数が多くなりそうだったので。あと、ビルに関してもデカいのと後から形状を調整したりすることが目に見えていたので、「全体的にTiling Textureかつある程度質感を共有させる」感じになったわけです。

調整にわりと時間かけた気がします。まあ共有前提なのでそもそもの質感が微妙だと全部微妙になっちゃいますからね...。程よく主張を抑えつつ深みのある質感...みたいなのを目指してたと思います。Amebientに限らず、ディティールが強ければ良いというわけではないのかな1、と考えています。良いテクスチャは、しっかりと質感がありつつ程よく風景に溶け込む感じがあるなと思っていて。2

ビル

コンクリートの_wetは実際はつかわなかった。3

ビルは全てコンクリートです。無地、床用タイル、壁用タイル、天井用タイルの4種。無地から派生して線の有無でバリエーションを出した感じだったと思います。

制作当初はなかなか納得いかなくて、資料の為に少女終末旅行のアニメをめっちゃ観た気がします。そしたらあれは全体的に背景が暗めだった(あとちょっと青みが入ってた)ので、色味をかなり寄せてみたりもしたんですが、Amebientに使うには暗すぎたので結果として色味はかなり明るくしました。

これの柱が無地で、床と壁がそれぞれ別のタイルになってます。床は正方形で、壁は長方形。

天井部分がまた別のタイルで、これは少しずらした感じにしてますね。

Tiling Texture運用にすると良いことのひとつは『UV展開が(比較的)楽』です。

ビルのUVはこんなことになっています。
まず、Tiling Texture前提かつモデルが四角いのでUV展開はモデルを全選択してCube Projectionをガッとやるだけで基本良かったりします。タイルの目とかがあるので実際はちょっと調整してたかもしれない。少なくともUVが重なりまくってることとかは気にしなくていいのでかなり楽です。モデルのUVに対してテクスチャを合わせるのではなくて、テクスチャに対してUVを合わせる、という感じですね。

ちなみにこちらはUnityのLightMap用のUV2です。こっちのほうがシームをていねいに切ったり気を使ってるかもしれない...どうして開いたかというと、ライトを綺麗に焼きたかったのと解像度が必要ない面のUVを小さく取って解像度を有効活用したかったからです。ギチギチに詰めるのはUVPackMasterを使いました。言うてUVが基本四角いので通常のパッキングでもかなり詰めてくれるとは思います。

Substance Painterではこんな感じでテクスチャ調整してました。

レイヤ構成はこんな感じです。これだけ貼ってもという感じなんですが、やってることとしてはベースカラーにサブスタのProcedural Textureを乗算でかけてるだけです。roughnessProcedural Textureを薄めに乗せています。基本的な質感はProcedural Textureでだいたい何とかなる気がしています。便利です。

その他のコンクリートもほぼ同じで、あとはタイルの線の有無だけですね。

と、思ったんですが見返したらけっこう色々やってました。
ベースと汚しは上とだいたい同じでそれっぽいテクスチャを重ねてるだけです。
タイルの線の描画をちょっと弄ってました。

タイル描画でやっていることは、Procedural Textureのタイル模様を乗せて、blurでぼかしをかけて、histogram_scanでぼやけた線を絞って、warpで線を歪めて(これちょっと気に入ってます)、sharpenでくっきりさせる、という感じです。

で、錨:anchor:のマークが付いてるのはAnchor Pointという機能です。置いた地点の描画を上位のレイヤーから参照することが出来ます。

どうやって使ってるかというと、まず上のフチ強調レイヤーではちょっとだけタイルの線のフチを白くハイライトしています(ほぼ分からない)。タイルのフチを塗りたいので、タイルの線を取ってきてフィルターをかけることで実現したい気持ちになります(手描きはしたくありません)。同じパラメータの同じテクスチャを使ったり、レイヤーそのものをコピーしてきても良いですが、それだとタイルのサイズとか太さとかを変えた時にハイライトもいちいち調整しないといけません。そこでAnchor Pointを利用すると、タイルの描画そのものを取れるわけです。フチ強調ではタイル描画のAnchorを参照してぼかしをかけ、overlayで重ねています。

説明だと分かりにくい気がしますが、実際使うと便利で色々応用が利く機能です。
他のタイルも同じ方法で描いています。模様はタイルの線を描いているProcedural Textureのパラメータを変えているだけです。

金属

金属4種の内ひとつは機械類用のもので、その他の一般的な金属は3種のマテリアルを使い分けています。

これはBlender。

楽器類は全部金属なので質感はだいたい同じですね。ほぼReflectionに頼っています。まあ金属なので。AmebientのReflectionがめっちゃ綺麗なので、そもそもテクスチャが無くてもわりと良いまであります。

綺麗。

金属テクスチャもコンクリートと同じように、ひとつのプロジェクト内で複数のバリエーションをつくっています(管理が楽なので)。

金属はだいたいこうやってます。
まあコンクリートと一緒で、Procedural Textureの中から良い感じのを探して合成しています。

機械用のテクスチャは、良い感じのマテリアルをそのままパラメータを調整して使用しています。

その他

え~~~~と、ソファとテレビは既に持っていたものを使っていて、鐘はAOを焼いただけで、鉄骨は...ぐっとやりました。

やっていることは大体変わりません。金属の質感をかけつつ、AOを乗算でかけたり、エッジにちょっとハイライトを入れたりしています。

まとめ

制作コストは抑えつつテクスチャ自体は良い感じの質感をねらい、Substance PainterはTiling Texture生成器になってもらいました、という感じでした。ちゃんと綺麗な景色としてまとまって良かったです。

以上になります。個人の記事としてはこの記事でおしまいです(三人で話した振り返りの記事があるのでもう一投稿ありますが)。ありがとうございました。

  1. NormalMapが必要かどうかとか。

  2. 具体的に言うとRootGentleさんの作る質感が好きです。

  3. メインフロアの雨が当たってるような場所に、水たまりのようになってる場所がまばらに欲しいという話があったんですが、パッと良い感じに出来なかったのと"無くても良いは良い"感じだったので一旦後にまわしてそのまま時間におされてしまった記憶があります。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?