欢迎进入电液推杆专业生产厂家扬州富佳裕机械有限公司网站!
新闻资讯

服务热线18952584368

电液推杆的原理图解读模拟摇杆原理及实验

作者:147小编 发布时间:2022-05-18 01:31:23点击:617

阐释演示控制杆基本原理及试验

Interpreting Analog Sticks

当格斗游戏全力支持驱动器时,玩者可能会一直采用演示控制杆。在整座新体验过程中,科袋输出处置可能会对产品质量产生关键性影响。让上看一些核心理念基本概念以及INVERSUS的实例。

检查和

在修正演示控制杆以后,须要介绍其工作基本原理。当终端控制杆时,前述调查报告的硬体什么?这是INVERSUS的控制杆检查和的模样。并不是说这是最合适的操作方式方式,但大部份传递的重要信息都很重要。

在详尽如是说每一部分以后,让得出两个多层面的简述。正在采用相连到PC的Xbox 360驱动器。第一行代表者左杆上的研磨期。最下面带队是右控制杆。会注意到,第一行比第一行显示的统计数据更多。这原因在于INVERSUS仅采用左控制杆,因此得到了特定处置。只会从听见的视角谈及最下面的那带队,但对于采用格斗游戏,大部份人依然适用于于恰当的方式。

硬体抽象化

前两个圆盘表示从某一硬体(比如Xbox 360驱动器或DualShock 4驱动器)切换为公用输出内部空间的操作方式。相同的硬体是相同的。机械设备上略有相同,觉得也略有相同。能说这是两个不言而喻的历史事实,但可能没有考虑过。

假定在格斗街机A上合作开发格斗游戏,接着将其移殖到格斗街机B。须要维持原初修正的产品质量。如果演示控制杆的犯罪行为相同,则会觉得很多不难受。这个设想是将x,y值从受全力支持的硬体内部空间转化成两个公用格斗游戏内部空间。现在能将格斗游戏层修正为与驱动器类别无关。电液推杆厂家

径向死区

第一期代表者径向死区处置。由于结构上的限制或采用中的磨损,硬体可能调查报告不良值。此期从格斗游戏中删除了所述不可靠的值。

那么在看什么呢?红色正方形用左下角的(-1,-1)和右上角的(1,1)限制坐标系。沿X轴和Y轴分为四个象限。鲜红色的圆盘是单位圆盘。这些准则在以下每一期均维持不变。

小绿色圆盘是输出值。因为这是第一步,所以这些是直接形成硬体的原初值。绿色轨迹显示通过线段相连的输出(绿色点)的最新历史记录。白色小圆盘是该期的已处置输出。

在此期独特的是,还有两个圆盘:内部死区和外部死区。

内部径向死区

内圆内的值不能被信任。这是内部死区。在图像中,正在不经任何阻力的区域轻轻终端棍子。此处不会将棍子拉回到死点。随着管制员的年龄和虐待,该地区将增长,转移和扭曲。

内部死区中的每一值都映射为零,从而为提供了可靠的格斗游戏逻辑起点。会注意到白色输出圆盘始终维持锁定在中心。如果内部死区太紧,则当棒移到外面时运动可能会漂移。

硬体供应商通常会提供建议的内部死区值。这是两个不错的起点,但应该在尽可能多的驱动器上进行自己的测试。这些推荐值可能并不完美,采用硬统计数据进行验证也不会受到损害。电液推杆厂家

径向外死区

外圈外的值不能被信任。这是外部死区。大多数格斗游戏在内部死区方面都能接受,但由于外部死区较差(或不存在),可能会发现错误。

在第两个图像中,将操纵杆笔直向上终端到顶部边缘,接着围绕边缘逆时针滑动。在顶部,调查报告单位圆上或单位圆之外的值。生活并不完美,这是能预期的。但,当向左滚动棒时,前述上会在单位圆内切开一点,接着再向后伸出。此犯罪行为并非对大部份驱动器类别都通用,但在Xbox 360驱动器上可能会发生。

根据这些统计数据,可能会认为左侧不准确,但并非如此简单。在第二张图片中,首先将操纵杆直接向左终端。在这种情况下,将按预期调查报告。只有将其旋转一圈后,才能看到错误。

如果错误仅在旋转之后发生,那么有多重要?根据格斗游戏的相同,可能非常重要。想象两个格斗游戏,控制杆的大小控制着玩者的速度。如果玩者角色向上终端并向左倾斜,则将在最大速度下稍稍终端,直到释放并再次伸出手柄为止。

外死区之外的每一值都按比例缩放为1。这为格斗游戏逻辑创建了两个可靠的单位圈。请注意,输出(白色圆盘)维持锁定到边缘。电液推杆厂家

不幸的是,外部死区可能没有任何推荐值。再次执行自己的测试并可视化统计数据。插入一堆驱动器,看看如何反应。格斗游戏须要考虑的复杂动作之后可能会有细微的错误。

径向死区插值

在内部和外部值分别捕捉为零和一的情况下,如何处置中间值?为了避免任何不连续性,对比例进行线性插值。产生的逻辑可能看起来像这样:

幅度重映射

已经剔除了不良值,须要将结果统计数据修正为一种普通觉得。许多因素影响为什么结果在相同类别的驱动器上可能会略有相同。首先,有相同的径向死区在起作用。第二,物理棒在相同的视角能具有相同的阻力。第三,棍棒的形状可能相同:棍棒处于相同的高度会导致拇指产生相同的扭矩。最后,并不总是位于驱动器上的同一位置。

通过用曲线重新映射幅度,能觉得像推杆50%或75%都能 调查报告一致的输出,而与硬体无关。将永远无法获得如此完美的新体验,但总比什么都不做要更好。

在INVERSUS的情况下,Xbox 360驱动器是基准,因此重映射曲线仅为(输出=输出)或(y = x)。该曲线作为对角线覆盖在图像上。曲线的输出(幅度)呈现为在屏幕上滚动的垂直线。该线在输出值处与曲线相交。在这种某一情况下,输出和输出是相等的,但对于备用驱动器,采用三次样条使觉得电液推杆厂家更像Xbox 360驱动器。

稍后,将进行另两个曲线重映射以及两个显示非平凡曲线的实例。

形状重映射

如今,此步骤已不是必需的操作方式,前述上不全力支持INVERSUS,但想提一提。有时,驱动器是采用不会输出值圈的硬体合作开发的。可能在正方形中输出某些内容,或者谁知道什么。在这种情况下,须要做一些额外的预处置,以将内部空间重新映射到起点。可视化统计数据,查看发生了什么,并采取相应的措施。

PC并发症

在跳出硬体抽象化层以后,想讨论PC格斗游戏特有的复杂性。任何时候采用PC硬体-无论是用于图形,音频还是输出-事情都比控制台复杂两个数量级。在驱动器输出的情况下,前述上并没有那么遥远。希望不久的将来能删除此部分。

问题的症结在于,XInput不会告诉是否插入了Xbox 360驱动器或Xbox One驱动器。不知道为此提供任何全力支持的接口(因此对听见其方式非常感兴趣)从任何已经解决人)。这导致多个问题。首先,无法从开始/返回到查看/菜单之类的操作方式来自动修正按钮图标。其次,无法在相同的驱动器类别之间重新映射振动强度。第三(与本文更相关),不能自动修正径向死区。

在输出保真度方面,Xbox One驱动器是更好的设备。不须要360驱动器的较大外部盲区。不幸的是,在不知道相连哪两个的情况下,最合适的选择是将Xbox One驱动器限制在Xbox 360的死区中。电液推杆厂家

如果对对降低PC骇客攻击的设想不感兴趣,能跳至下一部分。否则,这是目前对如何解决INVERSUS(手指交叉)的设想。

最初考虑过采用WindowsRaw InputHIDAPI 重写 XInput 。从设备读取统计数据并不难。为灯光和电机发送统计数据会比较棘手,但可行。不幸的是,XBox 360驱动器被构建为不适合作为HID设备采用。演示触发器不能独立读取。认为这样做是为了提升XInput,但老实说不确定。

后来考虑绕过HID接口并直接与USB通讯。认为这意味着要编写驱动程序。觉得这太过分了。甚至可能达到无法向用户隐藏的程度。

最近,想到了两个新主意。前述上还没有实现,这有点疯狂,但确实拥有大部份统计数据来使之成为可能[UPDATE:这完全电液推杆厂家可行]。能采用原初输出来识别已相连的Xbox 360和Xbox One驱动器。也能采用Raw Input从驱动器接收HID输出统计数据。通过将原初输出的统计数据子集与XInput的统计数据(比如按钮按下和演示控制杆)进行比较,能将设备从两个系统映射到另两个系统。这应该允许对XInput采用的驱动器进行分类。从理论上讲,这在旧版本的XInput中也将起作用,因此全力支持旧版本的Windows。

格斗游戏意图

已经清理了统计数据并将其放入格斗游戏能处置的公用内部空间。从这里开始到每一格斗游戏的细节可能会变化,但INVERSUS采用的期适用于于大多数格斗游戏。还应该提到,具有多个上下文的格斗游戏(比如,上下车)可能会根据上下文切换设置。

角死区

玩者会尝试指向通用和某一的方向。对于INVERSUS,玩者在显示器的二维平面内终端。通常尝试直接向右或直接向上终端。在矩形屏幕上的2D格斗游戏中,能轻松查看垂直和水平对齐方式。与离开左侧5度角相比,玩者更有可能尝试并准确地直接向左侧行走。因此,做到这一点应该很容易。

通过定义一组由视角死区限制的方向来处置此问题。在此区域中时,输出将直接映射到指定方向。在图像中,有四个盲区:上,下,左和右。当输出(绿色圆盘)处于盲区时,输出(白色圆盘)被锁定到相应的轴。类似于径向死区,能平滑地内插每一相邻死区之间的视角。输出(白色圆盘)在终端时不会弹出。请注意,此操作方式须要首先切换为极坐标。对视角值进行运算后,能切换回笛卡尔坐标。电液推杆厂家

还能根据到原点的距离,用曲线修正盲区的角宽度。如果想更轻松地进行细微的轴向运动,能弯曲死角,使死角在中心变宽。

将针对视角死区提到其一些用例,因为可能并不明显。3D格斗游戏导航怎么样?对于摄像机的相对运动,玩者通常会尝试移入/移出摄像机,或左右终端。这适用于于第三人称和第一人称场景。3D相机控制怎么样?在第三人称和第一人称格斗游戏中,通常采用横向控制杆动作来转动角色。玩者不想在此过程中稍微上下终端相机。使容易。类似的逻辑适用于于直视或直视。最后,让讨论一下可能须要更简单设置的情况。在驾驶格斗游戏中,玩者经常希望准确地向前或向后行驶。顶部的死区和底部的死区可能就足够了。

灵敏度重新映射

这与用于硬体幅度重映射曲线的操作方式相同。还采用相同的调试渲染。被拆分,以便能以与硬体无关的方式来修正格斗游戏的觉得。不须要为每种受全力支持的驱动器类别重做工作。

这条曲线的形状是某一于格斗游戏的,但很可能从低处开始并向上弯曲。这将使更多的灵敏度移至控制杆的外部,从而更易于进行修正。此曲线的细微变化在格斗游戏的玩法中可能具有惊人的重要作用。值得拨出一些坚实的时间进行迭代。

在INVERSUS的情况下,曲线比大多数格斗游戏可能想要的要陡一些。这原因在于相同的终端速度对格斗游戏设计有多大用处。还在曲线的开头添加了另两个细微差别。立即上升非常快。此修正某一于格斗游戏物理的工作方式。决定在该点下的输出对播放器没有用,想充分利用输出范围,所以不会浪费任何东西。电液推杆厂家

最终输出

最终显示屏显示完全处置过的胶棒值。在这里,能验证是否能够达到格斗游戏所需的期望方向和幅度。如果运行良好,能开始在角色物理领域进一步调优。就是说,对于格斗游戏而言,这可能不是终点。不断询问能做些什么来改善新体验。

介绍翻译

并排渲染大部份期可全面介绍输出管道。这有助于假定修正并验证结果。玩者通过驱动器的语言与格斗游戏对话,翻译可能会很混乱。须要 通过此模糊翻译步骤来帮助指导某一意图。如果能进行准确的翻译,则能制作两个严格的控制格斗游戏。

相关标签: