using System.Collections;

using System.Collections.Generic;

using UnityEngine;


public class MaterialTest : MonoBehaviour {

public SkinnedMeshRenderer skin;

// Use this for initialization

void Start () {

  skin.GetComponent<SkinnedMeshRenderer>().material.color = Color.black;  // 첫 번째 방법


for (int i = 0; i < 2; i++) {                                                                                    // 두 번째 방법

skin.GetComponent<SkinnedMeshRenderer> ().materials [i].color = Color.black;

}

}

}



1. 첫번째 방법  


skin.GetComponent<SkinnedMeshRenderer>().material.color = Color.black;

쉽게 말하면, material이 한 개일 경우에 이렇게 사용한다. 그냥 material을 호출하면 자동으로 인식되는 경우이다.


2. 두번째 방법


for (int i = 0; i < 2; i++) {                                                                                    // 두 번째 방법

skin.GetComponent<SkinnedMeshRenderer> ().materials [i].color = Color.black;

}


쉽게 말하면, material이 여래 개일 경우에 이렇게 사용한다. 


유니티에서는 보통 materials라 나오며 배열로 표기된다. 

 

이럴 경우에는 for문을 사용해서 material의 갯수만큼 반복하며 material을 조작할 수 있다.


위 코드의 경우 매티러얼이 2개이므로 materials [0] 과 materials [1]을 각각 반복하였다.


이상으로 스크립트에서 material을 사용하는 방법에 대해 알아봤다.

Posted by sungho88
,