PK-Editor v1.7

From PopcornFX
Jump to navigation Jump to search

Back to anouncements
Released December 2nd 2014
Pre-Released November 11th 2014


PopcornFX-Editor_Setup_v1.7.3.23804.exe (Latest)

Known issues in the latest 1.7.3 build (23804, Feb 2 2015):

  • None, please contact support at if you encounter any other problem

Known issues in the 1.7.2 build (23449, Dec 22nd 2014):

  • WindowSettings.xml shouldn't be in the install package. If you experience window layout issue, please do the following:
    • first check that there is no editor running
    • delete the file WindowSettings.xml in the install folder (by default : "C:\Program Files (x86)\Persistant Studios\PopcornFX\Editor\WPF\ContentBrowser")
    • AND delete this file also in your data folder (by default in "C:\Users\[your_username]\Documents\Persistant Studios\PopcornFX\Editor\WPF\ContentBrowser")

This has been fixed in the 1.7.3

Please contact support at if you encounter any other problem

Release highlights

Text sampler sampleVelocity() & Preview animated meshes in-editor Perf HUD Audio renderer
Text sampler sampleVelocity() & Preview animated meshes in-editor Performance HUD / graphs Audio renderer

Video highlights

Latest fixes

Patch 1.7.3 (2 Feb 2015)

Build: PopcornFX-Editor_Setup_v1.7.3.23804.exe (Latest)

  • Fixed an occasional crash when editing some effects containing parent-fields.
  • Fixed a rare crash when importing FBX without geometry, and only animation.
  • Fixed a bug when importing into a new project packages that did not contain a PopcornProject.xml file.
  • Sampler double-curve Sampler double-curve : fixed bug that caused tangents of the second curve to be reset when the effect was loaded.
  • Text sampler Text sampler : inline text didn't escape correctly the multiline separators '\n'
  • Flocking evolver Flocking evolver : Fixed NaNs at first frame in demo flocking scene (FullIntegration) : bad first initialization of mean neighbor directions.
  • Spawner evolver Spawner evolver : Fixed CustomSpawnMetricScaleField bug : was not taken into account when loading the effect.
  • HBO text reader: now recognizes optional UTF8 header and skips it. Some text editors will silently add this header if you open the .pkfx files in text mode.
  • Editor now logs an error when failing to load corrupt effect files, and gives more details about what went wrong.
  • Scripts : added new 'clamp' function : 'clamp(value, min, max)'
  • Effect file wasn't seen as modified after renaming a layer.
  • Removed annoying spline-editor auto-loop feature
  • Script compiler : integer permutable math operators (add, sub, mul, div) : fixed an over-optimization problem that caused the reorder-and-mutate pass to try folding integer mul-div clusters, resulting in errorneous results (bad truncation)
  • Script compiler : now correctly replaces integer mul/div/mod with powers of two by left-shift/right-shift/bitwise-and operations.
  • Script compiler : now correctly replaces logical '!' on compare results by the inverse compare.
  • BREAK : Planar billboards : fixed a bug that silently flipped the 'up' axis in Right-Handed axis systems. Unfortunately this will break effects that depend on planar billboarders and non-symmetrical textures (like text-displaying effects)
  • Fixed 'SaveAs' window which was confusingly titled 'Save'
  • Fixed 'Clone' command in content-browser: now removes the read-only flag in the newly cloned effect.
  • Spawners/layers : fixed a crash and various other bugs when changing the type of a flux-driving attribute while bound to the flux factor expression of a layer.
  • BREAK : Renderer Ribbon : billboarding now consistent across axis systems. LeftHanded projects had their ribbon's textures flipped upside-down.

Patch 1.7.2 (22 Dec 2014)

Build: PopcornFX-Editor_Setup_v1.7.2.23449.exe

  • Shape sampler Shape samplers : Fixed occasional memory corruptions in distanceField() & project() functions.
  • Projection evolver Projection evolver : Fixed occasional memory corruptions.
  • Removed unstable experimental 'effect' backdrop that shipped by mistake in v1.7.0 and v1.7.1
  • mesh renderer Mesh renderer : right-click > explode submeshes to descriptors : fixed bug that did not copy the original descriptor's properties to each child descriptor.
  • mesh renderer Mesh renderer : fixed a crash of the ATI/AMD graphics driver when using the unlit 'Solid' material.
  • Online packages panel : fixed thumbnail refresh problem when a new thumbnail is downloaded
  • When viewport size is reduced, perf HUD now adapts to a more compact version.
  • Particle renderers Particle renderers : Now displays 'Diffuse' / 'Normal' / 'Specular' texture node properties only when appropriate based on the selected material.
  • Fixed : Analyzing resources in the details panel sometimes crashed if the asset list contained an effect with an audio renderer.
  • Content-Browser : Removed deprecated Tags panel.
  • Project selection : reworked online packages panel to display two explicit 'Create New' and 'Import' buttons, in replacement of the old obscure way of doing this.
  • Project selection : Importing an online package into an existing package that has a different folder layout will now work properly.

Patch 1.7.1 (09 Dec 2014)

Build: PopcornFX-Editor_Setup_v1.7.1.23366.exe

  • spectrum sampler Spectrum sampler's Audio viewer did not display for attribute-samplers.
  • Various bugfixes and improvements regarding the online packages.
  • Improved project creation from packages.
  • entering a value too large for a float in a numeric or vector property froze a part of the editor UI.
  • Can now drag&drop a .pkkg in the project list to create a new project from it.
  • Texture sampler Texture sampler : now safely renormalizes the RGBA weights used for density sampling.
  • added a bunch of tooltips on the properties of samplers, evolvers, and renderers.

Changelog 1.7.0


  • Fixed broken textures hot-reload in some cases.
  • curve sampler Curve editor : Fixed broken curves Min/Max limits in linear mode.
  • curve sampler Curve editor : Changing Min/Max limits now correctly refreshes the curve-editor viewport.
  • Fixed newborn particles update miss : fixes some localspace bugs with some evolver spawner Evolver spawner, and localspace bugs with FirstSpawnDelays.
  • Fixed a bug in the script compiler that produced incorrect results when directly initializing a local variable with another local variable of the same type without changing it.
  • Fixed problematic skeletons and animations imports in projects that were setup with an axis system different from the default one (Right-Hand Y-Up)
  • Fixed a bug that caused the editor's framebuffers not to be destroyed when resizing viewports, causing a serious GPU memory leak
  • Texture sampler Texture sampler : Fixed creeping random crash in density sampling mode. Happened whenever the density image had a first row of entirely black pixels.
  • Texture sampler Texture sampler : Now correctly handles entirely black density textures (no density sampling possible, returns original input UVs without performing the density-mapping)
  • Texture sampler Texture sampler : Improved sRGB handling with older DXT-compressed images.
  • Texture sampler Texture sampler : Load times slightly faster, does not allocate an additional pixel-buffer when converting sRGB <---> Linear anymore. Converts in-place.
  • Texture sampler Texture sampler : fixed some random crashes when hot-reloading images
  • Disabled 'if' and loop constructs in scripts : They were not implemented, did not work anyway, and could cause crashes if still used. Will be restored when a stable implementation will be made.
  • Scripts : fixed a bug when assigning a local variable into itself (ie: "float a = 1; a = a;" or "float a = 1; a = a + 0;" or "float a = 1; a = a * 1;"
  • Mesh importer : fixed a memory leak when importing skeletal meshes


  • Improved performance of 3D noise() functions in scripts (roughly 3 times faster)
  • Improved performance of all curve-sampling functions. Up to 12 times faster on PS4/XBOne, up to 3 times faster on all other platforms.


  • Can now preview and sample animated meshes inside the effects editor.
  • BREAK: for triggered Burst Layers, SpawnerScript "SpawnerLifeRatio" now has the expected value (it was the parent particle's LifeRatio). Use "parent.LifeRatio" to get back the old values.
  • evolver attractor Evolver attractor : added an attraction mode where you can specify a max attraction distance and custom falloff.
  • Texture sampler Texture sampler : sample density : can choose which channel to use, and if choosing average (was the default before), can now override the RGB averaging weights.
  • Texture sampler Texture sampler : now takes into account the filter type. Renamed old unused 'SampleMode' into 'DefaultFilter' and added 'DefaultWrap' for more explicitness
  • Spawn scripts : can now only have a 'PostEval()' function, without the need for 'Eval()'
  • All renderers : can now specify a custom 'Position' field.
  • billboard renderer Billboard renderers : can now specify custom 'Rotation' field.
  • ribbon renderer Ribbon renderers : added ligthing and deformation materials.
  • Shape sampler Shape sampler : Added a new 'sampleVelocity()' function, That allows sampling the surface velocity of skinned meshes.
  • New sampler : Text sampler CParticleSamplerText. Use with a full or partial ASCII texture atlas to display particle-based text.
  • New renderer : Sound renderer CParticleRenderer_Sound.
  • Custom command-line to validate the effects (impacts on the 'status' column of the details view).
  • Show Project Settings : You can view or modify properties associated with your project in he Properties window directly from the ContentBrowser.
  • Changed bake dialog : CTRL+B now performs a silent bake without popping a dialog. To access the old bake dialog, use CTRL+SHIFT+B.
  • Particle Attributes : Can now reorder attributes using right click > MoveUp/MoveDown.
  • curve sampler Curve editor : New menu option 'Swap Curves' allowing to swap two curve components. ex, a float3 'xyz' curve will have the options to swap y<->x, z<->x and z<->y
  • Resource Selector : Node properties now display the full resource path in the tooltip.
  • Resource Selector : Added a 'Open file location' menu item when right-clicking on a resource path in the node properties panel.
  • "Save As" now prevents access to file path : We've decided to entirely remove that window in 1.7 and replace it by an explorer dialog.
  • When creating a new effect, if the name already exists, pops back the naming dialog. Avoids having to re-right-click, create new effect, etc...
  • Editor now auto-detects if a curve should be in loop mode.
  • Improved debug editor HUD : added performance indicators to help optimize your effects, in addition to existing memory and overdraw stats.
  • Added new viewport rendering mode : Wire+Shaded
  • New viewer : Audio viewer, when selecting a spectrum sampler


  • AssetBaker can now bake *.pkan and *.pksa files