PopcornFX v2 Beta-4 is out!
You need to upgrade your existing projects in order to use it.
We updated the ‘Tutorials’ and ‘Samples’ online packages.
Select the ‘Online Packages’ tab in the project selection window and download the latest ones.
First time using PopcornFX v2.0? Take a look at the Getting_Started wiki page.
1 – Determinism
Determinism is back!
PopcornFX v1 had a deterministic build. It is now built in v2, and doesn’t require a specific build.
You can configure determinism down to per-layer granularity. See #1656
See some examples in the tutorial effects
2 – Resources
Renderer resources (textures, meshes) and samplers can now be exposed as template properties in the parent graph, allowing the creation of truly generic templates.
3 – New “auto-export” & ‘”toggle visibility” buttons
Your workflow will be much faster when you want to simply forward a child node’s properties into the parent graph, as you don’t need to create and setup an “export input” node anymore.
Here is an example of a template graph that exports 4 properties to the parent graph, without and with auto-export.
4 – Animtrack sampler is back!
PopcornFX v1’s animtrack sampler is now available in v2; it’s even better and easier to use!
Sampling an animtrack outputs the track position, orientation, and scale at the sample point, which can be used by a transform template to transform 3D vectors/points.
5 – New ‘orientation’ type
Now scripts and graphs have a new type; ‘orientation‘, which stores a 3D rotation.
It is internally stored as a quaternion, so it has the same footprint as a float4.
When exposed as properties in nodes, it appears as euler angles, specified in degrees, not radians.
The ‘orientation‘ wires appear orange:
Here is another view of a layer which appends an orientation to an event payload:
Effects will be upgraded, but if you were using scripts with the orientation functions that existed before beta-4, they will not compile anymore and you will need to fix them by replacing ‘float4’ by ‘orientation’.
Orientations cannot be cast to and from the old float4s.
You can use a variety of helper functions that build orientations from vectors.
6 – Page localization is back!
PopcornFX v1’s page localization feature is back in v2. See #1694
Page localization groups particles from different emitters into batches which are spatially close, allowing for more efficient culling and physics engine / scene optimizations.
7 – Nodal editor improvements
3-state expand/collapse (#1521)
improved annotation node interactions (#1616)
Added ‘fit to viewport’ buttons in nodal editor, curve editor, and scene viewport, default shortcut: Ctrl+E (#1866)
- new ‘one minus’ node (#1390)
- single-click validation of node in node creation menu (#1614)
- fixed bug preventing interactions in top area of nodegraph (#1751)
- fixed color-picker bugs (#1793 #1794)
- could modify read only graphs with F2 and Ctrl+X shortcuts (#1919)
8 – DX12 simulation improvements
Various improvements and added support for attributes.
9 – Upgrader improvements
Upgrading projects now gives some feedback and dumps the full upgrade log to help troubleshoot issues (#1226)
10 – Performance improvements
- parallel render sorting (#1554)
- FX file loading performance improvements, both in-editor and at runtime, a lot less memory allocations, overall much more efficient at runtime.
- loading binary effect files (baked): 9x faster
- loading text effect files (editor): 6x faster
11 – compiler improvements
- fixed bug preventing ‘clamp (float, int, int)’ to compile properly #1939
- fixed bugs in optimizer which were preventing some optimizations to take place. #1915 #1931 #1940 #1962 #1964
- compiler now able to merge part of identical resources
12 – fixed various rendering bugs
- axis-aligned capsule billboards were not drawn when axis length was zero #1780
- geom billboards were not drawing some things correctly #1786
- billboards generated inconsistent geometry between different axis systems #1795
- ribbons were drawn incorrectly when the number of parent particles was greater than 64k
13 – New templates
PopcornFX v2 beta-4 comes with a couple new “placement” nodes, that work like event multipliers, but modify the transforms in the event payloads to place child layers at specific locations on shapes.
Allows to spawn on regular lines, planes, cubes, on fibonacci circles and spheres.
See the tutorial effect
Particles/Tutorials/110_PlacementTemplates.pkfx for usage examples
14 – New tutorials FX
Particles/Tutorials/015_Templates.pkfx: Updated to show property auto-export
Particles/Tutorials/049_RendererExportedResources.pkfx: Shows resources exported as properties, through an example of a generic layer template used to make two very different looking effects
Particles/Tutorials/060_Samplers.pkfx: Updated to show animtrack sampler
Particles/Tutorials/088_SceneIntersect.pkfx: Updated to show another example of resources exported as properties, through am easy to use generic template “DrawScreenNumber” that displays a numeric floating-point value as onscreen particles with a customizable texture.
Particles/Tutorials/100_Determinism.pkfx: Shows basic determinism controls
Particles/Tutorials/103_Determinism_Partial.pkfx: Shows partial determinism through multiple level of particle parenting/trails
Particles/Tutorials/110_PlacementTemplates.pkfx: Shows the new placement templates
Particles/Tutorials/500_AllNodes.pkfx: Updated with the new nodes in beta-4
15 – Stabilization & bugfixes
PopcornFX v2 beta-4 has seen a pretty large number of bugfixes and stabilization fixes.
Read the full changelog in the beta download portal: https://www.popcornfx.com/services/editor-v2
Beta 4 Patch-1
Fixes issue #1990 (Editor + Runtime) : “Compiler will incorrectly merge some 2-args op chains (ex: ‘(a%b)%c’ will become ‘a%b’)”
Fixes issue #1991 (Editor) : “Crash when closing effect window not saved after curve modification”
Fixes issue #1983 (Editor) : “Closing FX without saving is insanely slow even in non-debug build”
Fixes issue #1973 (Editor + Runtime) : “Loop Determinist Seed doesn’t work”
Fixes issue #1974 (Editor) : “Setting a float3 node with a 3D_Coordinate semantic resets the previously given float3 value”
Fixes issue #1980 (Editor) : “Sampler Shape ‘Mesh Scale’ property propagtes to other Shape types”
Fixes issue #1986 (Editor) : “Sliders: Bad handling of min/max values when dragging slider”
Fixes issue #1987 (Editor) : “Sliders: Inline edit inputbox is badly dimensioned”
Fixes issue #1179 (Editor) : “LineEdit : handle ‘ESC’ keypress to cancel edition”