티스토리 뷰

반응형

기본 파티클 시스템의 기본 이론과 구조

영화 제작에 사용되는 디지털 이펙트는 그린 스크린 블루 스크린을 활용한 배경 원화 제작이나 3D 캐릭터의 애니메이션 작업까지 여러 분야의 디지털 그래픽 관련 기술로 이루어져 있습니다. 특히 이중에서 가중 많이 활용되고 중요한 디지털 이펙트는 파티클입니다. 파티클은 공간 좌표상에서 포지션, 벨로시티, 질량, 수명 등의 옵션이 존재하고 부피가 존재하지 않는 하나의 점으로 정의합니다. x, y, z 공간 좌표상에 파티클ㄹ이 존재하고 파티클은 위치/ 질량/ 수명/ 속도를 가진다 라고 이해하면 편합니다. 이러한 파티클을 활용해서 다양한 특수효과 디지털 이펙트를 연출 할 수 있습니다. 특히 자연 속성이 물 또는 불 같은 유체나 기체의 움직임을 사실적으로 표현할 수 있습니다. 그리고 거대한 산불 같은 연기와 그 연기의 흐름, 바다, 파도 같은 자연현상들 까지 구현할 수 있게 되었고 재난 블록버스터와 같은 영화의 전문적인 장르의 확장에도 기여를 하게 되었습니다. 파티클을 활용한 애니메이션은 캐릭터 애니메이션과 같이 애니메이션의 한 분야로 자리 잡게 되었습니다. 캐릭터가 아닌 유체, 기체같은 것들을 다루는 것이지만 캐릭터 애니메이션과는 기술적으로는 꽤나 많은 차이를 가지고 있습니다. 캐릭터 애니메이션은 키 프레임을 통해 애니메이터가 타이밍을 맞춰 캐릭터의 움직임을 만들어내지만 파이클 애니메이션은 다수의 파티클들을 일정한 패턴으로 움직이도록 유도하기 위해 그에 맞는 수학적 조건 등 여러가지 조건을 맞춰내서 시뮬레이션을 통해 애니메이션을 구현하게 됩니다. 이러한 애니메이션 방식을 프로시저널 애니메이션이라고 합니다. 물리학적인 조건을 바탕을 파티클 애니메이션을 만들어내는 경우에 복잡한 움직임을 좀 더 현실적으로, 정확하고 쉽게 얻을 수 있습니다. 그런데 영화에서의 파티클 특수 효과는 물리핮겅닣 현실적인 효과의 재현보다는 감독과 비주얼 슈퍼바이저에 의해 영화에 맞게 좀 더 관객들의 흥미를 끌어낼 수 있는 과장, 비주얼에 더 큰 비중을 두게 되기 때문에 현실적인 시뮬레이션과는 다소 차이가 있을 수 있습니다. 이펙터는 일반적으로 자신이 사용하는 소프트웨어에 대한 이해도와 활용도가 높아야 합니다. 최근 이펙트 작업에 가장 많이 사용되는 소프트웨어 프로세스는 후디니에 파이폰을 활용한 프로세스입니다. 물론 소프트웨어 이해와 활용능력이 중요하지만 가장 중요한 것은 파티클 시스템의 기본 구조와 기본 이론입니다. 디지털 그래픽스에서 보편적으로 활용되는 파티클 운동은 기본 프로세스는 다음과 같으ㅡ 파티클의 초기 값 > 파티클에 작용되는 힘의 합 > 파티클의 이동 > 출동에 의한 파티클 운동의 변화로 이루어집니다. 파티클의 초기값에는 위치/ 속도/ 질량/ 수명 등의 값을 가지고 파티클에 작용하는 힘은 바람/ 중력/ 힘의 합 등의 요소가 있습니다. 파티클의 이동에서는 파티클이 외부의 힘을 받아서 이용하며 충돌에 의한 운동의 변화는 표면 충돌이 일어난 후 운동 방향이 변하는 것을 말하는 것이고 이 때 파티클은 표면 성질에 영향을 받게 됩니다. 파티클 애니메이션의 가장 큰 전제 조건은 이니셜 밸류 프로블럼이다.  이 이니셜 밸류 프로블럼은 일반적으로 벨로시티와 매스, 포지션, 에이지, 그래비티 같은 요소를 의미하고, 특히 이 중에서 가장 중요한 요소는 힘 즉, 포스입니다. 물체가 낙하 할 때의 중력과 바람을 타고 날아가는 풍선의 윈드 포스 등이 이니션 밸류 프로블럼에 하나로 부여됩니다. 이러한 조건으로부터 영향을 주는 힘들의 합은 파티클 운동에 변화를 주고 위치를 변화 시킵니다. 힘의 합=바람 + 중력 + 공기저항의 공식으로 이루어집니다. 이렇게 움직이는 파티클 주변의 물체나 파티클 간의 충돌로 인하여 운동의 변화를 다시 받습니다. 이 같은 파티클 운동의 전반적 흐름은 크게 4단계로 파티클의 초기 조건 - 뉴턴의 제 2법칙과 힘의 합 - 오일러 방식과 위치 변화 - 충돌에 의한 파티클 운동의 변화 로 나눌 수 있습니다. 파티클 초기 조건은 포지션, 벨로시티, 매스, 포스가 있고 파티클에 작하는 포스는 매스와 엑셀레이션에 비례하게 됩니다. 이 공식에포스와 매스는 파티클의 초기 값으로 지정해주기 때문에 결국 이로부터 엑셀레이션을 알 수 있습니다. 가속도와 속도의 정의는 다음과 같습니다. 가속도 = 속도변화율 = 속도 변화량/시간 변화량 = 현재 속도 - 이전 속도/현재 시간-이전시간 이 밖에도 뉴턴의 제2법칙에 대한 내용은 벡터함수. 적분방정식, 힘의 합 등 많은 것들이 있는데 이 내용들은 시간이 되면 추가적으로 다루도록 하겠습니다. 뉴턴의 제2법칙을 적용하게 되면 계산이 어려워지고 해법이 복잡해지기 때문에 일반적인 파티클 시스템은 일반적으로 근갓값 방식의 형태인 불연속 함수를 이용하고, 그 중에서 가장 보편적으로 쓰이는 것이 오일러 방식입니다. 오일러 공식은 속도는 v(t+△t) = v(t)+a *△t 위치는  s(t+△t)=s(t)+v(t)*△t이며 여기서 t는 현재시간, △t는 단위시간, v(t) 현재 속도, s(t)는 현재 위치, s(t+△t)는 단위 시간 뒤의 새로운 위치, v(t+△t)는 단위 시간 뒤의 새로운 속도를 뜻합니다. 오일러 고식에 따르면 현재 위치에서 단위시간마다 현재 속도 방향으로 전진을 하고, 현재 속도는 가속도에 의해 단위 시간마다 변하게 됩니다. 이를 통해 오일러 공식을 적용하면 파티클은 애니메이션은 단위 시간마다 위치가 변하는 불연속 함수의 운동입니다. 충돌에 의한 파티클운동의 변화는 수평면이나 벽에 파티클이 다가와 부딪칠 때 그에 따른 표면상태에 성질과 어우러져 일치하는 반사각으로 튕겨나가게 됩니다. 여기에서 가장 포인트가 되는 것은 충돌에대한 표면 탄력성으로 이것으로부터 파티클 운동의 변화를 조절할 수 있습니다. 이로써 간략하게 기본 파티클 시스템의 이론과 구조를 살펴보았습니다.

반응형
댓글