找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2056|回复: 0

【初级教程】纹理知识

[复制链接]

该用户从未签到

发表于 2007-9-3 16:38:00 | 显示全部楼层 |阅读模式
cs对地图纹理的命名有些讲究,有些名称是不能乱用的。

一:

1、以“{”开头:这种纹理具有透明色,象楼梯和铁丝网的纹理就属于这一种,在地图编辑器里透明色以蓝色显示。
2、以“!”开头:水的纹理,这种纹理在游戏中会不停地动来动去。切记:在同一固体或实体中这种纹理不要和其他文理混用,否则会导致编译或游戏出错。
3、以“+”开头:由数个纹理组成的动画,“+”后面的数字代表动画的次序。如果“+”后面的是A,那么这将是一个须激活才能改变的纹理,灯光和开关的纹理就属于这类。
4、以sky、clip、origin命名的纹理cs在自己的vavle/halflife.wad文件里包含了这些纹理,所以玩者自制的纹理不能用这些名称。
说明:
sky: 该纹理顾名思义,贴有该纹理的固体在游戏中将会是天空。切记:实体中不可存在sky纹理,否则将导致编译失败。
clip: 贴附纹理。贴有该纹理的固体或实体在游戏中是不可见的,他能阻挡玩家但不会阻挡玩家的子弹和手雷。想到aztec的吊桥了么,人可以走在上面,子弹和手雷却可以通过,其中就有他的功劳!!该纹理不可和其他纹理应用于同一固体或实体(当实体是由很多固体转换而来时,我是指组成该实体的单个固体,而不是整个实体),否则不会有上述效果。
origin: 起源纹理。大家知道,转门、风扇、汽车、火车、飞机、钟摆、有架子的机枪等等在转动或运动时,都是围绕一定的轴心运动的。以这个纹理贴图的固体,就是代表轴心了。我们在制作上述效果的实体时,都必须要集成一个由他贴图的固体,以作为轴心(放在你认为或需要是轴心的地方)。否则的话,无论上述实体身在地图何处,他们都将只围绕地图原点(0 0 0)转动或运动,呵呵,你会吓一跳的!!

二:
纹理和游戏音效的问题
大家在玩自己的地图的时候一定会有这样的疑问:为什么我用cs官方纹理时,在游戏里脚下的地面会根据不同的纹理发出不同的声音,雪地纹理,脚踩上去就是踩在雪里的声音,木板是木板的声音,混凝土是混凝土的声音..........而我用自己纹理的地图为什么无论木板、草地、雪地就一个声音呢?踩在混凝土上的声音!!!555...
呵呵,大家听我慢慢说,首先请打开cstrike/sound/materials.txt文件,这是cs定义脚踩在不同地面所发出的声效的文件
原文引用:
// 'M' metal
// 'V' ventillation
// 'D' dirt
// 'S' slosh liquid
// 'T' tile
// 'G' grate (Concrete is the default)
// 'W' wood
// 'P' computer
// 'Y' glass
// 'N' snow
引用结束。
它直接定义了什么文件名的贴图代表什么纹理类型。从而计算机在游戏中碰到这种纹理时会以该纹理相符合的音效来处理它。
说明如下:
M 代表 钢铁,V 代表 铁丝网,D 代表 沙土,S 代表 液体,N 代表 雪,T 代表瓷砖,瓦片 ,G 代表 混凝土(系统默认),W 代表 木头,P 代表 电脑,Y 代表 玻璃


原文引用:
//-----------------------------------------------------------

// itsItaly.wad

//-----------------------------------------------------------
D brickPath
W 64crate0
W 64crate1
W 64crateTop
W bigCrate0
W bigCrate1
W bigCrate2
W bigCrateTop
W chestDrawers
W crateBox
W crateBoxLabel
W oldWood
W panelWood
W wBarrelSide
W wBarrelTop
W wdnDrawer
W wdbDrawers
引用结束。(呵呵,这是“意大利”版子的纹理音效定义)

举例:“D brickPath”的意思是说当脚踩上brickPath纹理时,就发出踩在沙土上的声音...“W 64crate0”的意思是说当脚踩上64crate0纹理时,就发出踩在木头上的声音...说明一点,如果所用的纹理是materials.txt没有定义到的,那么系统就会用默认声音代替,即混凝土的声音...大家明白了cs游戏音效的奥秘了吧,呵呵
那么怎么才能让自己的纹理有不同的音效呢?呵呵,有的朋友应该已经想到了,“我模仿他的格式在文件里加上我的纹理名称和音效定义字母不就行了....”没错,是可行。但是请注意:materials.txt文件是不会自动下载的,人家下载了你的地图,materials.txt是不会自动更新的,当你在地图里跑雪地踩沙滩的时候,别人还在脚踩混凝土呢.....555......
还有一个办法:就是我们让我们的纹理名和这个列表里任一相同类型的纹理名一样就可以啦。例如:我有一个名称叫mike3636的纹理,需要叫踩上去是沙土的声音,而materials.txt文件里有“D brickPath”这个东东,那么我把名称:mike3636改成brickPath就成了。呵呵,简单吧,在不改动materials.txt的前提下自己的纹理踩下去就是沙土声音了。....但是注意,同一张地图里不能有两个相同的纹理名,所以我们最好将自己的纹理命名成我们的地图里没有用使到的官方纹理名,例如:一张地图里有了自定义的名为brickPath的纹理,cs官方的名为brickPath纹理就不能在这张地图上出现了....呵呵,自己好好掌握吧。


------------------------------- -----------------------------


cs的纹理分好多中,我在文章《纹理小常识》里已经提了最普通的纹理,相信大家也已经掌握了。现在,该是你们提高的时候了。
下面将要讲的是灯光纹理、光线纹理、滚动纹理!!!呵呵,这几种纹理其实应该说已经脱离纹理的范畴了,因为他们不是做出来的纹理,达到他们应该达到的效果往往是要和其他实体或者文件或者程序配合的!!不过最主要的问题还是在于纹理本身的原因,所以我把他们也归结为纹理的一部分!!!

灯光纹理
dust2的灯管发亮就是运用了光线纹理。其实光线纹理是不存在的,是编译程序让普通纹理发光才成为光线纹理的!!!呵呵,大家知道了吧,纹理发光的关键在于编译程序,和纹理本身是没有任何关系的,那么怎么才能让编译程序知道我们需要那种纹理发光呢?大家先到编译程序的目录里面,找到一个名叫light.rad的文件,用记事本打开!!没有也没关系,我把他列出来:

+0~WHITE 255 255 255 100

呵呵,就上面一行字,简单吧。我来解释一下:

+0~WHITE 是纹理的名称
255 255 255 是定义纹理发光的颜色,对应r g b 这3种颜色
100 是定义纹理发光看上去的亮度!!!!值越高这个纹理在游戏里看上去就越亮!!
这个文件就告诉编译程序,只要你的地图里有名为+0~WHITE 的纹理,他就是发光纹理,发光的颜色是白色(255 255 255),纹理看上去的亮度是100。
呵呵,大家明白了么,明白了还不自己往里加。

没有的朋友也没有关系,建一个文本文档,在里面按照上面的格式写上自己需要发光的纹理等相关内容,然后把文件改名为light.rad,然后拷贝到编译程序所在目录,一切ok!!!!!
注意:灯光纹理只是看上去发光,其实是不会照亮地图任何地方的,你可不要指望他能代替light实体哦!!!

光线纹理
大家在漆黑的夜里看到过街灯的光线么?光线从亮到暗,逐渐消失,这种纹理就是模拟这种效果的,他存在于cs的halflife.wad文件里面,名称为fade和fade2,大家找到自己观察一下,他是从黄的逐渐过度到黑色的纹理,注意哦,是黑色,纯黑的黑。即rgb颜色是0 0 0 的黑。当然这种效果不光光靠纹理就能实现的,还需要实体的配合,因为我们需要实体的渲染模式和透明度的配合才能达到这种效果,一般而言,这种纹理是用于制造灯光光线逐渐衰弱的效果的,我们一般运用的是func_illusionary实体,(当然如果你变态,也可以用其他任何有渲染模式的实体,哈哈,一个警察开开心心的向美丽的光线跑去,却不料被光撞了一个包,哈哈哈)。渲染模式用附加,切记!!!在这种模式下纯黑才是透明的!!!!!!呵呵,固体模式纯蓝是透明,大家别搞混了哦!!!!!透明度嘛,大家可以自由射定,一般而言越大光线越强烈,自己试试,找到最适合的透明度吧!!!这种纹理我们可以自己做么?答案是当然可以,记住一个要点哦!!那就是要过度到纯黑!!!!!!!!!!!!!,别的无所谓,纹理名称也没有讲究!!!!

滚动纹理
现在有很多cs地图都有瀑布的效果,(oldk老大的就是,呵呵,偶做的。)这个效果是怎么来的呢?就是运用了滚动纹理来配合相关实体来实现的
滚动纹理的关键在于名称!!!纹理名称必须用scroll开头,如scroll_mike、scrollwater等等名称的纹理,就是滚动纹理了!!!还是一句老话,滚动纹理必须配合实体才能滚动!!!而且只有一个实体!!那就是func_conveyor实体,记住哦!!就只是他!!!!别的别指望会在地图里滚!!哈哈哈
把scroll开头的纹理贴在你的func_conveyor实体上进地图看看效果吧!!!怎么样,自动扶梯、传送带什么的效果不用发愁了吧!!!!
注意一点哦:纹理的滚动方向是和纹理的帖附方向有关系的,和func_conveyor实体的方向是无关的。要改变纹理运动方向请改变纹理的贴附方向哦!!!!!!
关于瀑布效果的一点补充:瀑布的感觉是一种雾蒙蒙的感觉(半透明的,但又不同于一般改变实体纹理透明度的那种清晰的半透明),所以瀑布的滚动纹理一般是用灰度图片制作的,白(255 255 255)就是不透明,黑(0 0 0)就是全透明,灰色,比方说60%黑的灰色,就是60%的透明度了,当然我说的上述效果是在附加渲染模式下的(瀑布效果都是用这种渲染模式的)..............大家如有兴趣自己做的话要注意哦!!!!!!好了,讲完了,我走了,大家88888888888888

[ 本帖最后由 Simen.sllove 于 2007-11-20 09:37 编辑 ]
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表