绘制3d直线

  • Creator 版本: mac 3.8.1

  • 目标平台: 编辑器内

似乎是没有找到类似unity的gl绘制直线的方式,曲线救国发现mesh似乎可以。

 let lineNode = new Node();
        let mr = lineNode.addComponent(MeshRenderer);
        // 定义顶点数据
        let vertices = [
            0, 0, 0,
            3, 0, 3,
            3, 0, 0
        ];


        // 定义索引数据
        let indices = [0, 1, 2, 0];
        var meshData: primitives.IGeometry = {
            positions: vertices,
            indices: indices,
            primitiveMode: gfx.PrimitiveMode.LINE_STRIP
        }

        var mesh = utils.MeshUtils.createMesh(meshData);

        mr.mesh = mesh;
        resources.load<Material>("material", (error, mat) => mr.material = mat);

        this.node.addChild(lineNode);

本来以为通过切换primitiveMode可以绘制直线,但是绘制出来的还是三角形,使用方式不对么?

我也有这个需求,请问成功了吗?

不是有现成的组件吗? 虽然没用过 line

gfx.PrimitiveMode.LINE_STRIP
你这个 索引数据就是三角形啊 :rofl:

可以试一下line组件

应该是 mesh 的图元设置没有生效 或 被材质的图元设置覆盖了,修改材质的图元设置为 LINE_STRIP 即可。
Snipaste_2024-02-27_15-58-37

这是line啊,三角形是triangle吧

感谢,修改了材质的piple states下的primitive为line相关的就可以了