컴포넌트

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

Choose your operating system:

Windows

macOS

Linux

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

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

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

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

컴포넌트 인스턴싱

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

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

컴포넌트 유형

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

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

언리얼 엔진 문서의 미래를 함께 만들어주세요! 더 나은 서비스를 제공할 수 있도록 문서 사용에 대한 피드백을 주세요.
설문조사에 참여해 주세요
취소