【问题标题】:Isometric Room Generating X, Y Coloring生成 X、Y 着色的等距房间
【发布时间】:2021-12-04 18:16:13
【问题描述】:

我想生成一个等距的房间,我想用这种风格着色:

但是我当前的代码给了我这个结果:

这是我当前的代码(我不知道,如果它是用这种方法生成块的正确方法。也许任何人都可以帮助我,它是如何正常工作的?

for(let iX = 0; iX < 10; iX++) {
    for(let iZ = 0; iZ < 10; iZ++) {
        if(iX % 2 == 0) {
            material = material1;
        } else {
            material = material2;
        }
        
        var box = generateBox(1, 0.1, 1, material);

        box.name = `box-${iX}-${iZ}`;

        box.position.set(iX, box.geometry.parameters.height / 2, iZ);

        room.add(box);
    }
}

【问题讨论】:

    标签: javascript three.js isometric


    【解决方案1】:

    您仅根据iX 变量的值更改材质样式。相反,您应该根据 iXiZ 变量的值来更改它,如下所示:

    if ((iX + iZ) % 2 === 0) {
      material = material1;
    } else {
      material = material2;
    }
    

    【讨论】:

    • 建议 :) (!((iX + iZ) % 2)
    猜你喜欢
    • 2021-05-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-28
    相关资源
    最近更新 更多