mParticles 충돌 테스트는 표준 충돌 테스트와 유사하지만 파티클과 디플렉터 공간 왜곡 간의 충돌을 허용하는 대신 파티클과 PFlow 충돌 모양(WSM) 수정자가 적용된 표준 오브젝트 간의 충돌을 사용합니다. 사용법은 충돌 테스트와 유사하지만 물리적 시뮬레이션의 특성 및 MassFX 설정으로 인해 일부 세부 정보가 다릅니다.
팁: 항상 이벤트의 mParticles 표준 연산자 아래에 mParticles 테스트를 배치하십시오. 그렇지 않으면 테스트에서 시뮬레이션 통합 단계 후 적절한 시뮬레이션 정보를 검색할 수 없습니다. mParticles 테스트를 잘못 배치하면 mParticles 표준 시뮬레이션이 비활성화됩니다. 이러한 영향에 대한 메시지는 MAXScript 리스너에 로깅되며 3ds Max 인터페이스 맨 아래에 있는 상태 표시줄에도 나타납니다.
절차
이 절차에서는 상자 내부에서 공과 블록 덩어리 사이의 외부 공간을 시뮬레이션하는 mParticles 충돌의 간단한 사용법에 대해 설명합니다.
- 파티클 뷰를 열고(6을 누름) mParticles 흐름을 기지에서 창으로 드래그합니다.
mParticles 흐름은 물리적 시뮬레이션에 필요한 모든 요소로 간단한 흐름을 만드는 쉬운 방법을 제공합니다.
이제 투시 뷰포트에 블록의 큐빅 배열(Birth 그리드에서 만든 큐빅 파티클) 및 mParticles 표준 도우미 아이콘이 표시됩니다.
- 이벤트 001에서 mParticles 표준 연산자를 클릭한 다음 mParticles 표준 롤아웃에서 => 버튼을 클릭합니다.
그러면 mParticles 표준 도우미가 선택되고 해당 매개변수가 수정 패널에 표시됩니다.
- 매개변수 롤아웃의 맨 위에서 중력 적용을 해제합니다.
- 투시 뷰포트에서 예비 공간으로 블록을 둘러싸는 상자 원형을 추가합니다. 측면에 있는 150단위의 큐브는 거의 똑바로 있어야 합니다. 상자를 블록의 가운데에 맞춥니다.
- 상자를 편집 가능한 폴리로 변환하고 맨 위 다각형을 선택하여 삭제한 다음 셸 수정자를 추가합니다. 상자 안쪽을 내려다 볼 수 있도록 뷰의 각도를 조정합니다. 다음 그림과 같이 표시됩니다.
- 전면 뷰포트에서 반지름=20의 구를 상자의 오른쪽 위에 추가합니다. 이제 투시 뷰포트가 다음과 같이 표시됩니다.
- 프레임 30으로 이동하여 자동 키를 설정하고 전면 뷰포트에서 다음과 같이 상자의 왼쪽 아래 모서리 바로 안쪽에 구를 배치합니다.
- 애니메이션을 재생하거나 스크럽합니다. 공이 이동할 때 블록을 교차해야 합니다. 그렇지 않으면 해당 경로를 조정합니다.
- 프레임 0으로 돌아가 자동 키를 해제합니다.
- 구를 선택한 다음 PFlow 충돌 모양(WSM) 수정자를 적용합니다.
- 수정자 매개변수 롤아웃에서 모양을 구로 설정한 다음 활성화를 클릭합니다.
- 상자를 선택하고 PFlow 충돌 모양(WSM) 수정자를 적용합니다. 모양 옵션이 형상(기본값)으로 설정되어 있는지 확인하고 그렇지 않으면 형상을 선택합니다.
- 활성화를 클릭합니다.
이제 충돌 모양 수정자로 인해 상자와 구가 상자 내부의 파티클과 충돌하도록 준비되었습니다.
- 다시 파티클 뷰에서 mParticles 충돌 테스트를 이벤트 001의 맨 아래로 드래그합니다. 테스트를 클릭하여 해당 매개변수를 파티클 뷰에 표시한 다음 디플렉터 리스트(현재 비어 있음)에서 리스트별을 클릭합니다.
디플렉터 선택 대화상자가 열리고 상자와 구처럼 mParticles 충돌에서 디플렉터 역할을 하도록 지정된 오브젝트만 나열됩니다.
- 리스트에서 상자와 구 항목을 강조 표시(Ctrl+A도 한 가지 방법임)한 다음 선택을 클릭합니다.
상자와 구가 디플렉터 리스트에 나타납니다.
이 예제에서 파티클을 다른 이벤트로 전달하지 않으므로 다음의 경우 파티클 테스트 통과나 다른 옵션이 필요하지 않습니다.
- 애니메이션을 실행하십시오.
구가 파티클 배열을 통해 충돌되며 분산되어 상자 내부에서 서로 튀어 오릅니다. 애니메이션 길이를 300 프레임 정도로 연장하면 상자 맨 위에 있는 개구부 밖으로 날아가기 시작하는 것을 볼 수 있습니다.
팁: 또한 공이 상자 내부에서 주위로 튀도록 하려면 구 형상을 삭제하고 전역 이벤트에 연결된 별도의 이벤트에서 Birth 스트림 연산자로 만든 구형 파티클로 공을 다시 만든 다음 파티클 배열에 있는 Birth 스트림 아이콘을 목표로 지정합니다. 두 번째 생성 이벤트에 mParticles 모양 연산자와 mParticles 표준 연산자 인스턴스를 포함해야 합니다. mParticles 표준 연산자를 인스턴스화하면 두 이벤트 모두에 대해 mParticles 충돌 테스트가 전역이 되므로 테스트를 인스턴스화할 필요가 없습니다.
인터페이스
- 디플렉터
- MassFX 시뮬레이션에서 디플렉터 역할을 하는 파티클이 아닌 오브젝트를 나열합니다. 이 점이 mParticles 충돌 테스트와 표준 충돌의 주요 차이점입니다. 디플렉터 유형 공간 왜곡을 사용하는 대신 PFlow 충돌 모양(WSM) 수정자가 적용된 형상 오브젝트를 지정합니다. 디플렉터 리스트에는 해당 오브젝트만 포함될 수 있습니다. 형상 오브젝트가 PFlow 충돌 모양으로 수정되지 않으면 mParticles 충돌 테스트를 위한 디플렉터로 간주될 수 없습니다.
또 다른 중요한 차이점은 mParticles 충돌에서는 mParticles 표준 연산자로 정의된 시뮬레이션에서 모든 파티클, 즉 mParticles 표준 연산자가 동일한 mParticles 표준 드라이버와 연결된 모든 이벤트의 파티클에 대해 충돌을 시뮬레이션한다는 점입니다. 특정 이벤트에서 mParticles 충돌 테스트의 배치에 관계없이 테스트가 mParticles 표준 연산자와 동일한 이벤트에 있으면 해당 mParticles 표준 연산자 드라이버가 제어하는 모든 파티클에 대해 충돌이 수행됩니다.
- 추가/리스트별/제거
- PFlow 충돌 모양으로 수정된 오브젝트를 시뮬레이션에 추가하려면 추가를 클릭한 다음 오브젝트를 선택하거나 한 번에 여러 오브젝트를 추가하려면 리스트별을 사용합니다. 오브젝트를 제거하려면 리스트에서 오브젝트 이름을 강조 표시하고 제거를 클릭합니다.
- =>
- mParticles 충돌에서 할당된 오브젝트를 선택하려면 리스트에서 해당 오브젝트를 강조 표시한 다음 이 버튼을 클릭합니다. 그러면 장면의 오브젝트가 선택되어 오브젝트 매개변수에 쉽게 액세스할 수 있습니다.
테스트가 True인 파티클 조건 그룹
mParticles 충돌 테스트의 주요 기능은 시뮬레이션의 파티클이 충돌하는 장면 형상 오브젝트를 정의하는 것입니다. 연산자는 테스트 역할을 하므로 충돌 시 연산자를 사용하여 파티클을 다음 이벤트로 리디렉션할 수도 있습니다. 충돌하는 파티클 및 충돌이 발생하는 경우를 추적하는 작업에는 추가 CPU 리소스가 사용되므로 리디렉션에 테스트가 필요하지 않고 테스트에서 나오는 와이어가 없으면 다음의 경우 파티클 테스트 통과를 해제합니다.
또한 다음의 경우 파티클 테스트 통과가 꺼져 있으면 전역 시뮬레이션 수준에서 작동하므로 테스트가 상주하는 이벤트가 중요하지 않습니다. 다음의 경우 파티클 테스트 통과가 설정되어 있으면 디플렉터와 함께 현재 이벤트에 있는 파티클의 모든 충돌이 계산되며 이 그룹의 다른 매개변수에 지정된 대로 적절한 순간에 다음 이벤트로 파티클을 리디렉션하는 데 사용됩니다.
충돌, 충돌 후 느려짐, 충돌 후 빨라짐 및 여러 번 충돌 옵션 및 컨트롤은 표준 충돌 테스트의 해당 옵션 및 컨트롤과 유사하지만 다음과 같은 몇 가지 차이점이 있습니다.
- 데이터 연산자에 보고
- 고급 데이터 조작 도구를 사용하는 경우 데이터 연산자에서 사용할 충돌 수 데이터가 필요하면 이 옵션을 사용합니다. 입력 mParticles 하위 연산자를 사용하여 데이터 연산자에서 이러한 데이터를 검색할 수 있습니다.
다음의 경우 파티클 테스트 통과가 설정되어 있는 경우 사용할 수 있습니다. 일반적으로 테스트가 다음 이벤트로 와이어링되지 않는 경우 이 옵션을 사용합니다.
- 가산 개수
- 설정하면 보고된 데이터가 현재 이벤트에 있는 동안 파티클의 총 충돌 수를 나타냅니다. 해제하면 테스트는 마지막 통합 단계 중 발생된 파티클의 충돌 수만 보고합니다.
데이터 연산자에 보고가 설정되어 있는 경우에만 사용할 수 있습니다.
- 충돌 그룹
- mParticles 표준 도우미 항목에 설명된 대로 이 설정은 충돌 제외에 사용합니다.