フィードバック
ありがとうございます
この度はドキュメントの品質向上のためにご意見・ご要望をお寄せいただき、誠にありがとうございます。頂いた内容をドキュメントチームで確認し、必要に応じて修正を致します。
閉じる
送信に失敗しました
なんらかのエラーが発生したため送信が出来ませんでした。しばらく経ってから<a>もう一度送信</a>してください。ドキュメントの品質向上のために時間を割いて頂き誠にありがとうございます。
閉じる
マニュアルに切り替える
public function
AddExplosionForce(
explosionForce:
float,
explosionPosition:
Vector3,
explosionRadius: float,
upwardsModifier: float = 0.0F,
mode:
ForceMode = ForceMode.Force):
void;
public void
AddExplosionForce(float
explosionForce,
Vector3 explosionPosition,
float
explosionRadius,
float
upwardsModifier = 0.0F,
ForceMode mode = ForceMode.Force);
public function
AddExplosionForce(
explosionForce:
float,
explosionPosition:
Vector3,
explosionRadius: float,
upwardsModifier: float = 0.0F,
mode:
ForceMode = ForceMode.Force):
void;
public void
AddExplosionForce(float
explosionForce,
Vector3 explosionPosition,
float
explosionRadius,
float
upwardsModifier = 0.0F,
ForceMode mode = ForceMode.Force);
public function
AddExplosionForce(
explosionForce:
float,
explosionPosition:
Vector3,
explosionRadius: float,
upwardsModifier: float = 0.0F,
mode:
ForceMode = ForceMode.Force):
void;
public void
AddExplosionForce(float
explosionForce,
Vector3 explosionPosition,
float
explosionRadius,
float
upwardsModifier = 0.0F,
ForceMode mode = ForceMode.Force);
パラメーター
| explosionForce |
爆発の力(距離によって変更される可能性あり) |
| explosionPosition |
爆発の影響があるエリア内の中心 |
| explosionRadius |
爆発の影響があるエリア内の球体の半径 |
| upwardsModifier |
オブジェクトを持ち上げたように見せる爆発の見かけ上の位置に対する調整 |
| mode |
ターゲットに力を適用するのに使用される方法 |
説明
爆発のエフェクトをシミュレートするために Rigidbody に力を適用させます。
爆発は、ワールド空間における爆発影響が及ぶ範囲や特定の中心位置でオブジェクト範囲としてモデル化されます。通常、オブジェクト範囲外では、爆発による影響は受けません。また、力は中心から遠ざかるにしたがって減少します。しかし、0 の値が Radius に渡された場合、リジッドボディから中心まで遠いにかかわらず最大限の力が適用されます。
デフォルトでは、力の方向は爆発の中心からリジッドボディの質量中心に向かっていくラインです。upwardsModifier パラメータに非 0 の値を渡した場合、方向は中心点の Y コンポーネントからの値を引いて変更されます。例えば、upwardsModifier の2.0 の値を渡した場合、爆発は力の方向を算出する目的で、実際の位置2.0以下のユニットが中心になるように見えます(すなわち、爆発影響の中心と半径は変更されません)。このパラメータを使用すると、単に外部へ向かう力よりしばしば劇的な演出効果を与えることができる空中の上方にオブジェクトを投げるように見える爆発を簡単に作ることができます。
力は、アクティブのリジッドボディにのみ適用することができます。ゲームオブジェクトが非アクティブの場合、AddExplosionForce は効果がありません。
using UnityEngine;
using System.Collections;
// Applies an explosion force to all nearby rigidbodies
public class ExampleClass : MonoBehaviour {
public float radius = 5.0F;
public float power = 10.0F;
void Start() {
Vector3 explosionPos = transform.position;
Collider[] colliders = Physics.OverlapSphere(explosionPos, radius);
foreach (Collider hit in colliders) {
Rigidbody rb = hit.GetComponent<Rigidbody>();
if (rb != null)
rb.AddExplosionForce(power, explosionPos, radius, 3.0F);
}
}
}