PK-Editor v2.1

From PopcornFX
Revision as of 18:44, 19 April 2019 by Tdesveaux (talk | contribs)
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 MacOsX build Linux-64 build
PopcornFX-Editor_Setup_v2.1.1.54190_x64.exe (Latest) NewIcon.png
Not yet available
Not yet available

Plugin status

Patch 2.1.1

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

  • Fixed #2717: Particles whose memory footprint is exactly a multiple of 1024 bytes fail allocating storage memory, and will never simulate
  • 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 #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
  • 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 #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 #2704: Attributes: Selection issues
  • Fixed #2585: Curve editor: Cannot translate view in large curves
  • Fixed #1839: Warn user when editing core-library or editor files
  • 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-sapce 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)
  • Fixed #2757: Enabled TIFF, PVR and PKM plugins
  • Signup & login screen: Some minor UX improvements
  • Minor nodal editor UX improvements
  • Fixed #2780: UE4: Attribute details infinite loop when removing an effect
  • Fixed #2783: UE4: General category always present in attributes
  • Fixed #2784: UE4: Removing mesh asset used by mesh renderer crashes UE4 editor
  • 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