Skip to content

Commit c831458

Browse files
authored
Merge pull request #56 from Autumn60/fix/imuAccCalc
Fix imu calc
2 parents 7340276 + f3de91b commit c831458

File tree

2 files changed

+18
-2
lines changed

2 files changed

+18
-2
lines changed

Assets/UnitySensors/Runtime/Scripts/Sensors/IMU/IMUSensor.cs

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,13 +30,19 @@ public class IMUSensor : Sensor
3030
public Vector3 angularVelocity { get => _angularVelocity; }
3131

3232
public Vector3 localVelocity { get => _transform.InverseTransformDirection(_velocity); }
33-
public Vector3 localAcceleration { get => _transform.InverseTransformDirection(_acceleration); }
33+
public Vector3 localAcceleration { get => _transform.InverseTransformDirection(_acceleration.normalized) * _acceleration.magnitude; }
3434

3535
private float _dt { get => base._frequency_inv; }
3636

37+
private Vector3 _gravity;
38+
private float _gravityMagnitude;
39+
3740
protected override void Init()
3841
{
3942
_transform = this.transform;
43+
44+
_gravity = Physics.gravity;
45+
_gravityMagnitude = _gravity.magnitude;
4046
}
4147

4248
protected override void UpdateSensor()
@@ -46,7 +52,7 @@ protected override void UpdateSensor()
4652

4753
_velocity = (_position - _position_last) / _dt;
4854
_acceleration = (_velocity - _velocity_last) / _dt;
49-
_acceleration += _transform.InverseTransformVector(Physics.gravity);
55+
_acceleration += _transform.InverseTransformVector(_gravity).normalized * _gravityMagnitude;
5056

5157
Quaternion rotation_delta = Quaternion.Inverse(_rotation_last) * _rotation;
5258
rotation_delta.ToAngleAxis(out float angle, out Vector3 axis);

Assets/UnitySensors/Samples/IMU/IMU.unity

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -313,6 +313,16 @@ PrefabInstance:
313313
propertyPath: m_RootOrder
314314
value: 2
315315
objectReference: {fileID: 0}
316+
- target: {fileID: 8550806465241961968, guid: 884f57c81164231419af9316aaca015d,
317+
type: 3}
318+
propertyPath: m_LocalScale.y
319+
value: 1
320+
objectReference: {fileID: 0}
321+
- target: {fileID: 8550806465241961968, guid: 884f57c81164231419af9316aaca015d,
322+
type: 3}
323+
propertyPath: m_LocalScale.z
324+
value: 1
325+
objectReference: {fileID: 0}
316326
- target: {fileID: 8550806465241961968, guid: 884f57c81164231419af9316aaca015d,
317327
type: 3}
318328
propertyPath: m_LocalPosition.x

0 commit comments

Comments
 (0)