崖捕まりのようなもの…
今はまだ、掴まるだけ。
これによじ登るRootMotion入れて登るのと
掴まり判定成立時に正常な位置に固定するのと
掴まり解除で落ちるのがいる
登るのはうまく行かないから、掴まり状態からジャンプできるようにした。
降りるのもそれでやってくれって感じで
ジャンプ時に掴まり状態のフラグやら設定をリセットしないとね
崖捕まりのようなもの…
今はまだ、掴まるだけ。
これによじ登るRootMotion入れて登るのと
掴まり判定成立時に正常な位置に固定するのと
掴まり解除で落ちるのがいる
登るのはうまく行かないから、掴まり状態からジャンプできるようにした。
降りるのもそれでやってくれって感じで
ジャンプ時に掴まり状態のフラグやら設定をリセットしないとね
設置できる!(ドン!)
Widgetのアニメーションの特定の場所にイベント通知置いて発行できたんだぁ…
いや、あるだろうとは思ってたけど、どこにあるかわからないやつですね。
何のことはない、アニメーションの「+Track」の中にイベントを追加できる項目があるじゃんか…
ダメージ判定を行うとき、BoxTraceとかを使って範囲内のキャラクターにダメージを与える。
とてもシンプルでありふれた処理だ。
瞬間的なダメージであればこの処理で問題ないが、
毒沼や炎の床、毒の充満した部屋といったスリップダメージ系のダメージは若干困る。
実装そのものはTrace系でも可能なのだが、その場合は入ったかどうかを毎Tick確認するといった作業が必要になりがちである。
毎Tickオブジェクトをチェックするのは非常に処理によろしくないので
そんな時に助かるのが「Pain Causing Volume」というボリューム。
使い方は簡単。レベルに配置して、DPSを設定して、ダメージ間隔を設定する。
するとそのボリュームに入ってきた相手にダメージを設定値で投げ続ける。
ボリュームなので手軽に置けて、調整も楽々。
形も各種取り揃えているので困らない。
便利だ…便利すぎる…
しかし、若干の落とし穴。
ペイン(痛み)のボリュームであって、癒しのボリュームではないのである。
回復する聖域のようなものには使えないのであった。
少し前にやった移動処理を自分で更新してやるという記事
これの結果どういった事ができるのかを動画化した。
RootMotionは本来移動や回転の更新をプレイヤーから奪い、アニメーションに設定されている移動と回転に固定される。
しかし、攻撃モーションなどは大体の場合踏み込みで前に出る。これをRootMotionじゃない状態で再生すると、足が滑ってて大変見栄えがよろしくない。
そんなのは嫌だったので、自分で更新をかけることでRootMotion中だろうが回転ができるようになった。
ダークソウルとかでも攻撃中振り向いたりできるアレですね。
ちなみに、攻撃モーション中は移動量を0にしてるので入力しても回転だけする。
これやらないと滑っちゃうねんな…
もしかしてUE4にはデフォルトで入力を受け付けるRootMotionの機能があるかもしれないけどね。調べても出てこないのだ
まず、ConvertWorldLocationToScreenLocationというノードがあり
これはPlayerControllerと3D座標を渡すことで2D座標に変換してくれる非常に便利なノード。
しかしこのノードには問題点があり、スクリーン座標で値を返すので、そのまま使うとズレる…あかんやんけ
その対策として、帰ってきた2D座標を「GetViewportScale」で割る。
細かいことはともかく、これで正常な座標に変換できる。
やったね