StaticDaicon
![]()
StaticDaicon - node representing a static object.
Parameters:
- d3
StaticBody3D
StaticDaicon core.
- whisker
Area3D
It tracks collisions and works in conjunction with y and z-sorting to correctly render objects. It determines whether an object is behind a barrier or not.
- shader_cast
RayCast3D
ShaderCast is a special purpose node. Its purpose is to detect collisions with objects in front of the player and draw a shader based on that.
- tile_size
int
Tile Size determines how many pixels equal 1 meter in 3D. (basically it is the tile size per cell size in 3D)
- y_3d
int
The character's position on the Z-axis.
- z_step
int
Z-step in the sorting system between height levels.
For example z_step = 10, then:
Level -1 = -10 Level 0 = 0 Level 1 = 10 Level 2 = 20
- z_sort_coef
int
Object max 3D height in blocks (meters). Used in sortable system as coef.
- mesh
MeshInstance3D
A mesh node cell that is embedded in the core (after installation you can see it in the 3D section). It has its own dictionary in the “Core” section: mesh_properties.
- shape
Node3D
A cell for a shape-node that is embedded in the core (needed for collisions). Skips only CollisionShape3D or CollisionPolygon3D. Has its own dictionary in the Core section: shape_properties.
Mesh & Shape-section
The “Mesh & Shape” section contains parameters for Mesh and Shape.
Slots-section
Node3D
Slots - cells for developer nodes if it is necessary to implement them in the core (communication through code only).
Core-section
- child_count
int
Keeps a constant count of the number of child nodes of the kernel.
- properties
Dictionary
Dictionaries of node parameters stored in the kernel via cells. Stores all parameters necessary for dynamic deployment of kernel child nodes.
StaticBody-section
Parameter section for the kernel root node.
(See Godot documentation : StaticBody3D).
CollisionObject3D-section
Parameter section for the root node of the kernel.
(See Godot documentation : CollisionObject3D).
Info
Also contains axis_lock.
RayCast-section
Parameters section for Whisker and ShaderCast nodes.
(See Godot documentation: Area3D - RayCast3D)
Methods:
- _ready
Deploys the kernel at each startup. Performs basic configuration of the node.
- _process
Synchronizes the movement of a node in 2D and its core in 3D while in the editor. Also updates the z_index during gameplay.
- update_pos
func update_pos():
self.position.x = (d3.position.x - offset_3d.x) * tile_size
self.position.y = ((d3.position.z - offset_3d.z) - (d3.position.y - offset_3d.y)) * tile_size
The function updates the position of the object in 2D space by passing it the 3D coordinates of the core.
- _update_z_index
func _update_z_index():
if whisker.get_overlapping_bodies():
if whisker.get_overlapping_bodies()[0].has_meta("z_index"):
self.z_index = whisker.get_overlapping_bodies()[0].get_meta("z_index") - 1
else:
self.z_index = (int(d3.position.y + (offset_3d.y * 1.1))) * z_step - 1
else:
self.z_index = ((d3.position.y - offset_3d.y) + z_sort_coef) * z_step + 2
d3.set_meta("z_index", self.z_index)
- get_node_properties
func get_node_properties(node: Node) -> Dictionary:
var properties : Dictionary = {
"Name" : node.name,
"Class" : node.get_class(),
"Properties" : {}
}
for prop in node.get_property_list():
if prop.usage & PROPERTY_USAGE_STORAGE:
properties.Properties[prop.name] = node.get(prop.name)
return properties
The function writes all node parameters, its name, and class into a dictionary and returns it.
_expand
func _expand() -> void:
_expand_d3()
_expand_ray_cast()
if mesh_properties:
_expand_mesh()
if shape_properties:
_expand_shape()
_expand_slots()
The function deals with the deployment of the kernel.