SetActive以外で、ゲームオブジェクトを非表示にしたり表示したりする方法はありますか? | Unity Forum | Tech Stadium Forum

SetActive以外で、ゲームオブジ...
 
通知
すべてクリア

SetActive以外で、ゲームオブジェクトを非表示にしたり表示したりする方法はありますか?  

  RSS

Student
(@student)
メンバー Moderator
結合: 4年前
投稿: 1351
04/09/2020 1:23 pm  

SetActive以外で、ゲームオブジェクトを非表示にしたり表示したりする方法はありますか?
これを使って非表示にすると、インスペクターでゲームオブジェクトを取得しても最初から非表示であれば取得できなくなります。


引用
Teacher
(@admin)
メンバー Admin
結合: 5年前
投稿: 1318
04/09/2020 1:24 pm  

setActive以外の方法として、オブジェクトの透明度を変更する方法があります。
以下のURLが参考になると思われます。
https://mono-pro.net/archives/6226

スクリプトで変更する場合には、Renderermaterial.colorのアルファ値を変更することで透明度を変更することができます。
スクリプトで変更したい場合はこちらのURLを参考にしてください。
https://toburau.hatenablog.jp/entry/20170731/1501518531


返信引用
Student
(@student)
メンバー Moderator
結合: 4年前
投稿: 1351
04/09/2020 1:24 pm  

オブジェクトを視覚的に非表示にしたいのではなく、非表示にしたオブジェクトをインスペクターで取得する方法が知りたいです。


返信引用
Teacher
(@admin)
メンバー Admin
結合: 5年前
投稿: 1318
04/09/2020 1:25 pm  

最初から非アクティブのオブジェクトでも、インスペクター上で代入しておけばそのオブジェクトを取得できているはずです。


返信引用
Student
(@student)
メンバー Moderator
結合: 4年前
投稿: 1351
04/09/2020 1:25 pm  

GameObject.Findで取得したかったです


返信引用
Teacher
(@admin)
メンバー Admin
結合: 5年前
投稿: 1318
04/09/2020 1:25 pm  

スクリプト側で取得したいということですね。
非アクティブのオブジェクトはGameObject.Findでは取得できないので、代わりにTransform.Findを使う方法があります。
他には、GetRootGameObjectsを使って全てのオブジェクトを探し、その中から特定のオブジェクトを取得する方法もあります。
こちらのURLを参考にしてください。
https://www.sejuku.net/blog/53526


返信引用
Student
(@student)
メンバー Moderator
結合: 4年前
投稿: 1351
04/09/2020 1:25 pm  

ありがとうございます。


返信引用
共有:
タイトルとURLをコピーしました