묻공러
언리얼 기본 요소 - Component
묻공러
묻지마공부
묻공러
전체
오늘
어제
  • 분류 전체보기 (492) N
    • C (54)
      • [코드조선] C 핵심 (35)
      • [언어본색] C 기초 (19)
    • C++ (72)
      • [루키스] C++ (9)
      • [루키스] 콜백함수 (6)
      • [루키스] STL (8)
      • [루키스] Modern C++ (11)
      • [노코프] C++ (10)
      • [노코프] Tips (16)
      • [일지] C++ (12)
    • C# (5) N
      • [루키스] C# (5) N
      • [루키스] 자료구조 (0)
      • [루키스] 실전 문법 (0)
    • 자료구조 & 알고리즘 (50)
      • [코드조선] C 자료구조 & 알고리즘 (6)
      • [합격자되기] C++ 코딩테스트 (12)
      • [루키스] C++ 자료구조 & 알고리즘 (32)
    • CS (69)
      • [널널한 개발자] CS 개론 (19)
      • [혼자 공부하는] 컴퓨터 구조 (16)
      • [혼자 공부하는] 운영체제 (18)
      • [널널한 개발자] 네트워크 (16)
    • 게임 그래픽스 (46)
      • [전북대] OpenGL (25)
      • [일지] DirectX (21)
    • 게임 엔진 (124)
      • [코드조선] 언리얼 (53)
      • [코드조선] 언리얼 데디서버 (8)
      • [일지] 언리얼 (59)
      • [일지] 언리얼 (2) (3)
      • 유니티 (1)
    • 게임 서버 (17)
    • 게임 수학 & 물리 (19)
      • 게임 수학 (12)
      • 게임 물리 (7)
    • GIT & GITHUB (4)
    • 영어 (18)
      • [The Outfit] 대본 공부 (11)
      • the others (7)
    • 그 외 (14)
      • In (5)
      • Out (5)
      • Review (4)

인기 글

최근 글

hELLO · Designed By 정상우.
게임 엔진/[코드조선] 언리얼

언리얼 기본 요소 - Component

2024. 5. 10. 11:40

컴포지션
객체 지향 프로그래밍에서 상속(Is-A)만으로 구조를 짜면 유지보수가 어렵다

그 이유는 상속이 깊은 경우에 최상위 부모 클래스의 변경이

그 하위 모든 자식 클래스에게 영향을 주기 때문이다

따라서,

컴포지션은 Has-A 관계를 구현하는 설계 방법으로 유지보수가 쉽다

기능이라는 개념을 상속으로 구현한다면, 많은 기능을 가지는 액터는 유지보수가 어렵지만

기능이라는 개념을 컴포지션으로 구현한다면, 많은 기능을 쉽게 탈착 하며 유지보수가 쉬워진다


언리얼 엔진의 컴포지션
액터를 구현할 때 다양한 기능을 유연하게 탈착할 수 있도록

각 기능을 규격화한 것이 컴포넌트이다
ex) 스태틱 메시 컴포넌트, 박스 컴포넌트, 무브먼트 컴포넌트, …

 

루트 컴포넌트

액터는 여러 개의 컴포넌트를 가질 수 있고
그 컴포넌트들 중에서도 대표하는 하나의 컴포넌트를
루트 컴포넌트라고 한다

 

자주 사용되는 컴포넌트

- 스태틱메시 컴포넌트
애니메이션 정보가 없는 애셋인 스태틱 메시를 가지고
시각적 기능과 물리적 기능을 제공할 수 있는 컴포넌트


- 스켈레탈메시 컴포넌트
애니메이션 정보가 있는 애셋인 스켈레탈 메시를 가지고
시각적 기능과 물리적 기능을 제공할 수 있는 컴포넌트


- 콜리전 컴포넌트
특정 모양(구/박스/캡슐)의 물리적 기능을 제공하는 컴포넌트.


- 무브먼트 컴포넌트
물체에 이동 기능을 제공하는 컴포넌트


- 카메라 컴포넌트
가상 세계를 플레이어의 모니터에 출력 해주는 
기능을 제공하는 컴포넌트


언리얼 컴포넌트의 생성 시기

필수적 포함: CDO에 미리 다른 언리얼 오브젝트를 생성 후 포함한다
선택적 포함: CDO에는 빈 포인터로 두고, 런타임에서 생성 후 포함한다

컴포넌트와 액터의 관계
내가 소유한 언리얼 오브젝트를 SubObject
나를 소유한 언리얼 오브젝트를 Outer라고 부른다

저작자표시 비영리 변경금지 (새창열림)

'게임 엔진 > [코드조선] 언리얼' 카테고리의 다른 글

언리얼 기본 요소 - Component 상속 구조  (0) 2024.05.11
언리얼 기본 요소 - MovementComponent  (0) 2024.05.10
언리얼 자료구조 - TArray, TSet, TMap  (0) 2024.05.10
언리얼 문자열 - FName, FText  (0) 2024.05.10
언리얼 문자열 - TCHAR, FString  (0) 2024.05.10
'게임 엔진/[코드조선] 언리얼' 카테고리의 다른 글
  • 언리얼 기본 요소 - Component 상속 구조
  • 언리얼 기본 요소 - MovementComponent
  • 언리얼 자료구조 - TArray, TSet, TMap
  • 언리얼 문자열 - FName, FText
묻공러
묻공러
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.