I'm trying to use Quick Effects -> Smoke to start generating a fire simulation, selectively turning off smoke settings. I work primarily in Eevee. The simulation displays properly when I'm in Solid Shading view:
But when I switch to Rendered Shading view, nothing renders, although as far as I can tell all relevant Eevee settings are on:
If I switch to Cycles, the flame is visible:
I have the same problem in each of Blender versions 2.83, 2.83.2, and 2.90, and it occurs whether I use Principled Volume or the custom node setup displayed above. It also occurs if I hit
F12 to render, rather than just using the Rendered Shading preview mode.
What should I do to get Eevee to render fire? Is there maybe a setting(s) I'm missing that is breaking fire volumetric shading?
EDIT: I am not sure if it is related, but I often see messages like this in the System Console when manipulating volumetric shaders, particularly when I use something like a
Volume Info node:
GPUShader: compile error: 0(10618) : error C1503: undefined variable "vsamp0" 0(10618) : error C1503: undefined variable "vtfm0" GPUShader: compile error: 0(4026) : error C1503: undefined variable "vsamp0" 0(4026) : error C1503: undefined variable "vtfm0"
These appear to be due to undefined shader variables related to the use of the
Color output sockets on the
Volume Info node. The
Flame output socket on that node does not generate an error (and, I notice that, when I use the custom node setup in Cycles and it appears to render correctly, it is in fact only the Emission shader---driven by the
flame output socket---that is rendering; the rest of the node setup appears to have no effect. Maybe Cycles is just handling the failure of the
Color attributes more gracefully than Eevee?).
And, more rarely, messages like:
GPUShader: compile error: 0(10599) : error C0000: syntax error, unexpected ',', expecting ')' at token ","
I also often notice that volumetric shader compilation seems to cancel itself unexpectedly (maybe in response to the above errors?).
EDIT2: One further observation: it also seems common to see this spammed throughout the System Console window when attempting a new bake:
Unable to remove directory Unable to delete file Unable to delete file Unable to delete file Unable to delete file Unable to delete file Unable to delete file Unable to delete file
I'm working in Windows. In case Blender being unable to overwrite files on disk is the problem, I've tried running Blender as Administrator, and I've tried pointing it at a location in which I created a new folder specifically for testing this, but I still saw this same error. I am not very sophisticated with Windows folder/file permissions, but am trying to figure out if there's something further I need to do of this sort that might help.
EDIT3: I was not able to get this working in Windows, so I setup a Ubuntu dual boot and tried it in Ubuntu instead, with Blender 2.83.2. Findings:
- the simple test
.blendI shared pictures of above "works" in Ubuntu: under both Eevee and Cycles, everything except the
Flameoutput socket of the
Volume Infonode(on which it throws the
vsamp0error and Blender freezes, unlike in Windows, where it would throw the error but Blender would continue, and seemingly just cancel shader compilation)
- but it still does not work in a much more complex
.blendI have been working on for some time. This prompts what looks like a somewhat more informative version of the file/folder errors I mentioned before:
Fluid Error -- Cannot open file /c/.../Caches/config/config_0001.uni(full path printed in error message, but I replaced machine-specific details with
...). From this, I take it paths specific to my Windows installation were memorized by the simulation caching, and it is still trying to access that location, which of course is rather hard to find, as I've switched OSes on it; my attempts to force the simulation to work from a different location in the Linux filesystem have not yet worked, but I plan to keep trying, since this seems "close" to functional in Linux (EDIT5: I found that one of the simulations in fact had the
/c/...location still listed as its caching folder, so I changed that; Eevee still fails to render in the complex
EDIT4: In case it may be relevant, I'll add that I version control my
.blend files with
git (but I exclude large file types, like simulation caches), even though it is an unusual use-case for it. I am not sure why this would matter, but maybe there is a difference between most means of transferring a
.blend, and pushing/pulling it from
git? I would expect that, on opening the
.blend after pulling it, any missing cache files would be ignored and new locations assigned etc, but perhaps I'm wrong.