找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1391|回复: 7

[发布] 地图学习总结2-工具篇

[复制链接]

该用户从未签到

发表于 2011-5-28 15:12:13 | 显示全部楼层 |阅读模式
本帖最后由 Tzzzxxx 于 2011-5-28 16:19 编辑

制图的工具,很多年没更新了。用起来问题多多,功能少,一点也不好用。
不过还是能用的。
做图时必须记得经常保存,做一点保存一点,不然出故障就前功尽弃。还有备份rmf的习惯。

打开vhe时,一般要按【】把网格调整到1.不然容易忘记,造成固体没对齐,有缝隙。
切记,帖纹理时不要点击整面,因为那样会造成不规则的缩放,例如0.352倍。不规则缩放容易出问题。 不缩放最好,一般缩放最好是一位小数,例如0.5倍,0.7倍这些,太小也不好。 除非你知道你的固体尺寸和纹理尺寸是一样大,那就整面没问题。


基本工具,可以使用V大的。http://hi.baidu.com/vluzacn/home

VHE http://u.115.com/file/clc7aown

编译程序  http://hi.baidu.com/vluzacn/blog/item/36659725bf8bfd38c995596b.html

FGD http://hi.baidu.com/vluzacn/blog/item/3aedc3b41b5cabc437d3cafd.html

此FGD有个问题,就是VHE设置的默认点实体不能是警察出生点,要设成info target。不然使用模型实体的时候,会在网格上显示不出来,只有一条线。

编译外壳  http://hi.baidu.com/vluzacn/blog/item/17a513d59b78a40aa08bb723.html

外壳使用说明,旧版本的,只能做参考 http://games.sina.com.cn/z/cs/kb1275.shtml

要切割物体,小数补丁是必须的http://u.115.com/file/clc7at7j

KZ地图计时器 http://u.115.com/file/dnjgkiol     打开rmf,复制计时器和加血器过去即可。 awp可以不要,计时器上面的广告牌也可以不要。

跳图网http://jump-map.5d6d.com/  制图群 65802594  93210594

常见错误 http://hi.baidu.com/wudics/blog/item/b1fcb358b163cb83810a1839.html



其他一些我没用过的,BSPVIEWER,需要的时候再来下 http://u.115.com/file/e61d8eyv   http://u.115.com/file/bhnqckmn





该用户从未签到

 楼主| 发表于 2011-5-28 15:12:39 | 显示全部楼层

该用户从未签到

 楼主| 发表于 2011-5-28 15:27:56 | 显示全部楼层
向上弹,落差小于32

落差=32,两板子间不能超过170
一般落差20

玩家宽度:32 (指x,y方向的宽度)
玩家能直接穿过的两固体间的最小缝隙:36
玩家高度:站立72,蹲36
眼部高度:经测试53
头顶高度:大约64

直接走上台阶的高度:18 (游戏控制台sv_stepsize变量)
跳蹲能上去的高度:经测试63


出生点之间最小距离,否则容易卡死人:经测试水平82或垂直103

固体块的顶点位置必须对齐到1单位的网格中,否则会出错.


玩家最大跳跃高度:42.5      蹲就63
玩家跳下不受伤的最大高度:275
玩家能直接穿过的两固体间的最小缝隙:36
玩家能直接走过的台阶最大高度:16
标准栏杆高度:32
齐胸高的箱子:48
一个典型的门的高度: 128
玩家蹲下的高度:48
玩家身高:72
玩家身体的宽度厚度: 42
人物出生点离地面最小距离4

蹲下36   宽度33    蹲下的高度44     蹲跳62
700高度掉下死亡  
600高度掉下剩下10点血   
200高度掉下剩20点血

点评

700高度掉下死亡 是垂直掉下  发表于 2011-5-28 15:33

该用户从未签到

 楼主| 发表于 2011-5-28 15:34:45 | 显示全部楼层
1.brush with coplanar faces(顶点共面)
Example:
Entity 10, Brush 0, Side 5: has a coplanar plane at (-753, -9, 251), texture CA1X_CON1B
Entity 10, Brush 0, Side 6: has a coplanar plane at (-753, -32, 251), texture CA1X_CON1B

也就是说这个固体的一个表面有两个或者更多的纹理。


2.出生点贴着地面

在CS中,出生点离地面必须有一定的高度,否则就会出现嵌入的情况,无法移动,初学者
很容易犯这个毛病


3.Leak(裂缝)
一般我们都会因为不注意导致leak出现,大部分是因为entity不在规定范围以内。另外出现Leak的原因就是:你设计的地图不是一个封闭的空间。我们可以利用编辑出来的.pts文件寻找leak。用笔记本方式打开它,上面
有leak的坐标,在VHE或者WC中寻找这些leak。



4.brush 'outside world'(超出范围)
Example:
Entity 10, Brush 0: outside world(4096): (-9000, -64, 216)-(9000,23,283)

在VHE中,规定的x y z网格每一个网格的最大值是9000,最小值是-9000,如果你制造的
固体超过了这个规定的范围,编译器将编辑不出来,造成这个错误。只要你把固体缩小
到规定的网格内,就不会出错。但是我们发现,在地图的rmf中没有超过范围的固体(或实体),在编辑过程中就会超过范围。呵呵,这是一个很奇怪的问题。因为map文件的坐标和rmf是不一样的,你可以反编译map文件,看看是不是超出去了。(一般的解决办法只能是Delete)



5.Exceeded MAX_PATCHES

Patches的大小超过VHE规定最大值65536(要不内存要崩溃了)。当然,如果要解决这个
确实很麻烦。建议使用《X-man超级编译器》来编译地图,其中Rad选项中勾上
“低内存渲染编译”。


6.例:Can't find models/bag.mdl

这个很好解决,这是因为你的models文件夹里面缺少bag.mdl。同样,缺少wad和spr都不
行。你可以向大家要一个。

7.声音错误

我们制造声音一般用ambient_generic,但是如果我们打开的声音文件不在这个ambient
和特指文件夹,例如使用了weapons文件夹里的wav,那么就会在游戏中出错。

8.No Lights

初学者经常会忽略这个,就是没有设计灯光,这样地图任何角落灯光的亮度都是一样的,
决不会有阴影效果,如果是露天环境,要加上“太阳”,如果是室内环境,一定要加上
light。

9.Mixed face contents
Example:
Entity 0, Brush 12: mixed face contents
     Texture ROCK_X1 and SKY
Entity 0, Brush 37: mixed face contents
     Texture STEEL_9 and WATER7


这个其实很好理解,纹理包括五种,即:固体纹理(这里包括印花)、液体纹理、土地
纹理、天空和实体纹理。这五个纹理不能共用在一个固体上。
例如:一个普通固体6个面,其中5个面用的是固体纹理,剩下的一个面用液体纹理,这就会导致Mixed face contents
注意:实体纹理,其中的单个纹理为一个组织,实体纹理互相也不能共用在一个固体上。


10.实体纹理的应用

这些纹不能独自使用:
aaatrigger用于区域实体,如果作为固体贴图使用,那么游戏中就会出错。

origin用于带轴心的实体(可以旋转的实体,它作为轴心),例如汽车、有轴心的门,同
样不可以作为固体贴图使用。

clip用于实体穿透,它必须和要进行穿透的固体重合,这样,人穿不过去,而物品可以穿
过去,同样不可以作为固体贴图使用。


11.Bad Surface Extents

这是由于表面的纹理太大了,无论是X还是Y,都不能超过10。而且大部分都可以通过“检查错误”检查出来的。


12.plane with no normal
Example:
Entity 10, Brush 0, Side 4: plane with no normal
Entity 10, Brush 0, Side 5: plane with no normal

我们都知道一个点有3个坐标,如果这三个坐标都相等即(256,256,256)或者两个坐标相等即(256,256,64),那么就会出现这个错误,这样的坐标所组成的点相连形成的不是一个平面,是一个点或者一条线。没有任何修复办法,除非你删掉这个固体重新制作。


13.Missing [ in texturedef

造成这个有多种原因,其中最主要的是:

      1.贴图错误(用VHE或者WC的“检查错误”功能可以检查到)。

      2.贴图图片名称有空格。

14.游戏中出现:Water Sky

我们在编译地图以后,进入游戏有时候会发现出现watersky的情况,也就是说固体sky成了液体,可以穿越,但容易卡住。针对与这种情况,我建议在游戏的外围铺上一层{invisable或者{blue 用转换成func_wall,用固体模式(soild)。然后再在func_wall的外面铺上一层sky。

15.地图制作以后,声音无法循环(针对1.6)

这个问题无虽然没有深入的研究,不过我下出一个结论,循环的声音要用ambience文件夹里的文件。而像地图的特有声音文件,比如我的de_snowmountain文件夹,使用了以后虽然可以播放,但不循环。建议用trigger_multiple来引发声音。


16.Host_Error: backwards mins/maxs
新建游戏时走了几格弹出主菜单,按出控制台显示:“Host_Error: backwards mins/maxs。”造成这种问题的原因是实体(例如func_platrot 移动距离不能为负)出问题。请尝试删除某个实体再行编译。

17.新建游戏或游戏时直接弹出桌面
原因很多,请检查:
func_train实体是否一半与水接触一半未与水接触
放置的实体过多
不能用func_breakable引发对引发者玩家其作用的实体(比如game_player_hurt,game_text,player_weaponstrip等)

18.进入游戏,自动退出,弹出错误提示 AllocBlock:full
(1)固体太多,尝试删除一点。
(2)在游戏设置中选择视频设置再选视频设置,将3D引擎选第一个SOFTWARE,然后载入地图.如有问题,可以更换其他的3D引擎尝试。

该用户从未签到

 楼主| 发表于 2011-5-28 15:35:24 | 显示全部楼层
游戏中用的声音文件必须是:.wav格式,11025Hz,8bit,单声道,一般用系统自带的录音机就可以制作了。

该用户从未签到

 楼主| 发表于 2011-5-28 15:35:51 | 显示全部楼层
纹理和游戏音效的问题

大家在玩自己的地图的时候一定会有这样的疑问:为什么我用cs官方纹理时,在游戏里脚下的地面会根据不同的纹理发出不同的,雪地纹理,脚踩上去就是踩在雪里的声音,木板是木板的声音,混凝土是混凝土的声音..........而我用自己纹理的地图为什么无论木板、草地、雪地就一个声音呢?踩在混凝土上的声音!!!
呵呵,首先请打开cstrike/sound/materials.txt文件,这是cs定义脚踩在不同地面所发出的声效的文件
原文引用:
// 'M' metal
// 'V' ventillation
// 'D' dirt
// 'S' slosh liquid
// 'T' tile
// 'G' grate (系统默认音效)
// '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是不会自动更新的,当你在地图里跑雪地踩沙滩的时候,别人还在脚踩混凝土呢....还有一个办法:就是我们让我们的纹理名和任一相同类型的纹理名一样就可以啦。例如:我有一个名称叫mike3636的纹理,需要叫踩上去是沙土的声音,而materials.txt文件里有“D brickPath”这个东东,那么我把名称:mike3636改成brickPath就成了。呵呵,简单吧,在不改动materials.txt的前提下自己的纹理踩下去就是沙土声音了。....但是注意,同一张地图里不能有两个相同的纹理名,所以我们最好将自己的纹理命名成我们的地图里没有用使到的官方纹理名,例如:一张地图里有了自定义的名为brickPath的纹理,cs官方的名为brickPath纹理就不能在这张地图上出现了....呵呵,自己好好掌握吧。


下面将要讲的是灯光纹理、光线纹理、滚动纹理!!!呵呵,这几种纹理其实应该说已经脱离纹理的范畴了,因为他们不是做出来的纹理,达到他们应该达到的效果往往是要和其他实体或者文件或者程序配合的!!不过最主要的问题还是在于纹理本身的原因,所以我把他们也归结为纹理的一部分!!!
灯光纹理
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地图都有瀑布的效果,这个效果是怎么来的呢?就是运用了滚动纹理来配合相关实体来实现的
滚动纹理的关键在于名称!!!纹理名称必须用scroll开头,如scroll_mike、scrollwater等等名称的纹理,就是滚动纹理了!!!还是一句老话,滚动纹理必须配合实体才能滚动!!!而且只有一个实体!!那就是func_conveyor实体,记住哦!!就只是他!!!!别的别指望会在地图里滚!!
把scroll开头的纹理贴在你的func_conveyor实体上进地图看看效果吧!!!怎么样,自动扶梯、传送带什么的效果不用发愁了吧!!!!
注意一点哦:纹理的滚动方向是和纹理的帖附方向有关系的,和func_conveyor实体的方向是无关的。要改变纹理运动方向请改变纹理的贴附方向哦!!!!!
关于瀑布效果的一点补充:瀑布的感觉是一种雾蒙蒙的感觉(半透明的,但又不同于一般改变实体纹理透明度的那种清晰的半透明),所以瀑布的滚动纹理一般是用灰度图片制作的,白(255 255 255)就是不透明,黑(0 0 0)就是全透明,灰色,比方说60%黑的灰色,就是60%的透明度了,当然我说的上述效果是在附加渲染模式下的(瀑布效果都是用这种渲染模式的)..............大家如有兴趣自己做的话要注意哦!!!!!!

该用户从未签到

 楼主| 发表于 2011-5-28 15:36:25 | 显示全部楼层
制作纹理。
1.  将要制作成纹理的图片用photoshop打开,调整图片:长和宽必须是16或16的倍数,最大尺寸是256*256,单位:像素。jpg、bmp格式均可。

2.  
图像要是“索引颜色”,颜色:256
3.  
打开Wally纹理制作工具,在工具栏单击新建空白贴图图标,在“类型”一栏选Half-Life Package [wad3] (.wad),将图片拖至wally左边的空格部分。

4.  
选择菜单栏文件中的“另存为”命令,修改贴图文件名,并保存至cstrike文件夹下。

该用户从未签到

发表于 2011-5-28 15:40:32 | 显示全部楼层
回复 Tzzzxxx 的帖子

挺好的教程。



以免读者看到睡着勒
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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