More Related Content
More from Takashi Jona (20)
1DayMakeMazeGame
- 4. ⾃自⼰己紹介
• 名前: 常名 隆司(じょうな たかし)
• 埼⽟玉県⼤大宮市⽣生まれ
• 不不動産屋でリフォーム1年年、会計4年年
• K●●IでISPの技術SV統括 2年年
• GMOクラウドでエンジニア 10年年、
事業開発 3年年(Photon⽴立立ち上げとか)
• 2014年年から現職
– @AssetStore_̲JP の中の⼈人
• ⾃自腹CES芸⼈人
– http://togetter.com/id/takashijona
• VR Game Jam in Japan主宰
– http://ocujam.jp
- 11. Unityアカウントを作成する
• ブラウザが⾃自動的に起動して
Unity Account画⾯面が開く
• “Your account was
successfully confirmed.” が
表⽰示されたら登録完了了
• 念念のため [ Sign in ] しても
しなくてもどっちでもOK
• Unityに戻って、メールアド
レスとパスワードを⼊入⼒力力して
[ Sign in ] する
- 14. でのゲーム開発概念念
• プロジェクト
– ⼀一つのゲームの開発単位
• シーン
– ゲーム内の⼩小分けにした場⾯面
ごとの開発単位
– スタート画⾯面やゴール画⾯面も
シーンとして分離離するケース
もあり
• ゲームオブジェクト
– ゲームを構成する⼀一つ⼀一つの
パーツ
– 建物、⼈人物、⼩小物、表⾯面素材、
裏裏側のプログラム、特殊効果、
効果⾳音、ボタン、etc,
プロジェクト
シーン
ゲームオブジェクト
- 15. プロジェクトの作成
• Project name
– ゲーム⾃自体の名前を付けて
おく
– 半⾓角英数字
• Location
– 保存先のディレクトリを指
定する
– 慣れない内は変更更しなくて
もOK
• Create project
– ボタンをクリックすると新
規プロジェクトが⽴立立ち上が
る
- 17. 画⾯面の⾒見見かた
• シーンビュー
– ゲームを作るための編集画⾯面
• ヒエラルキーウィンドウ
– シーンにある全オブジェクト
を階層的に表⽰示する
• プロジェクトウィンドウ
– プロジェクト全体で使⽤用でき
るオブジェクトやプログラム
スクリプト等の全てを表⽰示
• インスペクターウィンドウ
– 選択中のオブジェクトのプロ
パティの表⽰示・編集
シーンビュー
ヒエラルキー
ウィンドウ
プロジェクト
ウィンドウ
インス
ペクター
ウィンドウ
ツールバー
• ツールバー
– 開発中に使⽤用する便便利利な⼀一発
切切り替えボタンが並ぶ
- 20. ブツを出現させる 床
• 何はともあれ床
– Planeというオブジェクトを使
う⼿手段と、Cubeというオブ
ジェクトを使う⼿手段がある
– Cubeを使う時は⼗十分引き伸ば
して厚みを薄くする
– 今回はPlaneを使う
– Menu > GameObject > 3D
Object > Plane をクリック
- 21. ブツを出現させる ⽴立立⽅方体
• 万能選⼿手の箱
– ⽴立立⽅方体としても柱にも板にも
使える Cubeというオブジェ
クトを使う
– Menu > GameObject > 3D
Object > Cube をクリック
– 出現させただけの状態では
「配置した場所にただ存在す
るだけの何か」
– 物理理法則を適⽤用(重⼒力力の影響
を受ける)させたい場合は
Rigidbodyをアタッチして
Use Gravityオプションを有効
にする(後述)
- 22. ブツを出現させる 球体
• 粒粒、弾、ボールならコレ
– 変形させるよりもサイズを変
えて球体のまま使うケースが
多い Sphereというオブジェク
トを使う
– Menu > GameObject > 3D
Object > Sphere をクリック
– 出現させただけの状態では
「配置した場所にただ存在す
るだけの何か」
– 物理理法則を適⽤用(重⼒力力の影響
を受ける)させたい場合は
Rigidbodyをアタッチして
Use Gravityオプションを有効
にする(後述)
- 23. ブツを出現させる 円柱
• 串串、テーブル、柱はこれで
– 円柱のバリエーションのモノ
を作るなら Cylinder というオ
ブジェクトを使う
– Menu > GameObject > 3D
Object > Cylinderをクリック
– 出現させただけの状態では
「配置した場所にただ存在す
るだけの何か」
– 物理理法則を適⽤用(重⼒力力の影響
を受ける)させたい場合は
Rigidbodyをアタッチして
Use Gravityオプションを有効
にする(後述)
- 24. ブツを出現させる カプセル
• 仮置きの⼈人や棒にはカプセル
– Cylinderよりも柔らかい印象に
なる Capsule というオブジェ
クトを使う
– Menu > GameObject > 3D
Object > Capsuleをクリック
– 出現させただけの状態では「配
置した場所にただ存在するだけ
の何か」
– 物理理法則を適⽤用(重⼒力力の影響を
受ける)させたい場合は
Rigidbodyをアタッチして Use
Gravityオプションを有効にす
る(後述)
- 39. 外周を作る
• キューブを流流⽤用する
– GameObject > 3D Object >
Cube
• ⻑⾧長さと厚みを変える
• 床の端に置く
• コピー&ペーストで反対側
の壁を作る
• ⽮矢印のドラッグ&ドロップ
で反対側に置くか
Inspectorの PositionのZ値
を反対側の位置(例例では -‐‑‒5
を 5)に変更更する
- 43. 迷路路の経路路を作る
• キューブを使う
– GameObject > 3D Object >
Cube
• スケールを⼀一回り⼩小さくする
– Inspector の Scaleの X, Y, Z
の値を 0.75に変更更
• 床と⾒見見分けやすい⾊色を塗る
– Project > Material
– 「MazeRoute」という名前を
つけておく
• ひたすらコピー&ペーストで
箱を増殖しながら迷路路の正解
の道筋を作る
- 49. 主⼈人公を置く
• 今回は Cupsuleを使う
– Menu > GameObject > 3D
Object > Cupsule
• ゴール(だんご三兄弟)の
正反対の位置に配置する
• 床の上に置く
• 通路路幅よりも細くする
– 例例では X:0.5, Y:1, Z:0.5
- 52. 主⼈人公が動くようにする
using
UnityEngine;
using
System.Collec=ons;
public
class
Move
:
MonoBehaviour
{
//
動く速度を指定する
public
float
speed
=
3;
//
Use
this
for
ini-aliza-on
void
Start
()
{
}
//
Update
is
called
once
per
frame
void
Update
()
{
//
左右キー・上下キーのキーボード入力を取得する
float
speed_x
=
Input.GetAxis
(“Horizontal”)
*
speed;
float
speed_y
=
Input.GetAxis
(“Ver=cal”)
*
speed;
//
自分に力を与えて動かす(転がす)
this.GetComponent<Rigidbody>
().AddForce
(speed_x,
0,
speed_y);
}
}
- 53. 主⼈人公が動くようにする
• 主⼈人公にくっ付ける
– いま出来上がった Project
ビューの中にあるプログラム
“Move” を、Hierarchyビュー
の中の主⼈人公にドラッグ&ド
ロップする
– Hierarchyビューの中の主⼈人公
がどれだか判らない時は、
シーンビューの中の主⼈人公を
クリックすると判る
– 主⼈人公にプログラムがくっ付
いたかどうか確認する
• 主⼈人公をクリックしてInspector
ビューに “Move (Script)” の項⽬目
があればOK!
- 58. ⾒見見えにくい時は
• カメラの視野を⿃鳥瞰にする
• シーンギズモくん登場
– カメラが⾒見見える視野になるま
でX, Y, Zラッパをクリックし
まくる
– ⾒見見つからない時はズームアウ
ト(ホイールをスクロール)
してみる
• 回転ボタン活躍
– カメラの視野を真下に向ける
– カメラのInspectorのRotation
の値を直接変えてもOK
• Inspector > Transform > X:90
- 63. ゴールを作る
using
UnityEngine;
using
System.Collec=ons;
public
class
Goal
:
MonoBehaviour
{
void
OnTriggerEnter(Collider
col){
//
オブジェクトに衝突したことを検出する
//
マテリアルの色として
red
を着色する
GetComponent<Renderer>().material.color
=
Color.red;
}
}
- 64. ゴールを作る
• ゴールにくっ付ける
– いま出来上がった Project
ビューの中にあるプログラム
”Goal” を、Hierarchyビュー
の中の串串(Cylinder)にド
ラッグ&ドロップする
– Hierarchyビューの中の串串がど
れだか判らない時は、シーン
ビューの中のだんご三兄弟の
串串をクリックすると判る
– 串串にプログラムがくっ付いた
かどうか確認する
• 主⼈人公をクリックしてInspector
ビューに “Goal (Script)” の項⽬目
があればOK!
- 74. アセットストアを使う
• Click or touch the 〜~〜~〜~
– 〜~〜~〜~で指定されている絵柄
を選ぶ
• I agree to the〜~〜~〜~
– 利利⽤用規約とプライバシーポリ
シーに同意できるならチェッ
クをつける
• Get Unity news
– Unityからの各種お知らせが届
く
– 不不要ならチェックしない
• Create a Unity ID
– ポチッと!
- 78. アセットストアを使う
• なにはともあれ検索索
• And検索索
– 検索索単語をスペースでつなぐ
• Or検索索
– 単語をパイプ | でつなぐ
• And/Or検索索
– かっこ()でくくりスペース
でつなぐ
– (fire|flare|burn) effect
• 除外
– マイナス – を付ける
– car -‐‑‒cartoon
今回は star を検索索してみる
- 92. さらに騙してみよう
using
UnityEngine;
using
System.Collec=ons;
public
class
Jump
:
MonoBehaviour
{
//
ジャンプする速度
public
float
jump_speed
=
1f;
//
何かが衝突した瞬間に呼ばれる
void
OnTriggerEnter(Collider
col){
//
ぶつかってきた主人公のRigidbodyコンポーネントを取得しておく。
Rigidbody
rig
=
col.GetComponent<Rigidbody>
();
//
ぶつかってきた主人公の移動ベクトルのyを変更する。
Vector3
vel
=
rig.velocity;
vel.y
=
jump_speed;
rig.velocity
=
vel;
}
}
- 93. さらに騙してみよう
• 動かない樽にくっ付ける
– いま出来上がった Project
ビューの中にあるプログラム
”Jump” を、Hierarchyビュー
の中の樽(Barrel)にドラッ
グ&ドロップする
– Hierarchyビューの中の樽がど
れだか判らない時は、シーン
ビューの樽をクリックすると
判る
– 樽にプログラムがくっ付いた
かどうか確認する
• 樽をクリックしてInspector
ビューに “Jump (Script)” の項⽬目
があればOK!
- 99. ⾒見見えない壁を作ろう
• ⾒見見えない壁とは?
– “衝突判定” だけのモノを置く
• “カラ”のモノを作る
– Menu > GameObject >
Create Empty
• 衝突判定だけを付ける
– Inspectorウィンドウの⼀一番下
の [Add Component]ボタン
をクリック
– 検索索窓に “coll” と⼊入⼒力力
– “Search” に “Box Collider”
が表⽰示されたらクリック
– Inspectorビューの中に “Box
Collider” が⼊入っていればOK
- 108. 壁っぽくしてみる
• 壁のプレハブに素材を貼る
– Projectウィンドウで
“MazeWallYoko” を選択
– Inspectorウィンドウが表⽰示さ
れている状態にしておく
– Projectウィンドウで Assets/
Stone&BrickTexturePack/
Texture/Materialsフォルダを
開く(フォルダをクリックし
て開くまで)
– Brickを素早くMazeWallYoko
のInspectorウィンドウにド
ラッグ&ドロップする
– シーンビュー内の横壁が全部
グレーのレンガに変わる
- 109. 壁っぽくしてみる
• 同じ要領領で縦壁にも貼る
– Projectウィンドウで
“MazeWallTate” を選択
– Inspectorウィンドウが表⽰示さ
れている状態にしておく
– Projectウィンドウで Assets/
Stone&BrickTexturePack/
Texture/Materialsフォルダを
開く(フォルダをクリックし
て開くまで)
– Brickを素早くMazeWallTate
のInspectorウィンドウにド
ラッグ&ドロップする
– シーンビュー内の縦壁が全部
グレーのレンガに変わる