Unity ML-Agents 설치부터 예제까지 완전 정복 가이드
임형빈
2025. 5. 13.
- 혹시 게임 속 NPC들이 너무 뻔하거나 예측 가능하다고 느껴지거나
- 내가 만든 게임의 밸런스를 완벽하게 맞추고 싶은데, 수많은 QA와 테스트를 직접 해야 해서 막막했던 경험이 있으신가요?
요즘 핫한 생성형 AI나 LLM(Large Language Model)처럼 게임 개발에도 인공지능을 똑똑하게 활용할 수 있는 도구인 Unity ML-Agents가 있습니다.
이 글에서는 Unity ML-Agents를 설치하는 방법부터 실제 예제를 따라 하며 강화 학습의 기본 개념을 익히고, 나만의 게임에 바로 적용할 수 있는 방법까지 차근차근 안내해 드리려고 합니다.
이제 복잡한 설정과 어려운 이론에 지쳐 있던 분들도 손쉽게 AI 캐릭터를 움직이며 직접 AI 기술을 경험해보실 수 있을거예요.
*더 자세한 내용은 엘리스의 온라인 교육 플랫폼 엘카데미에서 확인할 수 있습니다.
Unity ML-Agents란?
Unity ML-Agents(Unity Machine Learning Agents Toolkit) 는 딥러닝이라는 AI 기술을 이용해서 게임이나 시뮬레이션 속 캐릭터들을 훈련시키고, 똑똑하게 움직이도록 만들어주는 아주 강력한 도구입니다.
마치 우리가 강아지에게 ‘앉아’, ‘손’과 같은 명령을 가르치듯이, ML-Agents를 이용하면 게임 속 캐릭터들에게 원하는 행동을 학습시킬 수 있습니다.
예를 들면 단순히 NPC를 더 똑똑하게 만드는 것뿐만 아니라, 게임 출시 전에 게임의 재미나 디자인을 테스트하는 데에도 활용될 수 있는거죠.
이 툴킷은 게임 개발자는 물론 AI 연구자들에게도 아주 유용한데요.
AI 연구자들은 AI 기술을 게임이라는 현실감 넘치는 환경에서 실험하고, 플랫폼을 통해 그 결과를 공유할 수도 있습니다.
Unity ML-Agents, 게임 개발의 새로운 가능성을 열다
Unity ML-Agents Toolkit은 Unity라는 인기 있는 게임 엔진에 들어가는 오픈 소스 플러그인입니다.
이 툴킷을 사용하면 게임이나 시뮬레이션 환경 자체가 똑똑한 AI 에이전트를 훈련시키는 ‘훈련장’이 될 수 있습니다.
마치 현실 세계의 운동선수가 훈련을 통해 실력을 향상시키듯이, 게임 속 AI 캐릭터들도 ML-Agents를 통해 스스로 학습하고 성장할 수 있게 되는 거죠.
ML-Agents의 세 가지 핵심 요소
첫 번째는 학습 환경입니다. 이건 우리가 흔히 보는 Unity 게임 화면, 즉 씬과 그 안의 모든 게임 캐릭터들을 포함합니다. AI 에이전트가 이 환경 속에서 보고, 행동하고, 배우게 됩니다.
두 번째는 Python API입니다. 파이썬이라는 프로그래밍 언어를 이용해서 AI 에이전트의 행동을 훈련시키는 데 필요한 다양한 머신러닝 알고리즘들이 들어 있습니다.
이 Python API는 세 번째 요소인 외부 통신자를 통해 Unity와 정보를 주고받습니다. 게임 속에서 실제로 움직이고 행동하는 에이전트는 Unity의 게임 오브젝트에 붙어 있는 특별한 ‘뇌’와 연결됩니다. 이 ‘뇌’는 최신 버전에서는 행동이라고 불리기도 하는데요. 에이전트가 주변 환경을 인식하고, 어떤 행동을 할지 결정하는 역할을 합니다.
ML-Agents의 핵심 학습 방식은 강화 학습입니다.
마치 어린아이가 넘어지고 다시 일어서는 과정을 통해 걷는 법을 배우듯이, AI 에이전트도 시행착오를 거치면서 보상을 최대화하는 방법을 스스로 터득합니다.
뿐만 아니라, 숙련된 플레이어의 게임 영상을 보여주면서 똑같이 따라 하도록 훈련시키는 모방 학습 기능도 제공합니다.
이처럼 다양한 기능을 가진 ML-Agents는 게임 개발 과정에서 정말 유용하게 활용될 수 있습니다.
예를 들어 게임 속 NPC들을 훨씬 더 똑똑하고 현실적으로 만들 수 있고, AI 에이전트를 훈련시켜서 게임의 다양한 시나리오를 자동으로 플레이하게 함으로써 테스트 과정을 자동화할 수도 있습니다. 또한 특정 전략이 게임 밸런스에 어떤 영향을 미치는지 분석하여 게임의 완성도를 높이는 데에도 도움을 줄 수 있습니다.
게임 뿐만 아니라 Unity의 강력한 물리 엔진과 실감 나는 그래픽 기능을 활용하여 로봇이나 자율 주행차와 같은 분야의 AI를 훈련시키는 시뮬레이션 환경을 만드는 데에도 활용될 수 있습니다.
↑ 큐브 에이전트가 머리 위의 공을 바닥에 떨어뜨리지 않는 방법을 학습하는 모습
↑ 수만번의 시도를 통해 균형을 유지하는 법을 학습한 큐브의 모습
Unity와 ML-Agents, 강화 학습의 기본 구조
강화 학습의 기본 개념
강화 학습은 에이전트가 시도와 오류를 통해 최적의 행동을 학습하는 방식입니다. 에이전트는 행동에 대한 보상 또는 처벌을 받아 누적 보상을 극대화하는 방향으로 학습합니다.
- 에이전트(Agent): 환경과 상호작용하며 행동을 결정하는 주체입니다.
- 환경(Environment): 에이전트가 행동하는 공간으로, Unity에서 자유롭게 구성할 수 있습니다.
- 행동(Action): 에이전트가 환경에서 수행하는 동작입니다.
- 보상(Reward): 에이전트의 행동 결과로 얻는 피드백으로, 이를 통해 에이전트는 더 나은 행동을 학습합니다.
강화 학습에서는 위 다이어그램처럼 에이전트(Agent)가 환경(Environment)과 상호작용하면서 학습을 진행합니다. 에이전트는 특정 행동(Action)을 수행하고, 환경은 새로운 상태(State)와 보상(Reward)을 에이전트에게 제공합니다.
예시를 들어볼까요?
- 에이전트: 게임 내의 플레이어 캐릭터, NPC 등
- 환경: 장애물, 몬스터 등
- 행동: 이동, 점프, 달리기, 공격 등
- 상태: 에이전트의 위치, 주변 적의 위치 및 능력치, 체력, 속도 등
- 보상: 죽음 및 추락(-점수), 코인 획득 및 적 처치(+점수)
이런 구조에서 에이전트(AI)는 최대한 많은, 높은 보상을 얻기 위한 방향으로 행동 패턴을 학습하게 됩니다. 처음에는 랜덤하게 행동하다가 점점 어떤 행동이 좋은 결과를 가져오는지 학습하게 됩니다.
✅ Unity ML-Agents 설치 및 실습 가이드
1단계. Anaconda 설치
Windows 유저
1. 아래 링크로 이동해 운영체제에 맞는 Anaconda 설치 파일을 다운로드합니다.
👉 https://www.anaconda.com/download
2. 설치 후, “Anaconda PowerShell Prompt”를 실행합니다.
(시작 메뉴에서 검색해서 실행할 수 있습니다.)
Mac 유저
(1) Mac 터미널을 실행한 후, 아래 명령어를 입력해 Anaconda를 설치합니다.
brew install --cask anaconda
(2) 설치 후, 아래 명령어로 경로를 환경 변수에 등록해줍니다.
echo 'export PATH="/usr/local/anaconda3/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
(3) 아래 명령어로 설치가 잘 되었는지 확인합니다. 버전 정보가 출력되면 설치 성공입니다.
echo 'export PATH="/usr/local/anaconda3/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
2단계. Python 3.10.12 가상환경 만들기
ML-Agents는 Python 3.10.12 환경에서 가장 안정적으로 작동합니다.
ML-Agents는 PyTorch 등 여러 라이브러리와 함께 동작하며, 특정 버전에서만 호환성 문제가 발생하지 않습니다. 최신 버전보다는 검증된 안정 버전을 사용하는 게 좋습니다.
(1) 아래 명령어를 입력해 가상환경을 생성합니다.
conda create -n ml-agents python=3.10.12
(2) 가상환경을 활성화합니다.
conda activate ml-agents
(3) Python 버전을 확인합니다.
python --version
Python 3.10.12가 출력되면 성공!
3단계. ML-Agents Toolkit 저장소 복사
ML-Agents 공식 예제를 사용하려면 GitHub에서 저장소를 내려받아야 합니다.
(1) 아래 명령어를 차례대로 입력합니다.
git clone https://github.com/Unity-Technologies/ml-agents
cd ml-agents
(2) 아래 명령어로 필요한 패키지를 설치합니다.
pip install -e ./ml-agents-envs
pip install -e ./ml-agents
4단계. 설치 확인 및 학습 알고리즘 실행
학습 알고리즘 실행 명령어를 통해 설치가 제대로 되었는지 확인합니다.
(1) 아래 명령어를 입력합니다.
mlagents-learn config/ppo/Basic.yaml --run-id=eliceBasic
(2) 아래와 같은 메시지가 뜨면 정상 설치 완료입니다.
(3) Unity 에디터에서 3D Ball, Basic, Crawler 같은 환경을 실행하면 훈련이 진행됩니다.
5단계. TensorBoard를 활용한 학습 과정 시각화
(1) 위 명령어로 학습을 실행한 후, 터미널 새 창에서 다음을 입력합니다.
tensorboard --logdir=results
(2) 웹 브라우저에서 http://localhost:6006에 접속하면 학습이 실시간으로 시각화됩니다.
마치며
여기까지 따라오셨다면 ML-Agents 설치 완료입니다! 👏🏻
이제 유니티 에디터 안에서 학습 환경을 실행하고, AI가 어떻게 스스로 학습하는지 실시간으로 확인할 수 있습니다.
이처럼 Unity ML-Agents는 게임 개발자나 인공 지능의 최전선을 탐구하는 연구자가 Unity 프로젝트에 지능형 에이전트를 통합하기 위한 강력하고 접근 가능한 플랫폼을 제공합니다.
제공된 예제를 활용하면 ML-Agents를 보다 쉽게 시작해볼 수 있으며, 이를 통해 향상시킨 AI 훈련 능력은 게임 및 시뮬레이션에서 역동적이고 적응력 있는 행동을 만드는 데 큰 도움이 됩니다.
강화 학습을 배우는 최고의 방법은 직접 실행해보는 것입니다.
여러분도 ML-Agents Toolkit의 다양한 기능을 활용하여 나만의 AI를 훈련할 수 있는 환경을 제작해 보는 것은 어떨까요?
엘리스 엘카데미와 함께하는 ML-Agents 완전 정복하기
- #엘카데미
- #Unity ML-Agents