블렌더/블렌더 팁

[blender tips] 07. 블렌더 Modifier - Array 사용하기 (6)

노루3759 2022. 10. 29. 22:40
반응형

커브에 맞춰 배열하기

Array modifier와 curve modifier를 함께 사용하면 아래 그림처럼 커브를 따라가는 배열을 만들 수 있다. 이때, Array modifier가 자체적으로 curve에 맞춰 배열해 주는 기능을 지원하지 않기 때문에 Array modifier와 Curve modifier를 함께 사용해야 한다.


아래 그림처럼 Array modifier로 만들어진 배열에 Curve modifier를 사용해서 커브를 따라가는 배열을 만들 것이다.


아래 그림처럼 shift + a >>> torus를 하나 만들어준다. 메쉬를 처음 만들 땐 subdivide modifier를 사용해서 폴리곤 수를 점점 늘려나가는 것을 고려해서 낮은 세그먼트로 작업을 시작하는 게 좋다. Major Segment와 Minor Segment를 낮춰 주었다.


토러스의 오른쪽 반을 날려버리고 mirror mdifier를 준다. clipping 옵션을 켜준 상태로 아래 그림처럼 오브젝트를 만들어 주었다.


이 상태에서 subdivision modifier와 shade smooth를 줘서 아래 그림처럼 부드러운 곡면을 만들었다.


empty 오브젝트를 아래 그림처럼 만들어 준다. 이제 torus에 Array modifier를 주고, Object Offset에 Empty 오브젝트를 설정해 준다. 그리고 count를 늘려주면 아래처럼 배열된다.


Empty를 x축으로 90도 회전시켜주고, x축을 따라 적절히 움직여 아래 그림처럼 배열을 보기 좋게 만들어 준다.


만들고 보니 torus 두께가 너무 얇은 거 같다. 편집 모드에서 전부 선택해서 alt + s 단축키로 두께를 조절해 준다. 이때 배열들끼리 겹치는 부분이 생기면 empty 오브젝트를 적절히 움직여서 배열들끼리 겹치지 않게 조절해 준다.


이제 아래 그림과 같이 커브를 하나 만들어 주고 curve modifier를 주면 커브를 따라 배열되는 사슬을 만들 수 있다. 이제 count 수를 늘려주면 커브에 맞춰 배열이 늘어난다.


사슬이 너무 90도로 딱딱 맞아떨어지는 것 같으니 Empty 오브젝트를 90도가 아닌 다른 각도로 돌려 보겠다.


이제 커브 편집모드로 들어가서 커브를 다양하게 편집하면, 커브를 따라 배열 모양도 바뀌는 걸 볼 수 있다.


커브의 한 점을 선택하고 Tilt 값을 조절해 보면 커브가 회전하면서 사슬도 함께 회전하는 걸 볼 수 있다.



아래 그림과 같은 로봇 몸통도 배열을 이용해 쉽게 만들 수 있다.

먼저 베이스가 될 부품을 만들어 주고, 곡면을 표현할 커브를 만들어 준다. 그리고 Array modifier와 curve modifier를 적절히 섞어주면 아래 그림처럼 배열을 만들 수 있다.


Object offset과 curve modifier를 적절히 사용하여 아래와 같은 배열을 만들어 주었다.


이제 empty 오브젝트의 크기를 적절히 조절해 주면 꼬리에서 머리로 갈수록 점점 커지는 배열을 만들 수 있다.


아래 그림처럼 꼬리와 머리를 준비해 두고 Caps 옵션에 설정해 주면 적절한 배열을 만들 수 있다.





Curve Deform 옵션
커브 얘기가 계속 나오다 보니 빼 먹을 수 없는 커브 옵션이 있어서 같이 이야기해 보도록 하겠다.
커브 옵션을 보기 위해 아래 그림처럼 박스 하나와 커브를 만들어 주었다. 박스의 세그먼트를 충분히 늘려서 Curve modifier를 이용해서 커브에 배치하였다.


이때 커브를 클릭해 보면 아래 그림과 같이 커브 데이터 속성란에서 Curve Deform 옵션을 볼 수 있다.



Curve modifier를 적용했을 때 사용할 수 있는 Curve Deform 옵션이다.

Radius
커브는 각 점에 Radius라는 반지름 값을 가진다. 이 값을 늘려도 커브 자체는 한 선이기 때문에 눈으로 확인하기 어렵지만, 아래 그림처럼 커브에 Bevel 값을 주면 커브를 따라 두께를 가지는 면을 만들 수 있다.


이때 Radius 값을 늘려보면 선을 따라 반지름이 달라지는 것을 알 수 있다.


curve deform의 radius 옵션은 바로 오브젝트를 curve modifier를 사용하여 변형할 때 이 커브 Radius 값을 함께 적용하는 옵션이다. 아래 그림에서 커브를 따라 변형되는 박스의 두께가 Radius 값을 따라 함께 변형되었다.


이때 커브 자체의 두께는 영향을 받지 않는다. 이 옵션은 이 커브를 따라 변형되는 (deform 되는) 오브젝트, 즉 원래 curve modifier가 사용된 박스의 두께에 영향을 주기 위한 설정이다.

아래 그림처럼 화면을 반투명으로 바꾸고 박스와 커브의 두께를 비교해 보았다. 커브의 두께를 알아보기 쉽게 커브에는 Bevel 값을 올려 주었다. 왼쪽 그림은 Radius 옵션을 비활성화하였다. 그랬더니 박스의 두께가 일정하게 유지됐다. 오른쪽에서 Radius 옵션을 켰더니 박스 두께가 커브의 Radius 값을 따라 두꺼워졌다. 하지만 둘 다 커브 자체의 두께는 이 옵션에 영향을 받지 않고 Radius 자체 값을 따라가는 걸 볼 수 있다. 다시 한번 말하자면 이 옵션은 커브의 Radius에 영향을 주는 옵션이 아니라, 이 커브를 따라 변화하는 오브젝트(Curve modifier를 직접 적용한 오브젝트 >>> 박스)에 영향을 준다.



Stretch
stretch는 오브젝트를 늘리거나 줄여서 커브의 크기에 맞춰주는 옵션이다. 하지만 이 옵션 하나만 사용하면 모양이 이상하게 바뀐다. Bounds Clamp 옵션과 함께 사용해야 커브의 크기에 맞춰 오브젝트를 늘리거나 줄일 수 있다. 변형하고자 하는 오브젝트가 커브보다 작으면 커브에 맞춰 길게 늘려주고, 오브젝트가 커브보다 길면 커브에 맞춰 작게 줄여준다.
그리고 당연하겠지만 세그먼트 자체의 변화는 없다. 따라서 세그먼트가 부족한 오브젝트를 무리하게 늘리면 오브젝트가 부자연스럽게 변할 수도 있다.


Bounds clamp
변형하려는 오브젝트를 커브에 딱 맞춰준다. 아래 그림처럼 Bounds Clamp 옵션을 켜주니 오브젝트가 커브에 딱 맞춰 변형되는 걸 알 수 있다.


이때는 오브젝트가 커브에 딱 맞춰진 상태이기 때문에 오브젝트를 x축으로 움직여도 변형되지 않는다. 이전에 curve modifier를 사용한 오브젝트를 deform axis를 따라 움직여보면 커브를 따라 모양이 변화한다고 설명했다. 하지만 Bounds Clamp 옵션을 켜면 deform axis를 따라 움직여도 오브젝트의 모양이 전혀 변하지 않는다.




개인적으로는 왜 이 옵션들을 curve modifier에 함께 만들어 주지 않고 커브에 따로 빼 놨는지 잘 모르겠다. 이 옵션들은 커브를 조절한다기 보다 curve modifier를 직접 사용하는 오브젝트에 영향을 주는 옵션들이기 때문이다. 애초에 curve modifier에 이 옵션들을 만들어 뒀으면 한 번에 사용하기 더 편했을 거 같은데... 이 옵션이 커브에 있기 때문에 curve modifier는 오브젝트에서 설정하고, 오브젝트에 적용하기 위한 deform 옵션은 커브를 선택해서 바꿔야 한다.

사실 진짜 모르겠다기보다는 커브에 관한 세부 속성으로 동작하기 때문에 이 옵션들을 따로 빼놓은 건 이해가 간다. deform 옵션들뿐 아니라 커브의 path에 영향을 주기도 한다. 하지만 사용하기 좀 불편한 것은 사실이다. 아니 사실 커브에서 버튼 하나만 누르면 되니까 사용하기 크게 불편하지 않다고 할 수도 있겠지만... 정확하게 말하면 사용하기 불편하다기보다는 이 옵션에 대해 모르면 사용하기 어렵다는 게 정확한 표현인 것 같다. 그냥 curve modifier에 함께 있으면 블렌더에 익숙하지 않은 사람들도 보면서 쉽게 사용해 볼 수 있을 거 같은데... 옵션이 커브에 따로 빠져 있으니, 이런 옵션이 있는지를 모르면 사용할 수 없는 항목들이다.

뭐 아무튼 사용법을 알면 크게 어렵지도 않고, 또 유용한 기능들이라 알아두면 도움이 될 거라고 생각한다.

 

 

 

 

 


07. 블렌더 Modifier - Array & Curve - 연결된 글입니다. 

 

07. 블렌더 Modifier - Array (1)

07. 블렌더 Modifier - Array (2)

07. 블렌더 Modifier - Curve (3)

07. 블렌더 Modifier - Curve (4)

07. 블렌더 Modifier - Array 사용하기 (5)

07. 블렌더 Modifier - Array 사용하기 (6)

07. 블렌더 Modifier - Array 사용하기 (7)


 

반응형