ID 432159 - Incorrect spacing occurs when using the Particle Settings node

Follow

Problem summary
Incorrect spacing occurs when using the Particle Settings node.


Customer reported version
nuke.12.1v2


Customer reported platform
centos8


Steps to reproduce

1) In NukeX, copy/paste the following script:

set cut_paste_input [stack 0]

version 10.5 v7

Camera2 {

 inputs 0

 translate {0 0 17.44000053}

 focal 35

 haperture 36

 vaperture 24

 name Camera1

 selected true

 xpos 19

 ypos -656

}

RotoPaint {

 inputs 0

 curves {{{v x3f99999a}

  {f 0}

  {n

  {layer Root

    {f 0}

    {t x4492c000 x4443c000}

    {a}

    {curvegroup Ellipse1 512 bezier

    {{cc

      {f 8192}

      {p

        {xc266dae2}

        {x42faaaaa x41d3ffff}

        {x4266dae0}

        {0 xc266dae2}

        {x4365d555 x43030000}

        {0 x4266dae0}

        {x4266dae0}

        {x42faaaaa x436b8000}

        {xc266dae2}

        {0 x4266dae0}

        {x41a6aaa8 x43030000}

        {0 xc266dae2}}}

      {cc

      {f 8192}

      {p

        {xc266dae2}

        {}

        {x4266dae0}

        {0 xc266dae2}

        {}

        {0 x4266dae0}

        {x4266dae0}

        {}

        {xc266dae2}

        {0 x4266dae0}

        {}

        {0 xc266dae2}}}}

    {t x42f40000 x43010000}

    {a osw x41200000 osf 0 str 1 spx x4492c000 spy x4443c000 sb 1 nv x40000000 view2 x40000000 ltn x40e00000 ltm x40e00000 tt x40e00000}}}}}}

 toolbox {selectAll {

  { selectAll str 1 ssx 1 ssy 1 sf 1 }

  { createBezier str 1 ssx 1 ssy 1 sf 1 sb 1 }

  { createBezierCusped str 1 ssx 1 ssy 1 sf 1 sb 1 }

  { createBSpline str 1 ssx 1 ssy 1 sf 1 sb 1 }

  { createEllipse str 1 ssx 1 ssy 1 sf 1 sb 1 tt 7 }

  { createRectangle str 1 ssx 1 ssy 1 sf 1 sb 1 }

  { createRectangleCusped str 1 ssx 1 ssy 1 sf 1 sb 1 }

  { createOpenSpline str 1 ssx 1 ssy 1 sf 1 sb 1 }

  { brush str 1 ssx 1 ssy 1 sf 1 sb 1 }

  { eraser src 2 str 1 ssx 1 ssy 1 sf 1 sb 1 }

  { clone src 1 str 1 ssx 1 ssy 1 sf 1 sb 1 }

  { reveal src 3 str 1 ssx 1 ssy 1 sf 1 sb 1 }

  { dodge src 1 str 1 ssx 1 ssy 1 sf 1 sb 1 }

  { burn src 1 str 1 ssx 1 ssy 1 sf 1 sb 1 }

  { blur src 1 str 1 ssx 1 ssy 1 sf 1 sb 1 }

  { sharpen src 1 str 1 ssx 1 ssy 1 sf 1 sb 1 }

  { smear src 1 str 1 ssx 1 ssy 1 sf 1 sb 1 }

} }

 toolbar_brush_hardness 0.200000003

 toolbar_source_transform_scale {1 1}

 toolbar_source_transform_center {1174 783}

 colorOverlay {0 0 0 0}

 lifetime_type "all frames"

 lifetime_start 7

 lifetime_end 7

 motionblur_shutter_offset_type centred

 source_black_outside true

 name RotoPaint1

 selected true

 xpos -142

 ypos -1156

}

Crop {

 box {0 0 256 256}

 reformat true

 crop false

 name Crop1

 selected true

 xpos -142

 ypos -1132

}

Shuffle {

 red alpha

 green alpha

 blue alpha

 name Shuffle1

 tile_color 0x8b8b8bff

 label "\[value in]"

 selected true

 xpos -142

 ypos -1108

}

BlendMat {

 surfaceblend modulate

 name BlendMat1

 selected true

 xpos -142

 ypos -1070

}

set Nf075910 [stack 0]

push $Nf075910

push $cut_paste_input

Card2 {

 image_aspect false

 uniform_scale 6.4

 control_points {3 3 3 6


1 {-0.5 -0.5 0} 0 {0.1666666865 0 0} 0 {0 0 0} 0 {0 0.1666666865 0} 0 {0 0 0} 0 {0 0 0}

1 {0 -0.5 0} 0 {0.1666666716 0 0} 0 {-0.1666666716 0 0} 0 {0 0.1666666865 0} 0 {0 0 0} 0 {0.5 0 0}

1 {0.5 -0.5 0} 0 {0 0 0} 0 {-0.1666666865 0 0} 0 {0 0.1666666865 0} 0 {0 0 0} 0 {1 0 0}

1 {-0.5 0 0} 0 {0.1666666865 0 0} 0 {0 0 0} 0 {0 0.1666666716 0} 0 {0 -0.1666666716 0} 0 {0 0.5 0}

1 {0 0 0} 0 {0.1666666716 0 0} 0 {-0.1666666716 0 0} 0 {0 0.1666666716 0} 0 {0 -0.1666666716 0} 0 {0.5 0.5 0}

1 {0.5 0 0} 0 {0 0 0} 0 {-0.1666666865 0 0} 0 {0 0.1666666716 0} 0 {0 -0.1666666716 0} 0 {1 0.5 0}

1 {-0.5 0.5 0} 0 {0.1666666865 0 0} 0 {0 0 0} 0 {0 0 0} 0 {0 -0.1666666865 0} 0 {0 1 0}

1 {0 0.5 0} 0 {0.1666666716 0 0} 0 {-0.1666666716 0 0} 0 {0 0 0} 0 {0 -0.1666666865 0} 0 {0.5 1 0}

1 {0.5 0.5 0} 0 {0 0 0} 0 {-0.1666666865 0 0} 0 {0 0 0} 0 {0 -0.1666666865 0} 0 {1 1 0} }

 name Card1

 selected true

 xpos 19

 ypos -1073

}

push 0

ParticleEmitter {

 inputs 3

 emit_from faces

 rate 0.1

 lifetime 100

 lifetime_variation 0.905

 velocity 0

 size 0.121

 size_variation 1

 mass_variation 1

 transfer_window 0

 seed 1

 name ParticleEmitter1

 selected true

 xpos -45

 ypos -981

}

ParticleGravity {

 to {0 -0.2 0}

 channels {a}

 name ParticleGravity1

 selected true

 xpos -45

 ypos -935

}

ParticleTurbulence {

 strength {0.4 0 0}

 channels {a}

 name ParticleTurbulence2

 selected true

 xpos -45

 ypos -899

}

ParticleDrag {

 drag 3

 name ParticleDrag1

 selected true

 xpos -45

 ypos -842

}

ParticleSpawn {

 inputs 2

 lifetime 40

 velocity 0

 size 0.061

 transfer_velocity 0

 conserve_mass false

 conserve_momentum false

 velocity_direction false

 name ParticleSpawn2

 selected true

 xpos -142

 ypos -737

}

ParticleSettings {

 steps_per_frame 5

 name ParticleSettings2

 selected true

 xpos -142

 ypos -681

}

push 0

ScanlineRender {

 inputs 3

 conservative_shader_sampling false

 filter Mitchell

 motion_vectors_type off

 MB_channel none

 name ScanlineRender1

 selected true

 xpos -142

 ypos -632

}

Retime {

 input.last 180000

 input.last_lock true

 output.last 45000

 speed {{parent.ParticleSettings2.steps_per_frame.L}}

 shutter 0

 time ""

 name Retime1

 label "\[value input.first]-\[value input.last] >> \[value output.first]-\[value output.last]\nspd: \[value speed]"

 selected true

 xpos -142

 ypos -587

}

StickyNote {

 inputs 0

 name StickyNote2

 tile_color 0xb08f56ff

 label "Changing particle Settings \nwill change retime node below \nas well"

 note_font_size 16

 selected true

 xpos -388

 ypos -596

}

StickyNote {

 inputs 0

 name StickyNote1

 tile_color 0xb08f56ff

 label "ParticleSettings node works incorrectly in Nuke 12\nTested in 10.5 and 11.2 both work as expected\nIn Nuke 12 doing exactly opposite.\nExpected behavior: Samples more per frame. \nSimulation look slower.\nNuke 12 behavior: applies all forces multiple\n times and sim looks faster and sparce"

 note_font_size 16

 selected true

 xpos -462

 ypos -903

}

2) View the Scanline Render node and press Play on the timeline.

3) Double-click the Particle Settings node and change the value for frames to be a higher number, observing particle spread.


Expected behavior
The particles should appear closer together with higher values set for the frames between them.


Actual behavior
The particles are not spread like they should be.


Workaround
There is no available workaround at this time.


Reproduced by Support in

NukeX 12.1v2 - Windows 10

NukeX 12.1v1 - Windows 10

NukeX 12.0v1 - Windows 10

NukeX 11.3v5 - Windows 10

NukeX 11.3v1 - Windows 10 - regression


Unable to reproduce bug in:
NukeX 11.2v7 - Windows 10


Earliest version tested
NukeX 11.2v7 - This issue doesn't appear in this version and has regressed


    We're sorry to hear that

    Please tell us why