|
Silverlight中的HLSL不僅適用于場(chǎng)景與動(dòng)畫(huà)渲染,對(duì)于游戲中的角色,我們同樣可以利用它制作動(dòng)畫(huà)特寫(xiě)。較常見(jiàn)的比如角色傳送時(shí)的淡入淡出、扭曲變形、幻化呈現(xiàn)等切換動(dòng)畫(huà),當(dāng)然還有例如角色被DeBuff時(shí)所表現(xiàn)出來(lái)的放大縮小以及虛弱時(shí)的不規(guī)則體形等。適當(dāng)?shù)膱?chǎng)合為角色增加動(dòng)畫(huà)特寫(xiě)使得游戲更顯精致而華麗,當(dāng)玩家身心愉快的融入其中而流連忘返時(shí),或許正是這些魔幻般的特效在背后默默的飄散著令人迷醉的芳香。
還記得Shazzam嗎?要制作特寫(xiě)依舊離不開(kāi)這款強(qiáng)大的工具,以角色的傳送特寫(xiě)“幻降”為例,對(duì)應(yīng)Shazzam中的現(xiàn)成特效名為: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技術(shù):Silverlight 2.5D RPG游戲技巧與特效處理:(七)動(dòng)畫(huà)特寫(xiě),轉(zhuǎn)載需保留來(lái)源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。