Unityって10回言ってごらん

ど素人がunityでゲーム製作する悪戦苦闘話

Unityでのゲーム製作でこんなエラーでました

Unity1weekに参加するためのゲーム作っていた時に出たエラーで覚えているものをつらつらと書きます。

私のボケボケからくる特殊なエラーが多いのでお役に立たないでしょうが、「へー、こんなエラーでることあるんだ、変な人」程度にお楽しみいただけたら幸いです。

 

ゲーム再生したら音が出ない

(状況)

ゲーム再生したら、BGMも効果音も聴こえない。

AudioSorceもあり、AudioListnerもあり、音楽Clipもあり。

メディアプレイヤーとかだとちゃんと聴こえる。

他のプロジェクトでも同じく聴こえない。

 

(対処)

ゲームビューでMuto Audioのチェックを外す。

え?Mutoがデフォルトなの?てか、以前から、Muto Audioってあった?

今回初めて困ったんだけど。

 

オブジェクトにスクリプトがアタッチできない

(状況)

あるオブジェクト(A)にあるスクリプト(あ)をアタッチしようとしたら「Can't add script behaviour Ignore Snap Conditionai Attribute.The script needs to from MonoBehaviour!」と怒られた。

他のオブジェクト(B)にアタッチされているスクリプト(い)も(A)にアタッチできない。

 

(対処)

これは、全く別のスクリプト(う)にエラーがあったせい。

(う)を直したらOK。

 

ゲーム開始と同時にゲームオーバー

(状況)

タイトル画面でスタートボタンをぽちっと。

ゲーム画面に移ったと同時にゲームオーバー表示。

 

(対処)

プレイヤーと同じ位置に敵を置きっぱなしにしてシーンから削除するの忘れていた。

重なっていたので気付かなかった。

シーンから削除でOK。

 

衝突時に自機が揺れない

(状況)

自機が敵や隕石にぶつかったら自機の機体を揺らすように設定してるが揺れない。

 

(対処)

メインカメラを自機の子にしていたので、カメラも一緒に揺れて同期をとっていたので揺れていないように見えてただけ。

メインカメラを子から外して、chinemachinのバーチャルカメラに変更。

 

弾が真っ直ぐに飛ばない

(状況)

弾がビューンと真っ直ぐに飛ばないであらぬ方向へ流れてしまう。

 

(対処)

速度を早くした。

 

パーティクルの方向を変えたい

(状況)

自機の後部から出るフレアがカメラからだと縦に映り機体から出てるように見えない。

transformのrotateを変えても変わらない。

 

(対処)

パーティクルのインスペクタビューで3D Start Rotationにチェックを入れて、x,y,zの値を入力して変更。

カメラから見える方向で合ってればOKにした。

 

Invokeが実行されない

(状況)

Invoke("A")は実行されているのに、Invoke("B")が実行されない。

Invoke("B")の直前までは実行されている。

 

(対処)

元々、Invoke("A")しかなかったので、キャンセルするのにCancelInvoke()にしていた。

後でInvoke("B")を加えたので、Invoke("B")までキャンセルになってしまった。

CancelInvoke("A")に変更してOK。

 

アタッチしたオブジェクトが勝手に外れる

(状況)

ゲームオブジェクト(A)にアタッチしているスクリプト(あ)のゲームオブジェクト変数にゲームオブジェクト(B)をインスペクタでアタッチ。

実行するとNullRefernceエラー。

いつの間にか(B)が外れている。

 

(対処)

アタッチできるのはAssets下に置かれているプレハブだけ。

 PlayerをプレハブにしてもアタッチできないのはPlayerはシーンにひとつしか存在できないからってことですかね?

 

実行が止まってしまう

(状況)

実行してちょっとすると「Screen position out of view frustum」エラーで止まってしまう。

 

(対処)

ネット情報ではCameraコンポーネントのClippung PlanesのNearの値を0.3以下にすると発生するってあったけど、0.3以下になってないし…

ふとPlayerの位置を見るとZの値に数字の他にアルファベットのeが…

ひーーー、宇宙の果てまで一足飛びに行っちゃってたってこと?

動きのコードを直して無事にエラーなくなった。

動きがね、いまひとつ呑み込めてないんだな。

 

アタッチしているのにNullRefernceエラー

(状況)

GameManagerで管理しているスコアテキストがアタッチされてないらしい。

インスペクタではしっかりアタッチされている。

スコアテキスト自体も生きている。

 

(対処)

GameManagerってシングルトン(かっこいい響きだね)ってやつなんだけど、なぜか全然別のゲームオブジェクトにもくっついてた。

なぜか全然わからない。

つけた覚えはないし、そもそもつけないし。

 

当たり判定されない

(状況)

Playerと隕石の当たり判定が突然されなくなった。

 

(対処)

レイヤー増やしたときに隕石のレイヤー名が別のレイヤー名にすり替わってしまっていた。

隕石のレイヤー名を直してOK。

 

ゲーム終了時のリトライボタンが反応しない

(状況)

リトライボタンをクリックしても画面が変わらないまま。

 

(対処)

リトライボタンのOnClickにGameManager内のメソッドを呼ぶように設定していたが、途中でGameManager失踪事件があって、文字通りMissingになってたわけです。

再度設定し直してOK。

 

シーンビューが暗い

(状況)

シーンビューではそれなりに明るいのにゲームビューが暗めだったり白いモヤがかかってたりする。

 

(対処)

多くの人のブログで書いてあるように

window>Rendering>Lighting Settings>ObjectMapsタブでAuto generateのチェックを外してGenerate Lightingsをクリック

で持ち直したかのようにみえたがすぐにダメ。

ビルドしたやつは大丈夫なので、まっいっか。

 

ビルドボタンが押せない

(状況)

WebGLでビルドしようとしたらビルドボタンが灰色で押せない。

 

(対処)

PlayerSettingでcolor spaceをLInearからGammaに変更したらOK。

 

と、他にもいろいろあったんですが、メモっておいたものだけ書き出しました。

いかがでしたか?

俺のほうが、私のほうが、もっとぶっとんだエラー出したよって方はコメントしてください。

「Unityでぶっとびエラーの人々」という記事に採用させていただきます。