UE4の勉強記録

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

Unreal Engine 4.xを使用してRPGを作成する」の足りない部分を作成する 新しい機能を追加する7

f:id:kazuhironagai77:20201004213256p:plain

<前文>

またまたvtuberについてと中〇の炎上について

私のブログを読み直してもらえばしっかりと書いてあるのが分かりますが、いわゆるネトウヨと呼ばれる人達が、C何とかの事を武〇ウィルスとか、中〇ウィルスと読んでいた時に絶対やめろと。困っている人に対して意地悪な事をするのは人間として恥ずかしい事だと何回も言いました。

これと同じような事をvtuberの人も言っていたら今回こんなに炎上しなかったんじゃないかなと本音では思いました。炎上したとしても「中国人が困っている時に私はこんなに味方に立ったのに、一寸間違えただけでこんなにも叩くのはひどい」と言えたと思います。

ひよっとしたら、炎上したvtuberの人も過去の記録を見れば、中国で最初にcが流行った時に「中国人、伝染病に負けるな!がんばれ!」とか日本語で言っていたかもしれません。

それを最初に出すのが最低限の交渉力だと思いました。

次にですが、殺害予告はいくらなんでも冗談では済まないと思います。警察に連絡しましょう。

今の中国はHxHのメルエムのように、文明国とならず者国が半々で存在しているみたいです。

中国が知的財産やハイテク産業で21世紀を生きてゆくならいずれは完全な文明国になるでしょう。もし中国が文明国としてこれからやって行くのなら、このvtuberの安全を守る責任は中国政府にあると思います。もし中国政府が文明国としての義務を守らなければ、西洋の国や日本も中国の権利、例えばファーウェイの5G の特許などの権利を守る必要もなくなるからです。中国政府は全ての人民をビックデータで管理しているから犯人が誰か直ぐに分かるはずです。国際的に文明国として中国政府が責任を果たしたとみなさる最低条件は犯人の逮捕でしょう。その後で、愛国無罪になったとしてもそれでも文明国としての国際社会の信義は果たしたと思われるでしょうが。

ならず者国家としての中国はアメリカと日本の中を悪くして、日本を侵略する戦略を持っていると感じました。

今回殺害予告を受けたvtuberアメリカ人だと聞きました。日本政府には日本に在住しているアメリカ人の安全を保障する義務があります。それはアメリカに在住している日本人の安全をアメリカ政府が保証しているからです。ここで日本政府が憲法9条があるから守れんかったなどとフ抜けた事を言ったら、一気にアメリカ政府からの信頼を失い、中国が幾ら日本を侵略してもアメリカは助けてくれないでしょう。この状態はならず者国家としての中国には最もおいしい状態です。

前の総理は、色々問題がありましたが何が合っても自分の味方は絶対守りました。どう考えても違法だろうと言う手段をとっても守ったそうです。今度の総理は腹心の部下でも問題を起こしたらすぐ切り捨てたそうです。このvtuberが日本政府に身の安全を求めても自己責任とか言って切り捨てる可能性は高いです。そうなったら我々日本国民が、命を賭けてこのvtuberを守らなければならなくなります。何故ならアメリカからの信頼を失った後で、中国から侵略されたら、その時に失う日本人の命はとんでもない数になるからです。

私が今回の炎上について今思う事はそんな所です。

実は、私には台湾独立運動中華民国からの)に関わっていた知り合いがいまして、その人が亡くなる前に今の中国人も台湾人も知らない生のアジア戦後史を聞いていました。ので私は中国語は全く分からない素人ですが、結構中国の行動を予測するのは得意です。もし来週になっても炎上が収まらなかったらその知識を活用してもう一回この問題について考察します。

それでは今週の勉強を始めます。

<本文>

今週は以下の事をやって行こうと思います。

Programming Part

  1. バグ取をします
  2. 宿屋の主人を作成します。
  3. 夜と昼を作成します。

Design Part

  1. 町をデコボコにする
  2. 村人と会話出来る様にする
  3. 魔法の拾得方法について
  4. 戦闘システムのボタンのデザインを統一する

1. Programming Part

1.バグの直し

先週もバグを直すと言ってやりませんでしたので今週こそやります。

1.1 MPが足りない時の場合

MPが足りない魔法はボタンが表示されないようにしましょう。

魔法ボタンを表示する前にcharacterのMPがその魔法の消費MPより高いが同じである事を確認します。

f:id:kazuhironagai77:20201004213632p:plain

もし低い場合はその魔法は表示されません。

更に、CharacterのMPが低くて使用出来る魔法が無い時、魔法の選択自体が出来ないようにしました。

f:id:kazuhironagai77:20201004213713p:plain

テストします。

f:id:kazuhironagai77:20201004213730p:plain

今、MPが5しかないので使用するのに必要なMPが10である炎(大)は表示されません。

MPが0の時、魔法は選択出来ません。

f:id:kazuhironagai77:20201004213746p:plain

出来ていますね。

1.2 ChooseボックスとTargetsボックス内のボタンウィジェットが消去されていない。

f:id:kazuhironagai77:20201004213814p:plain

Event show action panel の時にChooseボックスとTargetボックスの中をClearします。

f:id:kazuhironagai77:20201004213830p:plain

テストします。

攻撃を選択してその次のターンで道具を選択した時のスクリーンショットです。

f:id:kazuhironagai77:20201004213852p:plain

前のターンでTargetボックス内に作成されたウィジェットは消えています。

出来ました。

新たなバグと言うわけではないですが、魔法のアニメーションが全部同じです。後で直します。

2. 宿屋の主人を作成します

NPC_ItemShopOwnerをduplicateしてNPC_InnOwnerを作成します。

f:id:kazuhironagai77:20201004213929p:plain

RPGGameInstanceのTalkShopの代わりを作成します。

f:id:kazuhironagai77:20201004213947p:plain

TalkInnと名付けました。

f:id:kazuhironagai77:20201004214002p:plain

ビルドします。

TalkShopとTalkInnを交換します。

f:id:kazuhironagai77:20201004214017p:plain

今度はMyPlaceForEventsにPE_Innを追加します。

f:id:kazuhironagai77:20201004214034p:plain

しました。

f:id:kazuhironagai77:20201004214049p:plain

Buildします。

BPのMyPlaceForEventsが古いままです。新しく成りません。

f:id:kazuhironagai77:20201004214107p:plain

UE4editorが2個動いていました。

一回全部閉じて開き直しました。

f:id:kazuhironagai77:20201004214131p:plain

今度は出来ていました。

何で1個しかUE4Editorが開かれていないのに、タスクマネージャーを開くと2個開いている時があるのでしょうか。良く分かりません。

今度は ThirdPersonCharacterを開き、SwitchonEPlaceForEventsのPEInnを実装します。

f:id:kazuhironagai77:20201004214154p:plain

以下の様に実装しました。ItemShopと全く同じです。

f:id:kazuhironagai77:20201004214210p:plain

以下に示したShopWelcomeウィジェットがItemShopの時は作成されます。

f:id:kazuhironagai77:20201004214227p:plain

f:id:kazuhironagai77:20201004214241p:plain

これを元にして、InnWelcomeウィジェットを作成します。

f:id:kazuhironagai77:20201004214259p:plain

ShopWelcomeウィジェットの会話ボタンを押すとShop Talkウィジェットが開きます。

f:id:kazuhironagai77:20201004214315p:plain

f:id:kazuhironagai77:20201004214322p:plain

InnWelcomeウィジェットのためのShop Talkウィジェット、Inn Talkを作成しましょう。

まず、NPC_ParentウィジェットにNPCInnDialogを追加しセリフを書きます。

f:id:kazuhironagai77:20201004214341p:plain

f:id:kazuhironagai77:20201004214347p:plain

そのセリフをInnWelcomeウィジェットから呼び、表示します。

f:id:kazuhironagai77:20201004214419p:plain

Inn_welcomeウィジェットからInn_Talkウィジェットが開かれるようにセットします。

f:id:kazuhironagai77:20201004214434p:plain

ここまでで一端テストします。

動かなかったです。細かい点で直していない所がありました。

もう一度テストします。

f:id:kazuhironagai77:20201004214451p:plain

f:id:kazuhironagai77:20201004214459p:plain

それでは泊まるボタンの実装を作成します。

f:id:kazuhironagai77:20201004214517p:plain

5ゴールド持っていたら、体力と魔力を全部回復します。そして宿屋のセリフが変わります。5ゴールド持っていない場合は宿屋のセリフだけが変わります。

テストします。

f:id:kazuhironagai77:20201004214603p:plain

この状態で泊まるボタンを押します。

f:id:kazuhironagai77:20201004214625p:plain

HPとMPが最大まで回復して店の主人のセリフが変わりました。金貨の数も減っています。

今度は金貨が無い状態で宿屋に行きます。

f:id:kazuhironagai77:20201004214653p:plain

店の主人のセリフが変わりました。

取りあえずはこれで完成です。

3.夜と昼を作成します。

これ作成方法が分かりません。まず調べます。

f:id:kazuhironagai77:20201004214818p:plain

この無料のアセットを使用すれば良いみたいです。

f:id:kazuhironagai77:20201004214838p:plain

Documentをざっと読んでみると

f:id:kazuhironagai77:20201004214857p:plain

DefaultのSkySphereBlueprintを外してこのBPを入れれば良いみたいです。

試してみます。

SkyPresetをMidnightにセットします。

f:id:kazuhironagai77:20201004214916p:plain

HDRが効いているせいなのか、あまり暗くないです。

f:id:kazuhironagai77:20201004214937p:plain

こっちは朝焼けです。

f:id:kazuhironagai77:20201004214955p:plain

取りあえずはこれで十分ですね。

インプットから昼夜を変化させられるかテストします。

Iを押す事に時間が進みます。

f:id:kazuhironagai77:20201004215013p:plain

f:id:kazuhironagai77:20201004215021p:plain

f:id:kazuhironagai77:20201004215029p:plain

f:id:kazuhironagai77:20201004215044p:plain

f:id:kazuhironagai77:20201004215058p:plain

出来ますね。ただ夜は明るすぎますね。

Documentに2つほど夜を暗くする方法が解説されていますが、Directional lightを直接弄った方が良いと思います。

そしたらDocumentに

f:id:kazuhironagai77:20201004215138p:plain

Directional lightのY軸の角度に合わせて昼夜が変わるように出来るとあります。

f:id:kazuhironagai77:20201004215202p:plain

LightSourceのY軸の値を変化しましたが、昼夜は変わりません。

以下のコードでI を押すたびにLightSourceのY軸を30度回転させるようにしました。

f:id:kazuhironagai77:20201004215242p:plain

試してみます。

f:id:kazuhironagai77:20201004215307p:plain

I を押します。

f:id:kazuhironagai77:20201004215326p:plain

Directionallightの角度は変わりましたが、BP_GoodSkyの昼夜は変わっていません。

Refreshをしないといけないのでしょうか?

f:id:kazuhironagai77:20201004215341p:plain

チェックできません。

その下に昼夜をautoで変化させますか?とあります。

f:id:kazuhironagai77:20201004215402p:plain

これ試してみます。

f:id:kazuhironagai77:20201004215418p:plain

f:id:kazuhironagai77:20201004215427p:plain

滅茶苦茶変わっています。

影が動いているのでdirectional lightも動いているはずです。しかし暗くはなりません。

f:id:kazuhironagai77:20201004215444p:plain

を外してみます。

f:id:kazuhironagai77:20201004215503p:plain

今度は真っ暗になりました。

f:id:kazuhironagai77:20201004215518p:plain

昼はそれなりに明るいです。こっちで行きますか。

宿屋に止まったら朝になる必要があります。が何をやってもautoが切れません。最後の手段に寝ている間にこのレベルを一回去って戻ってくる位しか思いつきません。残りは来週考えます。

2. Design Part

1.町をデコボコにする

試しにlandscapeで作成してみました。

f:id:kazuhironagai77:20201004215552p:plain

f:id:kazuhironagai77:20201004215600p:plain

凹凸感は合格だが、データの大きさなどが適切なのかは不明。以下の設定をいじる事でこのサイズにふさわしいデータ量にしたいです。

f:id:kazuhironagai77:20201004215618p:plain

この辺は、デザイナーが担当する個所なので全く知識がないです。勉強しないと分かりません。

もう時間がなくなってしまったので、残りは来週やります。

2.村人と会話出来る様にする

色々な村人を考える。例えば詩人、話しかけるとポエムを披露してくれる。その後で評価を聞いてきて、高評価だと喜ぶ、低評価だと落ち込みます。

3.魔法の拾得方法について

神殿みたいなのを作成してレベルが上がった後にそこへ行くと、レベルに応じた魔法が覚えられるようにします。

4.戦闘システムのボタンのデザインを統一する

3. まとめと感想

今週は墓参りに行かなくてはならなくなったので途中でお終いにしました。