質問するログイン新規登録
Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Q&A

解決済

2回答

4903閲覧

unity 1度だけ攻撃を当てる処理の実装方法など

piced

総合スコア60

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

0グッド

1クリップ

投稿2020/03/11 07:31

編集2020/03/11 17:52

0

1

開発経験が浅く、支離滅裂だったり矛盾があるかもしれない質問ですがご容赦下さい。。
###実現したいこと
剣などの攻撃モーションによる攻撃をつくる。
単体攻撃か複数攻撃を任意で設定できるようにしたい。

###問題点
オブジェクトあたり1度だけ攻撃を与えられるようにしたいです。
ターゲットにヒットボックスが当たった瞬間にダメージを与えるだけなら
OnTriggerEnterを使えばいいのですが、
これではヒットボックスから出て再び当たることができてしまいます。

例として、
攻撃対象である人型モデルの足に向かってナイフを切りつけた時、2度攻撃してしまう感じです。
これを防ぎたいです。

###質問2
また、"3回転切り"みたいな連続攻撃をつくるときも、
いつからいつまで攻撃判定を発生させるか、
いつ新しい攻撃判定を発生させるか、
などの制御をアニメーションクリップのキーで行いたいと考えているのですが
イマイチ構想が浮かびません。
どのように実装すべきでしょうか。

###質問3
いわゆる範囲攻撃と呼ばれる攻撃を実装する際、
誰が当たったか、という管理はどうすべきかご存知でしょうか。

範囲攻撃の補足:
指定範囲内の敵全てに一度に攻撃を与えるのではなく、
武器に当たる敵を次々に攻撃するような感じです。
ゲームの例として”星のカービィwii”のウルトラソードのような感じです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

三回転斬りなども、当たった瞬間に三回転分のダメージを与えてしまって、その他全ての攻撃の開始時にフラグをリセットすれば他の攻撃とダメージ判定がかぶることはないかと思います。

投稿2020/03/11 07:42

sane

総合スコア27

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

一番単純な例だと、

C#

1bool flg = false; 2 3private void OnTriggerEnter(Collider other){ 4 if(!flg&&other.gameObject.tag == "Enemy"){ 5 flg = true; 6 Attack(); 7 } 8}

のようにフラグで管理しつつ、もう一度攻撃ができるようになったらフラグをまたFALSEにすれば良いのでは?

投稿2020/03/11 07:38

編集2020/03/11 07:40
sane

総合スコア27

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

piced

2020/03/11 12:02

とても参考になります。単体攻撃の場合これで良いのですが、 ひと振りの攻撃で複数体の敵に1度だけ当てるという、 いわゆる範囲攻撃と呼ばれる攻撃を実装する際、 誰が当たったか、という管理はどうすべきかご存知でしょうか。 範囲攻撃の補足: 指定範囲内の敵全てに一度に攻撃を与えるのではなく、 武器に当たる敵を次々に攻撃するような感じです。 ゲームの例として”星のカービィwii”のウルトラソードのような感じです。
sane

2020/03/12 01:37

敵オブジェクトにつけるスクリプトに当たり判定(on trigger enter)をつけ、武器や攻撃の種類で場合分けするのはどうでしょうか? 武器に当たり判定をつけると敵の管理が難しいので。
piced

2020/03/12 07:39

武器ではなく敵側に1度だけダメージを受ける処理をさせるということですね。 試してみます。ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.30%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問