전체 글113 [언리얼5] Data Table 로더 만들기 *3부* (CSV) with Python / 에셋 생성하기 Data Table Asset 1. 전체 코드 2부에서 했던 것처럼 asset_generator.py 파일을 생성하고 아래 코드를 작성한다. import unreal import os import csv import sys # 프로젝트 명 project_name = "RottenPotato" # 데이터 테이블 클래스 asset_class = unreal.DataTable # 데이터 테이블 에셋 저장 경로 asset_path = "/Game/Table" # CSV 파일이 존재하는 폴더 경로 csv_folder = unreal.SystemLibrary.get_project_directory() + "CSV" # struct_path : ex) "/Script/RottenPotato.TestTable" # 데.. 2024. 1. 24. [언리얼5] Data Table 로더 만들기 *2부* (CSV) with Python / C++ 구조체 생성기 작성하기 C++ 테이블 구조체란? 언리얼에서 Data Table Asset 을 만들거나 CSV 혹은 JSON 형태의 데이터를 Import 시키기 위해서는 베이스가 될 구조체를 반드시 고르게 되어 있다. 엔진에서 기본적으로 제공하는 구조체는 원하는 게임 제작 방향에서 대부분 맞지 않을 것이므로 커스텀한 구조체 생성이 필요하다 이 구조체는 C++ 로 작성가능하고, USTRUCT 의 형태로 만들어지며 FTableRowBase 를 상속받는다. 해당 스크립트는 테이블에 선언된 타입의 변수들의 나열로 이루어진다. 먼저 완성본을 보고 시작하자. 1. Python Plugin 설치 먼저 언리얼 엔진에서 Python 플러그인을 설치해야 한다. 설치 방법과 Python 스크립트 작성 시 필요한 자동완성(Intellisense) 설.. 2024. 1. 24. [언리얼5] Data Table 로더 만들기 *1부* (CSV) with Python / 데이터 작성하기 Data Table 로더 란? CSV 혹은 JSON 형태로 저장된 게임 데이터를 Unreal Engine 에서 사용 가능한 Data Table Asset 으로 전환한다. 이 글에서는 CSV를 기반으로 제작하였다. CSV 혹은 JSON 을 바로 엔진에 Import 도 가능하지만, 테이블이 많고, 자주 추가될 때 번거로움을 줄이고자 이 과정을 자동화하는 것에 의의가 있다. 기본적으로 데이터를 Import 하기 위해서는 Data Table Asset 을 생성하기 위한 'Structure' 가 필요하다. 이 Structure 는 FTableRowBase 라는 언리얼 엔진 스크립트를 상속받아 작성한 구조체여야 한다. 이 구조체를 테이블이 추가될 때 마다 일일히 작성하기 번거로우므로 충분히 자동화할 가치가 있다. .. 2024. 1. 24. [언리얼 파이썬 스크립팅] 언리얼 Pycharm 자동 완성하는법 (삽질 노가다 끝에 공유) 제발 저 같은 시간 낭비를 하지 않길 바라며...언리얼 공식문서 구데기 언리얼 python script 작성 + 자동완성 하는법 1. Plugins 에 들어가서 Python 검색하고 체크하고 에디터 재시작 2. Project Settings 들어가서 Plugin 설정 들어가고 Python 메뉴에서 Developer 옵션 체크(중요)이 과정을 꼭 해야 PythonStub 라는 경로가 생기고 그 안에 unreal.py 가 생성된다. 3. 이러고 나면 프로젝트 경로에 Intermediate/PythonStub 라는 폴더가 생기고 그 안에 unreal.py 가 생성됨. 4. 이제 Pycharm 같은 IDE 를 열어서 Setting - Project : (자기 프로젝트이름) - Python Interpreter .. 2024. 1. 22. 유니티 모바일 <가로모드 / 세로모드> 빌드, 런타임 시점에 코드로 컨트롤하기 유니티에서 가로모드와 세로모드를 컨트롤 하는 시점은 2가지 있다. 1. 빌드 시점에 Fix 하기 2. 런타임에 특정 상황에서 Edit 하기 PlayerSetting 에서 컨트롤 되는 부분은 다음과 같다. 직접 체크해도 되지만 코드로 접근해 보겠다. 먼저, 빌드 시점에 변경하는 방법이다. 이 방법은 애초에 빌드가 해당 옵션으로 뽑히게 된다. 즉, 앱 실행 시 자동으로 지정한 방향으로 플레이가 시작된다. 접근 방법은 다음과 같다. 가로모드는 일반적으로 Auto 로 설정한 후에 LandscapeLeft , Right 를 true 로 해준다. 가로로 돌아간 상태에서 휴대폰을 뒤집으면 해당 방향으로 자동회전 되는 것이 일반적으로 많이 쓰이는 방법이다. 특이하게 한쪽으로만 고정하고 싶다면 Left, Right 중 .. 2023. 11. 15. 유니티 Target API Level 코드로 수정하기 (API 31 이상 일 때) 안드로이드 빌드 중에 min 혹은 target API level 을 수정해야하는데, 빌드 자동화 스크립트 작성 중 해당 부분을 코드로 접근해야할 경우가 있다. 이 때, PlayerSettings.Android.minSdkVersion = AndroidSdkVersions.AndroidApiLevel22; PlayerSettings.Android.targetSdkVersion = AndroidSdkVersions.AndroidApiLevelAuto; 이런 식으로 Enum으로 접근할 수 있다. 하지만, 유니티 버전에 따라 API 레벨이 특정 구간을 넘어서면 Enum 이 정의되어 있지 않다. 따라서 이런 문제가 생긴다. 이럴 때는 그냥 int 로 입력 후 캐스팅하면 된다. 먹힐까 싶었는데 잘 된다. 단 해당 .. 2023. 11. 6. 이전 1 2 3 4 5 6 ··· 19 다음