植物大战僵尸吧 关注:556,807贴子:5,058,790

【还是数据讨论帖】再探僵尸速度

取消只看楼主收藏回复

主要还是有一些没搞懂的地方所以卡住了,希望各位解答一下


IP属地:北京来自Android客户端1楼2017-06-08 14:57回复
    此帖是在这个帖子(http://tieba.baidu.com/p/3812227112?share=9105&fr=share&see_lz=0)(下文"原帖"均指这里)的基础上讨论的,而上面那个帖子又是由这里(http://tieba.baidu.com/p/3745008287?share=9105&fr=share&see_lz=0)而来的,所以如果愿意的话最好先看看这两个帖子。
    我自己琢磨这个琢磨了一天其实也没啥成果(主要是人比较傻对电脑程序和flash制作什么的一窍不通),还是想请教一下大家(也主要是关于上面第一个链接的疑问)。因为上面括号内的原因,我也只能将reanim文件和vt图像结合起来进行分析了


    IP属地:北京来自Android客户端2楼2017-06-08 14:57
    收起回复
      根据上面的资料,僵尸中心坐标的移动速度是由reanim文件中名为_ground的部件决定的,以小丑为例,先放出源自上面第二个链接的小丑v-t图像的一部分(两个周期多一点)和小丑的reanim文件中_ground一部分的截图。由于按照原帖的说法,并不是每个关键帧都要看,就选取了中间看起来有内容的部分的关键帧(下面也会分析为什么是这部分,而且也只有这部分是有内容的)。



      IP属地:北京来自Android客户端3楼2017-06-08 14:58
      回复
        由这些帧可以看出,每一帧(显然得从第二帧开始)较前一帧的x坐标增加量如下:0 0.6 0.6 0.7 3.6 3.6 1 1 0 0.9 1 1 1.8 1.9 0 0 1.6 1.6。再看看图像,是不是每一段都很吻合?因此我们可以认为那个读内存得到位置的有用关键帧正是这些。有一个问题是原帖最后提到了循环间交界处没有处理,但是如果根据图像和这个reanim的话感觉就是直接自然反复啊。还有一个问题是,从图像我们可以看出周期为69cs,但是按照reanim文件开头的帧频是12……鬼知道这帧率是什么玩意,或许在哪有缩放的数据?


        IP属地:北京来自Android客户端4楼2017-06-08 15:00
        回复
          接下来在往原帖公式里代的时候,发现自己并没有理解(+08)的取值计算,所以怎样都代不出差不多的结果,求解答(就是说对于一个以a的帧频、每周期n帧、每周期的[z+34]值已知的僵尸,其+08的值究竟应该怎样计算?主要的矛盾感觉集中在reanim文件内由_ground和vt图对比得出的每帧长既不是1厘秒,也不是reanim文件开头的1/12秒)


          IP属地:北京来自Android客户端5楼2017-06-08 15:01
          回复
            咦刚才看见楼上的回复怎么突然没了,被抽了?
            主要是不知道每个数据具体怎么取,分开说吧。
            ①初始数据(就以平均速度为例了,毕竟这个如果算出来吻合就都没问题了)&(+1C)项
            由reanim得整个一循环长18帧,坐标变化了20.9。但是由vt图得到的周期大概是69cs,显然这个18帧69cs既不是reanim文件开头的12fps,也不是您原帖中的“如果说这里的‘帧’指百分之一秒”(而且红眼在reanim文件中的循环是48帧,由图像看出其周期长约903.5cs,这和小丑的帧率又不一样)。那么(+1C)这一项究竟怎么取?同样,初始数据是取reanim文件里一帧来算px/帧还是直接算px/cs?
            ②这个倒是个小问题,就是那个47是十进制还是16进制……
            @zjfaok


            IP属地:北京来自Android客户端8楼2017-06-08 19:09
            收起回复
              “+04的值每百分之一秒的变化量是(+08)*0.01/(+1C)”--原帖
              这样说的话,一个周期+04从0匀速变化到1,每秒变化(+08)/(+1C),那么一个周期t秒变化(+08)t/(+1C)=1,所以(+08)就是(+1C)/t,即帧率……我现在才发现这个显而易见的问题。先发出来做个速记,路上慢慢想这意味着什么233


              IP属地:北京来自Android客户端15楼2017-06-09 20:52
              收起回复
                @zjfaok
                从删了普僵_ground之后的表现来看,以及[z+34]和帧率直接相关,那么是否可以理解为[z+34]就是僵尸的平均速度?但是假使如此那么最后给出的公式似乎不太对(量纲上)?而且那个47是哪来的?


                IP属地:北京来自Android客户端16楼2017-06-09 21:11
                收起回复
                  然后在这里纠正一个巨大的问题,我的锅
                  眼睛这个东西真的是非常非常不可靠的,尤其是在你非常信任眼睛都时候。
                  上面提到由图像可知小丑运动周期69cs,这在前几个周期是没有问题的,由于对肉眼观察法的信任我就没往后比对。事实上,往后延伸到图像右侧,69cs的误差就已经很明显了,周期低于69cs。这可不是1cs左右的小误差,横轴一格就16.5cs呢。(怎么发现的?假定reanim里的坐标和时空帖坐标单位一样--结论是的确这样,结合时空帖中的小丑速度算出周期长,发现只有63cs不到……。不过总之时空帖采用的坐标单位和reanim文件是相同的)


                  IP属地:北京来自Android客户端17楼2017-06-09 22:06
                  收起回复
                    @zjfaok
                    又推了一下,帧率(也就是+08,下文帧数就是+1C)可以由 帧数/周期长 这个式子变形为 帧数*平均速度/单周期的位移。而原帖的叙述“(+08) 的值等于 ((+1C) / Y) * [z+34] * 47”,两式对比,就是说认为[z+34]*47就是平均速度?但是这样算的话小丑橄榄平均速度都是31.02~31.96(这里的范围是[z+34]范围导致的),梯子平均速度37.13~38.07。和时空帖差距还是有点大啊…


                    IP属地:北京来自Android客户端19楼2017-06-10 00:11
                    收起回复
                      啊对了,如果需要精确计算某个时刻类似红眼的东西的坐标,还有一个问题在于,僵尸出生后这个循环究竟从哪里开始…几张测试图(小丑梯子红眼)显然都不是从reanim里的第一个有效关键帧开始的。


                      IP属地:北京来自Android客户端20楼2017-06-10 00:27
                      收起回复
                        那啥,不知道您有没有看到上面问的,就是reanim里的帧到底是啥条件会进下一帧呢?由+04控制吗
                        @zjfaok


                        IP属地:北京来自Android客户端25楼2017-06-11 13:36
                        收起回复
                          虽然有几个细枝末节的问题前辈还没有回我,但是总体的模型应该已经差不多了呢。但是感觉计算量好大啊…有空上pc了可以用Excel帮忙但是觉得还是极其麻烦。所以说或许对于波动不那么大的小丑,也许可以求出真实位移与平均速度计算的位移的最大偏差,然后把这个偏差直接加在出生坐标上。红眼这种…实在有点茫然233


                          IP属地:北京来自Android客户端26楼2017-06-11 20:13
                          回复
                            现在剩余的几个小问题是:
                            1.“动作包含的关键帧总数 * (+04) + 初始关键帧序号 == 当前关键帧序号”,这个过程肯定是要取整的,那么具体的取整方式是怎样?
                            2.在计算+08和由+08计算每厘秒+04的变化量这俩过程中,有没有取整的操作?
                            3.原帖那个各僵尸[z+34]的取值范围,是取范围内的几位小数?
                            @zjfaok 谢谢您了,这个事情总算好像是差不多了233


                            IP属地:北京来自Android客户端27楼2017-06-11 20:17
                            收起回复
                              也不知道reanim里第一个关键帧的坐标意味着什么,并不是每种僵尸都一样的
                              雪人:-103.8
                              巨人:-79.8
                              小丑:-49.8
                              梯子:-39.8
                              气球舞王伴舞跳跳领带(铁门没单独出现,应该也算领带):-9.8
                              剩下的(除了俩车,压根没有_ground):-59.8
                              什么玩意啊,这个具体坐标值到底有没有什么含义呢…


                              IP属地:北京来自Android客户端28楼2017-06-11 22:08
                              回复