NeutrinoParticles Editor 2.0.14
2.0.14 - 2026-08-31
- Graphs can now run over anything, not just time. The six separate graph types (over particle life, particle time, particle speed, emitter time, system time, over a custom value) are replaced by a single Over value, whose X axis is a value you build yourself — a time source, a custom value, an expression over several rows, or a whole nested multi-value. Four new value types (Particle Life, Particle Time, Emitter Time, Effect Time) are there to be dropped into X, and work as plain numbers anywhere else too. The old menu entries remain as one-click shortcuts that fill X in for you, so the quickest way to a graph over particle life is exactly what it was. When X is a simple one-line value (a time source, a custom value, a number), the whole graph value folds back into the familiar single row with X shown inline next to it; X only expands into its own block when you build something bigger there — several rows, a nested value, an expression. Existing effects open unchanged: every saved graph becomes an Over value with its X already set to whatever it ran over, curves intact, and exports exactly as before.
- Two new value types: Number of Shots and Number of Particles. Any 1D value can now read how many shots the generator has already completed (Periodic and Even Ring generators), or how many particles the emitter currently has alive. The shots count starts at 0 for the particles of the very first shot, so it can drive anything that should change from shot to shot — colour, size, direction. Both are available straight from the value type menu, with no need to edit the block scheme. Number of Particles is not supported when exporting to GPU33: such an effect now reports a clear validation error instead of failing silently.
- Two ready-made Multi-Value templates in the value type menu. Next to "Switch to Multi-Value" the menu now offers a * b and a + b. Either one turns the value into a Multi-Value, adds a second row holding 1 and fills in the expression — in a single click, instead of switching, adding a row, typing the number and typing the expression by hand. These are the two most frequent expressions by far, so this removes most of the typing from building one. A single Undo takes the whole thing back. The entries are not offered for rotation (quaternion) values, where such an expression has no meaning.
- A graphics error no longer closes the editor. If preview rendering hits a GPU/OpenGL problem, the editor now retries for a moment (a brief hiccup recovers invisibly); if the problem persists, only the preview stops — with a notification and a red border — while the editor stays fully alive so you can keep editing and save your work. Opening an effect starts the preview again. The error is recorded in the log and reported to the developers automatically, so such problems keep getting fixed even though they no longer crash.
- Collision shapes are now one click away. Editing a Collide block's surface, the preview toolbar shows a button for each shape — plane, sphere, box and capsule — instead of a single "+" that opened a menu. You can see at a glance which shapes are available, and adding one no longer takes two clicks.
- Menus now open next to the button you pressed, not next to the mouse. When the editor is driven from the background — by an automation tool or a test run — a menu used to appear wherever the mouse pointer happened to be, which could be on another monitor entirely. Menus opened from a button are now placed against that button, and are kept fully on screen. Working with a mouse is unchanged: the menu still appears under the pointer, exactly where it did before.
- The preview now reads in your own language. In the Chinese UI the navigation hint at the bottom of the preview and the F1 shortcuts panel used to render as "???? · ???? · ????": the preview draws its own text from a built-in font set that covers Latin characters only, so anything outside it became a question mark. Everything written in the preview now draws through the editor's own fonts and shows the translation itself — the hint line, the F1 panel, the renderer and view badges, the SLOWDOWN indicator, the selected object's name and the messages that flash at the top. The context hints of the path, area, grid, surface and gizmo editors are translated as well; until now they were always English, whatever language the editor was set to, and so were the view names in the view menu. Numbers stay as they are: cursor coordinates, gizmo drag readouts and grid labels are not translated in any language. Should a translation ever reach a part of the preview that still uses the built-in font set, it falls back to readable English rather than question marks.
- Path keys now snap to the grid while you drag them. With grid snapping on, moving a path key — or placing a new one — sticks to the grid lines as it passes them, the same way dragging a gizmo arrow already did. Previously only the gizmo arrows snapped: grabbing a key directly on the curve ignored the grid entirely, which made it look as if snapping worked only sometimes. Dragging several selected keys shifts them as one rigid group, anchored on the selection, so the shape you built stays intact. Bezier handles keep moving freely — the grid is for path points, not for curvature.
- Origin has its own icon in the Emitter Guide. It used to share the map-pin icon with Starting Position, which made the two sections hard to tell apart at a glance even though they mean different things — where the particle is born in space, versus which point of the particle's own image sits at that position. Origin now shows a distinct anchor-in-frame icon.
- Crash reports now record which graphics card and driver version the editor runs on, so crashes caused by a specific GPU driver can be recognized and diagnosed.
- The Texture section no longer sits looser than the rest of the Emitter Guide. In Grid mode the Texture, Grid Size and Frame Index rows were separated by noticeably wider gaps than any other section, because the Grid rows carried an extra 9px of padding above and below them — 18px in total. The rows now follow the same zero-margin layout convention as the rest of the Emitter Guide.
- A rare crash when deleting an effect is fixed. Closing or deleting an effect while the timeline was on screen could shut the editor down without warning. The generator markers drawn on the timeline — the delay and end boundaries of Approximation and Periodic generators — kept reading the blocks they belong to for a brief moment after those blocks were already gone, and a redraw landing in that moment took the whole editor with it. The markers now check that their block is still there before drawing anything, so the timeline simply stops showing them instead.
- The editor no longer reports an error when it closes. Shutting the editor down — in particular the restart offered after changing the interface language — could end with an error being logged and reported, because the preview released its graphics resources a second time after they were already gone. The editor now shuts down cleanly. Nothing was lost when this happened: the error came at the very end of closing, after your work had been saved, and the newly started editor was unaffected.
2.0.11 - 2026-08-22
-
Updating the editor no longer deletes your files. Until now an automatic update cleared the entire editor folder, so any effects or other files kept there were lost. The editor now records which files belong to it and removes only those — anything of yours in the folder, including effects saved next to the bundled samples, is left alone. Updating from an older version, which has no such record, still has to clear the folder, so the editor warns you first and lets you cancel. The bundled samples themselves are always replaced, so keep your own copies under different names.
-
New "Noise" value type in the Emitter Guide. Any 3D value slot (a color, a size, a position offset…) can now be driven by a 3D noise field, straight from the value's type menu — no scheme editing needed. The point the noise is sampled at is a full nested value (the particle position by default, so the noise reads as a coherent spatial field), and the value exposes the field's smoothness, animation speed and an output scale that can itself be randomized or animated.
-
The editor speaks your language. A Language setting in Editor Settings switches the interface between English and Simplified Chinese, and offers to restart to apply it. By default the editor follows your system language. The whole interface is translated — menus, dialogs, the block palette and scheme, the Emitter Guide, block properties, the graph editor and native buttons — and block tooltips keep the original English block name, so Chinese users can still follow English docs and tutorials. A Chinese font ships with the editor, so the interface reads correctly even on systems with no Chinese fonts installed. Your effects are unaffected: names, presets and exported code stay exactly as they were, and a project saved in one language opens identically in the other.
- The interface font now looks the same on every platform. The editor's own font files had been stored damaged since they were added, so Qt quietly ignored them and each platform drew the UI with whatever system font it had — Tahoma on Windows, something else on macOS and Linux. The editor now ships and uses Roboto, so the interface reads the same everywhere.
- Fixed a crash when the Emitter Guide panel refreshed while a Multi-Value expression field was still being edited — for example right after an undo or an external change to the effect.
- Fixed a custom value silently getting renamed when the Emitter Guide panel refreshed while its name was still being edited — for example right after an undo or an external change to the effect. The half-typed name is now discarded instead of being written to the value.
- Added a "Reverse Direction" button to the path editor toolbar. It flips the direction a path runs in while keeping its exact shape, including Bezier handles — only the direction arrows on the segments change.
- Fixed a crash when switching from one GPU effect to another — for example, opening a sample effect right after creating a new one.
- Fixed a crash when changing the dimension of a multi-row value whose row is a spatial type (Sphere, Circle, Area, Grid, Point Between Paths). These rows are locked to their 3D output, so the row menu no longer offers dimensions they cannot take.
- The Emitter Scheme canvas is now darker than the panels around it, so the scheme no longer blends into the neighbouring windows.
- Fixed a crash when opening an effect that contains a reflected (mirrored) emitter. While syncing the mirror, the editor re-decided which parameters it needed and deleted one it had just taken from the source emitter, which broke the link back to the emitter it mirrors. A mirror now takes its configuration from its source instead of recalculating it.
- The editor no longer shuts itself down when it is merely busy. Crash reporting treated five seconds without a response from the interface as a freeze and closed the editor — long enough to catch an ordinary slow moment, such as a file dialog opening a folder on a network or cloud drive. That limit is now ten seconds, so a slow operation finishes instead of costing you the session.
2.0.10 - 2026-08-14
Version 2.0 is a major release. The preview, the timeline and the Emitter Guide have all been rebuilt, and the editor gained collisions, ribbons, per-particle spin and a lot more. Here is what is new since 1.4.
Preview and Timeline
- One timeline for the whole scene. Every effect in a scene now plays together under a single shared playhead, each with its own coloured population curve, so you can see how they fill and fade against each other.
- Effects can be animated along the timeline. Move and rotate an effect with its gizmo or the Position/Rotation fields and the preview records the motion, replaying it exactly on seek, loop and restart. A Record Effect Orientation toggle switches between full motion and a simpler steady mode.
- Heavy effects play smoothly. GPU playback was rewritten to simulate ahead of the playhead: 100k+ particle effects hold a steady 30+ fps where they used to crawl. Effects too heavy for real time no longer freeze — the timeline slows down and keeps advancing, telling you it is catching up.
- Loop borders. A movable loop border gives a clean fixed-length loop even for effects whose particles never disappear, and a Preview Start marker pins where playback begins. With Loop on you can also set how long the effect must stay empty before it restarts — useful for effects with a deliberate pause built in.
- Timeline flags. Generator starts and ends, Preview End and a draggable Pre-sim marker are labelled with colour-coded flags that stack when they crowd together and double as grab handles. Time and frame appear right next to the cursor as you drag.
- Live particle counts. The timeline shows the population under the playhead, and the Emitters window shows each emitter's count against its capacity, plus how much memory the effect needs at runtime.
- Background media follows the timeline. Videos and image sequences rewind on seek and restart in step with the particles, and play back smoothly and far more cheaply than before.
- Per-effect background colour, picked from a swatch in the preview toolbar and saved with the effect.
- Renderer pill in the preview corner shows whether GPU or CPU is active and switches between them in one click.
Particles
- Collisions. Particles can bounce off, slide along and settle on static surfaces. A new Collide block holds planes, spheres, boxes and capsules; give particles a radius and they collide as spheres rather than points. Bounciness and friction are carried per particle and combined with each surface's, so a rubber ball and a steel bead behave differently on the same floor. Collisions are available from the Emitter Guide as well as the scheme, and are supported when exporting to JavaScript and C# and in the GPU renderer.
- Stripes. A new Geometry mode turns an emitter's particles into a continuous textured ribbon — smoke trails, energy beams, swooshes — with its own Size, Colour and Rotation.
- Self Rotation. Each particle can carry its own spin, independent of how its quad faces the camera.
- New Grid block. Place particles on an evenly spaced lattice — a wall of tiles, a formation of sparks, a field of debris. Give it columns, rows, width and height, and an input in the range 0–1 picks a node. Feed it a Random to scatter particles across the grid, or a curve to walk them node to node as they age. The grid is placed visually in the preview with corner handles and a gizmo, and is available straight from the Emitter Guide.
- From Axes rotation drives both orientation axes with any 3D value — velocity, position, a graph, an expression or the camera direction.
- Camera direction as a value type, letting colour, transparency, rotation, origin and texture frame respond to where each particle sits relative to the camera.
- Positioner outputs — prev position, velocity, speed and direction — derived from how far the particle actually moved, whatever moved it.
- Gen Burst Position gives a particle its place inside the burst it was born in, from 0 for the first to 1 for the last.
Emitter Guide
- Attached Emitters can be added, targeted and configured without opening the Emitter Scheme. Reflected emitters can override their texture and origin per emitter.
- Nested values. Any row of a combined value can become a combined value of its own, up to four levels deep, so a base size plus a randomized variation no longer means leaving the Guide for the scheme.
- Arrange it the way you work. Sections can be reordered by dragging their coloured header, and their collapsed state is now a setting of the editor — shared across every emitter, effect and project, and kept across restarts.
- Copy, paste and presets on every group and on single values. Presets are stored as ordinary files and can be organized into folders.
- Emitter folders organize emitters into a nested hierarchy; top-to-bottom order drives render and export order.
- Colour multipliers let you pick a colour in the normal 0–1 range then push it past 1 to drive HDR bloom glow.
Editing and navigation
- Rebuilt path editing. A full 3D path editor, a Closed mode that joins the last point back to the first into a proper loop, always-visible Bezier handles selectable on equal footing with keys, and new keys that continue the path's existing style instead of always inserting a straight segment.
- Painted Areas gained straight lines with Shift, the way other raster editors do it.
- Modernized navigation — middle-mouse pan, cursor-anchored wheel zoom clamped so you cannot get lost, Ctrl+A / C / X / V / D, and Esc to cancel any drag.
- Transform gizmos grab exactly where you see them across every mode, view angle and zoom.
- Per-mode camera memory — Free and each planar view remember their own position, zoom and orientation.
- A new grid sized to the project's base unit, with axis lines, in-world numeric labels and axis letters. It can sit behind the particles, in front of them, or be sorted by depth.
- On-screen HUD with live world coordinates, a selection label and context-sensitive hints; F1 shows a keyboard cheatsheet for the current editor.
- Lock Layout freezes the panel arrangement so a panel cannot be dragged or pulled out by accident.
- Keyboard playback — Space restarts and plays, B toggles play/pause, from anywhere in the editor.
- Rotation properties are far easier to edit: fields keep what you type, angles stay in degrees, and a dropdown switches between Axis+Angle and Euler.
- Manual generators can be edited directly on the timeline as amount-scaled bars you can drag, add, delete and rect-select.
Project and export
- Export from the project tree. Folders show an Export button when anything inside still needs exporting, and the right-click menu gained Export and Re-export. Changing an exporter's settings now marks already-exported effects as needing export again.
- Axes setup in Project Settings, with presets for PIXI, Unity, Blender, Unreal and 3ds Max and an interactive diagram. Existing projects migrate automatically.
- Opening an older effect no longer marks it unsaved — the format upgrade happens in memory, and a Resave action rewrites it on demand.
- Bloom can use either the Cocos Creator or Unity (URP) algorithm, with a setting for how far the glow spreads.
- Editor Settings dialog collects application-level preferences in one place.
- Scheme warnings. A Random block wired into a constructor input is flagged with an amber outline rather than silently producing a constant.
Look and feel
- Refreshed modern dark theme, redesigned Welcome dialog with searchable recent projects, and redesigned notifications with a bell icon, a colour-tagged dot and a drop-down log.
- Clearer value editing throughout: distinct icons per value type, named labels on settings-less values, section-header icons and a per-emitter capacity badge.
- The preview draws a soft red border when the current effect has an error, and a SLOWDOWN pill when playback cannot keep up in real time.
- Wireframe and visibility buttons draw particle outlines over the live preview and hide an emitter's particles while it keeps simulating.
- Version-matched documentation — "Read more…" links open the docs for your editor version on a rebuilt docs site with a version picker.
- Crash reports are fully symbolicated on Windows, macOS and Linux, and carry the effect you were working on.
Size
51.15 MBSHA-256
b991f2f6a4c8eaa986a10193063f78d7a49b77d5521a6e2048ef5636fd44aa77