<前文>
最近、Minimal Pairのアプリを作成している関係で、独学ですが音声学について勉強する機会が多くなっています。その関係で、日本語の音声学についてのかなり質の高い解説が見つかったりします。
例えば、私は2020-12-20のブログで日本語の「う」の発音がVowel Chartの分類において正しくないのではないのか?と述べています。
そしたら、複数の日本語の音声学を解説したサイトで日本語の「う」の音は人によって、あるいは関西と関東で違うと書かれていました。
本当はここからそのサイトで解説されていた言語学、特に日本語の文法についての私見について述べようと思って、実際一回書いたのですが、千に一つかもしれませんが、日本人について日本語で批評する話は、自分の望まない炎上が起きる可能性がある事に気が付きました。ので全部消しました。だから今週の前文はなしです。
それでは今週の勉強を始めます。
<本文>
1.今週の予定
今週は以下の事についてやっていきます。
- NiagaraとCascadeの勉強の続き
- Monster Zoneのテストの続き
- Instance EditableとUE4C++おけるEditDefaultsOnly、EditInstanceOnlyとEditAnywhereの関係についての確認
- Particle systemの勉強方法について
- On Actor End Overlapから退散する時に戦闘中か、そうでないかについての確認方法は、Monster Name in FightingがNoneでない事で確認した方が効率が良い件について
- Monsterを倒した後で、DataTableの設定を変える時のコードの変更
- 魔法陣の直し
うーん。取りあえずやっていきますか。
2.Niagaraの勉強
先週、花火を作ろうと決めたのですが、試しに作成したら何か違うものが出来ました。
それで花火のサイトを調べました。そしたら凄く詳しく花火について解説されていて、これは本格的に勉強しないと分からないなと思いました。
でもそのためにNiagaraの勉強を中断する訳にもいかないので、
Audio Effects In Niagara [1]とCreate a Ribbon Effect in Niagara [2]を今週は勉強します。その後で花火についての勉強をします。
1.1 Audio Effects In Niagara [1]を勉強する
<Using the Play Audio Module>
one-shot sound effectならPlay Audio Moduleを追加すべきとあります。One-shot soundってどんな音なのと調べたらLoopしない音の総称だそうです。
Content Examples Projectにサンプルがあります。と書かれていたので見てみます。
すっごい色んな音がします。想像の10倍くらい凄いです。
Ctrl+Eを押して該当するNiagara Systemを開きます。
Play Audio Moduleがありました。
Play Audio Moduleを選択してDetailをみると、まだ実験中と書かれていますね。
使い方としてはModuleとして足すだけのようです。
この方法で音を出す場合は、Volume やPitch、そして音の場所は例えParticleが動いても変える事は出来ないそうです。
最も簡単ですが最も融通が効かないやり方だそうです。
<Using the Play Persistent Audio Module>
Persistent の名称から推測するに、それぞれのParticleのIDをKeep出来る様にしておいて、それぞれのparticleにアクセス出来るようにしていると思われますがどうでしょうか?
惜しい。
発生したそれぞれの音に対してのIDをKeepしているそうです。
それぞれの音のIDをkeepしているので、音のPitchやvolumeをPlay中に変更出来るのがPlay Audio Moduleとの違いだそうです。
ただし、その使い方のPlay Audio Moduleより難しくなるそうです。
Play Persistent Audio Module とUpdate Persistent Audio Moduleの二つを使用する必要があります。
Content Examples Projectのサンプルを見ると以下の様になっていました。
このDocumentの説明によれば全てのPersistent Audio Module のAudio Playerは同じaudio player data interfaceである必要があるそうです。
Content Examples Projectのサンプルも同じ名前になっています。
ただこのAudio Playerの実際のDataがどこにあるのかは分かりません。
分かりました。
Emitter Spawnにありました。
中身は以下の様なParameterがありました。
このDocumentで使用されている図と比較すると少し違います。
しかも公式のDocumentではそれをDouble Clickすると以下の様なBPが開けるとあります。
うーん。このNiagara SystemにおけるBPは使用してみたいです。みたいですがこのDocumentを読むだけでこれを使用出来る様になるのは無理そうですね。
1.2 UE4 - Niagara Audio - Part 1 - Play Audio [3]を勉強する
はい。困った時はYouTube先生に頼ります。Niagara のAudioに関するTutorialありました。しかもgameDev Outpostの作成したTutorialです。信頼出来ます。
UE4 - Niagara Audio - Part 1 - Play Audio [3]を勉強します。
Niagara Emitter -> New Emitter from Template -> Emptyで新しいEmitterを作成します。
あれ。NE_と普通に名付けています。
2021-05-10のブログや
2021-05-17のブログで
gameDev OutpostはNiagara systemもNiagara EmitterもNS_で名付けている。と書き込んでいましたが間違っていました。実際はNiagara Emitterのprefixの場合はNE_を使用していました。普通に考えればこんなきちんとしたTutorialを作成する人(組織?)が別のクラスに同じprefixを使用する訳ないですね。
Emitter Update CategoryにSpawn Burst Instantaneous Moduleを追加しました。
この辺は別にPlay Audio moduleの使い方とは関係ないですが、復習も兼ねてしっかりやる事にします。
以下の様になりました。
追加したModuleを下に示します。
Particle SpawnにPlay Audioを追加しました。
ここからが本番です。
<Play Audio Explanation>
この動画の1:48からPlay Audio ExplanationとしてPlay AudioのそれぞれのParameterの機能について簡単に説明しています。
サラッと説明していますが、これって凄い大事な内容なんじゃないでしょうか?
その中で、他ではあまり聞けない所だけここにまとめました。
Concurrencyは最適化のために使用します。最適化をしない時は何もセットしなくて良いみたいです。
どんな条件の時に、このPlay Audioにセットされた音をPlayするかを決める所だそうです。
今はそのものズバリPlay Audioがセットされていますが、Play Audioがセットされた時はどんな条件なんでしょうか?このParameterを使いこなすためには、もう少し情報が必要です。
一つのParticleに対して一回だけ音をPlayするかどうかだそうです。
音の発生する位置を指定するParameterだそうです。この設定だとParticleの位置から発生します。
どのCoordinateを使用するかを決定します。
WorldとLocalは分かりますがSimulationはどんな座標系なんでしょう?
Pitch、Volume、Start Timeの値を設定します。
ここまでがParameterの解説でした。大変勉強になりました。
また実際の作成に戻ります。
Sound To Playに音をセットしました。TutorialではCompile Start Cueをセットしていますが、万が一このProjectでCompileする事があると紛らわしくなるので別な音を付けました。
今度はどんな音がしてるのかの確認をします。
しかし、音は実際にLevelに配置しないと聞こえないそうです。なのでNSをこのEmitterから作成します。ちゃんとPrefixはNS_としました。
それをLevel上に配置します。
音しません。
Play状態でも確認しましたが音しません。
はい。Tutorialでしっかり説明されていました。
Play AudioはDefaultではFalseにセットされているため、音を発生するためにはそれをTrueに変える必要があるのだそうです。
Niagara Emitterを開きます。
Window->ParameterでParametersを表示させます。
->Particle Attributeを開くとplay Audioがあります。
CursorをPlay Audioに乗せるとPlay AudioはBoolean型と表示されます。
これを使用します。
DragしてPlay Audioの上に配置します。
YouTubeというか動画は、こういう時本当に便利です。文章だけでどんな風にDragするのかを説明するのは非常に難しいですが映像を見せれば一発で理解出来ます。
Set Particle Play Audio を選択するとBoolean型のParameterがありました。
Trueにしました。
凄い音がしています。
最後にCollisionした時に音が出る様にします。
これは結果だけ載せようとしたら、結構重要な内容を教えていましたのでやっぱり全部記録します。
Collisionした時に音を出すためには、まずCollision moduleが必要です。
Particle Update CategoryにCollision moduleを追加しました。
Play Audio ModuleのParameterであるPlay AudioにCollision 関連のParameterをセットするためには、
Play Audio ModuleをCollision Moduleの下にセットする必要があります。
しました。
今度は、PlayAudioにCollisionValidをセットします。
Set Particle PlayAudio をTrueに戻すのも忘れずに行います。
テストします。
Particleが地面にぶつかった時に音が一回だけ鳴りました。
Particleが地面にぶつかるたびに音が鳴るようにします。
Play Audio ModuleのPlay Once Per Particleのチェックを外します。
地面にぶつかる度に音がするようになりました。
以上でした。
Play Audio Moduleについてかなり色々分かって来ました。
<Play Persistent Audio Module について>
UE4 - Niagara Audio - Part 2 - Play Audio Continued [4]でPlay Persistent Audio Moduleの分かり易い使い方を教えてもらえると思っていたら、このTutorialもPlay Audio Moduleの使い方についてでした。流石に今の私のレベルでサンプルコードから正しいPlay Persistent Audio Moduleの使い方を判明させるのは無理です。
それで、分かるところだけ自分で試してみようと思います。
まずBPの開き方です。
これModuleだったら何でも開けます。
試しにPlay Persistent Audioをdouble Clickしてみます。
以下のBPの実装が開きました。
2021-04-26 のブログでNiagara Key Concepts [5]の4つの原則について勉強しました。その一つを以下に示しました。
この内のStack Paradigmは以下に示したようないつものヤツなので
見慣れてはいます。しかしもう一方のGraph Paradigmは見た事ないので、実際に自分で触る日は来ないんじゃないのかなと思っていました。
そしたらModuleをdouble ClickするだけでGraph Paradigmにaccess出来る事が分かってなんか拍子抜けです。
今度は、Play Audio ModuleをPlay Persistent Audioに変えてみました。
Update Persistent Audioを使用しなくても音は聞こえますね。音を途中で変化させる時だけUpdate Persistent Audioが必要なんでしょうか?
Play Persistent Audioのparameterは以下の様になっていました。
所が、Content ExampleのPlay Persistent AudioはAudioの部分がないです。
やっぱりまだ理解出来ませんね。この辺で止めておきます。
流石に、Create a Ribbon Effect in Niagara [2]を勉強する時間はありません。これは来週勉強します。
2. 花火について
先週、花火を作ろうとして何か微妙に違う物が出来ました。その理由は花火をよく知らないからだと思い、花火について解説したサイトで勉強しました。その勉強した内容をここにまとめます。
ここで述べる花火は打ち上げ花火限定です。更に日本の花火についてだけです。
ハッキリ言ってアメリカの花火は繊細さがないです。音と火薬の匂いは凄いですが。芸術的な観点なら断然日本の方が上でしょう。
2.1 菊花火と牡丹花火
私がイメージした花火は以下の様に点が四方八方に飛び散るものでしたが、
実際の花火は以下の様な線状の火花が飛び散るものでした。
成程、これが違うのかと思ったら、花火のサイトを読んだら、私がイメージした花火もあって種類が違うそうです。
まず、花火が球状になるものを割物と呼ぶそうです。その中で火花が尾を引くタイプはそれが菊の花びらに似ている事から菊物、火花が尾を引かない物を牡丹物と呼ぶそうです。
球状じゃない花火もいっぱいありますがそれらの名称もあるんですか?とか菊、牡丹以外の種類もあるんですか?と調べてたら一気に時間を取られてしまいました。
別に花火についてのBlogではないのでそれらは後でまとめて簡潔な形にした状態で記録します。
2.2 花火とUE4
日本の花火は繊細でとても美しく、更に日本の情緒を表しています。
アニメやゲームのような新興の日本文化だけでなく、浮世絵や日本刀のような伝統的な日本文化も世界中で大人気です。それがいつまで続くのかは分かりませんが、はっきり言って今はバブル状態です。
しかし何故か今まで日本の花火は世界から注目を浴びて来ませんでした。でもこれから注目される可能性はかなり高いと思われます。
そしてCGで、日本の花火の美しさ、儚さ、繊細さを表現出来るのは、現状UE4だけでしょう。
ひょっとするとですが、Niagara Systemで日本の花火を作るのはとんでもないビジネスチャンスが埋まっているかもしれません。
3. Cascadeの勉強の続き
3.1 先週の勉強の続き
先週はSpawn ModuleのSpawn内のParameterの機能について勉強しました。
今週はBurstについて勉強します。
3.2 Burstについて
まずいじって見ます。SpawnのDistributionをFloat ConstantにしてConstantを0にします。
何も発生しなくなりました。
今度はBurstのBurst List にElementを追加します。
まだ何も発生しません。
Countの値を1にしてみます。
お、発生しています。
見にくいのでUnlitに変更しました。更にCountに100を代入しました。
それではBurstのparameterの意味について検討してみます。
まずBurstとSpawnの違いですが、Bustは一辺にSpawnしてその後Intervalがあります。
Spawnは、Intervalがありません。後、一辺に沢山のparticleがSpawnする事もありません。
SpawnとBurstを同時にやってみます。
黄色がBurstです。Timeを0.96にする事でBurstにIntervalが在る事をはっきり分かるようにしています。
水色がSpawnです。以下の条件にセットしました。
こんな感じに成りました。
遠くから見るとこんな感じです。
うーん。今の時点では見た目は大きく変わらないですね。
公式のDocumentのDefault Required and Spawn Modules [6]を参考にしながらBurstのParameterの機能を調べます。
InstantとInterpolatedの二つがあります。
Default Required and Spawn Modules [6]には以下のように書かれていました。
どっちでも関係ないのかもしれませんね。
次にBurst Listの要素のParameterであるCount、Count Low、Timeについてです。
公式のDocumentの説明です。
Countには最大値、Count Lowに最小値を入れる事でRandomな数Particleが生成されるようです。EmitterのLife time云々は良く分からないですが、TimeはBurstするIntervalを示しているはずです。
以下の条件で試してみます。
生成されるParticleの数が、1,2,3,1になっています。
生成されるParticleの数の範囲は[count low , count]になっていそうです。
Timeを0.01に変えました。
0.95の場合です。
変わっていませんね。良く分からないです。
Burst ScaleはSpawn のRate Scaleと一緒でしょう。ただ数字を変えているだけみたいです。
試してみます。Constantの値を5にしました。
5倍に増えていそうですね。
Process Burst Listについてです。
公式のDocumentの説明です。
Process Spawn Rateと同じ機能ですね。
一応Burstについての機能もこれで分かりました。
4. 魔法陣の直し
もう少しCascadeの勉強をしたいですが、勉強だけに限られた時間を費やす訳にもいかないので、折衷案として魔法陣の直しをやる事にします。
それぞれのemitterが保持するModuleの設定から見てみます。
2番目のParticle Emitterのチェックをクリックして2番目のParticle Emitterを表示出来なくしました。
以下のようなイメージになっています。
随分緑色ですね。
それぞれのModuleを見て行きます。
まず、Lock Axis Moduleです。
Z軸に固定されています。
この意味全然分からなかったんですが、Spriteを勉強し直したら一発で理解できました。
Spriteの場合、particleに貼りつけたMaterialは常にCameraに対して正面を向くようになります。しかし時にはMaterialの向く方向は常に一定であってほしい場合もあります。この魔法陣の場合もそうです。
それを強制するmoduleがLock Axis Moduleだったんです。
うーん。
なんで最初からそう教えてくれないの?
一応、確認だけはしておきます。
サラのParticle Systemを作成します。
見やすいように以下の様な改良をしました。
Lock Axis Moduleを追加してLock Axis FlagsにZ軸をセットします。
以下の様になりました。
Materialの向きがカメラではなくZ軸に沿って向くようになりました。
やっぱり合っています
最後に公式のDocumentも確認しておきます。Orientation Modules [7]を見ると
やっぱりそう書かれています。
次にSpawnを見ようとしたらその上にRequiredが在る事を忘れていました。
勿論、無視して進むのもアリですが、先程のLock Axis Moduleの例の様に、Spriteが常にmaterialの向きをカメラに対して正面にしている事を知らないと、何をやっているのか意味不明になる場合もあります。つまり順序を違えて勉強しても無駄に終わる可能性が高いです。
うーん。しょうがないです。
Required ModuleのParameterを勉強します。
公式のDocumentはDefault Required and Spawn Modules [8] です。このサイトを参考にしながら勉強します。
最初のこの3つは流石に知っています。Spriteに使用するMaterialとそのSpriteの発生位置並びに発生する角度の指定です。
Screen Alignmentです。
文字通り解釈するなら画面に対してどの様に整列するかです。
Cursorを被せると以下のような解説が出て来ます。
公式のDocumentでは以下の説明がありました。同じではないですね。
でも言っている内容は大体同じですね。
やっぱりカメラに対してどの向きでMaterialを並べるかについて指定するParameterですね。
一応、読んで全く意味が分からない事はないですね。本当に分かっているのかはそれぞれの条件でテストする必要があります。でも今回そこまでやる必要はない気もしているのでここまでとします。
この二つは先程のパラメーター、Screen Alignment でPSA_FacingCameraDistanceBlendを選択した場合に使用するパラメーターでしょう。
Cursorを乗せたらそう解説されていました。
Local Spaceを使用するかどうかを指定するparameterである事は分かりますが、別にWorld Coordinate を使用したって何も変わらない気がします。
でも確か魔法陣のTutorial、Magic Aura Effect - Particle System - [UE4 Tutorial] [9]でLocal Spaceを使用しないと駄目な理由を何処かで説明していた気がします。
見直して見ました。6:04辺りでLocal Spaceについて説明しています。
Local Spaceを使用するとParticle Systemの周りでImageを動かす時、Lagが生じないと言ってるみたいです。ただimageと言っていないでEmitterと言っているかもしれません。分かりませんね。
それでですね。
今、魔法陣のTutorial、Magic Aura Effect - Particle System - [UE4 Tutorial] [9]を見直したら、かなりの部分の説明の意味がすんなり理解出来るようになりました。
もう一回、Magic Aura Effect - Particle System - [UE4 Tutorial] [9]を作成し直した方がParticle systemの理解が進むような気がします。ので来週それをする事にしました。
今週はここまでとします。
5. Monster Zoneのテストの続き
先週、なんとかMonster Zone Actorを作成しましたがテストは不十分な状態で終わってしまいました。
今週は色々テストしてみます。
と思ったんですが、何をテストしたかったのかもう忘れてしまいました。先週のBlogを読んだんですがそこまでは詳しく記録していませんでした。
戦闘したり、Blockに侵入したり退散したりを繰り返したんですが、特に問題はありませんでした。
5.1 Monster Zoneのサイズを変える
それでMonster Zone2のサイズを変えて見ました。
これでテストしてみます。
Block2に侵入したらMonsterが2体現れました。結構、ドキっとしました。
2体のモンスターを倒してLandscape4に戻って来ましたが特に問題も起きませんでした。
もっとモンスターを増やしてみます。
以下の様な感じになりました。
戦闘してみます。
全部倒しました。
結構大変でした。
魔法の炎(小)を使用してMonsterを倒した時、カメラの位置が少し変な気がします。これは後で直します。
5.2 Block 1をMonster Zone 1に変更する。
以下の部分がBlock1でその中にあるNav Mesh Bound Volume がTerritory 1です。更にそのterritory 1と同じサイズのTriggerがTrigger1です。
これをMonster Zone 1で置き換えます。
Landscape4のBPにあるBlock1やTrigger1のEventが発動しないようにします。
戦闘から戻って来た時もLandscape4のBP からMonsterの生成は行わない様にします。
今度はMonster Zoneを追加します。このMonster Zoneの名前はMonster Zone 1です。
Block1、MonsterZone1などを追加します。
Get Monster Spawn Data()関数を直します。
以下の様に直しました。
これでMonsterが発生するはずです。
テストしてみます。
しています。戦闘なども試してみます。
戦闘は出来ましたが、バグが2つ発生しました。最初のバグは戻って来た時にモンスターが生成されません。次のバグはもう一度Monster Zone 1に侵入した時に倒したモンスターが復活していました。
確認のためにもう一度戦闘をしたら今度はバグは発生しませんでした。
良く分からないです。
5.3 Monster Zoneのバグについて
そう言えば、以下の状態で戦闘から帰ってきた場合、playerの操作するキャラが居ないTerritoryにはMonsterが発生しないバグがありました。
このバグの直し方のアイデアは既にあります。が下の全てのTerritoryをMonster Zoneで置き換えてから直します。
6. Instance EditableとUE4C++おけるEditDefaultsOnly、EditInstanceOnlyとEditAnywhereの関係についての確認
先週、「7.Blue Printにおける変数についてのテスト」でBPの変数はPrivateの状態でもそれぞれのInstanceで別な値が取れる事が分かりました。前にUE4C++のEditDefaultsOnly、EditInstanceOnlyとEditAnywhereとBPのInstance Editableの関係についてまとめましたが間違っていました。のでここでもう一度検討して訂正したいと思います。
2020-10-11のブログに以下の様に書いています。
うーん。これだけ読むと間違った事は言ってはいませんね。ここで私が述べているのは、
- PublicにするとそれぞれのInstanceで初期値を別々にセット出来る。
- 解説でもそれぞれのInstanceで編集可能
と言っているだけです。これと私が勘違いしていたPublicにしなくてもBPの変数はそれぞれのInstance毎に別な値を取れる事とは関係ないです。私が勘違いしていたPublicにしなくてもBPの変数はそれぞれのInstance毎に別な値を取れる事を加味しても、Publicにしなければ、それぞれのInstanceで初期値を別々にセットは出来ません。更にUE4の解説で私の主張は支持されています。「それぞれのInstanceで編集可能」と言っていますから。
ただその後で以下のような事を言っています。
あれ。これも間違ってはいないですよね。
私が間違っていたのは、Privateにした時のBP変数の値が全てのInstanceで同じだと思っていた事です。一種のGlobal変数になると思っていました。これは間違っています。だからと言って私が上記で述べているBPの変数をPublicにする事はUE4C++でUPropertyのSpecifierのEditAnywhereと同じであるという主張との直接の関連はありませんから。
やっぱり理論的に物事を推し進めていると一個間違いが見つかってもそれで全部駄目になる事はないですね。かえって自説の強化につながる位ですね。
自分でやった事なのでこれ以上褒める事はしませんが、他人の業績でこんな結果になったら尊敬します。大変な成果です。
7. Particle systemの勉強方法について
Particle system、Cascade でもNiagaraでもどっちでも良いですが、明らかに正しい勉強手順があります。
それとParticle systemの勉強の最初で、本当にProgrammingが出来るDesigner、つまりTechnical artistでも勉強すれば使用できるようになるのかの問題があります。
今の所、私が勉強した範囲では、8割はTechnical artistでも出来るのかなという気がしています。それ以上はどうなんでしょうか?それはまだ分かりません。
今回のParticle systemの勉強方法に関しては、Technical artistでも出来る内容に関しての勉強方法についてです。
と述べました。これが100%正しいのか現時点では分かりませんが、私自身はこれ以外の方法で勉強しても実際に自分でEffectを作成してみて、となったら何にも出来ない事態になる気がしています。逆に言えばこの方法で勉強すればProgramming が出来る、つまりBPは扱えるDesignerならば普通にVisual Effectの作成が出来る気がしています。
今週のCascadeの勉強でLock Axis Moduleについて勉強しました。「4. 魔法陣の直し」で詳しく述べていますが、3D GraphicsにおけるSpriteの仕組みを理解しないとLock Axis Moduleの機能も理解出来ません。
そしてSpriteの仕組みを理解するためにはParticle Systemについての理解が必要になります。
こんなの最初からその順番で教えてくれたら2時間もあれば理解出来ますよ。勿論、頭の良さには個人差がありますからBPの扱えるdesignerレベルの方ならと言う限定付きですが。
8. On Actor End Overlapから退散する時に戦闘中か、そうでないかについての確認方法は、Monster Name in FightingがNoneでない事で確認した方が効率が良い件について
一体何を言っているのか全く分からないので、先週のblogを読み直してみたら思い出しました。
別なLevelに移動する場合でもTrigger box内にいる時は、On Actor End Overlap (Trigger) eventが呼ばれます。不思議なのは、逆は起きません。Player の操作するキャラが新しいLevelに移動して、その結果、あるTrigger box内で生成されてもOn Actor Begin Overlap (Trigger) eventは呼ばれません。
そのため、戦闘画面に移動する時に、On Actor End Overlap (Trigger) eventが呼ばれる時とそれ以外の、単にTrigger box1から退散した時にOn Actor End Overlap (Trigger) eventが呼ばれる時は別な対応が要求されます。
その判別をするのに、Monster ZoneのTrigerでは以下の黄色の枠で囲ったコードで判別しています。
Monster ZoneのBlockでは特に判別はしていなくて戦闘画面に移動する時はIs Valid 関数でエラーにならないようにしているだけです。
これをMonster Name in FightingがNoneでない事で確認した方が実装が楽になるのではないかと言う事です。
試してみます。
以下の様に変更しました。
Play Animation nodeがエラーを発しているのは戦闘画面に移動した時にすでにMonster BP Actorが消去されているからです。戦闘画面に移動する時にはBranch以降のコードは実行しなければ問題起きないはずです。
何度か戦闘して問題ないみたいと結論づけようとしたらエラーが沢山出ていました。
うーん。なんで?
Monster Zone 2のBlock内に侵入、退散を繰り返して見ました。
つまり以下のBranchの黄色の条件で試しました。
何回やってもErrorは出ません。
あ。Monsterの名前がNoneのままでした。
直します。
あれ、名前ありました。
色々試したら、このPlay Animation nodeがerrorを出す時は、Blockに侵入、退散を何回も繰り返しやる時に起きる事が判明しました。
ので、Is Valid?関数は戻しました。最終的には以下の様に成りました。
BranchでMonster Name in FightingがNoneでない事は確認しているので、戦闘画面への移行が、少しだけ早くなっているはずです。それ以外は前と同じです。
一応テストしてみます。
Block2に侵入したり退散したりを何回も繰り返して見ました。
Errorは起きませんでした。
以上です。
9. Monsterを倒した後で、Data Tableの設定を変える時のコードの変更
以下の部分に当たります。
確かに整理した方が見易いです。ですがこれが既に関数、Remove Monster From Landscape 4()内の実装なんです。敢えて直す必要があるのかちょっと悩んでいます。今週はもう時間もないですしちょっと止めておきます。
もうTerritory 1ではなくMonster Zone 1なのでそこは直します。
10.まとめと感想
今週は以下の事をやりました。
です。来週は、今週の作業の続きをやって行きます。
今週はUE5が公開されてそっちに気が取られてしまいあんまり集中出来ませんでした。まあそういう時もありますね。
私のPCのVideo CardではRay Tracingも出来ないし、その他のスペック的にもUE5を使用するのは厳しそうです。UE5を使用する事になったら新しいPCを購入する事しかなさそうですが、現在のvideo cardの値段では新しいPCを購入する気には全然なれません。ので私がUE5に参入するのは早くても来年以降になりそうです。その間はUE5の動画を見て満足する事にします。
11 . 参考文献(Reference)
[1] Epic Games. (n.d.-a). Audio Effects in Niagara. Unreal Engine Documentation. Retrieved May 30, 2012, from https://docs.unrealengine.com/en-US/RenderingAndGraphics/Niagara/HowTo/AudioEffects/index.html
[2] Epic Games. (n.d.-b). Create a Ribbon Effect in Niagara. Unreal Engine Documentation. Retrieved May 30, 2021, from https://docs.unrealengine.com/en-US/RenderingAndGraphics/Niagara/HowTo/RibbonEffect/index.html
[3] gameDev Outpost. (2021a, March 9). UE4 - Niagara Audio - Part 1 - Play Audio [Video]. YouTube. https://www.youtube.com/watch?v=zANHydk1J60
[4] gameDev Outpost. (2021b, March 11). UE4 - Niagara Audio - Part 2 - Play Audio Continued [Video]. YouTube. https://www.youtube.com/watch?v=f02hUUcCLGY
[5] Epic Games. (n.d.-e). Niagara Key Concepts. Unreal Engine Documentation. Retrieved May 30, 2021, from https://docs.unrealengine.com/en-US/RenderingAndGraphics/Niagara/NiagaraKeyConcepts/index.html
[6] Epic Games. (n.d.-c). Default Required and Spawn Modules. Unreal Engine Documentation. Retrieved May 30, 2021, from https://docs.unrealengine.com/en-US/RenderingAndGraphics/ParticleSystems/Reference/Modules/Required/index.html
[7] Epic Games. (n.d.-f). Orientation Modules. Unreal Engine Documentation. Retrieved May 30, 2021, from https://docs.unrealengine.com/4.26/en-US/RenderingAndGraphics/ParticleSystems/Reference/Modules/Orientation/
[8] Epic Games. (n.d.-d). Default Required and Spawn Modules. Unreal Engine Documentation. Retrieved May 30, 2021, from https://docs.unrealengine.com/4.26/en-US/RenderingAndGraphics/ParticleSystems/Reference/Modules/Required/
[9] UnrealCG. (2017, July 19). Magic Aura Effect - Particle System - [UE4 Tutorial] [Video]. YouTube. https://www.youtube.com/watch?v=PEb7ujDkP44&list=PLnfzvYOawOqArAASPfH5rOErJNnLkk7Fw&index=5