Mirroring

From Space Engineers Wiki
Jump to navigation Jump to search
beginner
Learnings

How to set up mirroring for a block.

How to troubleshoot mirroring.

How to create (mirror) models.

Overview
Related

This tutorial teaches you how to set up the correct mirroring behaviour for a block. This has the effect of the block being placed with the correct rotation when using mirroring mode for building within Space Engineers.

Seut mirroring tutorial.png

There is no real mirroring in Space Engineers. Mirroring is achieved by defining which ways a block should be rotated to achieve something that looks like a mirrored block on the other side of the mirror axis. But this only works for blocks that are symmetrical on at least one axis. Should that not be a case, it is necessary to define a Mirror Model.


Set up Mirroring

Step 1: Activate Mirroring Mode

Activate Mirroring Mode through the SEUT  Main Panel.


Seut mirroring tutorial 1.png
Step 2: Rotate Mirroring Empties

Select the Mirror FrontBack, Mirror LeftRight and Mirror TopBottom empties in turn and rotate them to their correct mirrored positions. As an instance of the model contained in the Main-collection is placed below all three empties, it will rotate together with the empty it is parented to and as such you will be able to see what the current state of the rotation is easily.


Seut mirroring tutorial 2.png

The key to understanding how Mirroring Mode works is to look at the spawned instances of the main model as mirror images of the main model, as seen through the Mirror Planes. This means that when looking through one of the half-transparent planes from the side of the main model, the instance you see through it should be rotated in a manner to look like the main model is reflected on the surface of the Mirror Plane.
Step 3: Deactivate Mirroring Mode
Deactivate Mirroring Mode to save the values. On export, the results will be written into the generated SBC-file.

Troubleshooting

Empty has incorrect rotation values.

Solution

You might get an error message informing you that one of your empties have an incorrect rotation value. This is because the possible rotations (combination of rotations for each of the three axi on an empty) are predetermined.

For the SBC output, they are converted into text to tell the game how to interpret them. But this also means that there is a list of text associated with rotation values. If the rotation you’ve ended up with is not “available” in this list, it cannot be read by the game.

To avoid this, make sure you always rotate in 90° increments. Your axi rotation values will generally be -/+ 90° or -/+ 180°. Note that 270° is the same as -90°.

Sometimes this error appears even if you have entered the seemingly correct values, with the instances looking to be rotated correctly. This can be a limitation of the system: That particular combination might just not be defined in Keen’s rotation value set. To get around this, simply try different axi rotations that end up with the instance facing the same way.

Huge geometry appears when Mirroring Mode is enabled.

Solution

This commonly happens if you work with vanilla Space Engineers models from the Mod SDK.


Seut mirroring tutorial 4.png

The reason for this is that Keen tends to model in 10x size and then scale the top object (that all other objects are parented to) down to 0.1 . This then also scales down all child objects. Because of the method SEUT uses to create an instance, this parenting is not applied to the instances and so the child objects are displayed in their original size.

This is a purely visual issue for the duration that Mirroring Mode is activated. After the mode is deactivated, the instances are cleared up and the problem disappears - there is no lasting damage to your model.

In order to fix this issue, do the following:

  1. Turn off Mirroring Mode.
  2. Apply Transformations... Scale (Select object, Ctrl + A) on the object that is scaled down (which the other objects are parented to).
  3. Turn Mirroring Mode back on. The huge objects should be gone.

Rotating the empty to correctly mirror the block on all axi is impossible.

Solution

In some cases it is straight-up impossible to rotate the model in a manner that successfully creates a mirror. This is generally the case when the model is not symmetrical on any axis. If this is the case for your model, you will need to define a Mirror Model.

A Mirror Model is set up by creating another scene in the same BLEND-file. In this scene, set up a copy of your main scene but use the Blender tools to mirror the model on an axis. You will have to add this mirror model as a separate block to the game. Next, set this new (mirror) scene as the Mirror Model in your main scene:


Seut mirroring tutorial 5.png