Strand Particles behave strangely with Subsurf #37544

Closed
opened 2013-11-20 03:44:24 +01:00 by Andrew Price · 22 comments

System Information
Windows 7, nVidia GTX 680

Blender Version
Broken: Blender 2.69.0
Worked: Unsure...

Short description of error
Strand particles behave strangely when used with a vertex group and surbsurf modifier

Exact steps for others to reproduce the error
Based on a (as simple as possible) attached .blend file with minimum amount of steps

  1. Open this .blend: http:*www.pasteall.org/blend/25327
  2. Notice the rocks (strand particles) correctly dispersed across floor
  3. Turn on Surbsurf Modifier in Modifier stacker.
  4. Notice how the rocks are now absent in some areas (strip down middle) and appear in other areas (walls etc.)

Thanks guys. Let me know if it's unclear.

**System Information** Windows 7, nVidia GTX 680 **Blender Version** Broken: Blender 2.69.0 Worked: Unsure... **Short description of error** Strand particles behave strangely when used with a vertex group and surbsurf modifier **Exact steps for others to reproduce the error** Based on a (as simple as possible) attached .blend file with minimum amount of steps 1. Open this .blend: [http:*www.pasteall.org/blend/25327 ](http:*www.pasteall.org/blend/25327) 2. Notice the rocks (strand particles) correctly dispersed across floor 3. Turn on Surbsurf Modifier in Modifier stacker. 4. Notice how the rocks are now absent in some areas (strip down middle) and appear in other areas (walls etc.) Thanks guys. Let me know if it's unclear.
Author

Changed status to: 'Open'

Changed status to: 'Open'
Author

Added subscriber: @AndrewPrice

Added subscriber: @AndrewPrice

#37683 was marked as duplicate of this issue

#37683 was marked as duplicate of this issue
Andrew Price changed title from Strand Particles disperse with Subsurf to Strand Particles behave strangely with Subsurf 2013-11-20 05:56:00 +01:00
Member

Added subscriber: @LukasTonne

Added subscriber: @LukasTonne
Member

I can't really say why this doesn't work - particles uses loads of cryptic code to map elements of the original unmodified emitter mesh to the modifier result, so they can do correct placement, which is broken.

But what seems to help in this situation is to enable the "Use Modifier Stack" button in particles. This will make the particles use the result of the modifier stack (i.e. subsurf'd and displaced cave mesh) instead of trying to map the original mesh faces. Just be aware that this can cause issues when you use different subsurf levels for viewport and render (or any viewport/render differences for that matter). It may then be advisable to dedicate a mesh for the particle emitter and disable it for rendering (uncheck "Emitter" button), then use a separate mesh for the actual cave wall rendering if you need higher subdiv levels and displacement in renders.

I can't really say why this doesn't work - particles uses loads of cryptic code to map elements of the original unmodified emitter mesh to the modifier result, so they can do correct placement, which is broken. But what seems to help in this situation is to enable the "Use Modifier Stack" button in particles. This will make the particles use the result of the modifier stack (i.e. subsurf'd and displaced cave mesh) instead of trying to map the original mesh faces. Just be aware that this can cause issues when you use different subsurf levels for viewport and render (or any viewport/render differences for that matter). It may then be advisable to dedicate a mesh for the particle emitter and disable it for rendering (uncheck "Emitter" button), then use a separate mesh for the actual cave wall rendering if you need higher subdiv levels and displacement in renders.
Author

Oh the Use Modifier Stack! I didn't even know that existed, but it fixed it.!

I always thought that the particles adhere to the modifier stacker, since the particle system is in there and can be re-ordered.

Just wondering, should this feature be on by default? Unless there's a reason I'm unaware of.

Oh the Use Modifier Stack! I didn't even know that existed, but it fixed it.! I always thought that the particles adhere to the modifier stacker, since the particle system is in there and can be re-ordered. Just wondering, should this feature be on by default? Unless there's a reason I'm unaware of.
Author

Changed status from 'Open' to: 'Resolved'

Changed status from 'Open' to: 'Resolved'

Changed status from 'Resolved' to: 'Open'

Changed status from 'Resolved' to: 'Open'
Brecht Van Lommel self-assigned this 2013-11-21 04:18:04 +01:00

I'll take a look into this, it's definitely a bug.

The option is named confusing, but when Use Modified stack is disabled, it should still work. What that option does is distribute the particles on the mesh after applying the subdivision surface modifier. Often that is ok, however it does mean that the particle distribution will vary with different subsurf resolutions.

If you are manually adding and editing hair strands on a mesh you probably want this feature disabled. If you have it disabled it will give you the exact same hair distribution on meshes regardless of the subsurf resolution, which is very useful for animation playback at lower resolution (big buck bunny animators could do pretty quick playback with hair this way), and it's also going to be important in the future when you have adaptive resolution render with OpenSubdiv.

I'll take a look into this, it's definitely a bug. The option is named confusing, but when Use Modified stack is disabled, it should still work. What that option does is distribute the particles on the mesh after applying the subdivision surface modifier. Often that is ok, however it does mean that the particle distribution will vary with different subsurf resolutions. If you are manually adding and editing hair strands on a mesh you probably want this feature disabled. If you have it disabled it will give you the exact same hair distribution on meshes regardless of the subsurf resolution, which is very useful for animation playback at lower resolution (big buck bunny animators could do pretty quick playback with hair this way), and it's also going to be important in the future when you have adaptive resolution render with OpenSubdiv.
Author

Ah I see. Thought it was a bit weird.

Thanks for recognizing it!

Ah I see. Thought it was a bit weird. Thanks for recognizing it!

It's the big ngon at the end of the tunnel that is causing the problem. This throws off the particle - face mapping somehow.

It's the big ngon at the end of the tunnel that is causing the problem. This throws off the particle - face mapping somehow.
Author

Ohhh I hadn't thought of that. Well done on finding it.

So I guess it's definitely a bug?

Ohhh I hadn't thought of that. Well done on finding it. So I guess it's definitely a bug?

Yes it's a bug, I mentioned the cause here in case you or anyone else who runs into this issue needs a workaround.

Yes it's a bug, I mentioned the cause here in case you or anyone else who runs into this issue needs a workaround.

Added subscribers: @jmsaguas, @Sergey, @brecht

Added subscribers: @jmsaguas, @Sergey, @brecht

◀ Merged tasks: #37683.

◀ Merged tasks: #37683.

Hi there,

I was following one of Andrews tutorials, which is the cave tutorial. Thank you for your tutorials! I'm still learning alot about blender.
The Stalactite particle system seems ok, good number of particles, but I can't say if it's the right number. but the mushroom particle system is the messy one. I got some renders that was supposed to show 30 or so mushrooms and there were only 2 or 3 mushrooms in the render. Still if I make blender render in viewport the mushrooms where all there like in solid mode.
After the render the viewport would show no mushrooms, but then I would went to the mushroom particle system parameters, and after editing one of the parameters like adding one more mushroom to the count, the particle system would apear again in the viewport.

If I can do anything else to help, just say. :)

Thx guys! :)
My bests,
Joao Aguas

Hi there, I was following one of Andrews tutorials, which is the cave tutorial. Thank you for your tutorials! I'm still learning alot about blender. The Stalactite particle system seems ok, good number of particles, but I can't say if it's the right number. but the mushroom particle system is the messy one. I got some renders that was supposed to show 30 or so mushrooms and there were only 2 or 3 mushrooms in the render. Still if I make blender render in viewport the mushrooms where all there like in solid mode. After the render the viewport would show no mushrooms, but then I would went to the mushroom particle system parameters, and after editing one of the parameters like adding one more mushroom to the count, the particle system would apear again in the viewport. If I can do anything else to help, just say. :) Thx guys! :) My bests, Joao Aguas

Added subscriber: @boris.fruhauf

Added subscriber: @boris.fruhauf

Hi I think there is a perhaps related problem due to a regression between 2.69 and 2.70a that occurs when you position manually particles:

My config: Linux Mint 14 / nvidia 660 Ti card

load factory settings
with default cube
add subsurf modifier + modify view value (from 1 to 2)
apply subsurf modifier
edit mode,
delete half vertices on -x side
object mode
add mirror modifier
apply miror modifier
add subsurf modifier
add particle modifier
on particle tab,
+modify Type from 'Emitter' to 'Hair'
+check 'Use modifier stack' on Emission part
+modify number from 1000 to 1
+press 'Interpolated' on the Children part
switch to 'Particle Edit' mode
+pres 'Add' button
+add particles

OK in 2.69, the particles are added where the user wants them, wether the Subsurf' 'display' button is pressed or not

KO in 2.70a: the particles are added randomly on the right side (from viewer point) of the mesh, see joined file

	OK if you uncheck Subsurf' 'display' button

KO in buildbot date 2014-05-05 hash 7660218: you can' add particles if the subsurf button is pressed

		OK if you uncheck Subsurf' 'display' button{[F87171](https://archive.blender.org/developer/F87171/PARTICLE_2_70a_Regression.blend)}
Hi I think there is a perhaps related problem due to a regression between 2.69 and 2.70a that occurs when you position manually particles: My config: Linux Mint 14 / nvidia 660 Ti card load factory settings with default cube add subsurf modifier + modify view value (from 1 to 2) apply subsurf modifier edit mode, delete half vertices on -x side object mode add mirror modifier apply miror modifier add subsurf modifier add particle modifier on particle tab, +modify Type from 'Emitter' to 'Hair' +check 'Use modifier stack' on Emission part +modify number from 1000 to 1 +press 'Interpolated' on the Children part switch to 'Particle Edit' mode +pres 'Add' button +add particles >> OK in 2.69, the particles are added where the user wants them, wether the Subsurf' 'display' button is pressed or not >> KO in 2.70a: the particles are added randomly on the right side (from viewer point) of the mesh, see joined file OK if you uncheck Subsurf' 'display' button >> KO in buildbot date 2014-05-05 hash 7660218: you can' add particles if the subsurf button is pressed OK if you uncheck Subsurf' 'display' button{[F87171](https://archive.blender.org/developer/F87171/PARTICLE_2_70a_Regression.blend)}

a little precision: in 2.69 it seems to works only if you don't check children 'Interpolate' button.

a little precision: in 2.69 it seems to works only if you don't check children 'Interpolate' button.

Changed status from 'Open' to: 'Archived'

Changed status from 'Open' to: 'Archived'

Added subscriber: @mont29

Added subscriber: @mont29

We can archive this now, a brand new hair system is in development (which means non-deadly issues in current one are very unlikely to be tackled), and we have a workaround for that issue…

We can archive this now, a brand new hair system is in development (which means non-deadly issues in current one are very unlikely to be tackled), and we have a workaround for that issue…
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
7 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#37544
No description provided.