본문 바로가기
GPT 게임만들기/ChueokUI_Project

[ChatGPT][ChueokUI] 02_스크립트 생성

by OhEasy 2025. 3. 2.
728x90
SMALL

https://525easy.tistory.com/79

 

[ChatGPT] 01_기본 프로젝트 설정

https://525easy.tistory.com/77이전 글에 이어서 시작한다.이전 글에서 장르와 어느정도의 게임 진행 방식이 나왔다. 그를 토대로 실제 게임이 작동하기 위한 스크립트를 생성하고자 한다.작업 방식에

525easy.tistory.com

이전 글에서 이어서 시작.
이전 글에서 기본적인 폴더 구조를 완료하였다.
폴더 구조 중 Scripts라는 폴더가 있었고 그 폴더 안에는 하위 폴더들이 여러 개 존재하였다.
그렇기 때문에 각 폴더마다 스크립트를 요청하는 방향으로 진행한다.


0. 금일 목표

  • 각 폴더마다 필요한 스크립트를 요청한다.
    • 이 때 스크립트로 요청하는 것이 아닌 Class 작성으로 요청 할 것이다. 이유는 하단에 서술1. 스크립트 작성
  • 스크립트로 요청하는 것이 아닌 Class로 요청하는 이유는"대사 스크립트"라는 것도 존재하기 때문이다.

1. 스크립트 작성

  • 이번에도 "해줘"를 시작한다.

  • 이전에 제공한 CSVReader를 그냥 준 것 같긴 하다.
  • 이 외에도 Utils에 들어가는 여러 스크립트를 만들어 주었다.
  • 나온 클래스들은 다음과 같다.
    1. CSVReader
    2. DebugUtil
    3. FileUtil
    4. Singleton
  • 이후 Managers 폴더의 스크립트 작성을 지시 하였다.

  • 매니저 클래스의 경우 Utils에 있는 일부 네임스페이스들을 참조한다.
  • 그렇기 때문인지 아래와 같은 문제들이 발생한다.

  • 위에서 발생한 문제는 아래 스크립트 부분에서 발생하는 것인데
    using UnityEngine;
    using System.Collections.Generic;
    using Managers.Models; // Models 폴더에 GameEvent 모델 클래스가 있다고 가정
    using Utils;
  • 유니티의 C# 스크립트를 생성하면 기본적으로는 아래처럼 나온다
    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
  • using의 경우 네임스페이스를 사용한다는 것인데 Models라는 네임스페이스가 없기 때문이다.
  • 앞에 제시해준 폴더 구조 중 Models라는 폴더도 있었기 때문에 이어서 요청해본다.

  • 위처럼 물어보니 Models에 들어가는 모든 스크립트는 아래와 같은 형태로 작성해줬다.
namespace Managers.Models
{
	public class ClassName
    {
    	// 내용
    }
}
  • 이렇게 namespace로 묶어주어서 에러가 해결 되었다.
  • 이후 다른 스크립트들도 요청해본다.

  • UI에 관련 된 내용을 요청해보았다. 큰 문제는 없었고 아래와 같은 이슈가 있었다.

  • 우선 유니티에서 Text를 표현하는데 있어서는 Text 컴포넌트 혹은 TextMesh Pro를 사용한다.
  • 두가지는 사용되는 네임스페이스가 다르다.
    • Text의 경우 UnityEngine.UI에 속해있지만 TextMesh Pro의 경우 TMPro에 속해있다.
  • 수익? 극대화?를 위해 대부분의 언어를 지원하기 위해 다국어 지원이 필요하다. 그렇기 때문에 각 언어에 맞춰 출력시켜주는 기능이 필요한데 GPT는 LocalizationManager가 그 역할을 수행하게 하려는 것 같다.
  • 뒤에 Manager가 붙은 것을 보니 Managers 폴더 요청 시 작성해 주어야 했을 것 같은데 못받았다.
  • 전달을 받은 뒤 보니 LocalizationManager에서 에러가 발생한다.

  • 두가지 해결 방안을 제시해주었다.
  • 당연히 네임스페이스에 없어서 발생한 문제이다.

  • 네임스페이스 이동 이전 모든 스크립트를 작성했는지 물어보았다.
  • 핵심적인 기본 틀은 제공하였다고 한다.
  • 네임스페이스를 이동해본다.

  • 당연히 발생하는 문제다.
  • 몇몇 Manager들은 CSVReader를 참조하고 있었기 때문이다.
  • 이전과 같은 문제였고 해결법도 알고 있기 때문에 먼저 해결 방안을 제시하였다.
  • 우선적으로 필요한 스크립트들은 만들어진 것 같으니 돌아가는지 확인을 해봐야 할 것이다.

2. 추 후 스크립트 작성.

  • 이전 질문에 대한 답변에서도 세부 요구사항에 따라 보완해야 할 부분들이 있을 것이라고 한다.
  • 이후 Scene을 만들고 UI를 구성하며 필요에 따라 작은 스크립트 파일이 필요해질 것이다.
  • 그렇기 때문에 개발을 진행하며 그때마다 추가적인 스크립트 생성 및 수정을 요청할 예정이다.
728x90
LIST

댓글