5 つの窓で分かる Unity エディタ
Unity が作っておいたデフォルトシーンを見学します。自分のシーンは次のレッスンで自作します。
Unity のウィンドウは混雑して見えますが、時間の 95% は五つのパネルで過ごします。この五つを覚えれば、あとは怖くありません。
それぞれのパネルが順に光ります:Hierarchy、Scene、Inspector、Project、Console。
それぞれのパネルの役割
Hierarchy — 今のシーンにあるすべてのもののリスト。シーンの目次にあたります。
Scene ビュー — 物を置き、動かす 3D ワークスペース。ここはゲームではなく、あなたの作業場です。
Game ビュー — カメラが実際に見ているもの。こちらがゲームです。
Inspector — 選択中の対象のすべてのプロパティ。位置、色、そして自分のスクリプトのフィールド。
Project — ディスク上のファイル:モデル、テクスチャ、スクリプト、Prefab。シーンを閉じても残ります。
Console — エラー、警告、そして自分の Debug.Log の行。何かおかしいときはここを見てください。
Hierarchy のツリーと 3D シーンは、同じデータを二つの視点で見たものです。
ファイルを作る前にフォルダを作る
Unity は Assets/ をどう並べるかに一切干渉してきません——ただし tab 04 までに二百個くらいのファイルが入り、その後に整理するのは大変です。移動は必ず Unity の中で行わないとリンクが切れてしまいます。だから今、ツリー全体を一度で作ってしまいましょう。九つのフォルダ、三十秒。この後のすべてのレッスンが、作ったものを置ける場所を最初から持てます。
Assets/
Scenes/ Arena.unity + Intro.unity
Scripts/ every .cs you write
Prefabs/ P_Cube, P_Fireball
Materials/ M_Floor, M_Block
Models/ Knight.fbx, art you import
Animations/ AC_Knight and clips
Data/ skill and artifact assets
Audio/ music and effects
Settings/ URP and input assets
Library/ Temp/ Logs/ Builds/- 1
まず Project パネルで フォルダを一度クリックします。選択中のものの内側ではなく、Assets の中に新しいフォルダが作られます。
- 2
右クリック → 、名前を入力して Enter。その場ですぐ打ち込んでください。「New Folder」のままにしたフォルダは、必ず名前を変えるのを忘れます。
- 3
九つ揃うまで繰り返します。Settings は Unity がすでに作っていることがあります——見つけたら、二つ目を作らずそのままにしてください。
型ごとにフォルダを分ける代わりに、接頭辞を使います。Prefab は P_、material は M_、animator controller は AC_。パネルは名前でソートされるので、接頭辞だけで自然にグループになります。
Library/、Temp/、Logs/ は Unity が失くなれば自分で作り直すキャッシュ、Builds/ は tab 05 で完成した APK が出ていく場所です。どれを消しても安全ですが、git にコミットしてはいけません。
この先はすべてのレッスンの冒頭にこの同じツリーが表示され、今あるものとそのレッスンで追加されるものが示されます——新しいファイルをどのフォルダに入れるべきか、いつでも迷わず分かります。
Scene ビューを動き回る
マウスの右ボタンを押したまま W A S D を使うと、一人称視点のゲームのように飛び回れます。
ホイールでズーム。Alt + 左ドラッグで選択中の物の周りを回ります。
オブジェクトを選んで F を押すと、カメラがそれを画面に収めます。一番使うショートカットです。
Transform ツール
Q ハンド(視点移動)· W 移動 · E 回転 · R スケール · T Rect
赤=X軸、緑=Y(上方向)、青=Z(前方)。Unity は Y 軸が上向きの左手座標系です。
Play モード — たったひとつの罠
- 1
Ctrl/Cmd + P か ▶ ボタンで Play モードに入り、動かして確認します。
- 2
再生中に行った変更は、停止した瞬間にすべて破棄されます。
- 3
気づきやすいように色を変える:。
- 4
こまめに Ctrl/Cmd + S で保存してください——保存されるのはシーンで、プロジェクト全体ではありません。