Version: 2020.2
言語: 日本語
スクリプトでコンポーネントを作成する
タグ

ゲームオブジェクトの非アクティブ化

ゲームオブジェクトを非アクティブとマークすると、シーンから一時的にゲームオブジェクトを削除できます。これを行うには、Inspector に移動し、ゲームオブジェクトの名前の横にあるチェックボックスのチェックを外します (下の画像を参照)。または、スクリプトの ActiveSelf プロパティを使用します。

名前の隣にあるゲームオブジェクトをアクティブにするチェックボックス。赤いボックスでハイライトされています。
名前の隣にあるゲームオブジェクトをアクティブにするチェックボックス。赤いボックスでハイライトされています。

親ゲームオブジェクトの非アクティブ化

親ゲームオブジェクトを非アクティブにすると、その子ゲームオブジェクトもすべて非アクティブになります。

非アクティブにすると、すべての子オブジェクトの activeSelf 設定はオーバーライドされます。そのため、親以下の全階層が非アクティブになります。ここで注意することは、これで子オブジェクトの activeSelf プロパティの値が変わる訳ではないということです。したがって親が再びアクティブになれば、子は当初の状態に戻ります。

ノート: つまり、シーン内の子オブジェクトが現在アクティブであるかどうかは、その activeSelf プロパティでは判断できないということを意味しています。なぜなら、それがアクティブに設定されていたとしても、親の activeSelf プロパティが非アクティブの場合があるからです。

代わりに、シーン内で現在アクティブかどうかを判断したい場合は、activeInHierarchy プロパティを使用します。このプロパティでは、親のオーバーライド効果も考慮されています。

The selected GameObject (Cube) is set as active, but remains inactive because its parent is set to inactive
The selected GameObject (Cube) is set as active, but remains inactive because its parent is set to inactive
スクリプトでコンポーネントを作成する
タグ
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961