particles/multiply shader not working on fbx

I started by using a primitive "Plane" as the ground. I textured it with a diffuse shader for grass, and a particles/multiply shader for random splotchiness to distract from the grass tiling. It looks like this: http://dl.dropbox.com/u/6927019/ground1.png

This is good so far, except I want the ground to be more subdivided so I can adjust height by changing vertices. Since there is no way to specify that in Unity for the Plane primitive, I create one in Lightwave 3D, convert it to fbx (just like all my other 3D assets), and use that instead.

However, the particles/multiply shader on the fbx results in a black mesh instead of shading it as expected. THE QUESION: Why would the shader work on the primitive but not on the fbx?

I know that the fbx has UV coordinates because the diffuse shader works properly on it.

I found that I could use the "Simple Additive" example from the documentation, and change the blend mode to multiply and get the effect I am after without using the particle shader.

http://unity3d.com/support/documentation/Components/SL-Blend.html

There's technically no difference between the built-in plane mesh and an imported mesh. There's probably something wrong with your mesh. Maybe:

  • your vertex normals point into the wrong direction. Try the Unity generated normals. Just check your importsettings of your fbx model.
  • your UVs are messed up in some weird way.
  • you used different materials when you tested it with the built-in plane.
  • you have exported vertex colors?