Description

Title:Write Render Hairs to File
Category:Workflow
Status:Considered
Priority:
Posted By:Danny ( Danny Young )
Date Created:11 May 2015
Description:

I think if you could do this it would provide a couple of benefits.  First of all, instead of calculating large amounts of hair every time you open a file for rendering, you could simply reference the file.  This would save quite a bit of time on a large render farm, where maybe 5% of the render time is calculating instances for say a bear or a field of grass.  It would also remove the need to mess with the "Remember" button.

Even better if the render hairs had IDs that you could access, then you could remove problem hairs that jitter.

This could also allow you to modify the render hairs, which would be great for trying to clean up penetrations around problem areas where you don't have a lot of control guides.

I think there would be a lot of other benefits with this type of workflow that don't immediately come to mind.  Let me know if it doesn't make sense.

Follow Ups

Makes sense, though it needs some thought for proper implementation like which format to use and how to structure it. I suppose it would be a part of the hair from guides modifier and would be a sort of a replacement for the remember button.

In fact Remember button doesn't cache all of the hairs in the scene but only their roots. Similarly only the roots would need to be written to the file this way. The hair shape still needs to be generated from guides.

Marsel Khadiyev (Software Developer, EPHERE Inc.)

I'm not sure which format would be best but I would see it as an optional component of the Hair from Guides modifier that you could point to just like a displacement map.

If the hair shape is still being generated at render time then I'm not sure if it would be as useful since you wouldn't be able to make modifications to them, but you could at least remove problem hairs.  Are you saying that even if you cache the roots there will still be hair shapes generated at render time?

Correct. In fact having "final" hair shapes would be kind of limiting since it would remove all ability to make parametric changes below in the stack. Also I am not sure that loading tens of thousands of strands from HDD is faster than generating in RAM, in fact it is probably the opposite. Storing final hair would also require baking it all including animation which further removes flexibility.

I can definitely see an advantage of storing just the roots in an external file, however. It will not bring speed improvements but will allow removing problematic hairs, as you mention, and ensure consistency across computers (currently it can be done with Remember button, however, so I don't know how much of an improvement that would be).

Marsel Khadiyev (Software Developer, EPHERE Inc.)

I see.  Even if it's not as efficient, it might still be a way to have control over render hairs.  Even just being able to remove a few would be a step in the right direction, but ideally what I have in mind is some way to sculpt or somehow modify render hairs to make fine adjustments that guides don't offer.  Maybe there is a better way.