VrayFur & VrayFurStyler Questions

Hi all,

sorry if the answers to these questions are basic for Vray+Max-users, but I’m by far not as proficient with Max yet as I am with Maya.

I’m trying to paint the initial and bend directions on a character mesh using the VrayFurStyler modifier and cannot get the VrayFur to closely hug the surface. It works on a flat plane, but I even have trouble on a sphere. What values or combinations of values do I need to paint/adjust in order for the fur to more or less closely hug the surface and still point in the desired direction without the tips penetrating into the underlying surface?

Also, where are the vertex color maps painted with the VrayFurStyler stored, to ie get at them for further editing in Photoshop?

Is VrayFur as dependent on UV direction as MayaFur and should I lay out UV’s appropriate to an inital inclination direction, ie 0>1 in V?

I’ve been playing with VrayFur for a little bit now as an alternative to MayaFur rendered with PRman and I think this has some really great potential, especially once it has more control options added ( ie ability to distribute knots along the strand with bias toward either the tip or root)! So far it’s been rendering pretty fast as well, even with GI etc, and looks great!

Cheers!

Can you show your results so far?

Also, where are the vertex color maps painted with the VrayFurStyler stored, to ie get at them for further editing in Photoshop?They are vertex colors, not bitmaps; as such you can’t edit them in PhotoShop. You can edit them with the 3ds Max VertexPaint modifier though.

Is VrayFur as dependent on UV direction as MayaFur and should I lay out UV’s appropriate to an inital inclination direction, ie 0>1 in V?The directions are computed with respect to the UV coordintes, so yes proper UVs are important.

Best regards,
Vlado

Thanks for the quick reply, Vlado. :slight_smile:

I’ll try to post an image by tomorrow.

Is there a way in Max to export those vertex color maps, ie for use in Maya with VRayFur in the same attribute map slots on the same object/character?

Could you define “proper” for the UV’s a bit more? Is that “proper” as in “cut-up and aligned along 0 to 1 in V” matching a desired directionality or just plain properly laid out UV’s as used for texturing?

Cheers!

That’s a good question. Perhaps a format like FBX or Alembic can export them as vertex color sets in Maya, but I haven’t tried it.

Could you define “proper” for the UV’s a bit more? Is that “proper” as in “cut-up and aligned along 0 to 1 in V” matching a desired directionality or just plain properly laid out UV’s as used for texturing?I mean proper UVs as for texturing.

Best regards,
Vlado

I’ve been able to get a little further with this. See the below image.

Since I cannot attach bmp, the image quality has degraded quite a bit. The actual render looks much cleaner and shows more detail. I adjusted the VRayFurStyler>Height attribute down to 0 and with some added Bend direction and other adjustments on the VRayFur itself, was able to get the fur to hug the surface of the sphere a lot better. I find that I need to paint the 2 attributes separately to get close to the result I’m after.

Since I’m not that familiar with Max yet, I don’t really have a good understanding of what these brush parameters in the VRayFurStyler do exactly, Height, Min/Max, Brush, so if you could point me to some docs that describe them or quickly explain them to me here, that would be great. Brush Size is fairly self-explanatory though.

I tried this on a stylized animal character, but was not able to satisfactorily paint direction changes on the face and have lots of problems concealing UV seams. This creature is a lot more stylized than “johnchen’s” rats in this thread here, so there are some near 90 degree direction changes on the geo and 180 degree direction changes for the fur, which seem so confuse the fur and would probably require manually editing a color map in PS or Mudbox etc. I’m wondering if I should use a higher or lower resolution mesh for painting the attributes onto in Max, ie put a Turbosmooth on it before applying the VRayFur?

With some more control over the strands, some dynamics possibly and an intuitive parameter-painting interface this has some really great potential. I think the results look great and very clean without any GI blotching (Irrandiance Map and LightCache), as I would get them with MR and FG on MayaFur, even at low quality settings plus from what I can gather so far, its faster. I can already see myself using VrayFur quite a lot on all kinds of things, provided I have said control.

I’d really want to use VRayFur on a current project with cartoon animals (which unfortunately I cant show here), but if I cant get the strands to flow precisely right, I’ll have to resort to a comp workflow, rendering the animals with PRman and MayaFur, so any and all suggestions and input are really much appreciated. I’m going to try the workflow “johnchen” describes in his tutorial for Maya next. The animation will come out of Maya, so if I can get the VrayFur to work right there, that’ll be fine too, plus I could use those color maps in Max also.

Cheers!

This would mean practically a new hair styling solution and I don’t really want to go there :slight_smile: There are a number of plugins that already do a great job on this and they render more or less fine with V-Ray (for 3ds Max, there is Ornatrix, HairFarm, built-in Hair&Fur; for Maya there is Maya Hair/nHair, Shave&Haircut and Yeti).

Best regards,
Vlado

Yeah, you’re right and I can see why you’d want to pass that by. lol

As is, VRayFur already has a number of nice application capabilities. Still, some more control over the fur strands, even via attribute input only, would be nice to have, ie as I mentioned before the ability to bias the number of knots and their position toward either tip or root and maybe something like “Roll” as in MayaFur. The ability to attach VRayFur to another dynamic- or non-dynamic curve system, ie the way you can drive MayaFur dynamically via MayaHair, would really be great. That way ie Fibermesh curves from ZBrush could also be used as styling inputs.

Can you briefly tell me a little bit more about these brush parameters in the VRayFurStyler or refer me to some docs?

Cheers!

I know that this is far fetched but advanced vray fur would be fantastic. Really often you DO NOT wish to add yet another package to your list of tools and often these plugins are not very well thought through and not very well developed :frowning:

I agree, with just a few more features as mentioned in my last post and ie displacement along the strands such as frizz or kink, I could see myself using VrayFur all over the place. :slight_smile:
Once you’ve gotten the hang of it, it’s so easy to use and exceptionally fast to render, considering VRay is a raytracer. Shave can be such a royal pain in the behind, Ornatrix and Hairfarm are more extensive that I would need for furry things, MayaFur does not render with Vray and I don’t have access to Yeti. So VrayFur as an alternative to Max Hair&Fur/MayaFur would be just fantastic, ideally still included in the Vray-renderer package. :wink:

To follow up on my last post, saying I’d try John Chen’s workflow in Maya, I have to say that works great! I still have to get a good grasp of how to paint the colors to get exactly what I want. Since I’m not a mathematically inclined person, it’s taking some time to wrap my head around the concept of painting a vector rather than a value for the 2 direction attributes and being able to paint that intuitively with the UV space in mind. So far I’ve been playing on a fur-ball only, but I’m slowly getting the hang of it.

Cheers!

Still, some more control over the fur strands, even via attribute input only, would be nice to have, ie as I mentioned before the ability to bias the number of knots and their position toward either tip or rootThis is actually easy to add. Not sure about the “roll”, I have to check this out.

For the painting - you are doing this directly in Maya then? I know that someone developed a way to take brush textures from Maya Fur and use them with VRayFur and it was not that difficult at all actually. Would this help?

Best regards,
Vlado

That sounds great! I’m looking forward to it. :slight_smile:

Yes, I’m doing the painting in Maya now. Unfortunately all MayaFur attribute maps, other than those for the color-related attributes, are grayscale. I tried one (MayaFur>Polar) in the Bend Direction & Init Direction slots, but that did not even get me anything close to the kind of results I’m after. For the other maps that use a grayscale input, Maya Fur maps, ie Baldness, Length etc work nicely though and can be reused as-is without issues. If you have some info on how someone successfully used ie a MayaFur “polar”-map to set the Bend Direction and Init Direction on VRayFur, I’ll gladly take a very interested look at that.

Cheers!

Here’s a quick test render to visualize the color-to-direction relationship relative to UV-space, which the plane the fur is applied to represents:

This render was done as a region of an HD720 output on an old WinXP-64 Core2Quad/8MB RAM-system with VRayPhysicalSun&Sky+Exponential ColorMapping at more or less medium quality settings for the DMC Sampler, Irradiance Map and LightCache, and is in lossy quality due to conversion to jpg format. The vertical and horizontal segments have a different blue component than the corner ones, which is both still very small. While the red and green components are fairly straight-forward to paint, the blue one is kinda tricky.

I think it would be more intuitive to split the 3D coordinate attribute for “Init Direction” up into two separate 2D coordinate parameters, such as “Direction” and “Inclination”. That way one could simply paint and control initial direction and initial inclination separately. Although the above image uses the same color map for “Diffuse” on a slightly edited VrayMtl, and on the VRayFur’s “Init Direction” and “Bend Direction” map slots, I still have to play a bit more with “Bend Direction” to fully understand that parameter.

It also crossed my mind that “Bend Direction” might actually be the same thing as MayaFur’s “Roll”, only without a slider control, but I’m not sure.

Widget/Curve/Ramp controls for attributes like “Taper”, “Bend”, “Bend Direction”, etc would be killer additions to make it even more versatile, as would the previously mentioned ability to attach VRayFur to another dynamic- or non-dynamic curve system.

The more time I spend with VrayFur the more I’m coming to realize that it’s not really that far away from being a solid competitor/alternative for/to MayaFur and could even really kick the latter’s butt. Why wait for AD to come down from it’s high horse and give you access to their precious API, when you already have the nuts&bolts of something possibly even better?

Anyways, VrayFur is truly one of Vray’s hidden little gems and I’ll keep playing with it for a while to fully wrap my head around it. :slight_smile:

Cheers!


It can help to think of these maps as the same as normal maps - the color encoding format and the meaning of the individual components is very similar with RGB 128, 128, 128 being the zero vector, and RGB 128, 128, 255 - perpendicular to the surface and up along the normal, and RGB 128, 128, 0 - down along the normal.

The initial direction controls the direction that the strands start out with at the root, and the bend direction controls the direction that they try to follow towards the tip. How much they will bend from the initial direction to the bend direction is controlled by the “bend” parameter.

Best regards,
Vlado

Here is perhaps a somewhat clearer example.

Best regards,
Vlado


Thank you very much for the additional info and images, Vlado. I’ll keep that in mind, when I continue with my tests today. :slight_smile:

Cheers!

Here’s an image of a final experiment, to conclude this thread from my end. Enter Mr.70’s-Sideburns-man:

This test uses different gray-scale maps in the Density, Length and the same color map in the Init&Bend Direction slots and the same lighting/rendering setup as previously described. It’s just a very crude, unrefined example, but I think it illustrates nicely what is actually possible with VrayFur and maps. Now, if I understand it correctly, the VertexColorMap-method used by the VrayFurStyler modifier is rather limited in its use depending on the resolution of the mesh it is applied to, kind of like PolyPaint in Zbrush, but good for stuff that does not require any real control and won’t be used in other apps. Color bitmaps open up a very extended range of flexibility, precision and control though. Maya’s 3Dpaint capabilites are rather “imperfect” to put it mildly, but are more or less usable to interactively block out the color maps for further refinement in ie Mudbox or Photoshop. This will require quite a bit of back and forth for fine-tuning though. I’m not sure if the same kind of interactive-paint setup can be used in Max.

Anyways, as mentioned before, additional parameters such as twist, scraggle/kink/frizz etc would be very sweet to have in order to take it even further than currently possible. Here’s hoping you’ll be developing this very cool feature-set some more. :slight_smile:

Thanks a lot again for your input guys!

Cheers!