93
第6章 UnityD 1 ドットイートGame

Unity講座資料 ドットイートゲーム

  • Upload
    mattun

  • View
    165

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Unity講座資料 ドットイートゲーム

第6章 Unity3D

1

ドットイートGame

Page 2: Unity講座資料 ドットイートゲーム

1節

2

土台作成

Page 3: Unity講座資料 ドットイートゲーム

3

Unityを起動し、任意の名前をつけて

任意の格納フォルダを決めて CreateProjectボタンを押下

1節 土台となるステージ面を作成

Unityの起動画面が立ち上がることが

確認できる (レイアウトは2by3としています)

Page 4: Unity講座資料 ドットイートゲーム

4

archフォルダをAssetsフォルダに

ドラッグ&ドロップして格納

1節 土台となるステージ面を作成

Hiararchyで3D Object

→Plane作成

Page 5: Unity講座資料 ドットイートゲーム

5

Plane(平面)がSceneに作成

されたことが確認できる

1節 土台となるステージ面を作成

Project/Assets/arch/Materials/ Textures/FLOORを

HiararchyにあるPlaneに

ドラッグ&ドロップ

Page 6: Unity講座資料 ドットイートゲーム

6

TextureがPlane(平面)

に適用されたことが 確認できる

1節 土台となるステージ面を作成

File→Save Sceneを選択

Page 7: Unity講座資料 ドットイートゲーム

2節1項

7

モデル配置

Page 8: Unity講座資料 ドットイートゲーム

8

任意の名前でSceneを保存

2節1項 モデルを配置

Sceneが保存できたことが確認できる

Page 9: Unity講座資料 ドットイートゲーム

9

Knight_walkをSceneViewへ

ドラッグ&ドロップ

Sceneにモデルが表示される

ことを確認する

3DAssetsフォルダ,Scriptフォルダを

Assetsフォルダに

ドラッグ&ドロップして格納

2つのフォルダが格納できたことを 確認する

2節1項 モデルを配置

Page 10: Unity講座資料 ドットイートゲーム

10

2節1項 モデルを配置

3Dモデル表示され

て少し動いた!

再生ボタンを選択

今回はこのアニメーションが適用されている

Page 11: Unity講座資料 ドットイートゲーム

2節2項

11

モデル動作作成

Page 12: Unity講座資料 ドットイートゲーム

12

作成されたスクリプトを Playerにリネーム

→ダブルクリック

Scriptフォルダを選択

→Create →C#Scriptを選択

2節2項 モデルに動きをつける

Page 13: Unity講座資料 ドットイートゲーム

13

スクリプトを改良し、 移動できるようにしてみよう!

Scriptの中身が表示されることを

確認する

2節2項 モデルに動きをつける

Page 14: Unity講座資料 ドットイートゲーム

14

knight_walkを選択

Playerスクリプトを

knight_walkへドラッグ&ドロップ

2節2項 モデルに動きをつける

Inspectorに

Playerスクリプトが

追加されていることを確認する

Page 15: Unity講座資料 ドットイートゲーム

15

3Dモデル

が前に進んだー!

再生ボタンを選択

キーボードの上ボタンを押下する

2節2項 モデルに動きをつける

Page 16: Unity講座資料 ドットイートゲーム

16

作成されたスクリプトを更に改良し、 上下左右に動くようにしてみましょう!!! さらにわかる人は、向きも変えてみよう!

2節2項 モデルに動きをつける

ここがポイント!!

Page 17: Unity講座資料 ドットイートゲーム

17

上下左右に移動し

て向きも変ったー!

再生ボタンを選択

キーボードの上下左右ボタンを押下する

2節2項 モデルに動きをつける

Page 18: Unity講座資料 ドットイートゲーム

2節3項

18

モデルアニメーション設定

Page 19: Unity講座資料 ドットイートゲーム

19

現在はこの歩くアニメーションが 適用されている

2節3項 モデルアニメーションを適用する

先ほどのPlayer.csのスクリプトを

改良し、Take 001のアニメーションを

操作してみましょう! 左記は上ボタンのみなので、下右左も 同様にアニメーションを適用しよう!

こちらにチェックが入っていることで 再生時に自動で1度アニメーションが 再生される

Page 20: Unity講座資料 ドットイートゲーム

20

アニメーション付きの

動きになったー!

再生ボタンを選択

キーボードの上下左右ボタンを押下する

2節3項 モデルアニメーションを適用する

Page 21: Unity講座資料 ドットイートゲーム

2節4項

21

モデル音設定

Page 22: Unity講座資料 ドットイートゲーム

22

2節4項 モデルに足音をつけてみる

knight_walkを選択する

AudioフォルダをAssetsフォルダに

ドラッグ&ドロップして格納

Audioフォルダが格納できたことを

確認する

Page 23: Unity講座資料 ドットイートゲーム

23

2節4項 モデルに足音をつけてみる

Audio Sourseが

追加されたことが 確認できる

Add Component →Audio Audio Sourceを追加

Page 24: Unity講座資料 ドットイートゲーム

24

2節4項 モデルに足音をつけてみる

Player.csを上記の箇所を追加する。

Page 25: Unity講座資料 ドットイートゲーム

2節4項 モデルに足音をつけてみる

◯を押下し、

Inspectorを確認するとスクリプトの中に

追加したAudio Clipが追加されていること

が確認できる

dun_stepを選択するとdun_stepが

設定されることが確認できる

Page 26: Unity講座資料 ドットイートゲーム

26

足音がついたー!

再生ボタンを選択

キーボードの上ボタンを押下する

2節4項 モデルに足音をつけてみる

Page 27: Unity講座資料 ドットイートゲーム

27

2節4項 モデルに足音をつけてみる

下、右、左を押した時にも同じように音を適用させたいので、 同じコードを追加することになるが、 コードの可読性を高める為に上記のような関数にしておく。

先ほどの上を押した際のコードも上記の関数に変更し、 下、右、左を押した時にも同じように関数を追加する。

Page 28: Unity講座資料 ドットイートゲーム

28

上下左右の移動にも

足音がついたー!

再生ボタンを選択

キーボードの上下左右ボタンを押下する

2節4項 モデルに足音をつけてみる

Page 29: Unity講座資料 ドットイートゲーム

2節5項

29

カメラ追従

Page 30: Unity講座資料 ドットイートゲーム

2節5項 モデルにカメラを追従させよう

スクリプトを左記のように 改修する

Scriptフォルダ内で

Create →C#Script

作成したScriptを

CameraTrackingにリネーム

Page 31: Unity講座資料 ドットイートゲーム

2節5項 モデルにカメラを追従させよう

CameraTrakingスクリプトを

Main Cameraへ

ドラッグ&ドロップ

Main CameraのInspectorを見ると

スクリプトが追加されていることが 確認できる。

◯を押下し、 knigth_walkを選択する

Page 32: Unity講座資料 ドットイートゲーム

2節5項 モデルにカメラを追従させよう

knight_walkが追加されていることが

確認できる

Positionを左記のように変更する

Page 33: Unity講座資料 ドットイートゲーム

33

カメラが追従されたー

再生ボタンを選択

キーボードの上下左右ボタンを押下する

2節5項 モデルにカメラを追従させよう

Page 34: Unity講座資料 ドットイートゲーム

3節1項

34

ステージ配置

Page 35: Unity講座資料 ドットイートゲーム

3節1項 ステージを作ろう

右クリックから →Create Empty

Blockにリネームする

ProjectViewの3DAssetsから

blockを選択し、Sceneへドラッグ&ドロップ

Page 36: Unity講座資料 ドットイートゲーム

3節1項 ステージを作ろう

SceneへBlockが配置されたことが

確認できる

Hierarcyのblockを

Blockの配下へ移動

Blockの子階層に

blockが配置される

ことが確認できる

Page 37: Unity講座資料 ドットイートゲーム

3節1項 ステージを作ろう

Planeを選択

地面が少し狭いので左記ぐらいの サイズにして広くする

Planeのサイズが広く

なったことが確認できる

Page 38: Unity講座資料 ドットイートゲーム

38

あれ?blockにすり抜

けている!?

再生ボタンを選択

キャラクターを動かしてみる

3節1項 ステージを作ろう

物体の当たり判定にはCompornentを追加してやる必要がある

Page 39: Unity講座資料 ドットイートゲーム

3節1項 ステージを作ろうまずはキャラクターに物理計算をさせる componentを追加する

knight_walkを選択後、

Inspectorから

AddComponent →physics →Rigidbodyを選択する

Rigidbody が追加されたことが

確認できる

物理演算で回転しないように Freeze Rotationのx,y,zにチェックを入れる

Page 40: Unity講座資料 ドットイートゲーム

3節1項 ステージを作ろう続いて当たり判定をさせる

knight_walkを選択後、

Inspectorから

AddComponent →physics →CapsuleColliderを選択する

Capsule Colliderが追加されたことが

確認できる

Page 41: Unity講座資料 ドットイートゲーム

3節1項 ステージを作ろう

続いてblockに物理計算をさせる

componentを追加する

blockを選択後、

Inspectorから

AddComponent →physics →Rigidbodyを選択する

Rigidbody が追加されたことが

確認できる

物理演算で移動と回転しないように Freeze Positionのx,zにチェックを入れる

Freeze Rotationのx,y,zにチェックを入れる

Page 42: Unity講座資料 ドットイートゲーム

3節1項 ステージを作ろう続いて当たり判定をさせる

blockを選択後、

Inspectorから

AddComponent →physics →BoxColliderを選択する

Box Colliderが追加されたことが

確認できる

Page 43: Unity講座資料 ドットイートゲーム

43

今度はしっかりと衝突

判定をしてくれた!

再生ボタンを選択

キャラクターを動かしてみる

3節1項 ステージを作ろう

Page 44: Unity講座資料 ドットイートゲーム

3節1項 ステージを作ろう

続いてタグをつけておく

knight_walkを選択後、

Tagを選択する

Playerを選択

Tagにblockが設定されていること

が確認できる

Page 45: Unity講座資料 ドットイートゲーム

3節1項 ステージを作ろう続いてタグをつけておく

blockを選択後、

Tagを選択する

Add Tagを選択

➕ボタンを押下後

Tag0にblockと入力

Page 46: Unity講座資料 ドットイートゲーム

3節1項 ステージを作ろう

もう一度 blockを選択後、

Tagを選択する

先ほど追加したblockを選択

Tagにblockが設定されていること

が確認できる

Page 47: Unity講座資料 ドットイートゲーム

3節1項 ステージを作ろう

blockを選択する

5個複製する (ctr + D)

複製しただけでは同じ位置なので 位置をずらして調整する

Page 48: Unity講座資料 ドットイートゲーム

3節1項 ステージを作ろう

Blockを選択する

Staticにチェックをつける

ダイアログが表示されたら Yes,change childrenを押下する

Page 49: Unity講座資料 ドットイートゲーム

3節1項 ステージを作ろう

Blockを選択する

5個複製する (ctr + D)

Blockの位置を少しずらしてみよう!

すると6個の塊が複製されてまとめて 移動できることが確認できる

Page 50: Unity講座資料 ドットイートゲーム

3節1項 ステージを作ろう

Knight_walkが通ることを考えて作成してみよう!

やり直しはできるので、オリジナルの迷路をつくってみよう!

ブロックを移動させて 自分なりの迷路をつくってみよう!

先ほどの複製を繰り返して実施してみよう!

Page 51: Unity講座資料 ドットイートゲーム

51

行き止まりなどがない

かを動かしながら確認

してみよう!

再生ボタンを選択

キャラクターを動かしてみる

3節1項 ステージを作ろう

Page 52: Unity講座資料 ドットイートゲーム

3節2項

52

ステージライト設定

Page 53: Unity講座資料 ドットイートゲーム

3節2項 ライトの設定を変えよう

右記のようにTransformのposition,Rotationと

LightのRange,SpotAngleを調整し、自分の迷路に合う

ライト調整をしよう

Directional Lightを選択

Typeを選択

Spotを選択

Page 54: Unity講座資料 ドットイートゲーム

3節2項 ライトの設定を変えよう

例としてはこのような暗さと範囲になる

Planeも調整したりして、見える範囲の調整なども行ってみよう!

Spotを選択

Page 55: Unity講座資料 ドットイートゲーム

3節3項

55

ステージにダイヤ設置

Page 56: Unity講座資料 ドットイートゲーム

GUITextureフォルダをAssetsへ

ドラッグ&ドロップ

GUITexture →jewelryを選択

Texture Typeを選択

3節3項 ダイヤを設置しよう

Page 57: Unity講座資料 ドットイートゲーム

3節3項 ダイヤを設置しよう

Editor Gui and Legacy GUIを

選択

Applyを選択

背景が透過されたことが確認できる

Page 58: Unity講座資料 ドットイートゲーム

Hierarchyより右クリックにて

Particle Systemを作成

Sceneを見ると

パーティクル(エフェクト的な) が作成されていることが確認できる

3節3項 ダイヤを設置しよう

Page 59: Unity講座資料 ドットイートゲーム

particle Systemのパラメータを左記

のように設定する

Collisionにチェックを入れて左記の

ように設定する

3節3項 ダイヤを設置しよう

Page 60: Unity講座資料 ドットイートゲーム

RendererのMaterialの◯ボタンをクリック

jewelryの背景透過されたものを選択する

3節3項 ダイヤを設置しよう

Page 61: Unity講座資料 ドットイートゲーム

61

再生ボタンを選択

キャラクターを動かしてみる

3節1項 ステージを作ろう3節3項 ダイヤを設置しよう

ダイヤが設置された!

Page 62: Unity講座資料 ドットイートゲーム

particle Systemを選択し、Add Tagを選択

➕ボタンを押下し、jewelryを追加

3節3項 ダイヤを設置しよう

タグの中からjewelryを追加

Page 63: Unity講座資料 ドットイートゲーム

particle Systemを複製する

あとは画面の中で位置を調整する

3節3項 ダイヤを設置しよう

Page 64: Unity講座資料 ドットイートゲーム

Playerに触れた時にダイヤを削除したいので、

PlayerScriptを選択し、改修する

スクリプトの最下行にこのスクリプトを追加する

3節3項 ダイヤを設置しよう

Page 65: Unity講座資料 ドットイートゲーム

65

再生ボタンを選択

キャラクターを動かしてダイヤに触れてみる

3節1項 ステージを作ろう3節3項 ダイヤを設置しよう

ダイヤに触れるとダイ

ヤが削除された!

Page 66: Unity講座資料 ドットイートゲーム

ダイヤに触れた時に音を追加する為に Playerスクリプトを改修する

playerスクリプトにjewelryが追加されたら

dun_getGemを設定する

3節3項 ダイヤを設置しよう

Page 67: Unity講座資料 ドットイートゲーム

67

再生ボタンを選択

キャラクターを動かしてダイヤに触れてみる

3節1項 ステージを作ろう3節3項 ダイヤを設置しよう

ダイヤに触れるとダイ

ヤが音が追加された!

Page 68: Unity講座資料 ドットイートゲーム

4節1項

68

スコアの設定

Page 69: Unity講座資料 ドットイートゲーム

HierarchyよりUI

→Textを選択

InspectorよりTextの

パラメータを変更する

4節1項 スコアを設定しよう

Page 70: Unity講座資料 ドットイートゲーム

Transformより位置を調整し、

画面の中央上に配置しよう

4節1項 スコアを設定しよう

Page 71: Unity講座資料 ドットイートゲーム

Scriptフォルダに

Create →C#Script ScoreAddスクリプトを作成

4節1項 スコアを設定しよう

スクリプトを上記のように改修する

Page 72: Unity講座資料 ドットイートゲーム

ScoreAddをTextに

ドラッグ&ドロップ

4節1項 スコアを設定しよう

Inspectorに

ScoreAddが追加されたことが

確認できる

Page 73: Unity講座資料 ドットイートゲーム

73

再生ボタンを選択

4節1項 スコアを設定しよう

Scoreが表示された!

Page 74: Unity講座資料 ドットイートゲーム

さらにPlayerスクリプトを改修して、

ダイヤに触れたらScoreを加算する

4節1項 スコアを設定しよう

Page 75: Unity講座資料 ドットイートゲーム

75

再生ボタンを選択

4節1項 スコアを設定しよう

Scoreが加算された!

キャラクターを動かしてダイヤに触れてみる

Page 76: Unity講座資料 ドットイートゲーム

5節1項

76

敵キャラクター配置

Page 77: Unity講座資料 ドットイートゲーム

5節1項 敵キャラクターを配置する

ghost_idleが配置されたことが確認できる

ghost_idleをSceneへドラッグ&ドロップ

Page 78: Unity講座資料 ドットイートゲーム

78

ゴーストが配置されて

少しアニメーションさ

れた!

再生ボタンを選択

5節1項 敵キャラクターを配置する

Page 79: Unity講座資料 ドットイートゲーム

5節2項

79

敵キャラクター アニメーション設定

Page 80: Unity講座資料 ドットイートゲーム

5節2項 敵キャラクターのアニメーションを繰り返す

Take 001というアニメーションが

設定されていることが確認できる

Take 001をダブルクリック

ghost_idleを選択する

Take 001というアニメーションの

ディレクトリが確認できる

確認したディレクトリ上で Take 001をクリック

Page 81: Unity講座資料 ドットイートゲーム

Take 001というアニメーションの

設定内容が確認できる

InspectorからEditをクリック

Add Loop Frameにチェックを入れる

Wrap ModeをLoopに変更

Applyを押下する

5節2項 敵キャラクターのアニメーションを繰り返す

Page 82: Unity講座資料 ドットイートゲーム

82

ゴーストのアニメーシ

ョン

が繰り返しになった!

再生ボタンを選択

5節2項 敵キャラクターのアニメーションを繰り返す

Page 83: Unity講座資料 ドットイートゲーム

5節3項

83

敵キャラクター AI設定

Page 84: Unity講座資料 ドットイートゲーム

5節3項 敵キャラクターのAIを設定する

ghost_idleを選択

→AddComponent →Navigation →NavMeshAgentを選択

NavMeshAgentが追加されたことが

確認できる

Page 85: Unity講座資料 ドットイートゲーム

5節3項 敵キャラクターのAIを設定する

Planeを選択し、

InspectorでStaticにチェックをつける

Window →Navigationを選択

Navigationタブを選択

→Bakeタブ

Bakeボタンを押下

Page 86: Unity講座資料 ドットイートゲーム

5節3項 敵キャラクターのAIを設定する

これで敵キャラクターの 移動ルート(緑色箇所) が確認できる ルートが途切れている 箇所があれば幅を調整 しよう

Scriptフォルダに

Create →C#Script Enemyスクリプトを作成

Page 87: Unity講座資料 ドットイートゲーム

5節3項 敵キャラクターのAIを設定する

Enemyスクリプトを

左記のように改修する

Enemyスクリプトをghost_idle

ドラッグ&ドロップ

ghost_idleのEnemyスクリプトの

Targetに◯ボタンから

knight_walkを追加

Page 88: Unity講座資料 ドットイートゲーム

88

ゴーストが

追いかけてくるーーー

再生ボタンを選択

5節3項 敵キャラクターのAIを設定する

キャラクターを動かしてみる

Page 89: Unity講座資料 ドットイートゲーム

5節4項

89

敵キャラクター の当たりイベント

Page 90: Unity講座資料 ドットイートゲーム

5節4項 敵キャラクターが当たった時のイベント作成

ghost_idlを選択

AddComponent →physics →CapsuleColliderを選択

追加されたCapsuleColliderの

IsTriggerにチェックを入れる

Page 91: Unity講座資料 ドットイートゲーム

5節4項 敵キャラクターが当たった時のイベント作成

ghost_idlを選択

Tagを選択し

Add Tag

➕ボタンからenemyを追加

ghost_idlを選択

Tagを選択し

enemyを選択

Page 92: Unity講座資料 ドットイートゲーム

5節4項 敵キャラクターが当たった時のイベント作成

Playerスクリプトを改修して

敵キャラクターが衝突した時のイベントを追加

一番下の行に左記を追加

playerスクリプトのEnemy_seに

◯ボタンを押下して dun_enemyAttackを追加

Page 93: Unity講座資料 ドットイートゲーム

93

ゴーストの声が鳴らさ

れた!

再生ボタンを選択

5節3項 敵キャラクターのAIを設定する

ゴーストに当たってみる