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

Script language

Select your preferred scripting language. All code snippets will be displayed in this language.

Rigidbody.isKinematic

Suggest a change

Success!

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

Sumbission failed

For some reason your suggested change could not be submitted. Please try again in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.

Close

Cancel

マニュアルに切り替える
public var isKinematic: bool;
public bool isKinematic;

Description

物理演算の影響を受けるかどうか

isKinematic が有効化されていると、力、コリジョン、またはジョイントは Rigidbody により影響を受けなくなります。 アニメーションまたはスクリプトで transform.position を変更する方法のいずれかで、Rigidbody は完全に制御されるようになります。 Kinematic な物体もまた、コリジョンまたはジョイントを通じて他の Rigidbody の動作に影響します。 例.ジョイントを用いて Kinematic Rigidbody を通常の Rigidbody に接続できて、 Rigidbody は Kinematic Rigidbody の動作により制限されることになります。 さらに Kinematic Rigidbody により、通常アニメーションにより制御しているキャラクターを isKinematic を false にすることで、 特定のイベントの際に素早くラグドールに変更することができます。

var rb: Rigidbody;

function Start() { rb = GetComponent.<Rigidbody>(); }

function EnableRagdoll() { // Let the rigidbody take control and detect collisions. rb.isKinematic = false; rb.detectCollisions = true; }

function DisableRagdoll() { // Let animation control the rigidbody and ignore collisions. rb.isKinematic = true; rb.detectCollisions = false; }
using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour { public Rigidbody rb; void Start() { rb = GetComponent<Rigidbody>(); } void EnableRagdoll() { rb.isKinematic = false; rb.detectCollisions = true; } void DisableRagdoll() { rb.isKinematic = true; rb.detectCollisions = false; } }