전체 글 55

디자인 패턴 - 싱글톤 패턴(프로퍼티를 이용한 null 체크)

유니티 버전 - 2022.3.48f1     목차들어가며코드 및 설명마치며     들어가며어떤 스크립트에서 싱글톤 패턴을 구현할때 일반적으로 Awake에서 null체크를 하고 instance를 지정해주는 것이 일반적입니다, 하지만 모종의 이유로 스크립트가 붙은 오브젝트 자체가 씬에 없다면 스크립트를 참조하려고 할때 오류가 발생할 것입니다, 프로퍼티를 이용하여 더 안전한 접근을 하는 방법을 구현해보겠습니다      코드 및 설명먼저 Awake입니다, 오브젝트가 활성화 상태로 존재한다면 실행되면서 인스턴스를 지정해줍니다 private void Awake() { if (instance == null) { instance = this; } ..

이벤트 함수의 실행 순서

유니티 버전 - 2022.3.48f1     목차들어가며Legend생명 주기마치며     들어가며Unity에서 게임 오브젝트의 행동과 상호작용을 제어하는 핵심 요소 중 하나가 바로 이벤트 함수입니다, 이러한 함수들은 특정한 타이밍에 Unity 엔진에 의해 자동으로 호출되며, 게임이 시작할 때부터 종료할 때까지 여러 가지 상태 변화에 대응합니다 이벤트 함수들의 실행 순서와 각 함수의 역할에 대해 알아보겠습니다. 게임 로직을 더 효율적으로 관리하고 싶다면, Unity의 이벤트 함수가 어떻게 작동하는지 이해하는 것이 중요합니다    Legend 먼저 유니티에서 제공하는 메뉴얼입니다, 이것을 바탕으로 설명하겠습니다더보기https://docs.unity3d.com/kr/2022.3/Manual/ExecutionO..

Unity - Scripting API를 참고하는 법

유니티 버전 - 2022.3.48f1Scripting API 버전 - 2022.3     목차들어가며Scripting API기본적인 구성Properties (속성)Static Properties (정적 속성)Constructors (생성자)Inherited Members (상속된 멤버들)Public Methods (공개 메서드)Static Methods (정적 메서드)Operators (연산자)Messages (메시지)마치며     들어가며 Vector2를 이용하여 무엇인가 구현하려고 할때, Vector2에서 사용 가능한 옵션들을 알아보기 위한 방법으로, 유튜브나 구글링 등의 방법이 있겠지만 유니티에서 제공하는 공식 Scripting API를 이용하여 궁금한 내용에 대하여 찾아보는 법을 알아보겠습니다  ..

TagManager.preset을 이용한 태그 및 레이어 관리

유니티 버전 - 2022.3.48f1     목차들어가며TagManager.preset이란?TagManager.preset 만들기TagManager.preset 적용하기마치며     들어가며게임 개발을 하다 보면 다양한 객체를 효과적으로 관리하기 위해 태그와 레이어를 사용하게 됩니다, 이러한 태그와 레이어를 설정하고 관리하는 필요한 것이 TagManager.preset입니다 태그와 레이어 설정을 .preset 파일로 저장할 수 있습니다, 이를 통해 팀원 간의 협업이 용이해집니다 TagManager.preset의 사용 방법에 대해 알아보겠습니다.     TagManager.preset 만들기개발을하며 작성한 태그와 레이어가 있다고하겠습니다, 이것을 프리셋으로 저장 시켜보겠습니다   우측 상단의 볼륨 조절하..

using System을 이용한 시간 참조

유니티 버전 - 2022.3.17f1     목차들어가며using System 지시문DateTime시간 관련 유용한 메서드마치며     들어가며System 네임스페이스를 정의하고 그 안의 클래스와 메서드들을 이용하여 시간 관련 유용한 기능들을 알아보겠습니다     DateTime날짜나 시간 정보를 저장하는 데 특화된 구조체 입니다, 연도, 월, 일, 시, 분, 초 등 다양한 정보를 담고 있습니다 먼저 DateTime변수를 선언하고 현재의 날짜와 시간을 출력하여보겠습니다using System;public class Test : MonoBehaviour{ private DateTime dateTime; private void Start() { dateTime = DateTime...

Input System을 이용한 움직임 구현

유니티 버전 - 2022.3.17f1     목차Input System 적용하기Input System 생성 및 설정에셋 만들기Action Type과 Value완성된 코드 및 실행 결과완성코드실행결과마치며참고하면 좋은 자료     Input System 적용하기1. Window의 Pakage Manager를 선택합니다2. 들어가게되면 Packages: In Project로 설정되어있을텐데 클릭하여 Unity Registry로 변경합니다3. 우측의 검색에 input을 검색하거나 직접 찾아서 Install 버튼을 눌러줍니다, 유니티 버전별로 Input System의 버전또한 상이합니다   설치 후 Yes를 눌러 에디터를 재시작합니다     Input System 생성 및 설정   에셋 만들기Input Acti..

Input Manger와 Input System

유니티 버전 - 2022.3.48f1     들어가며오늘은 Input Manager와 Input System의 차이에 대하여 알아보겠습니다   목차Input Manager와 Input System의 정의Input Manager와 Input System의 장점과 단점결론마치며    Input Manager와 Input System의 정의 Input Manager는 유니티의 기본 내장 입력 시스템입니다, Edit -> Project Setting -> Input Manager를 통해 접근가능하며축(Axis)을 정의하고 그에 따라 입력 값을 받아오는 방식입니다 Input System은 유니티의 새로운입력 처리 패키지로, 다양한 입력 장치와플랫폼을 지원하는 이벤트 기반의 입력 시스템입니다, Window -> P..

c# - 열거형(Enum)

유니티 버전 - 2022.3.48f1     들어가며오늘은 Enum에 대하여 알아보겠습니다enum은 열거형(enumeration)의 줄임말로, 상수 값을 묶어서 관리할 수 있는 데이터 타입입니다, 값이제한된 범위 내에서만 사용되는 경우를 관리할 때 유용합니다        목차enum 정의하기enum 사용 예시enum 주의할 점     enum 정의하기enum은 상수 값을 의미있는 이름으로 정의하여 사용할 수 있게 해주는 C#의 데이터 타입으로 여러가지 관련된 상수 값을 그룹화하여 코드의 가독성과 유지보수성을 높여줍니다, 주로 제한된 선택지나 상태를 표현할 때 사용됩니다.   유니티에서 enum을 정의할 때는 다음과 같은 문법을 사용합니다public enum DayOfWeek{ Monday, T..

카테고리 없음 2024.09.30

c# - 프로퍼티

유니티 버전 - 2022.3.44f1      들어가며 프로퍼티란 클래스나 구조체의 필드 값을 제어하는 방법 중 하나입니다, 주로 필드 값을 읽거나 수정할 때 사용되며, 외부 클래스에서 안전하게필드에 접근하도록 하는데 유용합니다   프로퍼티는 왜 사용하는 것 일까요?    테스트라는 클래스가 있다고 가정하겠습니다, 여기에서 health라는 필드의 값을 다른 외부 클래스에서 참조만 하고 수정하지 못하도록 하여 오직 Test 클래스에서만 수정하려고 합니다 지금은 health라는 정보 하나만 보호해야 하므로 GetHealth()와 SetHealth() 메서드 두 개로 해결 가능합니다, 하지만 이러한 변수가 많아진다면 메서드도 그에 따라 증가하고, 유지보수도 힘들고 비효율적입니다 그래서 등장한 것이 프로퍼티입니..

c# - 배열

유니티 버전 - 2022.3.44f1      들어가며오늘은 배열에 대하여 알아보겠습니다 데이터를 효율적으로 관리하고 처리하기위한 다양한 데이터 구조가 존재합니다그 중에서도 자주 사용되는 세 가지는 배열, 리스트, 딕셔너리입니다 이 세가지가 중 배열과 Array. 메서드에 대하여도 알아보겠습니다      목차배열정의 및 특징선언 및 사용Array 클래스  배열   배열의 정의와 특징배열을 정의하자면 배열은 같은 타입의 데이터를 연속된 메모리 공간에 저장하는 자료 구조입니다, 배열을 이용하면 여러 개의 값을 하나의 변수로 관리할 수 있기에 반복적인 데이터 처리에 유용합니다 배열은 선언 시 배열의 크기를 지정해주어야 하며, 이후에는 크기를 변경할 수 없습니다배열은 각 요소에 인덱스를 이용하여 접근합니다, 인..