개인 작업 목록

Unity - AI Poet Haru

BaekNohing 2022. 8. 28. 11:28

a cute cat snail

작업기간 :
2021.06 ~ 2021.12
작업인원 :
7명 (유니티 및 서버 개발자로 참여)
프레임워크 :
unity, node.js(express)

 

1. 개요

21년 6월 경 유니티 개발자 포지션 제안을 받아 참여하게되었다. 아트앤테크 활성화 창작지원 사업의 지원을 받아 진행되었으며 ai와 시를 이용해 사람이 창작하는 과정을 모사하는 프로젝트다.

2. AI 연구

진행 초기에는 기획이 완성되지 않아서 AI연구에 참여하였다.
처음에는 Jetson nano를 이용해 자연어 학습을 진행하려고 했지만 jetson nano의 초기 세팅을 하면서 난관에 봉착했는데. torch따위를 설치할 때 cuda등의 버젼이 계속 말썽을 일으켰던 것으로, 결국 적절한 os버젼을 찾지 못해서 gpt-3 api를 사용하기로 했다.

또한 초기 기획에서는 유니티 내에서 머신러닝 에이젼트를 이용해 오브젝트를 컨트롤하고자 했는데. 머신러닝 자체는 순조롭게 진행되었지만, 학습을 진행하면서 이렇게 학습된 오브젝트가 사람이 구성한 코드와 비교했을 때 우리가 사용할 단순한 환경에서 과연 얼마나 다른것인가? 하는 회의감을 느꼈고. 토의를 통해 거리를 기반으로한 단순한 추적으로 대체하였다.

연구를 진행하며, 서로 다르게 구현했지만 결국 비슷하게 작동하는 결과물들을 보면서 프로젝트의 목적 달성을 위해 필요한 적정 기술들을 어느정도로 예상하는게 좋을지 고민해볼 수 있었다.

* 브리핑에 사용했던 노션 링크(예시) *

3. 서버 개발

처음에는 유니티 개발만 진행하기로 했었지만, AI연구를 주도적으로 진행하게 되면서 자연스럽게 결과물과 유니티를 연결하는 서버 또한 구현하게 되었다. nodejs를 이용해 연산된 결과물을 유니티쪽으로 보내도록 만들었고, 유저가 전송하는 사진을 서버에 저장하거나 특정 패턴에 따라 불러올 수 있도록 했다.

4. WebGL 개발

웹사이트로 배포하는게 목적이었기 때문에, WebGL 빌드를 사용했는데 빌드 자체는 순조롭게 진행되었지만. 빌드된 내용을 과정에서 CORS(Cross Origin Resource Sharing)문제로 다른 jetson nano의 결과물을 바로 불러오지 못하는 이슈나 유니티 내에서는 한글이 정상적으로 출력되지만 빌드 이후에는 한글이 출력되지 않는 기본 폰트로 전환되면서 한글이 "안보이는" 등 예상치도 못한 문제들을 발견했고 해결했다.