csoldjb吧 关注:63,511贴子:1,904,704
  • 31回复贴,共1

关于枪火spr会消失(在人多BOT多的情况下)的一个小分享

只看楼主收藏回复

首先先随便说一句话:大家好。
背景:我从玩BTE 和SME开始,我发现好像开枪的时候那个枪火在附近人多的地方就会消失,等开枪的人少了 枪火又会出来,然后烦了各种大佬,都还是觉得我的强迫症,说开少点BOT就行,没错 开少点确实会好点 但还是会有枪火在人多的地方消失的时候。
————啰嗦一句:如果。。只有我一个人有这个问题那就纯属于我的问题了
原因发现:
1个模型拆开后 有QC文件(拆解过程 就不多说了)

找到shoot 就是控制枪火的地方,但是至于到底用的是哪个枪火文件,我看了很多贴吧大佬的分享,也验证了
确实是,我把解释再翻译的详细一点
event 5001 ——这个代表开火事件,模型吧和群里都有很详细解释了
0——这个代表第几帧 ,这个其实你也不用去管
"31"——注意哈!重点在这个画引号这个数字里面,引号数字由两部分组成,前面一部分代表
Counter-Strike SME v7.0 Build2000\cstrike\sprites 路径下的 muzzleflash开头的文件 ,他们从1开始 有很多很多

举个例子,比如我现在看到的射击动作1——shoot1,他是"31" 那就代表 muzzleflash3 这个火焰spr文件,大家可以去验证下 我顺便也把图片贴出来

然后还有个shoot2 同样道理 shoot2 是"21" 那就是muzzleflash2 ,我也找出来给大家看看,不然有些人不在电脑前可能不方便看

有人可能会疑问{ event 5001 1 "125" } 指的是什么
我后面也去看了 要拆成 12 和 5 去看 muzzleflash12, 我发现是枪的烟雾,那就可以理解了,枪开火首先是火焰的动画先出来再出来烟雾(大家不用去管这个烟雾,我主要是怕有家人看不懂后面为啥还有个shoot "125”)
———————————————原神分界线————————————————————
那问题来了:既然这些东西都没问题 为啥枪火spr在游戏里面开枪人多地方会消失呢?
我的猜想:枪火文件的前4个序列号,也就是muzzleflash1、muzzleflash2、muzzleflash3、muzzleflash4
这四个枪火是CS里面所有原版枪的基础枪火(换句话说,除神器外所有武器基本上用的是她们4个,不信可以去疯狂拆解模型文件去看里面QC, 基本上event 5001 引号里面数字都是1 、2、3、4开头的,所以我觉得是游戏里面1个SPR太多枪用,同时开枪,游戏引擎本身绘制枪火的同时会自行限值减少掉一部分spr显示(我自己脑补的猜想)
解决办法:
1、用伪枪火,不过太麻烦了要SMD去贴bmp还要做动画,我技术又太烂。。所以不会弄
2、直接用一段代码 改写新的方式。我现在把新的方式写出来给大家:
$sequence "shoot1" "shoot1" fps 30 {
{ event 5001 0 "#I20 S0.2 R2 F0 P30 T0.01 A1 L0 O0" }
{ event 5001 1 "125" }
}
大家看我把引号里原本"31" 改成了一长串代码,我现在给大家解释下代码的含义:
- "#I20":这是枪火特效的ID号,用于识别游戏中的不同muzzleflash。
- "S0.1":这是火焰特效的尺寸,表示火焰的大小。0.1表示火焰的尺寸较小。
- "R2":这是火焰特效的持续时间,表示火焰的持续效果。R值越高,火焰的持续时间越长。
- "F0":这是火焰特效的密度,表示火焰的浓密程度。F值越高,火焰的密度越大。
- "P30":这是火焰特效的渐隐参数,表示火焰渐隐的速度。P值越大,火焰的渐隐速度越快。
- "T0.01":这是火焰特效的闪烁频率,表示火焰闪烁的频率。T值越小,火焰的闪烁频率越高。
- "A1":这是火焰特效的旋转角度,表示火焰在播放过程中的旋转角度。A值越高,火焰的旋转角度越大。
- "L0":这是火焰特效的亮度,表示火焰的亮度程度。L值越高,火焰的亮度越大。
- "O0":这是其他参数,可能是一些额外的特性或特殊效果的设置。
我发现这样我就可以改个序列号就行,你可以用原来的muzzleflash2,也可以复制一个muzzleflash2(看看游戏里序列号到多少了,比如现在游戏里最大的muzzleflash文件是300,那你新建后就是muzzleflash301,那你代码就改成:
$sequence "shoot1" "shoot1" fps 30 {
{ event 5001 0 "#I301 S0.2 R2 F0 P30 T0.01 A1 L0 O0" }
{ event 5001 1 "125" }
}
我主要是有时候想自己改枪火颜色,然后不想去用频率高的muzzleflash1/2/3/4(太多枪用了感觉就会挤着游戏会消失spr),自己复制一个新的出来(会改颜色的还可以改颜色,做spr也挺简单的,有机会和大家再分享做不同颜色火焰)这就是改了后的图,BOT再多,枪火也不会消失了(还可以自己DIY颜色 大小)


IP属地:广东1楼2023-11-04 21:04回复


    IP属地:广东来自iPhone客户端2楼2023-11-04 21:09
    回复
      好帖


      IP属地:河北来自Android客户端9楼2023-11-04 23:29
      回复
        请教一下大佬,5011、5021和5001有哪些区别呀?


        IP属地:江西来自Android客户端10楼2023-11-05 01:34
        收起回复
          枪火会消失是金源引擎同屏spr动画显示有上限的缘故,命中爆的血之类的都是spr动画
          你改的这种是csol的枪火事件写法,只是SME专门做了支持(和游戏的spr渲染是分开的应该,而且依稀记得枪火序号填错成不存在的文件会直接导致炸游戏来的。)CSOL的这种枪火才能根据枪火事件显示出来对应效果的,你放到别的版本就完全没用了(原版CS1.6就4种枪火无论改的数字有多大都是最多是4号枪火)。


          IP属地:辽宁11楼2023-11-05 13:18
          收起回复
            这种写法好像会导致火焰不跟枪口,转视角的时候枪火还停留在转视角前的地方


            IP属地:广东来自Android客户端12楼2023-11-05 14:20
            收起回复
              有人解读枪火挺难得的,鼓励下加个精吧,option填会了是很方便加枪火,当然仅限于BTE 2018和SME
              至于枪火丢失,Muzz、爆炸spr等等特效都是TempEnt,可以试试把gameinfo.txt里面的max_tempents 改大 默认是500
              option的解读要改下
              R是Rotated 涉及到的是枪火的旋转,这个一般不要动
              F、L在SME里没实现
              P是Framerate,即spr播放速度
              T是spr的存在时间


              IP属地:浙江13楼2023-11-05 17:36
              收起回复
                请问原版cs1.6有用吗


                IP属地:陕西来自Android客户端14楼2024-01-14 18:00
                收起回复
                  看懂了一半,一会试试,一直伪枪火来着


                  IP属地:安徽15楼2024-01-15 15:09
                  回复
                    csbte亲测无效


                    IP属地:广东16楼2024-03-09 16:35
                    回复