Skip to content

Releases

Stardust Engine 0.6.4 (b65d2ed)

Choose a tag to compare

@AlessandroCH2 AlessandroCH2 released this 13 Nov 22:51

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: .shader files (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 automatic using lines.
  • 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.
  • .shader assets:
    • 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.
  • 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.
  • 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#).
  • 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, .shader or .hlsl file):
    • 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 using or correct a type name; picking a type from the suggestions adds its using.
    • Files changed outside the editor are reloaded.
  • 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 .shader and .shadergraph files 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.Dropdown and UI.ScrollView.
  • New event types: IntEvent and Vector2Event.
  • MeshRenderer.SetFloat, SetColor, SetVector and SetTexture also work with .shader and Shader Graph
    properties.

Builds

  • Linux CI installs GCC 13 and uses the newest GCC available.
  • Builds include compiled .shader and .shadergraph files and the texture defaults of their properties.

Documentation

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.

Stardust Engine 0.6.2 (17cdd8e)

Choose a tag to compare

@AlessandroCH2 AlessandroCH2 released this 11 Nov 18:22
image First pre-compiled release of Stardust Engine