Unity

[Unity] Emission을 Script로 접근하기

Guk-blog 2019. 4. 4. 15:15
728x90
반응형

 

MeshRenderer mr = target_mat.GetComponent<MeshRenderer>();

//혹은

//Renderer mr = target_mat.GetComponent<Renderer>();
Material mat = mr.material;
mat.SetColor("_EmissionColor", Color.white);

불러오는 중입니다...

"_EmissionColor"를 수정하거나 제거하면 수정 안됨

Color.white 부분도 계산식을 통해 대입가능

예시)

Renderer renderer = GetComponent<Renderer> ();

Material mat = renderer.material;

 

float emission = Mathf.PingPong (Time.time, 1.0f);

Color baseColor = Color.yellow; 

Color finalColor = baseColor * Mathf.LinearToGammaSpace (emission);

 

mat.SetColor ("_EmissionColor", finalColor);

 

 

 

만약 Intensity도 같이 조정하고 싶다면

color에 원하는 Intensity 값을 곱해주면 된다

 

mat.SetColor ("_EmissionColor", Color.grey*1.2f);

728x90
반응형