Мы делали такой пример лет так 5 назад. Правда, использовали для этого Real3D, но тут важен скорее принцип, который, наверное можно " прикрутить" и к MAX
Описание сцены. Стена, перед которой стоит стреляющий пулемет. Для разнообразия добавили в сцену еще и бочку с жидкостью, расположив ее между пулеметом и стеной. Все это ( стена, бочка, пулемет) "стоит" поверхности.
Задача. Управляя только пулеметом, получить эффект разрыва пули ( выбоина в стене+ осколки) в стене и бочке ( из пробоины в бочке вытекает поток жидкости")
Как это делалось. пулемет был назначен иммитером для объекта пуля. ( тонкость в Real3D объект может быть как частицей так и ее источником). После этого действия пулемет начал стрелять. Далее через процедуры мы задали следующее поведени для пули:
1. - вылет из пулемета
2. - полет
3- - попадение в припятствие. Условием для выполнения п. 3 было проверка коллизии пули с любым объетом. если оно выплнялосб то объект пуля из сцены удалялся, а в том месте где произошло попадание начинали работать две новые процедуры
-3а - процедура рождение выбоины в стене. Для этого создавался эммитер рождающий один объект нужной конфигурации. При этом было задано условие "вычитание" этого обекта из стены или бочки через булевую операцию.
-3b - процедура рождения осколков. Еще один эммитер, который рождал несколько объектов в форме осколков с начальной скоростью, направлением и массой. После своего рождения осколки попадали под воздействия силового поля ( еще одна процедура) и падали на пол. В случаи попадания в пули бочку вместо осколком эммитер был настроен на рождения потока частиц ( струйка воды, которая растекалась по полу)
Вот вообщем то и все
Итог. Мы управляем только траекторией ствола пулемета и частотой вылета. дальше все происходит автоматически ( "как в жизни" ) пули крушат стену, вырывая из нее осколки, которые в чвою очередь разлетаются в разные стороны и под действие гравитайии падают на пол.