如何在BabylonJS中创建一个交互式网格?

时间:2018-12-28 04:03:00

标签: grid tile babylonjs

我认为这很简单。

主要目标是使地面具有纹理,并在上面随机添加一些小块,以便用户单击。

我没有找到具有瓷砖系统的演示或游乐场。

如何添加此附件?

相机处于等轴测位置。我可以进行CreateGroundFromHeightMapCreateTiledGround的操作,这给了我一个地形或一个网格,但是我似乎无法在“纹理化的地形上”覆盖一个网格并检测到一个单元。

地形代码:

        var ground = BABYLON.Mesh.CreateGroundFromHeightMap("ground", "../assets/textures/heightMap.png", 100, 100, 100, 0, 10, scene, false);

        var groundMaterial = new BABYLON.StandardMaterial("ground", scene);
        groundMaterial.diffuseTexture = new BABYLON.Texture("../assets/textures/ground.jpg", scene);
        groundMaterial.diffuseTexture.uScale = 6;
        groundMaterial.diffuseTexture.vScale = 6;
        groundMaterial.specularColor = new BABYLON.Color3(0, 0, 0);

        ground.position.y = -2.05;

平铺地图的代码

        var xmin = -10;
        var zmin = -10;
        var xmax =  10;
        var zmax =  10;
        var precision = {
            "w" : 2,
            "h" : 2
        };
        var subdivisions = {
            'h' : 8,
            'w' : 8
        };
        // Create the Tiled Ground
        var tiledGround = new BABYLON.Mesh.CreateTiledGround("Tiled Ground", xmin, zmin, xmax, zmax, subdivisions, precision, scene);
        tiledGround.material = new BABYLON.GridMaterial("groundMaterial", scene);;

0 个答案:

没有答案