Cocos3.5.1 geometryRenderer能自定义渲染顺序吗



这个立方体没有把后面的网格挡住,无论如何移动立方体,网格就好像盖在立方体上一样

顶一下帖子

顶一下帖子


你depthTest = false 试试?

不行,网格还是把模型给盖住了

你是要网格被挡住是么?我搞错了,以为你不要挡住呢。你发的图能看到网格是因为你的模型是透明的。

当然是模型不被网格挡住呀,模型不是透明的

这是在cocos的场景编辑器中

按理说如果物体不是透明的,渲染顺序不是不会影响吗?

看最后的图,很像是透明的 :sweat_smile:

我仔细看了一下源码文件,不过我也是再学,答案不一定标准,但还是说出来一起讨论一下。
立方体确实是不透明的,这个是我搞错了。
之前说的深度测试也是有用的,深度测试写成false,线就在最上面了。
如果这些都没问题,那就是材质的问题了。
geometryRenderer初始化里


用的是 geometry-renderer 内置shader
对于被遮挡的处理
只是把透明度降低了,没有完全遮挡住。
希望对你有帮助~

感谢大佬,理解了,但是引擎没有提供设置材质的接口,


嗯。。你可以直接改源码,亲测可以

谢谢大佬,我试一下

造成这个的原因,应该是编辑器的网格最后渲染,但又没有设置depthTest,所以无脑覆盖上去了,本身不算什么问题。另外GeometryRenderer的目的主要用于调试以及编辑器使用,所以没有定制材质接口并且使用了Batch rendering

1赞

我在render.addLine的函数调用,depthTest设置为True,所以要两个条件,就是设置depthTest为true,自定义材质,调整材质的Priority。那可以自己根据GeometryRender自定义一个类,然后让引擎内部的RenderPipeline 来渲染