Study 썸네일형 리스트형 [Unity] Data Serialization https://www.youtube.com/watch?v=kEu_AQ_Es-8직렬화는 객체를 저장하거나 메모리, DB 혹은 파일로 전송하기 위해 객체를 바이트 스트림으로 변환하는 프로세스다. 즉, 객체를 해제하고(Serialization) 다시 복구(Deserialization)할 수 있도록 개체의 상태를 저장한다.즉, 메모리 상에 산발적으로 분포되어 있는 데이터들을, 연속적인 메모리 형태로 바꾼다.이렇게 연속적인 데이터 형태로 바꿀 때, 컴퓨터가 읽을 수 있는 2진수로 표현하기도 하지만, XML/YAML/JSON과 같이 사람이 읽을 수 있는 형태로 제공하는게 일반적이다. 예를들어, 다음과 같이 게임 제작을 위해 캐릭터 설정을 하고, 이를 각각의 XML/YAML/JSON으로 표현하면 다음과 같이 표현한다.. 더보기 [Unity] 유니티 이해하기 04 - 유니티 Object와 그 하위 클래스들 Objet는 유니티의 베이스 클래스다. 이 Object를 상속받는 대표적인 클래스들은 다음과 같다. GameObject - 씬 내의 모든 엔티티.Component - GameObject에 기능 추가.MonoBehaviour - 사용자 정의 스크립트.ScriptableObject - 데이터 저장 및 관리.Texture, Material - 그래픽 렌더링 관련 클래스.AudioClip - 오디오 관리.AnimationClip - 애니메이션 데이터 관리.AssetBundle - 리소스 묶음 관리.ObjectObject 클래스는 모든 Unity 엔진 객체의 기본 클래스로 다음과 같은 기능들을 제공한다.기본 기능 : 모든 엔진 객체를 참고하거나 관리하는 데 사용객체 생성 및 복제: Instantiate 메서드를 .. 더보기 [Unity] 유니티 이해하기 03 - Input System 유니티의 Input System은 플레이어 입력을 관리하고 처리하기 위해 제공되는 시스템으로, Unity의 기본적인 "Legacy Input Manager"를 대체하기 위해 개발되었다. 이 시스템은 더 모듈화되고 직관적인 입력 관리 기능을 제공하며, 다양한 플랫폼과 장치를 쉽게 지원할 수 있도록 설계되었다.주요 특징다양한 입력 장치 지원:키보드, 마우스, 게임패드, 터치스크린, VR/AR 컨트롤러 등 다양한 입력 장치를 지원한다.여러 입력 장치를 동시에 처리할 수 있다.액션 기반 구조:Unity Input System은 Action이라는 개념을 중심으로 동작한다.액션은 특정 입력(버튼 누르기, 축 움직임 등)을 의미하며, 플레이어의 입력과 게임의 반응 간의 연결을 간소화한다.플랫폼 독립적:특정 플랫폼에 .. 더보기 [Unity] 유니티 이해하기 02 - 이벤트 함수의 실행순서 그리고 스크립트 게임 엔진이라는 것은 결국, 다음과 같은 로직으로 작동된다.https://waterglass0105.tistory.com/91 [UE5 C++ Multiplayer Shooter] #01 언리얼 엔진의 프레임 워크와 기초 그리고 네트워크일반적인 게임 엔진은 다음 코드의 흐름대로 진행된다.언리얼에서는 이러한 루프를 직접 다루지 않고, 기본함수가 아닌 인터페이스나 함수를 상속받아 확장하는 방법으로 구현한다. 이때, 언리waterglass0105.tistory.com이를 유니티 엔진에서 조금 심플하게 표현해보면 다음과 같이 표현할 수 있다. 그리고 이를 더욱 자세히 살펴보면, 다음과 같은 사이클을 가지게 된다.이제 이 단계를 자세히 살펴보자1. Initialization[Awake -> OnEnable -> .. 더보기 [Unity] 유니티 이해하기 01 - 게임오브젝트와 컴포넌트 게임 오브젝트유니티의 게임 오브젝트는 '컨테이너'다. 기본적으로, GameObject는 그 자체로 아무것도 하지 않는다. 만일 이러한 게임 오브젝트를 캐릭터나 환경 아니면 다른 특수 효과가 되기 위해서는 '속성'이 필요하다. 당연하게도, 캐릭터라는 게임 오브젝트와 상자라는 게임 오브젝트는 차이가 있어야 한다. 가령, 캐릭터는 플레이어가 조종이 가능하고 여러 동작을 할 수 있어야 할 것이며, 상자는 그저 힘을 받으면 움직인다거나 할 것이다. 즉, 캐릭터가 가지는 속성과 상자가 가지는 속성은 '차별점'이 있어야 한다. 그리고 이러한 '차별점'을 만들어 주는 것이 바로 컴포넌트다. 다시금 정리해보면, 게임 오브젝트는 여러 다양한 컴포넌트의 컨테이너다. 컴포넌트기본적으로 모든 게임 오브젝트는 자동으로 Trans.. 더보기 [Unity] 유니티 프레임 워크, .NET과 GC 우선 .NET에 대해 알아야한다..NET은 소프트웨어 개발을 위한 도구, 라이브러리 및 언어를 포함하는 플랫폼으로, 이를 통해 다양한 디바이스와 운영체제에서 실행 가능한 애플리케이션 제작이 가능하다. 기존 .NET Framework의 주요 한계는 플랫폼 간 코드 공유가 제한적이었다는 점이다. 특히 .NET Framework는 Windows 운영체제를 중점적으로 지원했기 때문에, 리눅스 및 macOS와 같은 다른 운영체제로 애플리케이션을 포팅하려면 코드 수정과 테스트 과정이 필수적이었다.이러한 제약을 극복하기 위해, 마이크로소프트는 .NET Core를 출시하였다. .NET Core는 오픈소스이며 크로스 플랫폼을 지원해 개발자들이 Windows, Linux, macOS 등 다양한 환경에서 동일한 코드를 실행.. 더보기 [Unreal] AssetBundle AssetBundle은 FNAME으로 되어 있는 metadata다.가령 MyMesh라는 UStaticMesh가 있을 때, 이를 Bundle1 그룹에 묶어서 관리하고 싶다면 다음과 같이 구성할 수 있다. UPROPERTY(EditAnywhere, BlueprintReadWrite, meta = (AssetBundles = "Bundle1")) UStaticMesh* MyMesh; UPROPERTY(EditAnywhere, BlueprintReadWrite, meta = (AssetBundles = "Bundle1", "Bundle2")) UStaticMesh* MyMesh; 또한 여러개 지정 가능하다. 이러한 AssetBundle은 주로, 에셋을 로드하거나 처리할 때 많이 사용되며.. 더보기 [Unreal] Gameplay Tag https://waterglass0105.tistory.com/110 [Unity] TagUnity에서 Tag는 게임 오브젝트를 식별하고 분류하기 위한 문자열 라벨이다. Tag를 사용하면 특정 오브젝트 그룹에 쉽게 접근하거나 필터링할 수 있다.예를 들어, 적 오브젝트는 "Enemy" 태그를, 플레waterglass0105.tistory.com유니티와 마찬가지로, 언리얼의 태그도 게임 내에서 개체(Actor, Component 등)에 태그를 부여하여 특정 속성이나 상태를 나타내고, 이를 기반으로 게임 로직을 처리할 수 있게 하는 시스템이다. 이 시스템은 특히 게임플레이의 복잡성을 줄이고 코드의 가독성을 높이며, 재사용 가능한 로직을 작성하는 데 유용하다.GamePlay Tag는 크게 3가지로 볼 수 있다... 더보기 이전 1 2 3 4 ··· 10 다음