1번 과정부터 너무 길었다 ㅠㅠ
이번엔 유니티 설정을 한번 적용해보자.
일단 프로젝트를 하나 만든 뒤 따라오자.
나는 미리 만들어둔 프로젝트를 활용할 계획이다.
자 그럼 SDK를 설치해보자.
https://cloud.google.com/sdk/docs/downloads-versioned-archives?hl=ko
버전이 지정된 보관 파일에서 설치 | Google Cloud CLI 문서
이 페이지는 Cloud Translation API를 통해 번역되었습니다. 의견 보내기 버전이 지정된 보관 파일에서 설치 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. gcloud C
cloud.google.com
여기서 알맞은 버전을 설치하면 된다.
본인 컴퓨터 사양에 맞게 설치하면 되는데 python포함으로 설치하자.
압축을 풀고, install 을 눌러 설치를 완료하자.
그리고 google cloud 콘솔에 들어가 dialogflow사용을 enable로 바꿔줘야한다.
여기로 들어가
이걸 눌러 사용설정을 해주자. (안보인다면 상단에 검색하면 된다.)
이렇게 사용설정되었다고 뜨면 성공이다. 아니라면 관리에 들어가서 사용 설정을 해주자.
다음으로 서비스 계정 키를 생성해야한다.
여기로 들어가서
사용자 인증 정보를 만들자.
서비스 계정을 클릭하면 된다.
이름을 입력해주고, 만들고 계속하기를 선택한다.
dialog를 검색하고 내리다보면 Dialogflow API 클라이언트 항목이 있다. 이걸 선택하자.
이후 완료를 누르면 된다.
이후, 만들어진 계정의 Json파일 키를 다시 발급받아주자. (나도 처음이라 많이 헷갈리지만 그래도 다시 받아주자. 방법을 모르겠으면 이전글을 참고하자.)
받은 json파일을 Unity프로젝트의 Assets에 추가시켜주면 된다.
유니티에서 Dialogflow를 쓰기 위해서 Nuget을 설치해야한다.
유니티에서 Windows -> PackageManager를 열어 아래의 링크를 붙여넣자.
동그라미 친 부분을 눌러 Add package from git url을 눌러 붙여넣어주면 된다.
https://github.com/GlitchEnzo/NuGetForUnity.git?path=/src/NuGetForUnity
그럼 자동으로 Nuget이 설치되고, 상단 탭에 Nuget이 생성되었을것이다.
이제, Dialogflow를 검색해, 설치해주자.
Google.Cloud.Dialogflow.V2를 설치해주면 된다.
다 되었다면 Unity에서 Dialogflow를 사용하기위한 예시코드를 작성해보자.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Google.Cloud.Dialogflow.V2;
using Google.Protobuf;
using System;
public class DialogflowManager : MonoBehaviour
{
[SerializeField] List<int> a = new(3);
// Start is called before the first frame update
void Start()
{
string path = Application.dataPath + "/path/to/your/service-account-file.json";
//Google.Cloud.Dialogflow.V2.Environment와 충돌. System의 Environment를 사용해줘야함.
System.Environment.SetEnvironmentVariable("GOOGLE_APPLICATION_CREDENTIALS",path);
var client = SessionsClient.Create();
var session = new SessionName("your-project-id", Guid.NewGuid().ToString());
var queryInput = new QueryInput{
Text = new TextInput{
Text = "Hello",
LanguageCode = "en"
}
};
var response = client.DetectIntent(session, queryInput);
Debug.Log(response.QueryResult.FulfillmentText);
}
}
위 코드는 chatGPT가 작성해준 코드이다.
위의 path 에는 적절한 path를 입력해주면 된다. Application.dataPath는 현재 프로젝트의 Assets폴더를 가리킨다.
뒤에 따라오는 경로에 json파일의 이름을 입력해주면 될것같다.
예를 들어서 파일 이름이 test.json이라면 "/test.json"이라고 입력해주면 된다.
그리고 your-project-id에는 본인의 프로젝트 아이디를 입력하면 되는데, 프로젝트 아이디는
구글 클라우드의 콘솔로 넘어가서 드롭다운을 클릭하면 확인할 수 있다.
내가 작성한 프로젝트 아이디는 다음과 같았다.
네모 박스 쳐진 저기가 projectid이다. 이 아이디를 your-project-id에 입력해주자.
그 후, 유니티에 스크립트를 붙여주고 실행하면 된다.
하지만, ChatGPT가 알려준 코드에서 Grpc 에러가 뜨는데 어디가 잘못된건지 좀 더 연구해볼 필요가 있을 것 같다.
'Develop > Dialogflow' 카테고리의 다른 글
[Dialogflow] npc대화를 인공지능으로 설정해보자! - 3. 코드 작성 (0) | 2024.06.18 |
---|---|
[Dialogflow] npc대화를 인공지능으로 설정해보자! - 1. dialogflow 생성과 가입 (1) | 2024.06.14 |