그래픽/3DMax

스플라인(선) 모델링

zelkova 2017. 4. 21. 13:33



스플라인의 이해


스플라인은 간단히 예기해서 곡선을 의미한다. 그 특성이나 만든 사람의 이름을 따서 몇가지로 분류한다.


카디널 스플라인(Cadinal Sspline)

선을 구성하는 모든 컨트롤 포인트를 통과하는 스플라인 커브, 카디널 스플라인의 장점은 컨트롤 포인트의 위치와 커브가 그리는 궤적의 직접적인 상관관계에 있다. 특정한 지점을 지나느 커브를 그리기 위해선든 컨트롤포인트를 간단히 "그곳"에 위치시키면 된다. 하지만 컨트롤 포인트의 위치가 의도하는 곡률에서조금이라도 벗언아게 되면 이러한 직접적인 상관관계는 부드럽고 완만한 곡선을 그리기 위해서는 오히려 불편함이 될 수도 있다.


베지어 스플라인(Bezier spline)

개발자의 이름을 딴 Bezier 커브는 카디널 스플라인과 마찬가지로 모든 컨트롤 포인트들을 통과하지만 가각의 컨트롤 포인트마다 tangent vector라고 하는 방향과 길이를 동시에 표시하는 조절선을 가진다. 특정한 컨트롤 포인트에서 그 커브르 스치고 지나가는 이접선(tangent)의 방향과 길이(vector)는 각각 그 스플라인 커브의 "곡률 방향" 및 tangent vector에 의해 "영향을 받는 범위"를 나타낸다.


B-스플라인(B-spline)

B는 수학용어로 basis를 뜻한다. Approximating spline의 일종인 B-spline은 카디널 스플라인과 달리 커브를 정의하는 어떤 컨트롤 포인트도 통과하지 않고 단지 그 '근처'를 지나면서 커브를 구성한다. 따라서 같은 컨ㄷ트롤 포인트로 구성되는 커브라고 하더라도 카디널 스플라인에 비해 한층 부드럽고 완만한 곡률을 갖는 커브를 쉽게 그릴 수 있다.


넙스(NURBS)

Non-Uniform Rational B-Spline의 약자인 넙스커브는 위에서 언급한 스플라인 커브들의 장점을 고루 가지고 있다. 카디널 스팔리인처럼 커브의 시작점과 끝점에서는 컨트롤 포인트를 지나면서도 중간 점들에서는 Approximating spline처럼 컨트롤 포인트 '주변'을 지나기 때문에 부드러운 곡률을 갖는다. 또한 넙스커브는 컨트롤 포인트 외에 커브위에 존재하는 edit point라고 하는 별도의 조절 점들을 갖기 때문에 상황에 따라 정확도가  필요한 경우에는 카디널 스팔리인처럼 직접 커브가 지나는 위치를 조절할 수도 있다. 넙스커브가 가지는 또 하나의 중요한 특징은, 각각의 컨트롤 포인트마다 weight를 조정할 수 있다는 점인데 이 웨이트 값이 클수록 커브는 그 컨트롤 포인트 쪽으로 치우치게 되므로 컨트롤 포인트의 위치이동 없이 커브의 미세한 곡률까지 조정할 수 있다. 단 웨이트 값에 변화를 주게 되면 결과물의 렌더링 시간이 늘어나게 되고 데이터 화환에 있어서도 문제가 생길 수 있기 때문에 주의를 요한다.


맥스의 스플라인



Line

Create → Shapes → Line


Ctrl 키를 누르면 회전스냅이 걸리면서 정해진 각도로 움직인다.

Shift를 누르면 수직 수평으로만 움직인다.

Backspace를 누르면 한단계 전의 작업이 취소된다.




Coner

직선을 만든다.


Smooth

조절선 가지지 않는 곡선을 만든다.


Bezier

곡률을 조정할 수 있는 조절선을 가진 곡선을 만든다. Shift를 누르면 한쪽 방향 조절선만 조정할 수 있다.




기타 스플라인



Ractangle

Circle

Ellipse

Arc

Donut

NGon

Star

Text

Helix

Section

Egg 

 

 





스플라인 모디파이 옵션




 








Attach

Vertex, Segment, Spline 모든 레벨에서 사용할 수 있는 명령어로 스프라인을 결합해서 하나의 Shape로 만든다.


Break

Vertex와 Segment 레벨에서 사용할 수 있는 명령어로 기존의 스플라인을 끊어서 분리해준다.


Refine

Vertex와 Segment레벨에서 사용할 수 있는 명령어로 기존의 스플라인을 분할해 준다.


Weld

Vertex레벨에서 사용할 수 있는 명령어로 정해진 범위 안에 들어있는 Vertex들을 하나의 Vertex로 만들어 준다. 스플라인의 양쪽 끝점의 경우 범위 값 안에서 두개의 끝점이 만나게 되면 Weld할 것인지를 물어보는 창이 뜨게 된다.


Insert

Vertex, Segment, Spline 모든 레벨에서 사용할 수 있는 명령어로 스플라인 위에 새로운 Vertex를 생성해서 스플라인을 분할한 후 위치를 정해줄 수 있다.


Fuse

Vertex레벨에서 사용할 수 있는 명령어로 선택된 Vertex들을 한곳으로 모아준다.


CrossInsert

Vertex레벨에서 사용할 수 있는 명령어로 스플라인이 교차되어 있을 경우 교차되는 부분에 새로운 Vertex를 생성해서 스플라인을 분할해준다.


Fillet

Vertex레벨에서 사용할 수 있는 명령어로 선택된 Vertex중심으로 곡선형태의 Segment를 추가한다.


Chamfer

Vertex레벨에서 사용할 수 있는 명령어로 선택된 Vertex중심으로 직선형태의 Segment를 추가한다.


Boolean

Spline 레벨에서 사용할 수 있는 명령어로 닫힌 스플라인끼리 2D Boolean을 실행한다.


Mirror

Spline 레벨에서 사용할 수 있는 명령어로 선택된 스플라인 정해진 방향으로 뒤집힌다.



Trim

Spline 레벨에서 사용할 수 있는 명령어로 선택된 스플라인을 기준으로 원하는 부분을 잘라준다.


Bind

Vertex레벨에서 사용할 수 있는 명령어로 선택된 Vertex를 원하는 Segment를 따라서 움직인다. Unbind명령어로 구속을 풀 수 있다.


Delete 

Vertex, Segment, Spline 모든 레벨에서 사용할 수 있는 명령어로 선택된 요소를 삭제한다.


Divide

Segmewnt 레벨에서 사용할 수 있는 명령어로 기존의 스플라인 위에 정해준 수만큼 Vertex를 생성해서 스플라인을 분할해준다.


Detach

Segment와 Spline 레벨에서 사용할 수 있는 명령어로 선택된 부분을 분리해서 새로운 Shape로 만들어준다. Same shp옵션을 키고 작업하면 Shape안의 새로운 스플라인으로 만들어준다.



Explode

Spline 레벨에서 사용할 수 있는 명령어로 선택된 스플라인들을 Segment 단위로 분리해서 새로운 스플라인을 만든다. Object 옵션을 사용하면 Segment 단위로 분리해서 각각의 새로운 Shape로 만든다.





자주 사용하는 기능 및 응용

Extrude




Bevel




Compound Object -> Loft




Compound Object -> Loft -> Scale



※ Path Parameters 조절 -> 선의 위치를 쉽게 알 수 있음












반응형

'그래픽 > 3DMax' 카테고리의 다른 글

3D max 기초응용 - 전선, 옷걸이  (2) 2017.04.22
3D max 기초응용 _ 명함꼿이  (0) 2017.04.22
3D max - 오브젝트의 변형  (0) 2017.04.20
기본 오브젝트의 종류  (0) 2017.04.20
3D max - 인터페이스, 작업세팅  (3) 2017.04.20