internal static void GetBakedMeshProperties(
            this PhysicsShapeAuthoring shape, NativeList <float3> pointCloud, NativeList <int3> triangles, out Hash128 hashedInputs
            )
        {
            using (var inputs = new NativeList <HashableShapeInputs>(8, Allocator.TempJob))
            {
                shape.GetMeshProperties(pointCloud, triangles, true, inputs);
                shape.BakePoints(pointCloud);

                using (var hash = new NativeArray <Hash128>(1, Allocator.TempJob))
                    using (var allSkinIndices = new NativeArray <int>(0, Allocator.TempJob))
                        using (var allBlendShapeWeights = new NativeArray <float>(0, Allocator.TempJob))
                        {
                            var job = new GetShapeInputsHashJob
                            {
                                Result = hash,
                                ForceUniqueIdentifier = (uint)(shape.ForceUnique ? shape.GetInstanceID() : 0),
                                Material             = shape.GetMaterial(),
                                CollisionFilter      = shape.GetFilter(),
                                BakeFromShape        = shape.GetLocalToShapeMatrix(),
                                Inputs               = inputs,
                                AllSkinIndices       = allSkinIndices,
                                AllBlendShapeWeights = allBlendShapeWeights
                            };
                            job.Run();
                            hashedInputs = hash[0];
                        }
            }
        }
 internal static void GetBakedMeshProperties(
     this PhysicsShapeAuthoring shape, NativeList <float3> pointCloud, NativeList <int> triangles
     )
 {
     shape.GetMeshProperties(pointCloud, triangles);
     shape.BakePoints(pointCloud);
 }