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
반응형