オブジェクトを順番に非表示にするスクリプトを初心者ながら、見よう見まねで作成しましたが、下記のようなエラーがでます。
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"); }
あなたの回答
tips
プレビュー