csgo吧 关注:3,728,218贴子:62,292,797

磨损值和图案模板分布分析

只看楼主收藏回复


夜愿镇楼


IP属地:江苏1楼2023-06-19 09:04回复
    本文译自https://blog.csgofloat.com/analysis-of-float-value-and-paint-seed-distribution-in-cs-go/,作者为Stepan, 发布时间为2020/7/3。其中数据与当前存在偏差,但仍然具备参考价值。


    IP属地:江苏2楼2023-06-19 09:08
    回复
      广告
      立即查看
      CS:GO皮肤数据库FloatDB不仅可以让交易者找到他们想要的物品,还可以让我们查看游戏中物品分布的统计数据。本文将探讨图案模板和磨损值的相对稀有性、磨损值极限(罕见掉落)以及 CS:GO 皮肤的生成方式。
      简而言之,CS:GO 中的每个皮肤在箱子中打开或在游戏中掉落时都会生成随机属性。对大多数交易者来说重要的主要属性是“图案模板”和“磨损值”。磨损值决定皮肤上磨损的不透明度,图案模板定义应用于皮肤纹理的随机缩放、平移和旋转变换。


      IP属地:江苏3楼2023-06-19 09:08
      回复
        磨损值分布
        如前所述,CS:GO 中的磨损值决定了皮肤的磨损度,通常介于 0-1 之间。越接近 1,皮肤看起来越破旧或“战痕累累”。专业来说,这些是 IEEE754 32位浮点数,其中包含相当多的信息。如果您在皮肤旁边看到诸如 0.07239230 之类的数字,则很可能是磨损值。
        让我们看看所有 AK-47 | 表面淬火的磨损值分布情况:


        IP属地:江苏4楼2023-06-19 09:11
        回复
          我们可以看到,仅在 0.0-0.07、0.07-0.15、0.15-0.38、0.38-0.45、0.45-1.00 这些给定范围内分布是均匀的。这与崭新出厂、略有磨损、久经沙场、破损不堪、战痕累累的磨损范围完美吻合。
          如果我们统计每个AK-47 | 表面淬火磨损区间所占的百分比,将得到这个:
          磨损概率
          崭新出厂 (0.00-0.07)~3%
          略有磨损 (0.07-0.15)~24%
          现场测试 (0.15-0.38)~33%
          破损不堪 (0.38-0.45)~24%
          战痕累累 (0.45-1.00)~16%
          因此,如果您在 CS:GO 中打开一个箱子,并且确定您将收到一把 AK-47 | 表面淬火,有 3% 的可能性是崭新出厂。


          IP属地:江苏5楼2023-06-19 09:13
          回复
            磨损值缺失的案例
            您可能已经注意到上图中每个磨损区间(例如 0.07-0.08)之间存在间隙,并将其归因于一些图表错误。但实际上,从武器箱获得的皮肤中缺失一部分磨损值!
            例如,FloatDB记录的M4A4 | 镁元素没有 0.07-0.08的磨损值,因为您无法通过汰换合同获得它,并且它的磨损范围为 0-1。这不适用于可以通过汰换合同产生的皮肤,因为公式不同。
            为什么会存在这个间隙?也许 Valve 想以更显著的方式区分磨损范围之间的差异,因此他们引入了一个间隙,使下一个更磨损的范围更明显地磨损,即使它生成了该范围的最佳磨损值。


            IP属地:江苏6楼2023-06-19 09:13
            回复
              磨损值上限
              如果您是一位更有经验的交易者,您就会知道并非所有皮肤都有 0-1的磨损值。事实上,2014年初始系列中的大部分皮肤都是以 0.06-0.80 的范围生成的,它实际上是游戏文件中的默认值,除非皮肤创建者重写它。这种情况通常出现在当0.06的磨损值对于皮肤来说看起来过于破旧时,即使它是可能出现的最好的磨损。
              那么如果范围不是 0.0-1.0,磨损值分布会是什么样子呢?以 Negev | 大嘴巴为例,磨损范围为 0.14-0.65。


              IP属地:江苏7楼2023-06-19 09:13
              回复


                IP属地:江苏8楼2023-06-19 09:14
                回复
                  广告
                  立即查看
                  您可以看到分布样式与上述的AK-47 | 表面淬火近似,不过压缩到了0.14-0.65的磨损范围内。
                  这意味着如果皮肤的磨损范围不是0-1,生成的两把久经沙场的皮肤所具有的磨损值概率并不一定相同。在这个例子中,我们可以看到获得 0.18-0.22的久经沙场皮肤比获得0.22-0.26久经沙场的皮肤的可能性要大得多。
                  从这个图中可以看出,皮肤生成是根据上面的概率表生成一个 0-1的值,然后通过公式计算确定最终值:
                  final_float = float * (max_float - min_float) + min_float
                  如果您想查看游戏中任何皮肤的磨损范围,您可以在CSGOFloat Trade Up Calculator中浏览它们。最小和最大范围所在的浮动栏上有黑色标记。


                  IP属地:江苏9楼2023-06-19 09:15
                  回复
                    磨损值极限
                    收集皮肤的主要部分之一不仅仅是获取较低的磨损值,而是拥有游戏中最低或最高浮动值的皮肤。
                    那么当我们走向极低端(<0.002)时,磨损值的分布情况如何?


                    IP属地:江苏10楼2023-06-19 09:15
                    回复
                      正如我们所见,即使达到这些较低的值,它仍然保持均匀随机。
                      我们亲自对 CS:GO 中的磨损值是如何生成的进行了一系列分析,我们实际上知道他们在服务器端创建这些值所使用的确切的随机生成器。如果您有兴趣或想测试一些东西,我们已经将他们的生成器移植到Golang中。
                      在给定的磨损范围(例如 0.15-0.38)内,数值生成器旨在以均匀随机的方式生成数值。换句话说,该范围内的任何值都应该与另一个值一样可能。如果磨损范围为 0-1,则生成磨损值为0.0000001皮肤的可能性应该与磨损值为0.0330487324皮肤一样。


                      IP属地:江苏11楼2023-06-19 09:16
                      回复
                        图案模板分布
                        磨损值控制皮肤的磨损程度,而图案模板控制纹理在皮肤上的表现方式。图案模板的范围为 0-1000,用作随机数生成器的“种子”,以便将输出作用于皮肤和磨损纹理的 x、y轴偏移和旋转的随机变换。
                        并非所有皮肤都会受到图案模板随机位移的影响,但您可能已经注意到 AK-47 | 表面淬火等皮肤看起来都不一样——这就是原因。如果两支AK-47 | 表面淬火皮肤具有相同的图案模板,蓝色和金色在两者的分布将完全相同。
                        那么当 CS:GO 为皮肤生成图案模板时,分布是什么样的?


                        IP属地:江苏12楼2023-06-19 09:16
                        回复


                          IP属地:江苏14楼2023-06-19 09:16
                          回复
                            给定 50,000 个样本大小,可以放心假设它是在 0-1000 范围内均匀随机生成的。也就是说,456 与 964 图案模板的可能性一样。
                            有趣的事实:图案模板1000只有在汰换合同中才有可能。
                            所以这说明如果开箱获得一把 AK-47 | 表面淬火,图案模板是661的概率为1/1000.


                            IP属地:江苏15楼2023-06-19 09:16
                            回复
                              广告
                              立即查看
                              汰换合同的影响
                              由于汰换合同的运作方式,通常它们倾向于输出具有较低的磨损值的皮肤,因为许多皮肤的最大浮动值小于1。我们可能会在未来更深入地探讨汰换合同。
                              由于社区已经对磨损值如何与汰换合同相互作用进行了逆向工程,因此可以更容易地“博弈”以获取具有较低磨损值的皮肤。您可以在我们的汰换合同计算器中试一试。
                              这是 AWP | 巨龙传说 的磨损值分布:


                              IP属地:江苏16楼2023-06-19 09:17
                              回复