AR Core 미리 할당된 오브젝트의 위치이동으로 구현하기
터치하면
public GameObject ObjPrefab;
할당해놓은 오브젝트가 anchor 위치로 이동함.
Anchor.cs 열어보면 Anchor가 트레킹 되지않을경우 child Object들은 setActive를 끄는 부분이 존재함. 주의
public void Update()
{
_UpdateApplicationLifecycle();
Touch touch;
if (Input.touchCount < 1 || (touch = Input.GetTouch(0)).phase != TouchPhase.Began)
{
return;
}
if (EventSystem.current.IsPointerOverGameObject(touch.fingerId))
{
return;
}
TrackableHitFlags raycastFilter = TrackableHitFlags.PlaneWithinPolygon |
TrackableHitFlags.FeaturePointWithSurfaceNormal;
if (Frame.Raycast(touch.position.x, touch.position.y, raycastFilter, out TrackableHit hit))
{
if ((hit.Trackable is DetectedPlane) &&
Vector3.Dot(FirstPersonCamera.transform.position - hit.Pose.position,
hit.Pose.rotation * Vector3.up) < 0)
{
Debug.Log("Hit at back of the current DetectedPlane");
}
else
{
//GameObject prefab;
if (hit.Trackable is FeaturePoint)
return;
var anchor = hit.Trackable.CreateAnchor(hit.Pose);
ObjPrefab.transform.parent = anchor.transform;
Vector3 l_euler = FirstPersonCamera.transform.rotation.eulerAngles;
l_euler = new Vector3(0f, l_euler.y, 0f);
ObjPrefab.transform.rotation = Quaternion.Euler(l_euler);
ObjPrefab.transform.localPosition = new Vector3(0f, 1f, 0f);
}
}
}
조만간 직접 해보고 자세한 설명과 사용법을 추가할 예정!
'IT이야기 > AR' 카테고리의 다른 글
AR] 뷰포리아로 AR어플 만들기! (lean touch 포함) (0) | 2019.10.23 |
---|---|
[ARCORE / unity] 배경 BGM 넣기! (0) | 2019.10.13 |
[ARCORE] arcore sample 예제! (0) | 2019.08.28 |