ARFoundation +ARKitでimage trackingのを試しています。
image trackingサンプル
サンプルだとこのように「Reference image library」に直接画像を設定することによりマーカー認識できるようになると思うのですが、これを外部から設定できるようにしたいです。
画像読み込み方法の参考
こちらを参考にまずはResources.Loadの方法で画像を読み込めるようにAsset > Rerources > sample(画像)としました。
Reference image libraryのスクリプトを直接編集することができないため、実行時に参照ライブラリに画像を追加できるという「Dynamic Library」のスクリプトに記述しました。
以下コードです。
void Start(){ ARTrackedImageManager mARTrackedImageManager = gameObject.GetComponent<ARTrackedImageManager>(); //MutableRuntimeReferenceImageLibrary myRuntimeReferenceImageLibrary = mARTrackedImageManager.CreateRuntimeLibrary() as MutableRuntimeReferenceImageLibrary; var texture = Resources.Load("sample") as Texture2D; Debug.Log("Texture name:"+ texture.name); if (mARTrackedImageManager.referenceLibrary is MutableRuntimeReferenceImageLibrary myRuntimeReferenceImageLibrary) { myRuntimeReferenceImageLibrary.ScheduleAddImageWithValidationJob(texture, "sample", 0.5f); if(myRuntimeReferenceImageLibrary != null) { Debug.Log("myRuntimeReferenceImageLibrary:" + myRuntimeReferenceImageLibrary.count); Debug.Log("supportedTextureFormatCount:" + myRuntimeReferenceImageLibrary.supportedTextureFormatCount); mARTrackedImageManager.referenceLibrary = myRuntimeReferenceImageLibrary; } Debug.Log("入らない"); //mARTrackedImageManager.maxNumberOfMovingImages = 1; //mARTrackedImageManager.trackedImagePrefab = m_TrackedImagePrefab; mARTrackedImageManager.enabled = true; } }
エラーは起きていないのですが、「myRuntimeReferenceImageLibrary.count」が0のままで、
Resourcesフォルダに格納したsample画像が読み込まれておりません…
texture.nameは取れているので読み込みできていると思っていたのですが、どのようにしたら実現できるのでしょうか?
回答1件
あなたの回答
tips
プレビュー