Гашение столкновения в пимунке

Есть ли способ смягчить столкновение у пимунка. Я пытаюсь смоделировать космические корабли, и когда они сталкиваются, они не должны просто отскакивать. Гравитация равна (0,0). Я хочу поглотить около 90% удара в основном, как если бы корпус рушился при столкновении.

Одна возможная вещь, о которой я подумал, - это то, что после пост-решения я могу прочитать импульс, используемый для решения столкновения, и взять 90% этого и противодействовать ему, получив чистое решение в 10%, но мне понадобятся отдельные угловая скорость и импульс регулярной скорости. .

Мне просто нужно поглощать импульс, а не терять энергию при столкновении. Его всегда переносят на другой объект.

Изменить: Хорошо, поэтому эластичность помогает отскоку, но передача энергии слишком высока. Предполагается, что энергия, которая будет передаваться, будет поглощена при столкновении смятия. Хотелось бы еще кое-что передать просто не много. Я все еще думаю об импульсе, потому что именно он меняет их скорости при столкновении. Но в зависимости от того, прямое ли это столкновение или просто клип, количество сильно различается.


person Kaliber64    schedule 17.11.2013    source источник


Ответы (1)


Вы хотите установить свойство эластичности фигур. Я считаю, что правильный способ сделать это в пимунке:

# Replace newElasticity with the elasticity value you want.
# e.g. shape.elasticity = 0.3;
shape.elasticity = newElasticity;

Для каждого столкновения две эластичности умножаются, и произведение определяет, насколько близко к упругому (product = 1,0) или неупругому (product = 0,0) столкновению будет полученное столкновение.

Если вы хотите, чтобы столкновение составляло 10% от упругого столкновения, вам нужно установить эластичность на sqrt (0,1), что примерно равно 0,3.

person godel9    schedule 17.11.2013
comment
Ok. Так что это определенно помогает, но я хочу лучше объяснить, что это такое. - person Kaliber64; 21.11.2013
comment
@ Kaliber64 А ниже эластичность пробовали? Если вы дойдете до нуля, объекты будут слипаться после столкновения. - person godel9; 21.11.2013
comment
Он на нуле. Он просто не дает тому, кто движется быстрее, отскочить после столкновения. Другой объект поглощает часть первого импульса. Я не хочу так сильно передавать. - person Kaliber64; 22.11.2013
comment
@ Kaliber64 Просто чтобы еще раз проверить ... Вы пробовали изменять эластичность от 0,0f до 0,5f, но не можете найти настройку, которая работает? Как вы ставите массы? - person godel9; 22.11.2013
comment
Это работает. Эластичность не делает то, что я хочу. Обычно, когда происходит столкновение, 90% или около того энергии просто удаляются. Это невозможно с атрибутами формы. Я устанавливаю массы на основе атм. Одна кубическая площадь равна одной массе. В настоящее время масса прямо пропорциональна размеру / площади. - person Kaliber64; 22.11.2013