Settings for 3D object placement: preview colors, ground and support checks, indicators, and attachment defaults.
Source: addons/grid_placement/systems/building/3d/object_placement_settings_3d.gd
Syntax
class ObjectPlacementSettings3D extends ResourceMembers
| Name | Kind | Summary |
|---|---|---|
valid_color | Property | Tint of the preview when the object can be placed. |
invalid_color | Property | Tint of the preview when the object cannot be placed. |
blocked_feedback | Property | How a blocked preview is shown: flat color only, or with stripes. How a blocked preview is shown. STRIPES adds diagonal bands so players do not have to tell red from green. |
blocked_pattern_texture | Property | Optional texture to use instead of the built-in stripes. Used only with STRIPES. |
presentation_profile | Property | Optional preview look: ghost shading and a ground ring. When empty, the preview uses the plain valid/invalid tint. |
smooth_enable_contact_ring | Property | Draws a ground ring under smooth placement previews. Needs a presentation_profile, which sets the ring's colors and shape. For grid placement, use PlacementPresentationProfile3D.enable_contact_ring. |
surface_offset | Property | Extra height added above the surface the object rests on. |
require_ground_cell | Property | When on, the whole footprint must have ground or support under it. See surface_support_mode. |
max_elevation_delta | Property | Largest ground height difference allowed across the footprint, when GridMap tiles decide support. |
require_level_footprint | Property | GridMap-only. When true, every column under a footprint must share one surface height, so any step refuses placement, whatever max_elevation_delta says. Off by default; a game with uneven ground or sloped meshes leaves it off. |
allow_same_type_edge_replace | Property | When on, placing an EDGE piece on an edge that holds a different piece of the same family swaps them, such as a window wall over a plain wall. Placing the same piece twice is still blocked. |
surface_support_mode | Property | What decides whether CELL pieces have ground under them. How 3D placement indicators are drawn. Only affects their look. Drawn on the surface the piece mounts to, hidden behind the ghost. Drawn on top of the ghost so they are always visible. Not drawn. The ghost's valid/invalid tint still shows. What decides whether CELL pieces have ground under them. GridMap Only (default) uses GridMap tiles. The physics modes cast rays against colliders on support_collision_mask, with or without falling back to GridMap tiles. |
max_ground_slope_degrees | Property | Steepest ground slope, in degrees, that counts as support. |
min_support_ratio | Property | Share of sample points under the footprint that must hit support (1.0 is all of them). Entries can override this with ScenePlacementEntry.custom_min_support_ratio. |
max_support_planarity_error | Property | How uneven the ground under the footprint may be: the largest distance of any sample point from the average ground plane. |
world_up_clearance | Property | Largest height difference in the ground under an upright piece, for physics support. |
require_center_support | Property | When on, the center of the footprint must have support. |
max_unsupported_edge_ratio | Property | Largest share of any footprint edge that may hang over empty space. |
support_collision_mask | Property | Physics layers that count as ground in the physics support modes. |
align_to_support_plane | Property | When on, objects tilt to match sloped ground. Good for small props; leave off for buildings so they stay upright. |
surface_scan_max_y | Property | Highest GridMap layer (y) searched when finding the ground in a column. |
surface_scan_min_y | Property | Lowest GridMap layer (y) searched when finding the ground in a column. |
indicator_presentation | Property | How 3D placement indicators are drawn. Overlay (default) draws them on top of the ghost so the target cell footprint stays readable even when the ghost volume covers it. Mount Surface draws them where the piece mounts, which the ghost can occlude. Hidden draws none; the ghost's tint still shows valid or invalid. |
default_attachment_requirement | Property | Whether pieces must attach to a compatible piece, for snap profiles set to Inherit. Optional allows free placement. |
default_corner_host_topology | Property | How many compatible pieces a CORNER piece needs next to it, for snap profiles set to Inherit. Any One needs one. Two Orthogonal (default) needs two at right angles. |
enable_paint_strokes | Property | When on, holding the confirm button and sweeping the cursor places a piece at each new valid spot, for single-cell and mounted pieces such as walls. A click without moving still places one. Turn off for click-only placement. |
invalid_stripe_texture | Method | |
get_blocked_pattern_texture | Method | |
create_blocked_overlay | Method |