RISU를 이리저리 가지고 놀다가 


'여기에 3D 모델 넣어서 이야기 해보면 좀 그럴듯하지 않나'


라는 생각으로 대충 시작해본 프로젝트 .


그러나 나는 딱히 개발자도 아니고 코딩을 잘하는 편도 아니다.


다만 이 채널을 눈팅해도 딱히 방법은 없었다.


그래서 이리저리 찾아보다보니 이런 유툽이 보였다.



https://www.youtube.com/watch?v=EzzcEL_1o9o




 GPT + Eleven Labs + THREE +rhubarb 조합으로 AI 여친을 만들었다.


오픈 프로젝트라 리소스도 다 공개되어 있다.


다만 Eleven Labs 가 유료라는 점이 걸린다.


하지만 나는 VOICEVOX를 로컬로 돌리는 방법을 알아냈다.


대충 Eleven Labs 를 VOICVOX 로 바꾸기만 하면 될듯 하다.


다른 하나는 캐릭터인데 그래도 이왕이면 씹덕스러운 캐릭터를 좀 쓰고 싶다. 


그래서 생각해본 것이


1. MMD 리소스를 찾는다.

2. Blender 를 써서 glb (THREE 용 포맷) 로 변환한다.

3. 영상에 소개된 Mixamo로 기본 애니메이션을 삽입한다.

였다.

다만 3D 쪽 지식 역시 전무하므로 시간이 좀 걸렸다. 

특히 파일 포맷 변환과 mesh - bone 연결 부분에서...

처음에는 모델이 너무 복잡해서 그런가 싶기도 했는데 그냥 호환 문제였다.


아무튼 영상에서 나온걸 내맘대로 커스터마이징...


GPT + VOICEVOX + THREE +rhubarb + Blender (glb에 모델 + 애니 합침) + 커스텀 코딩...



그래서 한 4일 정도 투자한 결과물. 




대충 생각한대로 나왔다.


다음에는 프롬프트를 손대볼  생각인데 지금은 대충 이런 식이다.

여기에 AI 채팅 채널에 있는 이런 저런 탈옥 프롬프트까지 합치면...

설명은 생략하겠다.



const completion = await openai.chat.completions.create({

      model: "gpt-4o-2024-05-13",

      max_tokens: 1000,

      temperature: 0.6,

      messages: [

        {

          role: "system",

          content: `

          You are a virtual girlfriend.

          You will always reply with a JSON array of messages. With a maximum of 3 messages.

          Each message has a text, facialExpression, and animation property.

          The different facial expressions are: smile, sad, angry, surprised, funnyFace, disgusting, concerned, and default.

          The different animations are: Talking_0, Talking_1, Talking_2, Crying, Laughing, Rumba, Idle, Terrified, and Angry. 

          `,

        },

        {

          role: "user",

          content: userMessage || "Hello",

        },

      ],

    });



딱히 개발자가 아니라 공유나 서비스할 방법이 생각나지 않는다.

취미처럼 해보는 거라서...

이게 그럴듯하게 굴러갈때쯤 되면 이미 누군가 서비스하고 있지 않을까?

아니면 이미 어딘가에서 굴러가고 있거나.

그냥 내가 해보고 싶었다.


끝.