質問をすることでしか得られない、回答やアドバイスがある。

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

新規登録して質問してみよう
ただいま回答率
85.50%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Unity

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

3DCG

コンピュータの演算により、3次元空間の仮想物体を、2次元平面上で表現する手法である。

Q&A

解決済

1回答

683閲覧

Unityでの攻撃当たり判定がまれに抜けるのを防ぎたいです

Hina_0917

総合スコア17

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Unity

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

3DCG

コンピュータの演算により、3次元空間の仮想物体を、2次元平面上で表現する手法である。

0グッド

0クリップ

投稿2018/11/08 21:59

現在Unityで3Dのアクションゲームを作成しているのですが主人公側の攻撃がまれに敵に当たらないことがあります。

主人公の武器(剣)にCapsule Collider(Is TriggerをON)とRigidbody(Is Kinematic ON)をアタッチして、
敵側のスクリプトのOnTriggerEnterに武器と接触したときにダメージ処理を行うようにコードを書いています。

C#

1 protected void OnTriggerEnter(Collider other) 2 { 3 //! ダメージ処理を行う~ 4 }

武器のRigidBodyの「Collision Detection」は「Continuous」に変更しています。

また、Unity Editor上では「V Sync Count」を「Don't Sync」に変更することで発生が軽減し、
Androidの実機上では「V Sync Count」を「Every V Blank」にしてもあまり発生しません。

テスト端末が一台しかないため試せないのですがAndroid端末の違いによって抜けの頻度は上がったり下がったりするのでしょうか?

またこのような抜けを防ぐ有効な手段はありますでしょうか?
出来ればその方法を教えていただきたく思います。よろしくお願いいたします。

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

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

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

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

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

guest

回答1

0

ベストアンサー

動くもの同士の当たり判定であれば、Continuos Dynamicのほうがよいと思います。

また、処理能力に余裕があるなら、FixedTimeStepを増やして確認してみてください。
メニューバーのEdit>PlayerSettings>TimeからTimeマネージャーを開いて、
FixedTimeStepの値を小さくしてみてください(0.001くらい)。

投稿2018/11/09 00:05

YOshim

総合スコア1085

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

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

Hina_0917

2018/11/11 04:23

返事が遅くなり申し訳ありません。 回答の通りに試してみたところ抜けが発生しなくなりました! 回答ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問