minecraft吧 关注:2,550,638贴子:31,887,615

【教程】TNT炮:从入门到入土

只看楼主收藏回复

一份已经咕了很久、现在还在咕、还将咕下去的教程




IP属地:广东1楼2020-01-21 23:40回复
    前言
    ·本教程基于Java 版1.12.2制作,绝大部分内容兼容所有Java版,部分内容兼容基岩版,欢迎所有版本的玩家阅读;
    ·本教程通过各种TNT炮建造实例进行讲解,侧重分析各种TNT炮的炮体结构设计,火控部分则需要读者自行钻研(我也不太懂);
    ·本教程长期不定期更新,预计先介绍TNT炮基本设计方法,再分享(作者所了解的)部分TNT炮的设计思路。


    IP属地:广东2楼2020-01-21 23:40
    回复
      广告
      立即查看
      一、TNT炮的基本原理
      众所周知,TNT可以被红石元件激活,并在四秒后爆炸;在水中爆炸的TNT只产生推力,不破坏方块。

      TNT可以被其它TNT的爆炸所推动,不难想到可以利用多个TNT同时爆炸产生的推力来将一个TNT推至远处。结合上面几条原理,我们便可以做出最原始的tnt炮(通常称为平民炮)。
      首先我们需要搭建炮体。用方块搭建一个长U形,用下半砖封口,用于抬高炮弹TNT的发射角度;中间用水填充,为推进TNT提供环境。

      在其基础上往上叠高一层,用于填装TNT。

      布线,推进TNT全部同时激活,炮弹滞后一小段时间激活。

      按下按钮即发射

      以上就是“我的世界超远距离TNT大炮”的教程了,不知道小伙伴们有没有用TNT制作过大炮呢?欢迎在下方留言(划掉


      IP属地:广东3楼2020-01-21 23:55
      收起回复
        众所周知×2,激活装有TNT的发射器,也可以吐出一个点燃的TNT。

        将上面的平民炮改为由发射器提供TNT:

        用发射器提供TNT具有空间利用率高、可连续多次发射、便于控制等优点,是绝大多数TNT炮的核心元件(某些复制TNT炮除外),后续TNT炮都将在其基础上建造。


        IP属地:广东4楼2020-01-21 23:56
        收起回复
          二、弱归正——如何提升TNT炮的射程
          让我们继续研究平民炮。先大致画出炮弹TNT的受力情况。

          众所周知×3,TNT爆炸产生推力的作用范围是8格,且两个TNT间距越小,相互的推力就越大。
          上图中可以看到,几个推进TNT与炮弹的距离从左到右依次增大,推力也依次减小。为了增大总推力、提升射程,我们需要想办法让推进TNT都尽可能地靠近炮弹TNT。
          将炮管内的静止水改为从尾部向前流动的水:

          由于水流的作用,推进TNT聚集在炮管的前两格,显然可以带来更大的推力和更远的射程


          IP属地:广东5楼2020-01-22 00:04
          回复
            还是同一门平民炮。我们可以在平民炮的尾部加一个小推进舱,用少量TNT形成“一级推进”;原来的推进TNT则成为“二级推进”。

            一级推进TNT早于二级推进激活,同于将二级推进TNT推至炮口处一格内,最大程度地提升推力。
            (注意:一级推进的推力不能直接作用于炮弹TNT!)

            这种将推进TNT聚集在同一格内的过程,我称其为“弱归正”。弱归正可以通过水流、多级推进、活塞推动等多种方式实现,其中多级推进是最常用、最实用的方式,需要熟练使用。
            (事实上通常所说的“归正”并不是指这种“弱归正”。至于什么是“强归正”,后续篇章将会介绍)


            IP属地:广东6楼2020-01-22 00:05
            收起回复
              奥利给!干就完事了


              IP属地:广东7楼2020-01-22 00:13
              回复
                PS dalao强无敌!
                Q43dalao强无敌!


                IP属地:广东来自iPhone客户端8楼2020-01-22 00:16
                回复
                  广告
                  立即查看
                  ps強無敵就完事了


                  IP属地:广东来自Android客户端9楼2020-01-22 07:38
                  回复
                    三、推力分解(上)——如何防止炮弹TNT空爆
                    先明确TNT炮的“射程”是什么:通常所说的射程,是指炮弹在地面TNT留下的弹坑到炮弹TNT初始位置的距离。
                    众所周知×4,相同条件下推进TNT的数量越多,TNT炮的射程就越远。有时我们会需要用大量的推进TNT(发射器)来实现远距离发射,如下图是一种常见的发射器堆叠方式:

                    注意炮口依然用半砖作为“炮架”。如果你的TNT炮采取了这样的设计,可以尝试用不同数量的TNT进行推进,会发现射程并不与TNT数量成正比;如果推进TNT过多,甚至根本不会有“射程”——炮弹TNT在落地前就爆炸了(常称为空爆),这些都是我们不希望看到的结果(除非你有意为之)。

                    (半砖作为炮架,分别用3,6,9个TNT进行推进所留下的弹坑,显然并不均匀)


                    IP属地:广东10楼2020-01-22 09:28
                    回复
                      依然对炮弹TNT作受力分析。无论用了多少推进TNT,经过弱归正处理后它们对炮弹TNT的推力角度都是固定的,我们可以将推力F分解为Fx和Fy两个分力,如下图。

                      其中,水平方向分力Fx与炮弹TNT水平初速度成正比,在追求射程时我们希望它越大越好;铅直方向分力Fy决定炮弹TNT在空中的飞行时间,适当增大Fy对提升射程很有帮助,但Fy过大会导致炮弹TNT空爆。由于发射角度固定,推力F(或推进TNT的数量)必定存在一个最大值,超过此最大值时炮弹TNT便会空爆。
                      我们可以用一些简单的手段来防止空爆,如尽可能加大炮弹TNT与推进TNT的延迟(至多4秒),或将半砖换为活版门等方块来减小发射角。但采取这些手段只能使“最大值”有限增大,我们依然无法摆脱空爆的束缚。为了彻底解决这一问题,我们不得不抛弃炮架结构,改用“推力分解”的推进方法。


                      IP属地:广东11楼2020-01-22 09:31
                      回复

                        如上图,去掉原来炮口的半砖,原推进TNT为炮弹TNT提供水平推力Fx;在炮弹TNT下方增加一个小发射仓,为炮弹TNT提供铅直推力Fy。发射时,Fx与Fy同时作用于炮弹TNT。
                        采用这种结构的好处是,我们可以分别独立控制Fx和Fy的大小。在Fy确定且适当的情况下,无论我们怎样增大Fx,炮弹TNT都不会空爆,且射程与Fy(或推进TNT数量)近似成正比。

                        推力分解同样是最常用的推进方式,在许多TNT炮的设计中发挥着非常重要的作用。
                        (本帖为了方便表述,多次提及“推力”。事实上Minecraft中不存在“力”的概念)


                        IP属地:广东12楼2020-01-22 09:40
                        回复
                          gkd


                          IP属地:贵州来自Android客户端13楼2020-01-22 12:06
                          回复
                            顶顶,来几个小伙伴看看呀
                            先咕一会,下一波发点比较熊的东西


                            IP属地:广东来自Android客户端14楼2020-01-22 20:41
                            回复
                              广告
                              立即查看
                              记得以前为了调角度吧半砖活板门蛋糕附魔台之类都试了一次


                              IP属地:广东来自手机贴吧15楼2020-01-22 20:48
                              收起回复