版本: Unity 6 (6000.0)
语言English
  • C#

Rigidbody.GetAccumulatedForce

建议更改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们无法接受所有提交,但我们确实阅读了用户提出的每个建议更改,并在适用情况下进行更新。

关闭

提交失败

由于某些原因,您的建议更改无法提交。请<a>稍后再试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

切换到手册

声明

public Vector3 GetAccumulatedForce(float step = Time.fixedDeltaTime);

参数

step 下一个物理模拟的时间步长。

返回值

Vector3ForceMode.Force 表示的累积力。

描述

返回 Rigidbody 在模拟步骤之前累积的力。

在每次物理模拟步骤期间重置累积力。

using UnityEngine;

public class AddForceScript : MonoBehaviour { private Rigidbody rigidbody;

void Start() { rigidbody = GetComponent<Rigidbody>(); rigidbody.useGravity = false; }

private void FixedUpdate() { rigidbody.AddForce(Vector3.up * 10f, ForceMode.Impulse); var accumulatedForce = rigidbody.GetAccumulatedForce(); rigidbody.AddForce(accumulatedForce * -1f, ForceMode.Force); } }

在此示例中,Rigidbody 不移动。