물리 시뮬레이션 굽기(Baking)
:term:`Baking`(굽기) 라는 행위는 계산의 결과를 저장하거나 캐싱하는 것을 의미합니다. 시뮬레이션의 결과는 애니메이션이 재생될 때 자동으로 캐싱되어 다음에 이를 실행할 때 메모리로부터 더 빠르게 읽어오는 것이 가능합니다.
시뮬레이션을 굽게 되면 캐시가 보호 상태가 되어, *Free Bake*를 통해 구워진 프레임을 해제하기 전 까지는 시뮬레이션의 세팅을 조정할 수 없게 됩니다.
일반적으로 렌더링 하기 전에 물리 시뮬레이션을 굽는 것을 추천합니다. 시간이 걸리는 시뮬레이션 절차를 다시 겪을 필요가 없다는 점은 그렇다 치더라도, 물리 시뮬레이션을 구워 두면 잠재적인 오류를 예방하고 매번 정확히 같은 상태의 시뮬레이션 결과를 얻을 수 있습니다.
참고
블렌더가 사용하는 대부분의 물리 시뮬레이터는 비슷한 구조를 취하고 있지만, 이들이 모두 정확히 같은 설정값을 가지진 않습니다. 모든 설정값은 여기에서 해설되지만, 각각의 물리 타입이 이러한 모든 옵션을 제공하지 않을 수 있습니다.
Options
- 캐시 목록(Caches List)
블렌더는 동일한 물리 오브젝트에 다수의 캐시를 저장 및 관리하는 것을 허용하고 있습니다. 이 :ref:`list view <ui-list-view>`을 통해 캐시를 관리할 수 있습니다. 목록의 캐시를 더블 클릭하면 이름을 바꿀 수 있습니다.
각각의 캐시는 이름이 있습니다. 캐시 목록을 더블클릭해서 이름을 지정해보세요. 이름이 주어지면, 모든 디스크 캐시가 해당 캐시의 이름으로 시작하는 이름으로 저장됩니다. 예를 들어, ‘MyCache’라는 이름의 캐시는 ``MyCache_xxxxxx_yy.bphys``에 저장될 것입니다.
캐시가 이름이 없다면(기본값일 경우), 캐시의 파일명은 불명확하게도 캐시와 관련된 오브젝트에 따라 정해지게 됩니다. 예를 들어,
Cube
라는 오브젝트에 대한 캐시는 오브젝트 이름에 따라43756265
로 시작하는``43756265_xxxxxx_yy.bphys``에 저장됩니다.경고
하나의 오브젝트에 다수의 캐시가 존재할 경우, 반드시 캐시 이름을 정해주세요. 위에서 설명한 바와 같이, 이름이 없는 캐시는 관련된 오브젝트의 이름으로 결정됩니다. 결과적으로, 하나의 오브젝트가 다수의 물리 시스템을 가졌음에도 캐시 이름이 모두 같다면 캐시가 충돌을 일으키고, 캐시 파일의 손실에 이를 수 있습니다.
- 외부 캐시(External)
드라이브 내 사용자 지정 경로의 캐시를 읽을 수 있습니다.
- 인덱스(Index)
캐시 파일의 인덱스 숫자입니다.(파일명의 맨 끝 두자리)
- 경로(Path)
해당 캐시 파일의 디렉토리 경로를 선택합니다.
- 디스크 캐시(Disk Cache)
구워진 시뮬레이션의 캐시는 blend 파일 내부에 저장됩니다. *디스크 캐시*가 확인되면 블렌더는 캐시 파일을 blend 파일과 나란히 ``blendcache_[filename]``라는 폴더 내부에 따로따로 저장합니다.(반드시 blend 파일이 먼저 저장되어야 합니다.)
참고
When using Library Overrides, data-blocks only support Disk Cache storage.
- 라이브러리 경로 사용하기
물리 오브젝트가 다른 blend 파일에 linked 연결된 경우 디스크 캐시를 공유해 보세요. 이 옵션을 활성화하면 오브젝트의 연결된 버전들이 같은 디스크 캐시를 참조할 것입니다. 이외의 경우에는 오브젝트의 연결된 버전이라도 각각 독립적인 캐시를 사용할 것입니다.
- 압축(Compression)
캐시 파일의 압축 레벨입니다. 어떤 물리 캐시는 크기가 매우 커질 수 있어, 블렌더는 공간을 절약하기 위해 이러한 캐시들을 압축할 수도 있습니다.
- 없음(None)
캐시를 압축하지 않습니다.
- 가볍게(Light)
파일 크기에 대한 압축/압축해제 작업의 속도를 최적화합니다.
- 무겁게(Heavy)
압축 결과 캐시가 *가볍게*보다 작아집니다. 하지만 압축/압축해제 과정에서 더 많은 CPU 타임을 요구합니다.
- 시작(Start)
시뮬레이션을 시작할 프레임
- 끝(End)
시뮬레이션을 멈추는 프레임
참고
시뮬레이션의 굽기 여부와는 관계 없이, 시뮬레이션은 시작*과 *끝*사이의 양수 프레임에 한해서 계산됩니다. 따라서 기본 프레임 범위보다 더 긴 길이의 시뮬레이션을 실행하고 싶다면, *끝 프레임을 변경해야 합니다.
- 캐시 간격(Cache Step)
시뮬레이션 데이터를 저장하는 간격
참고
어떤 물리 시스템(파티클 따위의)은 n번째 프레임 간격으로만 저장하도록 합니다. 이는 각각의 간격 사이의 프레임을 보간하는 방식을 사용합니다. 1보다 큰 수의 캐시 간격을 사용하면 캐시의 크기는 작아지겠지만, 원래의 시뮬레이션과 결과가 다르게 나올 수 있습니다.
굽기(Baking)
- 굽기(Bake)
굽기를 시작합니다. 블렌더는 굽기 절차가 진행되는 동안에는 응답하지 않을 것입니다. 커서에는 굽기 과정을 나타내는 수가 표시될 것입니다. 굽기를 위해서는 오브젝트 모드(Object Mode)에 있어야 합니다.
- 굽기 해제(Free Bake)
구워진 캐시를 임시로 표시합니다. 데이터는 여전히 존재하지만, 오브젝트에 변경 사항이 생기거나 프레임이 바뀌면 삭제될 것입니다. 이 기능은 이미 구워진 물리 시스템이 존재할 경우에만 사용이 가능합니다.
- 프레임까지 계산하기(Calculate to Frame)
현재 프레임까지만 구워냅니다. 캐시 설정의 *끝*프레임을 넘어가지 않습니다.
- 현재 캐시를 굽기(Current Cache to Bake)
임시로 캐시된 시뮬레이션 데이터를 구워진 상태로 저장합니다. 애니메이션을 재생할 때는 활성화된 물리 시뮬레이션을 모두 시도한다는 점을 명심하세요. 물리 타입에 따라 이 데이터는 일시적으로 캐시될 수 있습니다. 일반적으로 이러한 임시 캐시들은 오브젝트나 설정값이 변경되면 사라지게 되지만, 이를 구워진 상태로 변환한다면 “저장”될 것입니다.
- 모든 다이내믹 굽기(Bake All Dynamics)
한 씬의 모든(서로 다른 타입 가능) 물리 시스템을 구워냅니다. 다른 물리 타입 사이의 상호작용 등 복잡한 설정을 구워야 할 경우 유용합니다.
:ref:`Bake <physics-bake>`를 참고하세요.
- 모든 굽기 해제하기(Free All Bakes)
한 씬의 모든(서로 다른 타입 가능) 물리 시스템의 굽기를 해제합니다.
:ref:`Free Bake <free-physics-bake>`를 참고하세요.
- 프레임까지 전부 업데이트하기(Update All to Frame)
현재 프레임까지의 씬 안의 모든 물리 시스템을 구워냅니다.
:ref:`Calculate To Frame <calc-physics-bake-to-frame>`를 참고하세요.