战争雷霆吧 关注:622,667贴子:35,531,912

【干货】关于出墙抬炮管问题的原理

只看楼主收藏回复

1.刚刚看到有帖子讨论第三人称下,载具出掩体时发现炮管指向的位置不对的问题,我另开一帖大概写一下原理。
首先这个问题和炮管碰撞没有关系。这实际上是一个视差的问题。
第三人称下,我们视角的位置可以理解为,在坦克的上方靠后的某个点,如图1。
问题的关键就是,第三人称视角不是炮管,而是比炮管高得多。
毛子现在的设定是,第三人称下,炮管指向你的视角正中央(也就是鼠标指向)的第一个物体。注意是第一个物体。举个例子,如果你是叫中央鼠标指向的是一堵矮墙,不管墙后面有什么,炮管就会指向这堵墙。


IP属地:上海来自iPhone客户端1楼2020-04-23 02:31回复
    2.
    出掩体时抬炮管的问题是这样的。当你在掩体后看到外面有敌人,如图2,于是你把鼠标指向了敌人的高度。结果一出去,你发现炮管指到天上了。


    IP属地:上海来自iPhone客户端2楼2020-04-23 02:32
    回复
      2025-09-16 21:01:25
      广告
      不感兴趣
      开通SVIP免广告
      3.
      事实上你在掩体里指的并不是敌人,而是墙。见图3,你的视角指向敌人的路线是绿线,于是你以为你的坦克会指着黄线。可是由于你的视角与敌人间有堵墙,坦克以为你指的是墙上的A点(你视线与墙的交点)。最终,你坦克实际的炮线是红线,也就是“抬炮管”。


      IP属地:上海来自iPhone客户端3楼2020-04-23 02:32
      回复
        4.
        上面最关键的问题就是,坦克为什么以为你指的是墙上的点,而不是敌人。这个是毛子写的程序的逻辑,就是之前提到的,“第三人称下,炮管指向你的视角正中央(也就是鼠标指向)的第一个物体。”
        所以你在城市里开车时,炮管会不停的抖,因为视野中央鼠标指向的物体一直在变:一会是路灯,一会是地面,一会是墙…其实你希望它指的是远处某个点(比如道路的尽头),可是当那个点和你之间出现物体时,坦克就会指那个物体,见图4,红色实线是真实炮线,虚线是你以为的炮线。


        IP属地:上海来自iPhone客户端4楼2020-04-23 02:33
        回复
          5.
          这个问题是否有解呢?基本无解,这不是毛子的锅。如果你们希望炮不抖,或者出墙不抬炮管,唯一的办法就是改掉上面那个关键的逻辑:“第三人称下,炮管指向你的视角正中央(也就是鼠标指向)的第一个物体。”
          怎么改,就是设定一个炮线和视线的交汇距离。玩过空战的玩家都知道有个交汇距离,其实和那个原理相同。比如我设置交汇500米,不管眼前有墙还是树,还是什么都没有,炮线和视线都在500米外交汇。
          (换言之,现在的设定是,炮线和视线交汇在视线中央的第一个物体上,也就是交汇距离时刻在变。)
          可问题也和空战是一样的:空战里,如果调了800米交汇,近距离炮线会从敌机两侧飞过去;如果调了100米交汇,800米上炮就不知道散哪去了。
          陆战一样,如果炮线设置是和视线在1000米外交汇,那么你第三人称打近身的时候,炮永远都打在你指的位置的下面几十厘米甚至几米;如果交汇设定是10米,你第三人称打100米的敌人炮弹就会高。如图5。
          除非毛子帮你自动锁敌,否则这个问题是没有解的。不然到时候一定有人出来喷:“啊我瞄了投币口怎么打了首上爆反”;或者“100米盲射直接打飞了”这类问题。


          IP属地:上海来自iPhone客户端5楼2020-04-23 02:34
          回复
            每次前面有东西切第三观察的时候都会抬炮管,发现敌人了还要压半天高低机


            IP属地:浙江来自Android客户端6楼2020-04-23 02:36
            收起回复
              对了我补一下,还是有个解的,但也很难受,就是炮管不乱跳但是准星(那个白环)乱跳。逻辑是这样写的:准星始终指向炮线上的第一个物体。这样说大家应该比较熟悉了吧,以前我记得有段时间就是这样的。总之炮线和视线是不可以设置固定交汇的,那么不是炮线跟着视线动,就是视线跟着炮线动。


              IP属地:上海来自iPhone客户端7楼2020-04-23 02:46
              回复
                先收藏后看


                IP属地:福建来自Android客户端8楼2020-04-23 03:25
                回复
                  2025-09-16 20:55:25
                  广告
                  不感兴趣
                  开通SVIP免广告
                  对的


                  IP属地:海南来自Android客户端9楼2020-04-23 07:58
                  回复
                    毛子把第三人称砍了,从炮管里看人就解决了


                    来自Android客户端10楼2020-04-23 08:04
                    收起回复
                      赞一个


                      IP属地:福建来自Android客户端12楼2020-04-23 08:13
                      回复
                        貌似是这样,不过我倾向于他改成锁定视角交汇为10米,我一般习惯开镜打,所以没啥


                        IP属地:广东来自Android客户端13楼2020-04-23 08:21
                        回复
                          可以的,顶


                          IP属地:上海来自Android客户端14楼2020-04-23 08:22
                          回复
                            图画的不错


                            IP属地:广东来自Android客户端15楼2020-04-23 08:24
                            收起回复