국소적인 형태 조정을 위한 베지어 곡선과 B-스플라인 곡선 선택 방법
가상 캐릭터의 윤곽 기준점과 접선 방향을 직접 제어하고 싶다면 여러 구간으로 나뉜 베지어 경로를 선택하세요. 제어점의 영향 범위가 제한된 상태에서 연속적인 윤곽을 변형하고 싶다면 B-스플라인을 선택하세요. 결정적인 질문은 편집이 얼마나 넓게 영향을 미치는지, 그리고 그 범위가 바꾸려는 특징에 맞는지입니다.
이 가이드는 외부 곡선 편집기에서 가상 캐릭터의 실루엣을 다듬는 데 초점을 둡니다. 주변 윤곽을 유지하면서 귀, 볼 또는 꼬리를 조정하는 작업을 다룹니다. 아래 권장 사항은 어느 한 곡선 유형이 언제나 더 국소적이라고 가정하지 않고, 곡선의 특성을 편집 선택에 연결합니다.
캐릭터 윤곽에서 “국소 조정”이란 무엇인가요?
곡선을 선택하기 전에 의도한 변경 사항과 그 변경이 지켜야 할 경계를 모두 정하세요. “귀 밑부분과 턱은 고정한 채 볼을 더 둥글게 만들기”는 유용한 사양입니다. “윤곽 개선하기”는 결정해야 할 사항이 너무 많습니다.
국소성에는 두 가지 척도가 있습니다. 수학적 국소성은 제어점에 반응할 수 있는 곡선의 일부를 가리킵니다. 실용적 국소성은 영향을 받는 영역이 캐릭터의 해당 특징에 맞는지를 따집니다. 수학적으로 국소적인 편집이라도 작은 볼을 넘어 인접한 특징까지 영향을 미칠 수 있습니다.
하나의 베지어 구간은 해당 구간 안에서 전역적으로 제어됩니다. 제어점 하나를 움직이면 구간 내부 전체의 형태가 바뀝니다. B-스플라인은 제어점이 유한한 매개변수 구간에 영향을 미쳐 국소적인 수정이 가능합니다. 미시간 공과대학교의 교육 자료 원본인 제어점 수정하기에서 이 차이를 보여 줍니다.
그림에 적용할 때는 이 차이를 간단한 요구 사항으로 바꾸세요. 움직여도 되는 윤곽 구간을 정한 다음, 선택한 제어점의 영향이 그 안에 머무는지 확인하세요.
여러 구간으로 나뉜 베지어 경로가 국소 편집에 여전히 효과적인 이유는 무엇인가요?
“베지어 곡선에는 국소 제어가 없다”는 말에는 단서가 필요합니다. 이는 개별 베지어 구간에 해당합니다. 캐릭터 윤곽은 여러 구간으로 구성할 수 있습니다. 공유 기준점과 편집기 제약을 그대로 유지한다면 한 구간에 속한 제어점을 편집해도 멀리 떨어진 구간은 바뀌지 않을 수 있습니다.
하나의 긴 구간이 볼과 머리의 상당 부분을 덮고 있다면 편집 영향 범위가 너무 넓을 수 있습니다. 세분화를 통해 원래 형태를 재현하는 더 작은 베지어 구간들로 대체할 수 있습니다. 그러면 관련 부분만 편집할 수 있습니다. 세분화 과정과 만족스럽지 않은 영역을 분리하는 방법은 베지어 곡선 세분화하기에 설명되어 있습니다.
캐릭터 작업에서 베지어는 특징 주변에 적절한 경계를 배치할 수 있을 때 좋은 시작점입니다. 귀 밑부분에 기준점을 하나 두고, 볼이 이어지는 부근에 또 하나 둔 다음 그 사이의 구간을 조정하세요. 이러한 배치는 디자인 결정으로 생각하세요. 기준점을 곳곳에 추가하면 윤곽을 파악하기가 더 어려워집니다.
공유 기준점은 특히 주의해야 합니다. 이를 움직이면 인접한 구간들이 만나는 지점이 바뀝니다. 기준점을 고정하더라도 핸들이 서로 연동되어 있으면 선택한 쪽을 조정할 때 인접한 구간이 바뀔 수 있습니다.
흐르는 듯한 윤곽을 제어할 때 B-스플라인이 더 나은 경우는 언제인가요?
B-스플라인에서는 차수와 제어점 수를 따로 정합니다. 따라서 낮은 다항식 차수를 유지하면서도 많은 제어점으로 긴 윤곽을 표현할 수 있습니다. 매듭 벡터는 매개변수 영역을 구간으로 나누고 각 제어점의 영향 범위를 정하는 데 쓰입니다. 이러한 특성은 B-스플라인 곡선: 주요 특성에 설명되어 있습니다.
차수가 p인 곡선에서 i로 인덱싱된 제어점의 영향 구간은 매듭 uᵢ와 uᵢ₊ₚ₊₁에 의해 경계가 정해집니다. 3차 B-스플라인에서는 최대 네 개의 0이 아닌 매듭 구간에 걸칩니다. 이러한 구간은 매개변수 간격이므로 눈에 보이는 윤곽을 따라 같은 거리로 나뉘지는 않을 수 있습니다. 영향 구간 규칙은 B-스플라인 곡선: 제어점 이동하기에서 유도합니다.
다음 예를 생각해 보세요. 3차 곡선의 매듭 벡터가 0, 0, 0, 0, 1, 2, 3, 4, 5, 5, 5, 5입니다. 0부터 세는 인덱스를 사용하면 제어점 P₃를 움직일 때 매개변수 값 0과 4 사이의 곡선이 영향을 받을 수 있습니다. 영향 범위는 제한되어 있지만 0이 아닌 매듭 구간 다섯 개 중 네 개에 해당합니다. 따라서 곡선이 짧아도 편집이 예상보다 넓게 느껴질 수 있습니다.
긴 꼬리 윤곽처럼 변형하려는 흐르는 구간에 제어점의 영향 범위가 이미 맞는다면 B-스플라인 제어점을 선택하세요. 보존하려던 인접 특징까지 조정할 때마다 흐트러진다면 계속하기 전에 표현 방식을 세분화하세요.
부드러운 연결부와 의도적인 모서리는 선택에 어떤 영향을 주나요?
여러 구간으로 나뉜 베지어 윤곽에서는 편집한 모든 연결부의 양쪽 핸들을 살펴보세요. 베지어 끝점의 접선은 제어 다각형의 첫 번째와 마지막 변을 따릅니다. 일반적인 연결부에서는 공유 기준점의 반대쪽으로 뻗는 핸들을 한 직선 위에 놓으면 접선 방향을 일치시킬 수 있습니다. 이를 G1 연속성이라고 합니다. 1차 도함수까지 일치시키는 C1 연속성에는 핸들 길이와 구간 차수 사이에 추가적인 관계가 필요합니다. 베지어 곡선의 도함수를 참조하세요.
정지된 캐릭터 실루엣에서는 눈에 보이는 연결부부터 확인하세요. 볼에서 머리로 이어지는 선이 부드럽게 흐르나요, 아니면 꺾이나요? 접선 정렬은 유용하지만, 그것만으로 연결부 양쪽의 곡률이 고르게 변하는 것은 아닙니다.
편집기 설정도 중요합니다. Inkscape 안내서는 핸들이 독립적인 뾰족점 노드, 핸들이 정렬된 부드러운 노드, 정렬된 핸들의 길이가 같은 대칭 노드, 핸들이 자동으로 조정되는 자동 부드러운 노드를 구분합니다. 이런 동작 때문에 한 노드에서 분리된 것처럼 보이는 편집이 반대쪽에도 영향을 줄 수 있습니다. 노드 유형 안내를 참조하세요.
B-스플라인의 부드러움은 차수와 매듭의 중복도에 따라 달라집니다. 내부 매듭이 단순한 3차 스플라인은 C2 연속성을 가지며, 매듭이 반복되면 해당 위치에서 필요한 연속성이 낮아집니다. 따라서 “B-스플라인”이라는 말만으로는 모든 연결부가 얼마나 부드러울지 알 수 없습니다. 이 관계는 B-스플라인 곡선: 주요 특성에 설명되어 있습니다.
끝을 뾰족하게 표현하려는 귀에는 양쪽을 독립적으로 제어하는 베지어 모서리가 편리한 선택입니다. 끊김 없이 둥근 윤곽을 원한다면 매듭과 제어점 구조로 연결부 전체를 쉽게 다듬을 수 있는 경우 B-스플라인을 고려하세요.
시작 형태를 바꾸지 않고 더 세밀하게 제어하려면 어떻게 해야 하나요?
먼저 세분화한 다음 형태를 바꾸세요. 두 작업을 분리하면 제어점을 추가해서 예상치 못한 변화가 생긴 것인지, 제어점을 움직여서 생긴 것인지 알 수 있습니다.
베지어 곡선은 적절한 위치에서 형태를 보존하는 세분화를 사용하세요. 이렇게 얻은 조각들은 원래 차수를 유지하며, 함께 놓으면 원래 구간을 재현합니다. 세분화한 뒤에는 주변 실루엣을 고정해야 하는 곳에서 경계 기준점과 접선 관계를 유지하세요. 베지어 곡선 세분화하기에서 이 구성 방법을 설명합니다.
편집기에서 지원한다면 B-스플라인에는 올바른 매듭 삽입을 사용하세요. 매듭 삽입은 곡선의 기하 형태를 바꾸지 않고 매듭을 추가한 뒤 관련 제어점을 다시 계산합니다. 제어 다각형에 임의의 점을 추가하는 것은 다른 작업입니다. B-스플라인 곡선: 매듭 삽입에서 차이와 구성 방법을 볼 수 있습니다.
어느 작업이든 완료한 뒤에는 형태를 조정하기 전에 세분화된 윤곽을 저장된 복사본과 비교하세요. 그런 다음 한 번에 제어점 하나씩 움직이세요. 현재 표현 방식으로 의도한 특징을 지정한 경계 안에서 만들 수 없을 때만 세부 사항을 더하세요.
다음 캐릭터 편집에는 어떤 곡선을 선택해야 하나요?
움직여도 되는 영역을 정한 뒤 이 선택 가이드를 활용하세요. 아래 내용은 측정된 응용 프로그램 간 비교가 아니라 앞서 설명한 특성에 근거한 실용적인 권장 사항입니다.
| 편집 요구 사항 | 시작할 때 선택 | 확인할 사항 |
|---|---|---|
| 고정된 기준점 사이의 특징 하나 조정하기 | 여러 구간으로 나뉜 베지어 | 구간 경계가 특징에 맞는지, 공유 핸들이 의도대로 작동하는지 |
| 길게 흐르는 윤곽을 반복해서 변형하기 | B-스플라인 | 제어점의 영향 범위가 의도한 영역에 맞는지 |
| 의도적인 뾰족한 부분이나 모서리 만들기 | 독립 핸들이 있는 베지어 | 양쪽이 의도한 방향을 유지하는지 |
| 이미 만족스러운 베지어 윤곽 다듬기 | 베지어를 유지하고 필요한 곳을 세분화 | 세분화가 시작 실루엣을 보존하는지 |
| B-스플라인 조정 범위를 좁히기 | B-스플라인을 유지하고 지원되는 곳에 매듭 삽입 | 제어점을 움직이기 전에 삽입으로 곡선 형태가 보존되는지 |
기존 윤곽을 우선 고려하세요. 현재 곡선 유형으로 필요한 편집이 가능하다면 그 상태로 다듬으세요. 표현 방식을 바꾸면 평가할 작업이 하나 더 생기며 볼이나 귀 하나만 조정할 때는 이점이 거의 없을 수 있습니다.
선택한 방식이 효과적인지 어떻게 확인하나요?
캐릭터 윤곽의 복사본에서 편집 경계 테스트를 해 보세요. 곡선 유형의 이름에 의존하지 않고 표현 방식을 구체적으로 비교할 수 있습니다.
- 변경 사항을 구체적으로 정합니다. 예를 들어 귀 밑부분과 턱은 유지하면서 볼을 넓힙니다.
- 허용 영역을 표시합니다. 해당 특징 주변에서 경계가 될 두 지점을 눈에 보이게 정합니다.
- 표현 방식을 살펴봅니다. 이 구간에 영향을 미치는 베지어 구간이나 B-스플라인 제어점을 찾습니다.
- 작게 한 번 편집합니다. 목표 특징과 인접한 윤곽을 모두 살펴봅니다.
- 경계를 확인합니다. 변경이 경계를 넘어가면 다시 시도하기 전에 핸들 연동을 살펴보거나 곡선을 세분화합니다.
- 작업 크기와 표시 크기에서 결과를 확인합니다. 특징의 형태와 연결부, 의도한 크기에서도 조정 결과가 보이는지 확인합니다.
볼이 적절한 베지어 기준점 사이에 분리되어 있다면 핸들 하나를 조정하는 것만으로 큰 구조 변경 없이 작업을 끝낼 수 있습니다. 인접 구간을 여러 번 조정해야 하는 흐르는 윤곽이라면 B-스플라인 제어점이 더 편리한 편집 방식을 제공할 수 있습니다. 허용된 편집 영역에 따라 선택하세요. 이미 마음에 드는 윤곽을 유지하면서 특징을 다듬기에 충분한 제어력을 주는 표현 방식을 사용하세요.
