叩いた時の状態でアイテムが切り替わるハテナブロック:STB13

※本サイトはアフィリエイト広告を利用しています。

YouTube動画#10の赤ピーマン(ファイアーフラワー)関連部分を抜粋し、文章として読みやすいように再編集した記事です。

動画#10サムネ画像の回収ですが、マテリアル・ナイアガラ部分は割愛しています

YouTube動画もご視聴お願いします。

アイテムの作成(ファイアーフラワーがわりの赤ピーマン)

前回作成したキノコを複製してファイアーフラワーを作ります

生えるのもとれるのも新しい知識はいらないのでサクッと進めます。

メッシュ(見た目は)赤ピーマンにしました

アイテム効果:ファイアーマリオ(ファイアーたまねぎちゃん)の準備

ファイヤー玉ねぎ状態

赤ピーマンを食べたらファイヤーになりたいです
オーバーレイマテリアルというメッシュのマテリアルのさらに上から追加でマテリアルを加えられる仕組みを使ってみます(オーラ的な演出に使うとよさそうなものですね)

マテリアル自体の作り方説明は本記事では割愛します

ファイヤーオーラをまとった玉ねぎちゃんとそのオーバーレイマテリアルの作り

スーパー玉ねぎちゃんが赤ピーマンを食べるとこの状態になりつつ、ファイヤーボールを飛ばせる状態になるのが本記事のゴールです。

ファイヤーボール(焼きリンゴ)

  • ブループリントアクタを作成
  • リンゴのメッシュ
  • ナイアガラで炎
  • Projectile Movementという投げられ(弾丸とかボールみたいな飛ばされて放物線の軌道を描くやつ)
  • ぶつかり判定用のスフィアコリジョン
    を追加します。ナイアガラの説明は本記事では割愛。

スフィアコリジョンのオーバーラップイベントに自分自身とプレイヤー以外とぶつかったら相手にダメージを与えるApplyDamageを呼んで自身を消すDestroy Actorをつなぐ処理を追加します。

これで敵キャラをファイヤーで攻撃できますね。Base Damageが0だとイベントが起きないそうなのでご注意を。

Projectile Movementのプロジェクタイルバウンスという跳ね方に関するパラメタを調整することで、好みの跳ね方になるよう調整しましょう。

Should Bounceという跳ねるフラグをまずチェックつけます。

Bounciness跳ね具合となる反発係数1でFriction摩擦係数0にすると跳ねまくりますw

ハテナブロック改造:状態によって出るアイテムを変える

ポイントはボックスを叩いた際の処理分岐です

玉ねぎちゃんの体力が多いか少ないかをモニタリングして玉ねぎとピーマンどちらをスポーンするか切り替えられるようにしましょう。(前々回の記事ですでにその状態にしてありました)

キャラクター改造:ファイヤー状態+状態変化イベント追加

では玉ねぎちゃんがファイヤー状態になれるようにしましょう
ただし、赤ピーマンを食べたら必ずファイヤーになれるのではなく
体力がある状態で食べたらなれるというマリオオリジナル仕様に合わせます

まずは赤ピーマンを食べたときに呼び出されるToFireカスタムイベントを作ります。

ここで玉ねぎちゃん側で体力がないときはToBigイベントを呼んで、体力があるスーパー状態(HP2)だったらオーバーレイマテリアルでさきほど作った炎のオーラを着ましょう

よっしー
よっしー

赤ピーマン側の食べられた処理でどちらを呼ぶか分岐もできますが、キャラクター側で受け取ってから分岐したほうが、呼び出し関係がシンプルかなと思います。

ToMiniイベントにオーバーレイマテリアルを解除する処理を追加するのも忘れずに

よっしー
よっしー

動画ではこれを入れ忘れてミニファイヤー玉ねぎちゃん状態になっています。
本家マリオ2だっけ?にもあるバグ技でなれる状態に簡単になっちゃうバグでした。

ファイヤー発射

キャラクターのブループリントでFキーで焼きリンゴ発射できるようにします

ファイヤー玉ねぎ状態の時だけ発射できるように分岐をいれます
レンガを壊したときと同じくSpawn Actor from Classです

スポーンさせる位置は玉ねぎちゃんを基準に、玉ねぎちゃんの向いている方角を取得して
これが長さ1の単位ベクトルなので、これに体との距離をかけたものを追加します(x50で玉ねぎちゃんの中心から50cm手前から出発するという仕組みです)

アイテムの食べられイベント追加

赤ピーマンが食われた時の処理も変更します

キノコに比べて、ファイヤーフラワーは動かないので、食べられたらToFireを呼び出して自分が消えるだけですね。

大きくなったらピーマンがでて食べるとファイヤーになれました

つづく

ニョキっと生えた後動く処理を削除する部分は削除するだけなので割愛しました。
Tickイベントを空にしてください。(親クラスもキャラクターである必要ないですが、キャラクターでもとくに支障はありません。)

コメント

タイトルとURLをコピーしました