`
plmkome
  • 浏览: 41316 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

Vision引擎中创建一个简单的着色器介绍

 
阅读更多

 

引言
为了帮助您掌握可视化着色器编辑的初步技巧,本章会介绍若干基本技术,让您更轻松地踏入 vForge 可视化着色器开发的世界。
 
创建一个非常简单的着色器
本练习的目的是创建一个简单的着色器,该着色器由一个基底贴图和一个连接到 RGBA 输出的法线贴图构成,并在您选中的材质 / 图形上显示结果。
 
如果尚未切换布局,请切换到可视化着色器编辑器布局,然后创建一个可马上用于编辑的新着色器。 以下各节会指导您完成创建简单着色器的每个步骤。
 
从工具栏中选择吸管图标,点击某个场景图形,这样您就可实时预览该图形材质上的着色器。

   注:因为您已选择一个图形、要预览该图形上的着色器,所以您分配到该图形材质上的散射纹理、法线纹理和高光纹理将被使用。 如果您没有选择要使用的对象,或者该对象的材质上没有任何纹理,那么您需在可视化材质编辑器中通过基底纹理等属性指定材质名称,或在材质编辑器相关卡位中分配这些属性。
 
输出模块
创建可视化着色器时,您首先需要一个输出阶段模块,让其他模块传递各自数据到该模块。 您使用的模块类型取决于场景渲染系统的设置。正向和延迟渲染需使用适合各自类型的输出阶段模块。

正向渲染模式需要使用 RGBA 输出阶段模块。
延迟渲染模式需要使用延迟光照输出阶段模块。 在延迟模式下,RGBA 输出仅用于半透明材质。
 
   提示:命令列表中的过滤器设置将影响可用节点。 例如,如果过滤器设为”正向渲染”,您就无法看到延迟光照输出。
将一个 RGBA 输出(如果您使用正向渲染模式)拖拽到可视化编辑屏幕的左侧

另一个要添加的重要组件是光照模块;该模块可以让您的着色器受场景中所有光源的影响。

模块连接
添加光照模块时,从光照输出终端拖拽到 RGBA 模块输入终端即可连接模块,形成虚拟连接,允许数据从一个模块传递到另一模块。

下一步是添加基底纹理和法线贴图模块,并按下图所示把它们连接起来:

   注:连接模块时,系统可能需要运行一段时间,因为每次连接时都要编译着色器。 您可以取消对着色器 Toggle Automatic Recompilation(启用自动重编译)属性的勾选,不让系统自动更新。
 
现在,您的着色器包括一个基底贴图和一个法线贴图,将混合场景中带有任何光照的此类纹理,其结果应显示在选中图形的表面。 如果没有显示结果,您也没有任何纹理,则使用吸管重新选择一个图形,或通过位于可视化着色器编辑器布局左下角的着色器属性为着色器手动添加纹理。
 
选择基底纹理或法线贴图模块时,相应属性会在 Visual Shader Properties(可视化着色器属性)> General Tab(常规选项卡)中开启,您可以在这里分配纹理文件。

示例
下面是若干示例,帮助您理解可视化着色器模块应如何使用。
 
示例 01: 使用卷轴的纹理动画

示例 02: 动画化混合纹理

示例 03: 从基底纹理上删减尘土贴图

示例 04: 辉光

转自:project anarchy中文社区

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics