VMT常见的渲染参数 下载本文

内容发布更新时间 : 2024/5/3 20:07:44星期一 下面是文章的全部内容请认真阅读。

VMT常见的渲染参数

大部分纯属个人经验,部分参考 维尔福开发者社区Valve Developer Community(VDC) 首先我们来看一组示例渲染参数: VertexLitGeneric {

\\

\\ \

\ \

\

\ \ \ \

\ \//\ \\

\\\ \

\\ \

\ \\\\ \\\

//\//\}

第一行的basemaptexture是必不可少的贴图路径,这个就不多说了,第二个normalmaptexture是法线贴图,第三个phongexponenttexture等会在说明 然后从第四行开始就是各项参数指标了:

第一大类:phong漫反射

$phong 1 严格的说这不叫漫反射,就叫phong着色法,因为phong的某些参数也会影响envmap(环境反射)和rimlight(轮廓光),按照VDC的说法就是phong包含了以上渲染方案,想要模型有点质感的话,此参数必不可少(“”可有可无,但是要打就必须打完,不能只有一半;\ \√\ 1√$phong \√\ \×\ \×) $phongboost 0.75 phong强度指数,数值越大,漫反射强度越大

$phongfresnelranges .1 .5 .2 phong菲涅尔参数,xyz轴的反射强度,分别是第一人称下的左右方向,前后方向和垂直方向,这个参数到底是怎么样工作的到现在我也只可意会不可言传,但基本就是指在移动视角时各个方向的反射强度,如果删掉此参数或者全部调整为0 0 0,模型的漫反射不会由角度的改变而发生变化,质感缺失,envmap也将失效

$phongtint .4 .4 .4 phong反射光色调,VDC原意:3个数值指RGB 的相对大小,所以0 0 0和1 1 1是一样的,但是经我实验看来,前面对,后面错,3个数值的整体大小会影响反射的程度,0 0 0会关闭phong,1 1 1 会比0.1 0.1 0.1 的反射更强烈

$phongalbedotint 1开启模型反照,让basemap来影响phong反射的颜色 $phongalbedoboost 10 反照增强

接下来回到phongexponenttexture,指phong反射指标贴图,也可以理解为高光贴图,有了此贴图,模型各个部位的反射程度会不同,比如你想要枪膛反射得多一点,握把反射的少一点,你就需要此贴图,贴图上亮/白的地方,反射强,暗/黑的地方,反射弱,当然,贴图领域不在本教程内

再就是$PhongExponent 40参数,指phong反射光密度指数,和phongexponenttexture是相似而又相对的,PhongExponent数值越小,反射的密集程度越大,反之越小,与PhongExponenttexture不同的就是,PhongExponent参数不能反映模型不同部位的反光程度,所以质感方面不如有PhongExponenttexture的存在,但PhongExponent参数和PhongExponenttexture不能共存,如果共存,只有PhongExponent参数生效PhongExponenttexture将无效,“//”可将本行命令无效,如果将//划在第一行即“// VertexLitGeneric”将使整个vmt失效,此vmt所指示的模型将透明

接下来就是第二大类,envmap环境反射参数了:

$envmap env_cubemap开启环境反射,此参数将使模型具有一定的金属感,当然不是你用这个参数就会有你想要的效果

$normalmapenvmapmask 1 以法线贴图alpha通道作为环境反射 蒙版/遮罩,此命令和phongexponenttexture有类似的地方,alpha通道暗的地方环境反射弱,亮的地方反射强,当然,你可以不用这条指令,相当于把alpha通道全部填充为白色,那样就会达到“水晶”的效果,如果你不会ps,不懂alpha通道却有自己的喜欢的模型的反光亮瞎眼的,关掉上一条指令即可,即$envmap env_cubemap,另外也不一定是法线贴图做蒙版,也可以是$basemapalphaenvmapmask 1,效果是一样的,这时你就要把法线贴图alpha通道填充到basemap的alpha通道上

$envmaptint .5 .5 .5 环境反射色调,和phongtint同理,不仅可以调整环境反射的颜色,也可以调整环境反射的强度,如果你不使用上一条指令$normalmapenvmapmask的话可以将envmaptint调低点(.01 .01 .01)可去除模型“水晶”效果,此参数可以实现彩色狙击镜片的效果