|
Silverlight中的HLSL不僅適用于場景與動畫渲染,對于游戲中的角色,我們同樣可以利用它制作動畫特寫。較常見的比如角色傳送時的淡入淡出、扭曲變形、幻化呈現等切換動畫,當然還有例如角色被DeBuff時所表現出來的放大縮小以及虛弱時的不規則體形等。適當的場合為角色增加動畫特寫使得游戲更顯精致而華麗,當玩家身心愉快的融入其中而流連忘返時,或許正是這些魔幻般的特效在背后默默的飄散著令人迷醉的芳香。
還記得Shazzam嗎?要制作特寫依舊離不開這款強大的工具,以角色的傳送特寫“幻降”為例,對應Shazzam中的現成特效名為:DirectionalBlur,我們不妨看看它的HLSL代碼:
float Angle : register(C0);
float BlurAmount : register(C1);
sampler2D Texture1Sampler : register(S0);
float4 main(float2 uv : TEXCOORD) : COLOR
{
float4 c = 0;
float rad = Angle * 0.0174533f;
float xOffset = cos(rad);
float yOffset = sin(rad);
for(int i=0; i<16; i++)
{
uv.x = uv.x - BlurAmount * xOffset;
uv.y = uv.y - BlurAmount * yOffset;
c += tex2D(Texture1Sampler, uv);
}
c /= 16;
return c;
}
NET技術:Silverlight 2.5D RPG游戲技巧與特效處理:(七)動畫特寫,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。