《2022年游戏特效文档 .pdf》由会员分享,可在线阅读,更多相关《2022年游戏特效文档 .pdf(11页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、数字媒体艺术系游戏特效14 班郑志立游戏特效期末实践报告第-1-页 共 11 页闪电效果特效姓名:郑志立学号:2008011235 班级:2008 级 14 班课程名称:游戏特效指导老师:刘云安名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 11 页 -数字媒体艺术系游戏特效14 班郑志立游戏特效期末实践报告第-2-页 共 11 页目录姓名:郑志立.-1-学号:2008011235.-1-班级:2008 级 14 班.-1-课程名称:游戏特效.-1-指导老师:刘云安.-1-1.实践目的.-3-2.Shader 简介.-3-2.1 shader发展.-3-2.2 shader版本.
2、-3-3.闪电特效功能实现.-4-概述.-4-3.1 闪电制作设计的软件.-4-3.2 闪电特效的定义.-4-3.3 二维面片闪电效果的优势.-4-制作步骤.-5-3.4 把二维面片导入 VIRTOOLS 中.-5-3.5 为二维面片增加燥波.-5-3.6 为二维面片增加 shader.-6-3.7 shader中所遇的问题.-10-4.最终效果.-11-名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 11 页 -数字媒体艺术系游戏特效14 班郑志立游戏特效期末实践报告第-3-页 共 11 页1.实践目的通过学习让自己了解到什么是游戏特效,游戏特效最基本的要素有哪些,游戏特效需要
3、应用的工具是哪些,通过老师的认真教授,我学会了基本的游戏特效有,游戏特效基本知识,游戏特效的粒子系统,游戏特效的环境贴图,游戏特效的材质贴图,学习使用二维的面片实现特效闪电,学习这种思维方式,而不仅仅是使用三维的粒子系统来模拟创造闪电效果。2.Shader简介2.1 shader发展早在 微软 发布 DirectX 8 时,Shader Model 的概念就出现在其中了,并根据操作对象的不同被分为对顶点进行各种操作的Vertex Shader(顶点渲染引擎)和对像素进行各种操作的Pixel Shader(像素渲染引擎)。在 Shader Model发展史上,从SM 1.0 进化到SM 2.0
4、称得上是真正意义上的技术革命,后者赋予了显示芯片强大的能力,人们在游戏中也领略到前所未有的视觉体验,例如水面光影和雾化等特效的出现使游戏场景更真实。相对而言,SM 2.0 到 SM 3.0 的改进不如SM 1.0 到 SM 2.0 的变化大,SM 3.0 除了支持32bit浮点运算是亮点外,其他特效用SM 2.0 也可以完成。相比原先的Shader Model 3.0,Shader Model 4.0 最大指令数从512 条增加到了64000 条;临时暂存器数量也从原先的32 个增加到惊人的 4096 个;允许同时对128 个 Texture进行操作(Shader Model 3.0只允许 1
5、6 个);材质 texture格式变为硬件支持的RGBE 格式,其中的 E 是 Exponent 的省略,是RGB 共同的说明,这在HDR 的处理上有很大的作用,摒弃了以往需要专门decoding 处理 HDR渲染的流程。Shader Model 4.0另一个重大变化就是在VS和 PS之间引入了一个新的可编程图形层-几何渲染器(Geometry Shader)。原来的Vertex Shader 和 Pixel Shader 只是对逐个顶点或像素进行处理,而新的Geometry Shader 可以批量进行几何处理。然而其因性能原因而受到诟病,实际上使用它的人并不多。为了兼顾性能,DX11(SM
6、5.0)引入了Tessellation来取代 GS的部分功能。2.2 shader版本时至微软发布DirectX 10.1之后,Shader Model的版本已经有五个版本了:分别是Shader Model1.0(DirectX8.0)、Shader Model2.0(DirectX9.0b)、Shader Model3.0(DirectX9.0c)、Shader Model4.0(DirectX10)、Shader Model4.1(DirectX10.1)和 Shader Model5(DirectX11)。名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 11 页 -数字媒体
7、艺术系游戏特效14 班郑志立游戏特效期末实践报告第-4-页 共 11 页3.闪电特效功能实现概述3.1闪电制作设计的软件(1)RenderMonkey 1.6 RenderMonkey是做为制作的手册(2)3Dmax 作用:制作一个二维的面片,后一步在VIRTOOLS 中制作闪电做铺垫(3)Virtools 我主要是使用Virtools来制作闪电效果的主体部分,也就是我来主要使用Virtools,为 3Dmax 中二维的面片增加shader 3.2 闪电特效的定义闪电效果,就是在二维面片上来实现3.3 二维面片闪电效果的优势基本问题就是我们要明确,制作整个闪电效果的实现的整个流程,如何使用vi
8、rtools为二维面片增加shader,二维面片闪电效果的优势,是相对三维的粒子系统而言的,二维面片基本上能达到三维粒子系统所制作出的特效效果,与此同时,二维面片更节省存储空间,节省资源。名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 11 页 -数字媒体艺术系游戏特效14 班郑志立游戏特效期末实践报告第-5-页 共 11 页制作步骤3.4 把二维面片导入VIRTOOLS 中3.5 为二维面片增加燥波名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 11 页 -数字媒体艺术系游戏特效14 班郑志立游戏特效期末实践报告第-6-页 共 11 页3.6 为二维面片增加sha
9、der string Procedural_Graphic_Effects_2D_Electricity_Single_Pass_ScreenAlignedQuad:ModelData=C:/Program Files/ATI Research Inc/RenderMonkey 1.6/Examples/Media/Models/ScreenAlignedQuad.3ds;float4x4 wvp:WorldViewProjection;struct VS_OUTPUT float4 Pos:POSITION;float2 texCoord:TEXCOORD;VS_OUTPUT Procedu
10、ral_Graphic_Effects_2D_Electricity_Single_Pass_Vertex_Shader_main(float3 Pos:POSITION)VS_OUTPUT Out;/Clean up inaccuracies Pos.xy=sign(Pos.xy);/Out.Pos=float4(Pos.xz,0,1);Out.Pos=mul(float4(Pos,1),wvp);Out.texCoord=Pos.xz;return Out;float4 color =(0.00,0.49,1.00,1.00);float glowStrength =144.00;floa
11、t height =0.44;float glowFallOff =0.02;float speed =1.86;float sampleDist =0.01;float ambientGlow =0.50;float ambientGlowHeightScale =1.68;float vertNoise =0.78;float time_0_X:Time;texture Noise_Tex;sampler Noise=sampler_state Texture=(Noise_Tex);ADDRESSU=WRAP;ADDRESSV=WRAP;ADDRESSW=WRAP;MAGFILTER=L
12、INEAR;MINFILTER=LINEAR;MIPFILTER=LINEAR;float4 Procedural_Graphic_Effects_2D_Electricity_Single_Pass_Pixel_Shader_main(float2 texCoord:TEXCOORD):COLOR float2 t=float2(speed*time_0_X*0.5871-vertNoise*abs(texCoord.y),speed*time_0_X);/Sample at three positions for some horizontal blur /The shader shoul
13、d blur fine by itself in vertical direction float xs0=texCoord.x-sampleDist;float xs1=texCoord.x;float xs2=texCoord.x+sampleDist;/Noise for the three samples float noise0=tex3D(Noise,float3(xs0,t);float noise1=tex3D(Noise,float3(xs1,t);float noise2=tex3D(Noise,float3(xs2,t);/The position of the flas
14、h 名师资料总结-精品资料欢迎下载-名师精心整理-第 8 页,共 11 页 -数字媒体艺术系游戏特效14 班郑志立游戏特效期末实践报告第-9-页 共 11 页 float mid0=height*(noise0*2-1)*(1-xs0*xs0);float mid1=height*(noise1*2-1)*(1-xs1*xs1);float mid2=height*(noise2*2-1)*(1-xs2*xs2);/Distance to flash float dist0=abs(texCoord.y-mid0);float dist1=abs(texCoord.y-mid1);float
15、dist2=abs(texCoord.y-mid2);/Glow according to distance to flash float glow=1.0-pow(0.25*(dist0+2*dist1+dist2),glowFallOff);/Add some ambient glow to get some power in the air feeling float ambGlow=ambientGlow*(1-xs1*xs1)*(1-abs(ambientGlowHeightScale*texCoord.y);return(glowStrength*glow*glow+ambGlow
16、)*color;/-/Technique Section for Effect Workspace.Procedural Graphic Effects 2D.Electricity/-/technique Electricity pass Single_Pass CULLMODE=NONE;VertexShader=compile vs_1_1 Procedural_Graphic_Effects_2D_Electricity_Single_Pass_Vertex_Shader_main();PixelShader=compile ps_2_0 Procedural_Graphic_Effe
17、cts_2D_Electricity_Single_Pass_Pixel_Shader_main();名师资料总结-精品资料欢迎下载-名师精心整理-第 9 页,共 11 页 -数字媒体艺术系游戏特效14 班郑志立游戏特效期末实践报告第-10-页 共 11 页3.7 shader中所遇的问题(1)float4x4 wvp:WorldViewProjection;就是在 virtools中的世界坐标。(2)shader 中而为坐标转化为三位坐标VS_OUTPUT Procedural_Graphic_Effects_2D_Electricity_Single_Pass_Vertex_Shader_
18、main(float3 Pos:POSITION)VS_OUTPUT Out;Out.Pos=float4(Pos.xz,0,1);Out.Pos=mul(float4(Pos,1),wvp);注意:float3 Pos:POSITION(3)Out.texCoord=Pos.xz;这是是的图片能够平铺在virtools窗口中(4)添加 shader 和燥波图片后不能动的问题float time_0_X:Time;因为这里是用的单针的,要转为不停的运动名师资料总结-精品资料欢迎下载-名师精心整理-第 10 页,共 11 页 -数字媒体艺术系游戏特效14 班郑志立游戏特效期末实践报告第-11-页 共 11 页4.最终效果郑志立2010.12.25 名师资料总结-精品资料欢迎下载-名师精心整理-第 11 页,共 11 页 -