###▶︎Unityインストール時何を選べば良いか分からない
Unityのインストール中に**『Unity component selection』**っていう画面出て来ますよね?
その時に選ぶ項目について!
基本的には
▶︎Unity
▶︎Visual Studio
▶︎Documentation
の3つを選択すればOK!(Macの場合)
*Windowsの場合は『Documentation』が無い場合がありますがその時は無くてもOK!
###▶︎Consoleの場所
UnityのバージョンによってConsoleの位置が教材と変わっている場合があり、見つからない時は左上のWindowのGeneralにConsoleがあるのでそれを使おう。
###▶︎Monodevelopが選択肢に無い
『Preferences』→『External Tools』→『External Script Editor』を設定する場面で
『Monodevelop』の選択肢が無い...!
となった時。
↑画像のように**『VisualStudio』を選択**しよう!
*Unityのバーションアップに伴って、サポートされる開発環境が変わった為です。
###▶︎シーンがSaveできない(名前がつけられない)
動画教材通りにSaveしているはずなのにSaveされない...!
そんな時は
**『シーン名の右肩に * がついているか』**に注目してみよう!
▶︎『*』ついてる → Saveされてない
▶︎『*』ついてない → Saveされている
ということなので試しにSaveをしてみて『*』が消えるかどうか試してみよう!
*Unityのバージョンアップに伴って、NewProjectした後自動的に『SampleScene』が作られるようになったことが原因です。
以前はSampleSceneが自動的に作られなかったので初回Save時、自分でそのSceneの名前を指定する必要がありました。
*SampleSceneではなく名前をつけて保存をする場合は
上の様にFileのSave As...で名前をつけて保存しよう!
###▶︎スクリプトがGameObjectにくっつかない
スクリプトを書いて、いざ、「GameObjetに貼り付けよう!」というタイミングで
こんなのが出てきてスクリプトがGameObjetにくっつかない!ということになってしまった時。
よくありがちなのが
↑の画像のように
▶︎ファイル名 (①)
▶︎クラス名 (②)
の名前が一致していないこと。
クラス名 (②)をファイル名 (①)に一致させよう!
*例えば上画像のような場合は、②を『PlayerScript』に直す。
この2つの名前が一致していないとUnityの場合は正常に動作してくれない、という決まりなのでこれは注意しよう!
###▶︎当たり判定がされない
PlayerとEnemyがぶつかったらシーン遷移するはずなのになぜかしない...
こんな時はこの▶︎"当たり判定"でチェックすべき10のポイント◀︎を読んでみよう!
当たり判定でよくしてしまう間違いが網羅的にまとめられているので、きっと解決に近くはず!
###▶︎SpriteEditorが開かない
横スクでSpriteEditorを開こうとすると
この様なものが出たら必要なインストールができていないのでインストールをしよう!
↑の様にWindowのPackage Managerを開いて
↑の様にAll packagesの中の2D Spriteをインストールしよう!
All packagesではなく別のものが表示されることがあったので、All packagesがなかったらUnityRegistryを選択して右上の検索窓で2D Spriteと検索してみてください!
#◆プログラミング初心者が間違いやすい4箇条
▶︎スペルミス
▶︎大文字、小文字の違い
▶︎半角、全角のミス
▶︎中括弧{ }のミス(数が合わない、場所を間違える)
プログラミング勉強し始めの時は上のような間違いをしてしまいがち。
具体例と共に見ていこう!
###▶︎スペルミス
プログラミングをしているとどうしてもしてしまうスペルミス。
例えば...
this.transform.position //正しい
this.transfrom.position //間違い
こんな時。
trans"from"になってしまってますね!
自力で全てを打っているとどうしても間違えてしまう。
ので、VisualStudioの予測変換機能をうまく使おう!
こんな感じ↑で出て来るやつ!
例えば、『transform』だったら画像みたいに『tr』まで打てば
もうtransformを入力してくれる状態になるので、
このタイミングでEnterキーを押せばあとは勝手に入力してくれます。
こうすることでスペルミスを減らせるだけでなく、
コーディングのスピードも格段に上がるのでどんどん使いこなしていこう!👏
*もし「自分のVisualStudioだと予測変換が出てこない...!」という人がいたら
この▶︎UnityでVisual Studioのインテリセンス(自動補完/候補)が出ない◀︎を読んでみよう。
解決のヒントが出てくるはず!
###▶︎大文字、小文字の違い
大文字,小文字が違うだけでも、プログラミングはダメなんです。
例えば...
void OnCollisionEnter(Collision col)//正しい
{
//当たり判定の処理
}
void onCollisionEnter(Collision col)//間違い
{
//当たり判定の処理
}
上の2つ、どこが違うか分かりますか?
ひじょーに分かりにくいですが、"OnCollisionEnter"の頭の"O"が小文字になってます。
「そんな些細な!」と思うかもしれませんが、これだけの間違いでもちゃんと動かなくなってしまうのがプログラミング。
しかも、OnCollisionEnterとかはスペル間違い・大文字小文字間違いがあっても、
VisualStudioが教えてくれないのでさらに要注意!
例)
transformのスペル間違いの時とかは↑画像のように
赤の下線でエラーある事を教えてくれたりするけど、
↑の画像の例のように"C"が小文字だし"l"もひとつ足りないのに、エラーがあることを教えてくれません。
ので、ここはしっかりスペルを覚えて
もしちゃんと動かなかったらスペルが合っているかを確認するクセをつけよう!
###▶︎半角、全角のミス
プログラミングは半角でしか書きません!
これは間違えないように気をつけるしかないです。笑
基本的に、全角で打ったコードに対してはエラーが出るはずなので
「コード合ってるのになぜかエラー出てる...」という場合は全角入力を疑ってみましょう!
###▶︎中括弧{ }のミス(数が合わない、場所を間違える)
夢中になって書いていると、
どのカッコがどのカッコに対応しているのか分からなくなってしまいがち。
例えば...
void Update () {
timer += Time.deltaTime;
if(timer > 2.0f)
{
Instantiate(enemy);
timer = 0;
}
↑中括弧『}』が1つ足りない
void Update(){
timer += Time.deltaTime;
if (timer > 2.0f)
{
Instantiate(enemy);
timer = 0;
}
}
}
↑逆に中括弧『}』が1つ多い
とか。特にif文を書く時に起きてしまいがちな印象です。
これを防ぐ手段として
if文を書く時、先に中括弧{ }まで全部書いてしまうというのがおすすめです!
例えば...
if (timer > 2.0f)
{
Instantiate(enemy);
timer = 0;
}
こういうif文を書く時。3STEPに分けます。
*避けゲー(#1-15)でこんな感じのコード書きます。
▼STEP1
if(){}
//先にここまで書く!
▼STEP2
if (){
}
if ()
{
}
//改行していい感じの形にする。上の形でも下の形でもOK!
//ちなみに筆者は下のが好み。
▼STEP3
if (timer > 2.0f)//条件
{
//処理
Instantiate(enemy);
timer = 0;
}
//条件や処理を書いていく。
この順番でif文を書くと、絶対に中括弧{ }をつけ忘れたりすることが無いのでみんなも是非やってみて!