本文整理汇总了C#中HkdBreakableShape.GetMass方法的典型用法代码示例。如果您正苦于以下问题:C# HkdBreakableShape.GetMass方法的具体用法?C# HkdBreakableShape.GetMass怎么用?C# HkdBreakableShape.GetMass使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类HkdBreakableShape
的用法示例。
在下文中一共展示了HkdBreakableShape.GetMass方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ApplyImpulseToTreeFracture
public static void ApplyImpulseToTreeFracture(ref MatrixD worldMatrix, ref Vector3 hitNormal, List<HkdShapeInstanceInfo> shapeList, ref HkdBreakableShape compound, MyFracturedPiece fp, float forceMultiplier = 1.0f)
{
float mass = compound.GetMass();
Vector3 coMMaxY = Vector3.MinValue;
shapeList.ForEach(s => coMMaxY = (s.CoM.Y > coMMaxY.Y) ? s.CoM : coMMaxY);
Vector3 forceVector = hitNormal;
forceVector.Y = 0;
forceVector.Normalize();
Vector3 force = 0.3f * forceMultiplier * mass * forceVector;
fp.Physics.Enabled = true;//so we get the body in world
Vector3 worldForcePoint = fp.Physics.WorldToCluster(Vector3D.Transform(coMMaxY, worldMatrix));
fp.Physics.RigidBody.AngularDamping = MyPerGameSettings.DefaultAngularDamping;
fp.Physics.RigidBody.LinearDamping = MyPerGameSettings.DefaultLinearDamping;
fp.Physics.RigidBody.ApplyPointImpulse(force, worldForcePoint);
}