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
반응형
'Unity' 카테고리의 다른 글
[Unity]원하는 함수/코루틴 차례 대로 실행 시키기 - 간단한 방법 (0) | 2019.04.10 |
---|---|
[Unity] Coroutines이나 Invoke가 재실행 될 때 오브젝트가 delete됐다고 할 때 오류 해결 방법(삽질의 결과) (0) | 2019.04.08 |
[Unity] Post Processing 기능 정리 (0) | 2019.04.03 |
[Unity]멀티 디스플레이 VR적용하기(Multi Display - Window+VR) (0) | 2019.04.03 |
[Unity]UI 카메라와 메인 카메라 사용하기(UI Camera + Main Camera) (0) | 2019.04.03 |