Humility

아무리 노력해도 최고가 되지 못할 수 있다⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀그럼에도 노력하는자가 가장 겸손한 것 아닌가

공부하는 블로그
반응형

전체보기 80

[Unity] 유니티 C# 인터페이스 ( Interface)

인터페이스구현은 없고 선언만 있다클래스가 반드시 구현해야 할 메서드와 프로퍼티를 정의한 일종의 설계도(청사진) 이다인터페이스 정의public interface IMoveable { // 프로퍼티 선언 float Speed { get; set; } // 메서드 선언 void Move(Vector3 direction); void Stop();}인터페이스 주요 특징1. 인터페이스 이름은 보통 'I'로 시작한다2. 메서드와 프로퍼티만 선언 가능하며, 구현부는 작성할 수 없다3. 다중 상속이 가능하다4. 모든 멤버는 기본적으로 public 이다장점1. 다중상속 가능C#은 클래스 다중 상속이 불가능하지만, 인터페이스는 여러 개 구현이 가능하다 2. 느슨한 결합도구체적인 구현체가 ..

유니티/문법 2024.11.13

[Unreal5] 블루프린트로 달팽이 레이싱 게임 만들기 (Event Dispatcher)

저번에 만든 달팽이 레이싱 게임을 이벤트 디스패쳐를 활용해 더욱 간단하게 만들어 볼 예정이다.Event Dispatcher(이벤트 디스패쳐) 이벤트 디스패처는 블루프린트 간의 통신을 위한 메시징 시스템 Observer 패턴을 구현한 것으로, 발신자(Publisher)와 수신자(Subscriber) 간의 느슨한 결합을 가능하게 한다주요 특징1:N 통신 가능 (하나의 이벤트를 여러 객체가 수신 가능)런타임에 동적으로 바인딩/언바인딩 가능커스텀 매개변수 전달 가능장점느슨한 결합으로 모듈성 향상확장성이 좋음코드 재사용성 증가디버깅이 용이 주의사항메모리 누수 방지를 위해 적절한 Unbind 필요과도한 이벤트 발생은 성능에 영향순환 참조 주의 주요 사용법이벤트 디스패쳐 생성 방법 1. 블루프린트 에디터에서 변수 추..

[Unreal5] 블루프린트로 달팽이 레이싱 게임 만들기

준비도착지점 : 블로킹볼륨움직일 물체 : 블루프린트 actor로 만든 구체블로킹 볼륨(Blocking Volume)블로킹 볼륨은 언리얼 엔진에서 물리적 충돌을 정의하는 기본적인 방법생성하는법Place 패널에서 Volumes → Blocking Volume을 선택 후 뷰포트에 드래그하여 생성일반적인 사용 사례보이지 않는 벽 생성트리거 영역 설정레벨 경계 설정물리적 충돌 영역 정의블로킹 볼륨은 게임 레벨 디자인에서 매우 중요한 요소이며, 플레이어의 이동을 제한하거나 특정 이벤트를 트리거하는 데 사용된다Actor 블루프린트기본 개념게임 월드에 배치할 수 있는 가장 기본적인 오브젝트 클래스C++ Actor 클래스의 블루프린트 버전독립적으로 동작하며 고유한 로직을 가질 수 있음 주요 이벤트BeginPlay: 액터..

[Unreal5] Collision

Collision 게임 내에서 물체들 간의 충돌이나 접촉을 감지하고 처리하는 시스템 Collision의 기본 개념게임 오브젝트들이 서로 물리적으로 상호작용할 수 있게 해주는 기능캐릭터가 벽을 통과하지 못하게 하거나, 아이템을 먹었을 때 감지하는 등의 용도보이지 않는 "충돌 박스" 또는 "충돌 영역"을 통해 작동 Collision의 주요 형태Box Collision: 직사각형 모양의 충돌 영역Sphere Collision: 구체 모양의 충돌 영역Capsule Collision: 캡슐 모양의 충돌 영역 (캐릭터에 많이 사용)Complex Collision: 메시의 형태를 따라가는 정확한 충돌 영역 Collision ChannelsObject Channel: 개별 오브젝트의 충돌 속성 정의Trace Chann..

언리얼/문법 2024.11.08

[Unreal5] 블루프린트 Structure(구조체),Vector, Location, Rotate

Structure특징여러 변수들을 하나의 그룹으로 관리블루프린트에서 재사용 가능배열의 요소로 사용 가능변수로 저장하고 전달 가능Break/Make 노드를 통해 데이터 접근/수정 생성 및 사용 방법스트럭트 노드의 특징Split Pin으로 펼쳐서 변수들 각각 사용 가능여러 변수들의 다른값 입력 및 출력 가능BreakStructure를 개별 변수들로 분해하는 노드특징모든 멤버 변수에 한 번에 접근 가능읽기 전용(Read Only) 실행 핀(Execution Pin)이 없음구조체 직접 연결과 Break 노드 연결 차이점구조체스트럭처의 각 변수들을 개별적인 핀으로 분리해서 보여준다필요한 특정 변수만 선택적으로 사용할 수 있다블루프린트가 더 깔끔하고 명확해질 수 있다변수 값을 개별적으로 쉽게 수정할 수 있다  Br..

언리얼/문법 2024.11.07

[Unreal5] 블루프린트 객체 지향 프로그래밍의 주요 특성 ( 상속, 은닉, 다형 )

클래스 3가지 속성에 대해 알아보려고 한다1. 상속성2. 은닉성3. 다형성상속성 (Inheritance)상위 클래스의 특성을 하위 클래스가 물려받는 것기본 구조Character (상위 클래스)├── 기본 속성: 체력, 속도, 이름 ├── 기본 기능: 이동, 점프 └── 하위 클래스들           ├── PlayerCharacter          │ ├── 추가 속성: 경험치, 레벨           │ └── 추가 기능: 아이템 사용, 스킬 사용           └── EnemyCharacter                            ├── 추가 속성: 경계 범위, 공격력                            └── 추가 기능: AI 순찰, 추적  언리얼에서 상속하는 방법변수..

언리얼/문법 2024.11.06

[Unreal5] 블루프린트 Swap, 배열, 로또번호 생성기, 버블정렬

SwapA에 들어있는 변수와 B에 들어있는 변수 바꾸기A와 B에 이미 들어있는 변수는 바로 바꾸지 못한다그렇기 때문에 Temp라는 비어있는 변수에 옮겨서 바꿔줘야한다.결과Reference( 참조 )와 Copy( 복사 )Ref의 특징메모리 관리실제 데이터가 잇는 메모리 주소를 가리킨다원본 데이터를 직접 참조하므로 추가 메모리를 사용하지 않는다대용량 데이터를 다룰 때 효율적이다 데이터 동기화한 곳에서 값을 변경하면 같은 참조를 사용하는 모든 곳이 업데이트 된다여러 곳에서 같은 데이터를 실시간으로 공유해야 할 때 유용하다UI요소나 게임 상태 등을 표시할 때 자주 사용된다 실제 사용 예시플레이어의 현재 체력 표시 ( 여러 UI가 같은 값을 보여줘야함 )게임 점수 시스템캐릭터의 위치 정보같은 값을 공유해야할 때 ..

언리얼/문법 2024.11.05

[Unity] 유니티 C#) 자료구조 스택(Stack), 큐(Queue)

Stack스택의 구조 스택은 가장 나중에 들어간 데이터가 가장 먼저 나오는 LIFO(Last In First Out) 선입선출 구조이다다. 실생활의 예로는 책을 쌓아둔 더미를 생각하면 된다 맨 위에 있는 책(마지막에 올려둔 책)을 가장 먼저 집을 수 있는 것 처럼스택 선언 방법접근지정자 Stack타입> 변수명 = new Stack타입>(); private Stack books = new Stack();스택의 주요 동작Push: 새로운 데이터를 스택 맨 위에 추가Pop: 스택 맨 위의 데이터를 제거하고 반환Peek: 맨 위 데이터를 제거하지 않고 확인만 함 Count: 스택에 있는 데이터의 개수 확인Contains: 스택에 특정 데이터가 있는지 확인Clear: 스택의 모든 데이터를 제거스택의 특징데이터는 ..

유니티/문법 2024.11.02

[Unreal5] 블루프린트 Random, 게이트, Enum

Random블루프린트에는 다양한 랜덤의 종류가 있었다.1. Random Integer [Random Integer] ├── Min: 최소값 └── Max: 최대값 (포함) 사용 예시: 클리어 시 얻는 아이템 갯수 등2. Random Float [Random Float] ├── Min: 최소값 └── Max: 최대값 사용 예시: 이동속도, 크기 조절 등3. Random Bool [Random Bool]  └── 확률 설정 가능 사용 예시: 50% 확률로 이벤트 발생, 크리티컬 등4. Random Point in Radius [Random Point in Radius] ├── Origin: 중심점 ├── Radius: 반경 └── 랜덤 위치 반환 사용 예시: 몬스터 스폰, 아이템 드롭5. Random Poi..

언리얼/문법 2024.11.01

[Unreal5] 블루프린트 반복문(While,For),DO

반복문블루프린트의 기본적인 반복문에는 몇가지의 종류가 있다.1. For Loop ( 기본 for문)2. For Loop with Break (중단 가능한 for문)3. While Loop (조건 기반 반복)4. Do N (N회 반복) 당연하지만 이것들은 같은 행동을 반복할 때 사용해준다. While문 사용법결과 While(true)While Loop 노드의 컨디션을 체크하면 While(true)가 된다.이 상태로 실행하면 어떻게 될까? 결과유니티에 경우에는 껐다 켜야 했지만 언리얼에서는 경고창이 뜨면서 다행히 꺼지진 않는다.유니티에서 저장안하고 무한반복문 잘못 돌렸다가 씬에 배치한거 다 날라갔었는데... While문을 이용한 구구단 예제더보기For블루프린트에서는 2가지 종류의 For문을 만들 수 있다두 ..

언리얼/문법 2024.10.30
반응형