Repository navigation
Releases
Releases · AlessandroCH2/StardustEngine
Stardust Engine 0.6.4 (b65d2ed)
Stardust Engine 0.6.4
Changes since 0.6.2.
Highlights
- Particle System: a new component with modules for emission and bursts, shapes, colour, size and rotation over
lifetime, noise, collision, texture sheet animation, and alpha or additive rendering. It previews live in the Scene view. - Shaders:
.shaderfiles (properties, render state and HLSL in one file) and a node-based Shader Graph. Both
compile automatically. - Script Editor: a built-in code editor with autocompletion from the engine API, compiler errors shown on the code,
quick fixes and automaticusinglines. - Vehicles: Vehicle Controller and Wheel Collider components for driveable cars.
- UI: new Dropdown and Scroll View components.
- Graphics settings: every quality setting can be customized, per project and from scripts.
Rendering
- Particle System component:
- Main settings: duration, looping, prewarm, start lifetime, speed, size, rotation and colour (constant or random
between two values), gravity, local or world simulation, max particles, random seed. - Emission: rate over time and over distance, bursts with cycles and probability.
- Shapes: sphere, hemisphere, cone, box, circle, edge and point.
- Over-lifetime modules: velocity, force, speed limit and drag, colour gradient, size curve, rotation.
- Noise, collision with a ground plane, and texture sheet animation.
- Renderer: billboard, stretched, horizontal and vertical modes, alpha or additive blending, and an HDR intensity
that glows with bloom.
- Main settings: duration, looping, prewarm, start lifetime, speed, size, rotation and colour (constant or random
.shaderassets:- Material properties: Float, Range, Int, Color, Vector and 2D textures (white, black, gray or normal-map defaults),
with[Toggle]and[Normal]attributes. - Render state: Queue (Geometry or Transparent), Blend (alpha, additive, premultiplied), ZWrite and Cull.
- Lit surface functions are lit exactly like the Standard shader: sun and shadows, ambient, point and spot lights,
and fog. Unlit surface functions and fragment functions are supported too. - Shaders compile automatically when created, saved or changed on disk. Errors point at the line of the
.shader
file. - Many existing surface shaders in the same block format can be ported with few changes.
- Material properties: Float, Range, Int, Color, Vector and 2D textures (white, black, gray or normal-map defaults),
- Shader Graph:
- 53 nodes: inputs, textures and normal maps, math, vectors, channels, UV, procedural noise, Voronoi, checkerboard
and Fresnel. - Blackboard with graph settings (Lit or Unlit, Opaque or Transparent, blend, two-sided, alpha clipping) and material
properties. - Undo and redo, and a view of the generated code.
- 53 nodes: inputs, textures and normal maps, math, vectors, channels, UV, procedural noise, Voronoi, checkerboard
- Graphics quality:
- A new Custom level: render scale, shadows (on/off, resolution, distance), cloud resolution, grass density and
distance, LOD bias, bloom and FXAA. - Saved in the project and in builds, and adjustable at run time with
QualitySettings(C#).
- A new Custom level: render scale, shadows (on/off, resolution, distance), cloud resolution, grass density and
- Screen-space UI is drawn at full resolution whatever the 3D render scale, so text stays sharp.
- Transparent objects are sorted by Sorting Order first, so particles can be drawn over 2D sprites.
Physics
- Vehicle Controller (on a dynamic Rigidbody):
- Engine torque and RPM range, automatic gearbox, lowered centre of mass.
- Anti-roll bars and limited-slip differentials.
- Throttle, steering, brake and handbrake input; reads speed, RPM and gear.
- Wheel Collider (on child objects):
- Radius, width, suspension travel, spring and damping, steering, motor, brakes and tyre friction.
- Wheels on one axle are paired automatically.
- In Play mode the wheel objects follow the suspension, steering and rolling.
UI
- Dropdown:
- Options with text and an optional icon.
- The list opens up or down (Auto picks the side with room) and scrolls when it is long.
- Works with the mouse and the keyboard.
- Every colour, sprite, font and size can be changed.
- Scroll View:
- Clips its content.
- Scrolls with the mouse wheel, drag with inertia, and draggable scroll bars.
- Edges can be unrestricted, elastic or clamped.
- Scroll bar width, colours and sprites can be changed.
- Both are available from GameObject > UI, with C# APIs (
Dropdown,ScrollView).
Editor
- Script Editor (double-click a
.cs,.shaderor.hlslfile):- Tabs, C# and HLSL syntax colours, line numbers, zoom, find, comment toggling, automatic indentation and bracket
closing. - Autocompletion of engine and game types and members, including members after a dot and namespaces after
using. - Compiler errors and warnings are underlined on the code and listed in a Problems panel; click one to jump to it.
- Quick fixes add a missing
usingor correct a type name; picking a type from the suggestions adds itsusing. - Files changed outside the editor are reloaded.
- Tabs, C# and HLSL syntax colours, line numbers, zoom, find, comment toggling, automatic indentation and bracket
- Project Settings redesigned:
- Pages: Player, Quality, Input Manager, Tags and Layers, Package Manager.
- A search box that finds the page holding a setting.
- Settings shown as label and value rows.
- Build Settings redesigned: Scenes In Build at the top, platform list and settings below, and Player Settings,
Build and Build And Run buttons at the bottom. - Segmented tabs in Project Settings, Lighting, the Animator and the object picker.
- The compiled output of
.shaderand.shadergraphfiles is hidden from the Project panel and asset pickers. - Create Shader menu in the Project panel:
- Standard Surface Shader and Unlit Shader.
- Lit Shader Graph and Unlit Shader Graph.
- Shader inspector with properties, render state, compile errors and Create Material.
- New icon for the Particle System component.
- The ImGui Demo item was removed from the Window menu.
Performance
- Animator:
- Animation clips are compiled once, and each object caches the entities its tracks drive.
- 21 rigged characters went from 7.2 ms to 0.19 ms per frame.
- Skinned poses are built from the rig root: 2.5 ms to 0.2 ms.
- Custom shader checks and material values are computed once per frame, not for every draw. Game view submission in a
1100-object scene went from 7 ms to 1.8 ms. - Edit mode:
- Undo compares the scene only after an edit.
- Prefab instances are re-checked only when a prefab file changes.
- Script folders are watched for changes instead of being scanned every second.
- The Project window no longer reads the disk while drawing the folder tree.
- Stats window: a CPU table per system, with the slowest frame of the last second.
Scripting (C#)
- New:
ParticleSystem,QualitySettings,VehicleController,WheelCollider,UI.DropdownandUI.ScrollView. - New event types:
IntEventandVector2Event. MeshRenderer.SetFloat,SetColor,SetVectorandSetTexturealso work with.shaderand Shader Graph
properties.
Builds
- Linux CI installs GCC 13 and uses the newest GCC available.
- Builds include compiled
.shaderand.shadergraphfiles and the texture defaults of their properties.
Documentation
- New: Particle System and Shaders, Shader Graph and the Script Editor.
- The C# scripting guide covers the new components and
QualitySettings.
Notes for existing projects
- Projects update their engine package to 0.6.4 when they are opened.
- Component type IDs 32 to 36 are new: Particle System, Vehicle Controller, Wheel Collider, Scroll View and Dropdown.
- Transparent objects are now ordered by Sorting Order before their kind. A sprite with a lower Sorting Order than a
transparent mesh is now drawn below it.
