Silverlight“.NET研究” 2.5D RPG游戏技巧与特效处理:(七)动画特写

  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;
}

  仅仅十来行不到1KB的代码,将之按照第5节的方法配置进游戏项目后,在角色传送结束时我们便通过Storyboard创建基于DirectionalBlur参数为BlurAmount的动画实现360任意角度的幻影过度动画特写:


DirectionalBlur directionalBlur = new DirectionalBlur() { Angle = 90 };
entity.Effect = directionalBlur;
Storyboard blurStoryboard =上海企业网站制作 new Storyboard();
DoubleAnimation doubleAnimation = new DoubleAnimation() {
From = -0.25,
T上海企业网站设计与制作o = 0,
Duration = new Duration(TimeSpan.FromMilliseconds(600)),
};
Storyboard.SetTarget(doubleAnimation, directionalBlur);
Storyboard.SetTargetProperty(doubleAnimation, new PropertyPath("BlurAmount"));
blurStoryboard.Children.Add(doubleAnimation);
EventHandler handler = null;
blurStoryboard.Completed +=上海闵行企业网站制作span> handler = (s1, e1) => {
Storyboard sb = s1 as Storyboard;
sb.Stop();
sb.Completed -= handler;
entity.Effect = null;
};
blurStoryboard.Begin(); 

  某些场合为了突出玩家隆重登场,我们通常还会使用到比如“影合”(GrowablePoissonDisk)的动画特写:无数个角色的重影由四面八方汇聚而来,如同灵魂与力量的回归附体:

  某些时候角色从一个空间向另外一个空间穿梭,虚幻的感受是身体被分解成粒子最终从下至上又被重新组合,此时常会用到“新生”(CircleReveal)动画特写来描述这样一个穿越生死的经历:

  除此之外,类似百叶窗的切片特写以及波动扭曲特写在表述特定魔法效果时同样可以起到锦上添花之功效:

 

  到此为止,本系列Demo中已集成了10数款精炼而实用的HLSL渲染特效,单独的存放于名为Effects的项目中,使用起来非常简便。无论是企业应用亦或是游戏开发;无论是将之用于窗体的渲染,还是用于场景、动画、角色的动画特写都显得游刃有余:

  当然,发自内心的希望更多的Silverlight开发者能融入到HLSL的编写中,实现并分享更多更加炫酷的动画特效为Silverlight将来一统三端打下基础。不远了,Silverlight 5 发布后游戏开发都会易如反掌,一切特效在上海闵行企业网站设计与制作n上海徐汇企业网站制作g="EN-US">Silverlight面前将一文不值。我始终坚信:追求极致的心必定银光四射上海徐汇企业网站设计与制作 lang="EN-US">,长空千里!

  本节源码下载地址:Demo6.rar

  在线演示地址:http://silverfuture.cn

时间: 2024-09-21 04:40:47

Silverlight“.NET研究” 2.5D RPG游戏技巧与特效处理:(七)动画特写的相关文章

Silverlight“.NET研究” 2.5D RPG游戏技巧与特效处理:(十)空间分层战斗系统

提到RPG中的空战系统,首先想到的当然是3D,这方面可是它的绝活.比如以之为核心噱头的<永恒之塔>:当然,在2.5D网游中也有着类似的实现,像<上海徐汇企业网站制作n lang="EN-US">西游记Online>,不过该游戏的空战仅仅是将战场(场景)变换到了空中而已,地面呈现的仅是会动的背景,类似的功能其实早就已出现在<大话西游>系列等著名的2D游戏中. 本节我将引领大家在教程Demo的基础上通过简单的修改轻松实现完美的天空.大地之空间分层战

Silverlight“.NET技术” 2.5D RPG游戏技巧与特效处理:(十)空间分层战斗系统

提到RPG中的空战系统,首先想到的当然是3D,这方面可是它的绝活.比如以之为核心噱头的<永恒之塔>:当然,在2.5D网游中也有着类似的实现,像<西游记Online>,不过该游戏的空战仅仅是将战场(场景)变换到了空中而已,地面呈现的仅是会动的背景,类似的功能其实早就已出现在<大话西游>系列等著名的2D游戏中. 本节我将引领大家在教程Demo的基础上通过简单的修改轻松实现完美的天空.大地之空间分层战斗系统:当主角飞入天空时,隔着云雾我们能依稀鸟瞰地面上的一切角色.动画等的一

Silverlight 2“.NET技术”.5D RPG游戏技巧与特效处理:(七)动画特写

Silverlight中的HLSL不仅适用于场景与动画渲染,对于游戏中的角色,我们同样可以利用它制上海网站建设作动画特写.较常见的比如角色传送时的淡入淡出.扭曲变形.幻化呈现等切换动画,当然还有例如角色被DeBuff时所表现出来的放大缩小以及虚弱时的不规则体形等.适当的场合为角色增加动画特写使得游戏更显精致而华丽,当玩家身心愉快的融入其中而流连忘返时,或许正是这些魔幻般的特效在背后默默的飘散着令人迷醉的芳香. 还记得Shazzam吗?要制作特写依旧离不开这款强大的工具,以角色的传送特写"幻降&q

Silverlight 2.5D RPG游戏技巧与特效处理:“.NET研究”(四)天气系统

如同动态光影一样,天气系统同样为2.5D RPG游戏所不可或缺的元素之一.从视觉角度讲,天气系统让游戏场景空间层次分明,立体感更强:从用户角度讲,天气系统赋予游戏更贴近现实的亲历体验,试想下游戏中的花花草草随风而动,云雾缭绕风雨雷电一切来得自然而平滑,玩家即似身临其境般享受:从功能角度讲,不同的气候状况会对角色及魔法效果产生各异影响,极大的提升游戏趣味性.  模拟相对较真实的天气效果,粒子系统必不可少,天气中的雨.雪.闪电.云雾等均可看做是大量粒子的集合.因此首先我们新建一个名为Particle

一起谈.NET技术,Silverlight 2.5D RPG游戏技巧与特效处理:(四)天气系统

如同动态光影一样,天气系统同样为2.5D RPG游戏所不可或缺的元素之一.从视觉角度讲,天气系统让游戏场景空间层次分明,立体感更强:从用户角度讲,天气系统赋予游戏更贴近现实的亲历体验,试想下游戏中的花花草草随风而动,云雾缭绕风雨雷电一切来得自然而平滑,玩家即似身临其境般享受:从功能角度讲,不同的气候状况会对角色及魔法效果产生各异影响,极大的提升游戏趣味性.  模拟相对较真实的天气效果,粒子系统必不可少,天气中的雨.雪.闪电.云雾等均可看做是大量粒子的集合.因此首先我们新建一个名为Particle

Silverlight 2.5D RPG游戏技巧与特效处理:(五“.NET研究”)圣赞之HLSL渲染动画

或许大家依旧对上一节中的"黑夜"及"梦回过去"记忆犹新,追问下去HLSL到底是何方神圣能实现如此炫酷之效果?HLSL(高级着色器语言)an>作为微软的独门兵器,仅供Direct3D使用.Silverlight无比幸运,从第二个版本开始便已获得了这把旷世利器,虽然目前仅能发挥其不到3层之功力,不过前辈Moonlight近期已向世界宣布全面突破技术壁垒,HLSL的威力提升至7层左右.我们完全可以预料的是,未来Silverlight将手握HLSL,踏着GPU 3D

Silverlight 2.“.NET研究”5D RPG游戏技巧与特效处理:(二)纸娃娃系统

纸娃娃系统,或许大家听起来并不陌生.早在十几年前,当时不论是文字游戏"泥巴(Mud)"或是交友.社交网站,我们只能通过屏幕上的文字来传达与交互信息:随着技术不断进步,2D/3D图形技术高速崛起,通过在基础模型上由客户随意挑选.任意更换各种造型(素材),即可打造出真正属于"自我"独特风格的网络虚拟形象,QQ秀便是我们耳熟能详的代表,更贴近真实的如(RPG)游戏及虚拟现实中的换装/换肤系统同样亦得益于纸娃娃机制. 本节,我将向大家讲解如何最好的实现Silverlight

Silverlight 2.5D RPG游戏技巧与特效处理:(十一“.NET研究”)AI系统

谈到人工智能(AI),这个话题就太大了:大学里有<人工智能教程>专门讲这方面的知识,什么大名鼎鼎的人工神经网络.遗传算法等等均可一窥究竟,这里如赘述似乎有些班门弄斧,我们暂且丢它一边去吧. 本节,我的主要目的是与大家共同探讨AI在RPG游戏中的应用.看过之前教程的朋友一定不会陌生,A*算法就是其中的一个重要组成部分:而本系列Demo中则使用了更为高级的改进型A*算法,不仅优化了性能,同时也大幅提升了玩家的操控体验.除此之外,AI更常见于RPG游戏中的角色,接下来我将引领大家循着AI的足迹,逐步

一起谈.NET技术,Silverlight 2.5D RPG游戏技巧与特效处理:(五)圣赞之HLSL渲染动画

或许大家依旧对上一节中的"黑夜"及"梦回过去"记忆犹新,追问下去HLSL到底是何方神圣能实现如此炫酷之效果?HLSL(高级着色器语言)作为微软的独门兵器,仅供Direct3D使用.Silverlight无比幸运,从第二个版本开始便已获得了这把旷世利器,虽然目前仅能发挥其不到3层之功力,不过前辈Moonlight近期已向世界宣布全面突破技术壁垒,HLSL的威力提升至7层左右.我们完全可以预料的是,未来Silverlight将手握HLSL,踏着GPU 3D API飞扬驰