Version: 5.3 (switch to 5.4b)
言語English
  • C#
  • JS

スクリプト言語

好きな言語を選択してください。選択した言語でスクリプトコードが表示されます。

Rigidbody.AddForceAtPosition

フィードバック

ありがとうございます

この度はドキュメントの品質向上のためにご意見・ご要望をお寄せいただき、誠にありがとうございます。頂いた内容をドキュメントチームで確認し、必要に応じて修正を致します。

閉じる

送信に失敗しました

なんらかのエラーが発生したため送信が出来ませんでした。しばらく経ってから<a>もう一度送信</a>してください。ドキュメントの品質向上のために時間を割いて頂き誠にありがとうございます。

閉じる

キャンセル

マニュアルに切り替える
public function AddForceAtPosition(force: Vector3, position: Vector3, mode: ForceMode = ForceMode.Force): void;
public void AddForceAtPosition(Vector3 force, Vector3 position, ForceMode mode = ForceMode.Force);
public function AddForceAtPosition(force: Vector3, position: Vector3, mode: ForceMode = ForceMode.Force): void;
public void AddForceAtPosition(Vector3 force, Vector3 position, ForceMode mode = ForceMode.Force);

パラメーター

force ワールド座標における力のベクトル
position ワールド座標における位置

説明

特定の位置から力を適用します。結果、これはトルクを適用しオブジェクトに力を加えます

リアルな効果を実現するために position は rigidbody 表面の範囲内にほぼ収まっているべきです。 これは、爆発を表現する際には最も一般的に使用されます。爆発を適用するときには、一度だけではなく、複数回適用するのが一番いいです。 position が Rigidbody の中心から離れている際は適用される回転運動が非現実的に大きなものになることに注意してください。

力は、アクティブのリジッドボディにのみ適用することができます。ゲームオブジェクトが非アクティブの場合、AddForceAtPosition は効果がありません。

リジッドボディはデフォルトでスリープ状態から起き上がります。力のサイズが 0 の場合、リジッドボディはスリープのままです。

See Also: AddForce, AddRelativeForce, AddTorque.

	function ApplyForce (body : Rigidbody) {
		var direction : Vector3 = body.transform.position - transform.position;
		body.AddForceAtPosition(direction.normalized, transform.position);
	}
using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour { void ApplyForce(Rigidbody body) { Vector3 direction = body.transform.position - transform.position; body.AddForceAtPosition(direction.normalized, transform.position); } }