战魂小筑

讨论群:309800774 知乎关注:http://zhihu.com/people/sunicdavy 开源项目:https://github.com/davyxu

   :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  257 随笔 :: 0 文章 :: 506 评论 :: 0 Trackbacks

虚幻中的材质系统集合了节点代码生成,shader参数绑定及设置,渲染状态管理等多种功能。UDK中使用的是2个资源类型Material和MaterialInstance,他们都可以赋予任何对象。但同时,他们的用途也是有区别的

Material更接近于传统我们见过的材质,可以使用MaterialEditor进行节点编辑生成一种材质,设置各种参数,直接在编辑器中绑定使用的纹理,并将Material赋予对象

MaterialInstance的原理有点类似于C++的虚表,这点可以从材质实例编辑器中看得出来

image

当前的既是MaterialInstance,其父就是Material,这种层次可以是多层的

Material在添加节点时有一种带有Parameter的节点例如

TextureSample是普通的材质采样器

TextureSampleParameter2D就是可以共享出来给外部设置的参数,换句话说,就是这个采样器可以在后期修改。

MaterialInstance就是可以修改这些Parameter。

通过这种结构的设置,我们就可以轻易的使用1种样式的材质效果,通过更换局部效果图片,变换组合出更多的效果。

posted on 2010-07-16 09:59 战魂小筑 阅读(2547) 评论(4)  编辑 收藏 引用 所属分类: 渲染 Shader 引擎

评论

# re: 虚幻3中的Material和MaterialInstance的区别 2010-07-16 10:42 路青飞
请问大侠,你文章中的图片是什么工具的截图?  回复  更多评论
  

# re: 虚幻3中的Material和MaterialInstance的区别 2010-07-16 13:50 战魂小筑
@路青飞
QQ截图,谢谢
  回复  更多评论
  

# re: 虚幻3中的Material和MaterialInstance的区别 2010-07-17 13:43 johndragon
我觉得从名字上理解就可以了。
Material是一个类的概念

MaterialInstance是类的实例,类中的变量就可以设置确切数值了,就是你说的Parameter

  回复  更多评论
  

# re: 虚幻3中的Material和MaterialInstance的区别 2010-07-18 21:03 custom dissertation
This smart topic like this topic will possibly be taken by dissertation service or at the thesis writing service to buy research papers online from custom writing service.   回复  更多评论
  


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理