PK-Editor v2.4

From PopcornFX
Revision as of 06:29, 20 January 2020 by JBilalte (talk | contribs) (Created page with "Back to anouncements<br/> Released 20 Jan 2020<br/> '''#Plugin_status|make sure you upgrade your runtime / plugins as well before switching to this version...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Back to anouncements
Released 20 Jan 2020
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


64-bits Windows build MacOS build Linux-64 build
PopcornFX-Editor_v2.4.0.61401_x64.exe Preview-1 (Latest) NewIcon.png
PopcornFX-Editor_v2.3.4.61401_x64.pkg Preview-1 [Experimental] (Latest) NewIcon.png
PopcornFX-Editor_v2.3.4.61400_x64.tgz Preview-1 (Latest) NewIcon.png

Known issues

Plugin status

  • UE4 plugin status : Not yet available for v2.4.0
  • Unity plugin status : Not yet available for v2.4.0 (contact us)

Changelog 2.4.0.p1

Builds (Jan 20 2020) This is the 2.4.0 preview-1 build

  • Windows: PopcornFX-Editor_v2.4.0.61401_x64.exe
  • macOS: Build pending
  • Linux: Build pending


Editor & Runtime

  • #3356: LOD: Emitter bias: C++ integrations now have a per effect-instance control of LOD bias
  • LOD: Add script functions and corelib templates 'sim.lodDistanceMin()', 'sim.lodDistanceMax()', 'scene.lodDistanceMin()', and 'scene.lodDistanceMax()', to access the LOD distance metrics. The "sim" versions take into account the per-layer overrides of LOD metrics
  • #3349: Allow scaling in emitter transforms
  • #3800: Add a new "static test" node to test if a value is a spawn or evolve value
  • #3832: Add script function 'self.wasKilled()' & corresponding helper node in template corelib
  • #3833: Add script function 'self.isDead()' & corresponding helper node in template corelib
  • #2681: Compiler: have reliable storage name while editing an effect
  • #3737: Distortion material for ribbons
  • #2821: GPU sim: Attribute samplers Curve & Image
  • #2829: Slicing: Improvements
  • #3855: SDK & Editor: Vertex shader billboarding for billboard particles (previously was either CPU or geometry-shader)

Editor only

  • #1218: Nodal editor: Inline template/subgraph (reverse Ctrl+G)
  • #3574: Nodal editor: Move template to file
  • #3605: ContentBrowser: Add "Recent Files" list in "File" menu
  • #1257: Upgrader : upgrade v1.x effects to v2.0, first experimental version (still not fully exposed in the UI)
  • #3650: Auto-inlined template nodes to create node "presets"
  • #3798: Content browser: See file versions in details view
  • #3801: Content browser: Right-click 'Upgrade' should upgrade the selected assets to the current build version unless they're more recent.
  • #3834: Template treeview: When cloning a template, editor should insert it right below the original template, not at the end of the list, & should select it.
  • Effect editor: New "Storage" panel in graph details panels.
  • Editor User settings: Added new enum to select the billboarding method for billboard particles in editor's user rendering settings.
  • #2795: Payloads extract/append/copy: Add dropdown to select available payloads
  • #2830: Rendering interface: Can now cleanly rename renderer interfaces, editor takes care of patching all references.
  • #2832: PBR / IBL: In-editor renderer now supports ambient cubemaps
  • #3354: Nodal editor: Improved template property & pin ordering when their order value collides: Use node's vertical coordinate to sort.
  • #3554: Editor rendering settings: Add default "Auto" mode
  • #3577: Curve editor: Added curve presets
  • #3358: Editor: Added cubemap backdrop
  • #3588: Effect editor: Added animtrack backdrop
  • #2822: Feature set editor: Shader build output logs
  • #3747: Feature set editor: Shader permutation list display
  • #3834: Effecte editor: Template treeview UX: When cloning a template, editor should insert it right below the original template, not at the end of the list, & should select it.


Editor & Runtime

  • Fixed #3824: self.kill() is unreliable with OnDeath tests
  • Fixed #3638: Mesh projection & sample distance field artefacts. Sometimes particles get reprojected at incorrect location (was quick-fixed in v2.3.3 to avoid an upgrader, this is the "proper" fix)
  • Fixed #2902: Upgrader flaw: local un-upgraded files will skip missing upgrades when whole project is re-upgraded with a new upgrader
  • Fixed #3838: Nodegraph: Exporting texture sampler as attribute doesn't work
  • Fixed #3964: Command-line PK-Upgrader: Does not work with project settings files not named "PopcornProject.pkproj"
  • Fixed #3842: GPU sim: no rendering when attribute samplers are not overridden
  • Fixed #3843: GPU sim: Attribute samplers are incorrectly updated
  • Fixed #3844: GPU sim: Image/Curve samplers try to remove reloaded callback when not bound
  • Fixed #3845: GPU sim: Image attribute sampler only pickup first instance
  • Fixed #3965: GPU sim: vectorfield sampler function does not compile anymore
  • Fixed #3829: GPU sim (d3d11): some frames display no particles (particles flash on/off when spawning)
  • Fixed #3830: GPU sim (d3d11): Seeking backward in the timeline (with a large dt) totally breaks the effects
  • Fixed #3837: GPU sim (d3d12): D3D12 GPU sim image and rectangle list resource handlers cannot be overridden properly
  • Fixed #3856: GPU sim: incorrect implementation of xform, breaks localspace node

Editor only

  • Fixed #3466: Timeline: Seeking breaks particle debugging by re-simming
  • Fixed #3846: Editor shortcut panel: Resetting shortcut after binding 2nd keystroke combination always pops the shortcut conflict window, saying it conflicts with itself.
  • Fixed #3850: Nodal editor: Creating a layer in the middle of an event link creates a passthrough layer but keeps its 'SetLife' node to 1 second: Should be 0 seconds
  • Fixed #3783: Flipped tangents between geometry shader and cpu billboarded particles
  • Fixed #3710: Renderers: inconsistent pin rules for size/size2
  • Fixed #2204: Create Node in recursion effect triggers massive particle spawn
  • Fixed #3303: Creating script node by dragging a link doesn't properly name the created input/output pins
  • Fixed #3841: IR Panel: Externals panel's rate dropdown is disabled when selecting any IR and switching back to the 'Final' IR
  • Fixed #3831: Payload extract node: "Ignore Warning Missing" property does not work as expected
  • Fixed #3892: Infos / Warnings emitted by layergraph diagnostics from within layer templates are not visible in nodegraph.
  • Fixed #3945: Editor propertygrid: Some cubemaps do not show-up in asset-picker preview
  • Fixed #3123: Effect treeview / Template shelf: Right click -> show dependencies on template is broken
  • Fixed #3859: Template create and rename allows to have two templates with the same name in an effect file
  • Fixed #3852: Attributes: Naming attribute specific names can break graph compilation
  • Fixed #3656: Incorrect property grid display of 1D textures
  • Fixed #3840: HUD profiler causes random editor crash after running a couple minutes.


Editor & Runtime

  • #3502: Renderers: add a bool pin to enable/disable the renderer - step 2, performance improvements
  • #3640: Optimizer: Add global-effect VRP optimization, propagating value-ranges across payloads and layers
  • Various small performance improvements all over the board

Assets & core-lib

  • #3665: Template corelib: Removed Stretch property in BillboardScreenControl template as it's not axis consistent.
  • #3926: Template corelib: OnDeath node: Can now explicitly disable 'OnDeath' pulses when the effect has stopped.
  • #3956: Template corelib: Improved 'PlaySound' layer template
  • #3550: Template corelib: Improved 'Collision' template
  • #3899: Material corelib: Mesh "Lit" render-feature has totally pointless "NormalBendingFactor" property: Removed property from "Lit" feature, added new "NormalBend" feature which is only for billboards & ribbons


  • Upgrader @ v2.4.0.60087: Content browser: Add new column in the details view settings: 'FileVersion'
  • Upgrader @ v2.4.0.60098: Particle nodes: Renamed 'SimulationState' to 'ExecStage', and 'EvolveRate' to 'ExecFrequency'
  • Upgrader @ v2.4.0.60947: Effect files: Made backdrop & camera infos distance-independent (now stored internally as meters, takes into account project's unit-system)
  • Upgrader @ v2.4.0.61149: Template library: Renamed 'BillboardScreenControls' to 'Legacy_BillboardScreenControls'
  • Upgrader @ v2.4.0.61301: Lit/LegacyLit features: Separate 'NormalBendingFactor' from 'Lit' and 'LegacyLit' feature into a new 'NormalBend' feature
  • Upgrader @ v2.4.0.61327: Collision node: Renamed 'CollisionMask' to 'EnableCollisions'



  • #3749: UE4: Vertex shader billboarding for GPU particles
  • #3751: UE4: Re-enable GPU sim for D3D12 API
  • #3853: UE4: Add support for D3D12 image samplers (GPU simulation)
  • #3854: UE4: Add support for D3D12 image attribute samplers (GPU simulation)


  • #3348: Unity: Add support for custom materials