Page MenuHome

2.82 Particle Hair not showing as expected in Cycles viewport/rendering due to optix rendering
Closed, ResolvedPublic


System Information
Operating system: Windows-10-10.0.18362 64 Bits
Graphics card: GeForce RTX 2080 Ti/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 436.48

Blender Version
Broken: version: 2.82 (sub 1), branch: master, commit date: 2019-10-30 23:03, hash: rB59b16e28d974
Worked: 2.79 and before

Short description of error
Blender version 2.82: Particle Hair not showing in Cycles viewport/rendering at certain size changes of the emitting object.

Exact steps for others to reproduce the error

  • make any object in Blender and set up a hair emitter, preferrable with a HairBSDF or any other Hair shader.
  • now change the size of the object in live view (cycles/optix)

Result: the hair is vanishing and getting weird when the size of the object ("s" on the keyboard) is de- or increased.

Event Timeline

Jonathan (Batty) updated the task description. (Show Details)
Jonathan (Batty) updated the task description. (Show Details)

Can partially confirm.

Cycles does not show the hair at all...

Not using a texture as a color source, instead using the color native to the HairBSDF, I find that the hair is wholly desaturated in Cycles, but is present in an F12/viewport render. I did not try a color texture as you did, and did not get a bald head.

Switching to Eevee - they hair shows but only in black...

The Hair BSDF is not compatible with EEVEE. per T56207, hair using this shader will show up as black in EEVEE.

This is a recent change. I'll try to bisect this tonight.

I have no problem with master and provided .blend file.

First, active object is an eye under edit mode. Hair material is present into list of materials of eye. It is unnecessary. It is sufficient to use it only on body object.

Second , hair are visible in viewport in Rendered mode. Hair strands just have a ridiculously small radius.
Radius Scale setting under Hair Shape panel of hair properties is set to 0.01. For a strand root of 1 meter, it seems legitimate, except that your character has a global scale of 0.01.
If you apply scale of character or change the Radius Scale settings, hair should become obvious.

Finally, @groosgood answered about hair color. HairBSDF shader is only working for Cycles, not EEVEE. And final result is relative to the way model is enlightened.
Don't expect a great render if there is no light in the scene.

I see no bug, here.
You should try to ask people on support forums like Blenderartists before making a bugreport.

Philipp Oeser (lichtwerk) lowered the priority of this task from 90 to 30.Nov 1 2019, 3:12 PM

Textures are missing.

Cannot really reproduce [like @Garry R. Osgood (grosgood) said, Hair BSDF is not supported in eevee], this is what I get with cycles (after speedpainting a new texture :) and adding a light -- sorry the artistic lack...)


To check this further, please pack the textures, already connect them to the hair shader and upload again, thx. (this will save devs some time setting this up again...)

Hi and thanks for all your input to this problem. I included a picture of what I expierience and also as you said, Philipp - all textures + the newest Version. I just hope everything is complete.
I finished the connections as good as i could and know how to do. Lights included :)

In the picture you see the Cycles version only, I will exclude Eevee now and see this part as "solved".
The BSDF Hair as you can see is blue in the shader - but not in the final Render (lower, right) because it's gone.
In the viewport it should be blue as well, but is black in the material shader vieport (upper, right) - at least it's there - unless you switch to the particle editor (to come the hair) - then it's gone as well (pittle picture in the middle).
In the Cycles viewport it's gone as well. The model in newest form is following - I cleaned up the textures there. HairBDSF is only on the body main part - where the hair particles reside.
The Body hight is 1meter and 87centimeters

This comment was removed by Jonathan (Batty).

The Body, but how to I pack this as a blenderfile with the textures?
I'll upload them as such for now :o hope that is correct?

The hair has only the shader "HairCol" on it.

Jonathan (Batty) renamed this task from 2.81+2.82 Particle Hair not showing in Cycles viewport/rendering + no color in viewport/rendering from HairBSDF (always black) to 2.82 Particle Hair with HairBSDF shader not showing in Cycles viewport/rendering.Nov 3 2019, 8:40 AM
Jonathan (Batty) updated the task description. (Show Details)

I tried the exact same procedure with a simple cone in Cycles.
The result is as expected to be: it works flawlessly and the HairBSDF made the hair in cycles green (Viewport and final render).
So it seams not to be a bug.

I am getting the figure without hair from Daz3D as a collada import.

I will test different other transfer formats later this day and keep you all updated about the results. At least I can try FBX and OBJ files. *sigh* I hope something works correctly.

You didn't assign the material to vertex-groups faces.

  • Go edit mode and select that vertex group
  • Go to material panel ( stay in edit mode) with HairCol selected click assign

This is should do it

@Garry R. Osgood (grosgood) wildly and speciously claimed:

Can partially confirm.

Well, no, now I can't. Operator error in my own material setup for hair which desaturated the color. Silly me. Blender can be complicated.
Now working with your file, I cannot reproduce your bald condition in Marion Rastaltestrig002.blend. Loading it and switching to the Cycles rendering engine gives me a magenta man with very fine, blue hair.

Magenta is the default warning "texture" indicating that a texture cannot be found. The hair is manifestly rendering, but has pretty fine geometry. I can't find anything buggy; just not completely set up. Blender can be frustrating - even for people using it for fifteen, seventeen years or so - witness my own gaffe with which I opened.

The Body, but how to I pack this as a blenderfile with the textures?

Pack everything method:

  1. File -> External Data -> tick the checkbox "Automatically Pack Into .blend"
  2. Every external asset file which your opened blender file depends on is scheduled to be included in the .blend file on the next save. If an asset cannot be found, Blender posts an info dialog box; the information on missing assets is also repeated in the info panel. The prudent/paranoid fellow, however, will also do step three before the save.
  3. File -> External Data ->Report Missing Files
  4. You may see a flurry of yellow flashes in the message area, usually at the bottom most panel to the left of the statistical enumerations about your file. If they have flashed by too quickly, go to the info view and you will find them reproduced. What you do next depends upon what the warnings say, but it often entails moving asset files to folders where blender thinks they are.
  5. When blender can find all of the assets and flashes no warnings, save your blend file.

Your blend file can be quite big. If that is a problem, You can selectively include certain assets in the blend file.

Pack selectively method (for images):
For example, to pack a specific image texture, choose the Image editor and select the image you'd like to selectively pack. From the editor menu, choose Image --> Pack. This schedules just this image asset for packing on the next and subsequent save. To cease packing an image asset, choose Image -->Unpack. A folded-up operator dialog will appear in the lower left corner. Choose how - or if - you want the asset preserved.

Note: (FYI) the viewport "LookDev" is also based on EEVEE, so current shortcomings in that render engine will be reflected in LookDev - in particular, Principled Hair BSDF shortcomings. People are working very hard on aligning EEVEE and Cycles so that materials interoperate between the two rendering engines. That is work-in-progress - indeed, as an open source project, Blender itself is a work-in-progress and always will be.

Jonathan (Batty) renamed this task from 2.82 Particle Hair with HairBSDF shader not showing in Cycles viewport/rendering to 2.82 Particle Hair not showing as expected in Cycles viewport/rendering.Nov 4 2019, 2:20 AM
Jonathan (Batty) updated the task description. (Show Details)

I rewrote the description with all my new findings - PS: I even resetted Blender to the original settings - it didn't change a thing.
So here's the original collada file. If anyone wants to try everything - Daz3D is free of charge too. But maybe this file does it as well. I regenerated a new figure - the behavior is the same in Blender. It worked in older Blender versions without those problems.

The Textures should be in a folder named "testbodydaefromDAZ3D" - then it works already for importing as Collada.

Jonathan (Batty) added a comment.EditedNov 4 2019, 2:38 AM

Here's what I saw in my last cutting tries: ...

Now I have tried to reimport a cube, which I sculpted a bit in Blender.
I saved and reimported as collada. This one doesn't make any troubles.
It works correctly:

I also opened an old project I made the same way in blender.
It was made in Blender 2.79 and had worked well at that time.
In 2.82 now it also shows the weird behavior: flickering polygons and weird hair/particles.

I trust you've watched How to Report a Bug in 5 Steps - Blender.

Step 3 is vitally important: "Simplify". Your contribution to the Blender project consists of what you've learned during the course of eliminating the parts of a file that do not contribute to the effects of the bug, leaving the parts that do.

Simplification is vitally important on the technical side because the combinations and permutations arising from a blend file's contents increases exponentially with file size - there can be too much going on in a file to effectively isolate what is going on.

I recognize that simplification - going through a process of elimination - may be time consuming - probably will be time consuming - and, what with your other commitments in life, may be more time than you can afford. C'est la vie. But if you can take the time to isolate buggy behavior to just one (simple!) blender file, that clearly and consistently exhibits incorrectness, then that alone is one of the more important contributions to fixing a bug - maybe the most important contribution. Speaking from the technical side, correcting C/C++/Python code is easy compared to the Sherlocking it takes to find the right lines to fix!

Simply importing testbodydaefromDAZ3D.dae via COLLADA already introduces too much fog to identify what is going on. I cannot segregate the possibility of a Cycles bug from that of Cycles being asked to reproduce geometry which, in the aggregate pipeline, is too small to render. Hair particles introduce another layer of complexity. The hair particle system is a holdover from an older Blender architecture which does not fit well with the 2.8x design,so there are nearly intractable issues with rendering hair and with hair dynamics. People are working hard to overcome that, but it is going to be awhile (no, don't ask me when).

So, if you can, please, submit a .blend file that clearly and consistently exhibits the Cycles bug. Matters concerning hair should get their own bug report. It may very well be that the Cycles bug is too hard to isolate - it may be intermittent or arise in one-time-out-of-a-hundred circumstances . If so, such is life. Thank you kindly for the effort already invested.

I'll submit the file soon, but gimme a few days more - I'm still testing some things: checking where the error really originates; import/size/inherti to mesh from DAZ3D - maybe their material is outdated or produces the error and Blender was too tolerant in earlier versions. I'll contact them if I can exlude securely all the other possibilities and will do a thorough report. Thanks for your help, Garry :)
It may take a litte while, because I am also busy with preparing our pipeline for the coming productions in our facility, so bare with me please.

Have you had any experience with Thomas Larsson's Diffeomorphic package? It purports to be a direct import from DAZ3D to Blender, bypassing COLLADA. I haven't used it, can't recommend it, can't pan it either, but suggest it in that it cuts COLLADA out of the problem space and may help you get off the dime in the larger project of getting your pipeline in order. Also, it can't hurt to open threads on Blender DevTalk and the technical support forum at Blender Artists. As you may gather, the bug reporter here concerns detailed fault reports. Sometimes, however what is really needed are insights from colleagues on the day-to-day use of Blender. Link back to this bug report so you don't have to repeat yourself too much. Take care!

This comment was removed by Jonathan (Batty).

Okay. I got the Hair working without the package from a collada. THe only thing I did differently was - to make a ball in blender, that carries a correct hair system already. I also reset to factory settings.
Now I'll try to test those things further.
Coming closer to a possible result... :)

Finally - I found a hot track to the culprit:

I accidentally had a switch to CPU rendering - I didn't notice. I never did that before (last time I resetted I switched back)
After that cycles did behave correctly!!!

Switching back to GPU (using not cuda but optix on a GTR2080ti) I did get the weird behavior back.
So it is the new GPU implementation doing this.

Jonathan (Batty) renamed this task from 2.82 Particle Hair not showing as expected in Cycles viewport/rendering to 2.82 Particle Hair not showing as expected in Cycles viewport/rendering due to optix rendering.Nov 15 2019, 5:15 AM

darn - object made in blender directly do NOT show the error - even un GPU mode :/
back to start. I tell you more, if I get closer to the resolution.

yep finally - I can confirm that the optix part of the Blender cycles renderer for my graphix card did the booboo ?

I had no problems when using cuda (no optixs acellerator) and CPU as renderer.
After switching to 2080ti optix - the problem occurred and it has to do with the size of the object, as you can see in the image.

Can anyone with the optix option enabled confirm?

Looks like it is a problem with the "optix is experimental" - part at the moment.
Does it still help to report this to the developers?

@Jonathan (Batty)
Good job narrowing this down!
Optix is a Work In Progress. This is the tracker task: T69800. I think you'll become subscribed to the tracker task by virtue of it being cited here.
I don't have Blender handy at the moment to compare what you see with the incomplete list, or if what you see looks like a bug. Unfortunately, even when I do have Blender handy, I won't be able to contribute much - I have AMD-based GPU cards. But if you have the time and inclination, you could keep an eye on Optix behavior and share your observations on that task. @Patrick Mours (pmoursnv) is the lead on Optix - Blender integration. I think you could be a good help shadow-testing his work. If you go to Manifest (left bar menu on the main page) and search on 'Optix' you'll find much of the current Optix activity.
Thank you again for your work in narrowing this down.
Ooops. Misspoke. You'd have to subscribe yourself to that task if you care to.

Philipp Oeser (lichtwerk) raised the priority of this task from 30 to 80.Nov 15 2019, 4:12 PM
Philipp Oeser (lichtwerk) edited projects, added Cycles; removed Rendering.

@Patrick Mours (pmoursnv) : Mind having a look? [not on RTX here]

Ah, thank you Garry, I'll do that. That'll be my first subscription here. :)

Thanks Philipp and Patrick.

Patrick Mours (pmoursnv) changed the task status from Unknown Status to Resolved.Nov 22 2019, 5:46 PM
Patrick Mours (pmoursnv) claimed this task.