Page MenuHome

Uv form dupli not working with Cycles when the hair/particles mesh has more than one uv sets
Closed, ResolvedPublic

Description

System Information
Windows 10
Nvidia cards(different version of geforce),it doesn't matter

Blender Version
Broken: all versions
Worked: never

Short description of error
{F270360}
When a mesh used to create instanced particles has more than one uvsets,Cycles it's not able to choice the correct uvset to use when rendering the instances,it uses always the viewport active one,not that with the flag render.

Exact steps for others to reproduce the error

I made a simple file that should be clear.
The fact is quite simple.
As blender allows to give an initial direction to the hair system using an uvset that
control the tangent force,it should also give the possibility to choice(currently the
Cycles node uv-from dupli doesn't allow it) the right uv for rendering,which is clearly different from the uv set used to control the tangent vector.
If it's not possible to extend the Cycles node,at least cycles should use the uvset with the render flag enabled and not the one with the viewport flag.

Event Timeline

giuseppe canino (pnio) raised the priority of this task from to 90.
giuseppe canino (pnio) updated the task description. (Show Details)
giuseppe canino (pnio) edited a custom field.

I have uploaded again the file.

Sergey Sharybin (sergey) lowered the priority of this task from 90 to 30.Dec 30 2015, 10:57 AM

This isn't a clear description of the issue, the file here does not help understanding either. In the file you simply don't have Texture Coordinate node, so it's unclear which From Dupli you're referring to.

Please make sure the instructions are clear enough for us to reproduce the issue, otherwise we can not help you at all.

I'll try to do a better description, sorry.
The issue is related to hair particles system, rendered not as hair, but as instanced geometry (object option in the particles panel).
Blender allows to use the uvmapping of the emitter object for giving a starting tangential force to the hair particles.
It's really useful for things like fur and feathers.
But it doesn't allow to choose which uvset (if the uv sets are more than one on the emitter object) to use for the tangent force, it uses always the viewport one (the uvset selected as default in the interface, highlighted in blue with the standard colors scheme).

In the file I uploaded previously, there are 2 objects, the emitter on the first layer (the cylinder), and the instance on the second (the little object,named "feather").
The emitter has 2 uvset, "uvmap", used for texturing (cylindrical mapping), and "tangent", used ONLY to give to the instances a starting direction (a flat overlapping mapping that will never be used for mapping textures),.
In my scene the "feather" object hasn't any uvset, simply for making the scene easier to read (it could have it, it doesn't matter for the issues I have).
The material of the emitter object (named "Material") has no texture coordinates because it uses as default the uvset active for rendering (the one with the photocamera icon), which is "uvmap", it's not an issue.
The material of the instance object (named "Material.001" on the scene) has a uvmap node with the flag "from dupli" enabled, it should allow the instances to be mapped like the emitter object,really useful for texturing instances.
If you do a rendering of the cylinder without the instances enabled, you'll see that the uv mapping is continuos across the object, it works correctly (it uses the active rendering uvset, which is ,as I said previously, a cylindrical unwrapping).
How Blender render the cylinder without the instances it's not an issue.
But if you enable the instances, you'll se that the mapping is different, tiled (it's the "tangent" uvset).
Here is the problem.
As Blender has an active uvset used for rendering, I think that when using instances on object with more that one uvsets, the option "from dupli" in the uvmap node should always use this one for rendering the instances, not the active one in the viewport.
For me this is a bug.
It could be great if Blender could allow:
A) To choose which uvset to use for controlling tangent direction as a particle system option.
B) To choose which uvset to use in the uvmap cycles node when "from dupli" option is enabled.

But, as I said previously, at least the instances rendering should always use the uvset derived from the emitter object with the active rendering flag (the photocamera icon).

I tried to be as cleas as possible, I hope it's more understandable now.
Bye

Bastien Montagne (mont29) raised the priority of this task from 30 to Normal.Jan 8 2016, 10:13 AM

From quick check result indeed is not what one would expect... Will check more later.