babalae/better-genshin-impact · error · Exception
IndexRect为空
Error message
IndexRect为空
What it means
Error "IndexRect为空" thrown in babalae/better-genshin-impact.
Source
Thrown at BetterGenshinImpact/GameTask/AutoFight/Model/Avatar.cs:415
{
return;
}
SimulateSwitchAction(Index);
Sleep(250);
}
}
/// <summary>
/// 是否出战状态
/// </summary>
/// <returns></returns>
public bool IsActive(ImageRegion region)
{
if (IndexRect == default)
{
throw new Exception("IndexRect为空");
}
else
{
var white = IsIndexRectWhite(region, IndexRect);
return !white;
}
}
private bool IsIndexRectWhite(ImageRegion region, Rect rect)
{
// 剪裁出IndexRect区域
using var indexRa = region.DeriveCrop(rect);
using var mat = indexRa.CacheGreyMat;
var count = OpenCvCommonHelper.CountGrayMatColor(mat, 251, 255);
if (count * 1.0 / (mat.Width * mat.Height) > 0.5)
{
return true;
}View on GitHub (pinned to a7cb36712d)
Solutions
- 确保角色头像识别前已成功截取游戏画面
- 检查截图器是否正常初始化
- 若频繁出现,反馈该角色头像识别区域的适配问题
Example fix
单人模式重新运行让编号框正常识别;联机模式需确保队伍编号识别成功;频繁出现可反馈日志。
When it happens
Trigger: 调用 Avatar.IsActive 判断角色是否出战时,该角色的 IndexRect(编号框位置)尚未被赋值(为 default),无法裁剪区域而抛出。
Common situations: 联机或异常识别流程中角色编号块位置未成功识别,随后又尝试判断出战状态。
AI-assisted analysis of babalae/better-genshin-impact@a7cb36712d (2026-08-13).
Data as JSON: /api/errors/ad03e61a49f19307.
Report an issue: GitHub.