이미지 및 단어(이미지 감지 샘플) - Nreal Light용 MR Tutorial



이 샘플은 준비된 이미지가 표시될 때 "감지됨"메시지를 표시합니다. 매우 간단한 샘플을 만들어 이미지를 감지하는 방법을 알아보세요.

샘플 저장소


  • mr-tutorials-for-nreal-light/ImagesAndWords at main · karad/mr-tutorials-for-nreal-light

  • 샘플 실행


  • 샘플 저장소 복제, 현재 디렉토리를 ImagesAndWords로 변경합니다. 그리고 Unity로 열기.
  • (NRSDK가 없는 경우) https://nreal-public.nreal.ai/download/NRSDKForUnityAndroid_1.7.0.unitypackage에서 NRSDK 1.7.0 다운로드
  • 열기 Build Setting , 플랫폼을 Android로 변경
  • Project 를 열고 Assets > import package > Custom Package 를 선택한 다음 NRSDKForUnityAndroid_1.7.0.unitypackage 가져오기를 선택합니다.
  • Configure Build Settings을 참조하여 Build Settings > Player Settings 확인
  • 프레스BuildBuild Settings 패널
  • Android 또는 DevKit에 *.apk를 설치합니다.

  • 지도 시간



    1. Nreal 개발을 위한 프로젝트 설정


  • Quickstart for Android - NRSDK Documentation을 참조하고 빌드 설정을 구성하십시오.
  • (NRSDK가 없는 경우) https://nreal-public.nreal.ai/download/NRSDKForUnityAndroid_1.7.0.unitypackage에서 NRSDK 1.7.0 다운로드
  • Project 를 열고 Assets > import package > Custom Package 를 선택한 다음 NRSDKForUnityAndroid_1.7.0.unitypackage 가져오기를 선택합니다.

  • 2. 추적 이미지 준비



    이미지 감지를 위한 샘플 이미지를 준비합니다. 이미지 감지를 위해 여러 이미지를 설정할 수 있습니다. 샘플은 "ImageDetect.png"라는 이미지로 제공됩니다.
  • Assets > Scene 에 넣습니다.

  • 3. TrackingImageDatabase 생성



    이미지 감지에는 이미지 감지를 위해 등록된 이미지가 있는 데이터베이스가 필요합니다.
  • 추적 이미지를 선택하고 마우스 오른쪽 버튼을 클릭하면 상황에 맞는 메뉴가 표시됩니다.
  • Create > NRSDK > TrackingImageDatabase 를 선택합니다. 그러면 TrackingImageDatabase가 생성됩니다.

  • 4. 세션 구성 만들기



    방금 생성한 데이터베이스를 SessionConfig에 등록합니다.
  • Assets > Scene 로 이동하여 Create > NRSDK > SessionConfig 를 선택하여 SessionConfig를 생성합니다.
  • 방금 만든 NRKernalSessionConfig를 선택하고 Inspector를 엽니다.
  • 활성화Image Tracking Mode .
  • TrackingImageDatabaseTracking Image Database로 드래그

  • 5. SessionConfig를 NRCameraRig로 설정



    등록 장소SessionConfigNRCameraRig에 있습니다.
  • Hierarchy > NRCameraRig
  • 선택
  • NRKernalSessionConfig > Session Config
  • 에서 InspectorNR Session Behaviour로 드래그

    6. 이미지 감지를 위한 C# 스크립트 생성


  • 파일 이름이 "IconDetect.cs"인 자산에 C# Script를 만듭니다. 다음과 같이 코드를 작성합니다.

  • using NRKernal;
    using NRKernal.NRExamples;
    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    using UnityEngine.UI;
    
    /// <summary>
    /// Icon Detect class using Trackable Images
    /// </summary>
    public class IconDetect : MonoBehaviour
    {
        /// <summary>
        /// Trackable image list
        /// </summary>
        private List<NRTrackableImage> m_NewMarkers = new List<NRTrackableImage>();
    
        /// <summary>
        /// Display trackable status
        /// </summary>
        public Text text;
    
        // Start is called before the first frame update
        void Start()
        {
            text.text = "Searching";
        }
    
        // Update is called once per frame
        void Update()
        {
            NRFrame.GetTrackables<NRTrackableImage>(m_NewMarkers, NRTrackableQueryFilter.New);
    
            if(m_NewMarkers.Count > 0)
            {
                NRTrackableImage image = m_NewMarkers[0];
                Debug.Log(image.GetCenterPose().ToString());
                // If you use NRAnchor, uncomment the following
                // NRAnchor anchor = image.CreateAnchor();
                text.text = "Detected";
            }
        }
    }
    


    7. 장면에 캔버스와 텍스트 넣기



    큐브 회전 값을 표시하기 위한 PutText 개체입니다.
  • Canvas에서 Create 넣기 > UI
  • TextCanvas의 자식으로 넣습니다.
  • Inspector 패널에서 텍스트를 "정보"로 변경합니다.
  • IconDetect.csInspector 패널에 Canvas를 부착합니다.
  • TextText 텍스트 개체로 설정합니다.

  • 8. 빌드


  • 프레스BuildBuild Settings 패널
  • Android 또는 DevKit에 *.apk를 설치합니다.

  • 9. 이미지 감지를 위해 이미지를 표시하여 애플리케이션 테스트



    자신의 스마트폰이나 PC에서 이미지 감지를 위한 이미지를 표시하고 Nreal Light에서 이미지를 봅니다. Nreal Light에 표시되는 텍스트가 검색 중에서 감지됨으로 이동하는지 확인합니다.

    좋은 웹페이지 즐겨찾기