freezy / freezy/VisualPinball.Engine

Use LivecatchBounceMultiplier to reduce angular momentum instead of nulling it.

Open
#439 0 comments 0 reactions 1 assignee Claimed by @Cupiii View on GitHub
enhancement help wanted physics
Dominant language
C#
Stars
508
Forks
73
Avg merge
43m
Merged PRs (30d)
3

Description

Currently, if a livecatch happens, angular momentum (only for x and y) is nulled, while livecatchbounceMultiplier is only used on velocity.

It could be tested, if the livecatches feel better, when the liveCatchBounceMultiplier (which is for example 0.2 for a slightly inaccurate livecatch) is not only applied to velocity, but also to the angular momentum.

```
ball.Velocity -= collEvent.HitNormal * normalSpeed * liveCatchBounceMultiplier;
ball.AngularMomentum.x = 0;
ball.AngularMomentum.y = 0;
```
-->
```
ball.Velocity -= collEvent.HitNormal * normalSpeed * liveCatchBounceMultiplier;
ball.AngularMomentum.x *= liveCatchBounceMultiplier;
ball.AngularMomentum.y *= liveCatchBounceMultiplier;
```

possibly only angular momentum in the direction of the collision-normal could be reduced. (like for velocity, or the same amount of the overall velocity reduction, otherwise calculation would be quite hard.)

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.