我正在学习Amazon Sumerian进行Web VR开发。我正在尝试从update()方法中该实体的脚本更改color属性。代码如下:

function update(args, ctx) {
    ctx.entity.transformComponent.setTranslation(0.6, 166, distance);
    distance += 10;
    if (distance > 1500) {
        distance = -10;
        ctx.entityData.color = "blue";
    }
}


我也尝试通过colorctx.entity.color设置ctx.entity.setAttribute('color', 'blue')属性,但这也不起作用。我也没有在他们的官方网站上找到任何用于设置颜色的文档。我认为我缺少一个简单的陷阱。

从脚本更新实体颜色的正确方法是什么?

最佳答案

以下方法未记录。这可能只是Sumerian文档不完整的征兆,也可能表明该方法尚未得到官方支持,因此将来可能会发生变化。但是现在,您可以使用以下方法来完成所需的操作。

function update(args, ctx) {

    ctx.entity.transformComponent.setTranslation(0.6, 166, distance);
    distance += 10;

    if (distance > 1500) {

        distance = -10;

        // Color is a 4 component array in the order: red, green, blue, alpha
        const blueColor = [0, 0, 1, 1];
        ctx.entity.setDiffuse(blueColor);
    }
}

关于javascript - 如何通过Amazon Sumerian中的脚本设置实体的颜色?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54161990/

10-11 03:57