본문으로 건너뛰기
버전: 최신 버전

인증 및 생성하기

전체 셋업 과정 (총 4단계)
  • 1단계: 유니티 Scene 구성하기 (AIHumanSDK, AIPlayer, AIPlayerUI 프리팹 배치)
  • 2단계: Authenticate() 함수에 사용 할 AppID, 인증키, 플랫폼 등 정보 준비하기
  • 3단계: Authenticate() 응답 구현하여 사용할 AI 가져오기
  • 4단계: AIPlayer를 원하는 AI로 초기화하기

1단계. 유니티 Scene 구성하기

  • AI Human 퀵스타트를 참고하여 Scene을 구성합니다.
  • AIHumanSDK 프리팹을 반드시 사용할 필요는 없습니다. AIHumanSDK 프리팹과 AIHumanSDKManager 스크립트는 SDK 사용자 편의를 위해 제공되는 것이므로 Inspector에 인정 정보를 설정하지 않고 AIHumanSDKManager.Authenticate(appId, userKey, platform)를 함수를 직접 호출하여도 무방합니다.
  • AIPlayerUI 프리팹 또한 SDK 사용자 편의를 위해 제공되는 것으므로 반드시 사용할 필요는 없으며, 사용자 정의 UI 또는 Material을 제작하여 AIPlayer에서 제공하는 Texture를 적용할 수 있습니다.

2단계. 인증 관련 정보 준비하기

AuthStart 함수에는 3개의 전달인자가 필요합니다. 이 3가지는 AppID, UserKey, Platform 입니다.

특히 UserKey는 DeepBrain AI에서 만든 문자열 타입으로써, 절대 외부에 노출되면 안되는 중요한 데이터입니다. 이 인증키를 이용하여 API를 호출하면 사용 가능한 기본 AI 데이터와 앞으로 사용할 토큰을 얻을수 있습니다. Platform은 사용자의 App Platform을 고려하여 Android, iOS, Windows 중에 하나를 선택합니다.

토큰 사용기간이 만료되어 토큰 리프레쉬가 필요한 경우는 Authenticate() 함수의 재호출이 필요합니다.

3단계. Authenticate 구현 및 AI 가져오기

2단계 과정에서 필요한 정보를 다 준비했다면 인증을 위한 준비가 완료됩니다. AIHumanSDKManager.Authenticate 함수의 매개변수로 인증 정보들을 전달하고 콜백 함수를 구현합니다. 인증에 성공하면 사용할 수 있는 AI 목록을 요청합니다.

string message = string.Empty;
AIError authError = AIHuman.SDK.AIHumanSDKManager.Instance.Authenticate("appId", "userKey", "platform")
if (authError == null) // 인증 성공
{
AIAPI.Instance.GetAIList(AIListType.All, (aiList, aiError) =>
{
if (aiError == null)
{
if (aiList != null)
{
message = string.Format("Auth Complete, Avaliable Count : {0}", aiList.ai.Length);

/* e.g.)
"ai":[{"aiName":"vida","aiDisplayName":"Vida","language":"en"},
{"aiName":"bret","aiDisplayName":"Bret","language":"en"},
{"aiName":"danny","aiDisplayName":"Danny","language":"en"},
{"aiName":"kang","aiDisplayName":"Kang","language":"ko"}]
*/
}
}
else
{
message = string.Format("API Error : {0}", aiError.Description);
}
});
}
else
{
message = string.Format("Auth Error : {0}", authError.Description);
}
Debug.Log(message);

4단계. AIPlayer를 원하는 AI로 초기화하기

인증 및 사용할수 있는 AI 목록을 확인 후 원하는 AI를 적용하려면 AIPlayer의 초기화 과정이 필요합니다. AIPlayer.Init(string aiName, IAIPlayerCallback callback, IFrameImageProvider imageProvider) 함수를 호출하면 되는데 다른 AI로 교체가 필요할때도 마찬가지로 Init() 함수를 호출하면 됩니다.

AIPlayer가 성공적으로 초기화 되었다면 AIPlayer는 설정된 값에 따라 리소스를 다운받아 동작 가능한 상태로 변경됩니다. 또한 AIPlayer.Init() 함수 호출 시 전달인자인 AIPlayerCallback에서 AI 동작 상태를 모니터링 할 수 있습니다.