PK-Editor v1.13

From PopcornFX
Jump to: navigation, search

Back to anouncements
Pre-Released Apr 2018, Released 11 May 2018
Will upgrade assets: Projects upgraded to 1.13 cannot be opened with earlier versions

Release highlights

Vector-fields Scriptable layer duration HSV <-> RGB colorspace helpers Physics evolver: Stable drag
Vector-fields Scriptable layer duration HSV <-> RGB colorspace helpers Stable physics evolver drag


64-bits Windows build
PopcornFX-Editor_Setup_v1.13.1.45573_x64.exe (Latest Preview) NewIcon.png
PopcornFX-Editor_Setup_v1.13.0.45334_x64.exe (Latest) NewIcon.png

If you encounter problems installing the editor, please see the Troubleshooting page.

Plugin status

Known issues

Known issues in the latest 1.13.0 build (May 25 2018):

  • Collision evolver sometimes misses collisions when particles are sliding on surfaces.
  • Collision evolver produces slightly unstable bounces when framerate is not stable.

Please contact support at if you encounter any other problem

Latest fixes

Patch 1.13.1

Build: PopcornFX-Editor_Setup_v1.13.1.45573_x64.exe (May 25 2018) (Latest Preview) NewIcon.png

  • Turbulence sampler Turbulence sampler : Fixed rare crash when a hot-reload notification was sent to a vector-field resource kept loaded after an effect using it got unloaded (typically when having a second effect opened that was using the same vector-field resource as the first one).
  • Layer-Scripts : Fixed automatic detection of 'LiveCount', broken in v1.13.0, had to explicitely check the 'EnableSpawnerIDs' property of a layer to be able to use 'LiveCount' in a layer-script
  • Simcaches do not require each particle to track their SpawnerID anymore.

Changelog 1.13.0

Build: PopcornFX-Editor_Setup_v1.13.0.45334_x64.exe (May 11 2018)


  • Runtime
    • Scripts : using local variables that redefine global symbols, namespaces, or functions now behaves properly (was half-working, half-broken before), and emits a warning.
    • Scripts : fixed occasional crash in script compiler when using uninitialized local variables.
    • Fixed incorrect detection of SMT on AMD CPUs (Ryzen)
    • Fixed instabilities of the physic evolver when the drag is close to zero, or is very high
  • Editor
    • Curve Editor : Could delete first or last control point


  • Runtime
    • Vastly improved performance when killing many effect instances in the same frame
    • Improved performance and accuracy of fast.linear2srgb and fast.srgb2linear functions


  • Runtime
    • Decals : Lifespan field added to Decal spawner Decal spawner. Defaults to 0.0f (default engine behavior).
    • Turbulence sampler Turbulence, Spectrum sampler Spectrum, and AnimTrack sampler AnimTrack samplers now support being sampled at evolve when they're attribute samplers.
    • AnimTrack sampler AnimTrack sampler now properly implements the 'intersect' and 'intersectPCoords' functions, allowing to intersect the swept shape.
    • Scripts : added bias(x, e) function. 'x' is a value in the [0,1] range, 'e' is a value in the [-1,1] range. Tweaking 'e' de-linearizes 'x'. A value of 0 for 'e' returns 'x'. 'fast.bias()' and 'accurate.bias()' are also available.
    • Scripts : added rgb2hsv and hsv2rgb functions, that support high-dynamic-range colors. The hue value of the HSV colorspace is wrapped from 0 to 1, the saturation is clipped from 0 to 1.
    • Turbulence sampler Turbulence sampler: Now supports external .FGA files as a baked vector-field source
    • Scripts: added 'view.direction()', different from 'view.axisForward()' depending on the handedness of the coordinate-system.
    • Texture sampler Texture sampler : Texture density sampling can now be overridden by attribute-samplers
    • Texture sampler Texture sampler : game-engine can now override atlas rect-lists per attribute-sampler
    • Texture sampler Texture sampler : New function exposed to scripts: atlasRectCount(), which returns the number of atlas rectangles currently defined.
    • Samplers Samplers : 'AttributeSamplerAtEvolve' property is now true by default. (Upgrader will patch effects)
    • Layer-scripts : 'Life' property can now be written to. Allows to control layer duration from layer-scripts.
  • Editor
    • Viewport : Added new camera shortcuts to snap camera to world axes: H/Shift+H (right/left), J/Shift+J (top/bottom), K/Shift+K (front/back), renamed old Shift+H shortcut (solo selected layers) to Ctrl+Shift+H.
    • Curve editor : Flipped control-point creation shortcuts: Alt+Click and Alt+Shift+Click. Alt+Click now slices the curve (old Alt+Shift+Click) instead of snapping all curves under the mouse pointer.
    • New Texture sampler VectorField backdrop that can be hooked on turbulence attribute-samplers
  • Assets
    • Upgrader @ : Following the bugfix of script's view.axisForward() which was previously incorrectly negated, upgrader replaces all occurences of 'view.axisForward()' in scripts by '(-view.axisForward())' to avoid related behavioral changes in effects. Affects all scripts.
    • Upgrader @ : The attribute samplers at evolve is now enabled by default in Samplers samplers. Upgrader will rewrite the effects with the old default value (properties that are set to their default values are not stored in the effect files), to avoid any related behavioral changes in effects. Affects all Samplers samplers.
    • Upgrader @ : Will force-replace all mesh paths that end with the ".pkmm", ".pkan", and ".pksa" extensions by ".fbx". It is not considered valid anymore to reference baked files in the source assets. Unbaked effects should always reference the source meshes. Affects Mesh samplers, Mesh renderers, Animtrack samplers, 3D Model editor backdrop, animtrack editor backdrop, and builtin particle editor animation tracks.