inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[Rookiss University] UE5 Lyra 클론 코딩 (Haker)

Cosmetic #2

Cosmetic에서 PawnComponent를 AddComponent로 붙이지 않은 부분에 대한 질문

101

채명석

작성한 질문수 3

0

PawnComponent를 GameFeature Action을 통해 붙이지 않은 이유를 무거워서 직접 붙이고 필요할때마다 Character를 BP클래스로 나눠서 붙이는 방식이라고 하셨는데

그러면 아예 처음부터 CharacterBaseClass를 만들고, BP로 인간 클래스, 괴물 클래스, 동물 클래스를 별도로 나눠놓고 각 BP클래스에 각기 다른 CharacterPart를 AddComponent를 하는거랑 차이가 있을까요??

c++ unreal-engine

답변 2

1

Liu

말씀하신거랑 사실 차이는 없습니다. 대신에 라이라의 방식을 사용하시면 언제든지 구성품이 바뀔 수 있는데 새로 블루프린트를 만들 것 없이 CharacterParts 목록만 바꾸면 되서 더욱 확정성이 넗습니다.
사실 이러한 방식을 사용하는 정말 결정적인 이유는 데디케이트에서 최적화 용도라서 아 이런 방법도 있구나 하고 넘어가셔도 좋습니다~

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. 채명석님께서 주신 질문에 대한 답변을 드리겠습니다.

질문하신 내용은 언리얼 엔진에서의 PawnComponent 관리와 관련이 있습니다. 언리얼 엔진에서 GameFeature Action을 통해 PawnComponent를 관리하는 경우와 직접 BP클래스로 나누어 관리하는 경우에는 몇 가지 차이가 있습니다.

  1. 유연성: GameFeature Action을 통해서 컴포넌트를 붙이는 방식은 개발자가 필요에 따라 편리하게 컴포넌트를 추가하거나 제거할 수 있는 유연성을 제공합니다. 반면, BP 클래스로 각기 다른 컴포넌트를 미리 붙여놓는 경우에는 각 클래스에 필요한 컴포넌트를 사전에 정의해야 하며, 이후 변경이 있을 때마다 클래스를 수정해주어야 합니다.

  2. 재사용성: GameFeature Action은 여러 환경이나 상황에서 쉽게 재사용이 가능하도록 설계되어 있어, 하나의 GameFeature로 여러 캐릭터에 공통적인 기능을 제공할 수 있습니다. 별도로 클래스를 나누어 작업하는 경우, 각 클래스마다 중복된 코드를 작성해야 할 수도 있습니다.

  3. 관리 용이성: 여러 클래스로 나누게 되면, 각각의 클래스에 대해서 따로따로 관리하고 업데이트해야 하는 번거로움이 존재합니다. 반면, GameFeature Action을 이용하면 이러한 작업을 좀 더 중앙화하여 관리할 수 있습니다.

결론적으로, 각각의 방법은 개발자가 어떤 구조와 방식으로 프로젝트를 관리하느냐에 따라 장단점이 존재하며, 배포 환경 및 팀의 합의에 따라 전략을 결정하는 것이 중요하다고 할 수 있습니다.

관련 질문에 대한 참고로 BP_Hand를 ChindActorComponent로 붙이면 안되는 이유가 뭘까요?를 확인해 보시기 바랍니다. 이 질문에서는 컴포넌트 관리와 관련된 더 많은 정보와 배경을 제공하며 상황에 맞는 접근법을 찾는 데 도움이 될 수 있을 것입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

Reticle이 안나옵니다.

0

5

1

AddGameFrameworkComponentReceiver vs AddExtensionHandler

0

23

0

B_TeleportToUserFacingExperience가 추가로 생성되지 않습니다.

0

57

2

.

0

59

1

SpawnDefaultPawnAtTransform_Implementation이 호출되지 않습니다.

0

58

2

Input Subsystem 에서 오류가 발생합니다

0

65

1

7강 GameMode와 Modules관련 질문드립니다.

0

55

1

LyraFrontEnd 에서 로딩화면에서 넘어가지 않는 원인이 뭔지 질문드립니다.

0

82

2

리소스 이주했는데 안보이는데 어떻게 해야하나요?

0

86

3

TakeFromAbilitySystem 함수에서 Array 에 대한 remove 는 수행하지 않나요?

0

57

1

CircumferenceMarkerWidget의 bReticleCornerOutsideSpreadRadius 초기화 관련

0

62

1

Pawn 교체, Possess 후 위젯이 이전 값(상태)을 잘못 보여줄 때 처리법이 궁금합니다.

0

74

2

Pawnextension#3 9:19 질문이 있습니다.

0

61

2

Experience 재시작

0

79

2

Log 파트에서 Subtitution Macro Call 를 사용하는 방법이 무엇인가요?

0

81

2

설치후 빌드하는데 에러가 발생하고 인텔리센스도 잘 활성화되지 않습니다.

0

204

1

FPerContextData에 대해 질문이 있어요

0

49

2

OnGameFeatureActivating와 WorldContext관해 질문 있습니다.

0

68

1

GameFeature Action 및 Common UI Widget 생성 관련 질문

0

81

1

가비지컬렉션 관련 질문있습니다.

0

94

3

Travel관련해서 질문 있습니다.

0

60

1

IMC가 먹통이에요

0

86

2

PawnExtension #3 에서 말한 라이라 공식문서가 뭔가요?

0

65

1

PawnExtensionComponent::SetPawnData에서의 CheckDefaultInitialization

0

58

1