Hello everybody,
I decided to open this thread after doing/read all existing tutorials and documentation about this, but I cant get proper billboards from my meshes:
Tutorial links:
I’m completely desperated, I don’t know what else I can do to make this work, sure is some problem inside some configuration but I followed the tutorials step by step a lot of times with different meshes with no succcess.
Hey, I will have some time to try to debug this later today, but first, the only unknown from your images is the “Constant Bias Scale” node. Is the bias set to -0.5 and scale set to 2? That is needed to get the normal map into the correct -1 to 1 range.
Yes, the values inside the scale bias box are -0.5 and 1.
It would be nice to have some project on content examples or a test project with a correct implementation to see what is wrong in mine.
Sorry, I have -0.5 and 2, I wrote it wrong in the post but is ok in the material:
I’m going to make tests with another mesh, I think the problem is that the billboard isn’t showing the correcct tile from the texture.
I’ll post the results.
As you can see the resulting normal maps are different, to test both of them individually I decided to create a master material and an instance and change only the normal map texture.
After making the master material I noticed that the images didn’t match the mesh:
I assume that those parameters are inside the ImposterUV box, so I decided to tweak the “ImposterRoundingOffsetX/Y” and now the sprites matchs the mesh!
Here are the results:
But I’d like to know what use have the other parameters, does someone have used them?
Also I let here a migrated content with all the assets used during the process, if someone has this problem it will help him. You have to copy the folders inside the ImposterContent to the root of your content folder inside yout project. https://drive.google.com/file/d/0BxTmF6CLy4yzZ2RvemZEWU9uUG8/view?usp=sharing
Those two offset params “Imposter Rounding Offset X” and Y were meant to offset the phase to be able to tweak where transitions occur, ie so that looking at an imposter from a flat view was actually showing it at a flat angle, but it looks like for some reason, with a reduced frame count, the defaults are causing issues. This should be fixable with some proper clamping.
The vector params FWD, RIGHT and UP were there so I could debug the normal map transformation. They shouldn’t really be changed.
ZRot is actually an interesting one. When its at 1, the vertex shader rotates the sprite a bit between frames to try to keep the visible silhouette constant, when viewed from above. Without it, you will see the silhouette pop between the captured Z rotations. That said, for very low frame count imposters (such as 8x8), ZRot can cause a slight amount of popping from the side view. It is a bit of a trade off.
For what it is worth, this whole imposter system is pretty old and pretty darn hard to use. With the new render target features, it can work much smoother without so many fiddly user steps. I am actually tasked to help out a large licensee with tree imposters soon, so I am planning to use that time to redo the imposter BP into something much easier to use.
I am also going to continue some experiments I had started long ago using motion vectors to frame blend the imposters.