Unity
[Unity] Spine 오브젝트 tint/dark color 변경하기
bugwasd
2020. 11. 24. 21:11
unity 에서 spine 오브젝트 material의 tint color 와 dark color 를 변경하는 방법 입니다
우선 shader를 Spine/Skeleton Tint 로 변경해 줍니다
코드는 다음과 같습니다
private MeshRenderer _renderer;
private MaterialPropertyBlock _block;
void Start()
{
_renderer = GetComponent<MeshRenderer>();
_block = new MaterialPropertyBlock();
_renderer.SetPropertyBlock(_block);
int id = Shader.PropertyToID("_Black");
_block.SetColor(id, Color.red);
_renderer.SetPropertyBlock(_block);
}
여기서 PropertyToId 를 "_Color" 라고 할 경우 Tint Color를, "_Black" 이라고 할 경우 Dark Color 를 변경할 수 있습니다
MaterialPropertyBlock 을 이용하여 원하는 색을 적용시켜 주면 됩니다
이를 반복문으로 구현하면 이런식으로 데미지를 받는 것 같은 효과를 줄 수 있습니다