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); }