おはようございます。おーみんです。
途中Sphere Collider付けてるのに付いてないよー!とかいう意味不明なエラー出て、それはまだ未解決なので明日頑張る。
— 超おーみん2@Unity民族 (@Ooooooomin_365) 2019年2月1日
それで結構時間食ったのが痛いなぁ💦💦#unity #unity3d
現在Unityでゲームを作成していますが、先日当たり判定のエラーに結構苦しんだのでその内容と、意外とあっけなかった解決方法について話していこうと思います。
何故か消えない当たり判定のエラー
さあ、いつもの日のようにスクリプトを設定して、ゲームを再生してみると・・・
ん??
何やらエラーが出てる・・・
【エラー内容】
MissingComponentException: There is no 'SphereCollider' attached to the 'RightHandIndex4' game object, but a script is trying to access it.
まあエラー内容はそんなに複雑なものではありません。
単純に「今衝突したんだけど、オブジェクトにSphereColliderが設定されてないよ~!当たり判定を検知するためにColliderを設定してね!」という内容です。
あれ?設定し忘れていたか?
と思い、確認したところ・・・
・・・ちゃんとCollider設定してるし。
(※Sphere Colliderのチェックボックスにチェックが入ってないのは、とある条件下のときにのみチェックが自動で入るようにスクリプトを書いているためです。)
もう一度再生してみると・・・
なんでや・・・
意味分からないのでスクリプトの対象部分を確認してみる。
うん。ちゃんとオブジェクト名も誤字なしで正しい。
大丈夫なはず。
しっかり当たり判定の設定は出来ている。
もう一度再生。
どうした??w
ちなみにネットで同エラーの内容を調べても「Colliderが設定されていないのでは?」ということばかり。
悩んだ末に、その日は一旦未解決のまま終了しました。
再起動したらあっけなく直った
次の日、そのエラーを直そうと張り切ってUnityを立ち上げて、試しにゲームを再生してみると・・・
あれ??
エラーが消えてる・・・
えええええええええ!!!
なんだそりゃ!!!!
まあそういう具合にですね・・・
あれだけ苦戦した当たり判定のエラーが再起動したら一発で直りました。
時間をだいぶ使ってしまったので、今度からは明らかにおかしなエラーが出たら積極的に再起動をしたいと思います(笑)
もし、皆さんの中で同じようなエラー内容で困っている方がいらっしゃったらぜひ再起動してみてください。