質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Q&A

0回答

438閲覧

enabledでのオブジェクトの非表示について

to_shi_0607

総合スコア26

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

0グッド

0クリップ

投稿2021/09/18 06:34

オブジェクトを順番に非表示にするスクリプトを初心者ながら、見よう見まねで作成しましたが、下記のようなエラーがでます。

MissingComponentException: There is no 'Renderer' attached to the "pipetter1 " game object, but a script is trying to access it.
You probably need to add a Renderer to the game object "pipetter1 ". Or your script needs to check if the component is attached before using it.

オブジェクトはfusion360で作成したデータでfbx形式です。確かに初期設定ではコンポーネントがなかったので、MeshRendereを加えてみましたが、駄目でした。このように初めからMeshが入っていないものを非表示にするにはSetActiveで非表示にするしかないのでしょうか?

コード using System.Collections; using System.Collections.Generic; using UnityEngine; public class pipetdirector : MonoBehaviour { public GameObject pipetter1; public GameObject pipetter2; Renderer _renderer; // Start is called before the first frame update void Start() { StartCoroutine("Part1disappear"); } // Update is called once per frame void Update() { } IEnumerator Part1disappear() { yield return new WaitForSeconds(1.0f); _renderer = pipetter1.GetComponent<Renderer>(); _renderer.enabled = false; StartCoroutine("Part2disappear"); Debug.Log("1"); } IEnumerator Part2disappear() { yield return new WaitForSeconds(1.5f); _renderer = pipetter2.GetComponent<Renderer>(); _renderer.enabled = false; Debug.Log("2"); }

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

bboydaisuke

2021/09/18 11:20

> 見よう見まねで作成しました これが、プログラミングの理屈がわかってない、ということなら説明してもわからなくて意味がないかもしれません。 Unity Editor で行った操作をスクリプトで書く、ということをすればよいです。enabled を false にする、ということはコンポーネントのチェックを外して無効にする、ということです。 普通に Editor からそのオブジェクトを見えなくする、という操作をしてみて、それをプログラミングすればよいです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問