Mais conteúdo relacionado Mais de Takashi Jona (20) 1DayMakeMazeGame ver,201710225. プロジェクトの作成
• Project name
– ゲーム自体の名前を付けておく
– 半角英数字
– 今回は Maze-20171019
• Location
– 保存先のディレクトリを指定す
る
– 慣れない内は変更しなくても
OK
• Create project
– ボタンをクリックすると新規プ
ロジェクトが立ち上がる
7. 画面の見かた
• シーンビュー
– ゲームを作るための編集画面
• ヒエラルキーウィンドウ
– シーンにある全オブジェクト
を階層的に表示する
• プロジェクトウィンドウ
– プロジェクト全体で使用でき
るオブジェクトやプログラム
スクリプト等の全てを表示
• インスペクターウィンドウ
– 選択中のオブジェクトのプロ
パティの表示・編集
シーンビュー
ヒエラルキー
ウィンドウ
プロジェクト
ウィンドウ
インス
ペクター
ウィンドウ
ツールバー
• ツールバー
– 開発中に使用する便利な一発
切り替えボタンが並ぶ
10. ブツを出現させる – 床
• 何はともあれ床
– Planeを使う
– QuadはUIとかで使う
– 今回はPlaneを使う
– Menu > GameObject > 3D
Object > Plane をクリック
11. ブツを出現させる – 立方体
• 万能選手の箱
– 立方体としても柱にも板にも
使える Cubeというオブジェ
クトを使う
– Menu > GameObject > 3D
Object > Cube をクリック
– 出現させただけの状態では
「配置した場所にただ存在す
るだけの何か」
– 物理法則を適用(重力の影響
を受ける)させたい場合は
Rigidbodyをアタッチして
Use Gravityオプションを有効
にする(後述)
13. ブツを出現させる – 球体
• 粒、弾、ボールならコレ
– 変形させるよりもサイズを変
えて球体のまま使うケースが
多い Sphereというオブジェ
クトを使う
– Menu > GameObject > 3D
Object > Sphere をクリック
– 出現させただけの状態では
「配置した場所にただ存在す
るだけの何か」
– 物理法則を適用(重力の影響
を受ける)させたい場合は
Rigidbodyをアタッチして
Use Gravityオプションを有効
にする(後述)
28. ブツを出現させる – 円柱
• 串、テーブル、柱はこれで
– 円柱のバリエーションのモノ
を作るなら Cylinder というオ
ブジェクトを使う
– Menu > GameObject > 3D
Object > Cylinderをクリック
– 出現させただけの状態では
「配置した場所にただ存在す
るだけの何か」
– 物理法則を適用(重力の影響
を受ける)させたい場合は
Rigidbodyをアタッチして
Use Gravityオプションを有効
にする
29. ブツを出現させる – カプセル
• 仮置きの人や棒にはカプセル
– Cylinderよりも柔らかい印象に
なる Capsule というオブジェ
クトを使う
– Menu > GameObject > 3D
Object > Capsuleをクリック
– 出現させただけの状態では「配
置した場所にただ存在するだけ
の何か」
– 物理法則を適用(重力の影響を
受ける)させたい場合は
Rigidbodyをアタッチして Use
Gravityオプションを有効にす
る
51. 外周を作る
• キューブを流用する
– GameObject > 3D Object >
Cube
• 長さと厚みを変える
• 床の端に置く
• コピー&ペーストで反対側
の壁を作る
• 矢印のドラッグ&ドロップ
で反対側に置くか
Inspectorの PositionのZ値
を反対側の位置(例では -5
を 5)に変更する
61. 主人公を置く
• 今回は Cupsuleを使う
– Menu > GameObject > 3D
Object > Cupsule
• ゴール(だんご三兄弟)の
正反対の位置に配置する
• 床の上に置く
• 通路幅よりも細くする
– 例)X:0.5, Y:0.2, Z:0.5
62. 主人公が動くようにする
• そのままでは動かない
– ←↑↓→ のキー操作で動くよ
うにする
• 動かすためのプログラムを
仕込む
– 今回はコピペで済ませる
– Projectウィンドウ > Create
> C# Script
– ファイル名を “Move” に変更
– ファイルをダブルクリックす
る
64. 主人公が動くようにする
using UnityEngine;
using System.Collections;
public class Move : MonoBehaviour {
// 動く速度を指定する
public float speed = 3;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
// 左右キー・上下キーのキーボード入力を取得する
float speed_x = Input.GetAxis (“Horizontal”) * speed;
float speed_y = Input.GetAxis (“Vertical”) * speed;
// 自分に力を与えて動かす(転がす)
this.GetComponent<Rigidbody> ().AddForce (speed_x, 0, speed_y);
}
}
https://goo.gl/wwn7z8
65. 主人公が動くようにする
• 主人公にくっ付ける
– いま出来上がった Project
ビューの中にあるプログラム
“Move” を、Hierarchyビュー
の中の主人公にドラッグ&ド
ロップする
– Hierarchyビューの中の主人公
がどれだか判らない時は、
シーンビューの中の主人公を
クリックすると判る
– 主人公にプログラムがくっ付
いたかどうか確認する
• 主人公をクリックしてInspector
ビューに “Move (Script)” の項目
があればOK!
70. 見えにくい時は
• カメラの視野を鳥瞰にする
• シーンギズモくん登場
– カメラが見える視野になるま
でX, Y, Zラッパをクリックし
まくる
– 見つからない時はズームアウ
ト(ホイールをスクロール)
してみる
• 回転ボタン活躍
– カメラの視野を真下に向ける
– カメラのInspectorのRotation
の値を直接変えてもOK
• Inspector > Transform > X:90
76. ゴールを作る
• ゴールにくっ付ける
– いま出来上がった Project
ビューの中にあるプログラ
ム ”Goal” を、Hierarchy
ビューの中の串(Cylinder)
にドラッグ&ドロップする
– Hierarchyビューの中の串がど
れだか判らない時は、シーン
ビューの中のだんご三兄弟の
串をクリックすると判る
– 串(Cylinder)のCapsule
Colliderの Is Triggerにチェッ
クを付ける
78. ゴールを作る ~2
• ゴールしたことを判りたい
• だんご三兄弟に当たったら
串の色を変えたい
• 串をすり抜けたくない
• モノがぶつかったら色を変
えるプログラムを仕込む
– 今回もコピペで済ませる
– Projectウィンドウ > Create
> C# Script
– ファイル名を “Goal2” に変更
– ファイルをダブルクリックす
る
81. ゴールを作る
• ゴールにくっ付け直す
– いま出来上がった Project
ビューの中にあるプログラ
ム ”Goal2” を、Hierarchy
ビューの中の串(Cylinder)
にドラッグ&ドロップする
– 串の Capsule Colliderの Is
Triggerのチェックを外す
92. アセットストアを使う
• Click or touch the 〜〜〜
– 〜〜〜で指定されている絵柄
を選ぶ
• I agree to the〜〜〜
– 利用規約とプライバシーポリ
シーに同意できるならチェッ
クをつける
• Get Unity news
– Unityからの各種お知らせが届
く
– 不要ならチェックしない
• Create a Unity ID
– ポチッと!
96. アセットストアを使う
• なにはともあれ検索
• And検索
– 検索単語をスペースでつなぐ
• Or検索
– 単語をパイプ | でつなぐ
• And/Or検索
– かっこ()でくくりスペース
でつなぐ
– (fire|flare|burn) effect
• 除外
– マイナス – を付ける
– car -cartoon
今回は star を検索してみる
108. 見えない壁を作ろう
• 見えない壁とは?
– “衝突判定” だけのモノを置く
• “カラ”のモノを作る
– Menu > GameObject >
Create Empty
• 衝突判定だけを付ける
– Inspectorウィンドウの一番下
の [Add Component]ボタン
をクリック
– 検索窓に “coll” と入力
– “Search” に “Box Collider”
が表示されたらクリック
– Inspectorビューの中に “Box
Collider” が入っていればOK
118. 壁っぽくしてみる
• 同じ要領で縦壁にも貼る
– Projectウィンドウで
“MazeWallTate” を選択
– Inspectorウィンドウが表示さ
れている状態にしておく
– Projectウィンドウで
Assets/Stone&BrickTexture
Pack/Texture/Materialsフォ
ルダを開く(フォルダをク
リックして開くまで)
– Brickを素早くMazeWallTate
のInspectorウィンドウにド
ラッグ&ドロップする
– シーンビュー内の縦壁が全部
グレーのレンガに変わる
125. 主人公を追いかける
• カメラを動かす
– ←↑↓→ のキー操作で動くよ
うにする
• 動かすためのプログラムを
仕込む
– 今回はコピペで済ませる
– Projectウィンドウ > Create
> C# Script
– ファイル名を “CameraMove”
に変更
– ファイルをダブルクリックす
る
127. 主人公を追いかける
using UnityEngine;
using System.Collections;
public class CameraMove : MonoBehaviour {
// 相手のTransform(位置・角度・大きさ)情報を取得
public Transform move_target;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
// 自分の位置を相手の位置と同じにする。
transform.position = move_target.position;
}
}
https://goo.gl/wwn7z8
133. 主人公を追いかける
• カメラの親にくっ付ける
– 作っておいた Projectビューの
中にあるプログラ
ム ”CameraMove” を、
Hierarchyビューの中の
Camera Parent にドラッグ&
ドロップする
• 主人公を対象にさせる
– Camera Parentの Inspector
で Camera Move (Script) の
Move_targetの右端の◉をク
リック
– 検索窓で cap と入力
– Capsule を選択する
137. WebGLでの書き出し
• Save As: にWebGL書き出し
をするディレクトリ名を入力
する
– 今回は MazeWebGL
• Saveをクリック
• しばらく待つと index.html
と複数のフォルダが出来上が
る
• ウェブサーバーにアップロー
ドする