SlideShare a Scribd company logo
1 of 65
Download to read offline
深掘りARKit with Unity
⾕⼝直嗣
?
では早速起動してみましょう!
ゲーム以外も
Unity ARKit Plugin
ざっくりアプリ構成イメージ
UnityARSessionNativeInterface
C# on Mono
iOS Native
UnityARSessionNativeInterface.cs
でNativeの関数をラップ
namespace UnityEngine.XR.iOS {

………………………


[DllImport("__Internal")]

private static extern void session_SetPlaneAnchorCallbacks(IntPtr nativeSession,
internal_ARAnchorAdded anchorAddedCallback, 

internal_ARAnchorUpdated anchorUpdatedCallback, 

internal_ARAnchorRemoved anchorRemovedCallback);



Unityのエンジンの中に統合されているっぽい
こんな感じでNativeのARKitを呼び出す
ざっくり動作イメージ
UnityARSessionInterface
3D描画
空間の把握
Camera関連
Unityのカメラの位置、画⾓、
クリッピングをiPhoneのカメラと
合わせる
ARKit
Unity
AR空間の
カメラの位置
の推定
AR空間の
平⾯の位置
の推定
iPhoneの
カメラに
合わせた画⾓
AR空間の
平⾯の
HitTest
AR空間の
明るさ
UnityARSessionInterface
Unityの
カメラに位置
をセット
影
Occlusion
AR⽤背景
明るさに応じ
たライト
ヒットテスト
UnityARSessionNativeInterface.cs
UnityARCameraManager.cs
UnityARCameraNearFar.cs
void Update () {



if (m_camera != null)

{

// JUST WORKS!

Matrix4x4 matrix = m_session.GetCameraPose();
m_camera.transform.localPosition = UnityARMatrixOps.GetPosition(matrix);
m_camera.transform.localRotation = UnityARMatrixOps.GetRotation (matrix);



m_camera.projectionMatrix = m_session.GetCameraProjection ();

}



}



ARKitからカメラの位置情報を取得してUnityのカメラにセット
UnityARCameraManager.cs
ARKitからカメラのProjectionMatrixを取得してUnityのカメラにセット
void UpdateCameraClipPlanes()

{

currentNearZ = attachedCamera.nearClipPlane;

currentFarZ = attachedCamera.farClipPlane;

UnityARSessionNativeInterface.GetARSessionNativeInterface ().SetCameraClipPlanes (currentNearZ,
currentFarZ);

}



// Update is called once per frame

void Update () {

if (currentNearZ != attachedCamera.nearClipPlane || currentFarZ != attachedCamera.farClipPlane)
{

UpdateCameraClipPlanes ();

}

}



UnityのカメラのNear, Farを取得してARKitのカメラにセット
UnityARCameraNearFar.cs
これな!
背景
iPhoneのカメラの
ビデオストリームを背景に
ARKit
Unity
AR空間の
カメラの位置
の推定
AR空間の
平⾯の位置
の推定
iPhoneの
カメラに
合わせた画⾓
AR空間の
平⾯の
HitTest
AR空間の
明るさ
UnityARSessionInterface
Unityの
カメラに位置
をセット
影
Occlusion
AR⽤背景
明るさに応じ
たライト
ヒットテスト
ビデオストリームでカラーバッファをクリア
それから3D描画
UnityARSessionNativeInterface.cs
UnityARVideo.cs
void InitializeCommandBuffer()

{

m_VideoCommandBuffer = new CommandBuffer(); 

m_VideoCommandBuffer.Blit(null, BuiltinRenderTextureType.CurrentActive, m_ClearMaterial);

GetComponent<Camera>().AddCommandBuffer(CameraEvent.BeforeForwardOpaque,
m_VideoCommandBuffer);

bCommandBufferInitialized = true;



}

UnityのCommandBufferの機能を使って描画コマンドを挿⼊
UnityARVideo.cs
CameraEvent.BeforeForwardOpaque
public void OnPreRender()

{

………

// Texture Y

_videoTextureY = Texture2D.CreateExternalTexture(currentResolution.width,
currentResolution.height,

TextureFormat.R8, false, false, (System.IntPtr)handles.textureY);

_videoTextureY.filterMode = FilterMode.Bilinear;

_videoTextureY.wrapMode = TextureWrapMode.Repeat;

_videoTextureY.UpdateExternalTexture(handles.textureY);



// Texture CbCr

_videoTextureCbCr = Texture2D.CreateExternalTexture(currentResolution.width,
currentResolution.height,

TextureFormat.RG16, false, false, (System.IntPtr)handles.textureCbCr);

_videoTextureCbCr.filterMode = FilterMode.Bilinear;

_videoTextureCbCr.wrapMode = TextureWrapMode.Repeat;

_videoTextureCbCr.UpdateExternalTexture(handles.textureCbCr);



m_ClearMaterial.SetTexture("_textureY", _videoTextureY);

m_ClearMaterial.SetTexture("_textureCbCr", _videoTextureCbCr);

……

ビデオストリームをテクスチャーとしてセット
UnityARVideo.cs
Anchor
ARKitで認識した平⾯
ARKit
Unity
AR空間の
カメラの位置
の推定
AR空間の
平⾯の位置
の推定
iPhoneの
カメラに
合わせた画⾓
AR空間の
平⾯の
HitTest
AR空間の
明るさ
UnityARSessionInterface
Unityの
カメラに位置
をセット
影
Occlusion
AR⽤背景
明るさに応じ
たライト
ヒットテスト
UnityARSessionNativeInterface.cs
UnityARGeneratePlane.cs
UnityARAnchorManager.cs
namespace UnityEngine.XR.iOS

{

public class UnityARGeneratePlane : MonoBehaviour

{

public GameObject planePrefab;

private UnityARAnchorManager unityARAnchorManager;



// Use this for initialization

void Start () {

unityARAnchorManager = new UnityARAnchorManager();

UnityARUtility.InitializePlanePrefab (planePrefab);

}



void OnDestroy()

{

unityARAnchorManager.Destroy ();

}



void OnGUI()

{

List<ARPlaneAnchorGameObject> arpags = unityARAnchorManager.GetCurrentPlaneAnchors ();

if (arpags.Count >= 1) {

//ARPlaneAnchor ap = arpags [0].planeAnchor;

//GUI.Box (new Rect (100, 100, 800, 60), string.Format ("Center: x:{0}, y:{1}, z:
{2}", ap.center.x, ap.center.y, ap.center.z));

//GUI.Box(new Rect(100, 200, 800, 60), string.Format ("Extent: x:{0}, y:{1}, z:
{2}", ap.extent.x, ap.extent.y, ap.extent.z));

}

UnityARAnchorManagerを作る
UnityARGeneratePlane.cs
位置検出したら返ってくる
Hit Test
画⾯タップした位置の
平⾯の座標をゲット
namespace UnityEngine.XR.iOS

{

public class UnityARHitTestExample : MonoBehaviour

{

public Transform m_HitTransform;



bool HitTestWithResultType (ARPoint point, ARHitTestResultType resultTypes)

{

List<ARHitTestResult> hitResults =
UnityARSessionNativeInterface.GetARSessionNativeInterface ().HitTest (point, resultTypes);

if (hitResults.Count > 0) {

foreach (var hitResult in hitResults) {

Debug.Log ("Got hit!");

m_HitTransform.position = UnityARMatrixOps.GetPosition
(hitResult.worldTransform);

m_HitTransform.rotation = UnityARMatrixOps.GetRotation
(hitResult.worldTransform);

Debug.Log (string.Format ("x:{ 0:0.######} y:{ 1:0.######} z:{ 2:0.######}",
m_HitTransform.position.x, m_HitTransform.position.y, m_HitTransform.position.z));

return true;

}

}

return false;

}

iPhoneの画⾯上の点を指定してARKitのヒット
テストを呼ぶ
UnityARHitTestExample.cs
Hit Testの結果をチェック
ARKit
Unity
AR空間の
カメラの位置
の推定
AR空間の
平⾯の位置
の推定
iPhoneの
カメラに
合わせた画⾓
AR空間の
平⾯の
HitTest
AR空間の
明るさ
UnityARSessionInterface
Unityの
カメラに位置
をセット
影
Occlusion
AR⽤背景
明るさに応じ
たライト
ヒットテスト
影
AR空間で影を落とす
https://www.youtube.com/watch?v=v3Gym4mlcn0
ARKit
Unity
AR空間の
カメラの位置
の推定
AR空間の
平⾯の位置
の推定
iPhoneの
カメラに
合わせた画⾓
AR空間の
平⾯の
HitTest
AR空間の
明るさ
UnityARSessionInterface
Unityの
カメラに位置
をセット
影
Occlusion
AR⽤背景
明るさに応じ
たライト
ヒットテスト
MobileARShadow.shader
struct v2f

{

float4 pos : SV_POSITION;



LIGHTING_COORDS(0,1)

};





v2f vert(appdata_base v) {

v2f o;

o.pos = UnityObjectToClipPos (v.vertex);



// 5.) The TRANSFER_VERTEX_TO_FRAGMENT macro populates the chosen LIGHTING_COORDS
in the v2f structure

// with appropriate values to sample from the shadow/lighting map

TRANSFER_VERTEX_TO_FRAGMENT(o);



return o;

}



fixed4 frag(v2f i) : COLOR {



// 6.) The LIGHT_ATTENUATION samples the shadowmap (using the coordinates
calculated by TRANSFER_VERTEX_TO_FRAGMENT

// and stored in the structure defined by LIGHTING_COORDS), and returns the value
as a float.

float attenuation = LIGHT_ATTENUATION(i);

return fixed4(1.0,1.0,1.0,1.0) * attenuation;

}

ShadowMapを取得
MobileARShadow.shader
Shadow Map
Occlusion
実物の後ろにあるものは描画しない
ARKit
Unity
AR空間の
カメラの位置
の推定
AR空間の
平⾯の位置
の推定
iPhoneの
カメラに
合わせた画⾓
AR空間の
平⾯の
HitTest
AR空間の
明るさ
UnityARSessionInterface
Unityの
カメラに位置
をセット
影
Occlusion
AR⽤背景
明るさに応じ
たライト
ヒットテスト
Occlusion
実物の後ろにあるものは描画しない
https://www.youtube.com/watch?v=xEmLGoVs7Fs
机の上は描画されている
机の下は描画されて
いない
MobileOcclusion.shader
ZWrite On

ZTest LEqual

ColorMask 0



CGPROGRAM

#pragma vertex vert

#pragma fragment frag



#include "UnityCG.cginc"



struct appdata

{

float4 vertex : POSITION;

} ;



struct v2f

{

float4 position : SV_POSITION;

} ;



v2f vert (appdata input)

{

v2f output;



output.position = UnityObjectToClipPos(input.vertex);

return output;

}



fixed4 frag (v2f input) : SV_Target

{

return fixed4(0.5, 0.3, 0.0, 1.0);

}

Zは描画
MobileOcclusion.shader
Colorは更新しない
現実世界の明るさを反映
https://www.youtube.com/watch?v=7Kk6iVr5ULo
ARKit
Unity
AR空間の
カメラの位置
の推定
AR空間の
平⾯の位置
の推定
iPhoneの
カメラに
合わせた画⾓
AR空間の
平⾯の
HitTest
AR空間の
明るさ
UnityARSessionInterface
Unityの
カメラに位置
をセット
影
Occlusion
AR⽤背景
明るさに応じ
たライト
ヒットテスト
UnityARAmbient.cs
public void Start()

{

l = GetComponent<Light>();

UnityARSessionNativeInterface.ARFrameUpdatedEvent += UpdateLightEstimation;

}



void UpdateLightEstimation(UnityARCamera camera)

{

// Convert ARKit intensity to Unity intensity

// ARKit ambient intensity ranges 0-2000

// Unity ambient intensity ranges 0-8 (for over-bright lights)

float newai = camera.lightEstimation.ambientIntensity;

l.intensity = newai / 1000.0f;



//Unity Light has functionality to filter the light color to correct temperature

//https://docs.unity3d.com/ScriptReference/Light-colorTemperature.html

l.colorTemperature = camera.lightEstimation.ambientColorTemperature;

}



イベントを登録
UnityARKitAmbient.cs
ライトの⾊温度を変更
垂直な⾯をUnity上で作って
物理シミュレーションと
Occlusion
https://www.youtube.com/watch?v=akCCwPeHF9k
GPSの情報と組み合わせ
https://www.youtube.com/watch?v=CGJHELNepAI

More Related Content

What's hot

20分くらいでわかった気分になれるC++20コルーチン
20分くらいでわかった気分になれるC++20コルーチン20分くらいでわかった気分になれるC++20コルーチン
20分くらいでわかった気分になれるC++20コルーチンyohhoy
 
Boost.Coroutine
Boost.CoroutineBoost.Coroutine
Boost.Coroutinemelpon
 
shared_ptr & weak_ptr (ppt 初版, DL 専用)
shared_ptr & weak_ptr (ppt 初版, DL 専用)shared_ptr & weak_ptr (ppt 初版, DL 専用)
shared_ptr & weak_ptr (ppt 初版, DL 専用)Cryolite
 
【Unite Tokyo 2018 Training Day】C#JobSystem & ECSでCPUを極限まで使い倒そう ~C# JobSystem 編~
【Unite Tokyo 2018 Training Day】C#JobSystem & ECSでCPUを極限まで使い倒そう ~C# JobSystem 編~【Unite Tokyo 2018 Training Day】C#JobSystem & ECSでCPUを極限まで使い倒そう ~C# JobSystem 編~
【Unite Tokyo 2018 Training Day】C#JobSystem & ECSでCPUを極限まで使い倒そう ~C# JobSystem 編~Unity Technologies Japan K.K.
 
Continuation with Boost.Context
Continuation with Boost.ContextContinuation with Boost.Context
Continuation with Boost.ContextAkira Takahashi
 
中高校生対象プログラミング講座Part2
中高校生対象プログラミング講座Part2中高校生対象プログラミング講座Part2
中高校生対象プログラミング講座Part2優希 山本
 
Brief introduction of Boost.ICL
Brief introduction of Boost.ICLBrief introduction of Boost.ICL
Brief introduction of Boost.ICLyak1ex
 
コルーチンでC++でも楽々ゲーム作成!
コルーチンでC++でも楽々ゲーム作成!コルーチンでC++でも楽々ゲーム作成!
コルーチンでC++でも楽々ゲーム作成!amusementcreators
 
中高校生対象プログラミング講座Part1
中高校生対象プログラミング講座Part1中高校生対象プログラミング講座Part1
中高校生対象プログラミング講座Part1優希 山本
 
Segue, Landscape, Touch events, Alpha and User Defined Runtime Attributes
Segue, Landscape, Touch events, Alpha and User Defined Runtime AttributesSegue, Landscape, Touch events, Alpha and User Defined Runtime Attributes
Segue, Landscape, Touch events, Alpha and User Defined Runtime AttributesYutaka Yasuda
 

What's hot (14)

20分くらいでわかった気分になれるC++20コルーチン
20分くらいでわかった気分になれるC++20コルーチン20分くらいでわかった気分になれるC++20コルーチン
20分くらいでわかった気分になれるC++20コルーチン
 
Hands on
Hands onHands on
Hands on
 
Boost.Coroutine
Boost.CoroutineBoost.Coroutine
Boost.Coroutine
 
shared_ptr & weak_ptr (ppt 初版, DL 専用)
shared_ptr & weak_ptr (ppt 初版, DL 専用)shared_ptr & weak_ptr (ppt 初版, DL 専用)
shared_ptr & weak_ptr (ppt 初版, DL 専用)
 
【Unite Tokyo 2018 Training Day】C#JobSystem & ECSでCPUを極限まで使い倒そう ~C# JobSystem 編~
【Unite Tokyo 2018 Training Day】C#JobSystem & ECSでCPUを極限まで使い倒そう ~C# JobSystem 編~【Unite Tokyo 2018 Training Day】C#JobSystem & ECSでCPUを極限まで使い倒そう ~C# JobSystem 編~
【Unite Tokyo 2018 Training Day】C#JobSystem & ECSでCPUを極限まで使い倒そう ~C# JobSystem 編~
 
enchant.js勉強会
enchant.js勉強会enchant.js勉強会
enchant.js勉強会
 
Continuation with Boost.Context
Continuation with Boost.ContextContinuation with Boost.Context
Continuation with Boost.Context
 
中高校生対象プログラミング講座Part2
中高校生対象プログラミング講座Part2中高校生対象プログラミング講座Part2
中高校生対象プログラミング講座Part2
 
コルーチンの使い方
コルーチンの使い方コルーチンの使い方
コルーチンの使い方
 
Brief introduction of Boost.ICL
Brief introduction of Boost.ICLBrief introduction of Boost.ICL
Brief introduction of Boost.ICL
 
コルーチンを使おう
コルーチンを使おうコルーチンを使おう
コルーチンを使おう
 
コルーチンでC++でも楽々ゲーム作成!
コルーチンでC++でも楽々ゲーム作成!コルーチンでC++でも楽々ゲーム作成!
コルーチンでC++でも楽々ゲーム作成!
 
中高校生対象プログラミング講座Part1
中高校生対象プログラミング講座Part1中高校生対象プログラミング講座Part1
中高校生対象プログラミング講座Part1
 
Segue, Landscape, Touch events, Alpha and User Defined Runtime Attributes
Segue, Landscape, Touch events, Alpha and User Defined Runtime AttributesSegue, Landscape, Touch events, Alpha and User Defined Runtime Attributes
Segue, Landscape, Touch events, Alpha and User Defined Runtime Attributes
 

Similar to 深掘りARKit

iOSプログラマへ。HTML5 Canvasがおもしろい!
iOSプログラマへ。HTML5 Canvasがおもしろい!iOSプログラマへ。HTML5 Canvasがおもしろい!
iOSプログラマへ。HTML5 Canvasがおもしろい!cocopon
 
Androidプログラミング初心者のためのゲームアプリ開発入門
Androidプログラミング初心者のためのゲームアプリ開発入門Androidプログラミング初心者のためのゲームアプリ開発入門
Androidプログラミング初心者のためのゲームアプリ開発入門Masahiko Mizuta
 
FlutterをRenderObjectまで理解する
FlutterをRenderObjectまで理解するFlutterをRenderObjectまで理解する
FlutterをRenderObjectまで理解するKeisukeKiriyama
 
HoloLensハンズオン:AirTap & SpatialMapping編
HoloLensハンズオン:AirTap & SpatialMapping編HoloLensハンズオン:AirTap & SpatialMapping編
HoloLensハンズオン:AirTap & SpatialMapping編Takashi Yoshinaga
 
Sprite kitでの横スクロールジャンプ アクションゲーム開発
Sprite kitでの横スクロールジャンプ アクションゲーム開発Sprite kitでの横スクロールジャンプ アクションゲーム開発
Sprite kitでの横スクロールジャンプ アクションゲーム開発studioshin
 
はじめようRGB-Dセンシングと画像処理
はじめようRGB-Dセンシングと画像処理はじめようRGB-Dセンシングと画像処理
はじめようRGB-Dセンシングと画像処理Takashi Yoshinaga
 
C++でのゲームプログラミングをしたときのお話 札幌C++勉強会 #4 〜スタートゲームプログラミング〜
C++でのゲームプログラミングをしたときのお話 札幌C++勉強会 #4 〜スタートゲームプログラミング〜C++でのゲームプログラミングをしたときのお話 札幌C++勉強会 #4 〜スタートゲームプログラミング〜
C++でのゲームプログラミングをしたときのお話 札幌C++勉強会 #4 〜スタートゲームプログラミング〜勝成 鈴江
 
スマートフォン勉強会関西#16(iOS,Android,WP7マルチタッチ)
スマートフォン勉強会関西#16(iOS,Android,WP7マルチタッチ)スマートフォン勉強会関西#16(iOS,Android,WP7マルチタッチ)
スマートフォン勉強会関西#16(iOS,Android,WP7マルチタッチ)Tomonori Ohba
 
Osakijs #01 「enchant.jsハンズオン資料」
Osakijs #01 「enchant.jsハンズオン資料」Osakijs #01 「enchant.jsハンズオン資料」
Osakijs #01 「enchant.jsハンズオン資料」Yusuke HIDESHIMA
 
Media Art II 2013 第7回 : openFrameworks 3Dグラフィクス、OpenGL
Media Art II 2013 第7回 : openFrameworks 3Dグラフィクス、OpenGLMedia Art II 2013 第7回 : openFrameworks 3Dグラフィクス、OpenGL
Media Art II 2013 第7回 : openFrameworks 3Dグラフィクス、OpenGLAtsushi Tadokoro
 
Inside of 聖徳玉子 by O2
Inside of 聖徳玉子 by O2Inside of 聖徳玉子 by O2
Inside of 聖徳玉子 by O2mganeko
 
Unityの夕べ in Fukuoka
Unityの夕べ in FukuokaUnityの夕べ in Fukuoka
Unityの夕べ in FukuokaShinobu Izumi
 
Metaprogramming Universe in C# - 実例に見るILからRoslynまでの活用例
Metaprogramming Universe in C# - 実例に見るILからRoslynまでの活用例Metaprogramming Universe in C# - 実例に見るILからRoslynまでの活用例
Metaprogramming Universe in C# - 実例に見るILからRoslynまでの活用例Yoshifumi Kawai
 
Pf部2012年1月勉強会.androidsola
Pf部2012年1月勉強会.androidsolaPf部2012年1月勉強会.androidsola
Pf部2012年1月勉強会.androidsolaandroid sola
 
【Unite Tokyo 2018 Training Day】C#JobSystem & ECSでCPUを極限まで使い倒そう ~Entity Compon...
【Unite Tokyo 2018 Training Day】C#JobSystem & ECSでCPUを極限まで使い倒そう ~Entity Compon...【Unite Tokyo 2018 Training Day】C#JobSystem & ECSでCPUを極限まで使い倒そう ~Entity Compon...
【Unite Tokyo 2018 Training Day】C#JobSystem & ECSでCPUを極限まで使い倒そう ~Entity Compon...Unity Technologies Japan K.K.
 
PF部2011年12月勉強会.androidsola
PF部2011年12月勉強会.androidsolaPF部2011年12月勉強会.androidsola
PF部2011年12月勉強会.androidsolaandroid sola
 
【GTMF2018TOKYO】ハードウェアの性能を活かす為の、Unityの新しい3つの機能
【GTMF2018TOKYO】ハードウェアの性能を活かす為の、Unityの新しい3つの機能【GTMF2018TOKYO】ハードウェアの性能を活かす為の、Unityの新しい3つの機能
【GTMF2018TOKYO】ハードウェアの性能を活かす為の、Unityの新しい3つの機能Unity Technologies Japan K.K.
 
Python physicalcomputing
Python physicalcomputingPython physicalcomputing
Python physicalcomputingNoboru Irieda
 

Similar to 深掘りARKit (20)

iOSプログラマへ。HTML5 Canvasがおもしろい!
iOSプログラマへ。HTML5 Canvasがおもしろい!iOSプログラマへ。HTML5 Canvasがおもしろい!
iOSプログラマへ。HTML5 Canvasがおもしろい!
 
Androidプログラミング初心者のためのゲームアプリ開発入門
Androidプログラミング初心者のためのゲームアプリ開発入門Androidプログラミング初心者のためのゲームアプリ開発入門
Androidプログラミング初心者のためのゲームアプリ開発入門
 
FlutterをRenderObjectまで理解する
FlutterをRenderObjectまで理解するFlutterをRenderObjectまで理解する
FlutterをRenderObjectまで理解する
 
HoloLensハンズオン:AirTap & SpatialMapping編
HoloLensハンズオン:AirTap & SpatialMapping編HoloLensハンズオン:AirTap & SpatialMapping編
HoloLensハンズオン:AirTap & SpatialMapping編
 
Sprite kitでの横スクロールジャンプ アクションゲーム開発
Sprite kitでの横スクロールジャンプ アクションゲーム開発Sprite kitでの横スクロールジャンプ アクションゲーム開発
Sprite kitでの横スクロールジャンプ アクションゲーム開発
 
はじめようRGB-Dセンシングと画像処理
はじめようRGB-Dセンシングと画像処理はじめようRGB-Dセンシングと画像処理
はじめようRGB-Dセンシングと画像処理
 
Android gameprogramming
Android gameprogrammingAndroid gameprogramming
Android gameprogramming
 
C++でのゲームプログラミングをしたときのお話 札幌C++勉強会 #4 〜スタートゲームプログラミング〜
C++でのゲームプログラミングをしたときのお話 札幌C++勉強会 #4 〜スタートゲームプログラミング〜C++でのゲームプログラミングをしたときのお話 札幌C++勉強会 #4 〜スタートゲームプログラミング〜
C++でのゲームプログラミングをしたときのお話 札幌C++勉強会 #4 〜スタートゲームプログラミング〜
 
スマートフォン勉強会関西#16(iOS,Android,WP7マルチタッチ)
スマートフォン勉強会関西#16(iOS,Android,WP7マルチタッチ)スマートフォン勉強会関西#16(iOS,Android,WP7マルチタッチ)
スマートフォン勉強会関西#16(iOS,Android,WP7マルチタッチ)
 
Osakijs #01 「enchant.jsハンズオン資料」
Osakijs #01 「enchant.jsハンズオン資料」Osakijs #01 「enchant.jsハンズオン資料」
Osakijs #01 「enchant.jsハンズオン資料」
 
Media Art II 2013 第7回 : openFrameworks 3Dグラフィクス、OpenGL
Media Art II 2013 第7回 : openFrameworks 3Dグラフィクス、OpenGLMedia Art II 2013 第7回 : openFrameworks 3Dグラフィクス、OpenGL
Media Art II 2013 第7回 : openFrameworks 3Dグラフィクス、OpenGL
 
Inside of 聖徳玉子 by O2
Inside of 聖徳玉子 by O2Inside of 聖徳玉子 by O2
Inside of 聖徳玉子 by O2
 
Unityの夕べ in Fukuoka
Unityの夕べ in FukuokaUnityの夕べ in Fukuoka
Unityの夕べ in Fukuoka
 
Sencha study
Sencha studySencha study
Sencha study
 
Metaprogramming Universe in C# - 実例に見るILからRoslynまでの活用例
Metaprogramming Universe in C# - 実例に見るILからRoslynまでの活用例Metaprogramming Universe in C# - 実例に見るILからRoslynまでの活用例
Metaprogramming Universe in C# - 実例に見るILからRoslynまでの活用例
 
Pf部2012年1月勉強会.androidsola
Pf部2012年1月勉強会.androidsolaPf部2012年1月勉強会.androidsola
Pf部2012年1月勉強会.androidsola
 
【Unite Tokyo 2018 Training Day】C#JobSystem & ECSでCPUを極限まで使い倒そう ~Entity Compon...
【Unite Tokyo 2018 Training Day】C#JobSystem & ECSでCPUを極限まで使い倒そう ~Entity Compon...【Unite Tokyo 2018 Training Day】C#JobSystem & ECSでCPUを極限まで使い倒そう ~Entity Compon...
【Unite Tokyo 2018 Training Day】C#JobSystem & ECSでCPUを極限まで使い倒そう ~Entity Compon...
 
PF部2011年12月勉強会.androidsola
PF部2011年12月勉強会.androidsolaPF部2011年12月勉強会.androidsola
PF部2011年12月勉強会.androidsola
 
【GTMF2018TOKYO】ハードウェアの性能を活かす為の、Unityの新しい3つの機能
【GTMF2018TOKYO】ハードウェアの性能を活かす為の、Unityの新しい3つの機能【GTMF2018TOKYO】ハードウェアの性能を活かす為の、Unityの新しい3つの機能
【GTMF2018TOKYO】ハードウェアの性能を活かす為の、Unityの新しい3つの機能
 
Python physicalcomputing
Python physicalcomputingPython physicalcomputing
Python physicalcomputing
 

More from Naoji Taniguchi

キングサーモンプロジェクト スタートアップ・エコシステム 東京コンソーシアム 学生向け講演資料
キングサーモンプロジェクト スタートアップ・エコシステム 東京コンソーシアム 学生向け講演資料キングサーモンプロジェクト スタートアップ・エコシステム 東京コンソーシアム 学生向け講演資料
キングサーモンプロジェクト スタートアップ・エコシステム 東京コンソーシアム 学生向け講演資料Naoji Taniguchi
 
H3第40回「ヘルスケアVR超入門」
H3第40回「ヘルスケアVR超入門」H3第40回「ヘルスケアVR超入門」
H3第40回「ヘルスケアVR超入門」Naoji Taniguchi
 
医療×AIシンポジウム -医療×AI推進人材を考える-
医療×AIシンポジウム -医療×AI推進人材を考える-医療×AIシンポジウム -医療×AI推進人材を考える-
医療×AIシンポジウム -医療×AI推進人材を考える-Naoji Taniguchi
 
ヘルスケア分科会ディスカッション
ヘルスケア分科会ディスカッションヘルスケア分科会ディスカッション
ヘルスケア分科会ディスカッションNaoji Taniguchi
 
ヘルスケア領域でのDeep Learnigの動向
ヘルスケア領域でのDeep Learnigの動向ヘルスケア領域でのDeep Learnigの動向
ヘルスケア領域でのDeep Learnigの動向Naoji Taniguchi
 
deep learningによるCTスキャン画像シーケンスの3次元セグメンテーションからのMixed Realityでの活用
deep learningによるCTスキャン画像シーケンスの3次元セグメンテーションからのMixed Realityでの活用deep learningによるCTスキャン画像シーケンスの3次元セグメンテーションからのMixed Realityでの活用
deep learningによるCTスキャン画像シーケンスの3次元セグメンテーションからのMixed Realityでの活用Naoji Taniguchi
 
Deep Learningを使って前立腺のセグメンテーションからVR化
Deep Learningを使って前立腺のセグメンテーションからVR化Deep Learningを使って前立腺のセグメンテーションからVR化
Deep Learningを使って前立腺のセグメンテーションからVR化Naoji Taniguchi
 
HoloEyes株式会社紹介
HoloEyes株式会社紹介HoloEyes株式会社紹介
HoloEyes株式会社紹介Naoji Taniguchi
 
Practical game development with Stingray 2
Practical game development with Stingray 2Practical game development with Stingray 2
Practical game development with Stingray 2Naoji Taniguchi
 
Science museum with_sketch
Science museum with_sketchScience museum with_sketch
Science museum with_sketchNaoji Taniguchi
 
Practical game development with Stingray
Practical game development with StingrayPractical game development with Stingray
Practical game development with StingrayNaoji Taniguchi
 
Practical use of game engine in CG and Robotics
Practical use of game engine in CG and RoboticsPractical use of game engine in CG and Robotics
Practical use of game engine in CG and RoboticsNaoji Taniguchi
 
VRを使ったビジュアライゼーションの可能性について @Unite 2015 Tokyo
VRを使ったビジュアライゼーションの可能性について @Unite 2015 TokyoVRを使ったビジュアライゼーションの可能性について @Unite 2015 Tokyo
VRを使ったビジュアライゼーションの可能性について @Unite 2015 TokyoNaoji Taniguchi
 
デブサミ2015版「VRを使った データビジュアライゼーションの 可能性について」
デブサミ2015版「VRを使った データビジュアライゼーションの 可能性について」デブサミ2015版「VRを使った データビジュアライゼーションの 可能性について」
デブサミ2015版「VRを使った データビジュアライゼーションの 可能性について」Naoji Taniguchi
 
VRを使ったData Visualizationの可能性について
VRを使ったData Visualizationの可能性についてVRを使ったData Visualizationの可能性について
VRを使ったData Visualizationの可能性についてNaoji Taniguchi
 

More from Naoji Taniguchi (20)

Vaniimenu and Holoeyes
Vaniimenu and HoloeyesVaniimenu and Holoeyes
Vaniimenu and Holoeyes
 
キングサーモンプロジェクト スタートアップ・エコシステム 東京コンソーシアム 学生向け講演資料
キングサーモンプロジェクト スタートアップ・エコシステム 東京コンソーシアム 学生向け講演資料キングサーモンプロジェクト スタートアップ・エコシステム 東京コンソーシアム 学生向け講演資料
キングサーモンプロジェクト スタートアップ・エコシステム 東京コンソーシアム 学生向け講演資料
 
H3第40回「ヘルスケアVR超入門」
H3第40回「ヘルスケアVR超入門」H3第40回「ヘルスケアVR超入門」
H3第40回「ヘルスケアVR超入門」
 
医療×AIシンポジウム -医療×AI推進人材を考える-
医療×AIシンポジウム -医療×AI推進人材を考える-医療×AIシンポジウム -医療×AI推進人材を考える-
医療×AIシンポジウム -医療×AI推進人材を考える-
 
Pillow2.0
Pillow2.0Pillow2.0
Pillow2.0
 
ヘルスケア分科会ディスカッション
ヘルスケア分科会ディスカッションヘルスケア分科会ディスカッション
ヘルスケア分科会ディスカッション
 
ヘルスケア領域でのDeep Learnigの動向
ヘルスケア領域でのDeep Learnigの動向ヘルスケア領域でのDeep Learnigの動向
ヘルスケア領域でのDeep Learnigの動向
 
deep learningによるCTスキャン画像シーケンスの3次元セグメンテーションからのMixed Realityでの活用
deep learningによるCTスキャン画像シーケンスの3次元セグメンテーションからのMixed Realityでの活用deep learningによるCTスキャン画像シーケンスの3次元セグメンテーションからのMixed Realityでの活用
deep learningによるCTスキャン画像シーケンスの3次元セグメンテーションからのMixed Realityでの活用
 
Robo diorama
Robo dioramaRobo diorama
Robo diorama
 
Deep Learningを使って前立腺のセグメンテーションからVR化
Deep Learningを使って前立腺のセグメンテーションからVR化Deep Learningを使って前立腺のセグメンテーションからVR化
Deep Learningを使って前立腺のセグメンテーションからVR化
 
HoloEyes株式会社紹介
HoloEyes株式会社紹介HoloEyes株式会社紹介
HoloEyes株式会社紹介
 
VR元年のその次へ
VR元年のその次へVR元年のその次へ
VR元年のその次へ
 
心臓のお勉強
心臓のお勉強心臓のお勉強
心臓のお勉強
 
Practical game development with Stingray 2
Practical game development with Stingray 2Practical game development with Stingray 2
Practical game development with Stingray 2
 
Science museum with_sketch
Science museum with_sketchScience museum with_sketch
Science museum with_sketch
 
Practical game development with Stingray
Practical game development with StingrayPractical game development with Stingray
Practical game development with Stingray
 
Practical use of game engine in CG and Robotics
Practical use of game engine in CG and RoboticsPractical use of game engine in CG and Robotics
Practical use of game engine in CG and Robotics
 
VRを使ったビジュアライゼーションの可能性について @Unite 2015 Tokyo
VRを使ったビジュアライゼーションの可能性について @Unite 2015 TokyoVRを使ったビジュアライゼーションの可能性について @Unite 2015 Tokyo
VRを使ったビジュアライゼーションの可能性について @Unite 2015 Tokyo
 
デブサミ2015版「VRを使った データビジュアライゼーションの 可能性について」
デブサミ2015版「VRを使った データビジュアライゼーションの 可能性について」デブサミ2015版「VRを使った データビジュアライゼーションの 可能性について」
デブサミ2015版「VRを使った データビジュアライゼーションの 可能性について」
 
VRを使ったData Visualizationの可能性について
VRを使ったData Visualizationの可能性についてVRを使ったData Visualizationの可能性について
VRを使ったData Visualizationの可能性について
 

深掘りARKit