124
Unity を使ったゲーム開発を体験しよう 学生のためのUnity勉強会

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

Embed Size (px)

DESCRIPTION

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

Citation preview

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

Unityを使ったゲーム開発を体験しよう学生のためのUnity勉強会

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

自己紹介✤ 和泉 信生 (いずみ しのぶ)!

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

[email protected] !

✤ @shinobu_shiva!

✤ http://www.cis.sojo-u.ac.jp/~izumi

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

とよすすいぞくかんhttp://toyosui.jp/

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

CUBELE+https://itunes.apple.com/jp/app/cubele+/id417145026

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

熊本Apps!熊本からデジタルコンテンツを世界へ

https://www.facebook.com/kumamotoapps

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

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

・学生、社会人、企業が集まり、

・知識・ノウハウを共有しながら、

・世界のユーザーに利用されるモノをリリースしていく、

・「地域コミュニティブランド」

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

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

著書の紹介

http://www.amazon.co.jp/dp/4877832742

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

第1部 Unityを触ってみる中高生のためのUnity勉強会

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

第1部 Unityを触ってみる

✤ 第1部Unityの基本的な使い方や各部分の名称を覚えるために、

Unityを触りながら3D世界を操作してみます

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

http://unity3d.com/

http://unity3d.com/japan/

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

Unityとは?

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

✤ Windows, Mac, ウェブブラウザ で動作するゲームを作成できるiPhone, Android, Xbox 360, PS3もサポート(さらにサポート拡大中)!

✤ ゲーム開発の大衆化を目指し、ヨーロッパを中心に多くのユーザを獲得!

✤ 誰でも無料で使える(プロライセンス限定の機能が少しある)

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

今日の資料

✤ 資料https://drive.google.com/file/d/0By-brejWDbtQeFZoTVJjeTVzRGs/edit?usp=sharing

✤ プロジェクトファイルhttps://drive.google.com/file/d/0By-brejWDbtQaEtjdWdvR2ZkSm8/edit?usp=sharing

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

とりあえず開いてみよう!

c:¥ユーザー¥パブリック¥パブリックのドキュメント¥Unity Projects¥AngryBots¥Assets¥AngryBots.unity

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

起動!

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

プレイしてみよう

w, a, s, d (カーソル)=移動 マウス(プレス) = 視点移動(発砲)

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

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

3Dの作業を行うビュー

ゲーム実行時の画面

シーン中のオブジェクト

プロジェクトのアセット

オブジェクトやアセットの設定

各部名称 メニュー

シーンビュー

ゲームビュー

ヒエラルキービュープロジェクトビュー

インスペクタ

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

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

3Dの作業を行うビュー

ゲーム実行時の画面

シーン中のオブジェクト

プロジェクトのアセット

オブジェクトやアセットの設定

各部名称

メニュー

シーンビュー

ゲームビュー

ヒエラルキービュー

プロジェクトビュー

インスペクタ

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

ギズモシーンビューで見ている向きを表す

クリックするとその方向から見ることが出来る

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

移動ツール (画面左上)

✤ 選択した物体やビューの移動方法を選択

ビュー移動 物体移動 物体回転 物体拡縮{シーンビューの中でクリックすると物体が選択できる

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

プレイツール (画面中央)

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

プレイ 一時停止 ステップ実行

青くなっている状態でゲーム実行中

プレイをもう一度クリックすると停止

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

カメラの移動

✤ Altキーを押しながら!

✤ マウス左ボタン → 回転!

✤ マウス中ボタン → 移動!

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

✤ 何かを選択して f キー → 物体に合わせた位置に移動!

✤ スペースキー → マウスが指している画面をフルスクリーン化

操作に慣れよう!

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

初めてのゲーム作成

✤ 新規プロジェクトの作成✤ メニューから File → New Project... を選択

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

初めてのゲーム作成

✤ プロジェクトを作成する位置を選び、名前をつけてCreate Project✤ (例) C:¥Documents and Settings¥Izumiken¥My DocumenHelloUnity

灰色の部分はそれぞれ異なる

全角文字は使わないで!

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

初期画面WindowsとMacではメニューの位置が少し違う

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

オブジェクトを作る✤ メニューから GameObject → Create Other → Cube を選択

Cubeが作成された

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

オブジェクトを作る✤ メニューから GameObject → Create Other → Plane を選択

Planeが作成された

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

オブジェクトを動かす✤ Cubeを選択 ヒエラルキービューから選択 / シーンビューでクリック

✤ 移動ツールから移動を選択

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

ゲームビューには何も表示されていない

ショートカット q,w,e,r

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

カメラの位置と向きを調節✤ Main Cameraを選択 シーンビューでカメラギズモをクリック / ヒエラルキービューから

✤ 上手くカメラを移動してください

暗い、、、

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

ライトの追加✤ メニューから GameObject → Create Other → Point Light を選択

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

インスペクタ

✤ 選択しているオブジェクトの設定

Point Lightを選択した状態

Color - 色

Intensity - 光の強さ

Range - 光の届く距離

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

試しに赤く強くしてみた

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

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

剛体にしてみよう✤ RigidBody = 剛体 = 重力に作用する物体

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

Rigidbodyが追加された

プレイをクリックすると、、、

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

落ちた?

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

シーンの保存✤ メニューから File → Save Scene を選択

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

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

演習✤ プレイすると球体が3つ地面に落ちて転がっていくゲームを作成してください!

!

✤ Sphereを3つ作成し、Rigidbodyにしてください!

✤ Planeを傾けてください

(ヒント)

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

プロジェクトとシーン✤ プロジェクト

Unityにおけるゲーム開発の単位全ての部品はプロジェクト内に保存する1つのフォルダーとして管理!

✤ シーンゲームの1つのステージやスタートメニューなど

注意!

Unityが扱うファイルをUnityの外で移動しちゃダメ!

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

オブジェクトを作る✤ メニューから GameObject → Create Other → Cube を選択

Cubeが作成された

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

Hierarchy (階層)ビュー

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

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

✤ Cubeやカメラ、ライトなど全てGameObject

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

Inspector(インスペクタ)ビュー

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

✤ 複数のComponentを保持!

✤ 編集可能

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

UnityのGameObject

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

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

GameObject

(基本属性) 名前、レイヤ、タグ等

Transform : 位置、回転、サイズ

MeshRenderer : 描画方法

MeshFilter : 3次元の形状

BoxCollider : 箱型の衝突判定

Transformは全てのGameObjectに必ず存在する

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

Componentの値設定

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

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

!

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

✤ Cubeをシーンビューで移動や回転、拡大するとTransformコンポーネントの値が変化することを確認しよう

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

Cubeを原点に移動

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

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

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

中高生のためのUnity勉強会

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

第2部 Unityで2Dゲームをつくろう!

✤ 第2部ではUnityで2Dゲームを作成しながら基本的な操作や使い方、

簡単なプログラムを書くことで様々な機能が追加できることを知ってもらいます

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

ハングリーキャット

ネコを飛ばしてネズミにぶつけて消すゲーム

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

プロジェクトファイルのダウンロード

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

✤ 解凍日本語が入っていないフォルダの場所においてください

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

とりあえず遊んでみよう

メニューから

File → Open Project… を選択HungryCatを選択して

Open Project をクリック

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

プロジェクトが開いた

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

完成番のシーンを開く

プロジェクトビューでGame-Compをダブルクリック

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

Maximize on Play (プレイ時に最大化)

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

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

プレイ!

① マウスで左クリックして引っ張る!② 離すとネコが飛び出す

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

柱や的に命中すると得点を獲得全部のネズミを倒したらゲームクリア

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

ゲームクリア!

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

自分で作ってみる!

プロジェクトビューでGameをダブルクリック

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

何も配置されていないシーンが表示された

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

このプロジェクトの使い方1この2つ(中身も)は変更しない

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

このプロジェクトの使い方2

ゲームに使う部品(プレハブ)

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

このプロジェクトの使い方3

スクリプト(プログラム)後で中身を記述して使います

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

このプロジェクトの使い方4

音声ファイル(効果音に使います)

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

猫シューターを配置しよう!

Cat Shooter プレハブをドラッグして配置

プレハブ = ゲーム内で使うものを再利用できるようにまとめたもの

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

猫シューターが配置できた!

プレイすると猫が飛ばせます(倒す敵がいないけど、、、)

プレイをもう一度クリックして止めましょう(ボタンが灰色になるのを確認)

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

木(障害物)を置いてみる

Tree プレハブをドラッグして配置

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

移動や回転をさせてステージを作る青い丸4つで囲まれた

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

青い丸のカドの少し外側をクリックすると回転します(カーソルが変化)

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

ステージ完成!プレイして動作確認してみよう

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

柱を壊すと得点が!

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

敵キャラクターを配置する

Mouse プレハブをドラッグして配置

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

Mouseプレハブ

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

猫があたった時の処理を記述して行きます。

インスペクターを見てみる

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

プロジェクトビューでMouse Behaviorをダブルクリック

エディタが起動

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

スクリプト(プログラム)

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

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

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

✤ UnityではC#, Javascript, Boo(Python) から言語を選んで使えます!

✤ この講義ではC#で記述します

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

スクリプト(プログラム)

この部分に処理を書いていきます

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

猫があたったらネズミが消えるようにするpublic void GetDamage(){ !

Destroy (gameObject); !

}

なぜここに書くの?猫が当たるとGetDamageの中(波括弧が開いて閉じる間)の処理が実行されるように、事前にプログラムを組んでいるからです

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

メソッド

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

ここではDestroyという命令を使っています

このような命令のことをメソッドと呼びます

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

引数(ひきすう)

Destroy (gameObject);メソッドにはその命令を実行するのに必要なモノや情報が渡される場合があります(渡されない場合もあります)

このようなものを引数と呼びます!

引数は(丸括弧)の間に書きます!

複数ある場合は ,(カンマ)で区切って記述します

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

Destroyメソッド

Destroy (gameObject);Destroyメソッドは引数で受け取ったものを破棄する命令ですここで渡している gameObject は

このスクリプトが付いているゲーム内のオブジェクトを指し示しています

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

最後にある ; は何?

Destroy (gameObject);

最後にある ; (セミコロン)は一つの命令の終わりを表す区切りです

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

スクリプトの保存スクリプトを書いたら忘れずに保存しましょう!

Ctrl + s (Ctrlキーを押しながらsを押す)で保存できます

未保存 保存済み

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

Unityにもどる

右下に丸いインジケーターが回っているときはコンパイル(プログラムの解析)を行っているので

少し待ちましょう

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

プログラムが間違えているとき

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

左下に赤い字で間違いが指摘されます

メッセージを読んでプログラムを修正しましょう

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

プレイしてみましょう!

猫がネズミに当たると消えた?

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

ネズミを倒すと得点画面

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

敵を倒したらポイントを獲得しよう!

public void GetDamage(){ ! Destroy (gameObject);

Point (100); !}

Pointメソッドに100を引数として渡す!(*Pointメソッドはすでに提供してあります)

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

プレイしてみましょう!

猫がネズミに当たると得点獲得!

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

敵を倒したら音を鳴らそう!

public class MouseBehavior: MonoBehaviour { !

public AudioClip destroySound; ! public void GetDamage(){ ! Destroy (gameObject); Point (100); ! } 鳴らす音を持っておく変数を作成

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

変数(へんすう)

public AudioClip destroySound;

destroySound

プログラム中で値や参照などを保持する名前のついた箱のようなもの

変数には型が設定される

型によって変数に入れることができるものの種類が限定される

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

public AudioClip destroySound;

型 変数名公開範囲

変数(へんすう)

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

変数にpublicとつけておくと

Unityのインスペクターで値を設定できる

ようになります

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

インスペクターを確認

Mouseを選択

作成した変数が表示された

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

音声ファイルを変数に設定

Destroy (音声ファイル)をドラッグして設定

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

音を鳴らすメソッドを記述public AudioClip destroySound; !public void GetDamage(){ ! AudioSource.PlayClipAtPoint(destroySound, Vector3.zero); Destroy (gameObject); Point (100); !}

AudioSource が持っている PlayClipAtPoint というメソッドに鳴らしたい音が入っている destroySound 変数とVector3.zero (3次元空間の原点を表す値)を引数として渡す

難しいので今はなんとなくで、、、

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

プレイしてみましょう!

ネズミを倒すと音がなる!

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

大きいネズミをおいてみる

BigMouseにもDestroy音声を設定

大きいネズミは2回当たらないとたおせないようにしたい!

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

ネズミに体力をもたせよう!

public class MouseBehavior: MonoBehaviour { ! public AudioClip destroySound; !

public int vital = 1; ! public void GetDamage(){

体力を持っておくための変数を作成(初期の値を1にしておく)

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

変数への値の代入(だいにゅう)

vital = 1;

vital

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

スクリプト中の = は

右側の値を左側に代入することを表す

1

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

あたったら1減らす! public void GetDamage(){ !

vital = vital - 1; ! AudioSource.PlayClipAtPoint(destroySound, Vector3.zero); Destroy (gameObject); Point (100); ! }

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

変数から1減らすとは?

vital = vital - 1;

vital

1

取り出して 1 を引いて また 入れる

1 - 1 → 0

vital

0

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

条件分岐

条件を満たしているか満たしていないかで処理をわける

vitalの値が 0 より大きければ → 死なない

vitalの値が 0 以下ならば → 死ぬ

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

if 文による条件分岐

public void GetDamage(){ vital = vital - 1; !

if(vital <= 0){ ! AudioSource.PlayClipAtPoint(destroySound, Vector3.zero); Destroy (gameObject); Point (100);

} }

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

if(vital <= 0) {   //条件を満たすとこの部分に書いてある処理が実行される

}

if 文による条件分岐

vitalの値が 0より小さいか0の時、波括弧で囲まれた部分の処理を実行する <= 小さいか同じ

>= 大きいか同じ> 大きい< 小さい== 同じ!= 違う

左辺と右辺をくらべて

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

BigMouse の vital を2に設定

2に設定Mouseのvitalは1になっていることを確認しておきましょう

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

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 ); } }

得点を持っておく変数を作成

変数の値で得点を追加

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

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

Point の値を 1000に設定

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

動作確認!

大きいネズミを倒したら1000ポイント!

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

倒せなかった時の処理倒せなかった時にも得点を獲得したり音を鳴らしたりしたい!

if(vital <= 0){ ! AudioSource.PlayClipAtPoint(destroySound, Vector3.zero); Destroy (gameObject); Point (point);

} else { Point (point / 10); }elseの内部には if の条件が成り立たなかった時に実行する処理を記述する

倒せなくても当たったら10分の1のポイントを獲得

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

! 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); } }

音を持っておく変数

音の再生

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

BigMouseとMouseに音を設定

音を設定

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

完成! 自由にステージを作ってみましょう!

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

自分で書いた絵を使ってみよう!

http://pixlr.com/editor/

Photoshopなど背景が透明な絵をかけるソフトであれば何でもいいです

今日はブラウザ上で絵がかけるサービスを使ってやってみます

「新しい画像を作成」をクリック

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

絵を描く

「透明」にチェックしてOKをクリック

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

適当に絵を描く

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

絵を保存

メニューから ファイル→保存

フォーマットで PNGを選択

OKをクリック

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

絵を保存

デスクトップなど分かりやすいところに保存(ファイル名はアルファベットで)

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

ファイルをインポート

Unityのプロジェクトビューにファイルをドロップ

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

ファイルのインポート設定

① 取り込んだファイルを選択

② Sprite Mode で Multipleを選択

③ Sprite Editorをクリック

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

スプライトの設定

使いたい範囲を囲んで Trim をクリック

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

スプライトの保存

Windowを閉じようとすると

適用するか聞かれるので

Applyをクリックして適用

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

スプライトをシーンに入れて位置と大きさを調整

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

敵として使うための設定

① 名前をMyEnemyにする(自由に名づけてよい)② Tag で Wall を選択

③ Sorting Layer で Character を選択

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

必要なコンポーネントを付加

メニューから

Component → Physics 2D → Box Collider 2D

メニューから

Component → Physics 2D → Rigidbody 2D

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

Add Componentから

Enemy Behavior, Mouse Behaviorを追加

音やPoint, Vitalの値を設定

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

自作キャラが敵になった!

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

作った敵キャラをプレハブにするプレハブにすると再利用できるようになります

ドラッグ

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

あとは自由に!

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

グローバルゲームジャム2014

熊本会場に参加しませんか?

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

https://sites.google.com/site/ggjkumamoto2013/

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

質問はこちらまで

✤ 崇城大学情報学部和泉助教 の部屋(研究室)!

[email protected] !

✤ @shinobu_shiva!

✤ http://www.cis.sojo-u.ac.jp/~izumi

mail address