PK-Editor v2.1

From PopcornFX
Jump to navigation Jump to search

Back to anouncements
Released 09 Apr 2019 Projects created with PopcornFX v1.x cannot yet be used with PopcornFX v2.1
The v2.1 runtime will not be able to load v1.x effects, make sure you upgrade your runtime / plugins as well before switching to this version.

Looking for version 1 of popcorn ? Go to the latest v1.x editor

Release highlights

Light renderer Fractional update rates Draw order & slicing Fireworks: Payload management in timeline
Light renderer Fractional update rates Draw order & slicing Payload management in timeline


64-bits Windows build MacOS build Linux-64 build
PopcornFX-Editor_Setup_v2.1.5.55850_x64.exe (Latest) NewIcon.png
Not yet available
PopcornFX-Editor_v2.1.5.55850_x64.tgz (Latest) NewIcon.png

Plugin status

Changelog 2.1.5 patch

Build: PopcornFX-Editor_Setup_v2.1.5.55850_x64.exe (Jul 4 2019) (Latest) NewIcon.png

  • Fixed #2459: Editor: Sampled surface velocity on a skinned mesh returns incorrect values on frame 1 of the animation
  • Fixed #3122: Package Import: files in `Library` configurable dir are not remapped to current project
  • Fixed #3131: Asset picker widget in propertygrid displays incorrect submesh count for mesh assets
  • Fixed #3148: Project Launcher: Using the 'Open FileDialog' button in project settings lead to a crash
  • Fixed #3132: CParticleNodeSamplerData_Shape: Initialization of NormalizedInnerRadius produce 'nan' if Radius is 0
  • Fixed #3133: Compiler: Rare crash in discretization pass

Changelog 2.1.4 patch

Build: PopcornFX-Editor_Setup_v2.1.4.55295_x64.exe (Jun 6 2019)

  • Fixed #3052: Windows Editor doesn't start on some machines
  • Fixed #2976: Effect transforms are not interpolated at spawn by xform nodes, produces visual glitches (regression since PopcornFX v1)
  • Fixed #2906: Incorrect effect behavior when the gizmo is released while moving it fast (inconsistency between update of xform from the gizmo and update of instance xforms by the OnTick())
  • Fixed #2300: Wrong Discretization shown when it starts from an attribute at evolve
  • Fixed #3039: Image sampler: Constant folding of 'sampleDensity' and 'remapDensity' functions produce a change in behavior when sampling mode is set to 'point'
  • Fixed #2986: effect.position and effect.velocity are not interpolated when evaluated at particle spawn
  • Fixed #3041: TGA images saved with paint.Net and RLE compression are not properly loaded
  • Fixed #2231: Turbulence sampler: Changing 'TimeScale' and reverting it back to 0 when sampling local procedural turbulence field at spawn gives inconsistent results
  • Fixed #3013: Effect editor viewport: Spacebar spawn doesn't spawn instantly, waits for the keyboard repeat rate to kick in.
  • Fixed #3033: Effect editor: Crash when opening effect editor and the current project does not have the 'Editor.pkri' file
  • Fixed #2640: Moved 'editor.lock' file from project root to 'Cache' folder
  • Fixed #3043: "Help" menu does not reference online documentation
  • Fixed #3012: Effect editor: Added support for effect.velocity when moving effect instance around
  • Fixed #3044: Attributes: 'Delete' key does nothing
  • Fixed #3048: Gizmo: Extremely hard and frustrating to use when transforming shapes, always resets transforms, does not reuse existing shape xforms
  • Fixed #2998: UE4: Open in PopcornFX Editor not working

Changelog 2.1.3 patch

Build: PopcornFX-Editor_Setup_v2.1.3.54811_x64.exe (May 14 2019)

  • Fixed #2888: Broken update rate node coloring / visualization, in all layer templates, regression since v2.1.1 patch
  • Fixed #2880: Effect editor treeview: Deleting everything including the root causes a crash
  • Fixed #2912: Freeze in curve editor when color gradient is displayed and keyframes are moved too close together
  • Fixed #2900: Project settings: When opened from project launcher, doesn't display slashes in directory paths
  • Fixed #2938: Disabled timeline tracks produce totally empty descriptors with no spawn or evolve IRs, but still got simulated
  • Fixed #2939: Compiler: misleading warning when exporting a data value out of a layer
  • Fixed #2955: Compiler: Crashes when building a renderer with a pin that has no corresponding RencererFeature (happens when messing with default or custom material files)
  • Fixed #2933: Broadcasted events: optimized out if event is not plugged in another layer
  • Fixed #2940: Spatial insertion nodes did not inherit update rates properly
  • Fixed #2750: Spatial Layer Nodes were never showing pin names
  • Fixed #2941: Timeline track hovering: does not work properly when timeline contains unnamed tracks or in shipping builds
  • Fixed #1721: Content browser / breadcrumb : Ctrl+F should not only focus the search-box, it should also select everything inside it.
  • Fixed #2627: Attributes panel: Setting 'Bind to backdrop' is saved in undo-stack but not taken into account when undoing/redoing
  • Fixed #2914: When you set a float4 attribute to the color semantic then change it to a bool, the effect interface panel still shows a color selector.
  • Fixed #2936: Placing unwired spatial layer nodes in particle graph fails building graph with no error displayed in graph, and unknown error displayed in layer

Changelog 2.1.2 patch

Build: PopcornFX-Editor_Setup_v2.1.2.54473_x64.exe (May 01 2019)

  • Fixed #2749: Crash when changing the 'SubMeshIndex' property of a mesh sampler
  • Fixed #2847: Crash when deleting a template node referencing a template which doesn't exist anymore
  • Fixed #2853: Optimizer simplifies some bitwise operations to incorrect values
  • Fixed #2642: Effect editor: Gizmo in scale mode doesn't work.
  • Fixed #2806: Effect editor: Selections of 0-pixel height are broken in Viewport
  • Fixed #2688: Effect editor: Effect interface: attributes icons are not aligned when the window is resized
  • Fixed #2852: Effect editor: Pin visibility: Output pins ignore visibility rules
  • Fixed #2849: Effect editor: Editor auto-modifies files on open when effect contains a sphere shape with a non-zero inner-radius
  • Fixed #2812: Effect editor: Improper undo-stack rollback when closing corelib file, saying save in the close dialog, then cancelling in the warning dialog about saving corelib files
  • Fixed #2738: Rendering: Bad normals/tangents on Rotated lit particles with the CPU billboarder
  • Fixed #2791: TIFF loader: Does not properly support layered mode and/or ZIP compression
  • Fixed #2883: ContentBrowser: Can't Drag/Drop in Root
  • Fixed #2724: ContentBrowser: Drag and drop pkkg in content browser doesn't extract the package, bluntly copies the .pkkg file instead
  • Fixed #2601: Project Launcher: Project list does not handle High DPI
  • Fixed #1958: Project Launcher: Delete project always fails.
  • Fixed #2206: Script editor: false positive warning "uninitialize variable"
  • Fixed #2021: Script editor: When opening script editor, the view mode dropdown has focus instead of textarea.
  • Fixed #1294: Script editor autocomplete: improve key bindings
  • Fixed #2857: Asset dependency tooltip doesn't list the most useful dependency list: the effects which are using the current effect
  • Fixed #2881: Allow rebaking all dependent assets of a specific asset: Add a "right click > Bake dependent files" command on each asset.
  • Fixed #2850: Effect kill switch flag is never reset, causes performance hit
  • Fixed #2819: Asset baker: asserts when customizing ExtensionsRemap per config
  • Fixed #2781: UE4: added support for UE4.22
  • Fixed #2460: UE4: Crash when re-importing a mesh ressource from the PKFX asset window
  • Fixed #2782: UE4: Remove sort values from GPU buffers
  • Fixed #2868: UE4: Crashes when specifying a custom material to a renderer
  • Fixed #2907: UE4: Lights are not batched in single billboarding batch

Changelog 2.1.1 patch

Build: PopcornFX-Editor_Setup_v2.1.1.54190_x64.exe (Apr 19 2019)

  • Fixed #2734: Crash when toggling ShapeSampler template node at spawn producing pcoords used by shape sampler at evolve
  • Fixed #2337: Using a self.kill at spawn time leads to totally incorrect behavior, fast-forwards killed particles 1 second forward in time
  • Fixed #1839: Editor: Warn user when editing core-library or editor files
  • Fixed #2585: Curve editor: Cannot translate view in large curves
  • Fixed #2757: Enabled TIFF, PVR and PKM plugins
  • Fixed #2759: Shape sampler: sample cylinder in deterministic layers gives incorrect values
  • Fixed #2786: Shape sampler: sample box in deterministic layers gives incorrect values
  • Fixed #2717: Particles whose memory footprint is exactly a multiple of 1024 bytes fail allocating storage memory, and will never simulate
  • Fixed #2706: Several regressions in derivative and integral nodes (+ rare crashes)
  • Fixed #2700: Attributes: Color semantic: Displays alpha at 0 when type is float3
  • Fixed #2704: Attributes: Selection issues
  • Fixed #2813: IR Panel: Regression in node highlights: Hovering an instruction in the IR panel that should highlight a template instance will highlight all other instances of the same template as well.
  • Fixed #2733: Editor: Skinned meshes do not skin tangents: produces incorrect sampling
  • Fixed #2790: Crash when inserting an integrate node on an analytically integrable-sampler (same for a derivation node)
  • Fixed #2814: Nodal editor: Renderer nodes displayed with 'Spawn' color when entire layer runs at spawn: Should be displayed with "Renderer" color.
  • Fixed #2748: Screen-space rotation gizmo broken
  • Fixed #1968: Bad handling of node search keywords: cannot mix keywords from the node name and node keywords
  • Fixed #2761: Project launcher: Can't display project settings
  • Fixed #2702: Slicing breaks some ribbon effects (ie. TextureRepeat)
  • Signup & login screen: Some minor UX improvements
  • Minor nodal editor UX improvements
  • Fixed #2784: UE4: Removing mesh asset used by mesh renderer crashes UE4 editor
  • Fixed #2780: UE4: Attribute details infinite loop when removing an effect
  • Fixed #2783: UE4: General category always present in attributes
  • Fixed #2785: UE4: Hot reload fails when in play mode

Changelog 2.1.0

Build: PopcornFX-Editor_Setup_v2.1.0.53368_x64.exe (Apr 09 2019)


Editor & Runtime

  • #1230: Nodegraph: Per-node fractional update rates. Can tell any node to run at a lower update rate than the rest of the sim.
  • #1459: Timeline: Payload management, specify payload values for each keyframe of a track
  • #2333: Implement proper simulation time windows, enables precise sub-frame triggering of events and correct framerate independent event timings.
  • #1268: Rendering: Add experimental drawcall slicing support for better sorting between unrelated particle batches
  • #2287: Rendering: Add support for 'DrawOrder' property
  • #2183: Renderers: Allow exporting properties
  • #2004: GPU Sim: Implement XForms nodes
  • #2312: DDS Loader: support for ETC formats
  • #2363: Prevent runtime from loading unbaked effect files by default.
  • #2455: Payload extract node: Add a bool output which says whether or not the payload is present in the input event.
  • #2524: Turbulence sampler: Remove legacy 'samplePotential' function and 'DefaultSampledField' property

Editor only

  • Effect editor > Nodal editor
    • #2410: Nodal editor: Forbid drag&drop on typed/incompatible pins
    • #1164: Nodal editor UX: Better sorting of node search results in new node popup / template shelf
    • #1201: Nodal editor: Ctrl+click to move bunch of links from one pin to another
    • #1698: Nodal editor: Display property values next to pins in the graph
    • #2509: Nodal editor: Create new Layer: Change default SetLife node 0 value to 1
    • #2554: Nodal editor: Remove now useless 'if' template, replace by 'CParticleNodeIf'
    • #2557: Nodal editor: Rename pin names of 'select', 'within', 'clamp', and 'lerp' nodes
    • #2588: Nodal editor: Export as property/link/attribute: Pop naming window
  • Effect editor > Rendering
    • #1977: Rendering: Light particles
    • #2297: Renderer Features editor/viewer (Experimental, only accessible in developer mode)
    • #2298: Renderer FeatureSet editor/viewer (Experimental, only accessible in developer mode)
    • #2673: Rendering slicing: Expose slice count in user settings until slicing metric is properly defined
  • Effect editor > Viewport
    • #1444: Transform gizmo: translate gizmo has some weird/bad controls
    • #1655: Transform gizmos: Refactor
    • #2310: Viewport: Show coordinate system axis
    • #2503: Viewport: Show warning message in editor viewport when user has disabled some optimizations (currently only when developer mode is activated)
  • Effect editor
    • #1841: Effect interface & Attributes: General pass to make them usable
    • #2553: Effect editor template treeview: Right-click "Show dependencies", displays which other assets are using the template
    • #2210: Effect editor template treeview: Renaming templates ask for confirmation when other effects are using them. Deleting templates says nothing !
  • Template core library
    • #2551: Template corelib: 'Physics' template improvements
    • #2451: Template corelib: 'Physics' node: Add "VectorFieldSamplingMode" enum
    • #2025: Template corelib: Multiplier node: Add spawn count randomness control
    • #2507: Template corelib: Add missing templates: WorldToLocalPosition WorldtoLocalDirection
    • #2552: Templates: Split sampler templates into new 'Samplers.pkfx' corelib file
  • Other
    • #2417: Whole editor: Better handling of read-only files
    • #2292: Project launcher: Auto-update tab, shows list of available PopcornFX versions, and highlights which ones are installed
    • #2631: Details view: Add effect instruction count column
    • #2409: 'Tutorials' pack: Replace all "manual" XForms nodes by LocalPositionToWorld and LocalDirectionToWorld helper templates, less error-prone


Editor & Runtime

  • Events & payloads
    • Fixed #2031: Event payloads: They allow user to append 'bool' type, but not handled at runtime, will fail to compile.
    • Fixed #2402: Payload optimizer should not strip payloads of events wired in exported event
    • Fixed #2537: Trigger node does not interpolate payloads with input cursor
    • Fixed #2666: Incorrect layer output events are triggered if layer has one export output node which doesn't have an event to export
  • Other
    • Fixed #2699: Crash when using trail nodes with complex position calculations
    • Fixed #2375: Two attribute samplers with same Position values are baked as single sampler
    • Fixed #2406: Spatial layers don't work between effects: 'Global' property is ignored
    • Fixed #2394: Shape scale is not axis system independent
    • Fixed #2528: Optimizer crash: bad 'compare' op ICB optimization, produces out-of-bounds array access and potential crash
    • Fixed #2171: Compiler: Wiring a 'float<n>' into an 'any' or 'all' node asserts in backend and gives incorrect results
    • Fixed #2418: AlphaRemap ribbons have rendering artifacts when Texture Repeat is on
    • Fixed #2452: shape raycast will not work properly with attribute samplers
    • Fixed #2498: Cone shape sampling: Volume is broken
    • Fixed #2511: Curve CDF: Incorrect computations, unit probability curve produces non unit CDF
    • Fixed #2567: Mesh weighted sampling: doesn't work on other color channels than Red
    • Fixed #2618: Mesh weighted sampling: Negative vertex-colors cause asserts and incorrect sampling lookup computations
    • Fixed #2040: Empty layer: Behavior not coherent, creates a particle whose life lasts for 1 second

Editor only

  • Effect editor > Nodal editor
    • Fixed #2514: Particle debugger: Crash when switching to shipping while paused & debugging particles
    • Fixed #2311: Particle debugger: Debugger doesn't display boolean values when inspecting graph values
    • Fixed #2495: Crash when plugging a float3 in a float pin
    • Fixed #2637: Nodal editor crash: Drag a 'bool' wire, drop in graph, create billboard node: assert, tries to plug it inside 'Lit' input property, which is not a pin
    • Fixed #2521: Nodal editor: Incorrect auto-selection of pin to plug link into
    • Fixed #2526: Nodal editor: Can't choose 'select' node when wiring 'bool' link
    • Fixed #1137: Nodal editor: Full-rate passthroughs are displayed with incorrect color
    • Fixed #2657: Node creation menu does not filter suggestions properly when dragging a wire of type 'auto'
    • Fixed #2468: Template export input node does not warn when min and max values are identical, causes broken, unusable UI
    • Fixed #2571: Changing a constant node's value doesn't flag the effect as modified
    • Fixed #2449: Drag Link: Cannot release link if dragging into pin that already has the same link
    • Fixed #2659: Pin rules: Can't type "true" or "false" in rule value for bool properties
  • Effect editor > Timeline
    • Fixed #2453: Timeline: Deleting a track plugged in the layergraph, then undoing it permanently kills it until next restart of FX editor
    • Fixed #2522: Timeline panel: Unusable selection behavior when there's a single track
    • Fixed #2205: Timeline Doesn't scale correctly
    • Fixed #2574: Timeline panel: Unfriendly setting of splitter widget
  • Effect editor > Viewport
    • Fixed #1403: Viewport transform gizmo : HUD selection & key binding conflicts
    • Fixed #1601: Viewport stats: Frame counter doesn't work correctly
    • Fixed #2294: Viewport toolbar: Add icon for samplers debug visualization toggle button
    • Fixed #2581: Viewport toolbar: An effect with a grid backdrop enabled doesn't have the grid button checked when it's first opened
  • Effect editor
    • Fixed #2654: script completion: typing '<tab>' when there's nothing to complete shouldn't be intercepted by the completer popup.
    • Fixed #2635: Script completion: extremely annoying sorting, use same algorithm as new node menu
    • Fixed #2660: Mesh weighted sampling: Doesn't work for animated meshes
    • Fixed #2617: Mesh weighted sampling: doesn't properly refresh the internal data, causes no visual changes in viewport
    • Fixed #2626: Animated mesh backdrop ignores backdrop transforms
    • Fixed #2027: Effect editor: Template treeview: Allow reordering items through drag & drop
    • Fixed #2152: Effect editor: Instructions in IR panel are not clipped anymore since Qt 5.11, leak into the other columns
    • Fixed #2367: Effect editor: Browsing for textures multiple times does not re-open explorer window to last visited directory.
    • Fixed #2474: Effect editor: Saving effects with attribute-samplers always re-saves and modifies the effect
    • Fixed #2590: Effect editor: Attributes should not display 'HasMin', 'HasMax' and 'UseSlider' properties when the attribute is of 'bool' type
  • Content browser
    • Fixed #2632: Details view: Crashes when adding new column in settings when details view is visible
    • Fixed #2422: Details view: Clicking 'Reset' on the columns settings makes the entire details view disappear
    • Fixed #2639: Details view: Deleting a column leaves an empty space in the details view
    • Fixed #1897: ContentBrowser: Add a checkbox next to the search bar to configure case sensitiveness
    • Fixed #2038: ContentBrowser: Effect analysis does not show node-emitted errors or warnings
    • Fixed #1665: New effect: When creating new project, default effects in 'Editor/Templates' have no thumbnails
  • Propertygrid
    • Fixed #2165: Propertygrid: When all properties of a given category are hidden, the category is still visible
    • Fixed #2415: Don't display empty tooltips
    • Fixed #2475: Numeric line edit doesn't conform number to actual representation (ex: can type a float into an 'int' field, validate, and still see the float)
  • Other
    • Fixed #2501: Project launcher: Crash when trying to upgrade project after having tried to open project first
    • Fixed #2604: AccountManager: Account creation Country list is incomplete
    • Fixed #2646: Upgrader: Broken corelib upgrades when user has relocated its 'Library' folder to a sub-folder.
    • Fixed #2656: Editor file system: make sure it utilizes extensions set in project settings
    • Fixed #1134: AssetRegistry doesn't behave correctly with non-upgraded effects
    • Fixed #2399: When baking from the editor, particle compiler bake config isn't properly loaded
    • Fixed #2413: Online packs: Trash AssetBaker.pkcf files
    • Fixed #2634: Drag & drop doesn't properly take into account start drag distance, makes it very painful to use
    • Fixed #2641: Editor assets: When opening a window and cancelling (readonly files), leaves assets loaded in memory.
    • Fixed #2679: Core.pkfx: Template OrientationFromAxisAngle is incorrectly forced at evolve


Editor & Runtime

  • Fixed #2529: Optimizer: Using selects produces garbage codegen (resulting IR produces correct computation result, but through inefficient chain of instructions)
  • Fixed #1914: Optimizer: bad ICB (add/sub merge)
  • Fixed #2625: Optimizer does not remove useless 'samplePCoords' calls in 'editor' when using shape sampler nodes, only it shipping. It should in 'editor' as well, this is the basic DCE optimization
  • Fixed #2531: Optimizer: missing 'not' optimizations
  • Fixed #2652: Optimizer does not catch math operators with constant infinities
  • Improved event broadcast performance by switching event map lock to a CRWLock

Editor only

  • Fixed #2059: Project launcher: ULTRA slow when the project list is large, when doing any action that calls 'RefreshProjectList()'


  • Upgrader @ : Payload extract node: Added 'bool Found' pin
  • Upgrader @ : Remove AssetBaker.pkcf from runtime config directory
  • Upgrader @ : Turbulence sampler: legacy 'samplePotential' function & 'DefaultSampledField' property are not supported anymore, use 'FlowFactor' and 'DivergenceFactor' instead.
  • Upgrader @ : Split UpdateRate property into SimulationState and EvolveRate
  • Upgrader @ : Renamed light and sound renderer's 'Radius' property to 'Range'
  • Upgrader @ : Template corelib: Removed 'if' template, now using 'if' builtin node
  • Upgrader @ : Renamed inputs of 'select', 'clamp', 'lerp', and 'within' nodes to be more comprehensible.
  • Upgrader @ : Template corelib: Split samplers into new 'Samplers.pkfx' file
  • Upgrader @ : RendererInterface Extension Upgrade: Upgrade project settings allowed extensions and materials' RendererInterfacePath
  • Upgrader @ : RendererInterface: RendererInterface files extensions .pkbo -> .pkri
  • Upgrader @ : Template corelib: Simplified interface of 'Physics' template: Merged v1.x legacy properties 'ConstantAccel', 'ConstantWind', and 'ConstantDrag' with the 'Accel', 'Wind', and 'Drag' pins. Also replaced 'InvMass' property by 'Mass'
  • Upgrader @ : PopcornFXCore Library: Add new library file Samplers.pkfx
  • Upgrader @ : Add new shaders files Default_Light for RendererLight
  • Upgrader @ : Upgraded core library



  • #1653: UE4 plugin: Experimental DX12 simulation
  • #2427: UE4 plugin: Boolean attributes
  • #2428: UE4 plugin: Attribute categories