Skip to content

Commit f4ee5a3

Browse files
author
Unity Technologies
committed
com.unity.physics@1.3.9
## [1.3.9] - 2025-01-16 ### Added * Added function `PhysicsVelocity.ApplyAngularImpulseWorldSpace` for applying angular impulse in world space ### Changed * New ConfigurableJoint baking code that is capable of converting motors about all axes, not just X * ConfigurableJoint baking won't create empty UnityJoint (with no constraints) for unlocked linear and angular degrees of freedom ### Fixed * The `Enable Integrity Checks` setting in the `Project Settings` under `Physics -> Unity Physics` now correctly reflects whether the integrity checks are enabled or disabled. Previously, the setting indicated the opposite.
1 parent 1154515 commit f4ee5a3

File tree

11 files changed

+539
-241
lines changed

11 files changed

+539
-241
lines changed

CHANGELOG.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,23 @@ uid: unity-physics-changelog
44

55
# Changelog
66

7+
## [1.3.9] - 2025-01-16
8+
9+
### Added
10+
11+
* Added function `PhysicsVelocity.ApplyAngularImpulseWorldSpace` for applying angular impulse in world space
12+
13+
### Changed
14+
15+
* New ConfigurableJoint baking code that is capable of converting motors about all axes, not just X
16+
* ConfigurableJoint baking won't create empty UnityJoint (with no constraints) for unlocked linear and angular degrees of freedom
17+
18+
### Fixed
19+
20+
* The `Enable Integrity Checks` setting in the `Project Settings` under `Physics -> Unity Physics` now correctly reflects whether the integrity checks are enabled or disabled. Previously, the setting indicated the opposite.
21+
22+
23+
724
## [1.3.8] - 2024-11-08
825

926

@@ -17,6 +34,7 @@ uid: unity-physics-changelog
1734
* Fixed an issue with collisions not getting re-enabled in Havok when deleting a joint that was disabling collisions between the affected rigid body pair.
1835

1936

37+
2038
## [1.3.5] - 2024-10-04
2139

2240
### Added

Documentation~/custom-motors.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -65,10 +65,10 @@ The General Rotation Motor Example is modified in the steps below to get around
6565
- `Axis` = (0, 0, -1). The axis that the pivot will rotate about. This data is baked into the `BodyFrame` axis of bodyA.
6666
- `Auto Configure Connected Anchor` = True. This is always baked as if True. The `BodyFrame` of bodyB (the `Connected Body`) will be automatically calculated from the `Axis` and `Anchor` of bodyA. If it is not enabled, the baking pipeline will calculate the `BodyFrame` for the `Connected Body` as if it were enabled. This setting takes the Anchor and Axis and calculates the position of the Connected Body relative to the body with the motor on it. If a design requires this to be false then the motor API method must be used (see section on Authoring via the C# API).
6767
- `Secondary Axis` = (0, 1, 0). This could also be (1, 0, 0), but it does need to be perpendicular to `Axis` (A check is done internally to verify this). This data is used by the baking pipeline to set up `BodyFrame` data.
68-
- `X / Y / Z Motion` = Locked. For an angular motor, these must be locked. Required by the baking pipeline.
69-
- `Angular X Motion` = Free. The baking pipeline currently requires this to be Free. (Applies to the primary `Axis` field).
70-
- `Angular Y Motion` = Locked. The baking pipeline currently requires this to be Locked. (Applies to the `Secondary Axis` field).
71-
- `Angular Z Motion` = Locked. The baking pipeline currently requires this to be Locked. (Applies to the axis perpendicular to both `Axis` and `Secondary Axis` field).
68+
- `X / Y / Z Motion` = Locked. For an angular motor, these must be locked.
69+
- `Angular X Motion` = Free. (Applies to the primary `Axis` field).
70+
- `Angular Y Motion` = Locked. (Applies to the `Secondary Axis` field).
71+
- `Angular Z Motion` = Locked. (Applies to the axis perpendicular to both `Axis` and `Secondary Axis` field).
7272
- `Angular X Drive`:
7373
- `Position Spring` = 987. This is the spring constant of the motor. It describes how 'bouncy' a motor will be when it converges to its target angle. This value will be baked and used by the solver.
7474
- `Position Damper` = 44. This is the damping coefficient of the motor. This value will be baked and used by the solver.
@@ -77,9 +77,9 @@ The General Rotation Motor Example is modified in the steps below to get around
7777
- `Break Force` = Infinity. This value is multiplied by 'fixedDeltaTime' to get an impulse. It is baked into 'MaxImpulse' for breakable events and applies only to linear non-motorized constraints.
7878
- `Break Torque` = Infinity. This value is multiplied by 'fixedDeltaTime' to get an impulse. It is baked into 'MaxImpulse' for breakable events and applies only to angular non-motorized constraints.
7979

80-
**Important!** Due to the complexity of the `Configurable Joint`component, the baking pipeline is only supporting a simplified use-case when authoring a rotational motor. It is only possible to apply a drive to the primary `Axis`. When selecting the DOF options, `X/Y/Z Motion` must each be set to Locked, `Angular Y/Z Motion` must be set to Locked and `Angular X Motion` must be set to Free.
81-
82-
Any other settings will result in an error message in the Console and the `Configurable Joint` baking will fail. The baking will not proceed until all errors have been resolved. To change the rotation direction of the motor, the `Axis` field must be used. Any drive settings in the Inspector that were not listed in the step-by-step instructions will not be baked. The `Target Rotation` field will only use the x-component data. If a joint is driven on either the secondary or tertiary axis, then it is advised to add another component to create that drive separately. Note that depending on the configuration, this may lead to unstable simulation.
80+
The `ConfigurableJoint` baking method supports locking, limiting and motorizing all of the individual degrees of freedom (such as about `Axis`, `Secondary Axis` and the remaining axis), as well as combining those in various ways. However, there are a few limitations that are worth noting:
81+
- Currently `Unity.Physics` doesn’t allow motorizing two or more linear velocity targets at the same time. If you set that up, they are still converted, but an error message is shown in the console and you will see the effect of the linear velocity motor that was added last.
82+
- The slerp rotational drive is not supported. When set, an error message is printed to the console, and the twist-swing motors are used instead.
8383

8484
### Authoring via the C# API
8585
The C# API to author a Rotation Motor is

0 commit comments

Comments
 (0)