开启辅助访问     
收藏本站

站内搜索

搜索

Minecraft(我的世界)苦力怕论坛

[游戏相关] 如何在mcpack格式下使部分方块纹理自发光

 发表于 5 天前|显示全部楼层|阅读模式 IP:河南省
10铁粒
本帖最后由 可芮鹤Crane 于 2026-8-29 10:44 编辑

如何在mcpack格式下使部分方块纹理自发光,
至少在灵动视效开启情况下,
前段时间我制作了一款修改了矿物纹理的mcpack材质 ,但发现其无法适配光影的矿物发光,我认为让这个材质包基于某个光影发光不是长久之计,所以我尝试使其自发光,我仿照原版哭泣的黑曜石(部分纹理有发光效果)修改了json,参考网络上的一些教程制作了tga文件,但在游戏中导致了纹理缺失,
所以我来这里求个详细教程和原理解释,因为我扒了那些矿物发光的光影包发现看不懂(比方说_mers后缀的文件是什么意思)[大哭]
实在不行mcaddon格式也行()

最佳答案

查看完整内容

灵动视效光影的纹理自发光我不会做,但是我会做普通光影的纹理自发光。 如果你想做一个适配你自己材质包的纹理发光 你可以从安装包里面提取RenderChunk.material.bin文件然后用lazurite(github可以找到)解包它。然后进入passes/AlphaTest(这个是树叶之类的半透明纹理)或者passes/Opaque(这个是不透明纹理),然后在里边的0.ESSL_310.Fragment.glsl的最后几行找的代码 bgfx_FragColor = vec4(mix(vec4(textu ...
苦力怕论坛,感谢有您~
 发表于 5 天前 来自手机|显示全部楼层 IP:广东省
        灵动视效光影的纹理自发光我不会做,但是我会做普通光影的纹理自发光。
        如果你想做一个适配你自己材质包的纹理发光
        你可以从安装包里面提取RenderChunk.material.bin文件然后用lazurite(github可以找到)解包它。然后进入passes/AlphaTest(这个是树叶之类的半透明纹理)或者passes/Opaque(这个是不透明纹理),然后在里边的0.ESSL_310.Fragment.glsl的最后几行找的代码
bgfx_FragColor = vec4(mix(vec4(texture(s_LightMapTexture, v_lightmapUV).xyz * _538.xyz, _538.w).xyz, FogColor.xyz, vec3(_765.w)), _538.w);
在它的上一行添加代码
highp vec4 alphaCheck = textureLod(s_MatTexture, v_texcoord0, 0.0);
    if (alphaCheck.a > 0.987 && alphaCheck.a < 0.989) {
    alphaCheck.xyz = alphaCheck.xyz * vec3(1.54, 1.68, 1.82);
    highp vec3 forcedLight = vec3(0.8, 0.8, 0.8);
    bgfx_FragColor = vec4(mix(forcedLight * alphaCheck.xyz, FogColor.xyz, v_fog.a), alphaCheck.a);
    return;
    }
记得全部0至11的ESSL_310.Fragment.glsl都要这么改一遍。
        然后再用lazurite打包一遍,最后加入你的.mcpack里面的renderer/materials/路径里面。
        下一步是画你想要发光的纹理,把你想发光的那些像素改成透明度252在添加进你的材质包里面就大功告成了
         再用通用改包或者渲染龙加载器加载就行了
2#5 天前回复收起回复
苦力怕论坛,感谢有您~
回复

使用道具举报

本版积分规则

本站
关于我们
联系我们
坛史纲要
官方
哔哩哔哩
技术博客
下载
网易版
安卓版
JAVA
反馈
意见建议
教程中心
更多
捐助本站
QQ群
QQ群

QQ群

访问手机版

访问手机版

手机版|小黑屋|系统状态|klpbbs.com

木韩网络 提供支持 | GMT+8, 2026-9-3 11:47

声明:本站与Mojang以及微软公司没有从属关系

Powered by Discuz! X3.4