メインコンテンツへスキップ
< すべてのトピックに戻る

「LayerMask is invalid」が出た場合は?

Physics.Raycast等で指定したレイヤーマスク(当たり判定のフィルター)に、存在しないレイヤー番号を指定しました。

LayerMask.GetMask("Ground") 等でレイヤー名から数値を変換する際、"Ground"という名前のレイヤーがエディタ上で定義されていないと、変換に 失敗 して無効な数値になるためです。

Tags and Layersの設定を開き、「Layers」の項目に"Ground"などの使いたいレイヤー名を登録します。スクリプトに文字列を直接書くタイポを防ぐため、[SerializeField] public LayerMask mask;を使って Inspector から選択する設計が最も安全です。

目次

9周年キャンペーン実施中 早い申込みほど受講料がお得に