PK-Editor v2.5
Jump to navigation
Jump to search
Back to anouncements
Released Mar 30th 2020. (preview-1 released Mar 19th 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
! IMPORTANT ! After upgrading a project to 2.5.0, make sure you clear your shader-cache by doing 'Edit > Clear shader cache' ! |
---|
Contents
Release highlights
![]() |
![]() |
![]() |
![]() |
New autoinlined templates for quick iterations | Custom file actions allowing versioning | Default material applied on particles with shader errors |
Particles can now be affected by scene wind |
Download
64-bits Windows build | MacOS build | Linux-64 build | ||||||
---|---|---|---|---|---|---|---|---|
|
Changelog 2.5.5 patch
Builds (May 29th 2020)
- Windows: PopcornFX-Editor_v2.5.5.64615_x64.exe
- macOS: PopcornFX-Editor_v2.5.5.64615_x64.pkg
- Linux: PopcornFX-Editor_v2.5.5.64615_x64.tgz
- Fixed #4584: Crash when unpinning a Mesh Attribute bound to backdrop
- Fixed #4576: Nodal editor: Crash when selecting a "local position to world" node followed by a "transform" node. In that order.
- Fixed #4577: Curve editor: Moving multiple control-points at the same time is broken, messes-up everything when moving too quickly
- Fixed #4602: Project launcher: When a more recent editor version is installed, opening a project tries to open it with the most recent editor by default
- Fixed #4601: Project launcher: When a more recent editor version is installed, allows to "upgrade" to that version, but cannot apply upgrades and messes-up entire project by effectively skipping all upgrades.
- Fixed #4569: Editor cache: When opening/building assets, the editor will recursively rebuild the cached asset onto itself, until the baked path becomes too long for the OS, causing unnecessarily deep cache folders
- Fixed #3918: Content browser save on close: Does not pop warning dialog about writing corelib files
- Fixed #4599: UE4: SpecularTexture isn't assigned on ribbons/billboards materials when LegacyLit is enabled
- Fixed #4592: UE4: GPU simulated effects crash on UE4.25 when running on D3D12
Changelog 2.5.4 patch
Builds (May 14th 2020)
- Windows: PopcornFX-Editor_v2.5.4.64330_x64.exe
- macOS: PopcornFX-Editor_v2.5.4.64330_x64.pkg
- Linux: PopcornFX-Editor_v2.5.4.64330_x64.tgz
- Fixed #4554: Renderers: Crash when using custom-sort values
- Fixed #4559: Project launcher: Crash when creating a new project from a readonly project file, or a non-existing path
- Fixed #4547: Script node: "float" and "bool" are inverted in script node drop-down buttons
- Fixed #4564: Effect editor: Effect repeat mode: Going from a 0 to a nonzero repeat delay instantly spawns lots of effect instances.
- Fixed #4456: Effect editor propertygrid: Doing a Ctrl+X into a numeric inputbox and unfocusing it keeps it to the value that was just cut instead of resetting it to 0
- Fixed #4558: All 3D viewports: Grid backdrop is broken when hot-switching coordinate systems in the project settings
- Fixed #4553: JPG loader: Incorrect loading of Grayscale JPEG files, entire image shifted 2 texels to the left
- Fixed #4469: UE4 plugin: Assert when reimporting UE4 effect
- #4470: UE4 plugin: Add UE4.25 support
Changelog 2.5.3 patch
Builds (Apr 30th 2020)
- Windows: PopcornFX-Editor_v2.5.3.63923_x64.exe
- macOS: PopcornFX-Editor_v2.5.3.63923_x64.pkg
- Linux: PopcornFX-Editor_v2.5.3.63923_x64.tgz
- Fixed #4525: Crash when closing an effect editor when multiple other effect editors are opened, and rendering is using D3D12
- Fixed #4524: Crash when hovering timeline tracks in effects where a layer exports an invalid output pin (a pin which is not an event)
- Fixed #4518: Content browser: Cannot specify filename with non-ascii characters: Says "Invalid filename"
- Fixed #4518: Propertygrid: When an asset path points to a non-existing asset, opening the browse window to pick a new asset makes it start in a garbage location (usually program files)
- Fixed #4519: Mesh importer window: Settings icon opens rendering settings instead of mesh editor settings as advertised by the tooltip
- Fixed #4515: Script properties: type dropdown of inputs & outputs have an inconsistent ordering of the types
- Fixed #4351: Project launcher doesn't refresh its project list when a .pkproj is removed
- Fixed #4529: Nodal editor: "Clone template locally" does not work properly when cloning templates that contain layers
- Fixed #4372: Sim GPU / Rendering : cannot render material that does not have the feature 'enabled'
- Fixed #4186: Light Renderers are not axis-system independent
- Fixed #3730: Image sampler: BGRA4 linear clamp: Incorrect colors returned, slightly yellowish
- Fixed #4411: Effect editor: Capturing a thumbnail shows all billboard particles as unlit in the captured thumbnail
- Fixed #4417: Export to package: Treeview shows directory contents with files first then subfolders at the very end. Should show subfolders first
- Fixed #4520: UE4: Skeletal mesh attribute samplers are always rebuilt when attribute sampler is destroyed/created
- Fixed #4527: UE4: Profiler displays nans when no effects are active
- Fixed #4537: UE4: FloatRGBA (hdr) image formats are not correctly supported
- #4495: UE4: Add LLM markers
- #4526: UE4: Add particle count per effect to the profiler
- #4528: UE4: Add config option to enable PopcornFX profiling markers
Changelog 2.5.2 patch
Builds (Apr 16th 2020)
- Windows: PopcornFX-Editor_v2.5.2.63604_x64.exe
- macOS: PopcornFX-Editor_v2.5.2.63604_x64.pkg
- Linux: PopcornFX-Editor_v2.5.2.63604_x64.tgz
- Fixed #4458: Timeline payloads: Orientation payloads produce garbage when used
- Fixed #4460: Timeline payloads: Cannot edit keyframe "Time" value
- Fixed #4479: When determinism is forced in the timeline user configuration, effect editor recompiles entire effect twice when switching compilation mode from editor to shipping, or the other way round
- Fixed #4464: effect.orientation sometimes returns NaN, depending on what transform nodes are already present in the current layer.
- Fixed #4483: Crash when enabling CustomSortKey + Slicing
- Fixed #4477: AssetBaker recompiles every effect twice: takes twice as much time to bake as it did in 2.4.x
- Fixed #4463: Animtrack backdrop: Produces incorrect effect.velocity values
- Fixed #4465: AnimTrack backdrop: Switching back and forth between different tracks messes up transforms
- Fixed #4474: IR Panel: "Events" tab does not show event rate for root event when viewed from inside a layer
- Fixed #4473: 'orientation' types produce warnings when used with discretization paths (for example using the "PreviousFrameValue" template)
- Fixed #4498: User can create "Output Node" for input value, followed by a crash
- Fixed #4459: Payload extract node: When extracting an orientation payload, if the payload presence could not be determined at compile time, and the layer was triggered without the payload, would output a invalid orientation instead of the identity orientation.
Changelog 2.5.1 patch
Builds (Apr 9th 2020)
- Windows: PopcornFX-Editor_v2.5.1.63429_x64.exe
- macOS: PopcornFX-Editor_v2.5.1.63429_x64.pkg
- Linux: PopcornFX-Editor_v2.5.1.63429_x64.tgz
- Fixed #4451: Editor crashes when cross-referencing asset are unloaded: Can happen when deleting nodes, closing effect editor, and other operations...
- Fixed #4405: Nodal editor: Crash when deleting a template while the nodal editor is viewing one of its child graphs more than 1 level deep
- Fixed #4415: Renaming an asset in the content browser and choosing to patch references misses some refs in files when the uppercase/lowercase mismatches with the filename ondisk
- Fixed #4419: Timeline: Editing timeline keyframe payloads when paused sometimes updates the sim and resims (as you would expect), sometimes doesn't.
- Fixed #4422: Timeline: Payload warnings in layergraph do not show actual timeline track name when the event comes from a root event node, says "layer "Track"", instead of "timeline track "ActualTrackName"", which doesn't help
- Fixed #4454: Nodal editor shows many false-positive info messages "Event ... sends payload ... which is not used by any of its targets"
- Fixed #4423: VersionControl: Incorrect command-lines called when assets are saved by the dialog-box when closing the last editor window
- Fixed #4424: SDK: FOV assertion when calling mediumCollection->UpdateView(), with Z-Up worldspace but Y-up viewspace.
- Fixed #4452: SDK: Runtime asserts when loading effects which declare attributes without using them
- Fixed #4109: Constant-fold chained XForms calls: w2l+l2w -> w2w
- Fixed #4455: Content browser: Always display folder full names even if they contain dots in their filenames
- Fixed #4367: Sampling normals from mesh sampler does not work when D3D12 GPU sim is enabled
- Fixed #4363: Release assert when copy pastin ShapeSample node and D3D12 GPU sim is running
- Fixed #4364: Shape samplers do not refresh until effect is restarted when properties are edited and GPU sim is enabled
- Fixed #4338: Ribbon renderers do not support atlas blending
Changelog 2.5.0
Builds (Mar 30th 2020)
- Windows: PopcornFX-Editor_v2.5.0.63174_x64.exe
- macOS: PopcornFX-Editor_v2.5.0.63174_x64.pkg
- Linux: PopcornFX-Editor_v2.5.0.63174_x64.tgz
Nodegraph
Nodal editor
- #4313: Improved error message when a non-existing submeshID is used
- #4262: Templates: When disabling node, allow specifying which input should passthrough into which output.
- #4183: Nodal editor search: Keep a list of recent searches & save settings from one editor launch to another
- #3996: Auto-exporting a property which other properties depend on now makes those other properties visible regardless of the current visibility rules, so you can auto-export them as well if needed.
- Fixed #4370: Picking colors in nodegraph UI & color-picker is not gamma-correct (fix does not change existing effects, but the colors shown in the color picker now match the colors injected in the graph)
- Fixed #4396: Renderers: Picking a new feature-set in any renderer node always pops file browser window at project root
- Fixed #2423: Hard to resize annotate box
New script functions
- #4232: Expose script function to extract side, up, and forward axes from an orientation: 'orientation_axisSide', 'orientation_axisUp', and 'orientation_axisForward', as well as corresponding corelib helper nodes: 'orientation.axisSide/Up/Forward', and 'orientation.basisVectors', which outputs all 3
Graph compiler & optimizer
- Fixed #4321: Compiler: incorrect constant-folding and instruction-combination with 'log'/'log2' math functions
- Fixed #4286: Layergraph payload optimizer: hitting the max iteration count on certain FXs
- #4240: Optimizer ICB: detect basis vector extraction from effect orientation and combine into simpler effect axis getter
- #4239: Optimizer ICB: detect rotation of a basis vector by an orientation and simplify into a basis vector extraction from the orientation + a mul
Simulation
- Fixed #4303: Curve integral in "Spline" mode is incorrect when control-point segments do not have the same length, produces broken CDF curves.
- Fixed #4401: Curve probability sampling / CDF: When two curve keyframes have the same 'x' coordinate, breaks the CDF and makes it uniform
- Fixed #4400: Texture sampler: Texture specified through an inline template property are always converted to BGRA8 at runtime and loose all HDR information
- Fixed #4399: Texture sampler: Cannot sample the density of a texture specified through an inline template property, only works with an actual texture node.
- Fixed #4391: view.distance() and view.unprojectedAxis() return an incorrect value when no camera views are registered in-engine. They should return +inf
- Fixed #4390: Curve sampler: Crashes on x86-SSE machines when sampled with a NaN value
- Fixed #4294: Some orientation helper nodes with nothing wired in produces a NaN orientation (orientation from forward, from up, from forward up, and from axis angle)
- Fixed #4403: Mesh sampler: Always reformats vertex-buffer when loading effect, even when format is fine. Wastes time for no reason
- #4172: Sim interfaces: Allow "partial" binding of sim interfaces when not all inputs are needed by the actual implementation
Simulation: GPU
- Fixed #3997: GPU simulation glitches when starting some effects
Rendering
- #3967: Unify meaning of "Size" property between planar-aligned billboards and other billboard types: "Size" is now the particle radius for all billboard types. Was previously radius for all except planar, where it was the diameter.
- #3940: Add GPU particles support for vertex shader billboarded particles
- #3939: Add slicing support for vertex shader billboarded particles
- #1523: Editor viewport: Add default renderer/material/shader to avoid invisible particles
- Fixed #4326: Default material does not work with vertex shader billboarded particles
- Fixed #4323: Rotation is inverted for planar aligned billboard with vertex billboarding
- Fixed #4306: Incorrect display of editor cubemaps in overdraw view
- Fixed #2005: Incorrect display of debug shapes in overdraw view
- Fixed #4119: Particles disappear when modifying renderer properties
- Fixed #4235: CPU-billboarding: normals and tangents are not rotated for screen-aligned billboards
- Fixed #4288: Useless texture fetch for alpha when using an AlphaTest Opaque material
- Fixed #4385: Bounding boxes: invalid bbox generated when the 'size' of the renderer is negative
Editor
- #4407: Image loaders: Add support for .hdr files
- #4292: Add experimental version-control settings to make life with perforce easier
- Fixed #4349: Hot reload: Meshes hot reload doesn't work until assets are manually built
- Fixed #4347: Hot reload: Samplers do not refresh when used resource is removed/renamed
- Fixed #4348: Hot reload: D3D12 Rendering API crash when removing/renaming texture used by rendering
- Fixed #4346: Hot reload: Renaming a file outside editor does not trigger a refresh of the resource
- Fixed #4327: Hot reload: Render system does not pick up deletion notifications
- Fixed #4296: Crash when importing package from an older version with different library directory setup than target project
Effect editor
- #2383: Viewport: add color saturation in the post-FX parameters
- Fixed #4369: crash when two renderers are compatible feature-wise, but have mismatching billboarding modes, and are rendered using vertex shader billboarding
Mesh importer
- #4298: Mesh importer: Add "Import" button to manually reimport after having changed some settings
- #4293: Add support for Granny's .gr2 meshes (if you have a granny SDK and want to use your .gr2 meshes in popcorn, you will need to tell the editor where to find your Granny dll, drop us a line)
Material editor
- Fixed #4389: Material editor takes a long time to open
- Fixed #4322: Material editor: huge stall on main thread when launching async shader compilation
- Fixed #4319: Material editor: huge performance hit when shaders are compiling
Content browser
- Fixed #4275: Occasional crash on editor startup during asynchronous effect analysis
- Fixed #4300: Baking/importing assets ignores the list of allowed asset extensions setup in the project settings
Upgrader
- New upgrader @ v2.5.0.62099: Renamed corelib templates. (ex: 'OrientationFromForward' -> 'orientation.fromForward', 'SceneProperties' -> 'scene.properties')
- New upgrader @ v2.5.0.62233: Unify meaning of 'Size' property between planar-aligned billboards and other billboard types: Change 'Size' to always mean the radius
- New upgrader @ v2.5.0.62501: User configuration file: Reorganized/renamed some settings
- New upgrader @ v2.5.0.63107: Upgraded corelib files
- New upgrader @ v2.5.0.63165: Angle fixes: orientation.fromEuler is not axis-system independent + All 'orientation.fromXXX' with an 'AngleOffset' arg now expect an 'orientation' instead of 'float3' euler angles
Assets & core-lib
- #4105: Added scene wind support in Physics node
- Fixed #4162: Templates corelib: 'Collision' template: Particles fall through the floor
- Fixed #4320: Templates corelib: 'PreviousFrameValue' node doesn't work with 'bool' types
- #4398: Templates corelib: New 'Timer' template, that counts the elapsed time since started, with 'Start' and 'Stop' bool inputs
- #4397: Templates corelib: New 'Counter' template that counts the number of times an input condition is 'true'
- #4297: Templates corelib: New 'PivotMesh' helper template to specify a pivot to a mesh renderer
- #4249: Templates corelib: New autoinlined templates: Suffixed with "(rig)": sampling helpers that drop the sampling node AND the resource node, spatial layer helper rigs, simple emitter rigs, rand float, rand float2, rand float3, and rand float4 helpers.
- #4230: Templates corelib: 'TimeBasedCursor' is now available as a public template
- #4228: Templates corelib: Add ability to rotate vector-field in physics node and vector-field sample node
- #4227: Templates corelib: Add 'transform inverse' node to complete existing 'transform' node
- #4225: Templates corelib: 'effect.orientation' : Add static orientation offset like in 'OrientationFromXXX' nodes
- #4224: Templates corelib: 'OrientationFromEuler' template is not axis-system independent, and inconsistent with OrientationFromXXX templates
- #4242: Templates corelib: 'EventMultiplier' adds new payloads to its output event
- #4395: Fork 'SmallPointAA' to 'SmallPointAA_Attribute', and make original 'SmallPointAA' not automatically expose an attribute
- Fixed #4394: 'SmallPointAA' template: Behaves badly when no camera views are registered in-engine: produces infinite sizes
- Fixed #4226: Templates corelib: 'OrientationInvert' node cannot be used without an input: Produces compile error
Plugins
UE4
- #4361: UE4: Improve auto scene actor creation
- #4332: UE4: Add support for volumetric fog particles
- #4055: UE4: Hook onto scoped profile nodes so PopcornFX profiler nodes appear in UE Insights
- Fixed #4362: UE4: Vertex shader billboarding mismatch with PK-Editor rendering
- Fixed #4334: UE4: ParticlePosition, ParticleSize, ParticleRadius are incorrect when using vertex shader billboarding
- Fixed #3875: UE4: Enabled pin not supported for light and sound renderers
Unity
- #4011: Unity: Support exported events
- #4010: Unity. Add Option to enable localized pages
- #4005: Unity: Implem DX12 RenderAPIData
- #4002: Unity: Make distortion work with GPU billboarding
Content examples update
New "Tutorials" effects
![]() |
![]() |
![]() |
Shows how to use the 'Counter' template | Shows how to use the 'Timer' template | scene.sampleSceneWind sim-interface & wind backdrop |