Unityで気をつけること
1.プレハブから直すこと!
プレハブから直さなくてめんどくさくなったことがありすぎる
2.isTriggerをつけること
エラーが出ていないときの対処はプレハブから設定を見直すのと、とりあえず当たり判定関係は全部isTriggerを見とけばなんとかなる
3.エラーコード.cs
.csが出たときはスプリクトのスペルミスで、何行目かも教えてくれているからそこを治す。
4.細かいところまでこだわる
右下、左下の設定、時間、あってもなくても良い宝石など、なくても全然正常に動くものでもあったほうが楽しいからこだわってつくろう
Chapter1-5 Unityで作るゲームの構成を知ろう
・シーン(Scene)
ゲームの画面1つを表す。タイトル画面やスコア画面などの画面はこのシーンという単位で表され
る。
・ゲームオブジェクト(GameObject)
シーンの中にあるすべてのものはすべてゲームオブジェクトと呼ばれます。プレイヤーや敵キャラ、
背景の画像などは、全てゲームオブジェクトです。この下のコンポーネントをつけて、色々なものに
変化させていきます。
・コンポーネント(Component)
ゲームオブジェクトを色々なものに変化させるためにくっつけるデータ。
色んな種類があって、それをくっつけることで見た目や働き方が変わってきます。
例えばプレイヤーキャラ。ゲームオブジェクトという状態にプレイヤー用の画像、操作して動かすた
めのプログラムなどといった様々なコンポーネントをくっつけて段々とプレイヤーキャラに仕上げて
いくのです。
・アセット(Asset)
アセットは英語で「資源」という意味です。ゲームを作る素材のことをアセットと言います。
画像や音楽データなどのアセットに色々なコンポーネントをくっつけることで、ゲームオブジェクト
を作っていきます。
Chapter2-1 Unityで「はじめての」ゲームを作ろう
Unityの画面を覚えよう

ツールパレット
・ハンドツール
画面をドラッグして移動させることができる
・平行移動ツール
選択しているもののいちを上下左右に移動することができる
・回転ツール
選択しているものを回転させることができる。(2Dだと使いづらいかも)
・スケール変更ツール
選択しているものを拡大縮小することができる。
・矩形(くけい)ツール
選択しているものの位置の変更と縦横のサイズ変更を行える。
・移動/スケール/回転ツール
平行移動と回転とスケールを同時に表示して変更できる。
ツールバー
左から実行、一時停止、ステップ
実行:ゲームを開始する
一時停止:ゲームを一時停止する
↑※止めるにはもう一度実行を押す。そのまま変更し続けるとデータが残ってないことになってしまう!!!!!
ステップ:ゲームの一時停止中に押すと1フレームずつゲームを進める
1フレームは1秒に50回画面の書き換えを行うこと
シーンビュー/ゲームビュー/Asset Store
ウィンドウの真ん中にある広い領域をシーンビューという。その上のタブでゲームビュー(ゲームの実行画面)に切り替えることができる。Unityのメイン画面。
シーンビューはゲームの編集画面で、背景やキャラクターなどを配置したりしてゲーム画面を作っていく。
ヒエラルキービュー
シーンビューの中に表示されているものがリスト形式で表示されている。
インスペクタービュー
シーンビューで選択されているものの情報が表示される。
プロジェクトビュー
ゲームに使う素材が表示されている。ゲームに使う素材(アセット)はここにドラッグ&ドロップして追加する。『Console』タブでコンソール表示に切り替わり、ゲーム実行中に詳しい情報が表示される。
2D物理関係
・ボディタイプ(Body Type)
Dynamic
オブジェクトに物理演算が適用される。重力などの力がかかるようになる。
Kinematic
Dynamicのような重力や力が適用されなくなる。
Static
全く動くことがないオブジェクトになる。Kinematicとの違いは、
1.移動や回転ができない
2.処理が軽い
とのこと。
変数
int(整数型):整数を表す型名です。
float(小数点型):小数点がつく値はここに入ります。プロジェクト名にするときは最後に「f」をつけます。
string(文字列型):””で表す文字限定の型番です。
bool(論理値型):true(はい)とfalse(いいえ)で表される型名です。条件判断などを行えます。
メソッド
メソッドとは「なにかの値を受け取って、作業(処理)を行い、結果を値として返す」という仕事をします。関数やファンクションなどとも呼ばれます。
メゾットに必要なものは、「戻り値」「メソッド名」「引数」「本体」です。
戻り値の型
メソッドが仕事を終えたあと、その結果を返すときの「型名」を指定します。
voidはなにも値を返さないという意味です。
()2何も書かないと、何も受け取らず、値も返さないメソッドになります。
引数
引数はメソッド名のあとに()でくくられて書かれます。
(型値,型値)
カンマで区切って使います。
ステートメント
{}に囲まれている範囲がメソッドの範囲です。この中をステートメントといい、プログラム内での一つの区切りになります。
戻り値
例として、
2つの数字を足し算して、その答えを返すという仕事をするAddCalをつかいます。
引数でnum1とnum2を足しz何して返しています。
途中に出てくるreturn 値;
というのが、戻り値を返すという記述です。
戻り値がvoidのときはいらないらしいですが、return;を書くことで、そこで処理を終了してメソッドを中断することができます。
メソッドを使うことは「メソッドを呼ぶ」という言い方をします。
UpdateメソッドとFixedUpdateメソッドの使い分け
入力系の処理はUpdateメソッドで行い、物理を使った移動などの処理はFixedUpdateメソッドで行うようにしましょう。
Is Trigger
インスペクタービューにあるその物体に物理的なあたりを与えるかを示します。しかし当たったイベントは送られるため、これはゴールや死亡のときに使います。
タグ
タグはゲームオブジェクトに文字を付けて区別する仕組みです。
プレハブ
いちいち地面を並べて設定するとめんどくさいのでUnityにはプレハブという「ゲームオブジェクトを複製する」ための便利な仕組みがあります。
プレハブはヒエラルキービューからプロジェクトビューにドラッグ&ドロップするだけです。
これを出すと同じ効果を持ったものが出てきます。
ゲームオブジェクトを揃えて並べる
Unityにはオブジェクトを揃えて並べるとても便利なものがある。
キーボードの「V」キーを押しながらカーソルを動かすと吸い付くように並べて配置することができます。
Physics Material 2D
物体の物理特性を調整するためのパラメーター。
インスペクタービューにあるFrictionを少なくすれば摩擦がよわく、多くすれば強くなります。摩擦係数を表しています。
メカニム
・スプライト(Sprite)
アニメーションさせるための画像データがスプライトです。unityで画像を表示するSprite Rendererがあります。Sprite Rendererコンポーネントではこのスプライトデータを使って画像を表示しています。
・アニメーションクリップ(Animation Clip)
複数のスプライトを使って画像を切り替えて、アニメーションさせるためのデータ。再生時間や速度などの管理ができます。
・アニメーターコントローラー(Animator Controller)
複数のアニメーションクリップを管理するデータ。いろんなアニメーションをさせたいときは、個々のアニメーションをさせるアニメーションクリップをいつどこで切り替えるか管理できます。
・アニメーターコンポーネント(Animator Component)
ゲームオブジェクトにアタッチしてアニメーションをさせるコンポーネント。
アニメーションクリップをまとめたアニメーターコントローラーを設定するアニメーターコンポーネントがゲームオブジェクトに入る感じ。
今週のバグ達
1.打ちミスのエラー
.csと書いてあるエラーが出たときはほぼ絶対にソースコードのどこかのスペルを間違えている。
黄色い三角形のエラーで謎なことを言われたら今回はアップデートの中にその後のソースコードを無理やり入れてたからエラーで動かなかった。
2.ハリネズミの挙動
ハリネズミが向きは変えるくせに動かなかった。
ソースコードの問題かと思ってたけど、聞いたらエネミーコントローラーの一番最後にあるグラウンドレイヤーをグラウンドに設定してなかったからだった。このとき「あーそこかぁ」ってなってそのまま治すんじゃなくて、絶対プレハブにして修正する。バグるから
3.ゲームオーバー・ゲームクリアの音がならない
通常の音はなるのにそこだけならなかったのはやっぱりプレハブのせいで、プレハブごとやらなかったからゲームマネージャーにBGMを設定してもそのステージしか反映されていなかった。
困ったらエラーコードを見るけど、出ないことがあったから再起動してセーフモードにして見てみるとスペルミスとかに気づけると思う。.csだけどただ「;」が抜けているだけのことがあるから注意すること。
あとバグがあってちゃんと完成してないのにプレハブ化すると後でめんどくさいことになるからプレハブ化しないで完成したらすること。
どういう問題があってどうしたら解決したのかをGItHubでもここでも書いて、それを一週間ごとまとめる。
インスペクターのレイヤーやオーダーレイヤーの設定、なにかのスプリクトを入れるのを忘れてnullノエラーが多くなっているから、そこを意識してやる。null出たらそれ見る
針・ギミックブロックの設定OK