You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Changelog
[1.3.1] - 2023-07-12
Added
- Added
math.square
to compute the square (x * x).
- Added
math.orthonormal_basis
to compute an orthonormal basis from a single unit length vector.
- Added
math.sign
for int, int2, int3 and int4.
- Added
math.chgsign
for float, float2, float3, and float4.
- Added
math.Euler
to convert a quaternion to Euler angles.
- Added
math.angle
to compute the angle between two unit quaternions.
- Added
math.rotation
to extract a quaternion rotation from a float3x3 (that may have scale).
- Added
math.mulScale
to scale columns of a float3x3 with scaling coefficients in a float3.
- Added
math.scaleMul
to scale rows of a float3x3 with scaling coefficients in a float3.
- Added
AffineTransform
type.
- Added
PI2
, PIHALF
, TAU
, TODEGREES
and TORADIANS
constants.
Changed
asfloat(uint)
, asuint(float)
, asint(float)
and other related methods are now faster in mono without Burst. Other methods which use these will see a performance improvement.
- Modified
quaternion.nlerp
to be branchless.
- More descriptive parameter names for many methods in
math
class.
- Made
Il2CppEagerStaticClassConstructionAttribute
internal to avoid conflicts with other definitions outside of the package.
[1.2.6] - 2022-02-11
Changed
- Made Il2CppEagerStaticClassConstructionAttribute internal to avoid conflicts with other definitions outside of the package.
[1.2.5] - 2021-11-01
Fixed
- Fixed property drawing when manually drawing a property that was hidden with [HideInInspector].
[1.2.4] - 2021-09-22
Added
- Added
[Il2CppEagerStaticClassConstruction]
to Unity.Mathematics types to run static constructors at startup. This improves IL2CPP performance slightly for types that have static constructors.
Changed
- License file updated to satisfy Unity’s package validation tests.
- Changed noise documentation in comments to xmldoc comments.
Fixed
- Fixed Equals(object) override which did not check type before casting. This could cause exceptions to be thrown when the object did not match the expected type.
- Fixed incorrect
math.tzcnt
documentation which mentioned leading zero counts instead of trailing zero counts.
- Fixed
float2x2.Rotate
documentation to mention radians instead of degrees.
- Fixed documentation for methods and properties that were previously undocumented.
[1.2.1] - 2020-08-06
Fixed
- Fixed warnings for meta files existing even though the files they represent did not exist.
Internal (Not ready for production)
[1.2.0] - 2020-08-03
Added
- Added
[MethodImpl(MethodImplOptions.AggressiveInlining)]
to many static functions to improve IL2CPP performance.
- Added
compress()
that accepts a float4
and uint4
.
- Added
math.project()
and math.projectsafe()
for vector projection.
- Added
math.EPSILON
, math.INFINITY
, math.NAN
and their double counterparts.
- Added
[Serializable]
to RigidTransform
.
- Added
math.ceillog2()
.
- Added
math.floorlog2()
.
- Added
math.down()
, math.forward()
, etc for Cartesian coordinate axes that match UnityEngine Vector3 equivalents.
- Added
math.ispow2()
.
- Added
half.MinValueAsHalf
and half.MaxValueAsHalf
to avoid having to explicitly convert from float.
- Added a
float3x3
constructor which takes a float4x4
as input.
- Added
[Serializable]
to half types.
- Added some performance tests which can be run from the Unity test project.
- Added
Random.CreateFromIndex()
to assist in creating Random instances from loop indices.
Fixed
- Fixed documentation bug where
quaternion.RotateX/Y/Z
referred to a float4x4
instead of quaternion.
- Fixed code generation bugs which could cause Windows and Mac to generate different test code.
- Fixed some test asserts which used NaNs and signed zeros which failed in IL2CPP builds.
- Updated documentation for
math.countbits()
to include equivalent names on Intel and ARM architectures to aid in discoverability.
Internal (Not ready for production)
- Added
Unity.Mathematics.Geometry.Plane
to represent planes in 3D space.
- Added more
MinMaxAABB
functionality from Unity.Physics.Aabb
.
- Added
Unity.Mathematics.Geometry.Math
to hold static functions like AABB transformations.
- Added
MinMaxAABB
.
[1.1.0] - 2019-07-08
[1.1.0-preview.1] - 2019-06-27
- Add new math.bitmask to return a bit mask from a bool4
[1.0.1] - 2019-04-15
- Release stable version
- Modify all math constants (e.g
math.PI
) to provide float constant by default instead of double. Use for example math.PI_DBL
to get the previous double constant.
[1.0.0-preview.1] - 2019-02-28
- Fixed bug where modifications on prefabs could not be reverted for vector properties when using context menu in Inspector.
- Fixed structure of the package for internal validation