FC2ブログ

凛(kagring)のUE4/UE5とUnityとQt勉強中のゲーム制作ブログ

2016 年から UE4 / 2021年から UE5 を触り始めました。勉強したもののメモ用のブログです。C++ での Qt、Unity も少しあります。ゲーム制作の話題もはじめました。

PREV | PAGE-SELECT | NEXT

≫ EDIT

GameObject の取得(非アクティブ時含む)

スクリプトを覚えてきたので
アクティブと非アクティブな状態を切り替えてみようと思いました。

普通にゲームオブジェクトを取得してやろと下記のコードを書いてみると。

// GameObject を名前で取得
GameObject gameObject = GameObject.Find("Name");
gameObject.SetActive(false);


とすると、無事非アクティブ状態にすることができました。

で、この反対に非アクティブなゲームオブジェクトをアクティブにしようと思ったのですが
GameObject.Find()では非アクティブなものを検索できない
ということのようです。

ネットを検索してみるとこういうものがありました。
http://oreunity.blogspot.jp/2013/06/blog-post.html

どうも「子の検索」「階層で検索」というものがあるようなので
ちょうどモデルはタスクとしてのスクリプトの子に配置してあったので

// GameObject を名前で取得
GameObject gameObject = this.transform.Find("Name").gameObject;
gameObject.SetActive(true);


といった感じで非アクティブなゲームオブジェクトを取得することができました。
ちょっと面倒ではありますね…。

というわけで、無事キャラクターを切り替えることができました。
本来は動的に生成するのが良いのですが今後ということで。

ビュアー作成中

| Unity | 23:14 | comments:0 | trackbacks:0 | TOP↑

COMMENT















非公開コメント

TRACKBACK URL

http://kagring.blog.fc2.com/tb.php/4-7c9ed96e

TRACKBACK

PREV | PAGE-SELECT | NEXT