Slide 1

Slide 1 text

Unityハンズオン プログラミング初心者がゲームを作るま でやる! by @SJoe221

Slide 2

Slide 2 text

自己紹介 柏木 龍太 Github:https://github.com/RyuDilla Twitter:@SJoe221 Facebook:ryuta.kashiwagi ・3年目のエンジニアです。 ・趣味でUnityを使ってゲームを作ってます。 ・技術的にはUnity(ゲーム)/Webフロント・バックエンド に興味があります。

Slide 3

Slide 3 text

時間割 • 今日やること発表(5分) • 自己紹介(5分) • ゲームづくりハンズオン前半(45分) • 休憩(15分) • ゲームづくりハンズオン後半(45分) • クロージング(5分)

Slide 4

Slide 4 text

詳細な時間割 • 前半45分 - ゲームシーン作成(20分) 13:10~13:30 - 画面遷移とUI (20分) 13:30~13:50 • 後半45分 - スコアマネージャーの実装 (20分) 14:00~14:20 - サウンドマネージャーの実装(10分) 14:20~14:30 - ランキング機能の実装 (15分) 14:30~14:45

Slide 5

Slide 5 text

今日やること コリントゲームを作る! こんな感じのゲームを作ります。 主な機能 ・プレイヤーの入力受付 ・基本的なUI ・サウンド再生機能 ・スコア管理機能 ・オンラインランキング機能 サンプルゲームのURL https://unityroom.com/games/simple_corinth_game

Slide 6

Slide 6 text

今日やらないこと ・C#の基本的な文法(ゲームを作りきることが 目的だから) ・アニメーションの制御 ・ゲームの面白さ論を考える https://www.amazon.co.jp/exec/obidos/ASIN/4844366084/maple61801-22/ UnityではじめるC#

Slide 7

Slide 7 text

なぜコリントゲームなのか? ゲームメカニクス(ゲームの面白さの核とな る部分)を作るのが簡単なので、ゲームを 作る上で基本となる機能の実装に集中でき るから。 「ハードルは低ければ低いほど良い。」by 梅原大吾

Slide 8

Slide 8 text

準備 • Unityのインストール [バージョン3.12] • 配布アセットのダウンロード [githubのurl.........................]

Slide 9

Slide 9 text

Stage1 ゲームメカニクス ~ゲームの仕掛けをつくる~

Slide 10

Slide 10 text

Unityエディターについて ヒエラルキー シーンビュー プロジェクト インスペクター

Slide 11

Slide 11 text

Unityエディターについて ヒエラルキー シーンビュー プロジェクト インスペクター

Slide 12

Slide 12 text

コンポーネントについて オブジェクト C#スクリプト 物理演算 位置情報 コンポーネント(部品) ・入力を受け付ける(スクリプト) ・重力を受ける(物理演算) ・移動・回転できる(位置情報)

Slide 13

Slide 13 text

Transformについて ・Position:x軸 y軸 z軸で表される座標 ・Rotation:x軸 y軸 z軸に対してどれだけ 傾いているかを示す ・Scale:x軸 y軸 z軸方向に対してどれだ け大きいかを示す

Slide 14

Slide 14 text

Stage1 ゲームメカニクス ステージとボールを用意

Slide 15

Slide 15 text

Stage1 ゲームメカニクス ステージを傾けます! お待ちかねのC#によるコーディングです。

Slide 16

Slide 16 text

Stage1 ゲームメカニクス using System.Collections; using System.Collections.Generic; using UnityEngine; public class StageController : MonoBehaviour { // Start is called before the first frame update void Start() { } // Update is called once per frame void Update() { } } ゲームシーンが表示されてから最初に実行される処理 毎フレーム実行される処理 StageController.cs

Slide 17

Slide 17 text

Stage1 ゲームメカニクス using System.Collections; using System.Collections.Generic; using UnityEngine; public class StageController : MonoBehaviour { // Start is called before the first frame update void Start() { } // Update is called once per frame void Update() { // プレイヤーの入力を取得して、変数に保持 float inputHorizontal = Input.GetAxis("Horizontal"); float inputVertical = Input.GetAxis("Vertical"); // プレイヤーの入力値をもとに、オブジェクトの角度を変更 transform.Rotate(new Vector3(0f, 0f, (inputHorizontal * -1.0f))); transform.Rotate(new Vector3(inputVertical, 0f, 0f)); } } StageController.cs

Slide 18

Slide 18 text

Stage1 ゲームメカニクス • ゴール判定の実装 コライダー(あたり判定) コライダー(あたり判定)

Slide 19

Slide 19 text

Stage1 ゲームメカニクス • ゴール判定の実装 コライダー(あたり判定) コライダー(あたり判定) 衝突

Slide 20

Slide 20 text

≒コリントゲーム完成!! では、残りの細かい部分を作りこ んでいきましょう!! ゲームメカニクス完成!

Slide 21

Slide 21 text

Stage2 シーンとUI ~画面遷移とユーザーインターフェース~

Slide 22

Slide 22 text

Stage2 UIとシーン Scene スタートシーン ゲームシーン ゲームオーバーシーン リザルトシーン

Slide 23

Slide 23 text

Stage2 UIとシーン めんどくさい!!

Slide 24

Slide 24 text

Stage2 UIとシーン Scene スタートシーン ゲームシーン ゲームオーバーシーン リザルトシーン シーンコントローラー

Slide 25

Slide 25 text

Stage3 スコアマネージャー ~プレイ時間とポイントの管理~

Slide 26

Slide 26 text

Stage3 スコアマネージャー Scene 敵を倒す コインゲット コイン盗まれる スコアが変更されるきっかけ

Slide 27

Slide 27 text

Stage3 スコアマネージャー Scene 敵を倒す コインゲット コイン盗まれる スコアが変更されるきっかけ スコアを入れる箱A スコアを入れる箱B

Slide 28

Slide 28 text

Stage3 スコアマネージャー わかりづらい!!

Slide 29

Slide 29 text

Stage3 スコアマネージャー Scene 敵を倒す コインゲット コイン盗まれる スコアが変更されるきっかけ スコアマネージャー

Slide 30

Slide 30 text

Stage3 スコアマネージャー するどい方むけのお話

Slide 31

Slide 31 text

Stage3 スコアマネージャー シングルトンクラス スコアマネージャーA スコアマネージャーB

Slide 32

Slide 32 text

Stage3 スコアマネージャー シングルトンクラスについて スコアマネージャーA スコアマネージャーB シングルトン

Slide 33

Slide 33 text

Stage4 サウンドマネージャー ~BGM・SEの再生~

Slide 34

Slide 34 text

Stage4 サウンドマネージャー サウンドマネージャーはスコアマネージャーの兄 スコアマネージャー サウンドマネージャー シングルトン シングルトン

Slide 35

Slide 35 text

Stage4 サウンドマネージャー サウンドマネージャーはスコアマネージャーの兄 スコアマネージャー サウンド マネージャーC シングルトン シングルトン スコアマネージャーB サウンドマネージャー

Slide 36

Slide 36 text

参考資料まとめ ・【Unity、WebGL】なるべく簡単にオンラインランキング機能をつ けるサンプル https://blog.naichilab.com/entry/webgl-simple-ranking ・NCMBバックエンド https://mbaas.nifcloud.com/doc/current/introduction/quickst art_unity.html ・今回のハンズオンで作ったゲームのソースコード http:// https://github.com/RyuDilla/corinth_game ・グーグルフォント https://fonts.google.com/

Slide 37

Slide 37 text

おわりに

Slide 38

Slide 38 text

今回のハンズオンにご参加いただき ありがとうございました