Back to anouncements
Released Jan 30th 2020. (preview-1 released Jan 20th 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
- 1 Release highlights
- 2 Download
- 3 Plugin status
- 4 Changelog 2.4.2 patch
- 5 Changelog 2.4.1 patch
- 6 Changelog 2.4.0
- 7 Content examples update
|Animtrack backdrop to preview moving effects||Curve presets in curve editor||Cubemap backdrop for IBL/PBR||Ungroup templates/subgraphs|
|64-bits Windows build||MacOS build||Linux-64 build|
- UE4 plugin status : Available for v2.4.1
- Unity plugin status : Privately available for v2.4.1 (contact us)
Changelog 2.4.2 patch
Builds (Feb 12th 2020)
- Windows: PopcornFX-Editor_v22.214.171.124029_x64.exe
- macOS: Not yet available
- Linux: Not yet available
- Fixed #4163: Ribbon: flat normals
- Fixed #4130: Mac: mcpp default path and redist executable are wrong
- Fixed #4129: Mac editor stores 2.2 version instead of current
- Fixed #4198: Default attribute values are lost when upgrading a 2.2 project to 2.4
- Fixed #4179: Effect editor: Opening external graph doesn't restore window if already opened and minimized
- Fixed #4171: Attribute "exported event" doesn't create any attribute
- Fixed #4164: AnimTrack backdrop: Orientations seem to not be correctly interpolated
- Fixed #4139: AnimTrack backdrop: Glitches when seeking backwards
- Fixed #4174: Material editor: When doing modifications in the material editor window, accumulates shader compilation tasks indefinitely
- Fixed #4168: Material editor: When closing the window while async shader compiles are in-flight, freezes the UI until they all finish
- Fixed #4094: MoveTemplateToFile: Breaks refs of existing templates
- Fixed #4178: Content browser & nodal editor tooltips: compilation message lists displayed are unbound. if there are 1000 messages, the tooltip will try to display all 1000 messages and go off-screen
- Fixed #3992: Unity: PS4 Implement multibuffering for rendering
Changelog 2.4.1 patch
Builds (Feb 12th 2020)
- Windows: PopcornFX-Editor_v126.96.36.199876_x64.exe
- macOS: PopcornFX-Editor_v188.8.131.52876_x64.pkg
- Linux: PopcornFX-Editor_v184.108.40.206876_x64.tgz
- Fixed #4107: Creating new project is extremely slow, editor UI freezes for ~20-30 seconds
- Fixed #4092: Material editor: crash when selecting a shader using the asset picker
- Fixed #4095: Material editor: removing rendering features doesn't refresh the property grid
- Fixed #4096: Material editor: invalid shader compilation error count when Material Editor setting have "Enable compilation" disabled
- Fixed #4111: Material editor: Metal-specific keywords are not registered
- Fixed #4073: Material editor: Huge editor UI stall when launching async shader compilation
- Fixed #3988: Density sampling in linear mode in a deterministic layer produces artifacts where some samples are clumped together
- Fixed #4141: Density sampling in deterministic layers is sometimes deterministic, sometimes not
- Fixed #4047: Nodal editor: Using the same "Payload Kind" several times in the same event wire does not trigger override warning
- Fixed #4134: Nodal editor: Selecting spatial layer nodes pop asserts in propertygrid shows spatial layer & payload inputs and allows to change their type, which breaks graph compilation
- Fixed #4135: Nodal editor: Compiler messages are not refreshed in graph when changing compilation options
- Fixed #4136: Nodal editor: 'bool' payloads are always seen as not used by child layers
- Fixed #4099: Nodal editor: Crash when pasting v1 shape sampler into v2 nodal editor
- Fixed #4087: Spatial Insertion in a template doesn't work
- Fixed #4146: Trigger node: 'PulseAt' pin expects values in the [0,1] range, sending values outside that range will cause glitches and break the event in subtle ways.
- Fixed #4113: Event payload does not work with a Link node without default value plugged
- Fixed #4050: Restoring the backup of a template file in-use by an opened effect editor freezes the editor.
- Fixed #4038: AnimTrack backdrop: Ignores timeline seeking
- Fixed #4040: Asset picker widget always goes back to the last directory browsed
- Fixed #4093: MoveTemplateToFile: Does not patch template refs when target file becomes local file
- Fixed #4138: Audio files with filenames containing special unicode characters do not load & playback properly
- Fixed #4069: GPU sim: Effect instance transforms are incorrect when particles are transformed at evolve
- Fixed #4137: GPU sim: 'fracSign', 'wavetri', and 'rcp' cause GPU simulation kernels to fail compiline, and cause fallback to CPU sim
- Fixed #3830: GPU sim (d3d11): Seeking backward in the timeline (with a large dt) totally breaks the effects
- Fixed #4126: GPU sim: death notifier not called at death of instance effect
- #4112: Can now create attribute sampler nodes directly from the node creation dialog
- Fixed #4114: Crash when using Opaque_Ribbon material and slicing is activated
- Fixed #4125: Upgrader: Incorrect project version written when an upgrade fails
- Fixed #4132: Upgrader: When an upgrade fails due to file write permissions, the project version gets set to the final version instead of the version of the last successful upgrade
- Fixed #4124: Upgrader: In mixed v1/v2 projects, the upgrader fails when v1 files are not writeable
- Fixed #4128: Rendering interface: Creating new rendering feature properties does not setup CategoryName correctly
- Fixed #4143: Renderers: Properties with a 3D-Coordinate semantic are not axis-system independent when edited inline in the propertygrid (ex: 'Position', 'Scale', ...)
- Fixed #4133: Content browser: Some cubemap thumbnails do not appear
- Fixed #4150: New projects do not contain .dds textures as a supported extension
- Fixed #4085: AssetBaker: Allow baking to output directory without directory structure
- Fixed #4129: Mac editor Stores 2.2 version instead of current
- Fixed #4130: Mac editor: mcpp default path and redist executable are wrong
- Fixed #4161: Mac editor has invalid minimum system version: 10.14.4, while PopcornFX Editor is compatible with 10.15.3 and up (Due to Qt 5.12)
- Fixed #3959: UE4: Blueprint containing emitter picks up TRASH attribute sampler component
- Fixed #4156: UE4: D3D12 GPU sim texture attribute samplers are never unregistered
- Fixed #4157: UE4: D3D12 GPU sim texture attribute samplers are not reloaded
- Fixed #3984: UE4: Billboard renderers with an Atlas do not render correctly when billboarded in vertex shader, GPU simulated
Builds (Jan 30th 2020)
- Windows: PopcornFX-Editor_v220.127.116.11629_x64.exe
- macOS: PopcornFX-Editor_v18.104.22.168629_x64.pkg
- Linux: PopcornFX-Editor_v22.214.171.124629_x64.tgz
New nodes and script functions
- #3800: Add a new "static test" node to test if a value is a spawn or evolve value
- #3832: Add script function 'self.wasKilled()' & corresponding helper node in template corelib
- #3833: Add script function 'self.isDead()' & corresponding helper node in template corelib
Graph compiler & optimizer
- #2681: Compiler: have reliable storage name while editing an effect, prevents simulation particle-count explosion when editing some effects, especially when using trails.
- #3640: Optimizer: Add global-effect VRP optimization, propagating value-ranges across payloads and layers
- #3356: LOD: Emitter bias: C++ integrations now have a per effect-instance control of LOD bias
- LOD: Add script functions and corelib templates 'sim.lodDistanceMin()', 'sim.lodDistanceMax()', 'scene.lodDistanceMin()', and 'scene.lodDistanceMax()', to access the LOD distance metrics. The "sim" versions take into account the per-layer overrides of LOD metrics
- #3349: Allow scaling in emitter transforms: requires to check the "Use Scale" checkbox in the various transform nodes (off by default)
- Fixed #3824: self.kill() is unreliable with OnDeath tests
- Fixed #3638: Mesh projection & sample distance field artefacts. Sometimes particles get reprojected at incorrect location (was quick-fixed in v2.3.3 to avoid an upgrader, this is the "proper" fix)
- Fixed #2204: Create Node in recursion effect triggers massive particle spawn
- Fixed #3852: Attributes: Naming attribute specific names can break graph compilation
- Fixed #3902: Localized pages: Current heuristics can cause dramatic under-utilization of pages, leading to massive memory usage, and poor performance.
- #2821: GPU sim: Attribute samplers Curve & Image
- Fixed #3965: GPU sim: vectorfield sampler function does not compile anymore, falls back to CPU sim
- Fixed #3829: GPU sim (d3d11): some frames display no particles (particles flash on/off when spawning)
- Fixed #3830: GPU sim (d3d11): Seeking backward in the timeline (with a large dt) totally breaks the effects
- Fixed #3837: GPU sim (d3d12): D3D12 GPU sim image and rectangle list resource handlers cannot be overridden properly
- Fixed #3856: GPU sim: incorrect implementation of xform, breaks localspace node
- #3737: Distortion material for ribbons
- #2829: Slicing: Improvements
- #3855: SDK & Editor: Vertex shader billboarding for billboard particles (previously was either CPU or geometry-shader)
- #2830: Rendering interface: Can now cleanly rename renderer interfaces, editor takes care of patching all references.
- #2832: PBR / IBL: In-editor renderer now supports ambient cubemaps
- #3554: Editor rendering settings: Add default "Auto" mode
- #3414: Houdini Vertex Animation Textures (example available in the Houdini downloadable pack)
- #3362: Houdini Impostor template (example available in the Houdini downloadable pack)
- Editor rendering settings: Added new enum to select the billboarding method for billboard particles in editor's user rendering settings.
- #2822: Feature-set editor: Shader build output logs
- #3747: Feature-set editor: Shader permutation list display
- #3502: Renderers: add a bool pin to enable/disable the renderer - step 2, performance improvements
- Fixed #3783: Flipped tangents between geometry shader and cpu billboarded particles
- Fixed #3710: Renderers: inconsistent pin rules for size/size2
- Fixed #4046: Opaque materials for billboard and ribbon do not compile when LegacyLit is enabled
- Fixed #3951: No error when assigning an incompatible material on renderer, or when material cannot be loaded
- Fixed #3846: Editor shortcut panel: Resetting shortcut after binding 2nd keystroke combination always pops the shortcut conflict window, saying it conflicts with itself.
- Various small performance improvements all over the board
- #1218: Nodal editor: Inline template/subgraph (reverse Ctrl+G)
- #3574: Nodal editor: Move template to file
- #3650: Nodal editor: Auto-inlined template nodes to create node "presets": added a bunch of default "color" nodes, just type "color" in the node creation popup to find them
- #2795: Payload extract node: Add dropdown to select available payloads
- #3354: Nodal editor: Improved template property & pin ordering when their order value collides: Use node's vertical coordinate to sort, allows for a much quicker and more natural ordering of properties.
- Fixed #3850: Nodal editor: Creating a layer in the middle of an event link creates a passthrough layer but keeps its 'SetLife' node to 1 second: Should be 0 seconds
- Fixed #3838: Nodegraph: Exporting texture sampler as attribute doesn't work
- Fixed #3303: Creating script node by dragging a link doesn't properly name the created input/output pins
- Fixed #3831: Payload extract node: "Ignore Warning Missing" property does not work as expected
- Fixed #3892: Nodal editor: Infos / Warnings emitted by layergraph diagnostics from within layer templates are not visible in nodegraph.
- #3577: Curve editor: Added curve presets
- Effect editor: New "Storage" panel in graph details panels, allows to see the actual final memory layout used by particles from a specific layer.
- #3358: Effect Editor: Added cubemap backdrop
- #3588: Effect editor: Added animtrack backdrop, allows to preview effect in movement
- #3834: Effect editor: Template treeview UX: When cloning a template, editor should insert it right below the original template, not at the end of the list, & should select it.
- Fixed #3466: Timeline: Seeking breaks particle debugging by re-simming
- Fixed #3841: IR Panel: Externals panel's rate dropdown is disabled when selecting any IR and switching back to the 'Final' IR
- Fixed #3945: Propertygrid: Some cubemaps do not show-up in asset-picker preview
- Fixed #3656: Propertygrid: Incorrect display of 1D textures in asset-picker preview
- Fixed #3123: Effect treeview / Template shelf: Right click -> show dependencies on template is broken
- Fixed #3859: Template create and rename allows to have two templates with the same name in an effect file
- Fixed #3840: HUD profiler causes random editor crash after running a couple minutes.
- Fixed #3910: Property grid: Wrong display of slider default value
- Fixed #3936: Effect editor: Creating attribute node from node input pin doesn't retrieve semantic
- Fixed #4043: Copy/paste of v1 curves doesn't work anymore
- #3605: Add "Recent Files" list in "File" menu
- #3798: See file versions in details view
- #3801: Right-click 'Upgrade' should upgrade the selected assets to the current build version unless they're more recent.
- #3876: Add right-click menu to upgrade v1 FXs to v2
- #1257: Upgrader : upgrade v1.x effects to v2.0, first experimental version (does not support all v1 evolvers)
- Fixed #2902: Upgrader flaw: local un-upgraded files will skip missing upgrades when whole project is re-upgraded with a new upgrader
- Fixed #3964: Command-line PK-Upgrader: Does not work with project settings files not named "PopcornProject.pkproj"
- New upgrader @ v126.96.36.199087: Content browser: Add new column in the details view settings: 'FileVersion'
- New upgrader @ v188.8.131.52098: Particle nodes: Renamed 'SimulationState' to 'ExecStage', and 'EvolveRate' to 'ExecFrequency'
- New upgrader @ v184.108.40.206947: Effect files: Made backdrop & camera infos distance-independent (now stored internally as meters, takes into account project's unit-system)
- New upgrader @ v220.127.116.11149: Template library: Renamed 'BillboardScreenControls' to 'Legacy_BillboardScreenControls'
- New upgrader @ v18.104.22.168301: Lit/LegacyLit features: Separate 'NormalBendingFactor' from 'Lit' and 'LegacyLit' feature into a new 'NormalBend' feature
- New upgrader @ v22.214.171.124327: Collision node: Renamed 'CollisionMask' to 'EnableCollisions'
Assets & core-lib
- #3665: Template corelib: Removed Stretch property in BillboardScreenControl template as it's not axis consistent.
- #3926: Template corelib: OnDeath node: Can now explicitly disable 'OnDeath' pulses when the effect has stopped.
- #3956: Template corelib: Improved 'PlaySound' layer template
- #3550: Template corelib: Improved 'Collision' template, SDKs can now override the collision & response part with custom C++ code via a simulation interface.
- #4045: Template corelib: Expose localspace checkbox in 'Projection' template
- #3899: Material corelib: Mesh "Lit" render-feature has totally pointless "NormalBendingFactor" property: Removed property from "Lit" feature, added new "NormalBend" feature which is only for billboards & ribbons
- #3749: UE4: Vertex shader billboarding for GPU particles
- #3751: UE4: Re-enable GPU sim for D3D12 API
- #3853: UE4: Add support for D3D12 image samplers (GPU simulation)
- #3854: UE4: Add support for D3D12 image attribute samplers (GPU simulation)
- #3931: UE4: log level is incorrect: debug logs are not shown and error logs are shown as warnings
- #3348: Unity: Add support for custom materials
Content examples update
New "HoudiniExamples" package
|Vertex animation textures: Example 1||Vertex animation textures: Example 2||Simple impostors||Impostors & Mesh LOD||Animated impostors|
New "Tutorials" effects
|Toggle renderers using 'enabled' pin||Example effect to understand transformations||Kill particles if outside a local volume||Build effects for various platforms|
New "Samples" effects
|Particles projected on a static mesh|
New "EditorCubemaps" package
Contains a bunch of preprocessed cubemaps suitable for use by the cubemap backdrop. Preprocessing stores a blurrier and blurrier version inside each mipmap level.
See the following files for more information: