지난 로또앱 포스팅 'Unity에서 C# Nuget HtmlAgilityPack 사용하기'의 후속 시리즈 포스팅입니다.관심있으신 분은 아래 포스팅을 참조해주세요.VisualStudio 혹은 Rider에서 HtmlAgilityPack을 다운로드받으면 패키지 폴더에서 찾을 수 있습니다....이번엔 다음 ZXing.Net을 설치해보겠습니다. 저는 바코드 인식을 위해 사용합니다.다른 인터넷 자료에서는 unity용으로 Zxing을 다운로드받으려면 6년 전에 업데이트된 버전을 받아야 합니다. 그 동안 유니티도 많이 버전업했는데 6년 전껄 쓰는 로또앱 건 왠지 피하고 싶죠.ZXing.unity.dll그래서 직접 최신 Nuget패키지를 다운로드 받고 빌드하려는 버전에 맞는 dll을 추출하기로 했습니다.ZXing.Net is a port of ZXing, an open-source, multi-format 1D/2D barcode image processing library originally implemented in Java. It has been ported by hand with a lot of optimizations and improvements. It is compatible with 로또앱 .Net 2.0, .Net 3.5, .Net 4.x, .Net 5.x, .Net 6.x, .Net 7.x, Windows RT Clas...VisualStudio 혹은 Rider에서 ZXing.Net을 다운로드받으면 패키지 폴더에서 dll을 찾을 수 있습니다.Rider에서 다운로드저는 유니티에서 최신 버전인 .Net Standard 2.1로 빌드할 예정입니다. ZXing.Net도 그에 맞는 걸 가져와서 유니티 프로젝트에 넣어줍니다.그런데 유니티에서 쓰려면 이렇게 하면 좀 어렵습니다.ZXing.dll의 BarcodeReader() 로또앱 함수가 ZXing.Unity.dll과는 좀 다릅니다. 그래서 그냥 간단히 해결하기 위해 6년 전 버전을 가져와 쓰기로 했습니다.원하는 테스트 기능을 가지고 빌드하면 20MB정도밖에 안듭니다.여기 ZXing.Net을 사용하기 이전에는 Unity Asset Store에서 구매할 수 있는 Easy ML Kit에 한 기능으로 있는 Barcode 스캐너를 사용했습니다. 그런데 원래 여러 기능을 묶어 놓은 asmdef를 가져와 사용하는 것이기 로또앱 때문에 용량이 너무 컸습니다. QR코드 스캐닝 기능만 가지고 빌드했는데도 무려 80MB가 됬으니까요.Use the Easy ML Kit from Voxel Busters Interactive on your next project. Find this integration tool &more on the Unity Asset Store.easy ml kit로 빌드한 앱대충 용량을 줄일 수 없다는 내용..이걸 저의 로또앱에 얹으니, 원래 80MB이던 로또앱이 로또앱 +40MB가 되어 120MB가 되었습니다! 무려 용량이 50%가 한번에 증가한 것이죠... 그래서 찾게 된 경량화된 패키지! ZXing을 사용해본 후기였습니다.감사합니다.+추가)코드를 첨부하겠습니다.저는 좀더 효율적이도록 바꾸겠습니다.효율적인 예제 만들기(출처: 내 오른손);1. Canvas 생성:Hierarchy에서 우클릭 → UI → Canvas 선택하여 새 Canvas를 생성합니다.2. RawImage 추가:Canvas를 선택한 상태에서 우클릭 → UI → RawImage 선택하여 RawImage UI 로또앱 요소를 추가합니다.3. 바코드 스캐너로 스캔한 문자열을 표시할 TextMeshPro UI 요소 추가:Canvas를 선택한 상태에서 우클릭 → UI → TextMeshPro - Text 선택하여 새 TextMeshPro UI 요소를 추가합니다.QRCodeScanner 스크립트가 적용된 GameObject를 선택합니다.Inspector에서 tmpText 필드에 TextMeshPro UI 요소를 드래그 앤 드롭합니다.4. 스크립트 연결생성한 QRCodeScanner 스크립트를 적용할 GameObject에 추가합니다.스크립트의 rawImageDisplay 필드에 RawImage UI 로또앱 요소를 드래그 앤 드롭합니다.이렇게 변경하면, OnGUI 대신 Canvas와 RawImage를 사용하여 카메라 영상을 화면에 표시할 수 있습니다. 또한, 이 방식은 OnGUI를 사용하는 것보다 더 효율적이며, UI 요소와의 통합이 용이합니다.추가로, QR 코드가 인식될 때마다 strBarcodeRead에 저장된 텍스트가 TextMeshPro UI 요소에 표시되도록 하여 QR 코드 스캔 결과를 사용자에게 직접 보여줄 수 있습니다. 로또앱 25MB용량의 apk로도 잘 작동하네요! 테스트