티스토리 뷰

반응형

시뮬레이션 분류 그리고 이론 및 알고리즘1

시각 효과 시뮬레이션은 다양한 범주로 분류 할 수 있습니다. 가장 기본적인 시뮬레이션 유형은 아마도 파티클 시스템 일 것입니다. 입자 시스템은 속성 기본적으로 물리적 시뮬레이션으로 만 애니메이션되고 소프트웨어 구현에 대해서 위험성이 없고 높은 비용이 들지 않습니다. 이 때문에 합리적인 금액으로 정말 많은 유형을 시뮬레이션 해볼 수 있습니다. 파티클 애니메이션은 현실적인 시뮬레이션처럼 100% 현실적이지는 않지만, 요즘에는 많이 사용됩니다. 더 높은 수준의 고급 시뮬레이션은 RBD라고도합니다. 리기드 바디는 변형 불가능의 동작을 기반으로 사실적인 모션을 만드는 데 사용됩니다. 중력이나 마찰과 같은 일반적인 힘의 영향을 받아 각각의 물체와 충돌 할 이러한 유형의 동작은 계산할 수 있습니다. 기본 모션 방정식을 사용하여 상당한 양의 객체를 효율적으로 사용할 수 있습니다. RBD는 건물, 자동차 또는 일반적으로 모든 것을 파괴하는 FX에 필수적입니다. 그리고 파괴하고 여러 조각으로 나눌 수 있습니다. 소프트웨어에 따라 강체 역학에 대한 다양한 기능을 가진 다양한 구현이 있습니다. 시각 효과에서 가장 일반적인 것은 불릿 피직 라이브러리 일 것입니다. Bullet Physics Library 일 것입니다. 이것은 아마도 시각 효과에서 가장 진보 된 시뮬레이션 유형 중 하나이며 현재도 여전히 가장 많이 연구 되고 있는 유체 역학입니다. 유체는 모든 재료로 설명 될 수 있습니다. 지속적인 방식으로 형태를 바꾸거나 더 정확하게 말하면 가스 및 액체 대부분의 액체는 자연에서 찾을 수 있습니다. 예를 들어 물, 불, 구름 또는 연기. 시뮬레이션 할 다양한 모델과 접근 방식이 있습니다. 유체 역학 및 컴퓨터 그래픽의 솔루션은 최첨단 기술이지만 현재가지도 계속해서 진전을 이루고 있습니다. 이것은 머리카락, 깃털 또는 피부 밑의 근육과 같은 캐릭터 및 생물에 적합합니다. 그리고 다른 일반적인 사용으로는 군중 시뮬레이션이 있습니다. 지금부터는 이론 및 알고리즘에 대해서 알아보도록 하겠습니다. 일반 개념부터 살펴보면 이 장에 제시된 모든 시뮬레이션의 기본 방정식은 뉴턴입니다. 뉴턴 제2운동법칙에서는 물체에 영향을 미치는 힘 f는 질량 m 곱하기 가속도 a와 같다고 명시합니다. 시각 효과 시뮬레이션에서 찾는 결과에는 일반적으로 위치와 속도가 포함됩니다. 이 경우 힘은 중력, 바람과 같은 모든 종류의 외부 힘의 합이 될 수 있습니다. 힘 또는 아티스트가 정의한 사용자 지정 힘, 고급 시뮬레이션은 접촉과 충돌 힘 그리고 마찰을 고려합니다 위치 p 및 속도 v에 대한 알려진 초기 값으로, 우연한 또는 아티스트가 설정 한 새로운 위치 p (∆t)와 시간 ∆t 이후의 속도 v (∆t) (그리고 일정한 가속도 가정하에) 로 계산할 수 있습니다. 이 모든 방정식은 힘, 가속도, 속도와 같은 벡터 값이며, 위치도 모두 벡터입니다. 정규 물리학에서 이러한 방정식 적용과는 반대로 컴퓨터 애니메이션은 주로 시간 단계에 따른 모션 모델링과 관련이 있습니다. 그것들은 다음과 같이 설정할 수 있습니다. 일정하며 뚜렷한 방정식의 결과와 그 오류에 미치는 영향. 대부분의 시뮬레이션에서와 마찬가지로 힘과 가속도 및 속도는 시간뿐만 아니라 위치, 종종 비선형 변동이 시간 단계 동안 발생합니다. 이 경우 시작 부분에 샘플링 된 초기 값으로 방정식을 계산합니다. 오일러 공식을 사용하는 시간 단계는 상당한 편차를 초래합니다. 이상적인 연속 경로에서. 도입 된 오류는 단계 크기에 비례하며 시간 단계를 최소화하여 시간을 줄일 수 있으며 결과적으로 과도한 시뮬레이션이 발생합니다. 컴퓨터 애니메이션은 과학적 정확성이나 수치 적 정확성에 크게 관심이 없지만 조잡한 수치로 인해 시각적 사실성이 손상 될 수 있습니다. 이 문제를 해결하기 위해 사용할 수있는보다 정교한 수치 적분 기법이 다양하며,이를 통해보다 정확한 결과를 얻을 수 있습니다. 더 큰 시간 단계에서도 안정적인 결과를 제공하는보다 정확한 방법은 오일러 공식입니다. 시간 단계가 시작될 때 값을 샘플링하는 대신 오일러는 뉴턴 방법과 같은 기술을 사용하여 새로운 위치를 찾습니다. 더 자세하게 이야기 하면 새로운 위치에 있는 미분값을 가진 현재 가치입니다. 모든 단계에서 적합한 새 점을 찾기 위해 방정식을 풀어야하기 때문에계산하는 데 더 오랜 시간이 걸립니다. 그럼에도 불구하고 오일러 공식보다 더 효율적일 수 있습니다.더 큰 시간 단계를 선택할 수 있으므로 계산이 덜 필요하기 때문입니다. 동일한 수치 정확도를 충족합니다. 입자 시스템은 컴퓨터 애니메이션에서 가장 간단한 시뮬레이션 유형 중 하나입니다. 그것들은 기본 위치, 속도 및 질량을 가지고 있는 점입니다. 적용된 힘에 반응하며 가장 기본적인 형태로는 공간적 범위나 크기가 없습니다. 입자 시스템은 본질적으로 매우 절차 적이며 많은 요소가 있습니다. 종종 모양과 움직임에 관한 매개 변수는 평균을 제공하여 설정할 수 있습니다. 값과 최대 편차 지정, 필수 위치, 속도 및 질량 외에 일반적인 속성에는 색상, 투명도, ID 및 수명이 포함됩니다. 또한 원하는만큼의 속성을 추가하여 사용자 지정 동작, 특히 수명은 입자의 수명을 제어하는 중요한 속성입니다. 일반적으로 생성시 설정되며 모든 시뮬레이션에서 수명은 감소합니다. 수명 속성이 0에 도달하면 입자가 종료되고 Houdini에서이 기능은 age와 life 두 가지 속성에 대해 모델링됩니다. 현재 age와 총 life를 초 단위로 표시합니다. 종종 이러한 값은 입자의 모양과 음영 매개 변수를 변경하는 데 사용됩니다. 입자 시뮬레이션의 각 단계에 대한 기본 알고리즘은 다음과 같이 설명 할 수 있습니다. 시간 단계에서 생성 된 새로운 입자 생성/ 태어난 입자에 대한 속성 생성 및 할당/ 주어진 수명을 초과하는 입자 종료/ 계산 된 모션을 포함한 나머지 입자 속성 업데이트/ (입자 렌더링) 입자의 움직임을 계산하는 데 사용되는 실제 방법은 서로 바꿔서 사용할 수 있지만 많은 물체에 대해 가장 중요한 것은 정확도 보다 속도 입니다. 이번 포스팅은 여기까지이고 이론과 알고리즘에 대한 내용은 다음 포스팅에서 계속해서 이어서 하도록 하겠습니다.

반응형
댓글