Hair particles duplication with duplicate settings enabled copies all the particles instead of one selected #83317
Closed
opened 2020-12-02 12:42:08 +01:00 by Yegor
·
17 comments
No Branch/Tag Specified
main
blender-v4.0-release
temp-sculpt-dyntopo
temp-sculpt-brush-channel
blender-v3.6-release
universal-scene-description
blender-v3.3-release
asset-browser-frontend-split
brush-assets-project
asset-shelf
anim/armature-drawing-refactor-3
temp-sculpt-dyntopo-hive-alloc
tmp-usd-python-mtl
tmp-usd-3.6
blender-v3.5-release
blender-projects-basics
blender-v2.93-release
temp-sculpt-attr-api
realtime-clock
sculpt-dev
gpencil-next
bevelv2
microfacet_hair
xr-dev
principled-v2
v3.6.4
v3.6.3
v3.3.11
v3.6.2
v3.3.10
v3.6.1
v3.3.9
v3.6.0
v3.3.8
v3.3.7
v2.93.18
v3.5.1
v3.3.6
v2.93.17
v3.5.0
v2.93.16
v3.3.5
v3.3.4
v2.93.15
v2.93.14
v3.3.3
v2.93.13
v2.93.12
v3.4.1
v3.3.2
v3.4.0
v3.3.1
v2.93.11
v3.3.0
v3.2.2
v2.93.10
v3.2.1
v3.2.0
v2.83.20
v2.93.9
v3.1.2
v3.1.1
v3.1.0
v2.83.19
v2.93.8
v3.0.1
v2.93.7
v3.0.0
v2.93.6
v2.93.5
v2.83.18
v2.93.4
v2.93.3
v2.83.17
v2.93.2
v2.93.1
v2.83.16
v2.93.0
v2.83.15
v2.83.14
v2.83.13
v2.92.0
v2.83.12
v2.91.2
v2.83.10
v2.91.0
v2.83.9
v2.83.8
v2.83.7
v2.90.1
v2.83.6.1
v2.83.6
v2.90.0
v2.83.5
v2.83.4
v2.83.3
v2.83.2
v2.83.1
v2.83
v2.82a
v2.82
v2.81a
v2.81
v2.80
v2.80-rc3
v2.80-rc2
v2.80-rc1
v2.79b
v2.79a
v2.79
v2.79-rc2
v2.79-rc1
v2.78c
v2.78b
v2.78a
v2.78
v2.78-rc2
v2.78-rc1
v2.77a
v2.77
v2.77-rc2
v2.77-rc1
v2.76b
v2.76a
v2.76
v2.76-rc3
v2.76-rc2
v2.76-rc1
v2.75a
v2.75
v2.75-rc2
v2.75-rc1
v2.74
v2.74-rc4
v2.74-rc3
v2.74-rc2
v2.74-rc1
v2.73a
v2.73
v2.73-rc1
v2.72b
2.72b
v2.72a
v2.72
v2.72-rc1
v2.71
v2.71-rc2
v2.71-rc1
v2.70a
v2.70
v2.70-rc2
v2.70-rc
v2.69
v2.68a
v2.68
v2.67b
v2.67a
v2.67
v2.66a
v2.66
v2.65a
v2.65
v2.64a
v2.64
v2.63a
v2.63
v2.61
v2.60a
v2.60
v2.59
v2.58a
v2.58
v2.57b
v2.57a
v2.57
v2.56a
v2.56
v2.55
v2.54
v2.53
v2.52
v2.51
v2.50
v2.49b
v2.49a
v2.49
v2.48a
v2.48
v2.47
v2.46
v2.45
v2.44
v2.43
v2.42a
v2.42
v2.41
v2.40
v2.37a
v2.37
v2.36
v2.35a
v2.35
v2.34
v2.33a
v2.33
v2.32
v2.31a
v2.31
v2.30
v2.28c
v2.28a
v2.28
v2.27
v2.26
v2.25
Labels
Clear labels
This issue affects/is about backward or forward compatibility
Issues relating to security: https://wiki.blender.org/wiki/Process/Vulnerability_Reports
Apply labels
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
This issue affects/is about backward or forward compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
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
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
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
Issues relating to security: https://wiki.blender.org/wiki/Process/Vulnerability_Reports
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 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 & 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
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
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
Milestone
Set milestone
Clear milestone
No items
No Milestone
Projects
Set Project
Clear projects
No project
Assignees
Assign users
Clear assignees
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#83317
Reference in New Issue
There is no content yet.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may exist for a short time before cleaning up, in most cases it CANNOT be undone. Continue?
System Information
Operating system: Linux-5.4.0-53-generic-x86_64-with-debian-bullseye-sid 64 Bits
Graphics card: GeForce GTX 1080 Ti/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 450.80.02
Blender Version
Broken: version: 2.91.0, branch: master, commit date: 2020-11-25 08:34, hash:
0f45cab862
Short description of error
There is a case when you've done a basic groom with a bunch of hair particle systems and want to duplicate some of them to create a set of loose hair. You make a duplicate of an existing groomed hair, reduce the number of them and add more roughness or groom a little bit differently.
This is a common workflow for making a realistic haircuts in Blender as we cannot create loose hair in the same hair particle setting.
So, when you duplicate a hair system it has the "duplicate settings" unchecked in the operation options (F9) and the duplicated hair particle settings share settings with the original, which is not what we want. But if you check the "duplicate settings" checkbox Blender duplicates all the particle settings you have, instead of the only one selected. Imagine you have 10 or 20 particle settings, then you get 102 or 202 particle settings. Then you have to manually delete all of the unneeded duplicates, leaving the one needed.
I know that this hair system is in the EOL, but we're going to have it for quite a long time still. This issue is very painful for grooming and I assume is quite easy to fix.
2020-12-02_14-24-37.mp4
Exact steps for others to reproduce the error
hair_duplication_bug.blend
Open the file
Select a particle system
Duplicate particle settings
Go to F9
Check Duplicate Settings
Added subscriber: @YegorSmirnov
Changed status from 'Needs Triage' to: 'Confirmed'
Added subscriber: @lichtwerk
Problem is the buttons context with the {key F9} popup here.
The operator handles the
Duplicate Settings
option fine actually, so a quick workaround would be to just call the operator with that option ON.For example, you could just add this to the menu:
P1843: #83317 workaround
The 'real' problem is the buttons context though, and this might be a bit tricky to track down correctly:
duplicate_particle_systems_exec
the context's "particle system" cannot be found if this is done from the {key F9} menu (not doing it from this menu is fine)CTX_data_pointer_get_type(C, "particle_system", &RNA_ParticleSystem).data
returnsNULL
when this is called from {key F9}SpaceProperties
doesnt have a validButsContextPath
inbuttons_context()
when this is called from {key F9}Will stare it this for a tiny bit longer (but not too long since particles are EOL) to see if there is a quick fix.
Could you add this workaround to Master? It won't hurt anybody, but will behave as expected at least.
Oh, sadly I've just found a new issue. Maybe it's a subject for a new report, but here it is. 2020-12-10_21-06-08.mp4
When the settings are truly duplicated (when the checkbox is already there), you can't modify any of the settings.
But when you duplicate, then check the duplication box, then delete one of the second duplicate it does give to modify settings.
2020-12-10_21-11-19.mp4
Can confirm the issue regarding no immediate updates (was also just mentioned in #83462).
Note you can enter/leave editmode to enforce updates [not nice, just saying...]
This might have the same roots [wrong context], I have asked to have this reported separately though
That is now fixed in
caed4849d0
This issue was referenced by
3834dc2f7b
Changed status from 'Confirmed' to: 'Resolved'
Sorry to inform you, but the duplication issue persists in 2.93.1, 2.93.2 and 3.0
Oh, I forgot, that we ended up in a workaround, when the duplicate settings checkbox must be set from the start and then it works correctly.
If the checkbox is not checked and you check it, then it duplicates all the particle systems, not just selected. Dunno if it's still considered a bug.
Cannot reproduce here:
T83317_.webm
Is this behaving differently for you?
Here's the fun thing. If you F9 over properties, then it works correctly. But if the cursor over the viewport and you F9, then the issue occurs.
This issue was referenced by
4e14fe167d
This issue was referenced by
f9308a585e
Yep, can confirm for the 3DView. There are a lot of operators tied to the Properties Editor originally, but this one can be made working in the 3DView as well.
Also: this was was never really meant to duplicate all systems I think (it just happens to use
copy_particle_systems_to_object
internally as well -- same as theCopy Active/All to Selected Objects
operators)