일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 트리
- c++
- 유니온 파인드
- 알고리즘
- 문자열
- 정렬
- 스택
- BFS
- 수학
- 누적 합
- 그래프
- 유니티
- VR
- 브루트포스
- 시뮬레이션
- 다익스트라
- 투 포인터
- Unreal Engine 5
- 다이나믹 프로그래밍
- 우선순위 큐
- 백준
- DFS
- 구현
- 백트래킹
- XR Interaction Toolkit
- Team Fortress 2
- ue5
- 자료구조
- 재귀
- 그리디 알고리즘
- Today
- Total
목록언리얼 (26)
1일1알

개인적으로 Lyra 프로젝트를 분석한 것이고, 틀린 내용이 있을 수 있습니다.UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "Lyra|Character", Meta = (AllowPrivateAccess = "true"))TObjectPtr PawnExtComponent;UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "Lyra|Character", Meta = (AllowPrivateAccess = "true"))TObjectPtr HealthComponent;UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "Lyra|Character", M..

개인적으로 Lyra 프로젝트를 분석한 것이고, 틀린 내용이 있을 수 있습니다. 오늘은 GameMode를 분석해 보려고 한다. Lyra에서는 ALyraGameMode클래스를 GameMode 클래스로 사용한다. void ALyraGameMode::InitGame(const FString& MapName, const FString& Options, FString& ErrorMessage){ Super::InitGame(MapName, Options, ErrorMessage); // Wait for the next frame to give time to initialize startup settings GetWorld()->GetTimerManager().SetTimerForNextTick(this, &This..

언리얼 5부터는 EnhancedInputComponent를 사용하여 입력을 처리한다.간단하게 설명하면 Input Action에서 행동에 대한 정의를 하고Input Action들을 모아서 Input Action들에 대해 어떤 입력에 대응할지를 정의하는 Input Mapping Context를 만든다.그리고 EnhancedInputComponent에 Input Action에 대응하는 함수를 만들어서 입력에 대한 처리를 한다. 이 EnhancedInputComponent를 Project Settings의 Input탭에서 설정할 수 있는데, Lyra 프로젝트에서는 EnhancedInputComponent를 상속받은 LyraInputComponent를 만들어서 사용하고 있다. templatevoid ULyraIn..

AssetManager란 이름 그대로 애셋, 데이터들을 관리하는 클래스이다.에디터의 Project Settings에서 AssetManager로 사용할 클래스를 지정하면 자동으로 이 클래스가 엔진의 AssetManager로 등록된다. 등록한 클래스는 DefaultEngine.ini파일에 기록된다. /** * ULyraAssetManager * * Game implementation of the asset manager that overrides functionality and stores game-specific types. * It is expected that most games will want to override AssetManager as it provides a good place for ga..
Gameplay Effect (GE)GAS는 게임에 영향을 주는(대부분 게임 데이터를 변경) 객체를 별도로 분리해서 관리하는데, 이것이 Gameplay Effect대부분의 GE와 어트리뷰트는 함께 동작세가지 타입 존재Instant : 어트리뷰트에 바로 적용되는 GE, 한 프레임에 실행됨Duration : 지정한 시간 동안 동작하는 GEInfinite : 명시적으로 종료하지 않으면 계속 동작하는 GEGameplayEffect 클래스를 상속받아서 구현, 함수를 통해 구현되는 기능은 거의 없고 대부분 기본 설정을 통해 사용DurationPolicy를 지정어트리뷰트에 어떻게 적용할지에 대한 명세를 지정해줘야 함, 이것을 Modifier라고 함Gameplay Effect ModifierGE에서 어트리뷰트의 변경 ..
Attribute 어트리뷰트는 구조체 FGameplayAttributeData 에 정의된 float값이다. 오브젝트의 체력, 공격력 등 수치에 관련된 값들을 나타낼 수 있고, 일반적으로 GE로 수정한다. Attribute Set(어트리뷰트 셋)은 어트리뷰트들에 대한 정보들을 정의하고 관리한다.Attribute Set단일 어트리뷰트 데이터인 GameplayAttributeData의 묶음어트리뷰트는 AttributeSet이라는 클래스를 상속받아서 구현한다.GameplayAttributeData는 하나의 값이 아닌 두 가지 값으로 구성되어 있음BaseValue : 기본값, 영구적으로 적용되는 고정 스탯 값을 관리하는데 사용CurrentValue : 변동값, 버프 등으로 임시적으로 변동된 값을 관리하는데 사용A..