狠狠撸
Submit Search
鲍苍颈迟测と痴耻蹿辞谤颈补で始める础搁开発
?
9 likes
?
12,158 views
T
Takashi Yoshinaga
Follow
ももち浜罢贰颁贬カフェ颈苍大分でのハンズオン资料
Read less
Read more
1 of 104
More Related Content
鲍苍颈迟测と痴耻蹿辞谤颈补で始める础搁开発
1.
話題のゲームエンジンUnityで はじめるARコンテンツ開発 2019/06/08
2.
自己紹介 氏名:吉永崇(Takashi Yoshinaga) 所属:九州先端科学技術研究所(ISIT) 専門:AR/VRの活用とモーションキャプチャ コミュニティ:ARコンテンツ作成勉強会 主催
3.
ARコンテンツ作成勉強会の紹介 ? 2013年5月に勉強会をスタート ? ARコンテンツの作り方をハンズオン形式で学ぶ ?
人数は5~10名程度の少人数で実施 ? 参加条件はAR/VRに興味がある人(知識不要) ? 各地で開催 (福岡、熊本、宮崎、長崎、大分、鹿児島、山口、広島、関東)
4.
Twitterと勉強会ページで情報を発信しています #AR_Fukuoka Googleで「AR勉強会」で検索
5.
#ももち浜TECHカフェ または #AR_Oita 今日のハッシュタグ
6.
ここから本题
7.
ARとは(1/2) “Augmented Reality”の略で、日本語で「拡張現実感」 とも呼ばれる。デジタルな情報(CG,音,etc..)を現実空間に 付加する技術全般を指す。特に視覚情報の付加が主流。
8.
ARとは(2/2) そこに存在しない物を、あたかも存在するかのように見せる技術 CG
9.
AR技術の普及 [最近の動向] ? スマートフォンの普及?高性能化によりARが体験可能に ? 販売促進やゲームでのコンテンツが増えて身近な技術に ?
Microsoft, Google, Appleも力を入れ普及が加速 GPSベースのARマーカーベースのAR 各種ツールの登場により体験だけでなく開発も身近に
10.
開発ツール:Unity Unityとは ? マルチプラットフォーム対応のゲームエンジンおよび開発環境 ? GUI上で視覚的にCGを配置したり機能を追加したりできる ?
C#によるプログラミングで細かい挙動も記述可能 ? アセットストアで高品質なCGやアニメーションを入手できる
11.
ARライブラリ:Vuforia Vuforiaとは ? ARコンテンツ作成ライブラリ(Android, iOS,
HoloLens, etc…) ? JavaやC++を用いたネイティブアプリの開発が可能 ? Unity用のライブラリもありノンプログラミングでの開発も可能 ? 開発方法に関するブログも比較的多い ? Unity2017からUnityの機能の一部として取り込まれた
12.
まずは鲍苍颈迟测の基本操作
13.
今回のバージョンはUnity 2018.4.1f1 https://unity3d.com/jp/unity/qa/lts- releases?version=2018.4 マーカー画像 http://yoshinaga.sub.jp/oita_ar/ilovear.jpg
14.
Unityのプロジェクトを作成 (1/2) Unityを起動後、画面右上のNEWをクリック New
15.
Unityのプロジェクトを作成 (2/2) プロジェクト名?保存場所?3Dを指定してCreate project プロジェクト名 保存場所 3D 最後にCreate
Project
16.
Unityの操作画面(概要) ゲーム空間の設計画面
17.
ゲーム空間にCGを追加しよう 右クリック
18.
ゲーム空間にCGを追加しよう ①3D Object ②Cube
19.
実行してみよう クリックして実行 クリックして終了 カメラから見た空間
20.
オブジェクトの位置?向き?サイズを調整 移動 回転 拡大?縮小 クリックして選択
21.
Scene(設計画面)の視点を変えよう [←] [→]で左右移動 [↑][↓]でズームイン/アウト [Alt]+ドラッグで回転 +ドラッグで上下左右
22.
CGの詳細情報の編集:位置の指定 ? オブジェクトの詳細の表示?追加?変更は Inspectorタブ内で行う ? 例えば、TransformのPositionを変更す ると位置が変わる Positionを0
0 0に変更
23.
色の変更:マテリアルの作成 (1/3) マテリアル(色や質感の設定)を作成 ①Assets ②右クリック
24.
色の変更:マテリアルの作成 (2/3) マテリアル(色や質感の設定)を作成 ①Create ②Material
25.
色の変更:マテリアルの作成 (3/3) New Materialができているはず マテリアル(色や質感の設定)を作成
26.
色の変更:マテリアルの適用 (1/2) オブジェクト(Cube)のマテリアルを開く ② Materials横の▼ ①
Cube
27.
色の変更:マテリアルの適用 (2/2) オブジェクト(Cube)のマテリアルを開く MaterialsのElement0 にドラッグ&ドロップ
28.
色の変更:マテリアルの設定 (1/3) Cube
29.
色の変更:マテリアルの設定 (2/3) New Material横の▼ Albedo横の□
30.
色の変更:マテリアルの設定 (3/3) 色がつく
31.
スクリプトの追加 ①Cube ①Add Component
32.
スクリプトの追加 ①New Script ②スクリプト名を付ける (本資料ではTestScript) ③Create and
Add
33.
スクリプトの追加 TestScriptが追加されている
34.
スクリプトの編集 ダブルクリック
35.
スクリプトを使って立方体を回転 public class TestScript
: MonoBehaviour { // 初期化のために初回に一回だけ実行される void Start () { } // 毎フレーム(数10ミリ秒おきに)実行される void Update () { } }
36.
スクリプトを使って立方体を回転 public class TestScript
: MonoBehaviour { // 初期化のために初回に一回だけ実行される void Start () { } // 毎フレーム(数10ミリ秒おきに)実行される void Update () { //毎フレームY軸を中心に0.5度ずつ回転 transform.Rotate(0, 0.5f, 0, Space.Self); } }
37.
动作确认 Ctrl + Sでコードを保存 続いて、Playボタンをクリックして動作を確認 Play
38.
动作确认 Cubeが回転してればOK
39.
次に行く前に Playボタンを再度クリックして動作を停止 再度Playで停止
40.
スクリプトを使って立方体を回転 public class TestScript
: MonoBehaviour { // 初期化のために初回に一回だけ実行される void Start () { } // 毎フレーム(数10ミリ秒おきに)実行される void Update () { if (Input.GetMouseButton (0)) { //毎フレームY軸を中心に0.5度ずつ回転 transform.Rotate(0, 0.5f, 0, Space.Self); } } }
41.
动作确认 マウスのボタン押下時だけ回転してればOK
42.
次に行く前に Playボタンを再度クリックして動作を停止 再度Playで停止
43.
不要なCGの削除 Cubeを削除
44.
Unityを使ったコンテンツ作成のイメージ Scene画面で配置 Game画面で表示 カメラ CG光源 [詳細情報(Inspectorタブ参照)] ?位置/角度/スケール ?質感(色, テカリ,
透明感など) ?独自の挙動 Unityはゲーム開発環境であってAR専用ツールではない
45.
カメラ CG光源 Unityを用いたARコンテンツの作成 Scene画面で配置 Game画面で表示 UnityにAR開発ライブラリ(Vuforia,ARToolKitなど)を追加 [詳細情報(Inspectorタブ)] ?位置/角度/スケール ?質感(色, テカリ,
透明感など) ?独自の挙動 ビデオ映像 ターゲット CG ? ターゲットの認識(画像処理) ? カメラの位置?姿勢計算
46.
UnityとVuforiaの関係 ビデオ映像 ターゲット CG ?
ターゲットの認識(画像処理) ? カメラの位置?姿勢計算 Scene画面で配置 Game画面で表示 Unity標準サポートのARライブラリの を使用
47.
今日の演習内容 https://youtu.be/oDJo4h1Uwbk
48.
ARコンテンツ作成の基本手順 ① Unity上でVuforiaを利用できるようにする ② AR用カメラの設定と画像の表示 ③
ターゲット(マーカー)データの作成 ④ ターゲットのインポート & Sceneに配置 ⑤ CGとターゲットを関連付けてAR表示 ビデオ映像 ターゲット CG
49.
開発の前に??? VuforiaでのARコンテンツ作成には ライセンスキーを事前に作る必要がある → https://developer.vuforia.com/ ①Develop②License Manager ③Get
Development Key
50.
ライセンスキーの作成 (1/3) ← アプリ名を入力(半角英数) チェックをオン Confirm
51.
ライセンスキーの作成 (3/3) ライセンスキーが発行されたことを確認 ※ライセンスキーは 原則、アプリ毎に 作成する 先ほど作ったライセンスをクリック これがライセンスキー
52.
① Unity上でVuforiaを利用できるようにする ② AR用カメラの設定と画像の表示 ③
ターゲット(マーカー)データの作成 ④ ターゲットのインポート & Sceneに配置 ⑤ CGとターゲットを関連付けてAR表示 ARコンテンツ作成の基本手順 ビデオ映像 ターゲット CG ① Unity上でVuforiaを利用できるようにする
53.
Unity上でのVuforia利用設定 (1/4) ①File ②BuildSetting
54.
Unity上でのVuforia利用設定 (2/4) Player Settings
55.
Unity上でのVuforia利用設定 (3/4) Vuforia Augmented
Reality Support
56.
Unity上でのVuforia利用設定 (4/4) Accept
57.
闭じて翱碍
58.
① Unity上でVuforiaを利用できるようにする ② AR用カメラの設定と画像の表示 ③
ターゲット(マーカー)データの作成 ④ ターゲットのインポート & Sceneに配置 ⑤ CGとターゲットを関連付けてAR表示 ARコンテンツ作成の基本手順 ② AR用カメラの設定と画像の表示 ビデオ映像 ターゲット CG
59.
webカメラの画像を取得?表示 (1/5) Main Cameraを削除
60.
webカメラの画像を取得?表示 (2/5) ①右クリック ②Vuforia Engine ③ARCamera
61.
Import
62.
webカメラの画像を取得?表示 (3/5) ①ARCamera ②Open Vuforia
Engine Configuration
63.
webカメラの画像を取得?表示 (4/5) App License
Keyに Vuforiaのサイトで発行した ライセンスキーを貼り付け
64.
webカメラの画像を取得?表示 (5/5) ここにカメラの画像が表示される 実行/停止 ※次の作業に行く前に必ず停止すること(再生ボタンが黒くなっていればOK)
65.
① Unity上でVuforiaを利用できるようにする ② AR用カメラの設定と画像の表示 ③
ターゲット(マーカー)データの作成 ④ ターゲットのインポート & Sceneに配置 ⑤ CGとターゲットを関連付けてAR表示 ARコンテンツ作成の基本手順 ③ ターゲット(マーカー)データの作成 ビデオ映像 ターゲット CG
66.
ターゲットのデータって? 人間にとっては認識しやすいが コンピュータにとっては認識が難しい コンピュータで認識しやすい目印 のデータを作成してあげる
67.
ターゲットを作成 (1/5) VuforiaのDeveloper Portalサイトにアクセス&ログイン ①Develop ②Target
Manager ③Add Database
68.
ターゲットを作成 (2/5) ターゲット画像をVuforiaのサイトに保存するためのフォルダ作成 ①データベース名この資料ではTest ②Device ③Create
69.
ターゲットを作成 (3/5) Target Managerから使用するデータベース開く データベースTestを開く
70.
ターゲットを作成 (4/5) ? [Add
Target]をクリック ? Single Imageを選択 ? ターゲットとして 使用したい画像を選択 (ilovear.jpg) ? Widthで画像の幅(m)を入力 ? [Add]をクリック 0.160.1
71.
ターゲットを作成 (5/5) [Download Dataset] →
[Unity Editor] → [Download] 分かり易い場所に保存
72.
① Unity上でVuforiaを利用できるようにする ② AR用カメラの設定と画像の表示 ③
ターゲット(マーカー)データの作成 ④ ターゲットのインポート & Sceneに配置 ⑤ CGとターゲットを関連付けてAR表示 ARコンテンツ作成の基本手順 ④ ターゲットのインポート & Sceneに配置 ビデオ映像 ターゲット CG
73.
ターゲットをプロジェクトに追加 (1/2) ①Assets ②Import Package ③Custom
Package
74.
ターゲットをプロジェクトに追加 (2/2) Import
75.
ターゲットの利用 (1/2) ①右クリック ②Vuforia Engine ③Image
76.
ターゲットの利用 (2/2) ①ImageTarget をダブルクリック ②DataBase でTestをクリック
77.
① Unity上でVuforiaを利用できるようにする ② AR用カメラの設定と画像の表示 ③
ターゲット(マーカー)データの作成 ④ ターゲットのインポート & Sceneに配置 ⑤ CGとターゲットを関連付けてAR表示 ARコンテンツ作成の基本手順 ⑤ CGとターゲットを関連付けてAR表示 ビデオ映像 ターゲット CG
78.
Asset StoreでCGを入手 ①Window ②Asset Store
79.
Asset StoreでCGを入手 ①Kyleで検索 ②Kyleを選択
80.
Asset StoreでCGを入手 ダウンロード、その後インポート
81.
Asset StoreでCGを入手 Import
82.
ターゲットとCGの関連付け (1/2) RobotKyleが追加される
83.
ターゲットとCGの関連付け (2/2) ①RobotKyle→Model
84.
ターゲットとCGの関連付け (2/2) ①RobotKyle ②ImageTargetにドラッグ&ドロップ
85.
確認 NGGOOD ImageTargetの子として登録 ドラッグ&ドロップ 使用するターゲットの子要素 としてCGを追加すること
86.
动作确认
87.
実験:ターゲットを隠してみよう ターゲットを認識できなくなるとCGが表示できない 下から見上げたり
88.
Extended Trackingを使用 ①ARCamera ②Open Vuforia
Engine Configuration
89.
Extended Trackingを使用 ①Track Device
Poseをオン ②Tracking modeをPOSITIONAL
90.
动作确认 ターゲットを見失ってもある程度は表示を継続
91.
ARと自作スクリプト Robot Kyle
92.
ARと自作スクリプト ②TestScript ①Assets
93.
动作确认 Kyleが表示されているときにマウスの 左ボタン押下でKyleが回転していればOK
94.
マウスで颁骋の位置を取得する
95.
右クリック時にマウスの位置を取得 void Start ()
{ } void Update () { if (Input.GetMouseButton (0)) { transform.Rotate(0, 0.5f, 0, Space.Self); } else if (Input.GetMouseButton (1)) { //Input.mousePositionでマウスのスクリーン座標を取得 //print関数で二次元座標(x, y)を出力 print (Input.mousePosition.x + "," + Input.mousePosition.y); } }
96.
动作确认 右クリックしながら カーソルを移動 Consoleタブに 座標が出力される
97.
今やったこと スクリーン上のカーソルの座標(x,y)を取得 y x Imput.mousePosition で取得した座標(x,y)
98.
これからやること Imput.mousePosition で取得した座標(x,y) ここにCGを移動 スクリーン上の座標をマーカー平面上の座標に変換 y x
99.
スクリーン座標 → マーカ平面座標の手順の基本 ?
カメラからスクリーン上のカーソルまでのベクトルvrayを取得 ? vrayがマーカー平面に到達する倍率を算出してvrayにかける ? ??? a? ??? ? ??? 1倍 2倍 a倍
100.
2次元座標を3次元座標に変換 :コーディング else if
(Input.GetMouseButton (1)) { print (Input.mousePosition.x + "," + Input.mousePosition.y); //カメラ中心からスクリーンへの視線方向のベクトルを取得 Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); //rayを用いて倍率を計算 (内積を使用) float a = ray.origin.y / Vector3.Dot(new Vector3(0, -1, 0), ray.direction); //倍率を視線方向のベクトルに掛ける Vector3 pos = ray.origin + ray.direction * a; //算出された座標をCGの位置に反映 transform.position=pos; }
101.
原点の設定 ①ARCamera ②Vuforia Behavior を見つける ③World Center
Modeを FIRST_TARGETに変更
102.
完成