はじめに
普段、IT企業で働いてますプログラマー芸人のジンバと申します!
前回、Unity × Immersal SDKでVPSを用いたARアプリを実装するための環境手順を説明しました!
今回はこのARアプリで現実空間にオブジェクトを置いた時の精度を確認します!
準備
Unityにマッピングデータを入れるとこのようにポスターと地面の形状が分かります。
このようにオブジェクトを配置してみました!
・ポスターに沿って円形のオブジェクト
・地面に立つように円筒のオブジェクト
現地で正確な位置に表示されるのか!
いざ現地へ!
良い感じにポスターの沿ってますねー!ちゃんと回り込んでも位置は変わらずでした!

地面との接地もOKです!

オクルージョン(手前にある物体が後ろにある物体を隠す状態)も出来ています!
アニメーションは注意が必要
赤矢印:何もアニメーションなし
青矢印:以下のような位置を変えるスクリプトを付ける
using System;
using System.Numerics;
using UnityEngine;
public class SimpleHarmonicMotion : MonoBehaviour
{
public float amplitude = 1f; // 振幅
public float frequency = 1f; // 周波数
private UnityEngine.Vector3 startPosition;
void Start()
{
startPosition = transform.position; // 初期位置を保存
}
void Update()
{
// 単振動の計算
float displacement = amplitude * Mathf.Sin(Time.time * frequency * 2.0f * Mathf.PI);
transform.position = startPosition + new UnityEngine.Vector3(0, displacement, 0);
}
}
緑矢印:位置を動かすAnimationを設定
現地に行くと...
赤矢印:表示されアニメーションなし
青矢印:表示されない!
緑矢印:表示されアニメーションあり
スクリプトから位置を動かそうとすると表示がおかしくなります!これはどこでやっても同じだったので「アニメーションをつけたいときはAnimatorから行う」ことを注意してください!
結果
かなり精度良かったですね!
・銅像などの装飾
・観光スポットのガイド
などに使えそうです!
ただしアニメーションをつけたいときはAnimatorから行うことに注意してください!
告知
ご覧いただきありがとうございました!
普段、IT企業で働いてます「プログラマー芸人」ジンバです!
YouTubeもご覧くださいー!↓