에셋 캡슐

페이지 컨텐츠

씬 노드의 수와 기능은 각 릴리스마다 급격히 증가하고 있습니다. 그럼에도 불구하고 현재 노드로 제공되지 않는 오브젝트와 기능들이 여전히 존재합니다. 반면, 클래식 Cinema 4D 환경에 존재하지 않는 기능과 생성자를 노드로 구성할 수 있습니다. 그렇다면 두 시스템의 장점을 결합할 수 있다면 어떨까요? 이는 노드 에셋을 만들 때 몇 가지 규칙을 따르면 실제로 가능합니다.

오브젝트 관리자에서 노드 기반 에셋 사용하기

에셋 브라우저에서 클래식 Cinema 4D 환경에서 직접 사용할 수 있는 몇 가지 에셋을 이미 찾을 수 있습니다. 예를 들어 "Geometry Generators" 섹션에서 "원자 배열"를 찾아보세요. 이 기능은 클래식 원자 배열 생성자와 유사하지만, 구와 실린더에 재질을 직접 할당하거나 실린더 요소의 길이를 편집하는 등의 추가 옵션을 제공합니다. 에셋 브라우저에서 이 에셋을 오브젝트 관리자로 직접 드래그해 보세요. 마법처럼 원자 배열 오브젝트가 나타나고 속성 관리자에 이 노드 에셋의 설정도 표시됩니다. 이제 어떤 폴리곤 오브젝트든 원자 배열 아래에 그룹화하면 작동하기 시작합니다. 따라서 노드 기반의 기능을 사용하고 있다는 것을 전혀 눈치채지 못하게 됩니다.

바로 다시 시도해 보세요. 예를 들어 에셋 브라우저에서 "Mesh Primitive" 에셋이나 "Spline Primitive" 에셋을 오브젝트 관리자로 드래그해보세요. 이러한 노드 기능이 이제 클래식 오브젝트처럼 표시되며 클래식 오브젝트와 결합할 수 있습니다. 이제 이러한 방식이 어떤 가능성을 열어주는지 분명히 알 수 있습니다. 노드를 사용해 자신만의 오브젝트와 생성자를 만들고, 이를 오브젝트 관리자에서 클래식 Cinema 4D 오브젝트와 직접 결합할 수 있습니다. 이러한 에셋의 사용자는 노드에 대해 전혀 알 필요가 없으며, 익숙한 관리자를 통해 모든 기능을 조작할 수 있습니다.

자신만의 에셋 캡슐 만들기

에셋 브라우저를 약간 실험하고 다른 노드 기반 에셋을 오브젝트 관리자로 드래그해보면, 모든 에셋에서 이 방법이 작동하지 않는다는 것을 알게 될 것입니다. 이러한 에셋을 만들 때는 특정 규칙을 따라야 하며, 또한 모든 기능이 현재 오브젝트 관리자와 클래식 Cinema 4D 기능과 직접 호환되는 것은 아닙니다. 따라서 노드 그룹에서 단순히 에셋을 생성하고 이를 오브젝트 관리자에서 작동할 것으로 기대할 수는 없습니다. 특별한 에셋 캡슐을 만들어야 합니다.

에셋 캡슐은 기본적으로 일반 에셋과 동일하며 동일한 방식으로 생성됩니다. 그러나 현재 오브젝트 관리자와 클래식 Cinema 4D 환경에서 평가될 수 있는 특정 요소를 포함합니다. 이러한 요소는 다음을 포함합니다:

현재 배포, 이펙터 또는 필드를 사용하는 에셋은 아직 사용할 수 없습니다.

그러나 에셋 캡슐 사용에는 단점이 있으며, 현재 모든 시나리오에 적합하지 않을 수 있습니다. 예를 들어, 사용자 데이터와 오브젝트 매개변수 간의 매개변수를 연결하고 수학적 계산을 수행하기 위해 XPresso를 사용하는 것이 여전히 장점이 있습니다. 오브젝트 관리자에서 에셋 캡슐을 사용하는 것과 클래식 오브젝트와 결합하는 것은 내부 변환을 통해서만 가능하며, 이는 계산 시간을 소모합니다. 따라서 복잡한 에셋은 노드 에디터에서 네이티브로 작업할 때 관찰되는 속도 이점을 활용할 수 없습니다.그러므로 에셋 캡슐을 사용하여 파라메트릭 오브젝트를 생성하고 스플라인 및 폴리곤 오브젝트를 편집하는 것이 특히 매력적입니다.

모델링 캡슐 생성하기

모델링 기능을 캡슐로 생성하려면 "지오메트리 수정자 그룹" 노드를 기본으로 사용해야 합니다. 이 그룹은 지오메트리를 위한 입력과 출력을 제공합니다.

자신만의 모델링 기능을 만들기 위해 지오메트리 수정자 그룹을 사용하세요.

설정을 테스트하기 위해 그룹 외부의 다른 노드를 여기 연결할 수 있지만, 에셋으로 변환하려면 나중에 그룹 자체만 필요합니다. 속성 관리자에서 추가 옵션을 제공하려면 두 가지 방법이 있습니다:

간단한 모델링 기능을 예로 들어 진행해 보겠습니다. 이러한 단계를 모든 다른 에셋 및 에셋 캡슐에 적용할 수 있습니다. 이를 위해 "지오메트리 수정자 그룹"을 생성하고 헤더의 폴더 아이콘을 클릭하여 엽니다. 이제 "모깍기" 노드와 같은 간단한 모델링 명령을 결정하고 에셋 브라우저에서 그룹으로 드래그합니다. 이 노드는 두 가지 모드를 제공합니다. 여기에서는 "타입" 설정을 "엣지"를 선택하여 모서리를 둥글게 만듭니다.

사용자가 나중에 라운딩의 반지름("사이즈" 파라미터)과 라운딩의 세분화("분할" 파라미터)을 직접 설정할 수 있어야 합니다. 따라서 이제 이 두 설정을 그룹의 입력 측에 제공해야 합니다. 첫 번째 단계로 "모깍기" 노드에서 마우스 오른쪽 버튼을 클릭하고 "입력 추가하기" 메뉴 항목을 통해 원하는 파라미터로 이동하여 이러한 파라미터에 대한 입력을 추가합니다. 위의 단락에서 설명한 것처럼, 그런 다음 이 새로운 입력 포트를 그룹의 왼쪽으로 드래그 앤 드롭합니다.

모깍기 노드에서 사용자가 속성 관리자에서 사용할 수 있도록 하고 싶은 파라미터에 대한 새 입력을 추가하세요.
노드에서 입력 포트를 그룹의 왼쪽으로 드래그하여 컨텍스트 메뉴에서 "새 입력 추가하기"을 선택하면 이 파라미터를 그룹의 입력으로 추가할 수 있습니다.


사용자에게 다른 설정 옵션도 제공하는 것이 어떨까요? 예를 들어, 저장된 엣지 선택의 이름에 대한 입력 옵션을 제공하여 모델링 명령을 선택된 엣지에만 제한할 수 있도록 하는 것입니다. 추가로, 지정된 선택을 제외한 모든 엣지를 라운딩할 수 있도록 선택을 반전하는 기능도 유용할 것입니다. 이를 위해 문자열 입력 필드와 불리언 옵션을 입력으로 추가해야 합니다. 이러한 입력 필드는 리소스 에디터를 통해 생성합니다.

 

리소스 에디터를 열어 그룹에 개별 입력을 추가하고 에셋의 사용자 인터페이스를 편집합니다.

이를 위해 열린 그룹의 빈 영역에서 마우스 오른쪽 버튼을 클릭하고 컨텍스트 메뉴에서 "리소스 편집하기"를 선택합니다. 왼쪽 상단 목록에서 그룹의 모든 파라미터를 볼 수 있습니다. 여기서 "입력" 그룹 아래의 항목들이 중요합니다. 일반적으로 생성한 입력이 여기에 나타나야 합니다. 그러나 "모깍기" 노드로 연결된 두 파라미터는 "기본" 그룹 아래에 나타납니다. 이 방식도 가능하지만, 속성 관리자에 표시될 때 파라미터가 그룹으로 나뉠 수 있습니다. 따라서 "사이즈"와 "분할 " 항목을 "입력" 그룹 아래로 드래그 앤 드롭합니다. 이렇게 하면 속성 관리자에서 파라미터를 다른 순서로 표시하고자 할 때 입력을 재정렬할 수도 있습니다.

 

기존 포트의 순서와 그룹화는 리소스 에디터의 목록 보기에서 편집할 수 있습니다.

리소스 에디터는 오른쪽에 미리보기 기능도 제공합니다. 그러나 이는 리소스를 편집 중인 그룹이 기능적일 때만 작동합니다. 현재 예를 들어, 그룹의 "지오메트리 출력" 출력이 아직 연결되지 않았습니다. 따라서 직접 연결합니다. 리소스 에디터를 닫고 "모깍기" 노드의 "지오메트리" 출력을 그룹의 "지오메트리 출력" 포트에 연결한 다음, 그룹에 대한 리소스 에디터를 다시 엽니다. 이제 속성 관리자에 표시되는 인터페이스의 미리보기를 오른쪽에서 볼 수 있습니다. 여기에는 셰이더와 재질의 미리보기 영역뿐만 아니라 기본 설정 섹션도 포함됩니다. 그러나 이번 경우에는 "입력" 부분만 관심이 있습니다. 이제 이 부분에서 우리의 두 파라미터를 볼 수 있습니다.

 

리소스 에디터의 오른쪽에는 모든 입력 파라미터의 미리보기가 제공됩니다. 여기에서 데이터 유형, 단위 및 입력에 사용된 UI 요소를 확인할 수 있습니다.

다음으로, 사용자가 나중에 저장된 엣지 선택의 이름을 입력할 수 있도록 문자열 입력 필드를 추가합니다. 이를 위해 왼쪽 아래 목록에서 "String (Edit Field)"를 찾아 "Inputs" 아래 원하는 위치로 드래그합니다. 선택을 반전할 수 있는 체크박스를 추가합니다. 이 요소는 왼쪽 아래 목록에서 "Bool (Checkbox)"로 찾을 수 있습니다.
두 개의 새 입력은 기본적으로 포트 목록에서 암호화된 이름으로 제공되므로 이를 수정해야 합니다. 이를 위해 "Inputs" 그룹에서 해당 항목을 클릭하고 리소스 에디터의 중간 열에서 "String" 탭을 선택합니다. 원하는 이름을 입력하면, 문자열 입력 옆에 속성 관리자에 표시됩니다. 반전 기능에 사용할 Boolean 입력도 동일한 방식으로 진행합니다.

 

리소스 에디터에서 새로 추가된 파라미터는 기본적으로 암호화된 이름을 갖습니다. String 설정을 사용하여 입력에 개별 이름을 입력합니다.

가능한 입력을 제한하는 설정, 기본값 또는 단위는 리소스 에디터의 중간 열의 "Data" 탭에서 찾을 수 있습니다. 여기에서 "Default Value" 입력 옵션을 사용하여 사용자가 에셋을 처음 사용할 때 바로 확인할 수 있는 입력 값을 저장할 수 있습니다. 이는 우리의 파라미터에는 필요하지 않습니다. 모든 입력이 생성되면 리소스 에디터를 닫을 수 있습니다. 이제 새로운 입력이 그룹에 생성되었습니다.

저장된 선택은 "Selection String"을 통해 직접 읽을 수 있지만, 이는 선택 이름을 따옴표 안에 넣어야 합니다. 이를 위해 이름 입력에 따옴표를 추가해야 합니다. 이는 "연결" 노드로 간단히 수행할 수 있습니다. 또한 "스트링 길이" 노드와 "비교" 노드를 사용하여 선택 이름에 대한 입력이 전혀 이루어졌는지 확인할 수 있습니다. 입력이 없을 경우, "스위치" 노드를 통해 기본 문자열 default를 출력할 수 있습니다. 이는 "선택" 노드가 모든 것을 선택하거나 현재 활성화된 선택으로 돌아가도록 합니다. 그런 다음 "선택 반전" 노드가 결과를 반전할 수 있습니다. 정상 선택과 반전된 선택 사이를 선택할 수 있도록 하기 위해, 끝에 "지오메트리" 데이터 타입을 사용하는 "스위치" 노드를 추가합니다. 아무 "지오메트리" 출력을 "스위치" 노드에 드래그하여 "데이터 타입" 입력에 연결합니다. 이 방법으로 반전 체크박스의 신호를 사용하여 지오메트리를 전환할 수 있습니다. 결과는 "모깍기" 노드로 직접 라우팅할 수 있는 지오메트리로 구성됩니다. 이렇게 해서 그룹이 이미 기능적으로 작동합니다.

리소스 에디터에서 새로 추가된 파라미터는 기본적으로 암호화된 이름을 갖습니다. String 설정을 사용하여 입력에 개별 이름을 입력합니다.

빠른 테스트로 이를 확인할 수 있습니다. 이를 위해 큐브 지오메트리를 사용하여 "선택 저장하기"으로 엣지 선택을 저장하고, 예를 들어 "스트링 선택" 0-1을 임의의 이름으로 저장합니다. 그런 다음 같은 이름을 "지오메트리 수정자 그룹"에 입력하고 그 결과를 "지오메트리 연산" 노드를 통해 "Scene Root"에 연결합니다. 모든 것이 예상대로 작동하면, "지오메트리 수정자 그룹"을 에셋으로 변환할 수 있습니다. 이를 위해 그룹을 선택하고 노드 에디터의 “에셋” 메뉴에서 "에셋으로 변환하기..."을 선택합니다. 에셋으로 패키징되면 그룹의 내용을 더 이상 볼 수 없거나 편집할 수 없습니다. 그러나 암호화되지 않은 에셋은 다시 그룹으로 변환할 수 있습니다. 이는 노드 에디터의 "에셋" 메뉴를 통해서도 가능합니다. 또한 에셋 브라우저에서 에셋을 마우스 오른쪽 버튼으로 클릭한 후 "편집하기..."을 선택하면 보호되지 않은 에셋의 내용을 새 노드 에디터에서 표시할 수 있습니다.

 

에셋을 생성하기 전에 노드 에디터에서 기능을 테스트합니다. 큐브에 스트링 선택 0-1을 사용하면 오른쪽 이미지에서 볼 수 있듯이 큐브의 세로 엣지 중 하나를 선택합니다.

 

에셋은 에셋 브라우저에서 개별 키워드와 미리보기 이미지를 추가할 수 있습니다.

그룹을 에셋으로 변환할 때 나오는 작은 대화 상자에서 에셋의 이름과 에셋 브라우저 내 디렉토리를 입력합니다. 에셋의 이름은 오브젝트 관리자에서 캡슐 오브젝트의 이름으로도 사용되므로, 기능을 설명하는 의미 있는 이름을 선택하세요. 여러 에셋을 만들거나 네트워크의 다른 사용자와 공유할 계획이라면 "데이터베이스 > 새 데이터베이스 생성..."을 선택하여 자신만의 데이터베이스 디렉토리를 만드는 것이 좋습니다. 그렇지 않으면 기본적으로 "환경 설정" 데이터베이스가 사용됩니다.

에셋은 에셋 브라우저에서 직접 내보내기하여 쉽게 공유할 수 있습니다. 이를 위해 에셋 브라우저에서 에셋을 마우스 오른쪽 버튼으로 클릭하고 "최신 버전 내보내기..."를 선택하세요. 같은 메뉴에서 암호화된 버전으로 에셋을 내보내는 옵션도 찾을 수 있습니다. 이렇게 하면 더 이상 그룹으로 변환할 수 없게 됩니다. 예를 들어, 판매를 위해 에셋을 만들거나 제삼자가 수정하지 못하도록 하려는 경우에 유용합니다. 그러나 이 기능은 에셋의 내용을 더 이상 액세스할 수 없기 때문에 아카이빙에는 적합하지 않습니다. 새로운 에셋은 "Uncategorized" 아래의 에셋 브라우저에서 찾을 수 있습니다. 에셋 브라우저의 "Details" 섹션에서 에셋의 아이콘을 마우스 오른쪽 버튼으로 클릭하여 개별 미리보기 이미지를 로드하거나 클립보드에서 붙여넣을 수 있습니다. 또한, 이후에 이 에셋을 쉽게 검색할 수 있도록 키워드를 할당할 수도 있습니다.

에셋 캡슐로 저장된 후에는 오브젝트 관리자에서 사용할 수 있습니다. 이를 위해 에셋 브라우저에서 오브젝트 관리자로 에셋을 직접 드래그하세요. 이 에셋은 모델링 기능을 사용하기 때문에 반드시 기하 도형 아래에 배치해야 합니다. 이전 그룹의 입력은 평소처럼 속성 관리자에서 찾을 수 있습니다.

 

에셋으로 변환된 후에는 새로운 모델링 기능을 오브젝트 관리자에서 직접 사용할 수 있으며, 속성 관리자에서 설정한 값으로 제어할 수 있습니다.

캡슐로 선택 툴 생성하기

위에서 자세히 설명한 원리는 "선택 수정자 그룹"과 같은 다른 캡슐 유형에도 적용할 수 있습니다. 이를 통해 점, 엣지 또는 폴리곤의 선택을 할 수 있습니다. 또한 선택 항목을 이름으로 저장하여 오브젝트 관리자의 클래식 오브젝트에 전송할 수도 있습니다. 이를 시연하기 위해 "면 선택하기" 기능을 사용하고 선택을 반전하고 저장하는 옵션을 추가할 것입니다.

이를 위해 먼저 새로운 씬에서 "선택 수정자 그룹"을 만들고, 헤더의 폴더 아이콘을 클릭하여 엽니다. 지오메트리에 대한 입력과 출력이 이미 있으므로 "면 선택하기" 노드를 추가하고 그룹의 지오메트리 입력에 연결할 수 있습니다. "방향", "허용범위" 및 "반대" 옵션에 대한 설정을 오브젝트 관리자에서도 사용할 수 있도록 하려면 이러한 포트를 그룹의 입력 영역으로 드래그하여 새로운 입력을 생성합니다. 이는 이전 섹션에서 "지오메트리 수정자 그룹"을 다룰 때 이미 자세히 설명한 내용입니다. 거기서 사용자 지정 입력을 구성하고 매개변수의 기본값과 인터페이스 요소를 설정하는 방법에 대해 다루었습니다. 필요하다면, 선택 항목의 이름을 위한 문자열 입력과 선택 반전을 위한 체크박스를 추가하는 방법을 다시 참고하세요.

이전 예제와 마찬가지로 "선택 " 노드를 사용하여 선택을 반전시키고, 그룹 입력의 체크박스 상태에 따라 일반 선택과 반전된 선택 사이를 전환하기 위해 "스위치" 노드를 사용합니다. "선택 저장" 노드를 사용하여 기하 도형에서 선택 항목을 이름으로 저장할 수 있습니다. 사용자가 이름 필드에 입력하지 않은 경우를 처리하기 위해 먼저 "스트링 길이" 체크를 사용하고, 그 결과를 다른 "스위치" 노드의 신호로 사용합니다. 이름 입력이 없으면 문자열 길이 계산이 0을 반환하여 "스위치" 노드에서 첫 번째 입력이 출력됩니다. 이 입력은 문자열 데이터 유형을 사용해야 하므로, 입력이 없을 경우 선택을 저장할 기본 이름인 "Sel"을 입력할 수 있습니다. "스위치" 노드의 두 번째 입력에는 이름 입력을 연결합니다. "스위치" 노드에서 "반복 인덱스" 옵션이 비활성화되어 있으면, 이름 필드가 비어 있지 않는 한 항상 이 이름이 사용됩니다. "스위치" 노드의 결과를 "선택 저장" 노드의 "이름" 입력에 연결할 수 있습니다.

 

이 설정을 통해 사용자는 Select Facing 노드의 결과를 저장할 이름을 입력하고, 결과를 반전할 수 있는 옵션을 제공합니다.

"면 선택하기"은 폴리곤만 선택할 수 있으므로, "선택 반전"과 "선택 저장"도 폴리곤 모드여야 합니다. "선택 저장" 노드의 결과는 최종적으로 그룹의 기하 출력에 연결됩니다. 이제 노드 에디터의 내비게이션 바에서 "씬 노드"를 클릭하여 그룹 밖으로 나가면 작업이 완료됩니다. 앞서 시연한 것처럼 그룹을 에셋으로 저장한 후, 에셋 브라우저에서 오브젝트 관리자로 직접 드래그합니다. 새로운 선택 에셋을 테스트해보기 위해, 이전 예제의 씬을 사용하여 큐브 아래에 새로운 선택 에셋을 드래그하고 모델링 에셋 아래에 배치합니다.

 

새로운 선택 캡슐을 오브젝트 관리자에서 사용하면 폴리곤 선택을 생성하고 저장한 다음, 이를 재질 적용 등에 사용할 수 있습니다.

보시다시피, 오브젝트 관리자에서 선택 캡슐 바로 뒤에 폴리곤 선택에 대한 일반적인 태그가 나타납니다. 이 선택의 이름은 재질에 직접 사용될 수 있으며, 예를 들어 변형을 제한하는 데도 사용할 수 있습니다. 아래 이미지에서 보이는 것처럼, 튜브 오브젝트의 선택은 재질에만 사용되는 것이 아니라, "제한" 태그를 사용하여 Y(x,y,z,t) = 2*y 공식을 사용하는 공식 변형에도 사용됩니다. 이 공식은 캡 표면을 바깥쪽으로 이동시킵니다. 이 방식으로 높이 방향의 세그먼트는 파라메트릭 튜브의 중심에 제한됩니다.

 

선택 캡슐로 생성된 저장된 선택 항목은 이 예제에서처럼 클래식 변형과 결합하여 사용할 수도 있습니다.

자신만의 파라메트릭 기본도형 생성하기

Cinema 4D에서 자신만의 파라메트릭 오브젝트를 생성할 수 있는 또 다른 흥미로운 기능이 있습니다. 이는 스플라인뿐만 아니라 폴리곤 오브젝트에도 적용할 수 있습니다. "메쉬 기본도형 그룹"이 그 기초를 제공합니다. 이 그룹은 기하 도형 입력을 제공하지 않으므로, 이미 기본 도형을 제공하는 노드를 사용하거나 "지오메트리 속성 설정"을 사용하여 점 좌표와 에지 및 폴리곤을 생성하는 연결 순서를 통해 직접 토폴로지를 생성해야 합니다.

우리의 예제에서는 이미 준비된 큐브를 사용하고 "모깍기" 명령을 사용하여 에지를 두 배로 만듭니다. 이는 "모깍기" 노드가 옵셋을 0으로 사용하여 작동합니다. 큐브는 이전과 동일하게 보이지만, 선택된 엣지에 따라 점이 두 배로 늘어납니다.

이 예제에서는 간단한 큐브 기하 도형을 기반으로 하여, 하나의 에지에 모깍기 명령을 적용합니다. 둥글게 처리된 에지의 새로운 점들은 사용자 입력 변수 X와 Y에 의해 이동됩니다. 수정된 점 위치는 점 좌표 배열에서 업데이트되고, 지오멭리 속성 설정노드를 사용하여 다시 기록됩니다. 설정의 오른쪽 부분에서는 폴리곤과 에지 선택 항목을 생성한 후, 동일한 위치를 공유하는 점을 정리하는 최적화명령을 보여줍니다.

모든 점 위치가 포함된 배열은 "지오메트리 속성 얻기"를 통해 읽어옵니다. 수학적 계산을 사용하여 이러한 점들을 이동시킨 다음, "설정 요소nt" 노드를 사용하여 변경된 위치를 원래 점 배열에 다시 기록할 수 있습니다. "지오메트리 속성 설정" 노드는 이 배열을 다시 원래 큐브의 기하 도형에 기록합니다. 사용자에게 추가적인 가치를 제공하기 위해, "선택 저장" 노드를 추가하여 나중에 베벨 처리된 큐브의 면에 재질을 쉽게 추가할 수 있도록 합니다. 또한, 베벨 처리된 두 에지를 두 개의 새로운 에지 선택 항목으로 저장합니다. 마지막으로 "최적화" 노드를 추가하여 에지 옵셋의 최대값이 사용될 때 서로 겹치는 점들이 최적화되도록 합니다. 최종적으로 생성된 지오메트리는그룹의 지오메트리 출력에 연결됩니다.

모깍기된 큐브 에지의 점을 이동하기 위한 두 개의 퍼센트 값은 리소스 에디터를 통해 추가합니다. 설정의 데이터 섹션에서 데이터 유형을 지정하고, 값의 범위를 0%에서 100%로 제한할 수 있습니다.

우리 예제에서는 큐브의 "사이즈" 벡터가 입력으로 생성되었고, 두 개의 퍼센트 값을 사용하여 둥근 모서리의 두 에지를 개별적으로 이동할 수 있습니다. 이러한 입력은 리소스 에디터를 사용하여 생성합니다. 리소스 에디터에서 "Float (필드&슬라이더 편집)" 기본값을 선택하여 슬라이더가 있는 숫자 필드를 만듭니다. 그런 다음 "데이터" 탭에서 "단위"를 퍼센트로 선택하고, "제한 값"를 사용하여 최소값 0%와 최대값 100%로 설정하여 사용자가 이 범위 내의 값만 설정할 수 있도록 합니다.

선택 저장 노드의 모든 설정과 결과 지오메트리서 이러한 선택 항목을 찾을 수 있는 위치를 보여주는 이미지를 설명합니다.

그룹이 에셋으로 변환되어 에셋 브라우저에 저장되면, 에셋 브라우저에서 오브젝트 관리자로 직접 드래그하여 파라메트릭 오브젝트를 생성할 수 있습니다. 생성된 선택 항목은 오브젝트 관리자에서 보이지 않지만, 예를 들어 재질 태그에서 선택 이름(F0, F1, F2, F3)을 통해 사용할 수 있습니다. 다음 이미지의 예제는 그룹화된 베벨 디포머도 선택 이름 E1과 E2를 사용하여 이전 큐브의 측면 에지에 제한할 수 있음을 보여줍니다. 이러한 에셋 캡슐 유형의 추가 예제는 "지오메트리 생성자" 섹션에서 찾을 수 있으며, "Brick Wall", "Stairs", "Tree" 에셋 등이 있습니다.

파라메트릭 스플라인 캡슐 생성하기

위의 원리를 파라메트릭 스플라인을 생성하는 에셋에도 동일하게 적용할 수 있습니다. 이를 위해 먼저 3D 점 좌표를 계산하고 배열로 결합해야 합니다. 점 위치의 벡터를 포함한 이 배열은 "스플라인 어셈블러" 노드에 전달됩니다. 이 노드를 사용하여 닫힌 스플라인 곡선 또는 열린 스플라인 곡선을 생성할지 여부를 지정할 수 있습니다. 중요한 것은 배열의 점들이 스플라인 곡선의 방향과 점 순서에 맞게 정렬되어 있어야 한다는 것입니다. 마지막으로, "스플라인 테셀레이션" 노드는 스플라인의 중간 점의 보간을 정의하며, 이는 그룹의 지오메트리 출력으로 전달될 수 있습니다.

 

Spline Assembler 노드를 사용하면 점 위치 배열을 스플라인 곡선으로 변환할 수 있습니다. 끝에 Spline Tessellation 노드를 추가하여 중간 점 옵션을 제공함으로써 스플라인을 완성할 수 있습니다.

탄젠트도 정의하려면 각 점에서 스플라인의 왼쪽 및 오른쪽 방향에 대한 두 벡터로 조립해야 합니다. 이를 위해 "컬렉션 조립" 노드를 사용하여, 예를 들어 두 개의 개별 벡터로 구성된 데이터 패킷인 소위 "튜플"을 조립할 수 있습니다. 중요한 것은 스플라인 포인트 수만큼의 튜플이 있어야 한다는 것입니다. 점 위치와 탄젠트의 배열은 "스플라인 어셈블러" 노드에서 병합할 수 있습니다. 탄젠트를 위한 적절한 입력이 필요할 때 표시되도록 하려면 노드에서 "스플라인 타입"을 "베이지어"로 설정해야 합니다. 이 그룹의 컴파일된 에셋은 오브젝트 관리자에서 직접 사용할 수 있으며, 예를 들어 폴리곤 생성을 위한 돌출 오브젝트와 함께 사용할 수 있습니다.

 

탄젠트가 필요한 경우, 두 벡터를 사용하여 튜플 내부에서 생성할 수 있습니다. 컬렉션 조립 노드를 사용하면 튜플과 튜플 배열을 생성할 수 있습니다.

 

스플라인 캡슐은 오브젝트 관리자에서 표준 스플라인 오브젝트처럼 사용할 수 있습니다.

생성자 캡슐 생성하기

생성자는 위에서 언급한 에셋과는 다소 다릅니다. 다른 오브젝트가 있어야만 기능할 수 있기 때문입니다. 예를 들어, Boolean 오브젝트나 대칭 오브젝트는 다른 오브젝트가 하위에 그룹화될 때까지 작동하지 않습니다. 이러한 오브젝트 클래스도 자체 에셋 캡슐로 만들 수 있습니다. 이러한 유형의 예제는 에셋 브라우저의 "지오메트리 생성자" 그룹에서 "원자 배열"와 같은 항목으로 이미 찾아볼 수 있습니다.p.

 

자식 연산 노드의 자식 입력을 오브젝트 그룹의 입력으로 사용하면 나중에 오브젝트 관리자서 모든 자식 오브젝트를 반복적으로 처리할 수 있습니다.

다음 단계에서는 Cinema 4D에서 노드 레이아웃으로 전환하고 에셋 브라우저를 여는 것이 가장 좋습니다. 에셋 브라우저에서 에셋 구성 그룹으로 이동하여 오브젝트 그룹을 찾습니다. 이는 일반적으로 오브젝트 관리자에서 정상적인 오브젝트와 결합할 수 있는 생성자의 기본 역할을 합니다. 에셋 브라우저에서 오브젝트 그룹을 오브젝트 관리자로 드래그하세요. 그러면 노드 에디터에서 캡슐 모드가 자동으로 활성화되고, 아직 비어 있는 오브젝트 그룹이 표시됩니다.

 

새 자식 입력을 리소스 에디터에서 이름을 변경하여 그룹의 기존 자식 입력과 혼동을 피하세요.

오브젝트 관리자 내의 오브젝트 그룹 내 오브젝트에 액세스하려면 약간의 창의력이 필요합니다. 자식 연산 노드를 호출하고 연산 입력을 그룹의 연산 입력에 연결해야 합니다. 다음 이미지는 이 설정을 보여줍니다.

자식 배열의 모든 오브젝트에 대해 컬렉션 반복 노드를 사용하면 위치와 같은 데이터를 제공할 수 있으며, 이를 사용하여 스플라인 곡선에 새로운 점을 배치할 수 있습니다. 스플라인 테셀레이션의 설정은 그룹의 입력으로 제공되어 사용자가 나중에 속성 관리자에서 직접 변경할 수 있습니다.

다음 단계에서는 자식 연산에서 오브젝트 그룹의 자식 입력으로 연결해야 합니다. 이를 위해, 노드의 자식 입력에서 왼쪽 어두운 영역의 노드 에디터로 연결선을 드래그하세요. 다음 단계에서는 오브젝트 그룹의 자식에서 자식 연산으로 입력을 추가해야 합니다. 이를 위해, 노드의 자식 입력에서 왼쪽 어두운 영역의 노드 에디터로 연결선을 드래그하세요. 마우스 버튼을 놓으면 작은 컨텍스트 메뉴가 나타나며, 여기에서 이미지에 표시된 것처럼 새 입력 추가를 선택할 수 있습니다.

오브젝트 관리자에서 에셋을 사용하면 새로운 유형의 생성 오브젝트를 제공하여 그룹화된 폴리곤 오브젝트의 위치에서 스플라인을 생성합니다. 이 경우 우리는 세 개의 큐브 사이에 둥근 곡선을 만들기 위해 Bspline 보간을 사용했습니다.

이제 생성자의 자식 오브젝트에 자식 연산노드를 통해 접근할 수 있도록 마지막 단계를 완료해야 합니다. 자식 입력의 데이터 타입을 그룹으로 전환해야 합니다. 이를 위해, 노드 에디터 왼쪽 가장자리의 그룹 입력 영역을 오른쪽 클릭하고 리소스 편집하기를 선택하세요.

리소스 에디터는 노드와 그룹의 포트를 추가하고 관리할 수 있게 해줍니다. 노드 에디터의 가장자리를 오른쪽 클릭하여 열 수 있습니다.

리소스 에디터 상단의 레이아웃 영역에서 오브젝트 그룹의 기존 입력과 출력 목록을 볼 수 있습니다. 이전에 생성한 자식 입력을 선택하세요. 리소스 에디터 오른쪽 하단의 설명/데이터 탭에서 씬 포트 모드를 오브젝트로 설정해야 합니다.

이제 자식 입력이 구성되어 그룹의 모든 자식 오브젝트를 오브젝트 패킷으로 수신할 수 있으며 배열로 사용할 수 있습니다. 그런 다음 임의의 수의 자식 오브젝트를 읽어들일 수 있습니다. 이제 리소스 에디터를 닫아도 됩니다.


Tip:

씬 포트 모드 링크를 사용하는 오브젝트 그룹의 입력은 다른 용도로도 유용할 수 있습니다. 오브젝트 관리자에서 오브젝트 그룹을 선택하면 속성 관리자에 링크 필드가 제공되어 오브젝트 관리자에서 자식 오브젝트로 설정되지 않은 오브젝트를 편집할 수 있습니다. 이러한 경우 자식 Op 노드가 필요하지 않습니다. 대신 리소스 에디터를 통해 그룹의 입력 측면에 필요한 수의 링크 입력을 추가하기만 하면 됩니다. 이를 위해 리소스 에디터의 템플릿 목록에서 적합한 포트 타입인 옵젝트 링크(베이스리스트)를 찾을 수 있습니다.


리소스 에디터는 자식 오브젝트의 씬 포트 모드를 전환하는 데 사용됩니다.

다음 단계에서 이러한 향상된 모드를 테스트하려면 먼저 오브젝트 관리자에서 오브젝트를 캡슐 오브젝트 그룹의 자식 오브젝트로 만들어야 합니다. 이 오브젝트는 나중에 보이지 않으므로 모양과 크기는 중요하지 않습니다. 아래 이미지에서 볼 수 있듯이, 오브젝트 관리자에서 큐브를 캡슐의 자식 오브젝트로 만들었습니다. 자식 연산 노드는 배열 출력을 제공하여 모든 자식 오브젝트에 접근할 수 있게 합니다.


Tip:현재 생성자에서 자식 오브젝트로 완전히 지원되는 것은 지오메트리를 포함하는 오브젝트뿐임을 유의하세요. 예를 들어, 널 오브젝트, 조명 소스 또는 카메라와 같은 오브젝트는 작동하지 않습니다.


오브젝트 관리자에서 파라메트릭 기본도형을 오브젝트 그룹의 자식오브젝트로 만들면 자식 연산 노드가 활성화되어 이러한 오브젝트에 대한 배열 출력을 제공합니다.

컬렉션 반복 노드를 연결하면 배열의 개별 오브젝트 패킷을 차례대로 출력할 수 있습니다. 추가된 디컴포즈 컨테이너 노드는 각 오브젝트 패킷을 해제합니다. 마지막으로 추가 컬렉션 반복 노드는 이 설정을 완료하고 출력 오브젝트의 데이터, 예를 들어 지오메트리 또는 공간 내 위치를 출력으로 제공합니다.


배열을 반복하고 해제된 컨테이너를 읽어들임으로써, 캡슐 생성자에 연결된 모든 자식 오브젝트의 모든 데이터에 접근할 수 있습니다.

이제 실제로 이 데이터를 편집할 수 있으며, 예를 들어 자식 오브젝트를 사용하여 새로운 형태를 만들 수 있습니다. 이 예에서는 자식 오브젝트의 위치를 직선 스플라인을 따라 포인트로 변환해야 합니다. 이를 위해 먼저 데이터 타입이 벡터로 설정되고 길이가 0인 배열 채우기 노드를 사용하여 벡터용 빈 배열을 만듭니다. 그런 다음 이 배열을 자식 오브젝트의 위치로 채웁니다.

이 작업은 배열을 요소 추가하기 노드와 연결하고, 값 입력을 자식 오브젝트의 이동 출력에 연결하여 수행됩니다. 이 배열은 이제 스플라인 어셈블러 노드의 포인트들 입력에 연결됩니다. 스플라인 어셈블러에서는 배열의 위치로 생성할 스플라인 타입을 정의해야 합니다. 우리는 Linear를 선택할 것입니다. 생성된 지오메트리를 지오메트리 연산 노드를 사용하여 오브젝트로 변환하고, 그 연산 출력을 그룹의 연산 입력과 연결합니다. 이제 오브젝트 관리자에서 오브젝트 그룹 생성자를 통해 생성할 오브젝트가 정의되었습니다.


출력 자식 오브젝트의 위치를 스플라인을 따라 포인트 위치로 이동하도록 설정을 확장합니다.

다음 이미지는 오브젝트 관리자에서 추가 오브젝트를 자식 오브젝트로 만든 후 공간에서 이동한 결과를 보여줍니다. 자식 오브젝트는 선형 스플라인을 사용하여 차례로 연결됩니다.


오브젝트 그룹 캡슐은 자식 오브젝트의 위치를 따라가는 스플라인 곡선을 생성합니다.

이전 예제들처럼 그룹을 에셋으로 컴파일하여 에셋 브라우저에 드롭합시다(노드 에디터에서 에셋으로 변환). 그런 다음, 새 에셋을 오브젝트 관리자로 직접 끌어다 놓을 수 있습니다. 몇 개의 폴리곤 오브젝트를 그룹화하면, 이 오브젝트들의 중심이 스플라인 곡선으로 연결되는 것을 볼 수 있습니다. 많은 생성자에서 흔히 볼 수 있듯이, 그룹화된 오브젝트는 뷰포트에서 자동으로 보이지 않게 됩니다.

에셋 캡슐 테스트하기

새로운 모델링 또는 선택 방법을 만들 때, 이를 생성 중에 직접 오브젝트 관리자에서 테스트할 수 있다면 도움이 됩니다. 노드 에디터는 모드 메뉴에서 특별한 캡슐 모드를 제공합니다. 예를 들어,지오메트리 수정 그룹 또는 메쉬 기본도형 그룹을 에셋 구성 노드에서 직접 오브젝트 관리자로 끌어다 놓으면 이 모드가 자동으로 활성화됩니다. 아래 예제를 살펴봅시다.


간단한 기본 도형 구가 있는 간단한 씬이 기본이 됩니다. 구의 세그먼트를 약간 늘려서 다음 선택 및 모델링 명령이 더 인상적인 효과를 발휘하도록 합니다.


에셋 브라우저에서 선택 수정 그룹을 오브젝트 관리자로 끌어다 놓고 구의 자식 오브젝트로 만듭니다. 그러면 노드 에디터가 자동으로 캡슐 모드로 전환됩니다. 이제, 예를 들어, 노드 에디터에서 지오메트리 선택 그룹의 노드를 사용할 수 있습니다.


랜덤 선택 노드를 사용하여 이를 노드 에디터로 끌어다 놓고, 노드 에디터에서 각 입력과 출력을 연결합니다. 이제 랜덤 선택이 활성화되어 구에 랜덤한 폴리곤 선택이 생성됩니다. 이를 예를 들어, 지오메트리 수정 그룹을 사용하여 정의할 수 있는 모델링 기능과 함께 사용할 수 있습니다.


에셋 구성 노드에서 지오메트리 수정 그룹을 끌어 에셋 브라우저로 이동시키고, 오브젝트 관리자에서 구의 자식 오브젝트로 만듭니다. 모델링 명령이 랜덤 선택에 영향을 미치도록, 구 아래 두 번째 자식 오브젝트로 배치해야 합니다.


노드 에디터에는 현재 비어 있는 지오메트리 수정 그룹이 표시됩니다. 예를 들어, 폴리곤 중앙에 포인트 추가하기 노드를 노드 에디터로 끌어다 놓고, 지오메트리 입력과 출력을 다시 연결합니다. 속성 관리자에서 노드에 대해 다른 옵셋 값을 입력하면, 뷰포트에서 구에 미치는 영향을 확인할 수 있습니다. 랜덤하게 선택된 폴리곤이 정의된 옵셋 값에 따라 깔때기나 피라미드 모양으로 변합니다.

이 간단한 예제에서 볼 수 있듯이, 씬의 오브젝트에 직접 영향을 미치는 새로운 기능을 쉽게 만들 수 있습니다. 에셋 캡슐로 변환할 필요는 없습니다. 그럼에도 불구하고, 만든 기능을 다른 프로젝트에서 사용하고 싶다면 캡슐로 변환하는 것이 유용할 수 있습니다. 이를 위해 오브젝트 관리자에서 선택 수정 그룹이나 기하학적 수정 그룹을 선택한 다음, 노드 에디터에서 "에셋 / 에셋으로 변환하기"을 선택합니다. 이때 그룹 내의 어떤 노드도 선택되지 않았는지 확인해야 합니다. 그렇지 않으면 선택된 노드만 에셋으로 저장됩니다.