Unity ARcoreで認識した画像の位置から少しずらしてオブジェクトを表示させる方法を教えてください
解決したいこと
UnityでARcoreを使ってAndroidのARアプリを作っています。
ARcoreで認識した画像の位置から少しずらした位置にオブジェクトを表示させたいです。
下記のソースコードをつけ足して実行してみたところ、オブジェクトの位置が変わらないどころか、追加する前まで表示されていたオブジェクトまでもが表示されなくなりました。
特にエラーが出ているわけでもなく原因がわかりません。
追加したソースコード
Vector3 pos = imageMarkerTransform.transform.position;
pos.y += 1.0f;
imageMarkerTransform.transform.position = pos;
関数全体のソースコード
private void ActivateARObject(ARTrackedImage trackedImage)
{
//認識した画像マーカーの名前を使って辞書から任意のオブジェクトを引っ張り出す
var arObject = _markerNameAndPrefabDictionary[trackedImage.referenceImage.name];
var imageMarkerTransform = trackedImage.transform;
//位置合わせ
Vector3 pos = imageMarkerTransform.transform.position;
pos.y += 1.0f;
imageMarkerTransform.transform.position = pos;
var markerFrontRotation = imageMarkerTransform.rotation * Quaternion.Euler(90f, 0f, 0f);
arObject.transform.SetPositionAndRotation(imageMarkerTransform.transform.position, markerFrontRotation);
arObject.transform.SetParent(imageMarkerTransform);
//トラッキングの状態に応じてARオブジェクトの表示を切り替え
arObject.SetActive(trackedImage.trackingState == TrackingState.Tracking);
}
わかる方がいらっしゃいましたら、解決方法を教えてください。
0