Hello everybody,
I want to create some good wool/fur meshes for in-game and i'm trying to use this technique:
http://polycount.com/discussion/156012/fur-breakdown/p1After a lot of attempts, this is my best result so far (in Cryengine):
1st picture is from a distance, the 2nd from close-up
As you can see (hopefully) it looks alright from a distance, but pretty crappy from close-by. I was wondering if there was something i could do to improve this.
My textures:
Alpha:
Normal:
Glossiness:
Albedo:
How do i improve this guys?
Replies
Perhaps someone has some example of this method being used in game? The examples i find (like the one in the tutorial) are rendered out, so they don't seem to have that problem. I do have one example from cryengine itself, but they use it to create moss. It's still useful though.
It definitely looks better up close, and it's alright from a distance. I'll see if i can find a better texture to use aswel. What do youguys think so far then? Is it an improvement?
In order to get fins and shells to look good you need to use a lot of them and spend a lot of time creating them. They can look good, but it takes a lot of work and they can end up eating a lot of resources, on the engine side, your time AND the time it takes to rig them up and animate them. Even if they aren't being dynamically driven, they could be a nightmare for rigging/animation having a lot of different shells stacked on top of each other. But that depends on the rigs, where the fur is and the motions being done. Doing the shells by yourself could also be a significant performance hit because the engine isn't culling a specific effect but treating it like the rest of the model. This could come back to haunt you and could make LOD'ing a nightmare that looks like trash.
Opacity sorting is one of those things that can tie up a lot of the engines resources, especially if it's anything other than alpha test, which it looks like you are using which is good for performance but is hard to make a soft looking fur.
1 ) Anti-Alias
I don't know much about CryEngine but in a lot of other engines there are ways to soften those hard opacity edges without leaving alpha test. They typically rely on anti-aliasing techniques so you might want to look into that. Unreal has it, Cry should also...
2 ) Dithering
You can also dither the edges of your opacity maps. The pixels are still 0 or 1, on or off but because you've poked holes through the map it softens it a bit.
Dithering and AA can really bring out the soft fuzzy look and a lot of studios use it to great effect. If you have both available to you, use it, otherwise try just Dithering, it should help.
3 ) Plugins
A ) Neofur is technically for UE4 but there might be something similar for CryEngine. It uses the same "stacked shell" idea (I think) but handles it inside the shader so you aren't managing the shells yourself. It also has performance and distance tuning features which if you do the shells on your own, they typically aren't optimized for performance, so not only does it improve your personal workflow but it offers dynamics that scale with performance.
B ) Nvidia hairworks is great, they used it on the latest Witcher game and in FryCry4.
These plug-ins are nice because they can be easier to author assets, they have dynamic secondary motion built in as well as performance tuning. Plus they usually don't require additional work on the rigging and animation side of things.
http://wiki.polycount.com/wiki/TransparencyMap#Alpha_To_Coverage