在Unity3D中實作Diablo3的單位白色閃爍

Blizzard最近雖然在Game Design上的水準讓人不敢恭維,他們的工程能力倒是依然強大。在Diablo3裡,他們用了招簡單有效的方式,讓攻擊怪物的打擊感大幅提高:讓怪物在被打到的瞬間閃一下白色。

要怎樣在Unity3D中實作這種效果呢?其實只要透過一個簡單的Shader就可以了:

Shader "Custom/White" {
   Properties {
	    _Color ("Color", Color) = (1,1,1)
	}
 
 	SubShader {
	    Color [_Color]
	    Pass {}
	} 
	FallBack "Diffuse"
}

然後在怪物被打到的時候執行:

renderer.material.shader = Shader.Find("Custom/White");
yield return new WaitForSeconds(0.1f);
renderer.material.shader = Shader.Find("Diffuse");

就可以了

Advertisements