首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Libgdx - 3d粒子混合问题

Libgdx - 3d粒子混合问题
EN

Stack Overflow用户
提问于 2014-11-26 19:01:38
回答 1查看 423关注 0票数 0

我尝试创建包含两个发射器(控制器)的简单粒子系统:一个用于火灾,一个用于烟雾。我这样做是有问题的,并且没有使用编辑器。我从fire开始,创建了BilboardParticleBatch set纹理,结果一点也不好。原因是批次内部的混合函数不正确。因此,我在自己的批处理中覆盖了它,并将其更改为GL_SRC_ALPHA,GL_ONE -这样会产生更好的结果。所以现在使用我的批次,火看起来很好。然后我想添加烟雾,所以我想在这里使用非预乘混合,所以我再次创建了新的批处理扩展BillboardparticleBath,并使其使用SRC_ALPHA,ONE_MINUS_SRC_ALPHA,并为其分配烟雾纹理。所以烟雾是完美的。

主要的问题是如何合并两个控制器。如果我将它们都放到ParticleEffect中,并将这个效果放在ParticleSystem中,那么我可以将它们渲染在一起,但问题是,当来自两个发射器的粒子重叠时,有时它们会有错误的混合。这是因为它们可能没有被排序在一起,因为它们使用了两个批次。排序不是按效果级别应用的,而是按批处理级别应用的。所以这不是一个解决方案:

我可以尝试只使用一个批次,并使用TextureRegion influencer,以便在一个批次内使用不同的烟和火的纹理,但如何解决不同的混合问题,因为它将是一个和相同的批次。

这是一种以某种方式将两个批次合并为一个,并告诉它使用添加物渲染火焰和使用alpha渲染烟雾的方法。

提前感谢!

EN

回答 1

Stack Overflow用户

发布于 2014-11-27 22:53:40

问题解决了。现在它在两个批次上工作得很好。我只是在覆盖粒子批次时为材质添加了深度测试功能。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27147418

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档