code VR

Unity×VR(181)

スポンサーリンク

//tips

//微調整

パンチモーション開始時のstate遷移とコライダーのオンオフ条件を見直した。

実行してみると、一瞬だけコライダーがオンになり、すぐにwhile (!animator.GetCurrentAnimatorStateInfo(0).IsName("Punch Attack 0") || !animator.IsInTransition(0))によってfalseにされてしまっている。

Orではなくandでwhile文を再度確認。

これでOnTriggerStay(Collider col)の場合は正常に機能するように戻った。ログを見ていくとOnTriggerStay(Collider col)とOnTriggerEnter時の違いは受け手側のother.gameObject.tagWeaponが呼ばれているかいないかの違いのように思われる。

つまり、Searchareaの接触でprivate void OnTriggerEnter(Collider other)の稼働が完了してしまい再度メソッドが実行されるタイミングがOnTriggerStayのタイミングになっているのではないかと考える。

確かにonchase = true;にできるのはOnTriggerStay(Collider col)とOnTriggerEnterが実行されたタイミングしかなく、if (playerTransform.position != null)で一度chase状態に入ったら再度trueに変えることはできなくなっている。

if (playerTransform.position != null)部分は特に外して問題なさそうなので、コメントアウトして様子を見る。

コライダーの接触はレイヤーでも制御できるのでHPscriptでプレイヤーがsearchareaを検出しないように設定していく。

searchareaに新たなレイヤーを設定。そしてdeerのコライダーに対して、editのProject SettingsからSearchレイヤーのオブジェクトを感知しないようにチェックを外す。

こうするとchaseされなくなってしまった。プレイヤー側片方のコライダーのみレイヤー判定を受け付けるということができなかった。

デバッグを差し込み再度確認していたらゴーレムのコライダーの方がうまくオンオフできていないことに気がついた。

rightfootcollider.enabled = true;

Debug.Log(animator.GetCurrentAnimatorStateInfo(0));

while (!animator.GetCurrentAnimatorStateInfo(0).IsName("Punch Attack 0") && !animator.IsInTransition(0))
{
rightfootcollider.enabled = false;

オンにした後すぐにオフになっているため反応が取れなかったよう。下記を新たに挿入し、trueにした後はパンチアクションが開始するまでコルーチンを中断させる。

yield return new WaitWhile(() => animator.GetCurrentAnimatorStateInfo(0).IsName("Punch Attack 0"));

ゴーレムの接触反応は呼ばれるが、プレイヤーのものは呼ばれない。

yield return new WaitWhile(() => animator.GetCurrentAnimatorStateInfo(0).IsName("Punch Attack 0”));がうまく機能していないのでyield return new WaitForSeconds(1.1f);の形に変更。

これでうまく判定が出るようになった。初期の時間設定のものとの違う点はstateの移行を感知するために時間を条件としたところ。前は時間でコライダーのオンオフを行なっていた。

多少はスムーズな動作と判定になった。

人気の記事

1

コロナによる需要変化 コロナパンデミックの影響で、人々は外に出られなくなり、自宅で過ごす時間が増えました。 この自粛ムードの中、下記のようなビジネスの需要変化が引き起こされています。 【利用者減少】 ...

2

米国レストランの決済時に毎日お世話になっていた「Square」のビジネスモデルについて本日はふれていきたいと思います。 「Square」とは、ネットにつながったモバイル端末と専用のカードリーダーを用意 ...

3

無料でネットショップを開けるアプリとして多くの人に驚きを与えたBASE株式会社が、2019年10月25日東証マザーズに上場しました。2020年2月時点で90万店を超えるショップを抱えるまでに成長してい ...

4

2011年にサービスを開始してから圧倒的な成長率を誇るインテリア通販サイト 【FLYMEe/フライミー】を皆さんご存じでしょうか。 「自分のイメージするインテリア、本当に欲しいインテリアがどこにあるの ...

5

ナイキのSNKRSが、なぜこれほどまでに人気なのか?調べてみました。 きっかけは米国での友達との会話。彼は自分のシューズをみせて、「これ20万円もしたんだぜ。」と語ってくれました。 あまり靴に興味がな ...

-code, VR
-,

Copyright© BUSINESS HACKER , 2021 All Rights Reserved Powered by AFFINGER5.