유니티 텍스트 기반 AI 제작 도구 MUSE

바야흐로 개발 분야는 대 인공지능의 시대이다. ChatGPT 와 같은 LLM 대화형 인공지능기술을 활용하여 코드를 참조하거나, 과거로 부터 자주 사용되었던 인텔리센스 기능을 뛰어넘는 Github 의 Copilot 기능을 활용하거나..

여러모로 참 편리하고 재밌는 시대.

여러가지 측면에서 “생산성” 향상이라는 측면에서 많은 개선과 발전이 있을 것이라는 기대를 갖고 있는 변화와 발전의 시대이다.

그래서 나 역시 틈틈히 알려진 인공지능 기술을 활용하면서 나와 같은 1인이 좀 더 생산성을 향상 시킬 수 있을까..? 에 대한 노력을 해오기도 했다.

AI 기술을 활용한 게임 개발 해보기 with ChatGPT
요즘 워낙 핫한 ChatGPT. 나도 스터디도 해보고 몇번 써보긴 했는데.. 막상 .. 어디에 써야할지 감을 못잡았다. 시대의 빠른 발전에 적응하지 못하는 아재 개발자에게 신기술은 우와 + 많은 고민을 주는 것 같다. 그러다가, 최근 고민하고 있던 이슈를 해결하기 위해서 너무 좋은 파트너가 아닐까 생각이 들어서 한번 테스트를 해보았다. 바로 “기획보조” 업무를 같이 하는

결론부터 말하면

” 쉽지 않다.” 였다.

분명히 엄청나게 생산성이 높은 부분도 있지만.. 현재로써는 아직 멀었다는 판단이 든다. 고려해야할 것이 너무많음..

그런 와중에, 내가 주력으로 사용하고 있는 유니티에서 직접 AI 서비스를 만들고 공개를 하였다.

유니티에서 AI 기능을 직접 제공한다는 이야기는 들어봤었는데, 이렇게 바로 출시할지는 몰라서 좀 놀랐다. 너무 빠른거 아니야?

Unity Muse 의 발표 당시 소개 영상은 다음과 같다.

홈페이지에 소개하고 있는 기능은 다음과 같다.

말그대로 LLM 기반으로 대화하듯이 코드를 물어볼 수 도 있고, 코드를 짤 수도 있고 유니티 에디터 내에서 이미지 리소스를 생성할 수 도 있고, 심지형 지형 데이터와 같은 모델링도 가능한 것처럼 보인다.

현재는 모든 기능이 오픈 된 것은 아닌 것 같고. 아래 사이트에서 대화형 명령어를 통해서 체험을 해 볼 수 있다.

그래서 한번 사용을 해보았다. 먼저 유튜브 영상으로 제작해놓은 영상도 있으니 궁금하신분들은 살펴 보시길 바란다. ( 구독과 좋아요 해주시면 감사합니다. )

Unity Muse | Ask anything
Accelerate creation with Muse Chat, Unity’s AI assistant based on large language models. Leverage Muse with Unity resources to speed up development.

먼저 Muse 가 어떤 기능을 할 수 있는지 직접 물어보았다.
나의 개떡같은 질문을 찰떡같이 알아 듣는다. 응답 결과는 바로바로 나오는 것은 아니고 chat gpt 4 정도의 응답 속도를 갖는 것 같다.

좀 더 구체적으로 Muse 를 사용하는 방법을 물어보았다.

헛소리를 하는 것으로 봐서는 ChatGPT 와 비슷한 LLM 모델을 기반으로 하고 있는 것이 아닌가 생각이 든다.

좀 더 구체적으로 질문을 정리해서 하자 답변을 좀 제대로 해준다. 그런데 알맹이는 없다.

어느 정도 유니티 사용법을 안다는 전제하에서 유니티의 세부 기능에 대해 물어볼때는 나름 메뉴얼 적인 답변은 잘 해준다.

좀 더 구체적으로 유니티에서 사용 되는 코드에 대한 질문을 해보았다.
이런 부분은 꽤 그럴싸하게 잘 만들어주는 것 같다.

좀 유니티에 대한 이해도가 필요한 좀 어려운 요구조건을 질문해보았다.

그리고 대답은.. 꽤나 기초적이지만 맞는 말을 해주는 것 같다.
내가 원하는 대답은 아닌 것 같지만, 이건 내 질문 자체가 구체적이지 않아서 발생하는 문제 인 것 같다.

Muse 가 알려준 방법에서 2번의 내용을 구체적으로 어떻게 하는지 물어보았다. 나는 C# 개발자가 아니기 때문에 Queue 사용법은 잘 모르기 때문이다. ( 들어본 적은 있는듯 )

using System.Collections.Generic;using UnityEngine;public class ObjectPooler : MonoBehaviour{  public GameObject pooledObject;  public int poolSize;  private Queue objectPool;    void Start()  {      objectPool = new Queue();        for (int i = 0; i < poolSize; i++)      {          GameObject obj = Instantiate(pooledObject);          obj.SetActive(false);          objectPool.Enqueue(obj);      }  }    public GameObject GetPooledObject()  {      if (objectPool.Count > 0)      {          GameObject obj = objectPool.Dequeue();          obj.SetActive(true);          return obj;      }        return null;  }    public void ReturnPooledObject(GameObject obj)  {      obj.SetActive(false);      objectPool.Enqueue(obj);  }}

오.. 꽤 그럴 싸한거 같다.

내가 C# 문법에 해박하지 않다보니 오히려 이 예제 코드를 통해서 공부를 하고 사용법을 익힐 수도 있을 것 같다.

물론, 이게 잘 작동되는지는 직접 해보고 확인을 해봐야 하는 사용자의 몫인 것 같다.

이상으로 아주 간단하게 Unity MUSE 를 소개해봤다.

현재로써는 유니티에 익숙하지 않은 사용자들을 위한 대화형 메뉴얼, 그리고 코드들을 참조할 수 있는 툴로써 괜찮은 도구 인 것 같다.

다만, 그 효과나 정확성등에 대해서는 좀 더 사용해보면서 확인해봐야 할 것 같다. 위에서 본 것 같이 코드등을 참조할 수도 있지만.. 그건 이미 Github Copilot 등 다양한 솔루션이 있기 때문에 굳이 이걸.. 사용해야 할지는 잘 모르겠다.

아직은 좀 더 지켜봐야겠지만, 여러모로 AI 기술을 활용해서 개발의 방법론들이 빠르게 바뀌고 있기 때문에 지속적으로 관심을 갖고 공부를 해봐야 할 것 같다고 생각한다.

Leave a Comment