SlideShare ist ein Scribd-Unternehmen logo
1 von 168
ARコンテンツ作成勉強会in札幌
はじめようARCore
自己紹介
氏名:吉永崇(Takashi Yoshinaga)
所属:九州先端科学技術研究所(ISIT)
専門:ARを用いた医療支援や運動計測
コミュニティ:ARコンテンツ作成勉強会 主催
ARコンテンツ作成勉強会の紹介
 2013年5月に勉強会をスタートし
 ARコンテンツの作り方をハンズオン形式で学ぶ
 人数は5~10名程度の少人数で実施
 参加条件はAR/VRに興味がある人(知識不要)
 各地で開催 (福岡、熊本、宮崎、長崎、大分、 鹿児島、山口、広島、関東)
Twitterと勉強会ページで情報を発信しています
#AR_Fukuoka Googleで「AR勉強会」で検索
#DoMCN
または
#AR_Sapporo
今日のハッシュタグ
Special Thanks
@jun_mh4g
(DoMCN)
@gyawan24
(13LABO)
さっそく本題
ARCore
Googleが提供する次世代ARプラットフォーム。普通のスマホでマーカーレスARを実現。
【主要機能】
(1) 自己位置推定 (Motion Tracking)
(2) 平面認識 (Environmental Understanding)
(3) 明るさ推定 (Light Estimation)
(4) マーカー認識 (Augmented Image)
(5) 空間共有 (Cloud Anchor)
(6) 顔認識 (Augmented Faces)
今日の内容
Googleが提供する次世代ARプラットフォーム。普通のスマホでマーカーレスARを実現。
【主要機能】
(1) 自己位置推定 (Motion Tracking)
(2) 平面認識 (Environmental Understanding)
(3) 明るさ推定 (Light Estimation)
(4) マーカー認識 (Augmented Image)
(5) 空間共有 (Cloud Anchor)
(6) 顔認識 (Augmented Faces)
開発ツール:Unity
Unityとは
 マルチプラットフォーム対応のゲームエンジンおよび開発環境
 GUI上で視覚的にCGを配置したり機能を追加したりできる
 C#によるプログラミングで細かい挙動も記述可能
 アセットストアで高品質なCGやアニメーションを入手できる
今日の内容
① CGを表示 ② 平面検出とCGの配置
③ 空間にドローイング ④ 顔認識
事前準備
• Unity2017.4.26 or later
https://unity3d.com/jp/unity/qa/lts-
releases
• ARCore SDK 1.7
https://github.com/google-ar/arcore-
unity-sdk/releases/tag/v1.11.0.1
• Sample
http://arfukuoka.lolipop.jp/ARCore_Sa
pporo/sample.zip
Unityのプロジェクトを作成 (1/2)
Unityを起動後、画面右上のNEWをクリック
New
Unityのプロジェクトを作成 (2/2)
プロジェクト名・保存場所・3Dを指定してCreate project
プロジェクト名
保存場所
3D
Create project
まずはUnityの簡単な使い方
Unityの操作画面(概要)
ゲーム空間の設計画面
ゲーム空間にCGを追加しよう
何も選択されていない状態にする
※青くハイライトになっていなければOK
ゲーム空間にCGを追加しよう
空白を右クリック
ゲーム空間にCGを追加しよう
①3DObject
②Cube
実行してみよう
カメラから見た空間
①クリックして実行
②クリックして終了
オブジェクトの位置・向き・サイズを調整
移動 回転 拡大・縮小
クリックして選択
Scene(設計画面)の視点を変えよう
[←] [→]で左右移動
[↑][↓]でズームイン/アウト
[Alt]+ドラッグで回転
+ドラッグで上下左右
ところで
オブジェクトの位置・向き・サイズは
マウス操作で直感的に操作できるけど、
数値を用いた具体的な設定は?
CGの詳細情報の編集:位置の指定
 オブジェクトの詳細の表示・追加・変更はInspectorで行う
 例えば、TransformのPositionを変更すると位置が変わる
②Inspectorが表示される
①Cube
CGの詳細情報の編集:位置の指定
位置とサイズを変更
Position 0 0 0
Scale 1 1 1
座標系
Y
ZX
Unityでは横はX、奥行方向がZ、そして地面に対して垂直がY
さらに
Inspectorで操作できる詳細情報には
位置・角度・サイズ以外にも見た目(色や質感)
なども含まれる
CGの詳細情報の編集:色の設定 (1/3)
マテリアル(色や質感の設定)を作成
②右クリック
①Assets
CGの詳細情報の編集:色の設定 (1/5)
マテリアル(色や質感の設定)を作成
①Create
②Material
CGの詳細情報の編集:色の設定 (2/5)
作成したマテリアルの色(Albedo)を設定
②Albedoの右側をクリック
①作成したマテリアルをクリック
CGの詳細情報の編集:色の設定 (3/5)
好きな色を選択
CGの詳細情報の編集:色の設定 (4/5)
②Materialsの横の▼
①Cube
②Element0の場所を確認
CGの詳細情報の編集:色の設定 (5/5)
①New Materialに注目
※まだクリックしない
②Element0にドラッグ&ドロップ
確認
色が変わっていればOK
あとでここから変更も可能
さらにさらに
Inspectorで操作できる詳細情報には
位置・角度・サイズ・見た目以外にも
オブジェクトの動きなども含まれる
スクリプトを書こう
CGの詳細情報の編集:挙動の追加
②AddComponent
①Cube
CGの詳細情報の編集:挙動の追加
New Script
スクリプト名
Create and Add
CGの詳細情報の編集:挙動の追加
スクリプトが追加された
CGの詳細情報の編集:挙動の追加
ここをダブルクリック
スクリプトを使って立方体を回転
public class NewBehaviourScript : MonoBehaviour {
// 初期化のために初回に一回だけ実行される
void Start () {
}
// 毎フレーム(数10ミリ秒おきに)実行される
void Update () {
}
}
スクリプトを使って立方体を回転
public class NewBehaviourScript : MonoBehaviour {
// 初期化のために初回に一回だけ実行される
void Start () {
}
// 毎フレーム(数10ミリ秒おきに)実行される
void Update () {
//毎フレームY軸を中心に1度ずつ回転
transform.Rotate(0, 1, 0, Space.Self);
}
}
Selfの場合
一旦、現状を保存
①File
②Save As...
※Unity2017の場合は
Save Scene as
一旦、現状を保存
①新規フォルダー
③sample1フォルダを開き
コンテンツ名を入力
(例:sample1)
④保存
以降はCtrl + Sで現状のコンテンツ(Scene)を保存
②新しいフォルダ名をSample1に変更
不要なCGの削除
Cubeを選択して[Delete]
Next: 自己位置推定(MotionTracking)
ARCoreのインポート
①Assets
②Import Package
→ Custom Package
③arcore-unity-sdk-xxx
④開く
ARCoreのインポート
import
ARCoreのインポート
GoogleARCoreが追加されていればOK
ARCore用のカメラの設定(1/2)
Main Cameraを削除
ARCore用のカメラの設定(2/2)
①GoogleARCore → Prefabs
② ARCoreDevice
③Hierarchyにドラッグ&ドロップ
表示オブジェクトの追加(1/2)
①GoogleARCore → Examples → Common → Prefabs
② AndyGreenDiffuse
③ドラッグ&ドロップ
表示オブジェクトの追加(2/2)
①AndyGreenDiffuse
② Positionの
yを-0.1[m]
zを0.5[m]
③ Scaleを1~3くらいに
(20~60cmくらい)
※ARCoreではアプリ立ち上げ時のスマホの位置が0 0 0となります
実機にインストール
ビルドの準備
①File
② Build Settings
ビルドの準備
②Switch Platform
① Android
ビルドの準備
②Player Settings
① Internal
ビルドの準備
①Product Nameを入力
② Resolution and Presentation
ビルドの準備
DefaultOrientationをLandscape Left
ビルドの準備
Other Settings
ビルドの準備
①Package Nameを設定
例) com.arfukuoka.test1
② Minimum API Levelを
Android 7.0に設定
ビルドの準備
①XR Settings
②ARCoreSupportedをオン
ビルドと実機インストール
①File
② Build & Run
ビルドと実機インストール
①インストーラー(apk)の名前を設定
② 保存
動作確認
Next: 平面検出(Environmental Understanding)
Environmental Understandingを有効化(1/5)
①Sample1
②右クリック
Environmental Understandingを有効化(2/5)
①Create
③GoogleARCore
④SessionConfig
Environmental Understandingを有効化(3/5)
ファイル名を変更(例:sample1)
Environmental Understandingを有効化(4/5)
①sample1.assetをクリック
【Plane Finding Mode】
(1)Disabled:平面認識なし
(2)Horizontal And Vertical:
水平面と垂直面を認識
(3)Horizontal:
水平面のみ認識
(4)Vertical
垂直面のみ認識
今回は(2)~(4)から好きなのを選択
Environmental Understandingを有効化(5/5)
①ARCore Deviceを選択
②Sample1フォルダ
③sample1.assetに注目
※まだクリックしない
④Session Configに
ドラッグ&ドロップ
認識した平面の可視化 (1/6)
空白をクリックして何も
選択されていない状態に
認識した平面の可視化 (2/6)
①空白を右クリック
②Create Empty
認識した平面の可視化 (3/6)
GameObjectの名前を
Controllerに変更
認識した平面の可視化 (4/6)
①Controllerをクリック
②AddComponent
③Detected Plane Generator
認識した平面の可視化 (5/6)
①GoogleARCore → Examples → Common → Prefabs
②DetectedPlaneVisualizer
認識した平面の可視化 (6/6)
②DetectedPlaneVisualizerに注目
①Controller
③Detected Plane
Prefabにドラッグ&ドロップ
現状を保存
ctrl/command + S
動作確認
水平面
垂直面
タップした平面にCGを置く
①Controller
②Add Component
タップした平面にCGを置く
②NewScript
④Create and Add
③PutScript
①検索ワードを削除
タップした平面にCGを置く
①Controller
②PutScriptを
ダブルクリック
スクリプトの記述
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using GoogleARCore;
public class PutScript : MonoBehaviour {
public GameObject andy; //CG(Andy)を扱う変数
void Start () {
}
void Update () {
//タップの検出
//タップした画面の座標と3D空間座標の対応付け
//Andyをその位置に置く
}
}
スクリプトの記述
void Update () {
//タッチしていないなら
if (Input.touchCount < 1 ){ return; }
Touch touch = Input.GetTouch(0);
//画面をなぞっていなければ
if (touch.phase != TouchPhase.Moved ){ return;}
//タップした座標にAndyを移動。
TrackableHit hit;
TrackableHitFlags filter = TrackableHitFlags.PlaneWithinPolygon;
if(Frame.Raycast(touch.position.x, touch.position.y, filter, out hit) )
{
//Andyの3D座標を指定するコードを記述(次頁)
}
}
touch.position
hit
Moved→画面をなぞる
平面を構成するポリゴンの
内側をタップ判定の対象に
スクリプトの記述
if (Frame.Raycast(touch.position.x, touch.position.y, filter, out hit))
{
//平面にヒットしたならAndyを置く
if (hit.Trackable is DetectedPlane)
{
//Andyの位置・姿勢を指定
andy.transform.position = hit.Pose.position;
andy.transform.rotation = hit.Pose.rotation;
andy.transform.Rotate(0, 180, 0, Space.Self);
//Anchorを設定
var anchor = hit.Trackable.CreateAnchor(hit.Pose);
andy.transform.parent = anchor.transform;
}
}
スクリプトとGameObjectのAndyの対応付け
②AndyGreenDiffuseに注目
①Controllerをクリック
③PutScriptのAndy
にドラッグ&ドロップ
現状を保存
ctrl/command + S
動作確認
Next:空間ドローイング
下準備 (1/6)
Sample1を選択し、Ctrl +D
下準備 (2/6)
②ファイル名をそれぞれsample2に変更①sample2
下準備 (3/6)
①sample2.unityをダブルクリック
②sample2になったことを確認
下準備 (4/6)
①ARCoreDevice
②sample2.asset
③Session Configに
ドラッグ&ドロップ
下準備 (5/6)
Andy Dffuseを削除
下準備 (6/6)
①Controller
②PutScript右の
③Remove Component
トラッキングが安定していることを
目視で確認するため
平面認識機能のみ残しておいた
TrailRendererを用いた線描画
①空白を右クリック
②Create Empty
TrailRendererを用いた線描画
①GameObject
②Add Component
TrailRendererを用いた線描画
Trailと入力
【Trail Renderer】
■Material
前半で作ったマテリアル
をElementに追加
■Time
Infinityに変更
■MinVertexDistance
0.03
■Width
0.01
Trail Rendererを
ダブルクリック
TrailRendererを用いた線描画
ShaderをSprites/Defaultに変更
①GameObject
動作確認
実行
動作確認
①Scene
GameObjectを移動すると軌跡が残る
②GameObject
動作確認
停止
TrailRendererを用いた線描画
②GameObject
①Sample2
③ドラッグ&ドロップ
TrailRendererを用いた線描画
GameObject削除
TrailRendererを用いた線描画
①Controller
②AddComponent
TrailRendererを用いた線描画
①New Script
③Create and Add
②DrawScript
TrailRendererを用いた線描画
①Controller
②DrawScriptを
ダブルクリック
スクリプトの記述
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using GoogleARCore;
public class DrawScript : MonoBehaviour {
public GameObject obj; //軌跡を描くオブジェクトの元データ
GameObject drawObj; //実際の軌跡描画に使うオブジェクト
void Start () {
}
void Update () {
//タップの検出
//タップ開始時に線を描くオブジェクトを生成
//その後はスマホの位置にオブジェクトを追従させて線描画
}
}
スクリプトの記述
void Update () {
if (Input.touchCount == 1)
{
//カメラ手前10cmの位置を取得
Vector3 p = Camera.main.transform.TransformPoint(0,0,0.1f);
//タッチスタート
TouchPhase phase = Input.GetTouch(0).phase;
if (phase == TouchPhase.Began)
{
drawObj = GameObject.Instantiate(obj, p, Quaternion.identity);
}
//押下中
else if (phase == TouchPhase.Stationary || phase == TouchPhase.Moved){
drawObj.transform.position = p;
}
}
}
変数とCGの対応付け
②Controller
①Sample2
④Objにドラッグ&ドロップ
③GameObject
現状を保存
ctrl/command + S
動作確認
線を消す
List<GameObject> lines = new List<GameObject>();
void Update () {
if (Input.touchCount == 1)
{//カメラ手前10cmの位置を取得
Vector3 p = Camera.main.transform.TransformPoint(0,0,0.1f);//
TouchPhase phase = Input.GetTouch(0).phase;
if ( phase == TouchPhase.Began)
{
drawObj = GameObject.Instantiate(obj, p, Quaternion.identity);
GameObject tmp
= GameObject.Instantiate(obj, p, Quaternion.identity);
lines.Add(tmp);
drawObj = tmp;
} //押下中
else if (phase == TouchPhase.Stationary || phase == TouchPhase.Moved){
drawObj.transform.position = p;
}
}
}
線を消す
void Update () {
if (Input.touchCount == 1)
{
//線の描画をする/カメラ手前10cmの位置を取得
}
else if (Input.touchCount == 2)
{
if (Input.GetTouch(0).phase == TouchPhase.Ended)
{
for(int i = 0; i < lines.Count; i++)
{
Destroy(lines[i]);
lines[i] = null;
}
lines.Clear();
}
}
}
ctrl/command + S
そして動作確認。
指二本でタップすると線が消えます
Next:顔認識(Augmented Faces)
下準備 (1/6)
Sample2を選択し、Ctrl +D
下準備 (2/6)
②ファイル名をそれぞれsample3に変更①sample3
下準備 (3/6)
①sample3.unityをダブルクリック
②sample3になったことを確認
下準備 (4/6)
①ARCoreDevice
②sample3.asset
③Session Configに
ドラッグ&ドロップ
下準備 (5/6)
GameObject削除
下準備 (6/6)
Controllerを削除
フロントカメラを使用
①ARCoreDevice
②Device Camera Direction
をFront Facingに変更
平面認識をOff
②sample3.asset
③PlanbeFindingMode
をDisabledに変更
①sample3
④LightEstimation Mode
をDisabledに変更
顔認識を許可
①sample3.asset
②AugmentedFaceMode
をMeshに変更
顔にメッシュを貼り付ける
②CreateEmpty
①空白を右クリック
顔にメッシュを貼り付ける
GameObjectの名前をFaceMeshに変更
顔にメッシュを貼り付ける
①FaceMesh
②Add Component
顔にメッシュを貼り付ける
①Faceで検索
②ARCore Augmented
Face Mesh Filter
顔にメッシュを貼り付ける
Auto Bindをオン
※検出した顔に自動的にメッシュをアタッチする
メッシュの見た目の設定
①FaceMesh
②Add Coponent
メッシュの見た目の設定
②Mesh
③MeshRenderer
①消す
メッシュの見た目の設定
①Sample3
③Create
②右クリック
④Material
メッシュの見た目の設定
NewMaterialができてるはず
Augmented Faces
②NewMaterialに注目
①FaceMesh
②Materials内のElement0にドラッグ&ドロップ
現状を保存
ctrl/command + S
動作確認
顔メッシュにテクスチャ画像を適用
②NewMaterialをクリック
①Sample3
顔メッシュにテクスチャ画像を適用
③Texture
※Transparentを選べば
透過画像も使用可能
②Unlit
①Shader
顔メッシュにテクスチャ画像を適用
③ドラッグ&ドロップ
①Sampleフォルダ
①Sample3
顔メッシュにテクスチャ画像を適用
①NewMaterial
顔メッシュにテクスチャ画像を適用
②ドラッグ&ドロップ
①meshに注目
動作確認 & Memo
マス目と出力結果を見比べれば顔の中の位置とのおよその対応付けが可能
顔のパーツの位置情報を使用
FOREHEAD_LEFT FOREHEAD_RIGHT
NOSE_TIP
今のところ、取得できるのはFOREHEAD_LEFT/RIGHTとNOSE_TIPの3点
顔のパーツの位置情報を使用
②CreateEmpty
①右クリック
顔のパーツの位置情報を使用
GameObjectの名前をFacePartsに変更
顔のパーツの位置情報を使用
①FaceParts
②Add Compornent
顔のパーツの位置情報を使用
①Faceで検索
②ARCore Augmented
Face Rig
顔のパーツの位置情報を使用
①Auto Bind
顔のパーツの位置情報を使用
①FacePartsを開く
②NOSE_TIP,FOREHEAD_LFT/RIHGT
が追加されていることを確認
顔のパーツの位置情報を使用
①NOSE_TIPを右クリック
②3D Object
③Sphere
顔のパーツの位置情報を使用
①Sphere
②Transformを編集
Position: 全て 0
Scale: 全て 0.04
顔のパーツの位置情報を使用
同じ要領でFOREHEADの
RIGHTとLEFTの子要素にも
Sphereを追加
現状を保存
ctrl/command + S
顔のパーツの位置情報を使用
パーツの位置の調整
① FOREHEAD_LEFT
の子要素のSphereを選択
② PositionのY=-0.04
パーツの位置の調整
① FOREHEAD_RIGHT
の子要素のSphereを選択
② PositionのY=-0.04
今日の内容
Googleが提供する次世代ARプラットフォーム。普通のスマホでマーカーレスARを実現。
【主要機能】
(1) 自己位置推定 (Motion Tracking)
(2) 平面認識 (Environmental Understanding)
(3) 明るさ推定 (Light Estimation)
(4) マーカー認識 (Augmented Image)
(5) 空間共有 (Cloud Anchor)
(6) 顔認識 (Augmented Faces)
さらに勉強を続けてできること
ARCoreの機能
Googleが提供する次世代ARプラットフォーム。普通のスマホでマーカーレスARを実現。
【主要機能】
(1) 自己位置推定 (Motion Tracking)
(2) 平面認識 (Environmental Understanding)
(3) 明るさ推定 (Light Estimation)
(4) マーカー認識 (Augmented Image)
(5) 空間共有 (Cloud Anchor)
(6) 顔認識 (Augmented Faces)
この辺も使えるようになる
ARCore × OpenCV
https://youtu.be/E5Jy4iunpyQ https://youtu.be/MviBGZtiv5A
ARCore × OpenCV
https://youtu.be/a8o1ieL01_w
簡易HMDのAryzon
簡易HMDのAryzon
https://youtu.be/D1ubI9ye8aU
ARCoreハンズオン資料
• ARCoreハンズオン (自己位置推定/マーカー認識/Cloud Anchor)
https://www.slideshare.net/ssuserc0d7fb/arcore-
108717431
• 塗り絵AR
https://www.slideshare.net/ssuserc0d7fb/opencvarcore
unityar
• スタンプAR
https://www.slideshare.net/ssuserc0d7fb/openar-
152506475
• 簡易HMD Aryzon
https://www.slideshare.net/ssuserc0d7fb/aryzonar-
141441121
はじめようARCore in 札幌

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

点群を使いこなせ! 可視化なんて当たり前、xRと点群を組み合わせたUnityの世界 【Interact , Stipple】
点群を使いこなせ! 可視化なんて当たり前、xRと点群を組み合わせたUnityの世界 【Interact , Stipple】点群を使いこなせ! 可視化なんて当たり前、xRと点群を組み合わせたUnityの世界 【Interact , Stipple】
点群を使いこなせ! 可視化なんて当たり前、xRと点群を組み合わせたUnityの世界 【Interact , Stipple】
 
モバイルアプリにおけるアーティストフレンドリーな水面表現戦略
モバイルアプリにおけるアーティストフレンドリーな水面表現戦略モバイルアプリにおけるアーティストフレンドリーな水面表現戦略
モバイルアプリにおけるアーティストフレンドリーな水面表現戦略
 
OpenCVでつくろうARスタンプアプリ in 熊本
OpenCVでつくろうARスタンプアプリ in 熊本OpenCVでつくろうARスタンプアプリ in 熊本
OpenCVでつくろうARスタンプアプリ in 熊本
 
文脈を操る美しきZenjectプロジェクトからの眺め 〜Contextの扱い方と活用方法〜
文脈を操る美しきZenjectプロジェクトからの眺め 〜Contextの扱い方と活用方法〜文脈を操る美しきZenjectプロジェクトからの眺め 〜Contextの扱い方と活用方法〜
文脈を操る美しきZenjectプロジェクトからの眺め 〜Contextの扱い方と活用方法〜
 
Azure kinect DKハンズオン
Azure kinect DKハンズオンAzure kinect DKハンズオン
Azure kinect DKハンズオン
 
World Locking Tools V1.0.0について~ 機能と導入 ~
World Locking Tools V1.0.0について~ 機能と導入 ~ World Locking Tools V1.0.0について~ 機能と導入 ~
World Locking Tools V1.0.0について~ 機能と導入 ~
 
OpenCVとARCoreで作るスタンプAR in 宮崎
OpenCVとARCoreで作るスタンプAR in 宮崎 OpenCVとARCoreで作るスタンプAR in 宮崎
OpenCVとARCoreで作るスタンプAR in 宮崎
 
HoloLens2とMeta QuestではじめるWebXR
HoloLens2とMeta QuestではじめるWebXRHoloLens2とMeta QuestではじめるWebXR
HoloLens2とMeta QuestではじめるWebXR
 
Flutter移行の苦労と、乗り越えた先に得られたもの
Flutter移行の苦労と、乗り越えた先に得られたものFlutter移行の苦労と、乗り越えた先に得られたもの
Flutter移行の苦労と、乗り越えた先に得られたもの
 
OpenXR + XR Interaction Toolkit使ったHoloLensコンテンツ開発検証 ~ (私が)完全に理解できたらちゃんと作れて、いろ...
OpenXR + XR Interaction Toolkit使ったHoloLensコンテンツ開発検証 ~ (私が)完全に理解できたらちゃんと作れて、いろ...OpenXR + XR Interaction Toolkit使ったHoloLensコンテンツ開発検証 ~ (私が)完全に理解できたらちゃんと作れて、いろ...
OpenXR + XR Interaction Toolkit使ったHoloLensコンテンツ開発検証 ~ (私が)完全に理解できたらちゃんと作れて、いろ...
 
UE4ディープラーニングってやつでなんとかして!環境構築編(Python3+TensorFlow)
UE4ディープラーニングってやつでなんとかして!環境構築編(Python3+TensorFlow) UE4ディープラーニングってやつでなんとかして!環境構築編(Python3+TensorFlow)
UE4ディープラーニングってやつでなんとかして!環境構築編(Python3+TensorFlow)
 
ゲーム開発者のための C++11/C++14
ゲーム開発者のための C++11/C++14ゲーム開発者のための C++11/C++14
ゲーム開発者のための C++11/C++14
 
【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しよう
【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しよう【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しよう
【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しよう
 
UE4のためのより良いゲーム設計を理解しよう!
UE4のためのより良いゲーム設計を理解しよう!UE4のためのより良いゲーム設計を理解しよう!
UE4のためのより良いゲーム設計を理解しよう!
 
はじめてのUniRx
はじめてのUniRxはじめてのUniRx
はじめてのUniRx
 
[CEDEC2018] UE4で多数のキャラクターを生かすためのテクニック
[CEDEC2018] UE4で多数のキャラクターを生かすためのテクニック[CEDEC2018] UE4で多数のキャラクターを生かすためのテクニック
[CEDEC2018] UE4で多数のキャラクターを生かすためのテクニック
 
基礎線形代数講座
基礎線形代数講座基礎線形代数講座
基礎線形代数講座
 
CEDEC 2020 - 高品質かつ低負荷な3Dライブを実現するシェーダー開発 ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スク...
CEDEC 2020 - 高品質かつ低負荷な3Dライブを実現するシェーダー開発 ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スク...CEDEC 2020 - 高品質かつ低負荷な3Dライブを実現するシェーダー開発 ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スク...
CEDEC 2020 - 高品質かつ低負荷な3Dライブを実現するシェーダー開発 ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スク...
 
Unity dojo amplifyshadereditor101_jpn-jp
Unity dojo amplifyshadereditor101_jpn-jpUnity dojo amplifyshadereditor101_jpn-jp
Unity dojo amplifyshadereditor101_jpn-jp
 
シェーダだけで世界を創る!three.jsによるレイマーチング
シェーダだけで世界を創る!three.jsによるレイマーチングシェーダだけで世界を創る!three.jsによるレイマーチング
シェーダだけで世界を創る!three.jsによるレイマーチング
 

Ähnlich wie はじめようARCore in 札幌

Ähnlich wie はじめようARCore in 札幌 (14)

ARコンテンツ作成勉強会 in 宮崎: はじめようARCore
ARコンテンツ作成勉強会 in 宮崎: はじめようARCoreARコンテンツ作成勉強会 in 宮崎: はじめようARCore
ARコンテンツ作成勉強会 in 宮崎: はじめようARCore
 
A-Frameで始めるWebXRとハンドトラッキング (HoloLens2/Oculus Quest対応)
A-Frameで始めるWebXRとハンドトラッキング (HoloLens2/Oculus Quest対応)A-Frameで始めるWebXRとハンドトラッキング (HoloLens2/Oculus Quest対応)
A-Frameで始めるWebXRとハンドトラッキング (HoloLens2/Oculus Quest対応)
 
KinectでAR空間に入り込もう
KinectでAR空間に入り込もうKinectでAR空間に入り込もう
KinectでAR空間に入り込もう
 
第19回SOIL水曜セミナー:RGB-DカメラでAR空間に入り込もう
第19回SOIL水曜セミナー:RGB-DカメラでAR空間に入り込もう第19回SOIL水曜セミナー:RGB-DカメラでAR空間に入り込もう
第19回SOIL水曜セミナー:RGB-DカメラでAR空間に入り込もう
 
はじめようArcore (修正版)
はじめようArcore (修正版)はじめようArcore (修正版)
はじめようArcore (修正版)
 
HoloLensハンズオン@ももち浜TECHカフェ vol.2
HoloLensハンズオン@ももち浜TECHカフェ vol.2HoloLensハンズオン@ももち浜TECHカフェ vol.2
HoloLensハンズオン@ももち浜TECHカフェ vol.2
 
ARコンテンツ作成勉強会( #AR_Fukuoka )紹介
ARコンテンツ作成勉強会( #AR_Fukuoka )紹介ARコンテンツ作成勉強会( #AR_Fukuoka )紹介
ARコンテンツ作成勉強会( #AR_Fukuoka )紹介
 
Holo-SDKハンズオン:はじめようヘッドトラッキングを用いた3D表現
Holo-SDKハンズオン:はじめようヘッドトラッキングを用いた3D表現Holo-SDKハンズオン:はじめようヘッドトラッキングを用いた3D表現
Holo-SDKハンズオン:はじめようヘッドトラッキングを用いた3D表現
 
ノンプログラミングで始める AR 開発入門
ノンプログラミングで始める AR 開発入門ノンプログラミングで始める AR 開発入門
ノンプログラミングで始める AR 開発入門
 
スマホと簡易ヘッドセットAryzonで光学シースルーAR
スマホと簡易ヘッドセットAryzonで光学シースルーARスマホと簡易ヘッドセットAryzonで光学シースルーAR
スマホと簡易ヘッドセットAryzonで光学シースルーAR
 
OpenCVとRGB-Dセンサで作ろう壁面タッチパネル
OpenCVとRGB-Dセンサで作ろう壁面タッチパネルOpenCVとRGB-Dセンサで作ろう壁面タッチパネル
OpenCVとRGB-Dセンサで作ろう壁面タッチパネル
 
Fukuoka LT 2019: AR Fukuoka
Fukuoka LT 2019: AR FukuokaFukuoka LT 2019: AR Fukuoka
Fukuoka LT 2019: AR Fukuoka
 
Ingress x 国立・天下市
Ingress x 国立・天下市Ingress x 国立・天下市
Ingress x 国立・天下市
 
UnityとVuforiaで始めるAR開発
UnityとVuforiaで始めるAR開発UnityとVuforiaで始めるAR開発
UnityとVuforiaで始めるAR開発
 

Mehr von Takashi Yoshinaga

Mehr von Takashi Yoshinaga (20)

【準備編】OculusQuest/HoloLens2対応WebXR開発
【準備編】OculusQuest/HoloLens2対応WebXR開発【準備編】OculusQuest/HoloLens2対応WebXR開発
【準備編】OculusQuest/HoloLens2対応WebXR開発
 
AI x WebAR: MediaPipeのハンドトラッキングを使ってみよう
AI x WebAR: MediaPipeのハンドトラッキングを使ってみようAI x WebAR: MediaPipeのハンドトラッキングを使ってみよう
AI x WebAR: MediaPipeのハンドトラッキングを使ってみよう
 
iPad LiDARで エンジニアカフェを3Dスキャン
iPad LiDARでエンジニアカフェを3DスキャンiPad LiDARでエンジニアカフェを3Dスキャン
iPad LiDARで エンジニアカフェを3Dスキャン
 
AI x OpenCV x WebAR: Selfie Segmentationを使ってみよう
AI x OpenCV x WebAR: Selfie Segmentationを使ってみようAI x OpenCV x WebAR: Selfie Segmentationを使ってみよう
AI x OpenCV x WebAR: Selfie Segmentationを使ってみよう
 
Web技術ではじめようAR/VRアプリ開発
Web技術ではじめようAR/VRアプリ開発Web技術ではじめようAR/VRアプリ開発
Web技術ではじめようAR/VRアプリ開発
 
【準備編!】HoloLens 2/Oculus Quest対応WebXRハンズオン
【準備編!】HoloLens 2/Oculus Quest対応WebXRハンズオン【準備編!】HoloLens 2/Oculus Quest対応WebXRハンズオン
【準備編!】HoloLens 2/Oculus Quest対応WebXRハンズオン
 
FUKUOKA Engineers Day 2021 発表資料:AR Fukuoka & HoloBox紹介
FUKUOKA Engineers Day 2021 発表資料:AR Fukuoka & HoloBox紹介FUKUOKA Engineers Day 2021 発表資料:AR Fukuoka & HoloBox紹介
FUKUOKA Engineers Day 2021 発表資料:AR Fukuoka & HoloBox紹介
 
Voxon Photonics VX1 で遊んでみた
Voxon Photonics VX1で遊んでみたVoxon Photonics VX1で遊んでみた
Voxon Photonics VX1 で遊んでみた
 
AR-Frame x AR.js入門
AR-Frame x AR.js入門AR-Frame x AR.js入門
AR-Frame x AR.js入門
 
AI x WebXR: フェイストラッキングを用いた擬似3D表現を解説!
AI x WebXR: フェイストラッキングを用いた擬似3D表現を解説!AI x WebXR: フェイストラッキングを用いた擬似3D表現を解説!
AI x WebXR: フェイストラッキングを用いた擬似3D表現を解説!
 
コロナ禍中のコミュニティ活動
コロナ禍中のコミュニティ活動コロナ禍中のコミュニティ活動
コロナ禍中のコミュニティ活動
 
Project HoloBox
Project HoloBoxProject HoloBox
Project HoloBox
 
AR Fukuoka紹介2020
AR Fukuoka紹介2020AR Fukuoka紹介2020
AR Fukuoka紹介2020
 
iPad LiDARで作ってみた in AR Fukuoka 忘年会2020
iPad LiDARで作ってみた in AR Fukuoka 忘年会2020iPad LiDARで作ってみた in AR Fukuoka 忘年会2020
iPad LiDARで作ってみた in AR Fukuoka 忘年会2020
 
MRTKで始めるAR開発 (HoloLens 1 and 2, ARCore, ARkit)
MRTKで始めるAR開発 (HoloLens 1 and 2, ARCore, ARkit)MRTKで始めるAR開発 (HoloLens 1 and 2, ARCore, ARkit)
MRTKで始めるAR開発 (HoloLens 1 and 2, ARCore, ARkit)
 
OSC2020 Fukuoka: インストールいらず、WebAR入門
OSC2020 Fukuoka: インストールいらず、WebAR入門OSC2020 Fukuoka: インストールいらず、WebAR入門
OSC2020 Fukuoka: インストールいらず、WebAR入門
 
Oculus Quest 1&2 開発のはじめの一歩 with A-Frame WebVR
Oculus Quest 1&2 開発のはじめの一歩 with A-Frame WebVROculus Quest 1&2 開発のはじめの一歩 with A-Frame WebVR
Oculus Quest 1&2 開発のはじめの一歩 with A-Frame WebVR
 
AI x WebAR MediaPipeの顔認識を使ってみよう! in 織りなすラボ
AI x WebAR MediaPipeの顔認識を使ってみよう! in 織りなすラボAI x WebAR MediaPipeの顔認識を使ってみよう! in 織りなすラボ
AI x WebAR MediaPipeの顔認識を使ってみよう! in 織りなすラボ
 
Spatial Copy & Paste @HoloLensゆるっとLT会
Spatial Copy & Paste @HoloLensゆるっとLT会Spatial Copy & Paste @HoloLensゆるっとLT会
Spatial Copy & Paste @HoloLensゆるっとLT会
 
AI x WebAR! MediaPipeの顔認識を使ってみよう!
AI x WebAR! MediaPipeの顔認識を使ってみよう!AI x WebAR! MediaPipeの顔認識を使ってみよう!
AI x WebAR! MediaPipeの顔認識を使ってみよう!
 

Kürzlich hochgeladen

Kürzlich hochgeladen (10)

LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 

はじめようARCore in 札幌