Top Banner
UNITY & AR ~SPRING~ UNIVERSITY OF NAGASAKI SAYA KATAFUCHI 1
89

20140508 在校生向けUnity&AR講座

May 31, 2015

Download

Software

Saya Katafuchi

20140508に行った在校生向けUnity&AR講座のスライド
コード量少なめ、簡単な画面作成まで
画面サイズに合わせてあれこれできるコードを追加したかったけど、難しそうなのと時間制限の為カット。
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 20140508 在校生向けUnity&AR講座

UNITY& AR

~SPRING~UNIVERSITY OF NAGASAKI

SAYA KATAFUCHI

1

Page 2: 20140508 在校生向けUnity&AR講座

INDEX-FIRST SESSION WHO AM I?

Unity をインストールしよう Unity ってなに? 開発環境の比較 Unity で作られた作品 ( ゲーム ) Unity で作られた作品 ( 映像 )

実際にプロジェクトを作ってみよう Unity の画面に慣れよう

画面が切り替わるアプリを作ってみよう なめなび ( 仮 ) 概要 画面遷移図 下準備

2

Page 3: 20140508 在校生向けUnity&AR講座

INDEX-FIRST SESSION ボタンを表示させてみよう メニュー画面をつくろう

メニューのシーンを保存する 背景色を変更する タイトルを表示する ボタンを並べていく

ボタンイベントを登録する 滑石ぷらぷら情報へ

新しいシーンを追加する 画像を表示する ボタンイベントを登録する

滑石の風景を見る 今日のまとめ LINKS

3

Page 4: 20140508 在校生向けUnity&AR講座

INDEX-FIRST SESSION WHO AM I?

Unity をインストールしよう Unity ってなに? 開発環境の比較 Unity で作られた作品 ( ゲーム ) Unity で作られた作品 ( 映像 )

実際にプロジェクトを作ってみよう Unity の画面に慣れよう

画面が切り替わるアプリを作ってみよう なめなび ( 仮 ) 概要 画面遷移図 下準備

4

Page 5: 20140508 在校生向けUnity&AR講座

WHO AM I ?

片渕 小夜(かたふち さや) 21 歳

4 年生 吉村ゼミ所属

人工知能の研究をしています 趣味で AR アプリ作ります AR 使って 2 次元キャラクターとわいわいしてたら

なんか iPad 貰いました

これからなかよくしてね!

5

Page 6: 20140508 在校生向けUnity&AR講座

ボスからおおいにいぢめてくださいとの指令が下ったので… 6

Page 7: 20140508 在校生向けUnity&AR講座

ビシバシいこうと思います!

7

Page 8: 20140508 在校生向けUnity&AR講座

というのは冗談で・・・

8

Page 9: 20140508 在校生向けUnity&AR講座

わからないことがあったらどんなに些細な事でも聞いてね!

9

Page 10: 20140508 在校生向けUnity&AR講座

INDEX-FIRST SESSION WHO AM I?

Unity をインストールしよう Unity ってなに? 開発環境の比較 Unity で作られた作品 ( ゲーム ) Unity で作られた作品 ( 映像 )

実際にプロジェクトを作ってみよう Unity の画面に慣れよう

画面が切り替わるアプリを作ってみよう なめなび ( 仮 ) 概要 画面遷移図 下準備

10

Page 11: 20140508 在校生向けUnity&AR講座

UNITY をインストールしようUnity3D の公式ホームページからダウンロードできます!

2014 年 4 月 30 日現在の公式 Web サイト

ここからダウンロード!

11

Page 12: 20140508 在校生向けUnity&AR講座

UNITY って何? 基本無料で使える 3D ゲーム制作ソフト

iPhone,iPad,Android などのスマートフォン端末向けのアプリが作れる! (iOS 端末は別途 Developer プログラムへの加入が必要 )

ゲームだけでなく、映像作品なんかも作れます

3 D モデルを使ったゲームやアプリをつくるなら断然 Unity でしょ!

12

Page 13: 20140508 在校生向けUnity&AR講座

開発環境の比較UNITY

画面上ですぐに動作確認ができる

3D モデルの扱いが簡単

JavaScript,C# など比較的使いやすいプログラミング言語を使うことができる

機能によっては Pro 版(13 万円 ) を要求される…

ANDROID(JAVA)

IOS(OBJECTIVE-C) 30 億のデバイスで走る

Java( 笑 )

Objective-C とかいう意味不明言語

推奨されている開発環境が使いにくい

3D モデルを表示させるだけでたくさんコードを書かなければいけない( つらい )

開発環境は無料でフル機能が使える

13

Page 14: 20140508 在校生向けUnity&AR講座

30 億のデバイスで走る Java の裏ではたくさんのプログラマが闇を見ている

14

Page 15: 20140508 在校生向けUnity&AR講座

UNITY で作られた作品( ゲーム )

iOS 端末向けアプリ

『ドラゴンクエストⅧ 空と海と大地と呪われし姫君』

15

Page 16: 20140508 在校生向けUnity&AR講座

UNITY で作られた作品( 映像 )

16

Page 17: 20140508 在校生向けUnity&AR講座

INDEX-FIRST SESSION WHO AM I?

Unity をインストールしよう Unity ってなに? 開発環境の比較 Unity で作られた作品 ( ゲーム ) Unity で作られた作品 ( 映像 )

実際にプロジェクトを作ってみよう Unity の画面に慣れよう

画面が切り替わるアプリを作ってみよう なめなび ( 仮 ) 概要 画面遷移図 下準備

17

Page 18: 20140508 在校生向けUnity&AR講座

実際にプロジェクトを作ってみよう

クリック

18

Page 19: 20140508 在校生向けUnity&AR講座

実際にプロジェクトを作ってみよう

クリック

19

Page 20: 20140508 在校生向けUnity&AR講座

実際にプロジェクトを作ってみよう

新規フォルダを作成→ 選択

20

Page 21: 20140508 在校生向けUnity&AR講座

実際にプロジェクトを作ってみよう

指定したとおりになっている事を確認したら・・・

Create をクリック

21

Page 22: 20140508 在校生向けUnity&AR講座

UNITY の画面に慣れようー WELCOME 画面

Unity の使い方のビデオチュートリアルを

見ることができる

Unity に関するマニュアルや,質問をする

フォーラムなどの案内

アセットストアへアクセス

22

Page 23: 20140508 在校生向けUnity&AR講座

(補足 )アセットストアとはアセットストアは 3D モデル プログラム モーション サウンド・エフェクト, BGM

などのソフトウェア開発に必要な素材を有料で手に入れることのできる市場のこと (一部無料 )

ゲームは作れないけどモデルは作れる,モデルは作れないけどプログラムは書けるという人のお小遣い稼ぎの場にもなっています

23

Page 24: 20140508 在校生向けUnity&AR講座

UNITY の画面に慣れようー MAIN 画面

Scene ビューここで 3D モデルの位置調整や回転を行うことができる

24

Page 25: 20140508 在校生向けUnity&AR講座

UNITY の画面に慣れようー MAIN 画面

Hierarchy タブ:Scene ビューに存在する 3D モデルやカメラなどのオブジェクトを確認することができる

25

Page 26: 20140508 在校生向けUnity&AR講座

UNITY の画面に慣れようー MAIN 画面

Project タブ:このプロジェクトに追加したすべてのファイル(3D モデル,モーションデータ,スクリプト… )を確認することができる

26

Page 27: 20140508 在校生向けUnity&AR講座

UNITY の画面に慣れようー MAIN 画面

Project タブ:このプロジェクトに追加したすべてのファイル(3D モデル,モーションデータ,スクリプト… )を確認することができる

27

Page 28: 20140508 在校生向けUnity&AR講座

UNITY の画面に慣れようー MAIN 画面

Console タブ:プロジェクトを Run( デバッグ ) した時に警告やエラーが表示される.C/C++ でいう printf のような標準出力結果もここに表示される

28

Page 29: 20140508 在校生向けUnity&AR講座

UNITY の画面に慣れようー MAIN 画面

Inspector タブ:3D モデルやカメラなどのオブジェクトの細かい設定を行うことができる.このタブはかなり重要になるのでいつでも開いておく

29

Page 30: 20140508 在校生向けUnity&AR講座

UNITY の画面に慣れようー MAIN 画面

主に 左のデバッグボタン 真ん中の一時停止ボタンを使います

30

Page 31: 20140508 在校生向けUnity&AR講座

INDEX-FIRST SESSION WHO AM I?

Unity をインストールしよう Unity ってなに? 開発環境の比較 Unity で作られた作品 ( ゲーム ) Unity で作られた作品 ( 映像 )

実際にプロジェクトを作ってみよう Unity の画面に慣れよう

画面が切り替わるアプリを作ってみよう なめなび ( 仮 ) 概要 画面遷移図 下準備

31

Page 32: 20140508 在校生向けUnity&AR講座

INDEX-FIRST SESSION ボタンを表示させてみよう メニュー画面をつくろう

メニューのシーンを保存する 背景色を変更する タイトルを表示する ボタンを並べていく

ボタンイベントを登録する 滑石ぷらぷら情報へ

新しいシーンを追加する 画像を表示する ボタンイベントを登録する

滑石の風景を見る 今日のまとめ LINKS

32

Page 33: 20140508 在校生向けUnity&AR講座

画面が切り替わるアプリを作ってみよう

今回は長崎県長崎市滑石町を紹介する AR アプリを作ってみます!

なめし

33

Page 34: 20140508 在校生向けUnity&AR講座

なめなび ( 仮 ) 概要 滑石にあるお店を紹介する 滑石の風景を撮影した動画を見ることができる 滑石ぷらぷら地図と連動して AR コンテンツを提供

する 滑石ぷらぷら情報 (Facebook ページ ) へのリンク

を貼る

滑石のいいところをたくさん紹介するアプリにしよう!

34

Page 35: 20140508 在校生向けUnity&AR講座

画面遷移図

メイン画面のイメージ

4 つの画面に移動できるようなメニュー画面を作る

<今流行りのフラットデザイン風です…フフフ

Twitter アイコンをタップしたら製作者のアカウントにつながる (余力があれば )

35

Page 36: 20140508 在校生向けUnity&AR講座

画面遷移図

『お店の情報を見る』ボタンの移動先

Google Maps を埋め込み,予めお店の場所にピンを表示しておく

ピンをタップすると,お店の名前が表示される

36

Page 37: 20140508 在校生向けUnity&AR講座

画面遷移図

『滑石の風景を見る』ボタンの移動先

Youtube の動画へのリンクを貼る→タップするとブラウザが起動して動画を見ることができる

37

Page 38: 20140508 在校生向けUnity&AR講座

画面遷移図

『滑石ぷらぷら情報へ』ボタンの移動先

『滑石ぷらぷら情報』のFacebook ページを開く

38

Page 39: 20140508 在校生向けUnity&AR講座

下準備

39

File->Build Settingをクリック

Page 40: 20140508 在校生向けUnity&AR講座

下準備

40

持っている方の端末を選んで

クリック

Page 41: 20140508 在校生向けUnity&AR講座

下準備

41

アスペクト比が変更できるようになる!

Page 42: 20140508 在校生向けUnity&AR講座

下準備

42

iPhone5(縦 ) だとこんなかんじ

Page 43: 20140508 在校生向けUnity&AR講座

ボタンを表示させてみよう

Assets フォルダの中で右クリック

新しいフォルダを作る

43

Page 44: 20140508 在校生向けUnity&AR講座

ボタンを表示させてみよう

『 Scripts 』という名前にする

プログラムはすべてこのフォルダの中に入れます. 44

Page 45: 20140508 在校生向けUnity&AR講座

ボタンを表示させてみよう

Scripts フォルダの中に入ったら,なにも無いと

ころで右クリック

Create->Javascript をクリック

45

Page 46: 20140508 在校生向けUnity&AR講座

ボタンを表示させてみよう

『Menu 』という名前をつける

この Menu ファイルを編集して最初の画面を作っていきます

46

Page 47: 20140508 在校生向けUnity&AR講座

ボタンを表示させてみよう

47

Page 48: 20140508 在校生向けUnity&AR講座

ボタンを表示させてみよう( プログラム解説 ) Start 関数

このプログラムファイルが呼びだされた時に実行される関数.この関数を使って変数の初期化を行ったり,アプリの使い方などを説明するポップアップを表示させたりする

Update 関数

1 フレームごとに呼び出される関数で,何かの処理を連続的に行いたいときに使用する(cf. オブジェクトを 1ずつ移動させたい,回転させたい )

#pragma strict

このプログラムを静的型判定モードにする.静的型判定モードとは,変数を定義するときにしっかり型宣言をしてあげないとプログラムが動かないようにするモードのこと.通常 JavaScript では『 var 』で変数を宣言しておけば整数でも浮動小数点数でも文字でも使える変数を定義できる ( 動的型付けという ) が,型を解析する分だけプログラムの処理が重くなる.

48

Page 49: 20140508 在校生向けUnity&AR講座

ボタンを表示させてみようUpdate 関数の下に

function OnGUI(){

if (GUI.Button(Rect(10,10,200,20),“ おしてね” )) Debug.Log(“ おされた ");

}

というプログラムを追加する

49

Page 50: 20140508 在校生向けUnity&AR講座

50

Page 51: 20140508 在校生向けUnity&AR講座

ボタンを表示させてみよう

GameObject->Create Empty

を選択

51

Page 52: 20140508 在校生向けUnity&AR講座

ボタンを表示させてみよう

『Menu 』という名前に変えておく

52

Page 53: 20140508 在校生向けUnity&AR講座

ボタンを表示させてみよう

53

ドラッグスクリプトが追加される

Page 54: 20140508 在校生向けUnity&AR講座

ボタンを表示させてみよう

54

クリック

Page 55: 20140508 在校生向けUnity&AR講座

ボタンを表示させてみよう

55

ボタンが出てきた!

ボタンを押したら表示されれば OK

Page 56: 20140508 在校生向けUnity&AR講座

ボタンを表示させてみよう( プログラムの解説 ) OnGUI 関数

GUI に関係するクラスを使用できる.この関数内以外でGUI.Button() を呼び出しても動きません

GUI.Button(Position:Rect,Text:String)

ボタンを表示させる関数 .Position でボタンを表示させる位置を決める. Text でボタンに表示させる文字列を指定.

Rect(left: float, top: float, width: float, height: float)

四角形の座標を決めるクラス.

56

Page 57: 20140508 在校生向けUnity&AR講座

メニュー画面を作ろう

57

GUI.Label()

GUI.Button()

Page 58: 20140508 在校生向けUnity&AR講座

メニューのシーンを保存する

58

File->SaveSceneをクリック

Page 59: 20140508 在校生向けUnity&AR講座

メニューのシーンを保存する

59

『Menu 』で保存

Page 60: 20140508 在校生向けUnity&AR講座

メニューのシーンを保存する

60

Menu シーンができた!

Page 61: 20140508 在校生向けUnity&AR講座

背景色を変更する

61

MainCamera をクリック

Background を変更していく

Page 62: 20140508 在校生向けUnity&AR講座

背景色を変更する

62

数値を変更する

Page 63: 20140508 在校生向けUnity&AR講座

背景色を変更する

63

背景色が変わった!

Page 64: 20140508 在校生向けUnity&AR講座

タイトルを表示するvar myStyle : GUIStyle = new GUIStyle();

myStyle.normal.textColor = Color.white;

myStyle.fontSize = 50;

GUI.Label(Rect(Screen.width-240, 10, Screen.width, 200), " なめなび ", myStyle);

64

Page 65: 20140508 在校生向けUnity&AR講座

タイトルを表示する

65

タイトルが表示できた!

Page 66: 20140508 在校生向けUnity&AR講座

ボタンを並べていくGUI.backgroundColor = Color.yellow;

GUI.Button(Rect(Screen.width-240,100,200,70), " お店の情報を見る ");

GUI.Button(Rect(Screen.width-240,200,200,70), " なめしの風景を見る” );

GUI.Button(Rect(Screen.width-240,300,200,70), " 滑石ぷらぷら地図 AR");

GUI.Button(Rect(Screen.width-240,400,200,70), " 滑石ぷらぷら情報へ ");

66

Page 67: 20140508 在校生向けUnity&AR講座

ボタンを並べていく

67

ボタンが表示できた!

Page 68: 20140508 在校生向けUnity&AR講座

ボタンイベントを登録するー滑石ぷらぷら情報へif(GUI.Button(Rect(Screen.width-240,400,200,70), " 滑石ぷらぷら情報へ ")){

Application.OpenURL("https://www.facebook.com/pages/%E6%BB%91%E7%9F%B3%E3%81%B7%E3%82%89%E3%81%B7%E3%82%89%E6%83%85%E5%A0%B1/417710838312785");

}

※URL は実際に FaceBook の滑石ぷらぷら情報のページを開いてコピー&ペーストする

68

Page 69: 20140508 在校生向けUnity&AR講座

ボタンイベントを登録するー滑石ぷらぷら情報へ(プログラムの解説)

Application.OpenURL(“URL");

引数に指定した URL のページを開く.

なお,Web ページを開くときは端末標準搭載のブラウザを起動する.

Android→ブラウザ

iOS→Safari

69

Page 70: 20140508 在校生向けUnity&AR講座

ボタンイベントを登録するー滑石ぷらぷら情報へ

70

ボタンを押すとページが開く

Page 71: 20140508 在校生向けUnity&AR講座

新しいシーンを追加する

71

File->New Sceneをクリック

Page 72: 20140508 在校生向けUnity&AR講座

新しいシーンを追加する

72

空の GameObject を追加して,『 view 』と名前を変更

背景色も変えておく

Page 73: 20140508 在校生向けUnity&AR講座

新しいシーンを追加する

73

View.js を追加

Page 74: 20140508 在校生向けUnity&AR講座

新しいシーンを追加するー練習

74

GUI.LabelGUI.LabelGUI.Button

Page 75: 20140508 在校生向けUnity&AR講座

Youtube の動画の URL は

https://www.youtube.com/watch?v=Wjca-QH_rhQ

です.

75

Page 76: 20140508 在校生向けUnity&AR講座

新しいシーンを追加する(解答 )var titleStyle : GUIStyle = new GUIStyle();   /*タイトルのスタイル */

titleStyle.normal.textColor = Color.white;

titleStyle.fontSize = 50;

var myStyle : GUIStyle = new GUIStyle(); /* 本文のラベルのスタイル */

myStyle.normal.textColor = Color.white;

myStyle.fontSize = 20;

GUI.backgroundColor = Color.blue; /* ボタンの背景色 */

GUI.Label(Rect(Screen.width-240, 10, Screen.width, 200), " なめなび ", titleStyle);

GUI.Label(Rect(Screen.width-240, 100, Screen.width, 200), "2013 滑石くんち 龍踊り ", myStyle);

if(GUI.Button(Rect(Screen.width-240,300,200,70), "Youtube で動画を見る ")){

Application.OpenURL("https://www.youtube.com/watch?v=Wjca-QH_rhQ");

}

GUI.Label(Rect(Screen.width-220, 450, Screen.width, 200), " 今後もどんどん \n追加していきます! ", myStyle);

76

Page 77: 20140508 在校生向けUnity&AR講座

画像を表示する

77

GameObject->CreateOther

->GUI.Texture を選択

Page 78: 20140508 在校生向けUnity&AR講座

画像を表示する

78

ロゴが表示された

Page 79: 20140508 在校生向けUnity&AR講座

画像を表示する

79

任意の画像を追加

Page 80: 20140508 在校生向けUnity&AR講座

画像を表示する

80

名前を変更する

Texture を追加した画像に変えて,数値を調

整する

※ここでシーンを保存します.名前は viewです.

Page 81: 20140508 在校生向けUnity&AR講座

ボタンイベントを登録する

81

今日はこの2つのイベントを登録します

今日はこの2つのイベントを登録します

Page 82: 20140508 在校生向けUnity&AR講座

ボタンイベントを登録するー滑石の風景を見る

82

作ったシーンを登録する

File->Build Settings

をクリック

Page 83: 20140508 在校生向けUnity&AR講座

ボタンイベントを登録するー滑石の風景を見るMenu.js

if(GUI.Button(Rect(Screen.width-240,200,200,70), " なめしの風景を見る ")){

Application.LoadLevel("view");

}

83

Page 84: 20140508 在校生向けUnity&AR講座

ボタンイベントを登録するー滑石の風景を見る( プログラム解説 )

Application.LoadLevel(“ シーン名 ");

引数にシーン名を追加すると,その名前のシーンに移行する

Unity では,画面が移り変わる動作はシーンを変更させることで画面を切り替えているようにみせている

84

Page 85: 20140508 在校生向けUnity&AR講座

INDEX-FIRST SESSION ボタンを表示させてみよう メニュー画面をつくろう

メニューのシーンを保存する 背景色を変更する タイトルを表示する ボタンを並べていく

ボタンイベントを登録する 滑石ぷらぷら情報へ

新しいシーンを追加する 画像を表示する ボタンイベントを登録する

滑石の風景を見る 今日のまとめ LINKS

85

Page 86: 20140508 在校生向けUnity&AR講座

今日のまとめ Unity のインストール 画面構成に慣れる ボタンを表示してみる 画面を切り替えるボタンイベントをつくる ブラウザを起動するボタンイベントをつくる

86

Page 87: 20140508 在校生向けUnity&AR講座

次回 AR 機能をつくる 画面のデザインを画面構成図に近づける スマホ向けにビルドしてみる ( できれば )

87

Page 88: 20140508 在校生向けUnity&AR講座

今日はお疲れ様でした!

88

Page 89: 20140508 在校生向けUnity&AR講座

LINKS Unity3D(Unity の公式 HP)

  http://japan.unity3d.com/

Cacoo( 画面遷移図を作った Web サービス )

  https://cacoo.com/

SlideShare( このスライドはネットでも公開してます! )

  http://www.slideshare.net/yomoyamareiji

Mail( なんかわからないことがあれば )

  [email protected]

Twitter(急ぎでアドバイスがほしい or メールがめんどくさい )

  https://twitter.com/reiji1020

89