骑马与砍杀战团圆盾物理效果之发现

首先前话,战团动态物理效果大部分是默认关闭的,不过可以自己开启调用,这不是重点无需提。重点在于,战团既然有这个潜在功能,那原本已经用在哪儿了。心细的玩家很多应该都知道会踢的箱子dynamic box,自然是用了这个效果。
实际上战团游戏中还有一个环节对普遍利用这个效果了。那就是受到打击盾牌武器物品的掉落。一般来说土兵盾牌被打掉掉的很快,并且没有很强的水平速度和高度,看不出有什么物理效果。但是我在做趣味视频的时候,做叠人塔(男上加男),让人与人互相"踩着"并根据颈骨联动,当上下被打击发生联动甩动的时候,并同时偶然的一个瞬间将上方士兵圆盾牌打落时,这个圆盾牌有几率落地时在地面上出现多圈滚动后再躺地上(一般是以圆盾打击面法线方向滚动)。至于非圆盾的盾牌由于外形问题,一般形成不了这种自发物理效果的滚动。
再加上我的理论,引擎内部武器和场景物实际上是根据人体骨骼坐标和使用条件发生用途上的改变来决定相关操作调用的权限,本质上是相通的,加上try for prop可以控制没有插(或拿)在人身上的item(因为射或拿在人身上处于不可逆的attach效果状态上)。
所以武器盾牌本身是用的时候根据物品栏将no dynamic 的prop设置于手骨,盾牌被打坏击落时短暂开启dynamic,正常情况由于没有水平初速和动力以及足够的高度,所以无法看到滚动。
此外,agent和prop都有dynamic开关,并且都有一个类似的地方就是容易在dynamic状态下出现在空中自由落体掉落突然卡在空中某处的bug,正是因为dynamic开关判定上受到外力作用后速度改变过快的不灵敏,所以它们本质上也是相通的。
所以动力学方面,无论是人还是物引擎内部肯定应该有一套公共的写法。只有先大同才能小异。
最后就物体速度作出一些解答:
游戏中有速度参数在战场中无疑是箭矢和人。实际上战团的速度都是触发器时间内位移变化的幅度而已。所以场景物体或成为场景物体的装备物体虽然在dynamic战团下没有特别的速度调用操作,但是运动速度应该也是位移随时间的变化幅度来算的,由于战团的人一般都是正常人类,遇到的战斗情况也很普通,所以很少遇到极端情况影响根据速度判定的一些效果。但是操作一些极限非正常情况时,会看到战团的各种运动有很多bug,应该是这种运动的不灵敏,毕竟战团的触发器处理效率很低。
所以先以这样一个观念看待战团游戏中的运动:一个物体(包括人)的运动启始点看作一个发射点,发射点依托的物体看作一个发射器的话。比如人的每一次微小位移可以看作地面为发射器以地面某一点发射人。
以上发射器一般情况是静态的。但是如果是动态的呢?即一个物体的位移初始点是由一个快速运动的另一个物体决定的。
我有次试验让一个无碰撞场景物体A单纯在前方生成一个动态的场景物体B,并且间断生成B的过程中快速移动A。结果B的表现出不同方向和速度的受力平抛落体的运动。
所以说明官方没有想那么细,觉得mod不会走到这一步。所以位移幅度变化判断速度的触发时间内不是那么灵敏,导致判断运动效果的触发根据位移与时间的变化关系做出有外力改变的判断。
所以以上说明就是指一个物体运动启始点随时间变化很快时,对动态物体的运动状态也会受到影响,即传递了动力和初速。
所以盾牌在叠人塔的上方的人被甩动时掉出会有更高的水平初速,致使落地面滚动。
同理现象还有战团的人和场景联动会摔死的现象,也是因为发射点和发射物都在运动,发射点运动速度过快,导致相关触发判断不灵敏,触发器得到了一个极高的相对速度,产生这是达到致死落地速度外力的判断而使人摔死。简单的例子比如飞机的降升快速转弯和编辑模式快速上下拉动有人的地面地形时人就可能会摔死。
灵敏度决定了判断的延迟,这种现象在本身的mod触发里其实就可以察觉到。比如同一个物体组合的运动处理,如果你分开写在几个触发器中,一般来说你会默认相邻几个触发是同时进行的,实际上他们是依次进行,只不过操作简单的情况下运行比较快。但是快的尺度是相对的,当你的物体运动本身就处于一个很快的尺度,这时候你默认同时进行的情况下分写几个触发描述一个物体组的运动,实际上看到的会在某些方面某些物体的运动状态上出现延迟,所以一般对同一个对象的操作能放一起就不要拆开写。所以估计引擎在处理这方面的时候,相关触发的灵敏度仅在正常速度范围内,非正常超快速度下,相对速度的计算就会不准,进而影响初动力的结果,影响后续的自发物理运动。
以上所有的总结一下就是,圆形盾牌被打落的时候,如果盾牌掉落时的出发点是快速移动的(这个快速的尺度差不多是不同骨骼点随某个动画联动运动的位移幅度,或者飞机龙珠人物那种移动的速度)并且有一定高度,盾牌就会被传递很高的水平速度或动力,落到地面的时候产生物理动力学方面的滚动。