[유니티(C#)] 원숭이도 알고 원숭이도 지겨워, 이제 AR 명함

진짜 쉬워요.


내 지능은 원숭이와 같지만 정말 간단해.
얼마나 쉬운지.
완전 AR 초보자인 나도 두 시간도 안 돼서 완성했어.
그래서 이 보도를 본 사람은 한 시간 안에 끝내야 한다.
※ 본 기사는 Andorid 단말기에 설치하는 방법에 관한 이야기입니다.
(Unity에서 Andorid와 관련된 환경을 스스로 구축하기 위해...)
그렇다면 Unity 2019.1부터 Andorid 관련 환경을 구축하는 데 필요한 것도 마음대로
끌려온 것 같습니다.이렇게 개발 환경의 구축도 안심할 수 있다.
아직 Android 환경을 구축하지 못한 사람은 여기 있습니다 → 문장을 총결하다

Vuforia


저는 Vuforia를 강력히 추천합니다.
이유는 매우 간단하다.
지능은 원숭이이기 때문에 ARCore의 명함 제작은 매우 어렵다.
ARKit에는 Mac이 없어서 시도하지 않았습니다.(참조)
하지만 Vuforia를 사용하면 이미지를 3D 객체로 식별하는 데 30분도 걸리지 않습니다.
또한 이미지 식별의 정밀도가 매우 높다.
특징이 없더라도 높은 정밀도로 인식할 수 있다.
ARCore는 로그인할 수 있는 이미지가 엄격하여 특징이 없는 흑백 명함은 식별하기 어렵다.

설치하다


설치부터 표시까지의 절차는 모두가 가장 좋아하는 장난감 실험실에서 총괄한 것이다.
여기→장난감 실험실
제가 순서대로 진행하면 알 수 있을 것 같아요.
어떤 스크립트도 쓰지 않고 완성했습니다.
명함을 식별하고 3차원 대상을 표시하고 싶을 뿐이라면 끝이다.
그러면 제 글씨가 없어요.
이번에 명함에 AR로 3D 개체를 보여드릴게요.
・ 설정된 아이콘을 터치한 후 지정된 URL로 이동
· 얼굴 사진을 만지면 폭발한다(의미불명)
한번 해보고 싶어요.
내 명함은 흑백이어서 별다른 특징이 없다. 그래도 충분히 인식할 수 있다
프레젠테이션으로 소개하고 싶어서 정밀도를 높이고 싶어요.
unityroom명함(?)빌렸어요.

AR 공간의 객체 터치


일반적인 3D와 똑같은 구조로 하면 됩니다.
①접촉한 위치에서 레이를 보내 충돌 판정을 한다.
② Ray가 객체에 닿으면 지정된 이벤트 호출
이게 다야.
단, 하나의 규칙만 있다
표시할 객체를 등록된 ImageTarget의 하위 객체로 설정하십시오.
나는 내가 추가한 대상을 모두 삽입하면 된다고 생각한다.
객체 자체에 부착
using UnityEngine;
using UnityEngine.Events;

public class TouchedObj : MonoBehaviour
{
    [SerializeField]
    UnityEvent touchEvent;

    void Update()
    {
        //タッチされたらイベント呼び出し
        if (OnTouch())
        {
            touchEvent.Invoke();
        }
    }

    //タッチされたらtrueを返す
    bool OnTouch()
    {
        if (0 < Input.touchCount)
        {
                Touch touch= Input.GetTouch(0);

                if (touch.phase == TouchPhase.Began)
                {
                    //タッチした位置からRayを飛ばす
                    Ray ray = Camera.main.ScreenPointToRay(touch.position);
                    RaycastHit hit = new RaycastHit();
                    if (Physics.Raycast(ray, out hit))
                    {
                        if (hit.collider.gameObject == this.gameObject)
                        {
                            return true;
                        }
                    }
                } 
        }
        return false; 
    }
}
이번에는 트위터와 Qiita의 URL을 지정합니다.
MagicaVoxel 스스로 아이콘을 준비했습니다.
나는 그림을 주워서 캔버스에 붙여도 충분하다고 생각한다.

그런 다음 Inspector에서 UnityEvent
등록行いたい処理が書いてあるメソッド하면 됩니다.
    //URLを開く
    public void OpenURL(string url)
    {
        Application.OpenURL(url);
    }

    //爆発
    public void Explosion(GameObject obj)
    {
        obj.SetActive(true);
    }

프레젠테이션


아이콘을 누르면 내 트위터로 날아온다, Qiita
내 사진을 만지면 폭발할 거야.
감사합니다.

좋은 웹페이지 즐겨찾기