Slide 1

Slide 1 text

AR超入門 チンパンジーでもわかる

Slide 2

Slide 2 text

Twitter:@HSAU_dosei ・UnityとAndroidとAR の人 ・フルーチェをたくさん 食べて大腸が死んだ。 ・実はイケメン 卍ゆひ卍

Slide 3

Slide 3 text

じゃあ入門しようか。 SECTION.1

Slide 4

Slide 4 text

AR(Augumented Reality) • ARは、現実世界からの情報を元にデジタル情報を 重ね合わせ、視覚的に現実を拡張した表現可能に します。画像や周辺の空間を認識し、現実の映像と デジタル情報を合成した映像をリアルタイムにディ スプレイ上に表示します。ARは、広告・プロモーショ ンでの利用から広がり、近年では産業分野での利 用が拡大しています。ARとはコンピュータの力で、 見えないものが見えるようになる技術です。

Slide 5

Slide 5 text

いや、 分かんないから。

Slide 6

Slide 6 text

AR(Augumented Reality) • 簡単に言ってしまうと… • コンピューターを使って 現実世界に何らかの情報を重 ね合わせる技術 • 情報… ・3Dモデル,映像,画像

Slide 7

Slide 7 text

ARには色々な種類がある!!! • マーカー型ビジョンベースAR • マーカーレス型ビジョンベースAR • ロケーションベースAR

Slide 8

Slide 8 text

ARには色々な種類がある!!! • マーカー型ビジョンベースAR • マーカーレス型ビジョンベースAR • ロケーションベースAR

Slide 9

Slide 9 text

マーカー型ビジョンベースAR • 特定のルールで黒と白のパターン化した図形をマーカーとして使 う。 • QRコードのような図形、または普通の写真や画像自体をマーカー として使用する場合もある • マーカーから3次元の付加情報を得ることができる。

Slide 10

Slide 10 text

ARカメラ(3DS)

Slide 11

Slide 11 text

ARには色々な種類がある!!! • マーカー型ビジョンベースAR • マーカーレス型ビジョンベースAR • ロケーションベースAR

Slide 12

Slide 12 text

マーカーレス型ビジョンベースAR • 特定のマーカーを利用せずに、空間自体を認識する • 建物・景色・物などに付加情報を加えることが可能 • マーカーレス型では特定のマーカーを用意することなくARの情報 を取り込むことができる

Slide 13

Slide 13 text

No content

Slide 14

Slide 14 text

ARには色々な種類がある!!! • マーカー型ビジョンベースAR • マーカーレス型ビジョンベースAR • ロケーションベースAR

Slide 15

Slide 15 text

ロケーションベースAR • GPSから取得する位置情報に関連した、画像や文字といった付加 情報を提示する手法 • 画像認識に基づくものではなく、実空間の場所に紐付いた手法で ある • マーカーが不要なため、屋外での利用がかんたん!

Slide 16

Slide 16 text

セカイカメラ(2009年)

Slide 17

Slide 17 text

No content

Slide 18

Slide 18 text

MobileAR SECTION.2

Slide 19

Slide 19 text

最近のARコンテンツはMobile向けが主流 • 誰もが持っている端末で動かすことができる • Mobile用ARフレームワークの充実 ・Vuforia ・ARkit(IOS) ・ARcore(Android)

Slide 20

Slide 20 text

最近のARコンテンツはMobile向けが主流 • 誰もが持っている端末で動かすことができる • Mobile用ARフレームワークの充実 ・Vuforia ・ARkit(IOS) ・ARcore(Android)

Slide 21

Slide 21 text

ARcore • Googleが出しているAndroid向 けARフレームワーク • Tangoから進化した姿 • Unity,UnrealEngine, AndroidStudioで使用可能

Slide 22

Slide 22 text

何ができるの??? • モーショントラッキング • 水平・垂直面の認識 • 光源の推測 • 空間共有 • 特徴点抽出 • マーカー画像検知 • 顔認識

Slide 23

Slide 23 text

何ができるの??? • モーショントラッキング • 水平・垂直面の認識 • 光源の推測 • 空間共有 • 特徴点抽出 • マーカー画像検知 • 顔認識 ͳΜͰ΋ Ͱ͖Δʂʂʂ

Slide 24

Slide 24 text

Unityで実装しよう。 SECTION.3

Slide 25

Slide 25 text

今回の完成品はGitHubに 置いてあります https://github.com/yuhi-dosei/Yuruhako_AR.git お話だけ聞いてもらえれば分かる…はず!!

Slide 26

Slide 26 text

今回使用するもの • Unity 2018 https://unity3d.com/jp/get-unity/download • AndroidStudio https://developer.android.com/studio/?hl=ja • JavaDevelopmentKit https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads- 2133151.html • ARcore SDK for Unity https://github.com/google-ar/arcore-unity-sdk/releases • ARcore 対応端末 https://qiita.com/namiwavess/items/088605ffdd9062d57bd8

Slide 27

Slide 27 text

プロジェクトの作成からSDKの Importまでは端折ります!! 続きは君の目で確かめよう!!

Slide 28

Slide 28 text

AndroidBuildの設定 SECTION.3_1

Slide 29

Slide 29 text

Unity/PreferencesからExternalToolsを開く AndroidSDKの ファイルパスを設定 ファイルパスが分から なければ AndroidStudioを立ち上 げ Configure/Settings/Andr oidSDKから取ってくる

Slide 30

Slide 30 text

Unity/PreferencesからExternalToolsを開く AndroidJDK (JavaDevelopmentKit) のファイルパスを設定

Slide 31

Slide 31 text

FileからBuild Settingsを開く Switch Platformから AndroidにPlatformを変更するの を忘れずに!

Slide 32

Slide 32 text

FileからBuild Settingsを開く AndroidにPlatformを変更したら Player SettingsからBuildの詳細な 設定を開くぞ!!

Slide 33

Slide 33 text

まずは、CompanyNameと Product Nameを適切な名前にし よう!

Slide 34

Slide 34 text

次はOther Settings を開くぞ!!

Slide 35

Slide 35 text

ArcoreはMultithreaded Renderringに対応してない のでここのチェックボッ クスはOFF

Slide 36

Slide 36 text

Package Nameは com.companyname.productn ame といった用に記述。 最初に設定したのと違うと Buildコケるので注意!!

Slide 37

Slide 37 text

ARcoreが対応しているバー ジョンが Android7.1以上なので ここのMinimumAPILevelは 7.1に設定

Slide 38

Slide 38 text

最後にXR SettingsのARcoreSupportedに チェックを入れる

Slide 39

Slide 39 text

セカイを作ろう。 SECTION.3_2

Slide 40

Slide 40 text

今回の目標 任意のモデルをARで表示する

Slide 41

Slide 41 text

Assets/GoogleARcore/Examples/HelloAR/Scene からHelloARを開く この画面が出てればOK

Slide 42

Slide 42 text

このままだと暗いので明かりをつけよう ほうら。明るくなっただろう

Slide 43

Slide 43 text

Assets/GoogleARcore/Examples/HelloAR/Scripts からHelloARController.csを書き換える private bool TappedCheck = false; if(TappedCheck==false){ var andyObject = Instantiate(prefab, hit.Pose.position, hit.Pose.rotation); andyObject.transform.Rotate(0, k_ModelRotation, 0, Space.Self); var anchor = hit.Trackable.CreateAnchor(hit.Pose); andyObject.transform.parent = anchor.transform; TappedCheck = true; } else{ return; } タップ判定を追加して 一回しかobjectを出せなくする

Slide 44

Slide 44 text

Example Controller の AndyPlanePrefabとAndyPointPrefabに3Dモデルをアタッチ

Slide 45

Slide 45 text

再びBuildSettingsを開く Add Open Scene からSceneを追加

Slide 46

Slide 46 text

Command+B or Ctrl+BでBuld.

Slide 47

Slide 47 text

Unityちゃんかわいい!!

Slide 48

Slide 48 text

応用すればこんなこともできるよ!!

Slide 49

Slide 49 text

君も明日からイケイケ ARエンジニア!!! ぼくとおんなじ

Slide 50

Slide 50 text

AR超入門 イケイケARエンジニアのなり方がわかる