UE4の勉強記録

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

12章7節 枝葉(Foliage) API –レベルに手順通りに(procedurally)木々を追加する。

<前文>

f:id:kazuhironagai77:20181118214012p:plain

枝葉(Foliage) APIを使用してレベル上に自然な感じで木々を植える方法を勉強するようです。またパーリンノイズ(Perlin noise)を使うみたいです。前回良く復習しておいて良かったです。

<本文>

まず、コードを使わないでエディター上から使用する方法を勉強するそうです。

<目的>

枝葉(Foliage) APIを使用してレベル上に自然な感じで木々を植える方法を勉強するようです。ただし今回は、その予行としてUE4エディターから手順通りに(procedurally)操作する方法を習うようです。

<方法>

Step.0

新しいプロジェクトを作成します。プロジェクト名はChapter12part7です。UE4のバージョンは、4.21.0です。

取りあえず、ランドスケープ(landscape)を作成しました。

f:id:kazuhironagai77:20181125194039p:plain

ざっと読んだのですが、教科書が何を言っているのか今一分かりません。どうしようか悩んでいたら「見てわかるUnreal Engine 4 ゲーム制作超入門」のP279 にフォリッジ「枝葉(foliage)」について書かれているのを思い出しました。これをまず復習します。

f:id:kazuhironagai77:20181125194058p:plain

一応木を配置出来ました。

マテリアルがついていません。ウーン。

f:id:kazuhironagai77:20181125194116p:plain

Textureの指定が上手く行かなかったみたいです。

プロジェクトにOpen World Demo Collectionを追加してそこからマイグレート(migrate)する事にします。

f:id:kazuhironagai77:20181125194137p:plain

f:id:kazuhironagai77:20181125194147p:plain

これが正しいtextureの指定先のようです。

Textureは正しく表示されませんでしたが「見てわかるUnreal Engine 4 ゲーム制作超入門」のフォリッジ(foliage)については大変分かり易く、フォリッジ(foliage)そのものを理解するには大変役に立ちました。

後、この本ではfoliageをフォリッジと訳していました。Foliageは一本の木の葉っぱ全部を指す言葉ですので枝葉とは意味が違いますが、フォリッジと言っても普通の日本人は何の事が全く分からないので、ここでは枝葉(foliage)で行きます。

f:id:kazuhironagai77:20181125194206p:plain

最初、textureが表示されないのはこのせいかと思ってましたが、

f:id:kazuhironagai77:20181125194222p:plain

関係なかったです。

<手動式>

Step.1

f:id:kazuhironagai77:20181125194312p:plain

f:id:kazuhironagai77:20181125194322p:plain

選びました。

Step.2

f:id:kazuhironagai77:20181125194359p:plain

f:id:kazuhironagai77:20181125194405p:plain

しました。

Step.3

f:id:kazuhironagai77:20181125194443p:plain

f:id:kazuhironagai77:20181125194449p:plain

Testと名付けました。

Step.4

f:id:kazuhironagai77:20181125194520p:plain

f:id:kazuhironagai77:20181125194542p:plain

しました。メッシュは「見てわかるUnreal Engine 4 ゲーム制作超入門」のフォリッジ(foliage)で使用したBogMyrtle_01を使用しました。

Step.5

f:id:kazuhironagai77:20181125194616p:plain

やり直すために新しいランドスケープ(landscape)とfoliage type オブジェクトを作り直しました。

f:id:kazuhironagai77:20181125194633p:plain

ペイントブラシのサイズと濃度は以下のままです。

f:id:kazuhironagai77:20181125194651p:plain

ペイントしました。

f:id:kazuhironagai77:20181125194708p:plain

Step.6

f:id:kazuhironagai77:20181125194730p:plain

f:id:kazuhironagai77:20181125194742p:plain

シフト+クリックで枝葉(foliage)は消えました。

<手順式(procedurally)

Step.1

f:id:kazuhironagai77:20181125194830p:plain

ウーン。最初からちょっと意味が分からないですね。

f:id:kazuhironagai77:20181125194845p:plain

Content browserで右クリックしてもFoliage Typeのオブジェクトが作成出来る選択はないみたいですし。

f:id:kazuhironagai77:20181125194906p:plain

ありました。

Step.2

f:id:kazuhironagai77:20181125194941p:plain

ウーン。どこの?と思って取りあえずグーグルで検索していたら、UnrealのオフィシャルサイトにProcedural Foliage Tool Quick Startがあって、しかも内容がほぼ一緒で、はぁと思ってしまいました。

何で、公式サイトにある内容をレシピに入れるのですかね?

まあ、どうしても後の説明に必要であるならば、公式のサイトに詳しい説明がありますが、とか一言書くべきだと思います。もしくはネットで検索しないでも済むくらい詳しく説明すべきです。

ひょっとしたらこのレシピはオフィシャルサイトのProcedural Foliage Tool Quick Startを既に勉強した人が復習する程度の意味で書かれているのかもしれません。兎に角、説明が足りないです。

Procedural Foliage Tool Quick Startを先に読んでみます。

思いっきり一番最初にありました。

f:id:kazuhironagai77:20181125195012p:plain

前提条件

プロジェクトでProcedual Foliageツールを使用する前に、以下の事をして下さい。

1.メインのツールバーからeditオプションを選択し、Editor Preferenceをクリックして下さい。

しました。

f:id:kazuhironagai77:20181125195127p:plain

Step.3

f:id:kazuhironagai77:20181125195151p:plain

f:id:kazuhironagai77:20181125195201p:plain

しました。しかし公式の説明の方が全然分かり易く説明されていますね。

Step.4

f:id:kazuhironagai77:20181125195236p:plain

f:id:kazuhironagai77:20181125195244p:plain

しました。

Step.5

f:id:kazuhironagai77:20181125195318p:plain

一応確認のために、公式のサイトも見てみると、この手順の前にランドスケープ(landscape)を作成しているので、

f:id:kazuhironagai77:20181125195336p:plain

新しいランドスケープ(landscape)をまず作成しました。

f:id:kazuhironagai77:20181125195351p:plain

Step.6

f:id:kazuhironagai77:20181125195431p:plain

f:id:kazuhironagai77:20181125195437p:plain

しました。ただし、選択したFoliageのタイプは、前に使用したBogMyrtle_01です。

Step.7

f:id:kazuhironagai77:20181125195513p:plain

f:id:kazuhironagai77:20181125195522p:plain

しました。

何も生成されないので、公式の方をみたら、

f:id:kazuhironagai77:20181125195539p:plain

を押して下さいと書かれています。

f:id:kazuhironagai77:20181125195553p:plain

押したら、2本だけ木が生成されました。

Procedural Foliage Spawnerのサイズを大きくしたら、もう少し沢山の木が生成されました。

f:id:kazuhironagai77:20181125195614p:plain

教科書や公式サイトのような木々で生い茂る感じではないです。

f:id:kazuhironagai77:20181125195630p:plain

パラメーターをいじったら、

f:id:kazuhironagai77:20181125195649p:plain

少しは木が増えました。

Step.8

f:id:kazuhironagai77:20181125195723p:plain

ウーン。木が沢山生い茂っていれば試せるのですが、今回はここはスキップします。

これも、この説明では何を言っているのか分からなかったのですが、公式の説明を見たら一発で分かりました。

Step.9

f:id:kazuhironagai77:20181125195751p:plain

SIMULATEボタンはなくRESIMULATEボタンですが、step.7で既に実行しました。

Step.10

f:id:kazuhironagai77:20181125195827p:plain

はい。

<結果>

f:id:kazuhironagai77:20181125195902p:plain

特に、変更するパラメーターも知らないのでこれで終わりです。

一応操作方法は理解したと思います。木が公式のtutorialや教科書の説明のように沢山生成されないのが気がかりですが、まあいいです。理解しました。

<考察>

特にないです。

<まとめ>

今回は、コードから操作するための前提の勉強でした。このレシピがいいか悪いかはその次のレシピしだいでしょうね。

<おまけ>

公式の説明通りに勉強したら30分以下で終わりましたが、この教科書に沿って勉強したら3時間以上かかって、しかも解けなかったです。大変悪い説明だと思います。

しかしこの教科書で勉強する読者はこの辺の内容は既に勉強済みと仮定しているのなら、まぁこの程度の説明でも十分なのかもしれません。