妹でもわかるUnrealEngine4

毎日更新? 妹に説明するために書いてるけど、たまにわかってない場合もあるUnrealEngine4を中心としたゲーム制作の話。略すとイモリアル

毎日更新? 妹に説明するために書いてるけど、たまにわかってない場合もあるUnrealEngine4を中心としたゲーム制作の話。略すとイモリアル

Blenderでドーナツ作り(6) パーティクルを使ったモデリング

f:id:una_unagi:20180714235212p:plain

youtu.be

「今日はドーナツ動画のPart7の前半部分。ドーナツの上に乗っかってる砂糖のつぶつぶを作る。スパークルというらしいけど。これはパーティクルを使って作る」

妹「パーティクル? それはUE4のエフェクトとかで見かけるやつ?」

「同じ意味。設定方法とかパラメータとかはもちろん違うけど」

妹「でもこれは動かないよね?」

「動くのも作れるよ」

f:id:una_unagi:20180714235716p:plain

「デフォルトのパーティクルだと、Blenderでアニメーション再生するとパラパラ降ってくる。動かさないのも作れる。ただUE4の場合動かないやつをパーティクルシステムで作るのは勿体ないから、スタティックメッシュでいいなら他のツールで作るとか、プロシージャルに作るにしてもパーティクルじゃなくてブループリントとかで作るだろうけど」

妹「Blenderだともったいなくないんだ」

「ゲームを動かしながら同時に計算しなくていいからね。パーティクル以外の方法でも作れるけど、それはプログラムとか必要で無駄に難易度が上がる。最悪手動でパラパラとふりかけてもいいんだけど、決まった仕組みで大量にランダムにっていうのは、やっぱり自動化したい」

f:id:una_unagi:20180715000211p:plain

「まずつぶつぶ1個分を適当に作る。ミラーリング機能を使って、上下がきっちり同じになるような作り方をしてるので真似する。どうせ小さくてよく見えないということで、サブサーフェスは使わない。無駄にポリゴン数が多いと処理速度に影響がある」

f:id:una_unagi:20180715000354p:plain

「そして、アイシング(ピンク色になってる)面にHairタイプのパーティクルとして作る」

妹「ヘアーは髪の毛だから、パーティクルではないのでは……」

「プログラム的には、パーティクルを飛ばした軌道が髪の毛になるというか。髪の代わりに好きなオブジェクトを生やすこともできるから、それでツブツブを撒き散らす」

f:id:una_unagi:20180715000403p:plain

「それでこういう風になるんだけど、この時にアイシング部分の面の、法線方向を反転させてる。そうしないと内側にツブツブができちゃうからみたいだけど、なんで面の向きと逆方向に生えちゃうのか、詳しいことはよくわからず……」

Blender ビギナーチュートリアル(アンドリュー・プレイスさんのドーナツ)よりsaitottammas.wordpress.com

「と思ったら他にもドーナツ作ってる人のブログが見つかった。アイシングに厚みをつけた時の、Solidfyモディファイアの影響で反対方向になっちゃうらしい。これを使ってない時は普通に面が向いてる方向に生えるんだと思う」

Blenderでドーナツ作り(5) テーブルのテクスチャ

imoue.hatenablog.com

youtu.be

「今日はドーナツ……を置いてるテーブルのテクスチャ設定について」

妹「ドーナツのテクスチャではないんだ」

「そっちは作らないみたい。3Dのテクスチャは、ホームページとか作るのとは違って、光沢があったりすると使いにくいし、デコボコも別データとしてあった方がいい」

www.poliigon.com

「ということで動作でおすすめされてるのがこのサイト。色とツヤとデコボコと全部別画像になってるから、マテリアルに設定するとリアルな画像が作れる。無料のもあるけど、商用利用の場合はお金かかるみたい」

妹「それってUE4とかでも使えるのかな?」

「それは画像だから問題ない。この分野だと、写真から各種テクスチャを自動生成するBitmap2Materialというのも有名」

妹「そんなのまで」

「ただこれはこれで、いい感じの物が手近にないと写真撮れないし、やっぱりクオリティ的には販売してるやつの方がいい。そこらへんは用途と予算の兼ね合いで」

f:id:una_unagi:20180711015859p:plain

「で、練習用ということでフリーのやつで試してみてたんだけど、これはデコボコがすくないテクスチャで、ちゃんとなってるのかどうだかわからない。もうちょっとわかりやすいので試してみた」

f:id:una_unagi:20180711020015p:plain
色だけ

f:id:una_unagi:20180711020033p:plain
ラフネスマップ(グロスマップ)のみ

f:id:una_unagi:20180711020245p:plain
ノーマルマップのみ

f:id:una_unagi:20180711015957p:plain
ラフネスとノーマル両方

妹「ノーマルマップとかはちょっと聞いたことがあるような」

「たしか水面の波を作る時に使った気がする。場所ごとに光の反射角度を細かく変えて、溝の部分とか、傷になった部分とかを表現してる見える。ラフネスも全体じゃなくて、ここだけ光沢があるとか、そういう設定をするのにする」

f:id:una_unagi:20180711020631p:plain

「ノードの種類とか操作方法はちょっと違うけど、やってることはUE4のマテリアルによく似てる。同じようにラフネスとかメタリック(反射)とかでマテリアルを作っていく、物理ベースレンダリングというやり方だから」

妹「物理っていっても動いてるわけじゃないよね?」

「そういう物理エンジンのやつとは違うんだけど。材質の特徴を設定して、それを色に変換するみたいな。性能が必要だからPS3ぐらいまではもっと違うやり方をしてたけど、リアルな質感が出しにくかったらしい。あんまりその時代のマテリアル作ってないからよくは知らないんだけど」

妹「たしかにPS3のも今見るとちょっと材質が物足りない時はあるね」

「今はUEもUnityも物理ベースになってるし、PS4とかもそれが表示できるようになってて、この方法が主流になってるみたい。ただBlenderで作ったマテリアルがそのままUE4で読み込めるかというと別問題で……こうやって作ったのを読み込んでも真っ白になる。物理ベースのCycles Renderじゃなくて、古いBlender Renderで作らないと駄目で」

妹「同じやり方なのに?」

BlenderUE4は同じやり方だけど、途中で経由してるFBXが対応してないっぽい。ただBlender RenderはBlender2.8ではなくなるらしいし、そこらへんどうなるのか。UE4でマテリアル作ればいいんだけど、それだとポリゴンの編集をしながら確認できないし。このへんはどうやるのがいいのかまだわかってない。今回に関しては、とりあえずBlender上でいい感じのドーナツが作ればいいと割り切ってる」

Blenderでドーナツ作り(4) 皿作りの宿題

f:id:una_unagi:20180709005123p:plain

imoue.hatenablog.com

「前回の記事でやったチュートリアルの動画の最後のへんで、次の動画までに皿は自分で作っておいてくれという、宿題がでてた」

妹「作り方はないの?」

「マグカップよりは簡単だし、だいたい同じ方法で作れるということじゃないかな」

f:id:una_unagi:20180709005204p:plain

「今回は平面ポリゴンから作成。最初はただのマル、Circleを作るって、そこにインセット機能で内側にポリゴンの切れ目を入れて、それぞれの高さを変えると、ちょっと皿の中央がへこんだ形にできるだろうと」

妹「写真は使わかなかったの?」

「皿ってただ丸いだけだから要らないかな……と思ったんだけど、やっぱりあった方がよかったかもしれない。皿にも色々あるというか、いざ作ってみるとよくわからない物体。でも今日はとりあえずこれで」

f:id:una_unagi:20180709005208p:plain

「それをさらに細分化して、なめらかにするだけど、平面のままだとうまくいかないのので、モディファイアを使って厚みをつけてから細分化。」