SlideShare a Scribd company logo
Xamarin 手機AR開發
入門初體驗
iOS ARKit
目前iOS/Android系統內建的AR開發框架
• iOS – ARKit
https://developer.apple.com/arkit/
• 內建於iOS 11.x,持續增加功能中
(目前最新 iOS 11.3 ARKit功能:
https://www.imore.com/arkit-updates )
• A9 以上CPU的iPhone/iPad裝置 (iPhone 6s/SE↑)
• 整合既有iOS繪製畫面框架:
• SceneKit (High Level 3D)
• SpriteKit (High Level 2D)
• Metal (Low Level 3D)
• 可使用偵測API檢查裝置能否跑
https://apple.co/2HY5YwO
• 可設定強制僅支援的裝置執行
• 目前僅能在實際裝置上開發
• Android – ARCore
https://developers.google.com/ar/
• Android 8.0以上,持續增加功能(或改名?!)
(前身為ProjectTango: http://bit.ly/2HpHwr8 )
• 目前僅有通過Google驗證的手機可執行:
https://developers.google.com/ar/discover/#suppo
rted_devices
• 裝置上需額外安裝Google Play Store上
的”ARCore” 服務(不相容裝置就擋掉不給裝了):
http://bit.ly/2HY2ieO
• 整合Android SDK/NDK的OpenGLView
• 可使用偵測API檢查裝置能否跑
http://bit.ly/2qQEfHh
• 可設定強制僅支援的裝置執行
• 可在支援的裝置或模擬器上開發
Xamarin官方提供的完整ARCore範例
• 目前跑得起來整合最新
ARCore v1.1的專案程式碼:
http://bit.ly/2qYHM5B
• 具有偵測真實世界水平面功能
• 虛擬AR物件會隨操作手機移
動而有光影變化
• 採用的3D模型為obj格式檔案,
須由程式碼自行為3D物件加上
紋理(texture)
Xamarin官方提供的完整ARKit範例
• “Placing Object”:
http://bit.ly/2KcZ8EC
• 具有偵測真實世界水平面功能
• 虛擬AR物件會隨操作手機移
動而有光影變化
• 使用的3D模型為SceneKit專屬
scn格式檔案
• 應該是從原本Apple官方範例
改寫過來的:
https://apple.co/2HRIonQ
如何生出ARKit
可用3D模型素材
• 用3D軟體(Blender, Maya, AutoCAD)畫
• 網路3D模型資源庫:http://sketchfab.com
本次使用一個可免費使用Android機器人模型
當作範例(Thank you, v1tus ! ):
http://bit.ly/2qYJggb
Xamarin ARKit Introduction 01
如何生出ARKit可用3D模型素材
• 下載的檔案為blender格式
http://www.blender.org/
• 在Windows 10上會和一個可將
iPhone/iPad裝置做為Windows
延伸螢幕的軟體Duet
(http://www.duetdisplay.com/ )
相衝,需先解除安裝並重開機
後再安裝blender
• 可直接由blender匯出ARKit能
使用的.dae格式3D模型檔案
如何生出ARKit可用3D模型素材
• 在Xcode上可直接加入該檔案
並修改一些基本屬性
• Dae格式檔案可再由Xcode轉
換成.scn格式
• 但本範例轉換後載入會自動前
傾90度,不知道如何在Xcode
上修正
如何在程式碼載入dae格式3D模型
整合WebSocket
做多裝置互動的
簡易範例

More Related Content

More from Chen Yu Pao (7)

PPTX
SkiaSharp on Xamarin Forms
Chen Yu Pao
 
PPTX
ReactiveUI Xamarin.Forms
Chen Yu Pao
 
PPTX
WebSocket on client & server using websocket-sharp & ASP.NET Core
Chen Yu Pao
 
PPTX
Xamarin Form using ASP.NET Core SignalR client
Chen Yu Pao
 
PPTX
Xamarin native forms
Chen Yu Pao
 
PPTX
Xamarin的Azure後端懶人包
Chen Yu Pao
 
PPTX
Proto actor 串接 Go 與 C# 簡易上手
Chen Yu Pao
 
SkiaSharp on Xamarin Forms
Chen Yu Pao
 
ReactiveUI Xamarin.Forms
Chen Yu Pao
 
WebSocket on client & server using websocket-sharp & ASP.NET Core
Chen Yu Pao
 
Xamarin Form using ASP.NET Core SignalR client
Chen Yu Pao
 
Xamarin native forms
Chen Yu Pao
 
Xamarin的Azure後端懶人包
Chen Yu Pao
 
Proto actor 串接 Go 與 C# 簡易上手
Chen Yu Pao
 

Xamarin ARKit Introduction 01