isa
1
お世話になっております。
現在、敵オブジェクトにダメージを与えた際のダメージ表記をAny Stateを使用して表示しています。
以下、①が理想なのですが現状は②の通りとなってしまいます。何か方法や代替策があれば教えてください。
※②の状態だと、アニメーションが最初から表示され敵に攻撃を当て続けると敵が攻撃してこなくなります
①理想
・敵が攻撃モーションに入る
・敵に攻撃を当てる
・Any Stateに飛びダメージ表記のオブジェクトを生成してダメージを表示する
・前のステートに戻る
★敵が攻撃モーションの「途中」から再開
②実際
・敵が攻撃モーションに入る
・敵に攻撃を当てる
・Any Stateに飛びダメージ表記のオブジェクトを生成してダメージを表示する
・前のステートに戻る
★敵が攻撃モーションの「最初」から再開
ダメージ表記ですが、ご指摘の通り1つのオブジェクトで実行するとAnyStateを使っても被ダメージステートが中断されてしまうと思います。
なので、ダメージオブジェクト生成用の子オブジェクトを別に用意してそちらでダメージ表記をする形はいかがでしょうか?
「いいね!」 1
isa
3
ご連絡ありがとうございます。
理解ができておらず恐縮ですが、現在は
敵に攻撃を当てる→敵側のVSでAny Stateに飛び、ダメージ表記の子オブジェクトを生成して敵の頭上にダメージを表示する→一定時間経過後、子オブジェクトを消滅させる
ようにしています。(ダメージ表示用の子オブジェクトは別で用意しています)
Any Stateを使用せずにダメージ表記の子オブジェクトをどこかのタイミングで生成する、ということでしょうか。
はい、そちらでもよいですし
ゲームオブジェクトの子ノードとしてゲームオブジェクトを配置しておく形でも大丈夫です。
敵ゲームオブジェクト
└ダメージ表記生成専用ゲームオブジェクト
と配置し、
ダメージ表記専用ゲームオブジェクトからダメージ表記オブジェクトを生成する形です
isa
5
すみません、私が実現したいことと、いただいた回答内容が上手く紐づけできず…。
私がやりたいことは
「敵の攻撃アニメーション中に敵を攻撃
→敵の頭上にダメージを表示する
→その後、敵の攻撃アニメーションの『途中から』攻撃モーションを再開する」
といった内容です。格闘ゲーム等でよくあるスーパーアーマーみたいな感じです。
敵オブジェクトではなく、記載いただいた「ダメージ表記生成専用ゲームオブジェクト」のHitCollision等で攻撃が当たった判定
→Any Stateに飛ばしてダメージ表示する
→親オブジェクトに被ダメージを継承
といった話でしょうか。
>①理想>・敵が攻撃モーションに入る
>・敵に攻撃を当てる
>・Any Stateに飛びダメージ表記のオブジェクトを生成してダメージを表示する
>・前のステートに戻る
>★敵が攻撃モーションの「途中」から再開
「ダメージ表記生成専用ゲームオブジェクト」のステート設定は以下のようなイメージです。
待機ステート→条件「指定のオブジェクト(敵)の変数被ダメージ量が>0」→ステート「ダメージ表記オブジェクトを生成」→待機ステート
「ダメージ表記用オブジェクト」では、「テキストを表示:指定のオブジェクト(敵)の変数被ダメージ量」
と設定されている想定です。
これであれば敵オブジェクトは自由に動きながらダメージを受けた際にダメージ表記をすることが可能になるかと。
「いいね!」 1
ちょっとサンプル見直してたんですが、
サンプルプロジェクトのPerfect Dodge SampleのHPバーのダメージ表記がこの形式で作られているので参考になるかもしれません。
「いいね!」 2
isa
8
ありがとうございます。やっと理解できました!
ただ、ご教示いただいた内容だと敵キャラ毎に専用のオブジェクトが必要そうですね…。
もっと簡単な方法があればよかったのですが、一旦教えていただいた方法で検討してみます。
色々ご検討・調査いただきありがとうございます。
「いいね!」 1
serbow
9
実は anystate でダメージ表示が完了した後に、そのアクションから次の実行したいアクションへ線を引くことで、anystate 内のアクション実行後にどのアクションを続行するかを指定できます。
「いいね!」 2
そうですねー、あとはスクリプトを使えばいい方法はありそうではありますが・・・
敵キャラの種類が多いようであれば、
「子オブジェクトとして生成」し変数の対象を「親オブジェクト」にすれば共通のものが作れるかなと思います。
その際はダメージ表記生成用オブジェクトにChildSettingsの追加も必要にはなります
「いいね!」 1
isa
11
ありがとうございます。
親オブジェクトを指定する際にオブジェクトパスの入力が必須だったので、敵オブジェクト毎に専用の子オブジェクトを作成しなければいけないと思っていたのですが、1.0.7パッチで「指定ファイルパスではない親オブジェクトの変数」も参照してくれるようになっていたのですね。
先ほど子オブジェクトを共通化して実現したい事が実装できました。
ありがとうございました。
「いいね!」 1