Unity 검색

Representative image for Unity Sentis, showing a blue, green, and purple swirl that appears silky and is fading to black along the left side
Representative image for Unity Sentis, showing a blue, green, and purple swirl that appears silky and is fading to black along the left side
공유

Is this article helpful for you?

Thank you for your feedback!

Unity는 개발자가 게임과 애플리케이션에 AI 모델을 활용할 수 있도록 지원하기 위해 Unity Sentis를 만들었습니다. 사전 릴리스 오픈 베타 버전으로 출시된 Sentis를 활용하면 오브젝트 식별, 음성 인식, 스마트 NPC와 같은 복합적인 기능을 모든 종류의 프로젝트에 도입할 수 있습니다.

이러한 AI 모델은 ONNX 파일 표준을 통해 임포트한 후 모든 Unity 지원 플랫폼에서 직접 실행할 수 있습니다. 즉, 클라우드 인프라를 갖추지 않아도 사용자 기기의 Unity Runtime에서 대부분의 AI 모델을 직접 실행할 수 있게 되는 것입니다.

이 콘텐츠는 Targeting Cookies 카테고리를 수락해야만 동영상을 시청할 수 있도록 허용하는 타사 제공업체에서 호스팅합니다. 이러한 제공업체의 비디오를 보려면 쿠키 환경 설정에서 Targeting Cookies 카테고리를 수락하시기 바랍니다.

Unity Sentis 시작하기

Unity Sentis 패키지 기술 자료는 여기에서 확인할 수 있으며 패키지 관리자를 통해 다운로드할 수 있습니다. 프로젝트에 패키지를 설치했으며 사용하려는 AI 모델이 있다면 쉽게 통합할 수 있습니다.

1단계: 지원되는 AI 모델 찾기

프로젝트에 사용할 모델은 전적으로 개발자가 선택할 수 있습니다. 수행하려는 작업에 따라 모델을 선택해야 합니다. 먼저 Hugging Face, Keras, PyTorch 등의 마켓플레이스에서 관심이 가는 모델을 살펴보세요. 머신 러닝 관련 지식이 있다면 자체 모델을 직접 훈련해도 되고, Unity ML-Agents를 사용해서 심층적인 강화 학습을 진행할 수도 있습니다. 핵심은 모델을 반드시 ONNX 파일 포맷으로 변환해야 한다는 것입니다. 필요하다면 TF2ONNX와 같은 ONNX 변환기를 사용할 수 있습니다.

Sentis 기술 자료의 모델 임포트 항목에서 관련 코드 샘플을 확인해 보세요.

2단계: Unity에 모델 로드

Unity에 모델을 로드하는 과정은 에셋을 로드하는 과정과 동일합니다. 에디터 내 프로젝트(Project) 창의 Asset 폴더에 모델을 드래그하면 Sentis가 임포트한 모델을 자동으로 최적화합니다. 그런 다음 런타임 모델 오브젝트를 만듭니다.

Sentis 기술 자료의 모델 로드 항목에서 관련 코드 샘플을 확인해 보세요.

3단계: 입력과 인퍼런스 만들기

입력을 만드는 과정은 간단한 편입니다. ONNX 모델 임포트 설정에서 필요한 모델 입력의 형태와 크기를 확인하고, 그런 다음 데이터 소스를 통해 텐서를 만들 수 있습니다. 여러 개의 입력이 필요할 경우 모든 입력을 하나의 딕셔너리에 저장합니다.

Sentis 기술 자료의 모델에 대한 입력 생성 항목에서 관련 코드 샘플을 확인하세요.

4단계: 모델 실행 및 최적화

모델을 실행할 준비를 마쳤다면, 모델을 사용자의 기기(CPU 또는 GPU)에서 실행할 수 있는 작업으로 분할하는 워커를 만들어야 합니다. 워커는 이 코드 샘플을 참고해서 만들 수 있습니다.

워커가 준비되었다면 AI 모델을 실행할 차례입니다. 이 단계에서는 모델의 입력과 출력을 게임 코드와 연결한 다음 프로파일러를 사용해서 예산 준수 여부를 확인합니다. 예산 범위를 초과했다면 모델을 여러 프레임에 걸쳐 분할하거나, Sentis에서 다른 성능 조정 옵션을 살펴볼 수 있습니다.

Sentis 기술 자료의 모델 실행 항목에서 모델 실행, 출력 확보, 출력 최적화와 관련된 상세 정보를 확인하세요.

5단계: 모델 테스트 및 배포

마지막 단계는 게임을 테스트하고 배포하는 것입니다. 그 과정은 다른 Unity Runtime 플랫폼에서와 동일합니다. 모델은 게임 바이너리 내에 몇 가지 방식으로 도입할 수 있습니다. 모델을 빌드에 임베드하거나, 스트리밍 에셋으로 실행하여 필요할 때만 다운로드하게 할 수도 있습니다. 혹은 보안상 이유로 모델을 암호화하는 것도 고려해 볼 수 있습니다.

Sentis 기술 자료의 모델 암호화 항목에서 관련 코드 샘플을 확인하세요.

프로젝트 샘플

AI로 숫자 인식 모델 만들기

이 입문자용 샘플은 잠긴 방에서 문을 열 수 있도록 오브젝트 감지 모델을 실행하여 Sentis의 기본 기능을 신경망과 함께 활용하는 방법을 보여 줍니다. 여기서는 손으로 쓴 숫자를 읽고 그와 일치할 확률이 가장 높은 숫자를 식별하는 AI 모델인 MNIST를 실행합니다.

이 콘텐츠는 Targeting Cookies 카테고리를 수락해야만 동영상을 시청할 수 있도록 허용하는 타사 제공업체에서 호스팅합니다. 이러한 제공업체의 비디오를 보려면 쿠키 환경 설정에서 Targeting Cookies 카테고리를 수락하시기 바랍니다.

AI 기반 보드 게임 상대 만들기

이 샘플은 Sentis를 사용해 오델로라는 보드 게임에서 설정한 난이도에 따라 상대 역할을 수행하는 봇을 만듭니다. 게임 규칙을 바탕으로 훈련한 신경망을 실행하며, 돌을 놓을 때마다 게임의 승률을 판단해서 승률을 가장 높일 수 있는 움직임을 예측합니다. 이는 복잡한 휴리스틱과 트리 순회를 사용하는 기존의 방식보다 간단한 솔루션입니다.

이 콘텐츠는 Targeting Cookies 카테고리를 수락해야만 동영상을 시청할 수 있도록 허용하는 타사 제공업체에서 호스팅합니다. 이러한 제공업체의 비디오를 보려면 쿠키 환경 설정에서 Targeting Cookies 카테고리를 수락하시기 바랍니다.

AI 기반 뎁스 추정으로 AR 경험 만들기

이 샘플은 Sentis를 AR(증강 현실) 경험에 통합하는 방법을 보여 줍니다. 이는 뎁스 추정 신경망을 사용해서 실제 사물이 게임 씬의 오브젝트를 가릴 수 있게 합니다. 카메라의 동영상 프레임을 처리하여 뎁스를 파악하는 이 방식은 비용이 많이 드는 휴대폰에서만 사용할 수 있는 LiDAR 센서를 활용한 기존의 방식보다 확장성이 뛰어납니다.

이 방식은 카메라가 있는 모바일 기기에서 사용할 수 있으며 LiDAR 센서를 필요로 하지 않습니다.

이 콘텐츠는 Targeting Cookies 카테고리를 수락해야만 동영상을 시청할 수 있도록 허용하는 타사 제공업체에서 호스팅합니다. 이러한 제공업체의 비디오를 보려면 쿠키 환경 설정에서 Targeting Cookies 카테고리를 수락하시기 바랍니다.

기타 사용 사례

AI 모델을 활용하면 기존의 코드로는 불가능했거나 개발에 막대한 시간이 소요되었을 유용한 기능을 만들 수 있습니다. 사용 사례는 AI 모델의 모든 범주를 아우르며, 그 활용 방식은 개발자가 구현하고자 하는 모델에 따라 달라집니다. 그래도 개발 과정에서의 Sentis 활용법을 몇 가지 꼽아 보자면 다음과 같습니다.

이미지/에셋 업스케일링

다양한 플랫폼으로 손쉽게 퍼블리싱이 가능하다는 점은 개발자들이 Unity를 선택하는 큰 이유입니다. 하지만 최적화 또한 여전히 중요한 과제입니다. TensorFlow의 Super Resolution과 같은 업스케일링 모델을 활용하면 게임의 저해상도 이미지나 텍스처를 프로덕션 품질로 끌어올리거나, 다양한 기기에서 필요할 때에만 에셋을 최적화할 수 있습니다.

음성 인식

플레이어 상호 작용은 커넥티드 온라인 게임에서 NPC 및 다른 플레이어와 소통하기 위한 핵심 요소입니다. OpenAI의 Whisper와 같은 음성 텍스트 변환 모델을 활용하면 실시간으로 음성을 인게임 텍스트로 변환할 수 있습니다. 또한 AI 모델을 도입해서 매뉴얼 스크립팅의 제한 없이 다이얼로그를 자동화하고 플레이어 및 NPC 간 유의미한 상호 작용을 생성할 수도 있습니다.

그래픽스 최적화

AI는 참신한 기능을 개발하는 데에 주로 활용되고 있지만, 한편으로는 게임 성능 향상 측면에서도 매우 유용하게 쓰일 수 있습니다. 게임 씬의 사전 렌더링된 프레임을 가상화하기 위해 업스케일링 GAN AI 모델을 사용하여 모바일에서의 레이트레이싱을 향상하는 AI 모델이 좋은 예시입니다. 이러한 활용 방식을 통해 개발자는 소규모 프로젝트에서 사용자 기기의 성능에 영향을 미치지 않으면서도 빛 굴절이나 커스틱 면 광원과 같은 패스트레이싱 기능을 구현할 수 있습니다.

AR 및 VR 오브젝트 인식

AR과 VR(가상 현실) 또한 Sentis를 통해 AI 모델을 활용할 수 있는 훌륭한 사용 사례입니다. 예를 들어 Ultralytics YOLO 모델을 사용해 VR에서는 게임 씬의 오브젝트를, AR에서는 기기 카메라 피드의 실제 사물을 감지할 수 있습니다. 이를 통해 사용자는 오직 AI로만 구현할 수 있는 새로운 차원의 시각적 경험을 누릴 수 있습니다.

Unity Sentis는 현재 오픈 베타 버전으로 무료 제공되며, Unity 2021.3 이상을 사용하는 Unity 개발자라면 누구든지 패키지 관리자를 통해 사용할 수 있습니다.

2023년 11월 29일 게임 | 9 분 소요

Is this article helpful for you?

Thank you for your feedback!

관련 게시물