PK-Editor v2.17

From PopcornFX
Revision as of 10:52, 1 September 2023 by Hugo (talk | contribs)
Jump to navigation Jump to search

Back to anouncements
Released Jun 28th 2023.
Make sure you upgrade your runtime / plugins as well before switching to this version.

Release highlights

GPU Payloads GPU Skinned Mesh sampling Nodegraph autofit Builtin node descriptions
GPU Payloads GPU Skinned Mesh sampling Nodegraph autofit Builtin node descriptions

PopcornFX 2.17 release highlights livestream

The full sources of the UnrealEngine, Unity, and O3DE plugins are freely available on github:

Source code is available for everyone, can be freely used, modified and shared under the Community License terms.
Note: UE4 & UE5 plugin archives are provided as 7z archives for better compression. They can be extracted using 7zip.


64-bits Windows build MacOS build Linux-64 build
PopcornFX-Editor_v2.17.4.18562_x64.exe (Latest) NewIcon.png
PopcornFX-Editor_v2.17.4.18562_x64.pkg (Latest) NewIcon.png
PopcornFX-Editor_v2.17.4.18562_x64.tgz (Latest) NewIcon.png

Changelog 2.17.4

Builds (Aug 31st 2023)

  • Fixed #12852: GPU Texture density sampler: Density textures specified through a property in the propertygrid, without a texture node, do not work in the GPU sim
  • Fixed #12773: Effect editor: Big memory leak in D3D12 with skeletal mesh backdrops when seeking in the effect timeline
  • Fixed #12753: Nodal editor: Crash on Ctrl+G when the final template has more outputs than inputs (since v2.17.1)
  • Fixed #12828: Nodal editor: Using the 0?1 search syntax to create a rand node does not work with multi-dimensional vectors, for example: 0,0,0 ? 1,1,1 does not work
  • Fixed #12357: Editor-Mac: cannot import any package
  • Fixed #12829: Unity: Diffuse ramp show compression artefacts on URP
  • Fixed #12427: Unity: Add auto detect of render pipeline to create the right factory
  • All v2.15.13 LTS fixes:
    • Fixed #12791: GPU sim D3D12: using sim.wave.or() and sim.wave.and() breaks shader compilation
    • Fixed #12800: UnrealEngine: UE5.3 support
    • Fixed #12798: UnrealEngine: Drop support for Armv7 (32bit) on UE4.27
    • Fixed #12824: UnrealEngine: Update plugin icons to better match UE5 UI style
    • Fixed #12856: UnrealEngine: Mesh materials aren't two sided by default
    • Fixed #12855: UnrealEngine: AlphaRemap does not work with mesh particles
    • Fixed #12854: UnrealEngine: AlphaBlended meshes default to an Additive material once imported
    • Fixed #12780: Unity: ResetAndUnloadAllEffects should clear loaded dependencies
    • Fixed #12779: Unity: optimize matching dependencies in resources load
    • Fixed #12769: Unity: Use SetVertexBufferParams and SetIndexBufferParams to create the mesh buffers
    • Fixed #12844: O3DE: PK_RETAIL not defined for release builds on platforms other than linux
    • Fixed #12823: O3DE: RendererLoader does not keeps a reference for model assets
    • Fixed #12799: O3DE: Gem fails compilation in release configuration on Linux
    • Fixed #12771: O3DE: Failed to get model asset for mesh renderers
  • All v2.15.12 LTS fixes since v2.17.3:
    • Fixed #12749: GPU sim D3D: fails to compile in GPU sim shaders
    • Fixed #12763: Template icon picker in the propertygrid does not list some icons
    • #12333: Unity: Performance analysis, Add C# markers
    • Fixed #12758: Unity: Crash on resize buffer on PS4

Changelog 2.17.3

Builds (Jul 27th 2023)

  • Fixed #12727: GPU sim: Layers that do not use any parent payload do not properly apply effect instance transforms, particles ignore the xform nodes and appear at world origin
  • Fixed #12735: GPU sim D3D11: Crash when sampled mesh cannot be loaded
  • Fixed #12689: GPU sim: undefined behavior when layer generate allocations higher than 4Gib
  • Fixed #12711: Baking effects with the keep-sources & inline all dependencies options does not remove the 'Public' flag of templates it inlines
  • All v2.15.12 LTS fixes:
    • Fixed #12734: Runtime: cpu detection not working on macos arm64
    • Fixed #12729: Editor crashes when deleting a node if its IR instruction is selected
    • Fixed #8397: Editor: Incorrect translation of renderer features
    • Fixed #12746: UnrealEngine: ribbon segments incorrectly apply particle diffuse colors, emissive colors..
    • Fixed #12739: Unity: UnityPluginLoad is not called on windows x32
    • Fixed #12736: Unity: undefined symbols if building for iOS
    • Fixed #12733: Unity: Mac silicon support
    • Fixed #12713: Unity: DllNotFoundException on linux
    • Fixed #12707: O3DE: Uninitialized local variable warning as error in track view attributes

Changelog 2.17.2

Builds (Jul 13th 2023)

  • Fixed #12679: Unity: Missing renderers in effects with light renderers
  • Fixed #12678: Unity: Binding of normal map fails during import
  • Fixed #12447: Unity: Add Sound/Light/Decal renderers infos to PKFxAssetEffect Inspector
  • All new v2.16.6 & v2.15.11 LTS fixes since v2.17.1:
    • Fixed #5233: Spatial layer : graph build error when exporting spatial layer pin in the layergraph
    • Fixed #12640: Node Script: Closing a scope without the semicolon termination token compiles fine and produces undefined behavior
    • Fixed #12139: Output event of a layer is broken when multiple event nodes are wired into it and one of them is disabled and has a passthroug node along the wire. Also displays incorrect warning.
    • Fixed #11884: Data nodes in layergraph: Changing properties in the layergraph require to manuall hit the 'recompile' button to see the changes
    • Fixed #12690: Attribute / Effect interface panel: Cannot roll-up categories, annoying when there are large attribute lists
    • Fixed #12677: Nodal editor: When creating an input node from a renderer pin, incorrectly auto-names the new input with the category prefix. Ex: "General.Size"
    • Fixed #12193: Nodal editor: deadlock when deleting some dangling passthrough nodes
    • Fixed #12270: Node creation dialog: Cannot set focus back to search box with keyboard once 'down' arrow has been pressed at least once to select an item in the list
    • Fixed #8847: Color picker: Picking a screen color is bugged on high-dpi screen setups, does not pick the correct colors on secondary screens that are on the left of the primary screen
    • Fixed #12680: Color picker: When picking screen color and moving back and forth between screens in a multi-screen setup, sometimes big black and white squares appear and follow the cursor, obstructing the things underneath
    • Fixed #12672: Color-picker: in attribute panel incorrectly interprets the colors as sRGB when in fact they are linear, mismatches the color displayed in the propertygrid and in the viewport.
    • Fixed #5232: Layergraph : changing a datacurve link in a layer input pin, doesn't trigger a graph rebuild
    • Fixed #5924: XForm node emits warning when the layer is triggered from two different events, and one of them adds a 'Position' or 'Orientation' payload, but not the other.
    • Fixed #12682: Sometimes invalid effects are written, with null pins or connected pins in some objects
    • Fixed #12674: Users tied to an organization without any seat assigned see a 'license expired' popup when logging in
    • Fixed #12114: Mesh viewer: importing animations/skeleton in a mesh doesn't refresh the viewport

Changelog 2.17.1

Builds (Jul 6th 2023)

  • Fixed #12664: GPU simulation cache used by editor is never reused when the effect editor is reopened on the same effect: Every time everything gets recompiled.
  • Fixed #12663: GPU simulation fails to compile after cache is cleared while effect editor is running, requires closing and reopening the effect editor window
  • Fixed #12614: GPU sim: particles randomly extract invalid payloads when more than 256 particles are spawned in a frame
  • Fixed #12606: GPU Sim: shape misc functions don't behave like expected for ellipsoid and capsules
  • #12625: Editor: Add a 'Cache Information' submenu in the 'Edit > Cache' menu, that displays more information on the status of the different caches and how much space they take
  • Fixed #12644: Unity: Standalone build don't compile
  • #12496: Unity: Add emitter visibility support
  • #12495: Unity: Add per emitter timescale support
  • All v2.16.6 fixes:
    • Fixed #12617: GPU sim D3D11: mesh sampling is broken when the mesh resource is specified through an inline property instead of through a resource node
    • Fixed #12605: Crash when sampling mesh with and without pcoords
    • Fixed #12630: Nodal editor: Sim location coloring is not displayed correctly in some effects
    • Fixed #12518: Using the debugger in a layer that has both CPU and GPU particles causes all subsequent layer compiles to stall the main thread waiting for sim shaders to be compiled
    • #12542: Unity: Add errors on PKFxAsset Inspector if effect contains differents quality levels than the current one
    • Fixed #12541: Unity: On Plugin import, sync Quality settings
    • Fixed #12587: AE: Crash occuring on project info file creation
    • Fixed #12586: AE: Reimporting effect reset transform and attributes
    • #12585: AE: improve render time for scenes containing multiple effects
    • Fixed #12580: AE: Crash on effect load
    • Fixed #12338: AE: Reimporting FX reset all parameters
  • All v2.15.11 LTS fixes:
    • Fixed #12660: Nodal Editor: Grouping nodes sometimes swaps the input and output names
    • Fixed #12296: Nodal Editor: Grouping nodes wired in renderer nodes generate verbose names (ie. 'General.Size')
    • Fixed #12608: GPU sim D3D12: particle runtime stats are not working anymore
    • Fixed #12658: CPU simulation: Modulo operator/node returns incorrect results for floating-point modulos with some integer period values when the simulation batches contain 8 particles or more
    • Fixed #12656: UnrealEngine: effects sampling mesh/skeletal mesh attribute samplers do not work if attribute sampler has 'skinTangents' enabled
    • Fixed #12602: UnrealEngine: FlipUVs & TextureUVs' FlipU, FlipV, RotateTexture incorrectly handled
    • Fixed #12597: UnrealEngine: crash when opening/closing some levels
    • Fixed #12596: UnrealEngine: Ribbons CorrectDeformation feature causes particles to disappear
    • Fixed #12600: Unity: Incorrect camera culling mask when the distortion is disabled
    • Fixed #12592: Unity: texture missing from created material
    • Fixed #12666: O3DE: Asset processor fails on fga assets
    • Fixed #12659: O3DE: Wind sim interface is not working en editor mode
    • Fixed #12661: O3DE: errors on the asset processor even if the effect baked successfully
    • Fixed #12651: O3DE: Particles rendering is broken if an atlas failed to load
    • Fixed #12642: O3DE: pkat copy builder is not registered correctly
    • Fixed #12639: O3DE: AssetBuilder exits abnormally on a baking failure
    • Fixed #12612: O3DE: assert in CLightBatchDrawer::EmitDrawCall since range stream is not contiguous
    • Fixed #12634: O3DE: Linking error on linux in debug config (missing bfd)
    • Fixed #12635: O3DE: does not link with shipping libraries in release

Changelog 2.17.0

Builds (Jun 28th 2023)

Templates & Corelib

  • #12474: Physics node: add builtin support for extracting collision surface type
  • #12566: Event nodes: Allow specifying an orientation payload directly through an Orientation pin rather than having to override the builtin Orientation payload on the event wire that comes out of the template node
  • #12506: debug.drawBox helper: Add additional pins to allow drawing a box using its min and max corners
  • #12286: Add an input 'Scale' to some default templates: scene.dt, scene.time, effect.dt, effect.age, self.age
  • #12350: New 'view.isVisible()' helpers to test visibility of primitives against the camera frustum: point, sphere, bbox
  • Fixed #12029: Collision node: local space shape collision position and normal are not transformed back to worldspace
  • Fixed #12312: 'rotate_aa' node: can't specify an inline value for the 'Axis' input
  • Fixed #12140: SimpleOnDeath and OnDeath nodes are incorrectly named (upgrade patches existing effects)
  • Fixed #12545: effect.age: Does not correctly take effect.timeScale into account, outputs realtime instead of scaled time
  • Fixed #12572: Corelib: 'view.***' helpers do not have the proper 3D_Coordinate & transform mode semantics on their input & outputs

Simulation & Rendering

  • #12492: SetLife node: Now listens to 'effect.Stop()' by default when stopping the effect in-engine and auto-kills particles whose life has been set to 'infinity' when their effect gets stopped. Add an option to the SetLife node to disable the default check if needed.
  • #12408: GPU sim: Add payloads support in spawn IR
  • #12483: GPU sim: Spatial layer sort improvements
  • #11181: GPU sim: Implement shape.contains/intersect*/project*/sampleDistanceField for primitives
  • #7069: GPU sim: add support for texture sample & remap density
  • #4755: GPU sim: spawn IR cannot be executed on GPU if layer contains XForm nodes
  • #2003: GPU sim: Implement shape project for non-mesh shapes
  • #12352: Root events: send 'EmittedCount' payloads from the timelines
  • Fixed #12454: Using GPU mesh attribute samplers only sample static data, cannot be used to sample skinned meshes (at least in-editor)
  • Fixed #12507: GPU sim: Trying to access the surface property of a mesh attribute sampler fails to compile and makes the sim fallback to CPU

Nodal editor

  • #12355: Add a way to get the bounding-box of a shape in the simulation graph
  • #6969: Add description tooltips on builtin nodes & pins
  • #12493: Autofit view to graph bounds when no specific graph location was captured for the current nodegraph
  • #12070: Debugger: Orientations should be displayed as easier to understand euler angles
  • Fixed #12629: Nodal editor: 'SimLocation' and 'Performance' view modes do not work when changing between layers and the simulation is paused.

Effect editor

  • #11859: Property grid: allow copy/pasting entire property values (ie. float3), using right-click on the property name
  • #11331: Better control over CPU-sim layer page sizes
  • #12414: Still run the simulation when the sim-speed slider is set to zero, but simulation is not in the 'Paused' state
  • #10214: Add a 'Cancel' button to the compilation progress dialog when opening an effect.

Editor (General)

  • #12532: Editor: allow saving / loading entire editor settings instead of individual categories only
  • #12511: User settings: Renamed confusing 'ZoomExtents' and 'ResetExtents' to the more explicit 'FitView' and 'ResetView'
  • Fixed #12512: Editor user settings: Cannot override shortcuts that have the same name across different editor sections (Ex: "FitView" in the curve editor, nodal editor, viewports, etc..)
  • Fixed #12627: Content browser often does not save last viewed folder when restarting the editor

UnrealEngine plugin

  • #12609: UnrealEngine: Add GPU timings to profiler HUD

Unity plugin

  • #12497: Unity: Add teleport emitter support
  • #12494: Unity: Add Quaternion attribute support
  • #12390: Unity: Sound Renderers
  • #12449: Unity: Add "Import pkkg" command in "Assets/PopcornFX" menu

O3DE plugin

  • #12607: O3DE: Allow retrieving surface types of particle collisions