原创 Obj模型之mtl文件格式

.mtl文件(Material Library File)是材質庫文件,與obj文件配合,把紋理顏色渲染到obj模型上。 描述的是物體的材質信息,ASCII存儲,任何文本編輯器都可以打開和編輯。一個.mtl文件可以包含一個或多個材質定義,對

原创 XR Plug-in Framework

Unity 2019.3和更高版本使用新的統一插件框架,該框架可實現多個平臺的直接集成。 該技術堆棧由一個API組成,該API公開了Unity支持並啓用XR的各個平臺的通用功能硬件和軟件提供商開發自己的Unity插件。 該圖說明了當前的U

原创 Unity之ARFoundation動作捕捉

本人也是第一次瞭解Unity,目的是想調研下Unity的AR Foundation框架。 一、準備工作 註冊個人賬號,然後下載Unity。 最好選擇從Hub下載,Hub是管理項目的平臺。 下載完成後,打開Hub,登錄賬號,授權個人版(個人調

原创 Configuring your Unity Project for XR

要爲XR配置Unity項目,請執行以下步驟: 打開Project Settings窗口(菜單:Edit > Project Settings),然後選擇XR Plug-in Management。 如果尚未安裝該軟件包,請單擊 Insta

原创 通過Metal展示AR體驗

在相機信息流上控制你的app虛擬內容渲染。 一、概述 ARKit包含視圖類,可輕鬆顯示SceneKit或SpriteKit的AR體驗。 但是,如果改爲使用Metal來構建自己的渲染引擎,則ARKit也將提供所有必要的支持,以使用自定義視圖顯

原创 關於ARKit XR插件 技術細節

ARKit XR Plugin 4.1.5 使用 ARKit XR 插件包可通過 Unity 的多平臺XR API啓用ARKit支持。 該軟件包實現了以下XR子系統: Session Camera Depth Input Planes R

原创 Metal之fragment顏色透明和半透明

descriptor.colorAttachments[0].pixelFormat = .bgra8Unorm 在pipelineState的像素格式設置爲 bgra8Unorm 後,就可以在Shader的fragment返回的floa

原创 Metal之矩陣轉換

ARSession中模型座標轉換到Metal的Shader座標 vertex ColorInOut anchorGeometryVertexTransform(uint vid [[vertex_id]],

原创 Swift之數據模型選擇結構體或類

確定如何存儲數據和模型行爲。 總覽 結構體 和 類 是在應用程序中存儲數據和模型行爲的不錯選擇,但是 結構體 和 類 的相似性使其很難選擇。 在向你的應用程序添加數據類型時,可以參考以下建議: 默認情況下使用 結構體。 Default

原创 flutter之CocoaPods could not find compatible versions for pod "xxPlugin""

運行 flutter build ios 的時候報錯Error running pod install,中間的報錯信息如下: [!] CocoaPods could not find compatible versions for

原创 Swfit之關鍵字

一、@avaiable @available(iOS 2.0, *) @available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) @available(swift, deprecated:

原创 Swift之weak和unowned

Swift 提供了兩種方法解決你在使用類的屬性而產生的強引用循環:弱引用( weak )和無主引用( unowned )。 弱引用( weak )和無主引用( unowned )能確保一個實例在循環引用中引用另一個實例,而 不用 保持強引用

原创 Swift之UnsafeMutableRawPointer

用於訪問和處理無類型數據的原始指針。 UnsafeMutableRawPointer 類型不提供自動內存管理,類型安全性和對齊保證。你有責任處理你創造的任何不安全內存的生命週期,以避免泄漏或不確定的行爲。 您手動管理的內存可以 未類型化 或

原创 SCNNode的方向和夾角

在三維座標系中,有些時候我們需要知道一個平面(Node)與世界座標系中某個軸(x、y、z)的夾角。然後做一些額外操作。 因爲沒有直接的屬性,只能間接求得。 SCNNode 有屬性 simdOrientation : 節點的方向,表示爲四

原创 SCNHitTestOption.searchMode 使用

一、SCNHitTestOption.searchMode 使用 let dic:[SCNHitTestOption: Any]? = [SCNHitTestOption.boundingBoxOnly: true]