Page MenuHome

Particle hair viewport colour only updates if 'material_slot' material is re-selected
Closed, ArchivedPublic

Description

System Information
Windows 10 64-bit, Nvidia gtx 570, Nvidia gtx 610

Blender Version
Broken: 2.77a, 9f39619 (latest 64-bit build)
Worked: -

Short description of error

Changing the diffuse colour of a material that is chosen as the render material for a hair particle system does not update the viewport colour of the particles unless that material is re-selected from the material_slot drop-down box in the particle system settings. This happens with the diffuse colour of a material in Blender Internal and the viewport colour of a material when using Cycles. This does not happen with 'Emitter' based particle systems, their viewport colour is updated immediately.

Exact steps for others to reproduce the error
Using:

(Increase particle number to see effect more visibly)

  1. Change the diffuse colour for the cube's material to red (or any colour)
  2. No colour change in hair particles is visible.
  3. In the particle settings for the cube re-select 'Material' from the material_slot drop-down box in the 'Render' panel.
  4. Particles now show the correct, updated colour.

The same steps can be repeated for Cycles, changing the material's 'Viewport Colour' instead.

Details

Type
Bug

Event Timeline

Ray Mairlot (madog) updated the task description. (Show Details)
Ray Mairlot (madog) raised the priority of this task from to Needs Triage by Developer.
Ray Mairlot (madog) set Type to Bug.
Sergey Sharybin (sergey) closed this task as Archived.Apr 19 2016, 1:38 PM
Sergey Sharybin (sergey) claimed this task.

While it's annoying, would actually consider it a TODO.

The issue here is that dependency graph and particles evaluation is not granular enough, which basically means full object update happens when you change any of particle settings (and surely this makes sure hair has proper color). It's not possible to only update particle system's material in the current design, which means it'll be needed to force all object's re-calculation on material system (all objects which using that material). This will fix your issue but introduce unwanted lags for regular modelling.

So thanks for the report, but instead of trying to fix the issue in current design we'd better make sure corresponding areas are ready for that in 2.8 project.

@Sergey Sharybin (sergey) Ok, thanks, I thought it may be a dependency graph issue. I just thought it was weird that 'emitter' particles updated their colour, but 'hair' didn't.