스윕 넙스 오브젝트

스윕 오브젝트는 최소한 두 개 혹은 3 개의 스플라인을 필요로 합니다. 첫 번째 스플라인은 단면 스플라인으로 크로스 섹션을 정의해주며 패스 스플라인인 두 번째 스플라인을 따라 이동하면서 오브젝트를 만들어줍니다. 또한 세 번째 스플라인인 레일 스플라인을 지정할 수 있는데 이 레일 스플라인은 오브젝트의 길이에 따라 단면 스플라인의 크기를 변경하거나 회전시키는 데 사용됩니다. 혹은 함수 그래프를 사용해서 레일 스플라인을 대신해 모든 기능들을 조절해주는 것도 가능합니다.

단면 스플라인은 XY 평면 위에 놓여져야 합니다.

멀티 세그먼트를 가진 스플라인을 사용할 수도 있습니다. 즉 텍스트 스플라인의 모든 단어를 패스 스플라인에 따라 스윕 시킬 수도 있습니다.

이 로고는 두 개의 패스 스플라인에 평행하게 스윕이 적용되었습니다(레일 스플라인을 이용해서 최종 스케일을 30%로 설정).

단면 스플라인은 단면의 Z축 방향의 패스를 따라 스윕됩니다. 만약 2차원적인 평면 패스 스플라인을 사용하고 있는 경우에는 아무런 문제가 없지만 평면이 아닌 3차원 패스 스플라인을 사용하는 경우라면 스플라인이 구부러지는 부분에서 면이 교차하는 등의 문제가 발생할 수도 있습니다.

만약 뱅킹 옵션을 선택한 경우에는 다음의 룰이 적용됩니다:

패스 스플라인의 시작점에서 단면 스플라인은 회전되고 결과적으로 단면의 X축은 패스 스플라인의 평면과 같은 평행하게 됩니다. 단면은 여전히 패스 스플라인과 접하는 Z축에 놓여지게 되며 만들어 지는 모든 단면들은 이런 방식으로 패스의 처음부터 끝까지 각도의 변화를 최소로 유지합니다. 만약 시작과 끝 단면이 닫힌 패스 스플라인과 만날 경우에는 필요한 경우 단면 또한 회전이 적용됨으로써 보다 매끈하게 연결을 합니다.

뱅킹 옵션은 유저들로 하여금 보다 자유롭게 3D 패스를 사용할 수 있도록 하지만 사용하는 패스에 따라서는 단면이 깨지는 등의 문제가 발생할 수도 있으므로 정밀한 스윕 오브젝트를 만드는데에는 적절치 않을 수도 있습니다.

만약 뱅킹 옵션이 해제된 경우에는 다음의 룰이 적용됩니다:

먼저 단면 스플라인은 각 서브디비전에 따라 회전하게 되므로 한쪽으로는 Z축은 항상 패스 스플라인과 접하게 되고 다른 한편으로는 단면의 X축은 패스 스플라인의 XZ평면에 평행하게 됩니다. 이 XZ평면을 스윕을 컨트롤하는데 사용할 수도 있지만 패스가 직립하는 경우에는 단면도 그에 따라 뒤집히기 때문에 루프 모델링을 사용할 수가 없게 됩니다.

마지막으로 훨씬 더 강력한 기능이 있는데 레일 스플라인을 단면의 방향 혹은 스케일을 콘트롤하는데 사용할 수도 있습니다. 패스 스플라인은 분할 위치를 컨트롤합니다. 최적 스플라인 보간법은 상대적으로 적은 수의 서페이스를 만들어주기 때문에 일반적으로 좋은 선택이 될 수 있습니다. 반면에 유니폼(Uniform) 스플라인 보간법은 서브디비전이 일정한 간격으로 만들어지므로 애니메이션의 경우에는 유니폼 스플라인 보간법이 더 좋은 선택이 될 수 있습니다.

뱅킹 옵션을 사용한 예
뱅킹 옵션을 사용하지 않은 예
레일 스플라인을 사용할 때 흔히 범하는 실수는 패스 스플라인을 최적 보간법과 함께 사용하는 것입니다. 이 경우 레일 스플라인이 제대로 적용되기에는 상대적으로 적은 분할이 이루어지게 되므로 더 높은 분할수를 필요로 하게 됩니다. 이러한 문제를 해결하려면 패스의 중간 포인트를 최적 보간법 대신에 내츄럴로 설정하시기 바랍니다.
최적 보간을 적용
내츄럴 보간을 적용

기울어진 단면 스플라인 사용 시의 트러블슈팅

스윕 오브젝트를 사용하는 경우에 가장 흔하게 격게 되는 문제점은 단면 스플라인이 스플라인을 따라 스윕될 때 간혹 기울어지거나 뒤집혀 보이는 경우입니다. 이러한 문제는 복잡한 수학적 계산에 근원한 것인데 이는 복잡한 수학적 계산상의 문제이므로 여기서 직접 수학적인 것에 대해 언급하는 대신에 아래의 예를 통해서 구체적인 해결방법을 예를 들어 설명하겠습니다.

파랑색 표시: 단면 스플라인과 패스 스플라인. 빨강색 표시: 레일 스플라인.

그림1은 단면 스플라인의 방향이 갑자기 바뀌는 전형적인 문제점을 보여주고 있습니다. 그림 2에서는 뱅킹 옵션을 선택함으로써 스플라인이 패스를 따라 스윕될 때 스플라인을 기울여주는 방법으로 부분적으로 문제점을 해결해주고 있습니다.

그림34는 위의 문제점을 해결해주는 대안을 보여주고 있습니다. 그림 3에서는 단면의 X와 Y값을 바꿔서 입력해줌과 동시에 뱅킹 옵션을 활성화시켜 주었고 그림4는 레일 스플라인을 사용함으로써 어떤 식으로 문제점을 해결할 수 있는지를 잘 보여주고 있습니다. 이 경우에는 뱅킹 옵션을 사용하지 않아도 됩니다.