전체 글28 [Unity] CultureInfo를 통해 언어 설정 하기 기존 작성했던 유니티 Application.systemLanguage로 초기 언어를 설정하는 방법에 추가로 .Net에서 제공하는 CultureInfo를 통해 언어를 설정하는 방법을 작성해보겠습니다. 저의 경우 현지화해야 되는 언어가 유니티에서 제공하는 SystemLanguage에 없어서 이 방법으로 초기화 한 경험이 있습니다. 1. CultureInfo의 정보 속성 확인하기 해당되는 클래스를 사용하기 위해 System.Globalization, System.Threading 네임스페이스를 추가했습니다. 어떤 내용을 보여주는지 간단하게 확인하기 위해 일부 정보를 출력해 보았습니다. 아래는 초기 확인을 위한 스크립트 내용입니다. using System.Globalization; using System.Thr.. 2022. 8. 26. [Unity] 게임 데이터 바이너리 파일로 저장하기 본 포스팅은 게임 데이터를 저장할 때 일반 사용자가 변조할 수 없도록 바이너리로 저장하는 방법을 알아보겠습니다. 예시로 스타크래프트의 마린의 체력과 킬 데이터를 저장해보겠습니다. 1. 스크립트 구성 MarineData.cs (마린의 정보를 담을 클래스) SaveManager.cs (마린의 데이터를 바이너리로 디스크에 읽고 쓰는 기능을 하는 클래스) Marine.cs (마린 유닛 조작 클래스) - 해당 스크립트에서 파일을 저장하고 읽어옵니다. ▶ MarineData.cs MarineData는 단순히 저장할 데이터 값을 한 곳에 몰아서 편하게 저장하기 위한 클래스입니다. 마린의 데이터를 저장할 때 인스턴스화(메모리에 새로 찍어내고)하고 생성자를 통해 값을 전달합니다. [System.Serializable] .. 2022. 8. 25. [Unity] 현지화를 위한 게임 구동 시 언어를 자동으로 설정하는 방법 이번 포스팅에서는 현지화를 위해 유니티 엔진에서 사용자가 실행 중인 운영체제의 설정된 언어를 가져와 초기 언어를 설정하는 방법을 작성해보겠습니다. 1. 설정된 시스템 언어 가져오기 설정 된 시스템 언어를 가져오기 위해 해야 할 것은 없고 프로그램이 구동될 때 static 클래스인 Application 클래스의 systemLanguage 변수에 할당된다고 유니티 공식 API문서에 표기되어 있습니다. systemLanguage는 enum의 형태를 가지고 있고 내용은 아래와 같습니다. public enum SystemLanguage { Afrikaans = 0, Arabic = 1, Basque = 2, Belarusian = 3, Bulgarian = 4, Catalan = 5, Chinese = 6, Cz.. 2022. 8. 24. [Unity] GUI Text 다국어 번역 하기 게임을 만들어 여러 나라에 출시할 때 일반적으로 사용되는 기능들은(음악, 효과음 등) 아이콘으로 표현하면 되지만 해당되지 않는 경우에 UI Text 요소들에 번역이 필요합니다. 유니티나 에셋스토어에서 제공하는 여러 패키지가 있지만 만들어보는 것에 학습 효과가 있다고 생각합니다. 자체적으로 게임 UI에 존재하는 문자들을 설정에 따라 다국어 표시하는 기능을 작성해보겠습니다. 본 포스팅에서 만들 간단한 번역 기능은 게임 타이틀을 언어변경 버튼을 누를 때마다 UI가 갱신되게 하는 예시입니다. 기능의 전체적인 흐름은 언어가 변경될 때마다 언어별 데이터가 저장되어 있는 string 배열에서 값을 가져와 UI Text 컨포넌트에 문자열을 할당하고 UI를 갱신합니다. 게임 구동 시 언어를 자동으로 설정하는 방법은 포스.. 2022. 8. 23. 이전 1 2 3 4 다음