컨트롤 릭 함수 라이브러리

퍼블릭 컨트롤 릭 함수를 생성하고 참조하여 리깅 워크플로 속도를 높입니다.

블루프린트와 비슷하게 함수를 ‘퍼블릭'으로 만들어 사용자 생성 함수를 에셋 그래프 간에 공유할 수 있습니다. 함수를 자손 클래스하고만 공유하는 블루프린트와 달리 컨트롤 릭(Control Rig) 함수는 프로젝트 범위로 공유할 수 있습니다. 커스텀 함수 라이브러리를 생성하고 프로젝트의 모든 컨트롤 릭 그래프와 공유할 수 있습니다.

이 문서에서는 컨트롤 릭에서 함수 라이브러리를 생성하는 모범 사례를 안내하고 엔진에서 기본으로 제공하는 함수 라이브러리 사용 방법을 보여줍니다.

새 함수 라이브러리

다음 단계는 새 컨트롤 릭 함수 라이브러리를 생성하고 사용하는 방법을 보여줍니다.

컨트롤 릭 컨테이너 생성하기

커스텀 함수는 컨트롤 릭 에셋 안에서만 존재할 수 있으므로 첫 번째로 할 일은 컨트롤 릭 에셋을 생성하는 것입니다. 이 컨트롤 릭은 함수를 담는 기본 컨트롤 릭이 될 예정이므로 어떤 스켈레탈 메시에도 연결하면 안 됩니다.

콘텐츠 브라우저(Content Browser)에서 추가(Add)(+) 를 클릭한 다음, 애니메이션(Animation) > 컨트롤 릭(Control Rig) 을 선택합니다. 컨트롤 릭 블루프린트 생성(Create Control Rig Blueprint) 대화창에서 ControlRig 을 선택하고 생성(Create) 을 클릭합니다. 생성된 컨트롤 릭을 엽니다.

create control rig

이 에셋의 목적에 따라, 해당 함수 라이브러리는 컨트롤 릭 에셋 이며 어떤 스켈레톤에도 종속되지 않습니다. 덕분에 함수의 컨테이너로서 에셋을 최대한 가볍게 유지할 수 있습니다.

퍼블릭 함수 생성하기

컨트롤 릭 에디터(Control Rig Editor)에서 내 블루프린트(My Blueprint)함수(Functions) 섹션에서 추가(Add)(+) 를 클릭하여 새 함수를 생성합니다.

create control rig function

다음으로, 함수를 선택하고 디테일(Details) 패널에서 접근 지정자(Access Specifier)퍼블릭(Public) 으로 설정합니다. 이렇게 하면 모든 컨트롤 릭에서 이 함수에 공개적으로 액세스할 수 있습니다.

public function

함수 안의 데이터 구성

함수 내에 원하는 임의의 로직이 포함되도록 생성할 수 있으며, 여기에는 툴팁 설명, 컨텍스트 메뉴 카테고리 등 함수의 메타데이터도 포함됩니다.

이 예시에서는 For Each 노드와 Set Control Visibility 노드를 생성한 후 함수의 Entry 노드와 Return 노드에 연결했습니다.

function example

Entry 노드에 변수 입력을 생성하려면, Entry 를 선택하고 디테일 패널의 입력(Inputs) 카테고리에서 추가(+) 를 클릭합니다. 이 예시에서는 다음 변수를 생성했습니다.

  • 릭 엘리먼트 키(Rig Element Key) : 배열(Array) 타입

  • 부울(Boolean) : 단일(Single) 타입

variable setup

이제 변수 입력을 각각의 노드에 연결합니다.

variable connection

필요에 따라, 디테일 패널에서 노드 세팅(Node Settings) 프로퍼티를 편집하여 카테고리, 툴팁이나 기타 유용한 프로퍼티를 함수에 추가할 수도 있습니다.

function settings

이름

설명

카테고리(Category)

이 프로퍼티를 채우면 명명된 컨텍스트 메뉴 카테고리 내에 노드가 배치됩니다. 이 카테고리는 컨트롤 릭 그래프에 노드를 추가할 때 표시됩니다.

FunctionSetup5.png

키워드(Keywords)

컨텍스트 메뉴를 사용하여 검색 시 이 함수를 찾는 데 사용할 수 있는 검색어를 추가합니다.

FunctionSetup6.png

설명(Description)

이 함수에 대한 툴팁 설명을 추가합니다. 툴팁 설명을 그래프에 추가한 뒤 해당 노드나 컨텍스트 메뉴 항목 위에 커서를 가져가면 툴팁을 볼 수 있습니다.

FunctionSetup7.png

색(Color)

함수 노드 헤더의 색을 설정합니다. 노드 디폴트(Node Defaults) 카테고리를 확장하여 노드의 모습을 미리 확인할 수 있습니다.

FunctionSetup8.png

함수 참조하기

다른 컨트롤 릭에 공유된 함수를 추가하려면 릭 그래프(Rig Graph) 에서 우클릭하고 컨텍스트 메뉴에서 함수를 추가합니다. 공유된 함수는 참조할 수 있도록 노드 헤더에 폴더 경로가 표시됩니다.

add function

공유된 함수 노드를 더블클릭하면 해당 함수와 함수 로직이 포함된 컨트롤 릭 에셋이 열립니다.

함수 현지화하기

함수의 로직을 공유 버전으로부터 분리하려는 경우, 함수를 현지화하면 현재 릭 그래프 내에서 함수 로직의 로컬 사본이 생성됩니다.

이렇게 하려면 함수 노드를 우클릭하고 함수 현지화(Localize Function) 를 선택합니다. 대화창에서 함수가 활성화되어 있는지 확인하고 확인(OK) 을 클릭합니다

localize function

이제 함수가 로컬 함수로 변환되어 로직을 로컬로 분리할 수 있습니다.

localized to new function

표준 함수 라이브러리

언리얼 엔진에는 기본적으로 컨트롤 릭 표준 함수 라이브러리(Standard Function Library) 가 포함되어 있으므로, 이를 참조하여 자체적인 함수 라이브러리를 생성하는 방법을 알 수 있습니다. 추가로, 여기에는 자체 리깅 워크플로를 지원하는 데 사용할 수 있는 다양한 함수도 포함되어 있습니다.

이 표준 함수 라이브러리는 Control Rig Plugin 폴더에 있습니다. 이 라이브러리를 사용하려면 콘텐츠 브라우저 를 열고, 세팅(Settings) 을 클릭한 다음 엔진 콘텐츠 표시(Show Engine Content)플러그인 콘텐츠 표시(Show Plugin Content) 를 활성화하여 해당 플러그인 폴더를 확실하게 활성화합니다.

show engine and plugin content

그런 다음, 엔진(Engine) > 플러그인(Plugins) > 컨트롤 릭 콘텐츠(Control Rig Content) > StandardFunctionLibrary 로 이동하여 StandardFunctionLibrary 를 엽니다.

standard function library

라이브러리를 열면 내 블루프린트(My Blueprint) 패널에 다양한 함수가 보입니다.

standard functions

표준 함수 라이브러리는 엔진 콘텐츠(Engine Content) 에서 제공하므로 이 에셋에 적용한 모든 변경사항은 언리얼 엔진을 재설치하거나 업데이트하면 오버라이드됩니다. 엔진 콘텐츠의 함수 라이브러리를 수정하는 것보다 자체적인 함수 라이브러리를 생성하는 것을 권장합니다.

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