LUIS_PAN
(LUIS_PAN)
August 29, 2019, 2:04am
1
UnrealEngine4ドキュメントの2.ヘルス、エネルギー、弾薬を表示するをやっているのですが、
スクリプト:ヘルス、エネルギー、弾薬の11.MyCharacter のピンを引き出してget Ammo を選択します。のところで、getAmmoするとノードの左にTargetというものがありません。
Taregetが表示されないのがなぜか分りませんので教えていただけますでしょうか?。
https://docs.unrealengine.com/ja/Engine/UMG/QuickStart/2/index.html
PAVI_PAVI
(PAVI_PAVI)
August 30, 2019, 3:25am
2
Get My CharacterノードからGet Ammoを呼び出せば勝手にTargetが追加されるはずですが…
お手数ですがLITT-LUISさんのGet Text 0関数を見せていただくことは出来ますか?
LUIS_PAN
(LUIS_PAN)
September 2, 2019, 2:07am
3
すみません、データを開こうとしたらなぜか開けない状態になっていました。
再度作り直すのでお時間ください。
宜しくお願い致します
LUIS_PAN
(LUIS_PAN)
September 3, 2019, 12:37am
4
再度作りなおしていました。
すみません、ammoがという話をしていましたが、すみません、作りなおすとなぜかammoの問題は解決しましたが別の問題が発生しました。
同じくUnrealEngine4ドキュメントの2.ヘルス、エネルギー、弾薬を表示するを参考にHealthを減らすというものを作っていました。
healthがダメージを受ける床に乗っても減ってくれないです。
Energyの方はジャンプをすることで問題なく減ってくれています。
改めて画像を添付いたしますので、確認していただけますでしょうか?
PAVI_PAVI
(PAVI_PAVI)
September 3, 2019, 11:01am
5
ダメージ床でリスト内のキャラクターに対しApply Damage関数を呼び出していますが、ダメージを受ける側(プレイヤー等)に Any Damageイベント が無いようです。
Apply Damage で相手にダメージを与える場合、被ダメージ側にはAny Damageイベント等の実装が必要となります。被ダメージ側はAny Damageイベント等で実際に体力を減らす処理をします。
ダメージについて - Unreal Engine Fun
LUIS_PAN
(LUIS_PAN)
September 3, 2019, 11:37pm
6
解説有難うございます。
ダメージを受ける側のAnydamageの処理がなかったということで、AnyDamageの処理を追加いたしました。
しかしながらDamaneFloorに乗ってもThirdpersoncharacterのHealthが減らない状態です。
他にまだ足りていないものがあるのでしょうか?
また、Healthの変数のデフォルト値ですが1にしていますが、1というのが間違っていますか?
この1というのが今一つ良く解りません。
100でも何でもここは任意で良いということですよね?
100にした場合は他のどこかを修正する必要がありますか?
PAVI_PAVI
(PAVI_PAVI)
September 4, 2019, 1:43am
7
Any Damageイベントを使用する前は「Fキーを押すと0.25ずつHealthを減らす」という処理だったと思いますが、その実装では問題なくHealthは減り、UMGのProgress Barも減っていましたか?
もし問題のない、想定通りの動作だった場合、もしかするとApply Damageで与えるダメージ量が大きすぎるのかもしれません。
Apply DamageのBase Damageを「0.25」に変更してみてください。
** Healthの変数のデフォルト値ですが1にしていますが、1というのが間違っていますか? この1というのが今一つ良く解りません。 100でも何でもここは任意で良いということですよね? 100にした場合は他のどこかを修正する必要がありますか? **
Health変数のデフォルト値が1.0なのはUMGのProgress Barが取り扱う数値が パーセント(%または割合) だからです。(1.0 = 100%)
もちろんHealth変数の数値というのは何でも良いのですが、Health変数の数値を「パーセントに変換」する必要があります。
体力を例にすると 現在の体力 / 最大体力 でパーセントに変換できるので、変換した値を例えばHealth Percent変数にセットして、UMGのProgress Bar側でHealth Percent変数をバインドすることで、任意の数値をProgress Barで表現することができます。
LUIS_PAN
(LUIS_PAN)
September 4, 2019, 2:14am
8
返信有難うございます。
Fキーを押すとHealthのprogressBarが減ります。
4回でbrogressbarは0になります。
Apply DamageのBaseDamageの値を5から0.25に変更してみましたが、やはりDamageFloorに乗ってもHealthが減らないです。
Apply DamageのDamageTypeClassは設定していなくても問題ないのですよね?
現状何も設定していませんでしたが、仮に設定してもやはりHelthは減らないです。
Health変数のデフォルト値がなぜ1なのかについて詳しく説明いただき有難うございます。
1.0で100%ということなのですね。
体力を例にすると 現在の体力 / 最大体力 でパーセントに変換できるので、と回答いただきましたが、
この作業をした記憶がないのですが、それが原因でしょうか?
PAVI_PAVI
(PAVI_PAVI)
September 4, 2019, 6:36am
9
ではDamage FloorのApply Damage関数にブレークポイントを追加してThird Person Characterが上に乗ったとき、停止するかチェックしてみてください。
停止しなかった場合、Damage Character List配列にきちんとThird Person Characterが追加されていません。Damage Character List配列に要素を追加する処理に何かしらの間違いがあります。
** 体力を例にすると 現在の体力 / 最大体力 でパーセントに変換できるので、と回答いただきましたが、 この作業をした記憶がないのですが、それが原因でしょうか? **
関係無いはずです。
LUIS_PAN
(LUIS_PAN)
September 4, 2019, 7:04am
10
Damage FloorのApply Damage関数にブレークポイントを追加後、Third Person Characterが床に乗ったときに停止しませんでした。
>停止しなかった場合、Damage Character List配列にきちんとThird Person Characterが追加されていません。Damage Character List配列に要素を追加する処理に何かしらの間違いがあります。
間違いがあるということですが、On ConponentBegineOverlap(Box)につながっている処理が間違っているということでしょうか?
すみませんAddにブレークポイントを追加して、ThirdpersoncharacterがdamageFloorのBoxCollisionに触れると停止ししました。
これは、Damage Character List配列にきちんとThird Person Characterが追加されているということとは違いますか?
PAVI_PAVI
(PAVI_PAVI)
September 4, 2019, 10:03am
11
すみません。こちらに見落としがありました。
Damage FloorのApply Damage関数はカスタムイベントで呼び出されるんですね。
Damage FloorのPoison Damageイベントって誰かから呼び出されていますか?
On Component Begin Overlapで正常にThird Person Characterが追加されているのにも関わらず、Apply Damageでゲームが停止しないなら、Poison Damageカスタムイベントが誰からも呼び出されていない可能性があります。
Damage Character List配列のAddの後ろにPoison Damageカスタムイベントを呼び出す処理を加えてみてください。
LUIS_PAN
(LUIS_PAN)
September 4, 2019, 10:52pm
12
>Addの後ろにPoison Damageカスタムイベントを呼び出す処理を加えてみてください。
確認させていただきたいのですが、
カスタムイベントを呼び出すとは下記にある
Custom Events の呼び出し
カスタム イベントおよび関連付いているネットワークが作成されましたが、通常のイベントとは異なり、Custom Event には発行のプリセット条件はありません。カスタム イベントを呼び出すには、右クリック して、コンテキスト メニューから [Call Function] > [Custom Event Name] を選びます。
ということですか?
LUIS_PAN
(LUIS_PAN)
September 5, 2019, 5:14am
14
Addの後ろにカスタムイベントの呼び出しを行ってみました。
DamageFloorに乗ると、無事にダメージを受けました。
何度も回答いただき有難うございました。