Unity のマテリアルをスクリプトで切り替える
Unity のマテリアルをキーボードで切り替えたいなーってスクリプトを書く。
OS: Windows10 Unity: 2017.1.0f3
とかで基礎。
でスクリプトをオブジェクトに張り付ける方法をお勉強。
に書いてあるベストアンサーのを基本的には利用してスクリプトを書く。
変更点
スクリプトのファイル名を Test にしたので、5行目を
public class Test : MonoBehaviour{
に書き換え
(ファイル名の1文字目は大文字じゃないとだめ)1行目の
using UnityEngine;
は3行目と被ってるので削除。5種類のマテリアルを使いたかったので20行目を
if (i == 5) {
に書き換え日本語のコメントアウト部分は削除
Test.cs
using System.Collections; using UnityEngine; public class Test : MonoBehaviour{ public Material[] _material; private int i; // Use this for initialization void Start () { i = 0; } // Update is called once per frame void Update () { if (Input.GetKeyUp(KeyCode.Space)) { i++; if (i == 5) { i = 0; } this.GetComponent<Renderer>().sharedMaterial=_material[i]; } } }
注意
エディタは Visual Studio ではなく Monodevelop を使用(日本語環境はまずそう)
(Edit → Preferences → External Tools あたりでプルダウンして変更。VSC オプション警告は無視。)ときどき
No MonoBehaviour scripts in the file ,or their names do not match the file name.
とか言ってくるけどスクリプト削除してもっかいイチからやりなおせば直る……かも?