Ejemplo n.º 1
0
        public static Aabb TransformAabb(float4x4 transform, float3 center, float3 extents)
        {
            float3 worldCenter  = math.transform(transform, center);
            float3 worldExtents = LatiosMath.RotateExtents(extents, transform.c0.xyz, transform.c1.xyz, transform.c2.xyz);

            return(new Aabb(worldCenter - worldExtents, worldCenter + worldExtents));
        }
Ejemplo n.º 2
0
        public static Aabb CalculateAabb(CompoundCollider compound, RigidTransform transform)
        {
            var    local = compound.compoundColliderBlob.Value.localAabb;
            float3 c     = (local.min + local.max) / 2f;
            //BoxCollider box   = new BoxCollider(c, local.max - c);
            //return CalculateAabb(box, transform);

            float3 extents = local.max - c;

            var rotMatrix    = new float3x3(transform.rot);
            var worldExtents = LatiosMath.RotateExtents(extents, rotMatrix);
            var worldCenter  = math.transform(transform, c);
            return new Aabb(worldCenter - worldExtents, worldCenter + worldExtents);
        }