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