redstone_machine...吧 关注:3,610贴子:60,846

回复:【扫射火控】31*31多模块全象限矢量炮

只看楼主收藏回复

卧槽熊孩子


IP属地:江苏16楼2017-02-06 11:06
回复
    熊! (/^▽^)/


    IP属地:上海来自Android客户端17楼2017-02-06 11:32
    回复
      2026-02-26 14:06:56
      广告
      不感兴趣
      开通SVIP免广告
      可以,不错的


      IP属地:广东来自Android客户端18楼2017-02-06 12:13
      回复
        不明觉厉QAQ


        来自Android客户端19楼2017-02-06 13:44
        回复
          感觉开一炮要至少两个以上的炮手同时操作


          IP属地:江苏20楼2017-02-06 13:49
          收起回复


            星座王
            点亮12星座印记,去领取
            活动截止:2100-01-01
            去徽章馆》
            IP属地:浙江来自Android客户端21楼2017-02-06 16:15
            回复
              正下方也能精确打点么?炮口有几个?


              IP属地:日本来自Android客户端22楼2017-02-06 16:30
              收起回复
                dalao


                IP属地:广东来自Android客户端23楼2017-02-06 16:45
                回复
                  2026-02-26 14:00:56
                  广告
                  不感兴趣
                  开通SVIP免广告
                  厉害


                  IP属地:广东来自Android客户端24楼2017-02-06 16:59
                  回复
                    q43dalao


                    IP属地:河南来自Android客户端25楼2017-02-06 17:01
                    回复
                      首先我们说一下喜闻乐见的落弹模块
                      落弹模块分为两部分,一部分是炮口归正部分,另一部分是空中落弹部分,这两部分都充满了各种各样用黑科技对抗bug的感人故事(雾
                      在介绍之前我们先看看三个特性&&bug
                      1. TNT实体边长不完整
                      在PC和PE的各版本中,实体TNT边长是0.98,也就是说激活的TNT体积不是1×1×1,而是0.98 ×0.98×0.98,个人认为sbjang是特意做成这样的
                      2. TNT初始运动的随机性
                      TNT被激活后会有跳起并位移的运动,被发射器发射后也会如此,但是在PC中,这种运动是随机的,摘用MCwiki里的话说就是:“生成后,被激活的TNT会被给予垂直速度0.2米/刻,随机方向的水平速度0.02米/刻。如果没有被任何方块卡住,它将会在平地上移动0.166m。”然而在PE各版本中,这个初始运动没有随机性,激活或发射后总是向一定方向偏移
                      3. 运动计算和爆炸计算不统一 (名字未定,目前简称EM)
                      在PC各版本中,这个可以说是作为一个bug出现的,如果说简介的话就是两个同时激活的TNT会在对对方产生影响后,才进行普通的爆炸事件,详情可以看一下http://tieba.baidu.com/p/4785449417?share=9105&fr=share&see_lz=0 这个帖子
                      实际上EM在PE各版本里是没有的,所以作为个人猜测,可能在制作PE的过程中多多少少改进了程序结构和算法,不过貌似他们还没有发现PC版本中的这个bug(因为最新的PC版没有修复),所以说这也是PC的一大遗毒了,不过也恭喜PE炮党不必受垃圾EM的折磨Orz
                      可以说上述三个特性&&bug是落弹模块最大的敌人
                      那我们继续完善一下落弹和平抛的概念
                      平抛:指的是不利用正交,直接在高空中使用水平推进,而利用下落的时间差创造位移,缺点是有死角,多炮口,优点是精准且简单
                      下图以前我使用的推进公用360度平抛

                      落弹:其实是平抛的另一种形式,只不过除去了方块的限制,直接在空中无依靠平抛,缺点是不精准,优点是单炮口,无死角

                      其实我是非常推崇纯平抛的,毕竟精准才是矢量炮的命根子(雾,以前的作品也多用了平抛,导致了很多人的不满Orz,所以这也就是我开坑落弹的原因
                      其实早在2015年3月,dim的第一个矢量炮,就是用了半落弹的形式,可以说很巧妙的避开了上述三个特性&&bug(尽管那时候并不知道EM的存在),但是缺点就是点阵不均匀,在此后也不断有人做纯落弹式空对地矢量炮,可惜都因很不精准而不幸流产,这就是EM的锅,直到2016年,我们才发现了EM的存在(psdalao还用这个bug做了个黑科技炮,也是可以了Orz),虽然现在这个bug的形成原因还不明确,但是现在是有方法尽量避开这个bug的


                      IP属地:广东26楼2017-02-06 17:07
                      回复
                        那么开始我们的血泪之旅吧(雾
                        首先标准落弹的方法之所以会产生大量的误差,就是因为EM的影响,导致两个方向的推进TNT,虽然同时爆炸,但实际位置向相对方向大幅偏移,导致弹坑很不精准,对此的解决方案就是尽量减小两个方向推进TNT的爆炸接触(最好让他们完全不影响对方)
                        在此利用了我以前发现的一个黑科技——透门原理
                        指TNT实体可以通过打开的栅栏门,而爆炸冲击却无法通过
                        用透门原理隔开两个推进TNT的爆炸冲击,这样就不会产生位移,所以我们可以做出落弹部分,如下图所示

                        这种是平抛和落弹的结合,相对于普通平抛它是单炮口设计,缺点是依旧有死角(原点附近是死角),而且近距离点阵不准(摩擦作用),但是远距离借鉴了标准平抛的优点,异常的精准,如镇楼图就采用了这种落弹模块来打点阵

                        这种完全悬空(推进TNT在下落中途爆炸,最底下不是封死的,有空隙,为了打击原点)优点是无死角,但是有一点不太精准(在误差允许的范围内,大概是0.5~2格)


                        IP属地:广东27楼2017-02-06 17:14
                        回复
                          关于归正模块
                          其实光有落弹部分是不行的,如果只做落弹依然会不准,因为前两个特性意味着一个未经处理TNT集束堆将时刻保持在不稳定状态,说它不稳定,是因为0.98和随机的初始运动,这导致即使TNT集束堆保持在一个的范围里,放到开往空间,他依然会因为0.98的距离差和EM的原因,导致集束堆中TNT四处乱窜,这对于矢量炮也同样致命(PS:因为标准平抛有方块挡着,所以不用在意这个,但是落弹就不行了)
                          所以为了调整0.98和随机的初始运动,我们需要归正模块来提前处理推进TNT的集束堆,处理方法就是把1个格子中散乱的0.98边长TNT都规整在一起,这样爆炸时没有了距离差,EM也就没法显现出来,说到归正部分就更简单了,常规方法是用额外的发射器发出归正TNT,通过归正TNT的爆炸冲击,将散乱的集束堆里的TNT压在一起,但是在此我会给出一个更奇葩的方案,就是利用摩擦力来归正TNT,方法就是使用粘性活塞加方块在TNT集束堆底下一拽,因为摩擦也可以体现出归正的效果,但是实际上这个想法是有缺陷的,因为在活塞执行“拽”的过程中,实际上是先把方块删除,过后在放置,而不是位移来移动方块,那么就要用一些黑科技了,如下图

                          其实在这里,利用的不再是摩擦力了(利用的类似于实体方块的碰撞),但是这个方法在1.8版本的确是可行的,但是我建议使用发射器归正
                          ~
                          到这里落弹模块算是结束了,虽然你们可能看着一会就过去了,但是这是不知是我们多少的心血呀Orz,从EM的发现到EM的避免,已经过去了大概4个月,当然还有一些黑科和淘汰的设计就不在这里献丑了Orz


                          IP属地:广东29楼2017-02-06 17:24
                          收起回复
                            测试版存档:
                            测试版有几个发射器有bud,至今我还没有找到Orz,除了这个貌似没什么问题
                            http://pan.baidu.com/s/1qY310cc


                            IP属地:广东30楼2017-02-06 17:55
                            收起回复