版本:3.8.6
在3D粒子系统中,当我想使用粒子发射模型的时候
我自定义的菲涅尔Shader无法使用
查了半天问题之后发现,3D粒子系统中的Mesh根本抓取不到模型的法线信息,导致我的自定义Shader一直报错,什么时候能修复这个问题,并且支持呢?
版本:3.8.6
在3D粒子系统中,当我想使用粒子发射模型的时候
我自定义的菲涅尔Shader无法使用
查了半天问题之后发现,3D粒子系统中的Mesh根本抓取不到模型的法线信息,导致我的自定义Shader一直报错,什么时候能修复这个问题,并且支持呢?
粒子的shader也是支持获取Mesh法线的,以cpu粒子为例,可以类似这样试试
// vs
CCProgram particle-vs %{
#include <builtin/internal/particle-vs-legacy>
#if CC_RENDER_MODE == RENDER_MODE_MESH
out vec3 v_normal;
#endif
vec4 vert() {
#if CC_RENDER_MODE == RENDER_MODE_MESH
v_normal = a_normal;
#endif
return lpvs_main();
}
}%
// fs
CCProgram tinted-fs %{
#pragma define RENDER_MODE_MESH 4
// ...
#if CC_RENDER_MODE == RENDER_MODE_MESH
in vec3 v_normal;
#endif
vec4 add () {
// vec4 col = ...;
#if CC_RENDER_MODE == RENDER_MODE_MESH
col.rgb = v_normal;
#endif
return CCFragOutput(col);
}
}%
