如何在Babylon.js中反转BackUVs图像(Y轴)?

时间:2019-06-20 17:02:40

标签: javascript animation reverse image-rotation babylonjs

将图像分成两半并旋转后,我看到了镜像图像,但找不到解决问题的方法。

在inuput上,我有这样的图像:https://i.imgur.com/YBjMY49.png 在绕Y轴旋转之后,我回到了这样的位置:https://i.imgur.com/agyCAiW.png

我已经尝试过使用invertY和多矢量乘以-1来反转图像,但这都不起作用。

function defineCards (imgPath, scene)
{
    let f = new BABYLON.Vector4(0.5, 0, 1, 1);
    let b = new BABYLON.Vector4(0, 0, 0.5, 1);    

    let plane = BABYLON.MeshBuilder.CreatePlane("plane", {height:1.5, width: 1.05, sideOrientation: BABYLON.Mesh.DOUBLESIDE, frontUVs: f, backUVs: b}, scene);

    let mat = new BABYLON.StandardMaterial("", scene);
    mat.diffuseTexture = new BABYLON.Texture(imgPath, scene);
    plane.material = mat;

    return plane;
}
...
...
...
animation = new BABYLON.Animation("animationPlane1", "rotation.y", 60, BABYLON.Animation.ANIMATIONTYPE_FLOAT, BABYLON.Animation.ANIMATIONLOOPMODE_CYCLE);

我希望图像不会反转。

谢谢。

1 个答案:

答案 0 :(得分:0)

您需要交换第二个和第四个参数。

代替此:

let f = new BABYLON.Vector4(0.5, 0, 1, 1);

您应该具有以下内容:

let f = new BABYLON.Vector4(0.5, 1, 1, 0);