그림자
서로 다른 광원과 조명을 조합해서 사용할 수 있습니다. 예를 들면 에어리어 라이트의 경우 에어리어 쉐도우뿐만 아니라 하드 쉐도우(하드맵)도 적용할 수 있으며, 이 그림자 페이지의 파라미터들을 이용해서 씬 내의 그림자 맵을 세밀하게 조절할 수 있습니다.
그림자의 타입을 정의할 수 있는 또 다른 메뉴가 있는데, 이 메뉴는 일반 탭에 똑같은 이름으로 존재하며 그림자 탭의 메뉴들과 똑같은 기능을 합니다.
실 생활에서는 들판에서 자라는 나무이던 혹은 방안의 꽃병이건간에 모든 오브젝트들은 여러 개의 부분광에 의해서 비춰지게 됩니다. 결과적으로 밝은 부분에서 어두운 부분으로 서서히 어두워지는 부분이 생기게 됩니다. 이런 부드러운 경계 혹은 그림자를 Cinema 4D에서는 쉐도우 맵을 이용해서 표현할 수 있습니다. 쉐도우 맵이란 광원으로부터 보여지는 씬의 흑백 음영 이미지를 말합니다. Cinema 4D는 랜더링이 시작하기 전에 랜더링 계산 과정에서 모든 쉐도우 맵을 만든 후 이것을 이용해서 랜더러는 어떤 오브젝트들이 광원의 그림자에 포함되어있는지를 판단하게 됩니다.
이 쉐도우 맵 모드의 주된 장점은 빠른 계산 속도와 자연스러운 그림자의 표현이라고 할 수 있습니다.
그러나 소프트 맵의 한 가지 단점이라면 메모리 의존적이라는 점입니다. 쉐도우 맵의 사이즈에 따라 상당히 많은양의 메모리를 필요로 할 수도 있습니다. 그러므로 무 분별하게 쉐도우 맵을 사용하게 되면 그만큼 메모리를 낭비하는 부분이 생길 수 있음에 주의하시기 바랍니다.
일반적으로 레이트레이스 렌더러들의 레이트레이스로 랜더링된 씬은 하드 쉐도우(하드맵)을 포함하고 있습니다. 이 방식은 추가적으로 훨씬 더 많은 광선을 필요로 하기 때문에 소프트맵에 비해 랜더링 시간이 더 길어지지만 소프트맵에 비해 상대적으로 적은 메모리의 양을 사용합니다. 하드쉐도우는 눈에 확 띄는 샤프함덕에 테크니컬 일러스트레이션에 적합합니다. 그러나 이런 딱딱하고 날카로운 그림자 경계는 실제 환경에서는 흔히 볼 수 있는 풍경은 아니므로 자연스러운 풍경을 표현하는데에는 다소 부적절할 수도 있습니다.
비록 소프트 쉐도우가 하드 쉐도우 보다 훨씬 더 자연스럽긴 하지만, 소프트 쉐도우의 경우도 완벽하게 자연스러운 그림자를 표현해주지는 못합니다. 소프트 쉐도우를 자세히 관찰해 보면 소프트 엣지 부분이 항상 똑같은 폭을 유지하고 있다는 걸 알 수 있지만 실제 우리가 살고 있는 자연에서는 있을 수 없는 일입니다. 실제로는 오브젝트가 그 그림자를 드리우는 면에 가까이 있을수록 엣지 부분은 더 샤프해지게 됩니다. 에어리어 쉐도우는 이러한 효과를 표현합니다.
Cinema 4D는 광원(옴니, 스폿, 에어리어 등의 모든 종류의 조명)의 원점에서부터 바깥쪽 방향으로 그림자를 계산합니다. 이 그림자의 계산은 레이트레이싱에 의해 이뤄지며, 이 시점에서는 하드 쉐도우만이 계산하게 되며 소프트 에어리어 쉐도우는 여러 개의 광원을 오버레이 함으로써 시뮬레이션한 가상의 에어리어 라이트 소스의 결과물이라고 할 수 있습니다. 이 과정을 통해서 아주 자연스러운 빛의 분산을 표현할 수 있게끔 해줍니만 일반적으로 에어리어 쉐도우를 적용하면 여러 번의 계산을 반복해야 하기 때문에 랜더 타임이 많이 느려지게 됩니다. 매우 사실적인 그림자를 만들어 줄 수 있지만 적당한 랜더 타임을 유지하기 위해서는 필요한 경우에 적당한 에어리어 쉐도우 샘플 값을 사용해줘야 합니다.
이 수치를 조정함으로써 그림자의 농도로 다양하게 조절할 수 있습니다. 이 수치가 100%라는 것은 그림자의 농도가 불투명에 가깝다는 것을 의미합니다. 50%의 수치를 입력해 줬을 경우 그림자는 반투명이 되고 0%를 입력해 줬을 경우에는 그림자는 표시되지 않게 됩니다. 물론 100% 이상의 농도 수치도 입력할 수 있습니다.
여기에서는 그림자의 컬러를 변경할 수 있습니다. 실제 현실의 그림자들은 완전히 새까만 색이 아니므로 이 설정은 보기 보다는 매우 유용하게 사용될 수 있습니다. 혹은 조명과 그림자의 콘트라스트를 강조해주기 위해서 의도적으로 그림자의 컬러를 오브젝트의 보색등으로 바꾸어 주는데 사용할 수도 있습니다.
쉐도우 맵에 투과색과 알파 채널을 반영해주려면 이 옵션을 체크합니다.
![]() | ![]() |
이 옵션이 사용된 경우에는 디테일 탭의 클리핑 설정이 조명 계산뿐만 아니라 그림자의 계산에도 적용됩니다. 즉 근접 클리핑 앞쪽에 있는 오브젝트의 그림자는 계산되지 않습니다.
그림자 맵의 설정은 소프트 그림자가 선택되어있을 경우만 가능합니다. 소프트 그림자를 사용하는 경우 Cinema 4D는 우선 광원에서 시점으로 씬을 확인한 후 이 시점상에 보여지는 모든 오브젝트들을 전체 씬의 그림자 맵으로 계산합니다. 각각의 그림자 맵은 메모리에 저장되며, 메모리 할당량이 작을수록 그림자의 표현은 거칠어 지게 되고 결과적으로 그림자의 엣지 부분에 계단 현상이나 지글지글한 노이즈가 생기게 됩니다. 반대로 쉐도우 맵에 많은 메모리를 할당할수록 더 부드러운 그림자를 얻을 수 있지만, 그와 더불어 더 많은 메모리를 사용하게 됩니다.
디폴트 쉐도우 맵의 크기는 250x250이 사용되며 그림자의 엣지를 샤프하고 부드럽게 해주고 싶으면 그림자 맵의 크기를 필요한 만큼 충분히 늘려주면 됩니다. 만약 단순히 그림자의 엣지 부분만 부드럽게 유지해주고 싶으면 샘플 반경 값만 늘려주면 되지만 이 경우에도 마찬가지로 랜더 시간은 더 길어지게 됩니다.
때때로 아주 먼거리에 있는 광원에 의해 만들어진 아주 작은 사이즈의 그림자 맵을 사용하는 경우에 구체 오브젝트들의 경우에는 직사각형 형태의 그림자가 생기는 경우도 있을 수 있습니다. 이런 경우에는 광원을 시점으로 사용함으로써 해결할 수 있습니다. 다른 오브젝트들과 마찬가지로 광원도 카메라 뷰로 지정할 수 있습니다. 먼저 광원을 선택한 후 카메라 / 선택 오브젝트 링크를 선택하면 됩니다.
![]() | ![]() |
만약 프리셋 맵 사이즈를 사용해서 원하는 결과물을 얻을 수 없는 경우에는 X 해상도를 직접 조정할 수 있습니다. 일반적으로 X 해상도(넓이)는 Y 해상도(높이)와 같은 수치를 입력합니다. 두 수치를 다르게 줄 경우에는 원치 않은 결과물이 나올수도 있습니다.
스폿 라이트의 경우에는 Y 해상도에 수치를 입력함으로써 정사각형 형태가 아닌 그림자 맵을 지정할 수 있습니다.
Cinema 4D는 자동으로 그림자 맵에 사용되는 최대 메모리를 계산한 후 여기에 표시합니다. 여기에 표시된 사용 메모리를 참고함으로써 그림자 맵에 얼마만큼의 메모리가 사용될지를 대략적으로 확인할 수 있습니다.
샘플 반경은 그림자 맵의 정확도를 결정합니다. 이 수치가 높을수록 그림자는 더 정확하게 표현되지만 그만큼 렌더링 시간은 더 길어지게 됩니다. 만약 작은 그림자 맵 사이즈를 사용해야 할 경우라면 샘플 반경에 좀 더 높은 수치를 입력함으로써 그림자의 퀄리티를 향상시켜줄 수 있습니다. 이 경우에는 쉐도우 맵에 사용되는 메모리 양을 절약하는 대신에 그만큼의 렌더 시간을 더 필요로 하게 됩니다.
애니메이션되는 광원들에서 캐스트 그림자가 플리커 현상이 나타나거나 부정확하게 움직일 수 있습니다. 이것은 그림자 맵의 고정 해상도에 의해 발생합니다. 그림자가 정확하게 움직이려면 해상도를 낮춰야 합니다. 물론 해상도가 증가함에 따라 엣지가 더 선명하게 되며, 샘플링 반경 값을 더 크게해서 보정해야 합니다. 이것은 렌더링 시간을 증가시킵니다.
샘플링 반경 부스트 선택 메뉴는 샘플링 반경값이 너무 높게 설정되지 않도록 추가되어야 합니다. 이렇게 하면 샘플링 반경을 증가시키고 샘플을 무작위로 분산시키게 하는 기능을 사용할 수 있습니다. 이것은 애니메이션에서 노이즈가 있는 끊기는 효과를 덜 눈에 띄게 바꿉니다.
일반적으로 이 옵션은 사용 가능으로 해두는 것이 좋습니다. 이 옵션이 선택 해제되어있는 경우에는 오브젝트에서 그림자까지의 거리는 광원에서 오브젝트까지의 거리에 의해 결정되는데 이를 상대적 바이어스라고 합니다. 상대적 바이어스에서는 광원이 오브젝트에서 멀리 있을수록 그림자는 오브젝트에서 멀어지게 됩니다. 이 상대적 바이어스는 Cinema 4D R5 때부터 사용되었던 것으로 현재는 구 버전의 파일을 임포트할 경우 호환성을 유지하기 위해 그 기능이 남아 있습니다.
소프트 그림자의 경우에는 그림자의 시작 위치가 오브젝트의 뒤쪽으로 밀리는 타고난 문제점을 가지고 있습니다. 이 차이를 그림자 바이어스라고 하는데, 대개의 경우 1m로 되어있습니다. 필요한 경우 바이어스 수치를 조정해서 그림자의 위치를 조정할 수 있습니다.
예를 들면 아주 작은 오브젝트를 카메라의 줌을 이용해서 확대할 경우 그림 1에서 볼 수 있듯이 오브젝트와 그림자의 거리가 뚜렸히 구분할 수 있을 정도가 됩니다. 이 경우 바이어스 수치를 낮춰줌으로써 이러한 문제점을 해결하면 그림 2에서 볼 수 있듯이 좀 더 자연스러운 그림자를 만들어줄 수 있습니다. 또한 간혹 매우 큰 오브젝트에 너무 작은 바이어스 수치가 적용된 경우에는 그림 3에서 볼 수 있듯이 오브젝트 자신에 그림자가 생기는 경우도 있을 수 있습니다. 이런 경우에는 바이어스 수치를 늘려주어야 합니다.
이 설정은 무한 라이트 혹은 평행 라이트에 소프트 그림자를 적용한 경우에만 적용 가능합니다. 이것은 흔히 라이트 큐브라고 알려진 가시 조명 개념의 한 종류라고 할 수 있습니다. 무한 라이트나 평행 라이트의 경우 빛을 방사하는 면 자체가 무한대로 크기 때문에 모든 빛에 대한 그림자를 생성할 수가 없습니다. 즉 그림자를 생성할 수 있는 것은 Z축을 중심으로한 범위로 한정되는데 이 범위를 평행 폭이라고 합니다. 이 범위 밖의 오브젝트에 대해서는 전혀 그림자가 생성되지 않는다는 점에 주의하시기 바랍니다.
이 수치는 애니메이션 시에 다른 오브젝트들을 그림자가 드리워지는 부분으로 던져넣는 것과 같이 다이나믹하게 씬에 적용할 수는 없습니다. 그러므로 이곳에 입력해준 고정된 수치만을 사용할 수 있습니다.
이 옵션을 사용하면 그림자 대신에 그림자의 윤곽선만을 표시할 수 있습니다.
옴니 라이트들에서, 내부적으로 6개의 그림자 맵들이 만들어집니다. 샘플링 반경 값이 높게 사용되면 보이는 엣지들이 개별 그림자 맵 전환에서 발생될 수 있습니다. 이 옵션을 활성화하면 이 전환의 품질이 향상됩니다(하지만 렌더 시간 역시 증가합니다).
옴니 광원의 단점중의 하나는 총 6개의 그림자 맵을 계산해줘야 한다는 점인데, 이 과정에서 간혹 그림자의 엣지 부분에 작은 인위적인 이음세 부분이 만들어지게 됩니다. 만약 그림자 콘 옵션이 사용되면 그림자는 콘 부분으로 한정되므로 이음세가 없는 하나의 그림자맵을 만들어 줄 수 있습니다. 결과적으로 이 옵션을 사용할 경우에는 렌더 타임도 향상됩니다. 투영 각도를 조정함으로써 버택스 각도를 설정할 수 있습니다.
이 옵션을 선택함으로써 그림자의 콘 부분을 부드럽게 할 수 있습니다. 이 옵션을 사용해줌으로써 그림자 콘 부분의 오브젝트의 그림자가 갑자기 없어지는 부자연스러움을 어느 정도 줄여줄 수 있습니다.
에어리어 그림자는 상대적으로 많은 렌더링 시간을 요하기 때문에 시간을 가지고 작업을 할 수 있는 경우에 사용하는 것이 좋습니다.
에어리어 그림자를 만들어내는데 사용되는 광원을 디테일 탭의 설정을 이용해서 정의할 수 있으므로, 에어리어 그림자의 모양을 매우 정확하게 조절할 수 있습니다.
에어리어 그림자는 다음의 두 가지 방법에 의해서 컨트롤할 수 있습니다:
에어리어 그림자 모양: 디테일 탭의 에어리어 모양, 오브젝트, X,Y,Z 사이즈(위의 내용 참고)
에어리어 그림자 퀄리티: 그림자 탭
계산 정밀도 [0..100%]
최소 샘플수 [2..10000]
최대 샘플수 [2..10000]
계산 정밀도와 최소 샘플수, 최대 샘플수 이 세 가지 설정을 통해서 에어리어 그림자의 퀄리티를 조절할 수 있습니다.
이 설정에 대한 기본적인 알고리즘은 매우 복잡하므로 여기서 자세히 언급할 수는 없지만 에어리어 그림자를 렌더링하려면 샘플이 필요하다는 것 만은 인지하고 있어야 합니다. 샘플수가 많을수록 더 균일하게(입자가 곱게) 렌더링되며 동시에 더 많은 렌더링 시간을 필요로 하게 됩니다. 반대로 샘플수를 적게 사용한다는 것은 그만큼 랜더링 시간이 짧아진다는 것을 의미합니다.
물론 사용 가능한 최대의 샘플수를 가지고 특정 씬을 렌더링할 수도 있지만 이는 씬 내의 특정 부분들은 단지 최소의 샘플수만을 필요로 하는 부분도 있을 수 있고 단순히 렌더링 시간만 더 길어지게 할뿐 별 의미가 없게 됩니다.
그러므로 최소 샘플수와 최대 샘플수를 설정해줄 필요가 생깁니다. 이 설정을 통해서 필요한 만큼 많은 혹은 적은 샘플을 사용할 수가 있습니다(최대와 최소의 보간을 통해서).
그리고 계산 정밀도 설정을 통해서 최적의 결과물을 만들어내기 위해서 얼마나 많은 샘플을 할당해줄 지를 결정합니다. 대부분의 중요한 부분에서는 최대 샘플수에 사용 가능한 최대 값이 사용됩니다.
이 계산 정밀도 설정은 높은 설정 값은 더 많은 샘플을 사용하게끔 하기 때문에 중요 부분에 미치는 영향이 매우 크게 됩니다. 상대적으로 덜 중요한 부분의 경우에는 최소 샘플 값이 적용됩니다.
다음의 단계를 따라함으로써 최적의 샘플 값을 찾아줄 수 있습니다:
퀄리티는 전적으로 최대 샘플수와 계산 정밀도의 수치에 의해 결정되지만 100%의 계산 정밀도와 매우 낮은 최소 샘플수의 조합은 좋은 결과물을 만들어주지는 않습니다.
이 세 개의 설정 값을 올려주게 되면 결과적으로 더 긴 렌더링 시간을 필요로 하게 됩니다.
만약 최소 샘플수와 최대 샘플수가 같은 경우에는 계산 정밀도는 어떠한 영향도 미치지 않습니다.
예:
이 그림에서 계산 정밀도는 위쪽 절반의 경우 100%로 설정되어있지만 최대 샘플수가 너무 낮게 잡혀 있기 때문에 보시는 바와 같이 퀄리티는 별로 좋지 않습니다. 아래쪽 절반에서 볼 수 있는 것과 같이 최대 샘플수의 값을 좀 더 올려주고 계산 정밀도를 올려준 경우에 더 좋은 결과물을 보여주고 있습니다.
아래의 이미지를 통해서 가장 중요한 두 설정 값인 계산 정밀도와 최대 샘플수의 다양한 설정 값을 대략적인 렌더링 시간과 함께 확인할 수 있습니다. 여러분의 씬에 사용되는 광원의 효과나 다른 요소들에 의해 실제 렌더링 시간은 차이가 날 수도 있으므로 참고용으로만 이해하시기 바랍니다. 예를 들면 이 참고용 결과에 최대 샘플수를 두 배로 했을 경우 렌더링 시간을 짐작하는 등의 참고 용도로 사용하시기 바랍니다.
에어리어 그림자는 파이로클러스터의 구름에는 적용할 수 없습니다. 파이로클러스터의 구름의 경우에는 레이트레이스(하드맵)가 적용됩니다.