
1.2版本的火器AI
这个模组为游戏添加了火器AI的实现。
查看大图[b][center][size=3][url=https://www.nexusmods.com/bladeandsorcery/mods/8734]PCVR 版本[/url] | [url=https://www.nexusmods.com/bladeandsorcerynomad/mods/4755]Nomad 版本[/url][/size] [line] [center][b][size=5]枪械 AI[/size][/center][/b] 这个模组为游戏添加了火器 AI 的实现。
早在 U12 版本中,游戏中存在一个非常糟糕的实现,而这个模组被用作一种权宜之计,至少让它“能用”。在 1.0 版本中,这个实现大部分被移除,枪械 AI 不复存在。
进入这个模组:现在它不仅带来了改进版的 U12 枪械 AI,还包含了更多以前无法实现的功能。
- 改进射程保持 / 移动 AI
- 改进了反向运动学以获得更好的视觉效果
- 近战(例如用手枪抽打)当距离过近时
- 支持(伪)双手持枪械
[u][b]致模组制作者[/b][/u]
如果你想让 AI 使用一把枪械,你需要做两件事:
- 使用 SDK 为你的物品添加 [b]AIFireable [/b] 组件。aimTransform 应设置为子弹射出的变换位置,因此很可能是枪管末端,且其前向与子弹飞行方向一致。然后你需要连接 fireEvent 来触发武器开火。
- 在你的物品 json 中,确保在 [b]ItemModuleAI[/b] 中已将主要(或次要)类别设置为 Firearm,并且其中包含 RangedWeaponData。
更详细的解释:
[u]可开火 AI[/u]
- aimTransform: 用于将枪械对准目标
- aimEvent: 在远程攻击开始时调用
- reloadEvent: 目前未使用
- fireEvent: 当远程攻击完成时被调用
[u]物品模块 AI[/u]
- primaryClass / secondaryClass: 其中一个必须是 Firearm 才能被识别为枪械,另一个可以设置为 Melee,如果你希望目标在近战范围内时他们尝试进行近战攻击
- weaponHandling / secondaryHandling: 大多数情况下为单手,若希望另一只空闲的手与握把对齐,则设为双手。若想指定特定握把,可在物品组件上设置自定义引用,命名为“FirearmSecondaryHandle”,并引用握把变换。
- rangedWeaponData: 更多配置见下方
- defaultStanceInfo / stanceInfosByOffhand: 用于确定 NPC 持握武器时的姿态。我建议在大多数情况下使用盾牌姿态,或为双持武器使用双手姿态。
[u]ItemModuleAI.RangedWeaponData[/u]
- tooCloseDistance: 用于确定 AI 围绕你盘旋时的首选距离范围
- 散布:每次 AI 瞄准时,它会根据散布值选择一个随机偏移量,以模拟不精确的瞄准
- projectileSpeed: 在启用 accountForGravity 时使用
- accountForGravity: 瞄准时,AI 将使用 projectileSpeed 来判断是否需要瞄准更高以击中目标
- weaponHoldPositionOffset: 枪械应被持有的位置偏移
- weaponAimAngleOffset: 瞄准时的旋转偏移量,由于使用 aimTransform 来对齐枪械,您很可能不需要调整此项。
- weaponHoldAngleOffset: 目前仅使用 y 值,并用作 NPC 的转向偏移
- customRangedAttackAnimationData: 远程攻击发射时应播放的动画数据 ID
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。