实在是找不到封面图
(这段看不看无所谓)
(相关资料图)
标题整活哪来的懂的都懂,不过我只是开玩笑而已
翻译的时候有点摆烂,有一段直接上DeepL了,甚至保留了原文,不过不至于理解不了教程
刚好我Blender还没删,自己去截了三张图替换了原来的(内容一致)
注意!由于配置原因我无法上手实操,不知道纹理系统工作原理mat_junction文件夹我也没找到哪有,如有纹理丢失请至Hub求助
光追下载
/sultim-t/xash-rt/releases
打不开、下载慢找靠搜索引擎自己解决,这不是Hub访问教程
下面正片开始
工作流程:
1. 将地图导出为glTF
2. 修改glTF文件(比如用Blender,Steam上就有)
3. 当游戏渲染地图的时候,对应的glTF2将被加载并渲染(不会加载原版地图)
4. 每个地图的属性都可在中修改(目录Half-Life/rt/data)
详情
以dm_dust2_hl1这个地图为例:
将地图文件解压到valve文件夹(bsp在maps文件夹里面),然后打开游戏(指)并载入地图
导出
确认已经勾选No server cull(不然得到的不是完全体)
在devmode窗口中点击Export frame geometry
打开
在Blender里面打开glTF
提示:点它就能看到光影跟纹理了,然后把采样设置为1
现在可以看到地图了
修改
所有对象必须在rtgl1_main_root里面
咱来把太阳绿了吧
导出 II
什么冷加载热加载的咱也不懂,总之就是说这玩意很睾级(摆烂迫真翻译),游戏可以后台运行,然后一导出glTF你接着就能看到变化
点击文件→导出→(建议设个快捷键)
找到现存文件,选中它
glTF导出设置必须是这样的:
格式=glTF分离
勾选“保留原有”
勾选“自定义属性”(这俩在“包括”里面)
勾选“精确灯光”
勾选“切向”(这个在“数据”→“网格”里面)
提示:建议保存你的导出设置
名称栏变红了,因为我们是要替换它(点击导出)
控制台会出现如下信息
绿了,绿了!
清理
glTF不支持多边形光,只能以聚光来模拟,然后HL1RT导出程序通常会在多边形周围生成很多用不着的光源,应该都remove了(更少的光源=更少的噪点)
举个栗子:删除这3个用不着的聚光,只留一个点光源
Just works
场景属性
在(位于Half-Life/rt/data)里面加入你的地图(此处非原文,我也不知道是不是必须)
注意,HL1地图格式都是这种,但sceneName这里写c0a0就行
警告:JSON-parser有一个跟空格相关的bug,就是说在:符号前后的空格会被认为是错误,把空格都删了,看看控制台里有没有错误提示。
对象属性
glTF支持添加额外的属性,比如说可以把光源设为体积光(达利…呃…丁达尔效应),把mesh标记为镜子
光源:
lightstyle- (这里又一次没说咋用,自己试试吧)
isVolumetric - 只有一个光源能用它,如果没有设置,有这个效果的就会是太阳
todo(原文如此,哪天有更新我可能会同步)
Mesh:
isGlass
isMirror
isWater
todo
加入自定义内容(没错,可能有人想象过“不反编译改地图结构”,在这真能做到)
要创建固体(原文mesh跟金源的固体两码事,此处为了通俗易懂)在Blender里操作就是,放到rtgl1_main_root下面
自定义纹理(TGA/PNG)应该跟.gltf文件在一个位置
不要给新创建的物体用mat_junction文件夹里的纹理
光线泄漏
在使用体积光的时候,光线可能会穿过比较薄的墙
想要避免这个,墙应该做的厚一点 (或者把rt_volume_far参数调小点),或者是搞个东西挡住光源
发布
发布的东西里面有、.gltf、.bin三个文件跟你的纹理就行
不用带mat_junction文件夹,因为里面有原版HL纹理,那个只是为了让你在Blender里看到正常纹理。
截图欣赏(编辑过程和最终效果)