本文整理汇总了C#中HkRigidBody.ApplyAngularImpulse方法的典型用法代码示例。如果您正苦于以下问题:C# HkRigidBody.ApplyAngularImpulse方法的具体用法?C# HkRigidBody.ApplyAngularImpulse怎么用?C# HkRigidBody.ApplyAngularImpulse使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类HkRigidBody
的用法示例。
在下文中一共展示了HkRigidBody.ApplyAngularImpulse方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ApplyImplusesWorld
private void ApplyImplusesWorld(Vector3? force, Vector3D? position, Vector3? torque, HkRigidBody rigidBody)
{
if (rigidBody == null)
return;
var offset = MyPhysics.Clusters.GetObjectOffset(ClusterObjectID);
if (force.HasValue && position.HasValue)
rigidBody.ApplyPointImpulse(force.Value, (Vector3)(position.Value - offset));
if (torque.HasValue)
rigidBody.ApplyAngularImpulse(torque.Value * MyEngineConstants.UPDATE_STEP_SIZE_IN_SECONDS * MyFakes.SIMULATION_SPEED);
}
示例2: AddForceTorqueBody
private static void AddForceTorqueBody(Vector3? force, Vector3? torque, HkRigidBody rigidBody, ref Matrix transform)
{
Matrix tempM = transform;
tempM.Translation = Vector3.Zero;
if (force != null && !MyUtils.IsZero(force.Value))
{
Vector3 tmpForce = Vector3.Transform(force.Value, tempM);
rigidBody.ApplyLinearImpulse(tmpForce * MyEngineConstants.UPDATE_STEP_SIZE_IN_SECONDS * MyFakes.SIMULATION_SPEED);
}
if (torque != null && !MyUtils.IsZero(torque.Value))
{
Vector3 tmpTorque = Vector3.Transform(torque.Value, tempM);
rigidBody.ApplyAngularImpulse(tmpTorque * MyEngineConstants.UPDATE_STEP_SIZE_IN_SECONDS * MyFakes.SIMULATION_SPEED);
}
}
示例3: ApplyImplusesWorld
private void ApplyImplusesWorld(Vector3? force, Vector3D? position, Vector3? torque, HkRigidBody rigidBody)
{
if (rigidBody == null)
return;
if (force.HasValue && position.HasValue)
rigidBody.ApplyPointImpulse(force.Value, (Vector3)(position.Value - Offset));
if (torque.HasValue)
rigidBody.ApplyAngularImpulse(torque.Value * VRage.Game.MyEngineConstants.UPDATE_STEP_SIZE_IN_SECONDS * MyFakes.SIMULATION_SPEED);
}