Skip to content

Unity2D、初心者が陥りがちなミス。衝突判定が動作しない、キャンバスがデカすぎる、など

  • unity

更新日📅 June 08, 2020

記事投稿日📅 February 15, 2018

⏱️1 分で読めます

最近モバイルゲームの作成を趣味でしている。自分の陥った点や対処法を備忘録として残しておく。

衝突判定が動作しない

OnTriggerEnterやOnCollisionEnterが効かない。

OnTriggerEnter2D,OnCollisionEnter2Dと、2Dの場合名前が変わるので注意

オプションの名前も少し違う。ネット上の記事をそのまま参考にコピペしていると、3D前提のコードで書いてしまう場合が多いので留意すること。

Collider系は衝突するオブジェクトが両方ともCollider2DとRigidbody2Dを持っていないといけない。

プレファブ(prefab)したオブジェクトにアタッチしたスクリプトの変数の関連付けができない

現象を説明しずらいが、inspector内で、スクリプト内で定義した変数に該当するオブジェクトがドラッグで関連付けできないということ。ヒエラルキーからオブジェクトをドラッグしても、無反応の場合がある。

これは、関連付けするオブジェクトがprefab化されていないことが原因として考えられる。画像などのオブジェクトを割り当てる場合は、一旦prefab化し、prefabを関連づけするようにすること。

UI Textを作ったりした時のCanvasサイズがでかすぎる

Hierarchy内にできるCanvasをクリックし、inspectorでのCanvas項目の"Render Mode"を"Screen Space - Camera"にし、その下のRender Cameraに"Main Camera"をドラッグして指定してあげると、キャンバスサイズとカメラのサイズが一緒になる。

ほかのクラスで定義した変数をいじりたい

パラメータやスコアの変動処理を、それを定義したクラス外でやろうとするときに発生しうる問題、おすすめ方法は"ParameterTable"という機能を使う方法。

"Unity ParameterTable"とかでググればいろいろでてくるはず。

← PrevNext →

人気の記事