Хотелось бы сделать красиво деформирующийся объект.
В одной из демок PhysX видел превосходные вмятины на листе металла - как результат работы кошерно настроенного обработчика тканей. Сколько не пытался повторить это в Unity3D - ничего не вышло, максимально возможная упругость слишком мала. Раз так, могу сделать и сам.
Вообще, если халтурить - ничего сложного в этом нет. Ловим OnCollisionEnter, получаем точки контакта и силу удара, двигаем вершины, получив их из нужной сетки.
Но тут есть один сильный недостаток. Повреждения будут, спору нет. Только вот объект сразу же отскочит. А, по идее, должен продолжать напирать, деформируясь все больше и больше.
Как я вижу решение - отметить у Collider'а свойство isTrigger. И обрабатывать OnTriggerEnter. А у него перед OnCollisionEnter есть большой недостаток. Он не знает ни точек контакта, ни силы. Оно и понятно. Он не для этого делался.
Короче, вопросы:
- Есть ли способ настроить InteractiveCloth, чтобы объект вел себя как лист металла?
- Можно ли заставить твердотелый объект не терять скорость и не менять траектории при ударе и при этом получать OnCollisionEnter? Я бы потом отпихнул его скриптом.
- Можно ли получить Collision из OnTriggerEnter?
- Можно ли проверить, пересекаются ли два коллидера, и если пересекаются, то где?