tutorial:smithbox-map-editor-fundamentals

Smithbox: Map Editor Fundamentals

Authors: Vawser

Disclaimer: this information is accurate for Smithbox 1.0.25.

Preamble

The Map Editor is the key editor for the modding of maps. It provides an interface for you, the mod maker, to edit the data contained within MSB files (the map level data) and a viewport in which the map is rendered.

However, there are some limitations:

  • It cannot add a entirely new map for you.
  • Loading multiple maps is liable to crash Smithbox (if you are rendering them). You can circumvent this by using the Low Requirements build of Smithbox, which will not render maps in the viewport.

Map List

The map list is a list of all the map (MSB) files available to you.

It is drawn from the Game Directory you define when you create a Smithbox project. Note, if the list is empty, this either means the Game Directory you have given is incorrect, or that you have not unpacked the map files with UXM.

Filtering the List

You can filter the map list by typing in the search bar above the list. This uses a fuzzy search, and checks both the Map ID and the map name alias.

Loading a Map

To load a map, you can either right-click the entry and click Load Map button, or double-click the entry.

For Elden Ring projects, you can automatically load all related maps connected to an entry by clicking the Load Related Maps button.

Selecting a Map

Once you have loaded a map, it will appear at the top of list in a separate pinned section. You can then switch between loaded maps by clicking on the entry, which updates the Map Content window.

Map Contents

Once a map has been loaded, the Map Contents window will populate with the data representation of the map. This is a tree list, split by the map object's type. Each map object is represented by a discrete entry in this tree list.

There are four core map object types:

  • Event: these map objects represent connection data, i.e. X asset should be considered a treasure chest.
  • Light: these map objects represent non-ambient light data, e.g. specific point, spot or directional lights.
  • Part: these map objects represent the 'parts' of a map, e.g. the enemies, the collision, the geometry itself, etc.
  • Region: these map objects represent areas or points either for detection, spawning or other similar usage.

Event, Part and Region in general have sub-types that are different between each game, they will not be covered here in detail.

Selecting Map Objects

Before you can do anything to a map object, you must select it. You can do this in two ways:

  • Select its entry in the tree list.
  • Select the entity itself in the viewport.

You can select multiple map objects by holding Left Control when selecting the entry or entity.

You can select multiple map objects in a range via the Map Contents tree list by selecting the first map object, holding Left Shift and then selecting the second map object. All entries between them will be selected as well.

Editing Map Objects

To edit a map object, you need to select it first.

Once selected, the Properties window will populate with the property data related to the selected map object.

If you have multiple map objects selected that share the same internal type, you can edit them simultaneously within the Properties window. The property inputs will appear green when you are in this mode. Note that the property data shown is only reflecting the properties of the first map object in your selection.

Adding Map Objects

To add a new map object, you can either duplicate an existing map object selection or use the Create tool.

It is recommended you duplicate an existing map object as generally you want to keep most properties the same, and the Create tool will populate all the properties with default values with is rarely ideal.

To duplicate, you need to select a map object and press Left Control + D.

Deleting Map Objects

To delete a map object, you can select a map object and then press Delete. This will remove the map object.

Viewport

When a map is loaded, the map contents (namely the Parts, Regions and Lights) are represented visually within the viewport.

You can interact with the viewport to select map objects, as well as seeing the context in which the map object is placed.

A map object that is selected will be given an orange outline.

Movement

To move around the viewport, you need to press the Right Mouse Button.

You can then use WASD to move around. To speed up the movement, hold Left Shift as well.

Map Object Placement

When a map object is selected, you will be able to adjust its position and rotation with the gizmo tool.

By default the gizmo tool is set to position (press W to switch to this mode), and appears like so:

Dragging the arrows in the direction you want the map object to be moved in will move it.

If you want to rotate the map object, you can switch the gizmo mode by pressing E. You can then drag the circles that appear to rotate the map object on that axis.

Visualisation

For regions and lights, you can toggle the rendering style.

By default they are rendered as wireframes.

However, you may want to more easily see where such a map object intersects with others.

You can switch the rendering style by pressing M with a Region or Light map object selected. This will switch the rendering style to 3D volume, which makes it much easier to see the volume the map object occupies.

Additionally for Light map objects, the 3D volume will be tinted with the light's color.

Properties

The Properties window contains all of the property data for the current map object selection.

To edit a property, simply change the value in the input box next to the name of the property.

If you need to filter the property list, you can use the search bar in the Properties window to do so. This will cause only the properties with names that contain your input term to be displayed.

At the bottom of the Properties window, there are connection helpers that display associated connections for various map object types. For example, in this screenshot with an Enemy map object selected, we can see the Collision the Enemy has set in its CollisionName property, with the option to quickly jump to and frame the collision by pressing the Binoculars button.

Tools

There are several tools to be found in the Tool Window section. This tutorial will cover the simple ones here.

Create

This tool is used to create a new map object. You need to select the core type and a sub-type (the sub-types differ based on the core type you select).

Usage:

  1. Select the target map by selecting the map ID of the map you want the new map object to appear in from the combo box.
  2. Select the core type (Target Type) of the new map object.
  3. Select the sub type of the new map object.
  4. Press Create Object

If the action is successful, you will see a new map object within the Map Content tree list.

Duplicate

The shortcut for this tool is Left Control + D.

This tool is used to create a duplicate version of the currently selected map object.

In the tool window, you can configure the adjustments that occur when the duplicate is processed:

  • Increment Entity ID: this means the Entity ID property is increases by 1 (assuming it is not 0).
  • Increment Instance ID: this means the Instance ID property is increased by 1.
  • Increment UnkPartNames for Assets: this means the UnkPartNames that an Asset self-references will have the ID part of the name increased by 1.
  • Clear Entity ID: this means the Entity ID property is set to 0 or -1 (depends on the game).
  • Clear Entity Group IDs: this means the Entity Group ID properties are set to 0 or -1 (depends on the game).

Duplicate to Map

This tool is used to duplicate the currently selected map object to another loaded map.

The shortcut for this tool is Left Shift + D.

When you use this tool, select the map ID you want the currently selected map object to be duplicated to from the list of available maps.

Move to Camera

This tool is used to move the currently selected map object to the position of the camera in the viewport.

The shortcut for this tool is X.

You can configure the amount of offset distance that is applied in the tool window section.

Move to Grid

This tool is used to move the currently selected map object to the closest grid point from its current position.

The shortcut for X-axis rotation is Left Alt + G.

You can enable the viewport grid by clicking Viewport Grid in the View dropdown menu.

Rotate

This tool is used to rotate the currently selected map object (outside of the viewport rotation gizmo).

The shortcut for X-axis rotation is Left Control + R. The shortcut for Y-axis pivot rotation is Shift + R.

You can configure the parameters of the various discrete rotation actions in this tool window section, as well as the degree increments used for the keyboard rotation actions.

Scramble

This tool is used to apply a randomised position, rotation or scale to the currently selected map object.

The shortcut for this action is Left Alt + S.

You can configure the minimum and maximum values used for the position, rotation and scale randomisation that is applied via the tool window section.

Replicate

This tool is used to duplicate a map object in a programmatic fashion, i.e. create a line, circle or square shape with each map object representing a 'point' in the shape.

The shortcut for this action is Left Alt + R.

You can configure the type of shape to create upon replication and the amount of map objects that comprise the shape, as well as other attributes that determine the size of the final shape.

tutorial/smithbox-map-editor-fundamentals.txt · Last modified: by admin