1. SpaceSim
  2. News
  3. Update 0.10 - Changelog

Update 0.10 - Changelog

[h3]Improved black holes for the real-time renderer[/h3][p]When using the real-time renderer, black holes will now distort the background in a realistic way. Instead of the semi-transparent shell used previously, the effect is more similar to the raymarched appearance. [/p][p]Furthermore, rigid (non-deformable) objects are also distorted by black holes and they themselves can bend light if they are dense enough. Previously, this was only possible with the raymarcher.[/p][p][/p][p][/p][p][/p][h3]See through the wormholes[/h3][p]Wormholes now act as a light portal when rendering with the raymarcher, allowing us to see objects located behind the wormhole destination. Furthermore, it’s now also possible to connect a wormhole to another wormhole, creating a two-way connection between two points in space. Finally, wormholes can transport rigid objects, which wasn’t possible before.
[/p][p]Planets located behind the white hole can be seen through the wormhole.[/p][p][/p][p][/p][h3]Shadows from starlight[/h3][p]Speaking of raymarcher improvements, stars and other hot objects can now cast shadows if occluded by a rigid object. Optionally, the renderer can sample the light source to create soft shadows. Similar to other effects the raymarcher supports, such as global illumination, this introduces noise in the rendered image, which can be controlled by the number of shadow samples and the total number of render iterations.[/p][p]Shadows from stars are currently limited to the raymarcher and not available for the real-time renderer.[/p][p][/p][p]Jupiter illuminated by starlight, with soft shadows cast by other planets.[/p][p][/p][p][/p][h3]Elastic and plastic deformations[/h3][p]The hydrodynamics solver now supports more complex material models. Objects can ‘remember’ their initial configuration and deform elastically, retaining their previous shape over time. However, if a certain threshold of the material is exceeded, objects deform plastically, making the deformation irreversible. The elasticity of the material and the threshold of plasticity can be set by material parameters shear modulus and tensile yield strength, respectively.[/p][p]The shear strength of the material can be enabled in the simulation settings. Since this effect is usually negligible on planetary scales, it is disabled by default to avoid the performance penalty and the time step limitations.[/p][p][/p][p]Two rubber bands colliding, deforming, and bouncing off each other. [/p][p][/p][h3]Visualization of orbital elements[/h3][p]The update adds a new overlay option, displayed when selecting an orbiting object. It shows the orbital plane, the pericenter of the orbit, and the angles defining the position of the satellite - the true anomaly, argument of periapsis, and longitude of the ascending node.[/p][p][/p][p][/p][p][/p][h3]Hill spheres[/h3][p]Another overlay option adds Hill spheres around objects. A Hill sphere is a region of dominant gravitational influence, showing where a moon can be placed and keep a stable orbit around the planet. Objects outside the Hill sphere are swept away by the gravity of the star.[/p][p][/p][p]Hill spheres around planets.[/p][p][/p][h3]Automatic exposure[/h3][p]The camera exposure can be set to automatic, adjusting to the average brightness of the image. This is especially useful in simulations where the particle temperature changes rapidly, such as stellar collisions or supernovae.[/p][p]
Exposure is decreased automatically due to a supernova.[/p][p][/p][p][/p][h3]Magnetic dipoles[/h3][p]The update lays a foundation for magnetic fields. It adds a magnetic moment to rigid objects, turning them into permanent magnets with a dipole field and a fixed magnetic axis. Particles do not currently have a permanent magnetic moment, but they can exhibit ferromagnetism, an induced magnetic field. Magnetic behavior of particles can be set using the parameter susceptibility in the material editor.[/p][p]The magnetic interactions are currently limited to:[/p]
  • [p]Force and torque between two permanent magnets (dipole-dipole interaction),[/p]
  • [p]Force between a permanent magnet and particles.[/p]
[p]The magnetic fields are currently highly simplified, and a number of important effects are missing. More options will be added in future updates.[/p][p]You can visualize magnetic fields by using the overlay option ‘potential field’, by setting the mode to ‘equipotentials’ and the force to ‘magnetism’.
[/p][p]Magnetic equipotentials of two permanent magnets.[/p][p][/p][p][/p][h3]Scripted simulation setup[/h3][p]If you want to set up a complex simulation and precisely position a large number of objects, you can now do it via a Lua script. Using the script, you can create objects, change their positions and velocities, adjust their properties and textures, etc. Basic documentation can be found on the website.[/p][p]
Planets created and rearranged by a Lua script.[/p][p][/p][h3]
More improvements[/h3]
  • [p]In addition to using Proton to run SpaceSim on Linux, you can now also run the native Linux build, using the Steam Linux runtime.[/p]
  • [p]Added options for taking screenshots. The new dialog allows you to specify resolution, set transparency and save the image to clipboard.[/p]
  • [p]Export options for Alembic and OpenVDB formats. You can set which particle attributes to export or the cell size of the VDB grid.[/p]
  • [p]Tweaked the default grid cell size for the VDB grid, significantly reducing the memory required to save a galaxy and other “gaseous” objects.[/p]
  • [p]Changed the default time step for simulations containing only rigid objects.[/p]
  • [p]Reworked the precise gravity of rigid objects, improving the conservation of linear and angular momentum.[/p]
  • [p]Added support for integer and boolean parameters to Lua scripts.[/p]
  • [p]The ring object can have multiple materials. You can now combine solid and gas particles without creating multiple overlapping rings.[/p]
  • [p]The GPU solver now supports periodic and removing boundary conditions. Periodic gravity is not implemented yet.[/p]
  • [p]The raymarcher now displays impact marks correctly.[/p]
  • [p]Added a 3D mode to the potential lattice. Each vertex is displaced proportionally to the local gravitational acceleration.[/p]
  • [p]When moving objects using the transform gizmo in the setup page, the update is now much faster. [/p]
  • [p]The rendered background can now be rotated arbitrarily.[/p]
  • [p]Object paths (past and predicted) can be set relative to another object or viewed in a co-rotating reference frame.[/p]
  • [p]Added an option to estimate past paths of objects at the beginning of the simulation.[/p]
  • [p]Objects in the simulation page can now be disabled. They will still be available, can be modified and saved in the session, but they won’t be included in the simulation.[/p]
  • [p]Added object tracking to the Free camera.[/p]
  • [p]Added an option to keep the camera “upright” (zero roll angle) during transitions.[/p]
  • [p]Added an option to calculate the normal map from the elevation texture.[/p]
  • [p]Increased speed of reading history files from disk.[/p]
  • [p]Deleting custom objects is now an undoable action.[/p]
[p][/p][h3]New content[/h3]
  • [p]Added random planetary systems. Create a star with several procedurally generated terrestrial planets and gas giants with a single button.[/p]
  • [p]New preset ‘Armor Penetration’ showcases plastic deformations.[/p]
  • [p]New preset ‘Circumbinary Disk’ is a simulation of a disk and a planetary system around a binary star. It used the raymarcher by default, showing shadows cast by planets.[/p]
  • [p]New preset ‘Donut Earth’ demonstrates the gravitational field of shaped objects.[/p]
  • [p]New preset ‘Planetary Magnet’ shows the effect of a strong permanent magnet on the Earth’s iron core.
    [/p]
[h3]Bug fixes[/h3]
  • [p]Fixed a crash when adding an extremely large (universe-sized) object into a simulation containing smaller (planetary-sized) objects.[/p]
  • [p]Fixed momentum conservation when a rigid object absorbs particles.[/p]
  • [p]Fixed saving PNG images with a transparent background.[/p]
  • [p]Fixed light bending caused by non-spherical objects (mainly stars).[/p]
  • [p]Fixed a bug causing gas particles to disappear at high resolutions.[/p]
  • [p]The pulsar beams now render with correct depth.[/p]
  • [p]The raymarcher now respects the ‘light bending’ toggle.[/p]
  • [p]Fixed saving procedurally generated planets with custom textures.[/p]
  • [p]Fixed reading files from network drives.[/p]
  • [p]Fixed loading of .obj meshes with non-ASCII file paths.[/p]
  • [p]Fixed incorrect normal orientation of .obj meshes.[/p]
  • [p]Fixed adaptive origin working incorrectly when some particles are absorbed.[/p]
  • [p]Fixed camera objects not updating correctly.
    [/p]