Unity

·Unity/C#
함수의 스코프(Scope)변수나 함수가 어디서부터 어디까지 접근할 수 있는지를 정의하는 범위전역 스코프(Global Scope)전역 스코프에 있는 변수는 클래스 내의 모든 메서드에 접근 가능클래스의 필드로 선언된 변수가 전역 스코프를 가지게 된다.이런 변수는 클래스의 인스턴스가 존재하는 동안 접근 가능하다.public class Player { // 전역 변수 public int health = 100; public void TakeDamage(int damage) { // 클래스 내의 다른 메서드에서 접근 가능 health -= damage; } public void Heal(int amount) { // 이 메서든에서도 ..
·Unity/C#
직렬화란 무엇인가?직렬화는 객체의 상태를 저장하거나 전송할 수 있는 형식(0과 1의 순서, 즉 바이너리 데이터)으로 변환하는 과정이다.여기서 객체의 상태란, 객체가 가지고 있는 필드의 값들을 의미한다.예를 들면, 어떤 클래스의 인스턴스가 'Name'이라는 문자열 필드와 'Age'라는 정수형 필드를 가지고 있다면,직렬화는 이 'Name'과 'Age' 값을 메모리나 파일, 혹은 네트워크를 통해 전송할 수 있도록 변환하는 과정이다.직렬화가 필요한 이유프로그래머가 정의한 클래스나 구조체 같은 복합 데이터 형식은 단순한 기본 데이터 형식(int, string, float 등)과 달리,한 번에 쉽게 스트림에 기록하거나 읽을 수 없다.BinaryWriter/Reader, StreamWriter/Reader는 기본 데..
·Unity/C#
클로저(Closure)는 C#과 같은 현대 프로그래밍 언어에서 매우 중요한 개념입니다. 이번 포스팅에서는 클로저의 기본적인 이해와 C#에서 클로저가 어떻게 사용되는지에 대해 알아보겠습니다. 클로저(Closure)란 무엇인가? 클로저는 함수가 선언될 때의 환경을 '캡처(Capture)'하여, 그 환경 밖에서도 해당 환경에 접근할 수 있게 하는 기능입니다. 클로저는 내부 함수가 외부 함수의 스코프(Scope)에 접근할 수 있도록 해주며, 이를 통해 프로그램잉에서 강력한 표현력을 제공합니다. 클로저의 작동 원리 클로저는 외부 함수의 변수를 내부 함수가 참조할 때 발생합니다. 내부 함수는 외부 함수의 실행이 끝난 후에도 외부 함수의 변수에 접근할 수 있습니다. 이러한 특성 덕분에, 클로저는 다양한 프로그래밍 상..
·Unity/Function
Unity 개발 시 다양한 플랫폼을 지원하기 위해 플랫폼 별로 다른 코드 실행이 필요할 때가 있습니다. 이를 위한 주요 두 가지 방법, Application.platform과 #if 디렉티브를 비교해 보겠습니다. Application.platform의 사용 Application.platform은 Unity의 런타임 시점에서 현재 실행 중인 플랫폼을 확인하는 방법입니다. 장점 동적 처리: 단일 빌드로 여러 플랫폼에서 다르게 동작하는 앱을 만들 수 있습니다. 코드 포함: 빌드에 모든 플랫폼에 대한 코드가 포함되어, 하나의 빌드로 여러 환경을 대응할 수 있습니다. 사용 예 if (Application.platform == RuntimePlatform.WindowsPlayer) { // Windows 전용 코드..
·Unity/ERROR
에러 코드 UnityException: get_enterPlayModeOptionsEnabled can only be called from the main thread. Constructors and field initializers will be executed from the loading thread when loading a scene. Don't use this function in the constructor or field initializers, instead move initialization code to the Awake or Start function. UnityEngine.AddressableAssets.Addressables.get_m_Addressables () (at 한글 번..
·Unity/C#
최근에 들었던 생각 중에 하나인 유니티 개발자로 일을 하고 있는데 기초가 많이 부족하다고 느껴지게 되었던 부분들이 있었습니다. 그래서 해당 부분들을 보충하기 위해 "레트로의 유니티 게임 프로그래밍 에센스"라는 책을 구입 후 공부하기 시작했습니 다. 물론 알고 있는 부분도 많이 있지만 복습 역시 필요한 영역이라고 생각이 들어서 책을 공부하는 중입니다. 유니티 C#에서 말하는 클래스란 ? # 레트로의 유니티 게임 프로그래밍 에센스 p184 우선 책에서는 클래스와 오브젝트를 같이 설명하는 방식으로 진행되었습니다. 객체지향 프로그래밍 - '사람이 현실 세상을 보는 방식'에 가깝게 프로그램을 완성하는 방법의 핵심 개념으로 설명을 해주면서 시작하게 되었습니다. 클래스는 표현하고 싶은 대상을 추상화하여 대상과 관련된..
·Unity/Function
서론 최근 회사에서 진행하게 될 프로젝트 중 새롭게 요청된 기능 중 하나인 현지화(Localization) 기능 - 다국어 번역 관련해서 구현하게 된 방향과 추후에 지식공유를 위한 정리 글입니다. 프로젝트 링크 https://github.com/SONSAZANG/UnityLocalizationTest GitHub - SONSAZANG/UnityLocalizationTest: UnityLocalizationTest UnityLocalizationTest. Contribute to SONSAZANG/UnityLocalizationTest development by creating an account on GitHub. github.com 우선 유니티에서 현지화 기능을 사용할 때 진행할 수 있는 방향을 두 가..
·Unity/Function
본 글은 회사 업무 중에 서버에서 불러오는 Texture2D (JPG, PNG)등의 용량이 너무 커서 램 관리가 필요한 모바일 환경에서 강제 종료되는 현상을 방지하기 위해 구현하게 된 기능입니다. 필요한 기능 서버에서 불러오는 이미지를 런타임 환경에서 불러오는 과정과 동시에 텍스처 압축을 진행하여서 메모리 과부하를 막는 기능이 필요합니다. 유니티 프로젝트 안에 있는 텍스처의 경우 따로 여러 플랫폼에 원하는 형식으로 저장할 수 있는 기능이 제공되고 있으나 서버에서 바로 불러올 경우 위 기능을 사용하지 못하는 형식입니다. 구현한 기능 PNG or JPG -> GPU 랜더링이 필요하지 않는 이미지 파일들을 더 낮은 용량인 RGBA32로 변환 후 DXT5로 압축 진행 using System.Collections..
sonsazang
'Unity' 카테고리의 글 목록 (2 Page)