UE4の勉強記録

UE4の勉強の記録です。個人用です。

「Unreal Engine 4.xを使用してRPGを作成する」の足りない部分を作成する。アニメレンダリングについて 後半部分

6.Gaeaの勉強

今週はKlaus氏のTutorialのGaea Beginner Tutorial Series : Part 6 - Importing to Unreal Engine/ Blender [6]を勉強します。

これがKalus氏のGaeaの初心者シリーズの最後のTutorialです。

先週、作成したPngを以下に示します。

14枚もあります。

それぞれどうやって使用するのか、全く分かりません。FinalTerrain.pngはHeight Mapのようです。それ以外は全く分かりません。

6.1 Gaea Beginner Tutorial Series : Part 6 - Importing to Unreal Engine/ Blender [6]を軽く見る

<Introduction

特にないです。

Unreal Engine

まずHeight MapにFinal Terrainをセットします。

ここは予想通りです。

Enable Edit LayersにCheckを入れます。

やっぱりその他のPngもLayerとしてこれから使用して行くんですね。どうやってImportするんでしょうか?

World Partitionは使用出来る状態にしておきます。

Project SettingのここでCheckを入れます。

次にLandscapeのサイズを整えます。

ImportしたHeight MapのResolutionは1009x1009です。

ので通常の設定では100倍、

つまり1km x 1kmになります。

しかしGaeaで作成した設定では、5000m x5000mになっています。

なので、

100*5000/1009 = 495.540138751を代入します。

うーん。成程。

これはこれで正解ですが、私は1Pixelのサイズは100cmは保っていたいんです。

となるとGaeaからExportする時のPixel数を5000にするかLandのサイズを1009mにするかしないといけないです。これをGaeaから設定する方法があるんでしょうか?

これについては後で調べる事にします。

今度はHeight についてです。

UnrealのHeightの設定は以下の様になっています。

これは色の濃さだから0から255までで256あるから、その2倍の512と言う事でしょうか。

更にもともと100倍しているので

Heightに関しては5.12 cmが1uuになるでしょうか?

兎に角、Scaleを調節してLandscapeの高さを2600mにするためには2600/5.12 = 507.8125を代入する必要があります。

この後、LocationのZの値を100000に変更しています。

Originalに近づけるためと言っていますが、どういう意味なんでしょうか?

これでImportしました。

結果です。

近づいて見ると川や湖が平らになっています。

これはUEにあるWater Systemを使ってこれらの部分を作成するので今は平らで良いそうです。

<Material In Unreal

Landscape用のMaterialを作成します。

Base Colorに使用しているTextureの名前がAlbedo with Vegとなっていますが、

そんなのないです。

Combine001.pngの事かもしれませんね。

Textureは以下の様に表示されています。

LandscapeCoordsノードの

Mapping Scaleに1009をセットします。

すると、以下の様にぴったりのサイズになります。

次はWater Systemを使用して川や湖を作成します。

まずWater Systemを使用出来る様にします。

Createから

Place Actor Panelを開いて

Waterと打ち

Water Body RiverとWater Body LakeをLevel上に追加します。

Place Actor Panelは初めて使用しますね。

Lakeは形を湖の形状に合わせるだけの様です。

RiverですがこれのためのMaterialを新たに作成するそうです。

<Texturing for Games

以下のMaterialを作成しています。

以下の箇所にセットします。

それぞれのLayerに合うPngをセットします。

これは実装する時どのPngを使用するのかを確認します。

結果です。

後は、以下の色の部分に本当のMaterialの実装を追加するだけです。

これでUEのImportは終わりです。

Blender

スキップします

<Mesher Node

これもSkipします。

6.2 Gaea Beginner Tutorial Series : Part 6 - Importing to Unreal Engine/ Blender [6]を実装する

取りあえずやってみます。

Unreal Engine

以下の設定でImportします。

その前にWorld Partitionの設定をするのを忘れていました。

Project Settingを開くと、何か違います。

Enable World Partitionがないです。

その代りIs World Partitionがあります。

World Partitionが起動出来ないですね。

うーん。前に別のProjectでWorld Partitionを起動した時はどうやったんでしょうか?

2021-10-10のBlogを見ると

Tutorialと同じやり方でやっています。

良く分からないので新しいProjectを作成してみます。

やっぱりないです。

うーん。

以下のOpen World かEmpty Open WorldでLevelを作成した場合、最初からWorld Partitionが使用出来る様になっているみたいです。

ただしOpen WorldでLevelを作成すると既にLandscapeが存在しています。

こいつを消して新しいLandscapeを追加しても問題ないのか今一分かりません。

Empty Open Worldの方は空を自作しないといけません。

折角ですので空を自作します。

Unreal Engine 5 Beginner Tutorial - UE5 Starter Course 2022 [5]のEmptyのLevelから空を自作している所を見直したら、最初にLandscapeから作成していました。

Importします。

以下の様になりました。

あ。高さを調整するのを忘れていました。

まあ大丈夫でしょう。

Directional Lightを追加しました。

Landscapeの形状がはっきりしました。

次にSky Atmosphereを追加しました。

空に境目があり下半分は真っ黒です。

Sky Lightを追加します。

あれ、何も変わりません。

Exponential Height Fogでした。

Fogが掛かって黒い部分が消えたのは良いですがLandscapeにもFogが掛かっています。

Exponential Height Fogの位置を下げました。

今度はいい感じです。

最後にVolumetric Cloudを追加しました。

これで一応、OKとして次に進みます。

<Material In Unreal

それではこのLandscape用のMaterialを作成します。

このMaterialをTutorialの様にLandscapeのLandscape Materialにセットしました。

が、LandscapeにMaterialは適用されません。

仕方ないので、Landscape Streaming Proxy 0-0-0の

Landscape Materialにセットしたら

その部分だけMaterialが適応されました。

ので全てのLandscape Streaming ProxyのLandscape MaterialにこのMaterialをセットしました。

結果です。

勿論、MaterialのLandscape Coordinateノードの

Mapping Scaleの値は1009に直してあります。

Water systemを使用出来る様にします。

Water systemは軽くやります。

Tutorial通りの動作でWater Body RiverとWater Body Lake をLevel上に配置出来るかどうかの確認だけします。

まずPlace Actors ですがTutorialのやり方で普通に開けました。

Water Body Lakeを湖に配置してみました。

以下の表示がでてずっと止まっています。

以下の様になりました。

うん。これは後でもう一回Water Systemを勉強します。

今回はWater Systemは消して次に進みます。

<Texturing for Games

Tutorialと全く同じMaterialを作成しました。

今気が付いたんですが、このMaterialを適応させるLandscapeはまた最初から作成する必要があるんでしょうか?

うーん。多分そうでしょうね。

以下の様な警告が出て来ました。

仕方ないので警告が出たPngは外します。

Importします。

結果です。

なんだこれは?と思いましたが、一応色分けはされています。

緑色のGrass layer用のTextureは元々ないので適当なPngを入れたせいでへんな色の配置になっています。

後は先週のGaeaのPngの作成の時に名前をきちんと決めておかなかったせいでどこに使用していいのか分からないPngが沢山あります。

今週はここまでとして来週、間違いを直します。

7.雪山のMapの作成

今週はVolumetric CloudのMaterialの作成方法について勉強します。

UE4: Step-by-Step to Creating Your First Volumetric Cloud Material [7]を勉強する事にします。UE4: Step-by-Step to Creating Your First Volumetric Cloud Material [7]によるとこのTutorialを勉強する前にUE4: Analysis of Volumetric Clouds and How to Use Them [8]を勉強しておいて下さいとありました。

のでその順番で勉強します。

このTutorialはWorldofLevelDesign社で作成されています。この会社、Tutorialを売ってお金を稼いでいるので基本的にあんまりTutorialの内容を公開しないんですが、公開した内容を見ると結構Levelが高い事を分かり易く教えています。

この2つのTutorialでVolumetric Cloudについて全部教えてくれるのなら、結構良いTutorialだと思います。

でも触りだけ教えて後はTutorialを買ってください。だったら中身があんまりない見るだけ損したTutorialになるでしょう。

その辺を確認しながら勉強する事にします。

7.1 UE4: Analysis of Volumetric Clouds and How to Use Them [8]を軽く見る

Volumetric Cloudで自分で雲を追加する方法があると紹介しています。

これの使い方をもっと詳しく説明してほしかったです。

全部を軽く見ましたが、先週、Unreal Engine 5 Beginner Tutorial | Sky And Clouds [9]勉強した内容と大体同じでした。

のでここで一端、内容をまとめてから実装するのではなく内容をまとめながら実装も同時にやる事にします。

7.2 UE4: Analysis of Volumetric Clouds and How to Use Them [8]を実装する

そんなに難しなさそうなのでTutorialの内容をまとめながら同時に実装もやってみます。

まずVolumetric Cloudは4.26から導入されたそうです。つまり今作成してるGameには使えないです。

うーん。

まあいいでしょう。

<Volumetric Cloudについての簡単な解説>

Volumetric Cloudが導入される前は、Sphereの内側に空と雲を書いたMaterialを貼り付けてDomeにして空と雲を表現していました。

そうこれです。

要するにこれはOpenGLでいう所のSphere Mappingでしょう。

だからこのMaterialに使用されているTextureを変更したら雲一杯の空が作成出来るはずなんです。なんですが何故か出来なかった。

今作成しているRPGのUEのVersionが4.24なんだから、本当はこっちを深堀して曇り空を作成すべきなんでしょうが、UE5にはこれに該当するActorが空を作成する時に使用されてないんです。だから今一、SkyDomeMeshに対して勉強する気が起きないんです。

まあ、その辺は勉強して行くうちにぼちぼち判明していくでしょうからあんまり慌てないでやる事にします。

Volumetric Cloudの特徴について解説しています。

Volumetric CloudはSkyDomeMeshの雲とは違い、Directional Lightの影響を受けて変化します。

以下の例はSkyDomeMeshを切った状態でDirectional Lightの角度を変更した所です。

やはりVolumetric CloudはDirectional Lightの変化に応じて影や反射光が変化しています。

更にTutorialではVolumetric Cloudの場合は雲の中に移動する事も出来ますと解説されていました。

これは実際に試したんですが、以下の様になってVolumetric Cloud の中に入る事は出来たみたいですが、

他の空を構成するActorが既に破綻しています。

試しにLayer Bottom Altitudeを0にしてみると

以下の様になって

この場合は他の空を形成するActorが破綻しないでVolumetric Cloudの中に入れました。

まずVolumetric CloudをLevel上に追加する方法は3つあります。

一つ目はPlace ActorからVisual Effectsを選んでVolumetric Cloudを選択する方法です。

これは誰でも出来るやろ。と思いましたがそれ以外の2つが問題です。

後、あんまりVolumetric Cloudとは関係ないですが、この部分をPlace Actorsと言うんですね。これは知らんかった。

前の節で、UE5でPlace ActorからWater Systemを配置しましたが、何か特別なやり方かと思っていました。

2番目の方法はBlueprint内に一つだけ雲を生成してそのBlueprintを配置する方法だそうです。

先程軽く見ただけではこの2番目のやり方と3番目のやり方はここで紹介されるだけでした。

3つ目の手動で雲をPaintする方法です。

このやり方知りたい。

どうやってやるんでしょうか?

<Empty Levelから空を作成する>

またEmpty Levelから空を作成する方法です。

何故か、先々週、空を自作する方法を検索した時には全く出てこなかったのに、今週、見た余り空の自作とは関係のないTutorialの内の複数のTutorialが空の自作方法について非常に詳しい解説をしています。

このTutorialもそうです。

まあ、勉強になるので実際にやってみます。

まずDirectional Lightを追加します。

これはどのTutorialも同じですね。

次にDirectional LightのIntensityを3.14 luxに下げます。

これは恐らく初めて教わりました。

当然、Directional LightのMobilityはMovableにセットしました。

次にSky Atmosphereを追加します。

そしてDirectional LightのAtmosphere Sun LightにCheckを入れます。

結果です。

空が青くなりました。

次にSky Lightを追加します。

Sky LightはMobilityはMovableにセットして

Light にあるReal Time CaptureにCheckを入れます。

TutorialではこれをするとLightingをもっと正確にするとしか解説していません。

このSky Lightってたしか空からの反射光を追加するActorだったと思います。

確認します。

以下に示した様にCubeを配置しました。

これにSky Lightを追加します。

全体的に青みがかっています。更にCubeの影が薄くなりました。

この実験結果から空からの反射光を追加するActorだと断言は出来ませんが、多分合っているでしょう。次に行きます。

そしてVolumetric Cloudを追加します。

あれ、これで終わりですか?

SkyDomeMeshは?

あ。成程。だからUE5ではSkyDomeMeshは使用していないんだ。

見て下さい。

今の設定だと空の下の部分は真っ黒です。

UE4ではSkyDomeMeshを使用する事でこの真っ黒な部分を青くします。

UE5 では前の節でやったように、Exponential Height Fogを追加する事でこの真っ黒な部分を消す訳です。

うーん。成程。段々理解して来ました。

今度はVolumetric Cloudに使用されているMaterialについてです。

こっちを開くともっと沢山のParameterを変更する事が出来ます。

うーん。

これ弄るだけでも雲一杯の空作れそうですね。

後でそれぞれのParameterが何をしているのかについて検証しましょう。

当然、このInstanceの元になったMaterialについても解説していました。

これの実装については次のTutorialで解説するそうです。

このVolumetric Cloudに影響を与える他のActorの設定についてです。

まずはDirectional Lightです。Atmosphere and Cloudにある以下の項目です。

何で私のは灰色になって値がセット出来ないんでしょうか?

以下のCast Cloud ShadowsにCheckを入れたら出来る様になりました。

Sky Lightにも以下の項目があります。

こっちはCloud Ambient OcclusionにCheckを入れると値が指定出来る様になりました。

Volumetric CloudのSampleは以下の箇所にありますが、

数が少ないです。もっと沢山のサンプルを見る為にはPluginにあるVolumetricを追加する必要があります。

しました。

Pluginから以下のFolderを開きます。

ここにVolumetric Cloudの色々なSampleがあるそうです。

Contentの以下の場所にはMaterialの色々なサンプルがありました。

この辺は先週、勉強したUnreal Engine 5 Beginner Tutorial | Sky And Clouds [9]と全く同じです。

7.3 UE4: Step-by-Step to Creating Your First Volumetric Cloud Material [7]を軽く見る

ここでは最低限の基礎だけで構成されたMaterialを自作しています。

以下に簡単にそのMaterialの内容をまとめます。

<Result Nodeの設定>

Material DomainをVolumeにセットします。

Blend ModeはAdditiveです。

そして以下のNodeを繋ぎます。

結果です。

うーん。

これだけでも雲に覆われた空って感じがしていますね。

<Cloud Texture Maskの作成>

Cloud Texture Maskは雲のどの部分を消して青空が見えるのかを指定する実装だそうです。

UUが1cm でKmの単位を扱うために以下の実装を追加します。

TutorialによるとUE4では6桁以上の値は扱えないそうで、この計算を最初にやっておく必要があるそうです。

その後のMaskは雲の位置はXYで決定されるためです。

SubtractノードはTexture Maskの強さを調整するためだそうです。

<Cloud Density Control

Cloud Texture Maskの機能をチェックする前に、Cloud Density Controlを作成する必要があります。

Cloud Density Controlは文字通り雲の濃さを指定するための実装だそうです。

<Cloud Texture Mask + Cloud Density Controlの結果>

ここではそれぞれのParameterによる雲の変化についても解説しています。

ここは実装した時に自分で確認します。

<Cloud Volume Detail

今の雲の形は以下の様なプリン型をしています。

これをもっと雲のような形状に変形します。

そのためにVolume Textureを使用します。

以下のような実装をしました。

Tutorialでも説明していましたが2D Textureの場合と全く同じです。

結果です。

当然ですが、使用するVolume Textureを変更したら雲の形状も違ったモノになります。

<Height Fall Off

これは雲の上や下の部分を削る実装です。

このTutorialを作成した人もどうしてこの実装が雲の上や下の部分を削るのか理解出来なかったそうです。

<Volumetric Advanced Output

更に雲の細かい設定を調節出来るOutput Nodeがあるのでそれも使用します。

<雲を動かすための実装>

以下の実装をCloud Texture MaskとCloud Volume Detailに追加します。

この後は、別なTextureを使用した例などの解説をしています。

ので実装に関してはこれで終わりです。

7.4 UE4: Step-by-Step to Creating Your First Volumetric Cloud Material [7]を実装する

もうほとんど完璧に理解したので実際にVolumetric Cloud用のMaterialを作成してみます。

<Result Nodeの設定>

以下の様に作成しました。

<Cloud Texture Maskの作成>

出来ました。

ParameterのDefault値が分かりません。後で直します。

<Cloud Density Controlの作成>

出来ました。後ParameterのDefault値も追加しました。

<Cloud Texture Mask + Cloud Density Controlの結果>

Tutorialと同じ形になっています。

以下のParameterについて検証します。

<<Cloud Bias>>

雲のサイズを変化させます。

値を大きくすると雲が小さくなります。

<<Cloud Density>>

雲の濃さを変化させます。0の時は雲が消えます。

<<Mask Scale>>

雲全体の角度を変化させます。

Default値です。

値を小さくしました。

遠くの雲の底面まではっきり見える様になりました。

値を大きくしました。

雲の底面が全く見えなくなりました。

<Cloud Volume Detail

結果です。

<Height Fall Off

これは実装だけします。

出来ました。

テストしたら出来てませんでした。

見直したら以下の箇所が間違っていました。

結果です。

Upperを減らしたら雲の上の部分が小さくなりました。

Lowerを減らしたら

底が減るというか小さくなりました。

うーん。まあいいです。次に行きます。

<Volumetric Advanced Output

そのまま作成しました。

値を色々変えて見ましたが、幾つかのParameterの結果は正直あんまり変わらなかったです。

<雲を動かすための実装>

追加しました。

Tutorialではこの後、TextureをNoiseに交換した場合などをやっていますが、一端ここで終わりにします。

もっとも基礎的な部分だけですが、Volumetric CloudにおけるMaterialの仕組みが分かりました。

今週はこれで十分です。

8.UI Designの勉強

今週はStart Screenのイラストを作成します。

すっかり忘れていました。

以下のIllustrationを考えました。

以下の様にStart 画面に組み込みました。

実際のGame画面です。

何か寂しいですね。人が欲しいです。

後、後ろに何か作成します。

丁度いいのがありました。

これを使って後ろの3Dを作成します。

取りあえず以下の様になりました。

Play画面です。

今週はここまでとします。

9.アニメレンダリングについて

今週から新しくAnime Renderingについての勉強を始めます。

9.1 Anime Renderingについて

まずAnime Renderingという言い方ですが、私が勝手に作った言葉です。

いわゆるアニメ風のRenderingに対して、英語ではStylized Rendering、Toon Rendering、そしてCel look Renderingと言う言い方が一般的でAnime Renderingと言う言い方は存在しません。

ただしこれらの言い方にはある問題が有ります。それはこれらの言い方は日本のアニメ風のRenderingを含んでいますがそれだけを指す言葉ではないと言う事です。

例えばStylized Renderingの場合、そのまま翻訳すると写実的でないRenderingと言う意味で日本のアニメ風のRenderingだけでなくPhoto-realisticでないRenderingを全て含みます。

Toon Renderingの場合は、その名前通りCartoon全てを指し日本のアニメ風のRenderingだけでなく海外のアニメも含んだRenderingを指しています。

更に詳しく言うと、英語でAnimeと言う場合は、日本のアニメのみを指してアメリカ製のアニメは含まれません。英語圏のオタクや若者層の間では、アメリカ製のアニメはCartoon、日本製のアニメはAnimeと言うのが一般的です。なのでToon Renderingと言うと3d Graphicsにあまり詳しくない人は日本のアニメではなく、アメリカのアニメ、つまりCartoon調のRenderingの事かと思われる可能性もあります。

最後にCel look Renderingですが、これは前2つの英語とは違い、セル画調のRenderingと言う意味で日本のアニメ風のRenderingと言う意味と全く同じ意味になります。なりますがセル画が何なのかを知っている人でないと理解出来ません。そしてセル画を知っている人はほとんどいません。

のでこれらの言葉は日本のアニメ風のRenderingを指しているのかどうか曖昧な部分があり、日本のアニメ風のRenderingを勉強するための節にこれらの名前をつけるのは躊躇われました。のでここは日本のアニメ風のRenderingを指す新しい言葉、Anime Renderingを作成してそれを使用する事にしました。

またここではRenderingとShadingは同じ意味で使用しています。

3D GraphicsにおいてRenderingはPC上で仮想的に作成された3D空間を計算を通してPCの画面上に2次元のImageとして落とし込む行為を指します。それに対してShadingは、PC上で仮想的に作成された3Dの物体に対してGPUの言語であるHLSLやGLSLなどを用いてShadeつまり、陰影を追加する行為を指します。

つまりRenderingとShadingは本来は全く違う意味なのですが、現実問題としてRenderingとShadingは同じものとして扱われています。例えばToon RenderingとToon Shadingは同じ物を指しています。で、それに従います。

9.2 今回の予定

今回、Anime Renderingとして、ここで勉強する予定の内容を書いておきます。

9.3 PPLineDrawingの検証

そう言えばPPLineDrawingの出典を書くのを忘れていました。

Unreal Engineでイケてるイラストを描くためのノウハウ大放出! | UE4 Manga Anime Illustration Dive Online [11] 

今週はEdge Lineの機能について検証します。

まずDefault値です。

<Edge Line Ratio

Edge Line Rationを変化させてみます。

Edge Line Rationは0~1の範囲でしか値を変化出来ないですね。

0.5にしてみました。

お。

線の色が薄くなりました。

<Edge Line Sampling Scale

これは以下に示した様に選んだPixelの上下左右のPixelとの差を測って線を作成していますが、

この上下左右のPixelはSampleの直ぐ隣のPixelと比べるんですが、それを2個先のPixelと比較してるんだと思います。

もしくは2個先までのPixelの平均値と比較しているのかも。

まあ、理屈は兎も角試してみましょう。

Edge Line Sampling Scaleは範囲の指定は無くて1以上の値もとる事ができます。

5を代入しました。

0.05を代入してみました。

数字が大きい方が線が太くなる傾向がありますが、Linearには増えてない感じですね。

因みに値にマイナスを入れると以下の様になりました。

これも一概に予測出来ない結果ですね。

<Edge Line Scale Horizon

これは実装方法は分かりませんが、水平方向のLineについての変化だと思います。

Default値の5の場合です。

0にしてみました。

あれ、水平方向の線じゃなくて垂直方向の線が消えています。

今度はEdge Line Scale Horizonの値を20にしてみました。

やっぱり垂直方向の線画太くなっています。

<Edge Line Scale Vertical

Verticalの値を20にすると水平方向の線が太くなりました。

うん。

これは逆ですね。

<Edge Line Thickness

線の太さですね。

Default値が2なので半分の1にしてみました。

線を補足すると足の線が消えてしまいますね。

9.4 公式のDocumentStylized Rendering [12] の勉強

これはもうサポートを終了してしまった公式のDocumentです。

ですが、MaterialやLandscapeそしてPost Processを知った今、かなり完成されたStylized RenderingのTutorialみたいです。

のでこれを勉強しておくと私独自のAnime Renderingを作成するためにかなり役に立つ気がしています。

今週はこの中のStylized Rendering Materials [13] を軽く見てみます。

Stylized Rendering Materials [13] を軽く見る>

まず以下の文が目に付きます。

4.25でサポートを打ち切っています。

多分、このTutorialの意味する所を理解出来る人があんまりいなくて、作成した人がやる気無くなってしまったんでしょう。

それは残念ですが、better late than neverの精神で今勉強する事にします。

<Floating Brush Stroke Leaves

木の葉に使用しているMaterialの作成方法についてです。

ここのPointはDither Temporal AAノードを使用している所ですね。

うーん。このNodeを使用して透明感を出すとコストがかからないのは知っていますが、日本のアニメ風のRenderingを採用するのはコスト削減のためじゃないんですよね。

まあ、細かい点は来週以降勉強します。

<Foliage Material

Foliage に使用している植物に使用しているMaterialについてです。

これMaterial云々以前にデザインが秀逸です。

こっちはCustom ノードを使用してHLSLを直接書き込んでいます。

うん。

以上でした。

Stylized Rendering Materials [13] を軽く見た感想>

うーん。

まだ軽く見ただけで結論めいた事を書くのは引けるんですが、敢えて思った事を書きます。

Photo-realistic なRenderingは、最初に光と物体の干渉を物理的に正しく再現する所から始まります。それで計算コストとか関係なしに光と物体の干渉を物理的に正しく再現したら、その表現を保ったままどれくらい速く軽く計算できるのかについて研究します。

つまり3Dで再現するための元になるモノが現実にある物質とそれにどうやって光が干渉するのかを示す物理学の方程式なんです。

所が、Stylized Renderingを含むAnime Renderingは3Dで再現するための元になるモノは絵なんです。

3Dを、絵そっくりに作成する場合、絵には色々な種類がありまして、どの絵を3Dで再現するかがまず問われる訳です。

このTutorialは以下の様な絵を3Dを使用して再現していますが、

正直、この絵に興味のない人からしたらそれ出来て何になるの?

って感じなんです。

だからStylized RenderingのTutorialは絵を3Dで再現するんだ。今回はこんな絵を3Dで作成してみます。という前提の話が必要なんだと思います。

その辺を飛ばしていきなりDither Temporal AAノードやCustom ノードの解説をされても読者はついてこれないと思いました。

9.5 夏森轄(なつもり かつ)先生の【Blender】セルルック講座 ~ノード、輪郭線、法線転写、RGB分離~ [10] を勉強する

これも久しぶりの勉強になってしまいましたがやっていきます。

<How to Create Outline

まじか?今週は輪郭線を作成するそうです。

またOutlineの勉強かよ。と思いましたが、まぁ仕方ない。やります。

ここではソリッド化で輪郭線を作成するそうです。

うん。

初めて聞く方法です。Tutorial通りにやってみます。

最初に輪郭線用のMaterialを作成しています。

以下の中から赤丸で囲ったImageを選択すると

以下に示した様にMaterial用のEditorが表示されます。

そして+を押します。

すると以下の様にNewが表示されますので押します。

すると以下の赤い線で囲った部分の所にそのMaterialの名前を打ち込む所があるので、Lineと打ちます。

LineのMaterialは以下の様になっています。

これを以下の様にセットしました。

次にMaterialのEditorのSettingにあるBackface CullingにCheckを入れます。

ここまで何でこれをやっているのが全く理解出来ていません。

次にModifierから厚み付けを追加します。

Tutorialにソリッド化と書かれているので多分これでしょう。これを追加してみます。

Tutorialと同じ様にNormalがあります。

これを反転しました。

更にMaterialのOffsetを1にしました。

更にThicknessの値を大きくします。

おお、輪郭線が出来ました。

うーん。

これどうやって輪郭線を出しているのか意味が分かりません。

<輪郭線の作成方法を検証する>

このやり方でどうして輪郭線が出来るのか良く分かっていません。

のでここで検証します。

まずMaterialのLineですが色を変えてみました。

その結果、Lineの色も同じ色に変化しました。

これは予想通りでした。

次にBackface Cullingを外して見ました。

その結果、以下の様になりました。

これはどういう事なんでしょうか?

Backface Cullingって、要するにCullingをするってことでしょう。裏面が透明になるって事です。

あ、分かりました。

これは裏返しのModelを追加して線を抽出する方法と同じ原理ですわ。

Modelと全く同じ形状で少しだけ大きいModelを裏返しで重ねると、そのはみ出した部分だけ見え残りは透明になります。

調べたらModelと全く同じ形状で少しだけ大きいModelを裏返しで重ねるやり方は2022-04-11のBlogで勉強していました。

次のMaterial Offsetですが、これは何をしているんでしょうか?

TutorialでこのOffsetについて簡単な説明をしていますが、今一理解出来ません。

ので以下の様に新しいMaterialをもう一個作成してTestしてみます。

Material Offsetの値を2にします。

はい。線の色が緑になりました。

どうやらMaterial OffsetってどのMaterialをOffsetするのかを指定してるようです。

最後にThicknessですが、

これ値を大きくすると

確かに線画太くなりますが、これLineのMaterialが大きくなるのではなくて球が小さくなっています。

あ。

Offsetが-1でした。

と言う事はこれは規準となる0のMaterialで使用されているMeshの大きさだけを小さくしていると考えられます。

うーん。

複雑。

この後、Offsetの値を-1から1に変更したり、Thicknessにマイナスの値を入れたりして試したんですが、この考え方では起きえない結果が出て来ました。

ので今週はここで中止して一週間、この理屈を考える事にします。

もう勉強する時間が無くなってしまったので今週はここまでとします。

10.まとめと感想

今週は、新たにAnime Renderingと言う項を作成してその勉強を始めました。

最初から勉強するのに時間が十分とれず、尻切れトンボな形になってしまいましたが、取りあえず10回はやるつもりです。

11.参照(Reference)

[1] CGHOW. (2022, June 12). Unreal Engine 5 Niagara Beginner Tutorial - UE5 Niagara Starter Course! [Video]. YouTube. https://www.youtube.com/watch?v=NcJ1ZP7tFUk

[2] Epic Games. (n.d.). Niagara Tutorials. Unreal Enigne. Retrieved July 10, 2022, from https://docs.unrealengine.com/5.0/en-US/tutorials-for-niagara-effects-in-unreal-engine/

[3] Cloward, B. [Ben Cloward]. (2022, June 2). Hex Grid Normal Tiling - Shader Graph Basics - Episode 48 [Video]. YouTube. https://www.youtube.com/watch?v=BBRmZ1dZCro

[4] Unreal Sensei. (2020, August 7). How to HIDE Texture REPETITION in Unreal Engine - UE4 Tutorial [Video]. YouTube. https://www.youtube.com/watch?v=yCRzOdo4b68

[5] Unreal Sensei. (2022, June 30). Unreal Engine 5 Beginner Tutorial - UE5 Starter Course 2022 [Video]. YouTube. https://www.youtube.com/watch?v=k-zMkzmduqI

[6] Klaus. (2022, January 26). Gaea Beginner Tutorial Series : Part 6 - Importing to Unreal Engine/ Blender [Video]. YouTube. https://www.youtube.com/watch?v=EFXIm4TmMKI&list=PLyNtvXvNIFMMHnW1_-hXO3RNPp_Z5CExF&index=6

[7] WorldofLevelDesign. (2021b, February 16). UE4: Step-by-Step to Creating Your First Volumetric Cloud Material [Video]. YouTube. https://www.youtube.com/watch?v=aYxvN5cs-EU

[8] WorldofLevelDesign. (2021a, February 9). UE4: Analysis of Volumetric Clouds and How to Use Them [Video]. YouTube. https://www.youtube.com/watch?v=8XjEk-CP-kQ

[9] pinkpocketTV. (2022, January 14). Unreal Engine 5 Beginner Tutorial | Sky And Clouds [Video]. YouTube. https://www.youtube.com/watch?v=lYZoR3ZLD-o

[10] 夏森轄(なつもり かつ). (2022, May 21). 【Blender】セルルック講座 ~ノード、輪郭線、法線転写、RGB分離~ [Video]. YouTube. https://www.youtube.com/watch?v=e1tFq5OoSY0

[11] Epic Game Japan [Unreal Engine JP]. (2022, February 21). Unreal Engineでイケてるイラストを描くためのノウハウ大放出! | UE4 Manga Anime Illustration Dive Online [Video]. YouTube. https://www.youtube.com/watch?v=QuYIkSozV6w

[12] Epic Games. (n.d.-c). Stylized Rendering. Unreal Engine Documentation. Retrieved June 19, 2022, from https://docs.unrealengine.com/4.27/en-US/Resources/Showcases/Stylized/

[13] Epic Games. (n.d.-b). Stylized Rendering Materials. Unreal Engine Documentation. Retrieved July 10, 2022, from https://docs.unrealengine.com/4.27/en-US/Resources/Showcases/Stylized/Materials/