设为首页收藏本站新闻投稿

MOD中国同盟社

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3575|回复: 19

[CS/HL] 【CS 地图】【vluzacn】高质量zhlt编译程序 版本33     [复制链接]

Rank: 7Rank: 7Rank: 7

帖子
582
精华
8
声望
10792 点
金币
3444 Mold
被赞许
20 次
注册时间
2009-4-28

星界财团

发表于 2011-1-9 18:53:47 |显示全部楼层
本帖最后由 vluzacn 于 2014-2-3 13:35 编辑

更新日期:
2014年2月3日

文件下载:
zhlt vl33.zip (0 Bytes, 下载次数: 1220)
或站外下载地址 http://hi.baidu.com/vluzacn/item/6ae5db6dfb8551136895e6bc

说明:

    不明白编译程序的概念的先看这里 http://www.modchina.com/x-man/csmap/soft_comp_game.htm .

    这个版本是基于zhlt3.4的csg,bsp,ripent和zhlt2.5.3merl1.7的vis,rad修改的. 关于原版zhlt详见 http://zhlt.info/ .

    我将会不断完善zhlt编译程序并发布新版本,所以大家记得检查更新,并且与地图编译相关的问题和建议欢迎告诉我.

主要特点: (详细说明见附件内更新历史)

    全面支持不透光实体.旧版本zhlt(2.5.3或3.4)中不透光实体是几乎没法用的,比如经常出现影子乱飞或者没有影子情况,而且计算速度特别慢.另外先可以使用实体动态控制物体是否产生阴影.透明色纹理按照实际不透明区域形状投下阴影.

    正确的反射光计算.修复了露天场景反射光bug导致墙壁全亮问题.修复反射光不连续问题.反射光按照纹理颜色正确计算.

    打破地图外景大小限制.可以在+/-4096范围之外做图(建议配套使用修改VHE限制的工具),使场景更加真实.当然也有一些限制,不能让玩家走到范围之外或者把可见物体的轴心放在范围之外,否则显示会有问题.优化bsp分割方法,更好地支持外景制作.修复原版中大量错误导致的HINT失效问题,因为使用HINT优化fps对于包含外景的地图来说很重要.

    更好用的天空光源(light_environment).可以设置太阳光散射角度.自动把天空光源转换为引擎可识别的格式,使mdl(手臂等)更有立体感(注意天空过高的话容易失效).支持多个天空光源同时起作用.天空光源可以放置在地图任意位置.另外提醒下天空光源的属性中亮度最好不要超过100否则地图太亮光影不好别找我,属性里除太阳光线外还有一个天空光线设置大家别忘了设成蓝色.

    更好的动态光源效果.在样式过多时自动选择样式,避免出现黑边和黑块.动态光线和静态光线叠加时作为整体进行gamma修正以避免亮度差别.

    更好的相邻面光滑混合效果.面内顶点处不再有缝隙.分别计算相邻面公共边每个端点的法线,使物体更加光滑.并且可以设置当相邻面使用不同纹理时就不进行混合.精确计算光照样点位置,避免增强模式和两个面凹陷连接处光照的不连续.

    减少hlrad内存使用.通过压缩反射光计算中主要占用内存的transfer数据到1/2(可设置)来节省内存.注意和-sparse参数是不同的,-sparse主要是打破patch(反射光样点)数限制,节省的内存有限.

    更好地支持地形等复杂物体.增加SOLIDHINT纹理,贴在相邻固体块的重合面上,可以减少复杂表面自身的相互切割.增加细节固体func_detail,将复杂物体转为func_detail可以加快vis编译,并且避免一些错误.

    更好的纹理灯光效果.消除纹理灯光在近处产生亮点的问题,光线更加均匀.增加纹理光源定义实体,方便设置发光纹理,并提供多种参数以代替light和light_spot实体.增加发光纹理快速编译功能,适用于大面积的发光纹理.发光纹理自动按照纹理颜色发光,设置亮度时无需再选择光线颜色.

    增加自定义固体块内容物与碰撞外壳功能.可以在实体中设置的能让子弹穿过的固体块.可以完全自定义碰撞外壳,设置玩家是否能穿过实体,可以设置玩家只在站(或蹲)时与实体作用.完美支持含有clip固体块的实体.新增无内容物固体块,可以为物体添加单个面.

    生成正确的碰撞外壳.完全解决固体块连接处走起来不连续问题.完全解决玩家莫名其妙地卡住或掉进地下问题.

    更好的删除地图中多余的面.删除天空固体中的可见面,自动填充疏忽导致的空隙,删除func_water等水实体中出现多个重合的水面.

    可以设置固体实体的模型共用.用来减少资源使用,因为不同的模型(固体实体模型,mdl,spr)总数超过256会出错.也可以设置固体实体使用mdl作为模型,方便实现mdl运动.

    提高各种最大值,可以减少制作大地图时遇到的错误.增加AllocBlock饱和程度显示,帮助避免AllocBlock:full错误.

    彻底解决VIS中的错误和Leaf portals saw into leaf导致的区块消失问题.

    通过格式转换支持game_text直接输入中文.注意cs1.5不可以用.另外允许纹理贴图名称为中文.

    更好地支持水的制作.修复func_water双层水面问题.支持func_water含有多个水固体块.修复水纹理固体透光问题.

    修复烦人的找不到wad文件问题.

    方便设置默认编译参数.可以在settings.txt中调整编译时使用的命令行参数.

    ripent中增加导入导出地图内纹理功能.


已有 2 人评分声望 金币 收起 理由
我是Jacy + 20 + 5
阿发 + 20 + 1

总评分: 声望 + 40  金币 + 6   查看全部评分

使用道具 举报

Honorary Member

此号待删除。不再登陆。 ...

Rank: 7Rank: 7Rank: 7

帖子
343
精华
1
声望
1130 点
金币
122 Mold
被赞许
0 次
注册时间
2009-5-6
发表于 2011-1-9 19:23:37 |显示全部楼层
地图坐标超出 4096 限制的话,好象有些东西会变样。。
已有 1 人评分声望 收起 理由
MARS-MAN + 1 事实证明 没有

总评分: 声望 + 1   查看全部评分

使用道具 举报

Super Moderator

此人已辞职,有事找别人.

Rank: 10Rank: 10Rank: 10

帖子
2341
精华
3
声望
9852 点
金币
3913 Mold
被赞许
-37 次
注册时间
2004-7-17

Modchina元老

发表于 2011-1-9 19:44:11 |显示全部楼层
请教一下:
1.另外先可以使用实体动态控制物体是否产生阴影.透明色纹理按照实际不透明区域形状投下阴影.
具体怎么做
2.增加自定义固体块内容物与碰撞外壳功能.可以完全自定义碰撞外壳,设置玩家是否能穿过实体,可以设置玩家只在站(或蹲)时与实体作用.完美支持含有clip固体块的实体.新增无内容物固体块,可以以面为单位制作物体.
具体怎样应用
能否给出实例源文件说明一下?

另外问一下LZ平时用编译器的哪种GUI工具?你该不会一直在用命令行吧?
此号待删除,不再登陆.

使用道具 举报

Rank: 10Rank: 10Rank: 10

帖子
4597
精华
3
声望
9452 点
金币
26 Mold
被赞许
115 次
注册时间
2009-10-18

MTT职员 最佳贡献奖 热心会员奖 可爱小猫 黑暗使者 Modchina元老 Modchina灌水王 星界财团 图界之神

发表于 2011-1-9 19:44:34 |显示全部楼层
前排支持

使用道具 举报

Rank: 7Rank: 7Rank: 7

帖子
582
精华
8
声望
10792 点
金币
3444 Mold
被赞许
20 次
注册时间
2009-4-28

星界财团

发表于 2011-1-9 20:24:54 |显示全部楼层
回复 2# Martin

一般的固体和实体比如func_wall什么的,没有问题.玩家或者mdl或者带轴心的实体到4096之外,会错位.

使用道具 举报

Rank: 7Rank: 7Rank: 7

帖子
582
精华
8
声望
10792 点
金币
3444 Mold
被赞许
20 次
注册时间
2009-4-28

星界财团

发表于 2011-1-9 21:13:59 |显示全部楼层
回复 3# 阿发

1.可开关阴影是,放置light_shadow,目标填要控制的不透光实体的名字,然后用其他实体开关light_shadow实体实现开关阴影.
透明色纹理无需特殊设置,只要用在属性里选了不透光的实体上就行.
2.例如做车子.有时车内空间太小,很难进去,那么实体属性选上'不与玩家接触(可穿过)',然后再用薄些的clip固体块单独拼出地板和四壁,添加到车的实体.有时有铁丝网什么的,需要子弹可以穿过,那么把铁丝网的任意一个侧面贴SKIP纹理.
让实体只有蹲下或站着时起作用,可以用于trigger_push,trigger_teleport,func_ladder实体等等,方法是实体选上'不与玩家接触(可穿过)',然后重合添加CLIPHULL3或CLIPHULL1纹理的固体块.
3.用的Hammer本身的编译器.

使用道具 举报

Super Moderator

此人已辞职,有事找别人.

Rank: 10Rank: 10Rank: 10

帖子
2341
精华
3
声望
9852 点
金币
3913 Mold
被赞许
-37 次
注册时间
2004-7-17

Modchina元老

发表于 2011-1-9 22:09:50 |显示全部楼层
回复 6# vluzacn

谢谢

我在tieba看到你曾说:
----增加自定义clip(碰撞区域)功能.
  对于普通固体块,通过实体添加键值zhlt_noclip 1,或者固体块的某一个面贴Nullnoclip纹理,去除固体块的clip.对于worldspawn实体(即所有固体)也是有效的.
  对于贴clip开头纹理的固体块,如果贴clip纹理就是正常的clip固体块,该固体块会生成所有cliphull.如果贴cliphull开头的纹理则只会生成贴的纹理相对应的cliphull.
例子:
1.设定只在蹲下/站立时才引发的trigger类实体
  原本贴aaatrigger纹理的面改贴cliphull3/cliphull1,再做一个贴null固体块放到地图外以防止实体没有可见面出错,一起转为实体
2.只有蹲着时才能通过的狭窄通道
  先做好正常能通过的通道,然后左右再各添加一层墙让通道变窄(不用转实体),然后添加的墙的每块固体都要找其中一个游戏中看不见的面贴nullnoclip纹理,
  再把添加的墙复制一份但贴cliphull1纹理,就可以让玩家必须蹲下了.要小心游戏中玩家蹲下进入通道后距离过近把墙看穿.
3.限制设为"大尺寸"的可推动实体的移动范围
  放置贴cliphull2的固体块,然后func_pushable实体的尺寸选"大尺寸 64x64x64",进入游戏你就会发现pushable会受到那个固体块的阻挡,但玩家不会.


能否解释一下nullnoclip、cliphull1、cliphull2、cliphull3的作用?
比较笨 弄不明白
此号待删除,不再登陆.

使用道具 举报

Super Moderator

此人已辞职,有事找别人.

Rank: 10Rank: 10Rank: 10

帖子
2341
精华
3
声望
9852 点
金币
3913 Mold
被赞许
-37 次
注册时间
2004-7-17

Modchina元老

发表于 2011-1-9 22:23:41 |显示全部楼层
本帖最后由 阿发 于 2011-1-9 22:26 编辑

回复 6# vluzacn

    另外我觉得zhlt版本和参数功能变化都太多 普通人如果不是跟着你从头到尾走过来 很难利用上它的全部特性
有些错综复杂 晦涩难懂

我一直是喜欢用Batch Compiler(http://nemesis.thewavelength.net/index.php?p=2,X-man的超级地图编译器就是山寨的这个)
它里面有一些自定义脚本 不怕zhlt编译参数变化
5d98695f05ec687e2656c36c7bcc77a1.png

衷心希望你或你的长久追随者能点些什么 把这些做得更规范 直观 简便 易于使用
此号待删除,不再登陆.

使用道具 举报

Rank: 7Rank: 7Rank: 7

帖子
582
精华
8
声望
10792 点
金币
3444 Mold
被赞许
20 次
注册时间
2009-4-28

星界财团

发表于 2011-1-9 23:04:51 |显示全部楼层
回复 8# 阿发

参数没什么变化,也没有几个需要用的参数.

使用道具 举报

Super Moderator

此人已辞职,有事找别人.

Rank: 10Rank: 10Rank: 10

帖子
2341
精华
3
声望
9852 点
金币
3913 Mold
被赞许
-37 次
注册时间
2004-7-17

Modchina元老

发表于 2011-1-10 08:46:40 |显示全部楼层
回复 9# vluzacn


    感谢答复!

麻烦您回答一下7L的问题,谢谢!
此号待删除,不再登陆.

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

回顶部