Uv form dupli not working with Cycles when the hair/particles mesh has more than one uv sets #47060

Closed
opened 2015-12-25 19:33:07 +01:00 by giuseppe canino · 10 comments

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.

**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.

Changed status to: 'Open'

Changed status to: 'Open'

Added subscriber: @GiuseppeCanino

Added subscriber: @GiuseppeCanino

I have uploaded again the file.

UvBug.blend

I have uploaded again the file. [UvBug.blend](https://archive.blender.org/developer/F270381/UvBug.blend)

Added subscriber: @Sergey

Added subscriber: @Sergey

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.

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

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

Added subscriber: @mont29

Added subscriber: @mont29

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

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

This issue was referenced by 43cc8d0be2

This issue was referenced by 43cc8d0be2f4e06b2862f735b6a8c06dda45c373

Changed status from 'Open' to: 'Resolved'

Changed status from 'Open' to: 'Resolved'
Sign in to join this conversation.
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset Browser
Interest
Asset Browser Project Overview
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
Interest
EEVEE & Viewport
Interest
Freestyle
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
ID Management
Interest
Images & Movies
Interest
Import Export
Interest
Line Art
Interest
Masking
Interest
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overlay
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds & Tests
Interest
Python API
Interest
Render & Cycles
Interest
Render Pipeline
Interest
Sculpt, Paint & Texture
Interest
Text Editor
Interest
Translations
Interest
Triaging
Interest
Undo
Interest
USD
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Interest
Video Sequencer
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
Legacy
Blender 2.8 Project
Legacy
Milestone 1: Basic, Local Asset Browser
Legacy
OpenGL Error
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
Module
Animation & Rigging
Module
Core
Module
Development Management
Module
EEVEE & Viewport
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline, Assets & IO
Module
Platforms, Builds & Tests
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Priority
High
Priority
Low
Priority
Normal
Priority
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No project
No Assignees
4 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender#47060
No description provided.