Version: 2019.1
public void AddForce (Vector2 force, ForceMode2D mode= ForceMode2D.Force);

Parameters

force@param force Компоненты силы по осям X и Y.
mode@param mode Метод используется для применения определенной силы.

Description

Применяет силу к твердому телу.

Сила точно определена как два отдельных компонента к направлении осей X и Y (в 2D физике нет направления по оси Z). Объект будет ускорен по силе в соответствии с законом "сила = масса * скорость" - чем больше масса, тем больше сила, требуемая для ускорения к данной скорости.

If you don’t specify a ForceMode2D the default will be used. The default in this case is ForceMode2D.Force which adds force over time, using mass.

To use the example scripts below, drag and drop your chosen script onto a Sprite in the Hierarchy. Make sure that the Sprite has a Rigidbody2D component.

See Also: AddForceAtPosition, AddTorque, mass, velocity, AddForce, ForceMode2D.

// The sprite will fall under its weight.  After a short time the
// sprite will start its upwards travel due to the thrust force that is added
// in the opposite direction

using UnityEngine; using System.Collections;

public class ExampleTwo : MonoBehaviour { private Rigidbody2D rb2D; private float thrust = 10.0f;

void Start() { rb2D = gameObject.AddComponent<Rigidbody2D>(); transform.position = new Vector3(0.0f, -2.0f, 0.0f); }

void FixedUpdate() { rb2D.AddForce(transform.up * thrust); } }
// For short bursts of force (such as an explosion) use ForceMode2D.Impulse
// This adds an instant force impulse to the Rigidbody2D, using mass

using System.Collections; using UnityEngine;

public class ExampleOne : MonoBehaviour { private Rigidbody2D rb2D; private float thrust = 10.0f;

private void Start() { rb2D = gameObject.AddComponent<Rigidbody2D>(); transform.position = new Vector3(0.0f, -2.0f, 0.0f); }

private void Update() { if (Input.GetKeyDown(KeyCode.Space)) { rb2D.AddForce(transform.up * thrust, ForceMode2D.Impulse); } } }
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961