Using flakes within a shader of an object that deforms, are producing renders where the flakes are swimming. The Arnold help files are suggesting rendering with motion blur, but this seems like a ridiculous solution. Is there another way for the flakes to stick to the model/geometry?
Solved! Go to Solution.
Solved by peter.horvath6V6K3. Go to Solution.
Thanks for the reply @Lee Griggs
Yes I have the coord space on Pref, which is the default I think, surprised that it isn't working.
Below is a screenshot of Arnold help files re flakes and motion blur:
https://docs.arnoldrenderer.com/display/A5AF3DSUG/Flakes
I will do some more experiments and post if I find a solution.
Note, that you also have to record and export the reference object (see the Arnold tag of the mesh) or just simply add a Stick Texture Tag to the mesh.
Thanks @Peter Horvath, I tried the Stick Texture Tag, didn't work. But the Export reference object thing looks promising, will try that thanks.
Did you export reference points?
The docs refer to 'flickering'. Are you getting flickering too?
@Lee Griggs I'm not sure if it is flickering or swimming, it was basically producing completely different looking flakes on every frame.
Thanks for showing me the 'export reference points' section in the Arnold tag, I missed this in the help files sorry. Unfortunately that didn't solve the problem either. In fact I compared frames with 'export reference frames' enabled and disabled and they looked exactly the same.
My object is being deformed by a displacer, driven by vertex maps and fields. The fields are animated, and this seems to cause the problem. As soon as I kill the animation on the fields, the flakes 'stick'.
The fields animation, basically a linear field just moving from one side to the other, is very slow and elegant and not erratic or anything, so I'd expect the flakes to just stick from one frame to the next.
Can you post images and/or a simplified scene?
flakestest.zip
Thanks for your interest @Lee Griggs
Above is a zip to a simplified scene.
In simplifying the scene I have realised that the flakes are indeed swimming and not flickering.
This behavior looks correct to me. The object is being deformed and so I would expect the flakes to respect that deformation (which they are doing).
At the moment the flakes are set to 2d. Is that what you want? You can get 3d flakes by increasing the depth to 1).
Thanks for looking at the scene.
I wouldn't say the flakes are behaving as expected, they're not sticking.
I want them to move with the deformation.
At the moment they just dissapear into the geometry and new ones form on top of the bulges.
I've made the deformation bigger on the below example to make it more apparent:
One small thing is missing from your scene. Type Pref to the Pref name of the flakes shader. That's the name of the parameter where the reference points are located on the mesh. Currently it's empty, therefore the shader does not find the reference points. I'm not sure how it became empty, because if you create a new shader, the default is 'Pref'.
Anyway, the whole reference point workflow should be simplified, which I will do in an upcoming release.