컴포넌트

액터 안의 하위 오브젝트로 사용할 수 있도록 설계된 여러 유형의 Component, 컴포넌트에 대한 개요입니다.

Windows
MacOS
Linux

Component, 컴포넌트는 액터에 추가시킬 수 있는 함수성 조각으로, 컴포넌트는 독립적으로 존재할 수는 없지만, 액터에 추가시키면 자립적인 함수성 조각으로, 액터에 포함시켜야 하며, 그 자체로 존재할 수는 없습니다.

예를 들어 스포트 라이트 컴포넌트는 액터가 스포트 라이트처럼 빛을 내도록, 로테이팅 무브먼트 컴포넌트는 액터가 회전하도록, 오디오 컴포넌트는 액터가 사운드를 재생하도록 해 줍니다.

액터에 컴포넌트를 추가할 때, 그 액터 전체를 이루는 조각들을 함께 모아서 레벨에 배치하게 됩니다. 차를 예로 들면, 바퀴, 운전대, 차체, 라이트 등이 컴포넌트로 간주되는 반면, 차 자체는 액터로 간주됩니다.

액터를 정의하는 컴포넌트를 추가한 이후 한 가지 중요한 점은, 차의 작동 방식에 영향을 끼치는 블루프린트 스크립트(나 C++ 코드)를 제공하지 않고도 레벨에 액터를 배치할 수 있다는 점입니다 (현실에서도, 차를 운전하는 운전자 없이도 사물로써 존재 가능합니다). "악셀 페달"은 컴포넌트가 될 것이므로, 스크립트나 코드를 통해 "악셀 페달" 이 눌렸는지 확인하고, 눌렸으면 차를 가속시키는 로직을 제공해 줍니다. 그 후 각각의 컴포넌트를 이런 식으로 접근 가능합니다 (라이트 켜기, 경적 울리기, 라디오 켜기, 조향 등).

컴포넌트 인스턴싱

일반적인 서브 오브젝트의 기본 작동방식과는 상반되게, 액터 안에 서브 오브젝트로 생성된 컴포넌트는 인스턴스로 생성됩니다. 특정 클래스의 액터 인스턴스 각각은 컴포넌트의 고유 인스턴스를 별도로 갖는다는 뜻입니다. 이를 간단히 시각화시켜 볼 수 있는 방법은, 위의 차를 떠올려 보는 것입니다. Car 클래스에서 바퀴를 나타내기 위해 컴포넌트를 사용할 수 있습니다. 네 개의 바퀴 컴포넌트를 클래스 디폴트 프로퍼티에 서브 오브젝트로 만든 다음, "바퀴" 배열에 할당합니다. Car 인스턴스가 새로 생성되면, 바로 그 차만을 위한 바퀴 컴포넌트가 새로 생성됩니다. 그렇게 되지 않는다면, 월드의 Car 하나가 움직인 경우, 모든 Car 의 바퀴가 회전할 텐데, 분명히 바람직한 동작이 아닙니다. 컴포넌트 인스턴싱은 기본적으로 액터에 고유 서브 오브젝트를 빠르게 추가하는 프로세스를 단순화시켜 줍니다.

컴포넌트 인스턴싱이 없다면, Instanced 프로퍼티 지정자 를 사용하여 모든 컴포넌트 변수를 선언해 줘야 할 것입니다.

컴포넌트 유형

액터에 추가할 수 있는 컴포넌트 유형은 여러가지 있으며, 자세한 정보는 아래 링크를 참고하세요:

다른 컴포넌트에 대한 정보는 Unreal Engine API ReferenceComponents 섹션을 참고하세요.

태그
Select Skin
Light
Dark

새로운 언리얼 엔진 4 문서 사이트에 오신 것을 환영합니다!

문서 사이트에 대한 의견을 모을 수 있는 피드백 시스템을 포함해서 여러가지 새로운 기능을 준비하고 있습니다. 아래 Documentation Feedback 포럼(영문) 또는 언리얼 엔진 네이버 공식 카페(한글) 중 편하신 곳에 의견이나 문제점을 알려 주세요.

새 시스템이 준비되면 알려 드리겠습니다.

네이버 카페
공식 포럼