LoginSignup

This article is a Private article. Only a writer and users who know the URL can access it.
Please change open range to public in publish setting if you want to share this article with other users.

More than 3 years have passed since last update.

Unity動画教材 詰まりがちポイント(2020/08)

Last updated at Posted at 2019-12-26

▶︎Unityインストール時何を選べば良いか分からない

Unityのインストール中に『Unity component selection』っていう画面出て来ますよね?
その時に選ぶ項目について!
Download_And_Install_Unity_と_Unity_Download_Assistant_と_Thank_you_for_downloading_Unity_-_Unity_Store.png
基本的には
▶︎Unity
▶︎Visual Studio
▶︎Documentation
の3つを選択すればOK!(Macの場合)
*Windowsの場合は『Documentation』が無い場合がありますがその時は無くてもOK!

▶︎Consoleの場所

UnityのバージョンによってConsoleの位置が教材と変わっている場合があり、見つからない時は左上のWindowのGeneralにConsoleがあるのでそれを使おう。

スクリーンショット 2020-08-22 10.54.08.png

▶︎Monodevelopが選択肢に無い

『Preferences』→『External Tools』→『External Script Editor』を設定する場面で
『Monodevelop』の選択肢が無い...!
となった時。
全画面_2018_12_13_23_09.png
↑画像のように『VisualStudio』を選択しよう!
*Unityのバーションアップに伴って、サポートされる開発環境が変わった為です。

▶︎シーンがSaveできない(名前がつけられない)

動画教材通りにSaveしているはずなのにSaveされない...!
そんな時は
Unity_2018_2_14f1_Personal__64bit__-_SampleScene_unity_-_New_Unity_Project_-_PC__Mac___Linux_Standalone__Personal___Metal_.png
『シーン名の右肩に * がついているか』に注目してみよう!

▶︎『*』ついてる → Saveされてない
▶︎『*』ついてない → Saveされている
ということなので試しにSaveをしてみて『*』が消えるかどうか試してみよう!

*Unityのバージョンアップに伴って、NewProjectした後自動的に『SampleScene』が作られるようになったことが原因です。
以前はSampleSceneが自動的に作られなかったので初回Save時、自分でそのSceneの名前を指定する必要がありました。

*SampleSceneではなく名前をつけて保存をする場合は
スクリーンショット 2020-08-20 21.59.58.png
上の様にFileのSave As...で名前をつけて保存しよう!

▶︎スクリプトがGameObjectにくっつかない

スクリプトを書いて、いざ、「GameObjetに貼り付けよう!」というタイミングで
Unity_2018_2_14f1_Personal__64bit__-_SampleScene_unity_-_MultiTouchTest_-_PC__Mac___Linux_Standalone__Personal___Metal_.png
こんなのが出てきてスクリプトがGameObjetにくっつかない!ということになってしまった時。
よくありがちなのが
_Users_ryohei_Desktop_GeekSalonUnityProjects_MultiTouchTest_Assets_Scripts_PlayerScript_cs_–_Visual_Studio_Community_2017_for_Mac.png

↑の画像のように
▶︎ファイル名 (①)
▶︎クラス名 (②)
の名前が一致していないこと。
クラス名 (②)をファイル名 (①)に一致させよう!
*例えば上画像のような場合は、②を『PlayerScript』に直す。

この2つの名前が一致していないとUnityの場合は正常に動作してくれない、という決まりなのでこれは注意しよう!

▶︎当たり判定がされない

PlayerとEnemyがぶつかったらシーン遷移するはずなのになぜかしない...

こんな時はこの▶︎"当たり判定"でチェックすべき10のポイント◀︎を読んでみよう!
【Unity】『当たり判定』でチェックすべき10のポイント.png
当たり判定でよくしてしまう間違いが網羅的にまとめられているので、きっと解決に近くはず!

▶︎SpriteEditorが開かない

横スクでSpriteEditorを開こうとすると
スクリーンショット 2020-08-24 14.30.16.png
この様なものが出たら必要なインストールができていないのでインストールをしよう!
スクリーンショット 2020-08-24 16.14.36.png
↑の様にWindowのPackage Managerを開いて
スクリーンショット 2020-08-24 16.16.08.png
↑の様にAll packagesの中の2D Spriteをインストールしよう!
All packagesではなく別のものが表示されることがあったので、All packagesがなかったらUnityRegistryを選択して右上の検索窓で2D Spriteと検索してみてください!

◆プログラミング初心者が間違いやすい4箇条

▶︎スペルミス
▶︎大文字、小文字の違い
▶︎半角、全角のミス
▶︎中括弧{ }のミス(数が合わない、場所を間違える)

プログラミング勉強し始めの時は上のような間違いをしてしまいがち。
具体例と共に見ていこう!

▶︎スペルミス

プログラミングをしているとどうしてもしてしまうスペルミス。
例えば...

this.transform.position //正しい
this.transfrom.position //間違い

こんな時。
trans"from"になってしまってますね!

自力で全てを打っているとどうしても間違えてしまう。
ので、VisualStudioの予測変換機能をうまく使おう!
全画面_2019_01_13_20_38.png
こんな感じ↑で出て来るやつ!

例えば、『transform』だったら画像みたいに『tr』まで打てば
もうtransformを入力してくれる状態になるので、
このタイミングでEnterキーを押せばあとは勝手に入力してくれます。

こうすることでスペルミスを減らせるだけでなく、
コーディングのスピードも格段に上がるのでどんどん使いこなしていこう!👏

*もし「自分のVisualStudioだと予測変換が出てこない...!」という人がいたら
この▶︎UnityでVisual Studioのインテリセンス(自動補完/候補)が出ない◀︎を読んでみよう。
解決のヒントが出てくるはず!

▶︎大文字、小文字の違い

大文字,小文字が違うだけでも、プログラミングはダメなんです。
例えば...

void OnCollisionEnter(Collision col)//正しい
{
    //当たり判定の処理
}

void onCollisionEnter(Collision col)//間違い
{
    //当たり判定の処理
}

上の2つ、どこが違うか分かりますか?

ひじょーに分かりにくいですが、"OnCollisionEnter"の頭の"O"が小文字になってます。
「そんな些細な!」と思うかもしれませんが、これだけの間違いでもちゃんと動かなくなってしまうのがプログラミング。

しかも、OnCollisionEnterとかはスペル間違い・大文字小文字間違いがあっても、
VisualStudioが教えてくれないのでさらに要注意!

例)
Assembly-CSharp_–_Assets_Scripts_StageSelectManager_cs__–_Visual_Studio_Community_2017_for_Mac.png
transformのスペル間違いの時とかは↑画像のように
赤の下線でエラーある事を教えてくれたりするけど、
Assembly-CSharp_–_Assets_Scripts_StageSelectManager_cs__–_Visual_Studio_Community_2017_for_Mac.png
↑の画像の例のように"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文を書くと、絶対に中括弧{ }をつけ忘れたりすることが無いのでみんなも是非やってみて!

0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up