プロジェクトを作成しよう の変更点

Top > プロジェクトを作成しよう

#contents

*はじめに [#x7454d9b]
前回はUnityをインストールしてもらいました。
今回はダウンロードしたUnityを使って、
前回は Unity をインストールしてもらいました。
今回はダウンロードした Unity を使って、
 1. プロジェクトの作成
 2. Unityの画面の見方
 3. オブジェクトを作って遊ぶ
ということをやっていこうと思います。
#br
*Unityで新しいプロジェクトを作成 [#pe24e62f]
* Unity で新しいプロジェクトを作成 [#pe24e62f]

まずはUnityで&color(,#FBB){新しいプロジェクト};の作成を行います。
まずは Unity で&color(,#FBB){新しいプロジェクト};の作成を行います。
#br
#ref(スクリーンショット (1120).png,,768x432)
#br
Unity Hubを開き、右上の''新しいプロジェクト''を押します。
Unity Hub を開き、右上の''新しいプロジェクト''を押します。
#br
#ref(スクリーンショット (1121).jpg,,768x432)
#br
このような画面になります。たくさんのテンプレートがありますが、今回は一番基本的なテンプレートの ''2D'' を選択します。
右下でプロジェクトの名前や保存場所を設定できます(プロジェクト名は「テスト」でも「練習」でもなんでも良いです)
できたら''右下のプロジェクト''を作成を押します。
テンプレートが読み込まれ、新しいプロジェクトが作成されます。

#br
*Unityの画面の見方 [#l165ca2c]
#br
#ref(Unity画面.png,,768x432)

Unityを起動すると様々なタブが表示されてますね。これらの中から主要なものを説明していきます。
Unity を起動すると様々なタブが表示されてますね。これらの中から主要なものを説明していきます。
#太字
 ・Hierarchy(ヒエラルキー)
 -ここに''ゲームオブジェクト''が追加されます。
 ・Inspecter(インスペクター)
 ・Inspector(インスペクター)
 -ゲームオブジェクトについている コンポーネント をいじることが出来る場所です。コンポーネントは大事な要素なので、また後ほど解説します。
 ・Scene(シーン)
 -ゲームオブジェクトを配置することが出来る場所です。
 ・Game(ゲーム)
 -ゲーム画面です。
 シーンと似ているようですが、シーンは&color(,#FBB){ゲーム画面外や非表示にされているオブジェクトなどが見える};のに対し、ゲームシーンは&color(,#FBB){実際のゲーム画面のもの};が見えます。
 ・''Project(プロジェクト)'' 
 -''スクリプト''(ソースコードが書いてるもの)や画像、その他の色々な素材が格納されている場所です。
 シーンと似ているようですが、シーンはゲーム画面外や非表示にされているオブジェクトなどが見えるのに対し、ゲームシーンは実際のゲーム画面のものが見えます。
 ・Project(プロジェクト)
 -スクリプト(ソースコードが書いてるもの)や画像、その他の色々な素材が格納されている場所です。
#br

*オブジェクトを作って遊ぶ [#w4170d21]
#br
それでは少しゲーム制作っぽいことをしていきましょう。
まず、必要となる素材をダウンロードしていきます。
#br
**素材のインポート [#t17b27bf]
#br
#ref(Unity画面2.png,,768x432)
#br
まずは練習用の素材をインポートします。
''インポート''とという言葉は&color(,#FBB){素材をダウンロードしてUnityに取り込む};という意味で使っています。
''インポート''とという言葉は&color(,#FBB){素材をダウンロードして Unity に取り込む};という意味で使っています。

以下にひつじの画像があるのでそれをクリックしてダウンロードし、UnityのプロジェクトタブのAssetsのなかにドラック&ドロップします。
以下にひつじの画像があるのでそれをクリックしてダウンロードし、Unity のプロジェクトタブの Assets のなかにドラッグ&ドロップします。

#download(hitsuji_dot.png)
#br
#ref(スクリーンショット (1132).png,,768x432)
#br
このようになります。
先ほども書きましたが、プロジェクトタブはゲームの素材を管理する場所です。
#br
**ゲームにひつじを表示してみる [#pbb57f87]
#br
インポートしたひつじを実際にゲームで表示してみます。
ヒエラルキーに、さっきのひつじをドラック&ドロップします。
Hierarchy に、さっきのひつじをドラック&ドロップします。
#br
#ref(スクリーンショット (1133).png,,768x432)
#br
ヒエラルキーに画像をドロップすると、勝手にオブジェクトが生成されます。
生成されたオブジェクトは隣のシーンで見ることが出来ます。
Hierarchy に画像をドロップすると、勝手にオブジェクトが生成されます。
生成されたオブジェクトは隣の ''Scene'' で見ることが出来ます。
それでは、この羊がどのように動くのか確認してみましょう。
上の再生ボタンを押してゲームを起動します。
#br
#ref(スクリーンショット (1134).png,,768x432)
#br
ひつじが青い画面の上で浮いているだけの謎のゲームができました。
#br
#ref(スクリーンショット (1135).png,,768x432)
#br
もう一度再生ボタンを押して再生を止めてください。&color(,#FBB){再生を止めないと編集ができません。};
Unityではなにも設定していないと、エディタ上でゲームが実行中かどうか見た目でわかりにくくなっています。
Unity ではなにも設定していないと、エディタ上でゲームが実行中かどうか見た目でわかりにくくなっています。
以下のようなサイトを参考にして、実行中の状態をわかりやすくしておくと意図しないミスを防ぐことができます。

https://www.midnightunity.net/unity-editor-playmode-tint/
#br
**ひつじを動かしてみる [#a2e972d3]
#br
ひつじを動かしてみましょう。
Sceneタブにいるひつじをクリックします。
Scene タブにいるひつじをクリックします。
#br
#ref(スクリーンショット (1133).png,,768x432)
#br
右側のインスペクタータブのなかにごちゃごちゃとパラメータが現れました。
右側の ''Inspector'' のなかにごちゃごちゃとパラメータが現れました。

インスペクタータブは、&color(,#FBB){選択したものの機能(''コンポーネント'')を編集する場所};です。
コンポーネントはゲームオブジェクトの部品のようなものです。
''Inspector'' は、&color(,#FBB){選択したものの機能(''コンポーネント'')を編集する場所};です。
''コンポーネント'' はゲームオブジェクトの部品のようなものです。
少しわかりにくいですが、オブジェクトに画像や音楽、物理演算などの機能を追加できるものと考えてください。
選択したひつじには

 ''Transform'' ... Unity上でひつじを表示する場所(position)や、ひつじの画像の角度(rotation)を管理する機能
 ''Sprite Renderer'' ... Unity上でひつじの画像を表示する機能
 Transform ... Unity上でひつじを表示する場所(position)や、ひつじの画像の角度(rotation)を管理する機能
 Sprite Renderer ... Unity上でひつじの画像を表示する機能
などが初めからついています。

ひつじをシーン上でドラッグすると、TransformのPositionが動くのがわかるでしょうか。
#br
Scene上のひつじはインスペクターからも動かすことができます。
Scene 上のひつじは Inspector からも動かすことができます。
試しにTransformのpositionのx座標とy座標を1に動かしてみましょう。
#br
#ref(スクリーンショット (1136).png,,768x432)
#br
動かせましたか?
座標はその枠の中に入力することでも動かせますが、マウスでドラッグすることでも動かせます。rotationやscaleも同じようにいじれるので興味があったらいじってみてください。
座標はその枠の中に入力することでも動かせますが、マウスでドラッグすることでも動かせます。rotation や scale も同じようにいじれるので興味があったらいじってみてください。
#br
さて、今ひつじにはTransformとSprite Rendererというコンポーネントがついていますが、これだけではゲームを作っていくのには物足りません。
さて、今ひつじには ''Transform'' と ''Sprite Renderer'' というコンポーネントがついていますが、これだけではゲームを作っていくのには物足りません。
そこで、新しい機能(コンポーネント)を追加していきましょう。
機能を追加するには、インスペクターの下のほうにある ''Add Component'' という場所から行います。
機能を追加するには、Inspector の下のほうにある ''AddComponent'' という場所から行います。
#br
#ref(スクリーンショット (1136).png,,768x432)
#br
色々出てきましたね。今回は、ひつじに物理演算の処理を追加していきます。2つのコンポーネントを追加したいので、AddComponentの検索のところに「rigidbody2D」と「Circle Collider 2D」と打ち込んで、出てきたものをクリックしてみてください。
色々出てきましたね。今回は、ひつじに物理演算の処理を追加していきます。2つのコンポーネントを追加したいので、AddComponent の検索のところに「rigidbody2D」と「Circle Collider 2D」と打ち込んで、出てきたものをクリックしてみてください。
#br
#ref(スクリーンショット (1137).png,,768x432)
#br
出来ましたか?それを追加するとこんな状態になると思います。それでは、この状態でゲームを再生してみてください。
#br
#ref(スクリーンショット (1138).png,,768x432)
#br
ひつじが落ちていく様子が見られましたか? ''rigidbody2D'' は&color(,#FBB){物理的性質(質量、重力影響、回転可能軸、etc…)を機能として追加するものです。};
今、ひつじは重力を持っているので下に落ちていったのですね。
それと、 ''Collider2D'' は&color(,#FBB){当たり判定をゲームオブジェクトに付与するものです。};
Collider2Dを追加したときにひつじの周りに緑色の線が出たのがわかると思います。これが当たり判定です。
#br
それでは、この落ちていくひつじをブロックで受け止めてみましょう。
ヒエラルキー上で右クリックして、
Hierarchy 上で右クリックして、
2D Object < Sprites < Square と選択してください。
すると、新しく四角いブロックができたはずです。
このブロックをひつじの下に配置してみましょう。
それと、ひつじを受け止められるようにボックスの横を少し長くしておきましょう。
長くするときはTransformのScaleをいじると長くできます。
#br
#ref(スクリーンショット (1139).png,,768x432)
#br
これでゲームを再生してみます。
#br
#ref(スクリーンショット (1140).png,,768x432)
#br
おっと、ひつじがすり抜けていきました。
これは、ボックスのほうに当たり判定がついていないからですね。
それでは、ボックスのほうにも当たり判定を付けていきましょう。
ヒエラルキーで「Square」を選択した後、 ''AddComponent'' を選び「BoxCollider2D」と入力して出てきたものを入れてください。
さきほどとCollider2Dの名前が違いますが、これは当たり判定の形がCircleであれば円、Boxであれば四角という違いがあります。
Hierarchy で先ほど作った Square を選択した後、 ''AddComponent'' を選び「BoxCollider2D」と入力して出てきたものを入れてください。
さきほどと Collider2D の名前が違いますが、これは当たり判定の形が Circle であれば円、Box であれば四角という違いがあります。
#br
#ref(スクリーンショット (1141).png,,768x432)
#br
ちなみに、Collider2Dからは当たり判定を調整することができます。
SquareのBoxCllider2DのEditColliderを押してみてください。
ちなみに、Collider2D からは当たり判定を調整することができます。
Square についている BoxCllider2D の EditCollider を押してみてください。
#br
#ref(スクリーンショット (1142).png,,768x432)
#br
Squareの周りの枠線が緑色になったと思います。
Square の周りの枠線が緑色になったと思います。
今回は当たり判定がしっかりと設定してあると思いますので、そのままで大丈夫です。
それでは、ゲームを再生してみようと思います。
#br
#ref(スクリーンショット (1143).png,,768x432)
#br
うまくひつじが乗りましたね。
このように、コンポーネントは機能を持ったもののまとまりです。
ゲームオブジェクトに何らかの機能を追加したい!という時はコンポーネントを追加する、ということを覚えておいてください。