お好みのスクリプト言語を選択すると、サンプルコードがその言語で表示されます。
Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.
Close爆発のエフェクトをシミュレートするためにRigidbodyに力を適用させます。爆発力はRigidbodyからの距離に応じて直線的に減少していきます
この関数はラグドールととても相性が良いです。
もし radius
が0の場合、Rigidbodyからどんなにから遠い position
にあっても減衰しない全ての力が適用されます。
explosionRadius
は下から押し上げるように力を適用します。
側面を押す代わりに爆発で持ち上げるようにするとクールな感じに見えますので役に立ちます。
値が2の時は爆発の位置は変えずに2メートルしたから押し上げられたような力を適用します。
explosionRadius
is the position from which the explosion force is to be applied.
explosionRadius
は爆発の半径です。Rigidbodyは explosionRadius
よりも遠くにある場合、影響を受けません。
var radius = 5.0; var power = 10.0; function Start () { // Applies an explosion force to all nearby rigidbodies var explosionPos : Vector3 = transform.position; var colliders : Collider[] = Physics.OverlapSphere (explosionPos, radius); for (var hit : Collider in colliders) { if (hit && hit.rigidbody) hit.rigidbody.AddExplosionForce(power, explosionPos, radius, 3.0); } }
using UnityEngine; using System.Collections; 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) { if (hit && hit.rigidbody) hit.rigidbody.AddExplosionForce(power, explosionPos, radius, 3.0F); } } }
import UnityEngine import System.Collections public class ExampleClass(MonoBehaviour): public radius as float = 5.0F public power as float = 10.0F def Start() as void: explosionPos as Vector3 = transform.position colliders as (Collider) = Physics.OverlapSphere(explosionPos, radius) for hit as Collider in colliders: if hit and hit.rigidbody: hit.rigidbody.AddExplosionForce(power, explosionPos, radius, 3.0F)