PK-Editor v1.5.4 released

From PopcornFX
Jump to navigation Jump to search

Back to anouncements
Beta released 31st December 2013
Full released 20th January 2014


PopcornFx-Editor_Setup_v1.5.4.19727.exe (Latest)



! WARNING ! If you are using a popcorn integration (C++ SDK or engine-plugin), before upgrading to 1.5.4 editor, make sure you also upgraded your integration to 1.5.4.
If not sure, ask us by email. Assets formats have changed on 1.5.4 and the editor will upgrade them, making them incompatible with previous versions of the popcorn runtime.

You can't yet disable auto-updates popups in this version, to manually disable auto-updates see Project selection : auto-updates

Known issues in the latest 1.5.4 build (19727):

  • None. please contact support at if you encounter any problem

Release highlights

Improved editor HUD Script-based scene raytrace Effect build-report Double-curve sampler
Improved editor HUD Script-based scene raytrace Effect build-report Double-curve sampler

Video highlights

Best viewed in HD with captions !

Latest fixes (5 Mar 2014)

  • Fixed incorrect spawn-flux 'wrapping' in the last frame of the spawner's life, when using spawn-flux integration mode.
  • Particles are now able to pick localspace transforms even after their layer has stopped spawning.
  • Fixed ribbon-renderer glitch
  • scripts : Fixed .trigger() function that did not work correctly with constant parameters (ex: trigger(true))
  • Layer instances whose particles use localspace nodes are now kept alive until all particles have died: can now have 0-lived instant layers whose particles follow the parent ingame node's transforms.
  • Added an 'UserData' field in all the particle renderers to transmit custom informations to your ingame renderers.
  • No more error displayed when 'LastRevision.txt' of a project is already up-do-date and locked by source-control (perforce) (12 Feb 2014)

  • Fixed various crashes on AMD cards (AMD device-driver crash)
  • Fixed a bug that prevented the editor layout to show properly on a fresh install
  • Fixed various ribbon-renderer bugs
  • scripts : fixed operator == and != on vector values, that did not return a vector mask
  • scripts : fixed functions all() and any() that returned incorrect results
  • scripts : fixed a bug when using bitwise XOR (operator ^ ), that in fact performed a bitwise AND (operator & )
  • fixed some rare crashes with the billboarder planar (3 Feb 2014)

  • Fixed a bug in the double-curve samplers that caused invalid values to be returned sometimes
  • Fixed a driver-crash on AMD cards
  • Fixed a few problems with some upgraders in some rare cases (30 Jan 2014)

  • Fixed a bug in project selection
  • Added custom command-lines for all bakeable resources.
  • renamed ProjectSettings.xml to PopcornSettings.xml
  • can navigate history-frames by scrolling on the slider with the mousewheel
  • atlas file path auto-filled by editor if a .pkat file is found with the same name as the texture.
  • AnimClips are now a path and not a resource link, you can just browse your fbx file containing the anim. (21 Jan 2014)

  • If a version of PopcornFx was already installed, the new attributes panel wasn't shown by default. Had to go to menu Layout > View > ParticleEffect Attributes
  • If running on a single-monitor machine, the content-browser would open outside the screen at first launch. Had to use Windows key + left keyboard arrow to move it back to the main screen.
  • Some texture files were missing in the default editor pack



  • Texture sampler Texture sampler : fixed a bug when using multiple texture samplers in the same layer with different sampling modes.
  • Texture sampler Texture sampler : fixed a rare crash when using 'point' + 'wrap' sampling modes together
  • evolver rotation Evolver rotation : fixed a few bugs
  • Mesh sampler Mesh sampler : added pCoords clamping to avoid crashes if invalid pCoords are given.
  • Spline editor Spline editor : various fixes & improvements
  • FBX/mesh import : Fixed lots of bugs that required to restart the whole popcorn editor to be able to use a freshly imported mesh.
  • Fixed a few bugs in the spawn transforms built when effects were triggered through events when particle had no 'Velocity'
  • Fixed focus problems : fixed particle editor going in the background when opening an effect.
  • Fixed lots of copy/paste, drag/drop, and undo/redo problems.
  • Scripts : Fixed a bug in the 'vrand()' implementation
  • Shapes : Fixed bug with Cone sampler Cone sampler when using parametric coords
  • PNG loader : Fixed a hang in the png reader when reading an invalid truncated file, due to libpng going in an infinite loop.
  • evolver physics Physics evolver : fixed large friction imprecisions.
  • FBX/mesh import : removed a hardcoded object name filter that caused the importer to ignore all imported objects whose name matched "*coll*"
  • Fixed a freeze in image previews when displaying the thumbnail of a texture whose width/height wasn't a multiple of 4
  • Editor will now correctly save your window settings and restore them when re-opening the fx editor.


  • Mesh renderer Mesh renderer : performance improvements
  • Mesh sampler Mesh sampler : performance improvements
  • Shape sampler Shape sampler : Improved shape sampling performance on Sphere, Cone, Cylinder, and Capsule.
  • Scripts : Optimized a few builtin math functions + bugfixes
  • Optimized random number generators (ie: calling 'rand()' functions in scripts)


  • Effect build-report and highlighting of problems in the treeview, that allows you to instantly see any problems happening in the effect.
  • Particle renderers : billboard renderer Billboard renderers can now be batched together in the same render-medium even if they have different billboarding modes, therefore they can now have correct sorting, as long as the material stays the same.
  • Removed implicit default texture in billboard renderer billboard and ribbon renderer ribbon renderers. now currently a default value, no need to hardcode path in rendering code to get same behavior as in the editor.
  • ribbon renderer Ribbon renderer : Improved rendering quality, new shaders that minimize texture deformations on ribbons.
  • Added a Post-spawn script : function void PostEval() in addition to regular spawn function, that allow you to manipulate particle fields at spawn-time _after_ they have been transformed to worldspace.
  • Particle renderers : added an explicit 'draw order' ID
  • Particle renderers : when using multiple renderers in a layer, can now hide each sub-renderer independently.
  • Hot reloading for all resources (meshes, textures, texture atlases, ...)
  • Upgraded FBX importer to libfbx 2014.2
  • Improved realtime developer profiler
  • Improved realtime particle editor HUD
  • Backdrops : added a backdrop offset and two-color backgrounds
  • Scripts : now recognize .rgba swizzles in addition to .xyzw
  • Scripts : added 'whitin' builtin function.
  • Scripts : fixed 'select' builtin function for 'int' arguments (always returned floats)
  • Scripts : added scene.intersect(float3 origin, float3 rayDirection, float length) -> returns float4(, hitlength)
  • Layers and folders now have a 'Weight' property (used by folders in 'random' mode to determine their child's spawn probability)
  • Evolver evolver spawner spawner : can now specify a custom 'Forward' (default=Velocity) and 'Up' field to manually construct the spawn-matrix of the child particles.
  • Evolver evolver spawner spawner : can now have localspace trails
  • Evolvers evolver physics physics & evolver collisions Collision : added custom 'OnCollide' event + ability to specify wether or not the event should get the post-collide velocity.
  • Particle renderers : mesh renderer Mesh renderer now has a list of mesh descriptors as childs, easier to add submeshes.
  • Added a new sampler double-curve sampler 'DoubleCurve' that can sample a value between two curves.
  • Refactored the sound layer 'Sound layer' and updated the documentation.
  • Bounds of mediums with 'float2 Size' particle field now OK
  • Inherit initial velocity now accessible directly in particle spawner spawner and Evolver spawner evolver spawner properties, no need to use the 'select samplers or renderers empty node' hack anymore
  • Ctrl+N => shows medium bboxes
  • Ctrl+E => fits view frustum to the full bounds of the particles in the viewport. (Shift+E to reset view frustum to the one saved in the effect file)
  • Trace report now has a 'Dev' toggle-button to change numbers display format.
  • Can now bake an effect using Ctrl+B in the editor, or multiple effects in the content-browser
  • Inherited packs are now read-only in the editor
  • Added flashing spawn/reset/loop/stop indicators
  • FBX/mesh import : improved import pipeline
  • Changed the way the FBX importer treats node scales, should work better.
  • FBX importer now handles files that have more than one skeleton at the scene root
  • 'Save as' now changes the current effect name, and saves the old one.
  • DX10 DDS sRGB support
  • Can now specify a custom per-attribute description to tell FX users what your attributes are doing.
  • Export/Import package functionality : can select various assets and export them to a .pkkg archive that can be sent to coworkers and/or re-imported into another pack.
  • Script editor : now highlights which lines in the script have errors.


  • AssetBaker can now correctly fetch the dependencies of a given effect, and bake them.
  • Renamed 'AssetBakerDefaultConfig.hcf' to 'AssetBaker.hcf'
  • PopcornSettings.xml at the root of the pack now stores all the pack's non-user-specific configuration
  • All editor-specific temp files now moved to $PackRoot$/Cache/
  • Renamed popcorn resource files:
Old ext New ext File description
.hbo .pkbo PopcornFx base object
.hfx .pkfx PopcornFx particle effect
.txt .pkat PopcornFx atlas definition
.hmm .pkmm PopcornFx multi-mesh
.han .pkan PopcornFx animation
.hsa .pksa PopcornFx skeletal animation (Editor-only)
.hml .pkml PopcornFx model (Editor-only)
.hma .pkma PopcornFx material (Editor-only)
.het .pket PopcornFx entity tree (Editor-only)
.hlv .pklv PopcornFx level (Editor-only)
.pkfx .pkkg PopcornFx package (Editor-only)

Note: The editor will automatically rename/move the resources when upgrading your pack, so you shouldn't have to worry about anything.