You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

UE5中3x3x3立方体阵列起点到终点的途经立方体数量计算方法

3x3x3立方体阵列途经Actor数量计算方案(Unreal Engine)

核心思路

用3D版Bresenham算法遍历起点到终点直线经过的所有网格坐标,每个坐标对应一个立方体Actor,统计遍历到的坐标总数即可得到途经的立方体数量。

具体实现步骤

  • 给立方体绑定网格坐标:在立方体蓝图中添加三个整数变量XGrid、YGrid、ZGrid,放置阵列时给每个立方体设置对应的三维坐标值(比如从(0,0,0)到(2,2,2))。
  • 获取起点终点的网格坐标:通过射线投射或直接引用起点(绿色)、终点(红色)Actor,读取它们的XGrid、YGrid、ZGrid值,记为Start(Xs,Ys,Zs)和End(Xe,Ye,Ze)。
  • 实现3D Bresenham算法计数:
    1. 计算三个轴的差值与绝对值:Dx = Xe - Xs、Dy = Ye - Ys、Dz = Ze - Zs;AbsDx = Abs(Dx)、AbsDy = Abs(Dy)、AbsDz = Abs(Dz)。
    2. 确定各轴步进方向:StepX = 1(若Dx>0),否则为-1;同理得到StepY、StepZ。
    3. 初始化误差项:Err1 = AbsDx - AbsDy、Err2 = AbsDx - AbsDz。
    4. 循环遍历:从起点坐标开始,根据误差项判断每一步的轴移动方向,每移动到一个新坐标就将计数+1,直到到达终点坐标。起点本身算第一个,终点算最后一个。

代码示例(C++)

int CountPassedCubes(int Xs, int Ys, int Zs, int Xe, int Ye, int Ze)
{
    int CubeCount = 1; // 起点计入数量
    int Dx = Xe - Xs;
    int Dy = Ye - Ys;
    int Dz = Ze - Zs;

    int AbsDx = FMath::Abs(Dx);
    int AbsDy = FMath::Abs(Dy);
    int AbsDz = FMath::Abs(Dz);

    int StepX = Dx > 0 ? 1 : -1;
    int StepY = Dy > 0 ? 1 : -1;
    int StepZ = Dz > 0 ? 1 : -1;

    int Err1 = AbsDx - AbsDy;
    int Err2 = AbsDx - AbsDz;

    int CurrentX = Xs, CurrentY = Ys, CurrentZ = Zs;
    while (CurrentX != Xe || CurrentY != Ye || CurrentZ != Ze)
    {
        int Err1Double = 2 * Err1;
        int Err2Double = 2 * Err2;

        // 处理X-Y平面的误差
        if (Err1Double > -AbsDy)
        {
            Err1 -= AbsDy;
            CurrentX += StepX;
        }
        if (Err1Double < AbsDx)
        {
            Err1 += AbsDx;
            CurrentY += StepY;
        }

        // 处理X-Z平面的误差
        if (Err2Double > -AbsDz)
        {
            Err2 -= AbsDz;
            CurrentX += StepX;
        }
        if (Err2Double < AbsDx)
        {
            Err2 += AbsDx;
            CurrentZ += StepZ;
        }

        CubeCount++;
    }
    return CubeCount;
}

蓝图实现提示

如果用蓝图实现,可将上述逻辑拆分为节点:用整数运算节点计算差值、绝对值、步进方向,用循环节点执行遍历,用变量维护误差项和当前坐标,每次循环更新计数。

内容的提问来源于stack exchange,提问作者Bakterhaz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 00:20:06