Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.
学生のためのUnity勉強会

Unityを使ったゲーム開発を体験しよう
自己紹介
✤

和泉 信生 (いずみ しのぶ)!

✤

崇城大学 情報学部 情報学科 助教!

✤

izumi@cis.sojo-u.ac.jp !

✤

@shinobu_shiva!

✤

http://www.cis.sojo-u...
とよすすいぞくかん
http://toyosui.jp/
CUBELE+
https://itunes.apple.com/jp/app/cubele+/id417145026
熊本Apps!
熊本からデジタルコンテンツを世界へ

https://www.facebook.com/kumamotoapps
熊本Apps!
https://www.facebook.com/kumamotoapps

・コンシューマ向けサービスの構築に興味のある

・学生、社会人、企業が集まり、
・知識・ノウハウを共有しながら、
・世界のユーザーに利用されるモノをリ...
著書の紹介

http://www.amazon.co.jp/dp/4877832742
中高生のためのUnity勉強会

第1部 Unityを触ってみる
第1部 Unityを触ってみる

✤

第1部Unityの基本的な使い方や各部分の名称を覚えるために、
Unityを触りながら3D世界を操作してみます
http://unity3d.com/
http://unity3d.com/japan/
Unityとは?
✤

3D/2Dゲームを作るための統合開発環境及びゲームエンジン!

✤

Windows, Mac, ウェブブラウザ で動作するゲームを作成できる

iPhone, Android, Xbox 360, PS3もサポート(さ...
今日の資料
✤

資料

https://drive.google.com/file/d/0BybrejWDbtQeFZoTVJjeTVzRGs/edit?usp=sharing


✤

プロジェクトファイル

https://drive.go...
とりあえず開いてみよう!

c:¥ユーザー¥パブリック¥パブリックのドキュメント
¥Unity Projects¥AngryBots¥Assets¥AngryBots.unity
起動!
プレイしてみよう

w, a, s, d (カーソル)=移動

マウス(プレス) = 視点移動(発砲)
各部名称

メニュー

いろいろな機能(Windowsは位置が違う)
シーンビュー

3Dの作業を行うビュー
ゲームビュー
ゲーム実行時の画面
シーン中のオブジェクト
プロジェクトのアセット

ヒエラルキービュー

オブジェクトやアセットの設定...
各部名称
メニュー

いろいろな機能(Windowsは位置が違う)

シーンビュー

3Dの作業を行うビュー

ゲームビュー

ゲーム実行時の画面

ヒエラルキービュー

シーン中のオブジェクト

プロジェクトビュー

プロジェクトのアセット
...
ギズモ
シーンビューで見ている向きを表す

クリックするとその方向から見ることが出来る
移動ツール (画面左上)
選択した物体やビューの移動方法を選択

ビュー

移動

物体移動

物体回転

物体拡縮

{

✤

シーンビューの中でクリックすると物体が選択できる
プレイツール (画面中央)
✤

ゲームのプレイ、停止、一時停止、ステップ実行

プレイ

一時停止

ステップ実行

青くなっている状態でゲーム実行中
プレイをもう一度クリックすると停止
カメラの移動
✤

Altキーを押しながら!

操作に慣れよう!

✤

マウス左ボタン → 回転!

✤

マウス中ボタン → 移動!

✤

マウス右ボタン → 拡大縮小 (スクロールでもOK)!

✤

何かを選択して f キー → 物体...
初めてのゲーム作成
✤

新規プロジェクトの作成

✤

メニューから File → New Project... を選択
初めてのゲーム作成
✤

プロジェクトを作成する位置を選び、名前をつけてCreate Project

✤

(例) C:¥Documents and Settings¥Izumiken¥My DocumenHelloUnity
灰色の部分はそ...
初期画面
WindowsとMacではメニューの位置が少し違う
オブジェクトを作る
✤

メニューから GameObject → Create Other → Cube を選択

Cubeが作成された
オブジェクトを作る
✤

メニューから GameObject → Create Other → Plane を選択

Planeが作成された
オブジェクトを動かす
✤

Cubeを選択

 ヒエラルキービューから選択 / シーンビューでクリック

✤

移動ツールから移動を選択
ショートカット q,w,e,r

✤

緑(上向き)のハンドルをドラッグして上に移動

ゲームビューには何...
カメラの位置と向きを調節
✤

Main Cameraを選択

シーンビューでカメラギズモをクリック / ヒエラルキービューから

✤

上手くカメラを移動してください
暗い、、、
ライトの追加
✤

メニューから GameObject → Create Other → Point Light を選択
インスペクタ
✤

選択しているオブジェクトの設定
Color - 色

Intensity - 光の強さ

Range - 光の届く距離

Point Lightを

選択した状態
試しに赤く強くしてみた

プレイをクリックしてみよう
、、、特に変化なし
剛体にしてみよう
✤

RigidBody = 剛体 = 重力に作用する物体
✤
✤

Cubeを選択
メニューから Component → Physics → Rigidbody を選択
Rigidbodyが

追加された

プレイを

クリ...
落ちた?
シーンの保存
✤

メニューから File → Save Scene を選択
✤

名前を入力して Saveをクリック
演習
✤

プレイすると球体が3つ地面に落ちて

転がっていくゲームを作成してください!
!

(ヒント)
✤

Sphereを3つ作成し、

Rigidbodyにしてください!

✤

Planeを傾けてください
プロジェクトとシーン
✤

プロジェクト

Unityにおけるゲーム開発の単位

全ての部品はプロジェクト内に保存する

1つのフォルダーとして管理!

✤

シーン

ゲームの1つのステージやスタートメニューなど
注意!

Unityが扱うフ...
オブジェクトを作る
✤

メニューから GameObject → Create Other → Cube を選択

Cubeが作成された
Hierarchy (階層)ビュー

✤

ゲーム中に存在する全ての GameObject が表示されている!

✤

初期状態ではMain Cameraだけが存在する!

✤

Cubeやカメラ、ライトなど全てGameObject
Inspector(インスペクタ)ビュー

✤

選択したGameObjectの属性を表示!

✤

複数のComponentを保持!

✤

編集可能
UnityのGameObject
✤

GameObjectは基本情報と複数のComponentを持っている!

✤

どんなComponentを持つかでGameObjectの機能が決まる

GameObject
(基本属性) 名前、レイヤ、タ...
Componentの値設定
✤

インスペクタで値を変更することが出来る!
✤

TransformコンポーネントのPosition値を変更してみよう!

!
✤

シーンビューでの変更がインスペクタに反映される!
✤

Cubeをシーンビュー...
Cubeを原点に移動
✤

Cubeをヒエラルキービューで選択して、インスペクタからTransform
コンポーネントのPosition値を原点(0, 0, 0)に設定しよう
中高生のためのUnity勉強会

第2部 Unityで2Dゲームをつくろう!
情報学部 情報学科

和泉 信生
第2部 Unityで2Dゲームをつくろう!

✤

第2部ではUnityで2Dゲームを作成しながら基本的な操作や使い方、
簡単なプログラムを書くことで様々な機能が追加できることを知って
もらいます
ハングリーキャット

ネコを飛ばして

ネズミにぶつけて消すゲーム
プロジェクトファイルのダウンロード

✤

URL ∼ からダウンロードして解凍!

✤

解凍日本語が入っていないフォルダの場所においてください
とりあえず遊んでみよう

メニューから

File → Open Project… を選択

HungryCatを選択して

Open Project をクリック
プロジェクトが開いた
完成番のシーンを開く

プロジェクトビューで

Game-Compをダブルクリック
Maximize on Play (プレイ時に最大化)

Maximize on Play (プレイ時に最大化)を有効化しておく
プレイ!

① マウスで左クリックして引っ張る!
② 離すとネコが飛び出す
柱や的に命中すると得点を獲得

全部のネズミを倒したらゲームクリア
ゲームクリア!
自分で作ってみる!

プロジェクトビューで

Gameをダブルクリック
何も配置されていないシーンが表示された
このプロジェクトの使い方1
この2つ(中身も)は変更しない
このプロジェクトの使い方2

ゲームに使う部品(プレハブ)
このプロジェクトの使い方3
スクリプト(プログラム)

後で中身を記述して使います
このプロジェクトの使い方4
音声ファイル

(効果音に使います)
猫シューターを配置しよう!

Cat Shooter プレハブを

ドラッグして配置

プレハブ 

= ゲーム内で使うものを再利用できるようにまとめたもの
猫シューターが配置できた!

プレイすると猫が飛ばせます

(倒す敵がいないけど、、、)
プレイをもう一度クリックして

止めましょう(ボタンが灰色になるのを確認)
木(障害物)を置いてみる

Tree プレハブを

ドラッグして配置
移動や回転をさせてステージを作る
青い丸4つで囲まれた

枠の中をクリックすると移動します

青い丸のカドの少し外側をクリックすると

回転します(カーソルが変化)
ステージ完成!

プレイして動作確認してみよう
柱を壊すと得点が!
敵キャラクターを配置する

Mouse プレハブを

ドラッグして配置
Mouseプレハブ
インスペクターを見てみる

Mouse Behaviorコンポーネント!
このコンポーネント(スクリプト)に

猫があたった時の

処理を記述して行きます。
プロジェクトビューで

Mouse Behaviorをダブルクリック

エディタが起動
スクリプト(プログラム)
✤

ゲーム内での様々な処理はスクリプトを記述することで実現できます!
✤

得点、ダメージ、音を鳴らす、猫を打ち出す、etc…!

✤

今日は猫がネズミにあたった時の処理を記述します!

✤

UnityではC#,...
スクリプト(プログラム)

この部分に処理を書いていきます
猫があたったら

ネズミが消えるようにする
public void GetDamage(){	

!

	

 	


Destroy (gameObject);	


!

}
なぜここに書くの?

猫が当たるとGetDamageの中(波括弧...
メソッド

スクリプト内では様々な命令を記述することで処理をさせます

Destroy (gameObject);
ここではDestroyという命令を使っています

メソッドと呼びます

このような命令のことを
引数(ひきすう)
Destroy (gameObject);
メソッドにはその命令を実行するのに必要なモノや情報が

渡される場合があります(渡されない場合もあります)

引数と呼びます!

このようなものを



引数は(丸括弧)の間に書きま...
Destroyメソッド

Destroy (gameObject);
破棄する命令です

Destroyメソッドは引数で受け取ったものを
ここで渡している

gameObject は


このスクリプトが付いているゲーム内のオブジェクトを指し示...
最後にある ; は何?

Destroy (gameObject);

;

最後にある (セミコロン)は一つの命令の終わりを表す区切りです
スクリプトの保存
スクリプトを書いたら忘れずに保存しましょう!
Ctrl + s (Ctrlキーを押しながらsを押す)で保存できます

未保存

保存済み
Unityにもどる

右下に丸いインジケーターが回っているときは

コンパイル(プログラムの解析)を行っているので

少し待ちましょう
プログラムが間違えているとき

プログラムを間違えると(文法間違えなど)

左下に赤い字で間違いが指摘されます
メッセージを読んでプログラムを修正しましょう
プレイしてみましょう!

猫がネズミに当たると消えた?
ネズミを倒すと得点画面
敵を倒したらポイントを獲得しよう!

public void GetDamage(){ 	

!

	

 	

 Destroy (gameObject);	

 Pointメソッドに100を引数として渡す!
	

 	

!

}

Poi...
プレイしてみましょう!

猫がネズミに当たると得点獲得!
敵を倒したら音を鳴らそう!
public class MouseBehavior: MonoBehaviour {	

!

	


public AudioClip destroySound;	


!

	

 public void Ge...
変数(へんすう)
public AudioClip destroySound;
プログラム中で値や参照などを保持する

名前のついた箱のようなもの

destroySound

型が設定される

変数には

型によって変数に入れることができるも...
変数(へんすう)
public

AudioClip

公開範囲

型

destroySound;

変数名

公開範囲はここでは難しいので詳しい説明を省略しますが

変数にpublicとつけておくと


Unityのインスペクターで値を設定...
インスペクターを確認

Mouseを選択
作成した変数が表示された
音声ファイルを変数に設定

Destroy (音声ファイル)を

ドラッグして設定
音を鳴らすメソッドを記述
public AudioClip destroySound;	

!
public void GetDamage(){	

!
	

	

	

!
}

AudioSource.PlayClipAtPoint(des...
プレイしてみましょう!

ネズミを倒すと音がなる!
大きいネズミをおいてみる

BigMouseにもDestroy音声を設定

大きいネズミは2回当たらないと

たおせないようにしたい!
ネズミに体力をもたせよう!
public class MouseBehavior: MonoBehaviour {	

!
	

 public AudioClip destroySound;	

!

	

 public int vital...
変数への値の代入(だいにゅう)
1

vital = 1;
vital

変数に値を入れることを代入するという

スクリプト中の = は

右側の値を左側に代入することを表す
あたったら1減らす
!
	

!

public void GetDamage(){	


	

 	

 vital = vital - 1;	

!
	

	

	

!
	


	

	

	

}	


AudioSource.Play...
変数から1減らすとは?
vital = vital - 1;
1-1→0
1
vital

0
vital

取り出して 1 を引いて また 入れる
条件分岐
条件を満たしているか満たしていないかで

処理をわける
vitalの値が 0 より大きければ → 死なない
vitalの値が 0 以下ならば → 死ぬ
if 文による条件分岐
public void GetDamage(){	

	

 	

	

	

 	

 vital = vital - 1;	


!

	

 	

 if(vital <= 0){	

!
	

	

	


	
...
if 文による条件分岐
if(vital <= 0) {	



  //条件を満たすとこの部分に書いてある処理が実行される


}
vitalの値が 0より小さいか0の時、

波括弧で囲まれた部分の処理を実行する

左辺と右辺をくらべて
<=...
BigMouse の vital を2に設定

2に設定
Mouseのvitalは1になっていることを確認しておきましょう
BigMouse の得点を多くしたい!
public class MouseBehavior: MonoBehaviour {	

!
	

 public AudioClip destroySound;	

!
	

 public int ...
pointの値が設定できるようになった

Point の値を 1000に設定
動作確認!

大きいネズミを倒したら1000ポイント!
倒せなかった時の処理
倒せなかった時にも得点を獲得したり音を鳴らしたりしたい!
if(vital <= 0){	

!
	

 AudioSource.PlayClipAtPoint(destroySound, Vector3.zero);	
...
!
	


public AudioClip destroySound; 	


	

 public AudioClip crashSound;	

!
	

	

!
	

	

	

!
	

!
	

	

	

	

	

	

	
...
BigMouseとMouseに音を設定

音を設定
完成!

自由にステージを作ってみましょう!
自分で書いた絵を使ってみよう!
Photoshopなど背景が透明な絵をかけるソフトであれば何でもいいです

http://pixlr.com/editor/
今日はブラウザ上で絵がかけるサービスを使ってやってみます

「新しい画像を作成」をクリ...
絵を描く

「透明」にチェックしてOKをクリック
適当に絵を描く
絵を保存
メニューから ファイル→保存

フォーマットで PNGを選択

OKをクリック
絵を保存

デスクトップなど分かりやすいところに保存

(ファイル名はアルファベットで)
ファイルをインポート

Unityのプロジェクトビューに

ファイルをドロップ
ファイルのインポート設定

② Sprite Mode で Multipleを選択
③ Sprite Editorをクリック

① 取り込んだファイルを選択
スプライトの設定

使いたい範囲を囲んで Trim をクリック
スプライトの保存
Windowを閉じようとすると

適用するか聞かれるので

Applyをクリックして適用
スプライトをシーンに入れて

位置と大きさを調整
敵として使うための設定
① 名前をMyEnemyにする

② Tag で Wall を選択

(自由に名づけてよい)

③ Sorting Layer で Character を選択
必要なコンポーネントを付加
メニューから

Component → Physics 2D → Box Collider 2D
メニューから

Component → Physics 2D → Rigidbody 2D
1

Add Componentから

Enemy Behavior, Mouse Behaviorを追加
音やPoint, Vitalの値を設定
自作キャラが敵になった!
作った敵キャラをプレハブにする
プレハブにすると再利用できるようになります

ドラッグ
あとは自由に!
グローバルゲームジャム
2014

熊本会場に

参加しませんか?
https://sites.google.com/site/ggjkumamoto2013/
質問はこちらまで
✤

崇城大学情報学部

和泉助教 の部屋(研究室)!

✤

izumi@cis.sojo-u.ac.jp !

✤

@shinobu_shiva!

✤

http://www.cis.sojo-u.ac.jp/~izu...
Próxima SlideShare
Cargando en…5
×

[崇城大学][熊本Apps!] 学生のためのUnity勉強会

2.471 visualizaciones

Publicado el

熊本で学生を対象としたUnityの入門教室を行った際の資料です。

Publicado en: Educación
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Responder 
    ¿Estás seguro?    No
    Tu mensaje aparecerá aquí
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Responder 
    ¿Estás seguro?    No
    Tu mensaje aparecerá aquí
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Responder 
    ¿Estás seguro?    No
    Tu mensaje aparecerá aquí

[崇城大学][熊本Apps!] 学生のためのUnity勉強会

  1. 1. 学生のためのUnity勉強会 Unityを使ったゲーム開発を体験しよう
  2. 2. 自己紹介 ✤ 和泉 信生 (いずみ しのぶ)! ✤ 崇城大学 情報学部 情報学科 助教! ✤ izumi@cis.sojo-u.ac.jp ! ✤ @shinobu_shiva! ✤ http://www.cis.sojo-u.ac.jp/~izumi
  3. 3. とよすすいぞくかん http://toyosui.jp/
  4. 4. CUBELE+ https://itunes.apple.com/jp/app/cubele+/id417145026
  5. 5. 熊本Apps! 熊本からデジタルコンテンツを世界へ https://www.facebook.com/kumamotoapps
  6. 6. 熊本Apps! https://www.facebook.com/kumamotoapps ・コンシューマ向けサービスの構築に興味のある
 ・学生、社会人、企業が集まり、 ・知識・ノウハウを共有しながら、 ・世界のユーザーに利用されるモノをリリースしていく、 ・「地域コミュニティブランド」
  7. 7. 著書の紹介 http://www.amazon.co.jp/dp/4877832742
  8. 8. 中高生のためのUnity勉強会 第1部 Unityを触ってみる
  9. 9. 第1部 Unityを触ってみる ✤ 第1部Unityの基本的な使い方や各部分の名称を覚えるために、 Unityを触りながら3D世界を操作してみます
  10. 10. http://unity3d.com/ http://unity3d.com/japan/
  11. 11. Unityとは? ✤ 3D/2Dゲームを作るための統合開発環境及びゲームエンジン! ✤ Windows, Mac, ウェブブラウザ で動作するゲームを作成できる
 iPhone, Android, Xbox 360, PS3もサポート(さらにサポート拡大中)! ✤ ゲーム開発の大衆化を目指し、
 ヨーロッパを中心に多くのユーザを獲得! ✤ 誰でも無料で使える(プロライセンス限定の機能が少しある)
  12. 12. 今日の資料 ✤ 資料
 https://drive.google.com/file/d/0BybrejWDbtQeFZoTVJjeTVzRGs/edit?usp=sharing
 ✤ プロジェクトファイル
 https://drive.google.com/file/d/0BybrejWDbtQaEtjdWdvR2ZkSm8/edit?usp=sharing
  13. 13. とりあえず開いてみよう! c:¥ユーザー¥パブリック¥パブリックのドキュメント ¥Unity Projects¥AngryBots¥Assets¥AngryBots.unity
  14. 14. 起動!
  15. 15. プレイしてみよう w, a, s, d (カーソル)=移動 マウス(プレス) = 視点移動(発砲)
  16. 16. 各部名称 メニュー いろいろな機能(Windowsは位置が違う) シーンビュー 3Dの作業を行うビュー ゲームビュー ゲーム実行時の画面 シーン中のオブジェクト プロジェクトのアセット ヒエラルキービュー オブジェクトやアセットの設定 プロジェクトビュー インスペクタ
  17. 17. 各部名称 メニュー いろいろな機能(Windowsは位置が違う) シーンビュー 3Dの作業を行うビュー ゲームビュー ゲーム実行時の画面 ヒエラルキービュー シーン中のオブジェクト プロジェクトビュー プロジェクトのアセット インスペクタ オブジェクトやアセットの設定
  18. 18. ギズモ シーンビューで見ている向きを表す
 クリックするとその方向から見ることが出来る
  19. 19. 移動ツール (画面左上) 選択した物体やビューの移動方法を選択 ビュー
 移動 物体移動 物体回転 物体拡縮 { ✤ シーンビューの中でクリックすると物体が選択できる
  20. 20. プレイツール (画面中央) ✤ ゲームのプレイ、停止、一時停止、ステップ実行 プレイ 一時停止 ステップ実行 青くなっている状態でゲーム実行中 プレイをもう一度クリックすると停止
  21. 21. カメラの移動 ✤ Altキーを押しながら! 操作に慣れよう! ✤ マウス左ボタン → 回転! ✤ マウス中ボタン → 移動! ✤ マウス右ボタン → 拡大縮小 (スクロールでもOK)! ✤ 何かを選択して f キー → 物体に合わせた位置に移動! ✤ スペースキー → マウスが指している画面をフルスクリーン化
  22. 22. 初めてのゲーム作成 ✤ 新規プロジェクトの作成 ✤ メニューから File → New Project... を選択
  23. 23. 初めてのゲーム作成 ✤ プロジェクトを作成する位置を選び、名前をつけてCreate Project ✤ (例) C:¥Documents and Settings¥Izumiken¥My DocumenHelloUnity 灰色の部分はそれぞれ異なる 全角文字は使わないで!
  24. 24. 初期画面 WindowsとMacではメニューの位置が少し違う
  25. 25. オブジェクトを作る ✤ メニューから GameObject → Create Other → Cube を選択 Cubeが作成された
  26. 26. オブジェクトを作る ✤ メニューから GameObject → Create Other → Plane を選択 Planeが作成された
  27. 27. オブジェクトを動かす ✤ Cubeを選択
  ヒエラルキービューから選択 / シーンビューでクリック ✤ 移動ツールから移動を選択 ショートカット q,w,e,r ✤ 緑(上向き)のハンドルをドラッグして上に移動 ゲームビューには何も表示されていない
  28. 28. カメラの位置と向きを調節 ✤ Main Cameraを選択
 シーンビューでカメラギズモをクリック / ヒエラルキービューから ✤ 上手くカメラを移動してください 暗い、、、
  29. 29. ライトの追加 ✤ メニューから GameObject → Create Other → Point Light を選択
  30. 30. インスペクタ ✤ 選択しているオブジェクトの設定 Color - 色
 Intensity - 光の強さ
 Range - 光の届く距離 Point Lightを
 選択した状態
  31. 31. 試しに赤く強くしてみた プレイをクリックしてみよう 、、、特に変化なし
  32. 32. 剛体にしてみよう ✤ RigidBody = 剛体 = 重力に作用する物体 ✤ ✤ Cubeを選択 メニューから Component → Physics → Rigidbody を選択 Rigidbodyが
 追加された プレイを
 クリックすると、、、
  33. 33. 落ちた?
  34. 34. シーンの保存 ✤ メニューから File → Save Scene を選択 ✤ 名前を入力して Saveをクリック
  35. 35. 演習 ✤ プレイすると球体が3つ地面に落ちて
 転がっていくゲームを作成してください! ! (ヒント) ✤ Sphereを3つ作成し、
 Rigidbodyにしてください! ✤ Planeを傾けてください
  36. 36. プロジェクトとシーン ✤ プロジェクト
 Unityにおけるゲーム開発の単位
 全ての部品はプロジェクト内に保存する
 1つのフォルダーとして管理! ✤ シーン
 ゲームの1つのステージやスタートメニューなど 注意!
 Unityが扱うファイルをUnityの外で移動しちゃダメ!
  37. 37. オブジェクトを作る ✤ メニューから GameObject → Create Other → Cube を選択 Cubeが作成された
  38. 38. Hierarchy (階層)ビュー ✤ ゲーム中に存在する全ての GameObject が表示されている! ✤ 初期状態ではMain Cameraだけが存在する! ✤ Cubeやカメラ、ライトなど全てGameObject
  39. 39. Inspector(インスペクタ)ビュー ✤ 選択したGameObjectの属性を表示! ✤ 複数のComponentを保持! ✤ 編集可能
  40. 40. UnityのGameObject ✤ GameObjectは基本情報と複数のComponentを持っている! ✤ どんなComponentを持つかでGameObjectの機能が決まる GameObject (基本属性) 名前、レイヤ、タグ等 Transform : 位置、回転、サイズ MeshRenderer : 描画方法 MeshFilter : 3次元の形状 BoxCollider : 箱型の衝突判定 Transformは
 全てのGameObjectに
 必ず存在する
  41. 41. Componentの値設定 ✤ インスペクタで値を変更することが出来る! ✤ TransformコンポーネントのPosition値を変更してみよう! ! ✤ シーンビューでの変更がインスペクタに反映される! ✤ Cubeをシーンビューで移動や回転、拡大すると
 Transformコンポーネントの値が変化することを確認しよう
  42. 42. Cubeを原点に移動 ✤ Cubeをヒエラルキービューで選択して、インスペクタからTransform コンポーネントのPosition値を原点(0, 0, 0)に設定しよう
  43. 43. 中高生のためのUnity勉強会 第2部 Unityで2Dゲームをつくろう! 情報学部 情報学科 和泉 信生
  44. 44. 第2部 Unityで2Dゲームをつくろう! ✤ 第2部ではUnityで2Dゲームを作成しながら基本的な操作や使い方、 簡単なプログラムを書くことで様々な機能が追加できることを知って もらいます
  45. 45. ハングリーキャット ネコを飛ばして
 ネズミにぶつけて消すゲーム
  46. 46. プロジェクトファイルのダウンロード ✤ URL ∼ からダウンロードして解凍! ✤ 解凍日本語が入っていないフォルダの場所においてください
  47. 47. とりあえず遊んでみよう メニューから
 File → Open Project… を選択 HungryCatを選択して
 Open Project をクリック
  48. 48. プロジェクトが開いた
  49. 49. 完成番のシーンを開く プロジェクトビューで
 Game-Compをダブルクリック
  50. 50. Maximize on Play (プレイ時に最大化) Maximize on Play (プレイ時に最大化)を有効化しておく
  51. 51. プレイ! ① マウスで左クリックして引っ張る! ② 離すとネコが飛び出す
  52. 52. 柱や的に命中すると得点を獲得
 全部のネズミを倒したらゲームクリア
  53. 53. ゲームクリア!
  54. 54. 自分で作ってみる! プロジェクトビューで
 Gameをダブルクリック
  55. 55. 何も配置されていないシーンが表示された
  56. 56. このプロジェクトの使い方1 この2つ(中身も)は変更しない
  57. 57. このプロジェクトの使い方2 ゲームに使う部品(プレハブ)
  58. 58. このプロジェクトの使い方3 スクリプト(プログラム)
 後で中身を記述して使います
  59. 59. このプロジェクトの使い方4 音声ファイル
 (効果音に使います)
  60. 60. 猫シューターを配置しよう! Cat Shooter プレハブを
 ドラッグして配置 プレハブ 
 = ゲーム内で使うものを再利用できるようにまとめたもの
  61. 61. 猫シューターが配置できた! プレイすると猫が飛ばせます
 (倒す敵がいないけど、、、) プレイをもう一度クリックして
 止めましょう(ボタンが灰色になるのを確認)
  62. 62. 木(障害物)を置いてみる Tree プレハブを
 ドラッグして配置
  63. 63. 移動や回転をさせてステージを作る 青い丸4つで囲まれた
 枠の中をクリックすると移動します 青い丸のカドの少し外側をクリックすると
 回転します(カーソルが変化)
  64. 64. ステージ完成! プレイして動作確認してみよう
  65. 65. 柱を壊すと得点が!
  66. 66. 敵キャラクターを配置する Mouse プレハブを
 ドラッグして配置
  67. 67. Mouseプレハブ インスペクターを見てみる Mouse Behaviorコンポーネント! このコンポーネント(スクリプト)に
 猫があたった時の
 処理を記述して行きます。
  68. 68. プロジェクトビューで
 Mouse Behaviorをダブルクリック エディタが起動
  69. 69. スクリプト(プログラム) ✤ ゲーム内での様々な処理はスクリプトを記述することで実現できます! ✤ 得点、ダメージ、音を鳴らす、猫を打ち出す、etc…! ✤ 今日は猫がネズミにあたった時の処理を記述します! ✤ UnityではC#, Javascript, Boo(Python) から言語を選んで使えます! ✤ この講義ではC#で記述します
  70. 70. スクリプト(プログラム) この部分に処理を書いていきます
  71. 71. 猫があたったら
 ネズミが消えるようにする public void GetDamage(){ ! Destroy (gameObject); ! } なぜここに書くの?
 猫が当たるとGetDamageの中(波括弧が開いて閉じる間)の処理
 が実行されるように、事前にプログラムを組んでいるからです
  72. 72. メソッド スクリプト内では様々な命令を記述することで処理をさせます Destroy (gameObject); ここではDestroyという命令を使っています メソッドと呼びます このような命令のことを
  73. 73. 引数(ひきすう) Destroy (gameObject); メソッドにはその命令を実行するのに必要なモノや情報が
 渡される場合があります(渡されない場合もあります) 引数と呼びます! このようなものを 
 引数は(丸括弧)の間に書きます! 複数ある場合は ,(カンマ)で区切って記述します
  74. 74. Destroyメソッド Destroy (gameObject); 破棄する命令です Destroyメソッドは引数で受け取ったものを ここで渡している gameObject は
 このスクリプトが付いているゲーム内のオブジェクトを指し示しています
  75. 75. 最後にある ; は何? Destroy (gameObject); ; 最後にある (セミコロン)は一つの命令の終わりを表す区切りです
  76. 76. スクリプトの保存 スクリプトを書いたら忘れずに保存しましょう! Ctrl + s (Ctrlキーを押しながらsを押す)で保存できます 未保存 保存済み
  77. 77. Unityにもどる 右下に丸いインジケーターが回っているときは
 コンパイル(プログラムの解析)を行っているので
 少し待ちましょう
  78. 78. プログラムが間違えているとき プログラムを間違えると(文法間違えなど)
 左下に赤い字で間違いが指摘されます メッセージを読んでプログラムを修正しましょう
  79. 79. プレイしてみましょう! 猫がネズミに当たると消えた?
  80. 80. ネズミを倒すと得点画面
  81. 81. 敵を倒したらポイントを獲得しよう! public void GetDamage(){ ! Destroy (gameObject); Pointメソッドに100を引数として渡す! ! } Point (100); (*Pointメソッドはすでに提供してあります)
  82. 82. プレイしてみましょう! 猫がネズミに当たると得点獲得!
  83. 83. 敵を倒したら音を鳴らそう! public class MouseBehavior: MonoBehaviour { ! public AudioClip destroySound; ! public void GetDamage(){ ! Destroy (gameObject); Point (100); ! } 鳴らす音を持っておく 変数を作成
  84. 84. 変数(へんすう) public AudioClip destroySound; プログラム中で値や参照などを保持する
 名前のついた箱のようなもの destroySound 型が設定される 変数には 型によって変数に入れることができるものの種類が限定される
  85. 85. 変数(へんすう) public AudioClip 公開範囲 型 destroySound; 変数名 公開範囲はここでは難しいので詳しい説明を省略しますが
 変数にpublicとつけておくと
 Unityのインスペクターで値を設定できる
 ようになります
  86. 86. インスペクターを確認 Mouseを選択 作成した変数が表示された
  87. 87. 音声ファイルを変数に設定 Destroy (音声ファイル)を
 ドラッグして設定
  88. 88. 音を鳴らすメソッドを記述 public AudioClip destroySound; ! public void GetDamage(){ ! ! } AudioSource.PlayClipAtPoint(destroySound, Vector3.zero); Destroy (gameObject); Point (100); AudioSource が持っている PlayClipAtPoint というメソッドに
 鳴らしたい音が入っている destroySound 変数と
 Vector3.zero (3次元空間の原点を表す値)を
 引数として渡す 難しいので今はなんとなくで、、、
  89. 89. プレイしてみましょう! ネズミを倒すと音がなる!
  90. 90. 大きいネズミをおいてみる BigMouseにもDestroy音声を設定 大きいネズミは2回当たらないと
 たおせないようにしたい!
  91. 91. ネズミに体力をもたせよう! public class MouseBehavior: MonoBehaviour { ! public AudioClip destroySound; ! public int vital = 1; ! public void GetDamage(){ 体力を持っておくための変数を作成
 (初期の値を1にしておく)
  92. 92. 変数への値の代入(だいにゅう) 1 vital = 1; vital 変数に値を入れることを代入するという
 スクリプト中の = は
 右側の値を左側に代入することを表す
  93. 93. あたったら1減らす ! ! public void GetDamage(){ vital = vital - 1; ! ! } AudioSource.PlayClipAtPoint(destroySound, Vector3.zero); Destroy (gameObject); Point (100);
  94. 94. 変数から1減らすとは? vital = vital - 1; 1-1→0 1 vital 0 vital 取り出して 1 を引いて また 入れる
  95. 95. 条件分岐 条件を満たしているか満たしていないかで
 処理をわける vitalの値が 0 より大きければ → 死なない vitalの値が 0 以下ならば → 死ぬ
  96. 96. if 文による条件分岐 public void GetDamage(){ vital = vital - 1; ! if(vital <= 0){ ! } } AudioSource.PlayClipAtPoint(destroySound, Vector3.zero); Destroy (gameObject); Point (100);
  97. 97. if 文による条件分岐 if(vital <= 0) { 
   //条件を満たすとこの部分に書いてある処理が実行される
 } vitalの値が 0より小さいか0の時、
 波括弧で囲まれた部分の処理を実行する 左辺と右辺をくらべて <= 小さいか同じ >= 大きいか同じ > 大きい < 小さい == 同じ != 違う
  98. 98. BigMouse の vital を2に設定 2に設定 Mouseのvitalは1になっていることを確認しておきましょう
  99. 99. BigMouse の得点を多くしたい! public class MouseBehavior: MonoBehaviour { ! public AudioClip destroySound; ! public int vital = 1; 得点を持っておく変数を作成 public int point = 100; ! ! ! public void GetDamage(){ vital = vital - 1; if(vital <= 0){ AudioSource.PlayClipAtPoint(destroySound, Vector3.zero); Destroy (gameObject); Point ( } } point ); 変数の値で得点を追加
  100. 100. pointの値が設定できるようになった Point の値を 1000に設定
  101. 101. 動作確認! 大きいネズミを倒したら1000ポイント!
  102. 102. 倒せなかった時の処理 倒せなかった時にも得点を獲得したり音を鳴らしたりしたい! if(vital <= 0){ ! AudioSource.PlayClipAtPoint(destroySound, Vector3.zero); Destroy (gameObject); Point (point); else { Point (point / 10); } } 倒せなくても当たったら
 10分の1のポイントを獲得 elseの内部には if の条件が成り立たなかった時に
 実行する処理を記述する
  103. 103. ! public AudioClip destroySound; public AudioClip crashSound; ! ! ! ! public int vital = 1; public int point = 100; 音を持っておく変数 public void GetDamage(){ vital = vital - 1; if(vital <= 0){ } } } AudioSource.PlayClipAtPoint(destroySound, Vector3.zero); Destroy (gameObject); Point (point); else { Point (point / 10); 音の再生 AudioSource.PlayClipAtPoint(crashSound, Vector3.zero);
  104. 104. BigMouseとMouseに音を設定 音を設定
  105. 105. 完成! 自由にステージを作ってみましょう!
  106. 106. 自分で書いた絵を使ってみよう! Photoshopなど背景が透明な絵をかけるソフトであれば何でもいいです http://pixlr.com/editor/ 今日はブラウザ上で絵がかけるサービスを使ってやってみます 「新しい画像を作成」をクリック
  107. 107. 絵を描く 「透明」にチェックしてOKをクリック
  108. 108. 適当に絵を描く
  109. 109. 絵を保存 メニューから ファイル→保存 フォーマットで PNGを選択 OKをクリック
  110. 110. 絵を保存 デスクトップなど分かりやすいところに保存
 (ファイル名はアルファベットで)
  111. 111. ファイルをインポート Unityのプロジェクトビューに
 ファイルをドロップ
  112. 112. ファイルのインポート設定 ② Sprite Mode で Multipleを選択 ③ Sprite Editorをクリック ① 取り込んだファイルを選択
  113. 113. スプライトの設定 使いたい範囲を囲んで Trim をクリック
  114. 114. スプライトの保存 Windowを閉じようとすると
 適用するか聞かれるので
 Applyをクリックして適用
  115. 115. スプライトをシーンに入れて
 位置と大きさを調整
  116. 116. 敵として使うための設定 ① 名前をMyEnemyにする
 ② Tag で Wall を選択 (自由に名づけてよい) ③ Sorting Layer で Character を選択
  117. 117. 必要なコンポーネントを付加 メニューから
 Component → Physics 2D → Box Collider 2D メニューから
 Component → Physics 2D → Rigidbody 2D
  118. 118. 1 Add Componentから
 Enemy Behavior, Mouse Behaviorを追加 音やPoint, Vitalの値を設定
  119. 119. 自作キャラが敵になった!
  120. 120. 作った敵キャラをプレハブにする プレハブにすると再利用できるようになります ドラッグ
  121. 121. あとは自由に!
  122. 122. グローバルゲームジャム 2014
 熊本会場に
 参加しませんか?
  123. 123. https://sites.google.com/site/ggjkumamoto2013/
  124. 124. 質問はこちらまで ✤ 崇城大学情報学部
 和泉助教 の部屋(研究室)! ✤ izumi@cis.sojo-u.ac.jp ! ✤ @shinobu_shiva! ✤ http://www.cis.sojo-u.ac.jp/~izumi mail address

×