2時間でユニティちゃんをコントロールしよう-ゲーム制作の扉を開こう今回は、現在PC,スマホ、ゲーム機用のゲーム開発で実際に使われているUnityを使ってゲーム制作の初歩を学習します。2時間の授業の中で、キャラクターのユニティちゃんをどこまで制御できるか挑戦しましょう。

飛べ!ユニティちゃん。
戦え!ユニティちゃん。

このコンテンツは、『ユニティちゃんライセンス』で提供されています。
補足資料などは、「高校「情報科」の教材・指導案作ってみました。」
http://www.beyondbb.jp/ Zipの教材内に入っています。

Ver. 1.0 (2014/12/25) © Go Ota, 20141

Unityって何って何?って何
ゲームのプログラミングの流れ
素材の準備
2D3Dのキャラクター
2D3D道具や品物
建物や背景
効果音や音楽Unityをを使うとアセットストアにいろいろな素材やプログラムが無料・有料で用意されている

動きやシナリオのプ
ログラム

機種に合わせた対応キャラクターの動き
イベントや戦闘シーン
シーン・シナリオの実現

PC/ブラウザへの対応
iPod/iPhoneへの対応
Androidへの対応
ゲーム機への対応

視覚的に操作できる3D
視覚的に操作できるエディタで大量のプログ
ラムを作成することなくゲームを作成できる

簡単な指示でUnityがが簡単な指示でいろいろな機種に対応したゲームを生成してくれる

Unityはゲーム作りのプロも使っている本格ツール(総合開発環境)です。ただし、簡単にゲームができるので皆さんもいろいろなゲームを作ることも可能です。
またUnityには無料版があり、アセットストアにも無料の素材が多くあります。
2

ユニィティちゃんて
ユニィティちゃんて何?
ユニティちゃんパッケージの内容(概要
ユニティちゃんパッケージの内容 概要)
概要
3Dモデル
モデル
個々の動作のアニメーション(歩く、等)
個々の動作のアニメーション 歩く、Jump等
歩く、個々の表情のアニメーション
音声ファイル
背景・カメラ・ライトなどの部品
総合的な制御を行うプログラム
サンプル“ユニティちゃんは、総合開発環境「Unity」を提供するUnity Technology Japanが作り上げた、魅力的な女の子のキャラクターです。Unityは誰でも簡単にゲームが作れるツールですが、キャラクターを用意しなければいけないのが初心者にとって最大のハードルでした。ユニティちゃんの登場により、初心者でも簡単にユニティちゃんを主人公にしたゲームを作れるようになりました。”
引用: 日経BPパソコンベストムック” ユニティちゃんでゲームを作ろう”
32時間でユニティちゃんをコントロールしよう
時間でユニティちゃんをコントロールしよう

方向キーでユニティちゃんを歩かせる
Unityの起動とプロジェクトの作成

2時間の授業の中で、ユニティちゃんを個人ごとに出来る範囲でコントロールしていきましょう。
友達と相談したり、助け合ったりして作業を進めてください。

ユニティちゃんパッケージの読込
方向キーによるコントロールの作成

地面と空の背景を作ろう

障害物を置こう

スライディング
させよう「方向キーでユニティちゃんを歩かせる」が課題です。余裕のある人は残りの3つの発展課題も挑戦してみてください。発展課題はどれからやってもいいです。

4基本課題:
基本課題 方向キーでユニティちゃんを歩かせる

これから、初めの課題を始めましょう。少しの指示で図のようなゲーム?が出来上がりますよ↑:前に進む↓:後ずさりする←→: 左右を向く走っている時にスペースキー: ジャンプする
止まっている時にスペースキー:くつろぐ動作をする
5

Unityを起動するを起動する:を起動する 操作画面

このウィンドウは、一つのシーンに含まれるゲームオブジェクトのリジェクトストを表示します。

Hierarchy
ヒエラルキーウィンドウ

2. シーンはゲームの一場面に対応します。ゲーム
ゲームは複数シーン
ゲームゲームオブジェクトから構成されます。このウィンドウはオのゲームオブジェクト
ゲームオブジェクトブジェクトの配置や動作をしていしたり、動きを確認します。
ブジェクトの配置や動作を指定したり、動きを確認します。

Scene
シーン
ウィンドウ

Inspector
インスペクターウィンドウ

このウィンドウ
は、ヒエラルは、インスペクキーウィンドでターウィンドで指定したゲーム
ゲームオブジェクトをオブジェクトコン構成するコンポーネントを示ポーネントします。

Project
プロジェクトウィンドウ

1. プロジェクトは一番大きなもので、一つのゲームゲーム全体のことです。こプロジェクト
ゲームのウィンドウではプロジェクトの中にどのような要素が入っているか示し、開発の指定に使用します。
シーンから構成されます。
また、プロジェクトは複数のシーン
シーン

6

Unityを起動するを起動する:を起動する 構成要素の関係

これからの操作で自分が何を操作・指定・作成しているか意
識してください。

プロジェクト:一つのゲーム
複数のシーンが集まってゲームになる
シーン: 一つの場面
シーン: 一つの場面
シーン: 一つの場面シーンの中に複数のゲームオブジェクトが入る
Assets(アセットアセット)
アセット
Unityで使用する部品の総称

ゲームオブジェクト
ゲームオブジェクト
ゲームオブジェクト
ゲームオブジェクトを複数のコンポーネントが特徴づける
コンポーネントコンポーネントコンポーネントシーンから個々のコンポーネントがアセットです。

コンポーネント(形、アニメーション、音声、プログラム)

出来立てのゲームオブジェク
トは空っぽの箱=コンテナ

ゲームオブジェクトの 7
出来上がり新しいプロジェクトを作成する
新規のファイル名を指定

まず、はじめにゲームとしてプロジェクトを新しく作りましょう。
File -> New Project.. を指定すると、サブウィンドウが開きますので、新しく作成するファイル名を入力した後にCreateボタンを押しましょう。
8新しいプロジェクトとシーンの確認
新しいプロジェクトが作成されると自動的に初めのシーンが作られる。

シーンにはCameraのゲームオブジェクトだけがある。
(クリックしておく)(Cameraをクリックした後に、そのコンポーネントが表示される

新しいプロジェクトは初め素材(アセット)が無い
9Cameraを削除して何も無いシーンを作るを削除して何も無いシーンを作る

Main Cameraを選択した後、右クリックしてDelete

Unityでカメラオブジェクトは非常に重要です。映画やテレビのように、あたなが作成したシーンをカメラオブジェクトを通して見ることで画面シーンを表示することができます。
ただし、今回は後からユニティちゃんの専用カメラを使用するので、初めからあるカメラは削除しておきましょう。

10ユニティちゃんパッケージを読み込もう

ユニティちゃんパッケージのよ
うなUnity用アセット(素材)はWebやアセットストアに沢山あります。

Asset – Import New Asset… Custom Package…を選択

少し時間が経つとユニティちゃんのパッケージを指定後 「開く」
(パッケージのファイルは先生が予めダウンロードしてあります)「Import」すれば読込開始
11

ユニティちゃんパッケージの内容をいちよう確認しよう
ユニティちゃんパッケージが正しく読み込まれると、プロジェクトウィンドウにAssetsとしてUnityChanのディレクトリーが表示されます。
またUnityChanの中にはいろいろな種類の素材があることも判ります。

ワンポイント:ワンポイント スライドさせることによって表示の仕方が変わります12ユニティちゃん使ってシーンの作成開始 – ユニティちゃんをシーンに入れるシーンにユニティちゃんが表示される

アセットの指定はフォルダーの中のファイルをコピーする操作と同じですね。
意味としてもプロジェクトにあるアセットを特定のシーンにコピーする意味になります。

コピー(ドラッコピー ドラッグ)するする

Assets – UnityChan – Prefabs –for locomotionの中のunitichan_dynamic_locomotionをコピー(ドラッグ)する。
注意:
注意 unitichan_dynamic_locomotionはAssets – UnityChan– Prefabs の中にもありますが、必ずfor locomotionの中のものを使用してください。

Prefabはプレハブと読み、プレハブ住宅はおなじみですね13ユニティちゃんを見よう – カメラをシーンに設置する。

カメラがシーンに表示される
Hierarchyウィンドウの中でMainCameraを選択中はCameraPreview(カメラプレビュー)が表示されます。

コピー(ドラッコピー ドラッグ)するする

Camera Preview (カメラプレビュー)で表示される内容は実際にゲームで表示される内容になります。

Assets – UnityChan – Prefabs –for locomotionの中のMain Cameraをコピー(ドラッグ)する。
でも、今のままだとユニティちゃんは真っ黒ですね。
14

ユニティちゃんを、ちゃんと見よう – ライトをシーンに設置する。

ライトが表示される

ドラッグする

Camera Preview(カメラプレビュー)には、ライトに照らされたユニディちゃんが表示されます

これだけで、ほぼ作業は終わりです。次はいよいよユニティちゃんをコントロールしてみましょう。

Assets – UnityChan – Prefabs の中のDirectional light for UnityChanをコピー(ドラッグ)する。
今まで操作で使っていた一つ上のフォルダーです。
15

ユニティちゃんを、動かそう – ゲーム・ビューとプレイの開始
ゲームの開始・終了
ゲーム・ビュー
ゲーム用のウィンドウに切り替わります。

シーン・ビュー
シーンを作成するビューに切り替わります

ゲーム開始前ゲーム実施中では、ゲームビューに切り替
えて、ユニティちゃんを動かしてみましょう。

注意:
注意 シーンの内容を変更したり作成したりする時は、ゲームの実施を必ず中止してください。
16

消えたユニティちゃん、すごいぞ
消えたユニティちゃん、すごいぞ物理演算エンジン
ゲーム開始後にユニティちゃんは消えますが、インスペクターウィンドウのPosition-Yの値だけがどんどん小さくなっていきます。

Unityは強力な物理演算エンジンを持っています。ガラスが砕けるところ、ボールが弾むところ、車のタイヤがスピンで煙を上げるところなどのシーンが簡単に実現できます。

どうしてユニティちゃんは消えたのでしょうか?
実はUnityには物理演算エンジンという機能が組み込まれていて、現実社会と同じような物理的現象を自動的に再現しています。ユニティちゃんが歩ことうしても、地面がないので落ち続けています。
17

ユニティちゃんが落ちないように床を作る

ヒエラルキーウィンドウのCreate - 3D Object –Cube (立方体)を指定

シーンに立方体(四角い箱)追加される。

単に箱を作っただけでは、ユニティちゃんが走り回るには小さすぎますね。

18

ユニティちゃんが走れるように床のサイズと位置を調整する。

床のサイズと位置変更はインスペクターウィンドウで行ってみます。Cubeを選択した後に、TransformのPositionとScaleの値を直接変更して調整します。
終ったら、再度ゲームを実行してみてくだ
さい。うまくコントロールできるようになりましたか?
但し、床をこえると、またユニディちゃんは落ちてしまいますよPosition(位置)のYを-1にします。

Scale(大きさ)のX を20にZを20にします。
インスペクターウィンドウには、選択しているゲームオブジェクトのコンポーネントが表示されます。
19ユニティちゃんを正面から見たい その1
そのユニティちゃんを、ちゃんとコントロールできましたか?
でもユニティちゃんの後ろ姿ばかりですね。
実はこのカメラはユニティちゃんを追っかけるような設定になっています。
簡単に正面を見たい人はゲー
ム中にマウスの左ボタンを押してください。カメラの視点が正面に移ります。そのままキー操作すると、いろいろなアクションを正面から見れます。

ワンポイント:ワンポイント
ゲームビューは小さいので、ゲーム中にウィンドウの右上にあるアイコンをクリックしてMaximizeをチェックするとゲーム中は大きな画面になります20ユニティちゃんを正面から見たい その2
その カメラの追従をやめる

固定されたカメラからの画像になる。

Main Cemeraもゲームオブジェクトとして、いろいろなコンポーネントから構成されています。インスペクター
ウィンドウを使うと、コンポーネントのパラメータの指定や、コンポーネントの追加・削除・停止などの操作もできます。
チェックをはずすとMain Camera
から追従の機能が入ったコンポー
ネントが動作しなくなる。

カメラの固定を確認した後は、再度チェックを入れて追従するようにします。

21

ユニティちゃんのゲーム・シーンを保存しよう
現在のプロジェクト名

現在のシーン名シーンを保存します

プロジェクトを保存します

普通のWordやExcelなどは一つのファイルに保存しますが、Unityで作成するゲームは非常に大きいものもあります。
そこでUnityではプロジェクトとシーン
ではプロジェクトとシーン
そこでを別々の操作で保存する必要があります。

これで、基本課題は終わりです。時間の余裕にある人は発展課題A,B, Cに挑戦してみましょう。
22

発展課題 A:地面と空の背景を作ろう
地面と空の背景を作ろう

背景が入ると、ゲームらしくなりますね。

23

床に模様を入れよう
操作1.
操作 Cubeを選択する。

操作2.コンポーネン
操作
ト Mesh RendererのMaterialsを開く

操作4.
操作 模様を選択する

私たち二人は服の模様が違うだけで、その他は全く同じです。コン
ピュータ上のキャラクターなどは、表面にはりつけているテクスチャーによって模様や質感などを表現しています。テクスチャーを変更するだけで、いろいろな物をつくることができます。

操作3.
操作 elementsのここをクリックして、模様の選択のウィンドウを開く24

空に模様を入れよう Step1 カメラへの新しいコンポーネント追加
操作1.
操作 MainCameraを選択する
操作4.
操作 Skyboxを選択する

操作3.
操作
Renderingを選択する

この操作でMain Cameraに空の模様を貼り付けるためのSkyboxという新しいコンポーネントを追加できます。
操作が終了したらインスペクターウィンドウに追加されているか確認しましょう。

操作2.
操作 AddComponent
クリックする25

空に模様を入れよう Step2 Skybox用の模様をプロジェクトへ追加用の模様をプロジェクトへ追加

Assets – Import Package – Skyboxesを指定
Unityには予め基本的な素材(アセット)がStandardAssetsとして用意されています。但し、これらを使用する場合は、プロジェクトに読込必要があります。
SkyboxesについてもStandard Assetsにある素材を使ってみましょう。
26

空に模様を入れよう Step3 Skyboxへの模様の指定への模様の指定
操作1.
操作 MainCameraを選択(操作操作2.コンポーネン
操作
ト Skyboxを開く)

操作3.
操作 Custom
skyboxのここをクリックして、模様の選択のウィンドウを開く
操作4.
操作 模様を選択する
うまく動く
かな?

この操作は、ほとんど床に模様を張り付けたものと同じです27

発展課題 B:障害物を置こう
障害物を置こう

ゲームのお約束の障害物をシーンに追加してみましょう。

28

障害物の円柱を作る

ヒエラルキーウィンドウのCreate - 3D Object –Cylinder (円柱)を指定
シーンに円柱が追加される。

ユニティちゃんと円柱が重なっていますね29

円柱のサイズを調整する。

円柱の大きさを変更してみましょう。床のサイズと位置変更を変更した時と同じようにインスペクターウィンドウで行います。
Cylinderを選択した後に、TransformのScaleの値を直接変更して調整します。

Scale(大きさ)のX を0.5, Yを2,Zを0.5にします。

30

円柱の位置を調整する二つの方法。

方法Bの場合の場合は、円柱の中心をクリックすると、XYX同時に移動できます。また、矢印(赤の矢印、青の矢印)をクリックするとXやZの一つの要素のみ移動できます。

方法A
PositionのX,Y,Zの値を変更する
方法B
シーンビューの中でマウスを使って直接移動させる。

31

コピぺでコピぺで円柱を増やそう
ぺで円柱を増やそう
ゲームオブジェクトのコピペできます。円柱をコピペで増やしていくことができます。
ペースト(張り付け)した後は移動するのを忘れないようにペースト(張り付け)した後は、新しい円柱はもとになって円柱に重なっています。ヒエラルキーウィン
ドウでどの円柱を操作するか選択すると便利です。

32

発展課題 C:スライディングさせよう
スライディングさせよう

この課題では新しい動きを追加します。
他の課題と違って、少しプログラムを作成することになります。

33

Animator(アニメーターアニメーター)ビューを追加する。
アニメーター ビューを追加する。

まず、動作にスライディングを追加するため、アニメーション用のエディタの画面を開けるようにします。

Window – Animatorを指定

34

アニメーションの内容を確認する
Unityの特徴としてAnimatorという機能があります。画面のように視覚的に動作の指定ができます。
四角の「Idle」やステート「Locomotion」はステートと呼び、一つ一つの動作を示しています。

この画面は作業しやすいようにAnimatorビューを最大化(Maximize)しています。また内容も移動して見やすくしています。
35

スライディングの動作を新しいステートとして追加する。

アニメーションに新しい動作として、スライディングするステートを追加します

ドラッグする

Projectビュー(プロジェクトビュー)のAssets –UnityChan – Animations – unitychan_SLIDE00 –SLIDE00 を選択し、アニメーションビューにドラッグします。すると新しい「SLIDE00」ステートが作成されます。

歩いている状態(Locomotion)からスライディングするようにするので、作業しやすいようにSLIDE00はLocomotionの上に配置しています。
36

スライディングのステートを結びつける:
スライディングのステートを結びつける ステートの遷移の指定
SLIDE00ステートを選択後、右クリック
し、Make Transitionを指定する

マウスでSLIDE00からLocomotionへ矢印を引く

これで、新しいステートが他のステートと繋がりますね同様にLocomotionから矢印を引く
ワンポイント:ワンポイント Transitionの矢印を設定するのに少しコツがいります。MakeTransitionを指定あと、すぐに矢印を引く状態になっているので、すぐにマウスで相手のステートに矢印を持っていきます。
37

スライディング動作のタイミングを設定する。

Parametersの+をクリックしてTrigger(引き金)型のパラメータを追加

新しくできたパラメータにSLIDETrigerと名前をつけておきます

LocomotionからSLIDE00に変わる矢印を選択して、インスペクタービューにコンポーネントを表示します。

SLIDETrigerが発生したら遷移するよ
うにConditionを変更します。

38

どうやってスライディングの指示をするか?
どうやってスライディングの指示をするか
現在のユニティちゃんは方向キーで移動したり、スペースキーでジャンプしたりします。どうどうすればスライディングしてくれるのでしょうか?
ここからはプログラムを少し作る必要があります。とりあえず数字の0キーを押したらスライディングするようにしましょう。

ユニティちゃんへのプログラムの追加

unitichan_dynamic_locom
otionにSlideBehaviour新しいコンポーネントが追加されました。

プログラムはC#という言語で作成します。
unitichan_dynamic_locomotionに対してAdd compornentでNewscriptを指定「Create and Add」でプログラ
ムを新しいコンポーネントとして追加。(名前をSlideBehaviour)としています。

39

スライディングを指示するプログラムの作成 その1
その エディタの起動

SlideBehaviourコンポーネントの歯車のアイコン(ツール)をクリックしてメニューを表示

Edit Script (プログラムの編集)を選択

いよいよUnityでプログラムを作る時が来ました。まず、プログラムを作るためのエディタを起動しましょう。

UnityではMonoDevelopという開発環境が同梱されています。

40

スライディングを指示するプログラムの作成 その2
その プログラムの作成

プログラムにはいくつかの文がすでに雛形として入っています。赤枠でかこった部分を入力してプログラムを完成させます。小文字と大文字の違いでも誤りになるので注意して入力しましょう。
入力が終わったらSaveしてください41

スライディングをゲームを動かしてみよう
では、動かしてみましょう。
正しく設定できていれば走っている時に、キーボードの0を押すとスライディングします。
動くといいですね。

ワンポイント1:
ワンポイント スライディングさせるには現在の床は小さいかもしれないので、少し大きくした方がいいです。

まだまだ、時間がある人はプログラムの意味をWebなどで調べてみましょう。

ワンポイント2:
ワンポイント 10キーがついている場合は、その0を押してもスライディングしません
ワンポイント3:
ワンポイント 0を少し長く押すと、連続してスライディングします。
ワンポイント4:ワンポイント ゲーム・ビューをMaximizeしてからゲームを開始すると初め動かいなことがあります。この場合は、ゲーム・ビューをクリックすると動き始めます。
42

ユニティちゃんはうまくコントロールできましたか?
今回はUnityのほんの入り口です。興味を持った人は、自分でいろいろ調べたり試してクールなゲームを作ってみてください。

43