Added footsteps, new tree, various other tweaks

This commit is contained in:
derek
2024-12-05 11:47:34 -06:00
parent 816ae85938
commit 023879ea9f
389 changed files with 20484 additions and 234 deletions

View File

@@ -0,0 +1,55 @@
@tool
extends "base_modifier.gd"
# Adds a single object with the given transform
@export var offset := Vector3.ZERO
@export var rotation := Vector3.ZERO
@export var scale := Vector3.ONE
func _init() -> void:
display_name = "Add Single Item"
category = "Create"
warning_ignore_no_shape = true
warning_ignore_no_transforms = true
can_restrict_height = false
global_reference_frame_available = true
local_reference_frame_available = true
individual_instances_reference_frame_available = false
use_local_space_by_default()
func _process_transforms(transforms, domain, _seed) -> void:
var gt: Transform3D = domain.get_global_transform()
var gt_inverse: Transform3D = gt.affine_inverse()
var t_origin := offset
var basis := Basis()
var x_axis = Vector3.RIGHT
var y_axis = Vector3.UP
var z_axis = Vector3.FORWARD
if is_using_global_space():
t_origin = gt_inverse.basis * t_origin
x_axis = gt_inverse.basis * x_axis
y_axis = gt_inverse.basis * y_axis
z_axis = gt_inverse.basis * z_axis
basis = gt_inverse.basis
basis = basis.rotated(x_axis, deg_to_rad(rotation.x))
basis = basis.rotated(y_axis, deg_to_rad(rotation.y))
basis = basis.rotated(z_axis, deg_to_rad(rotation.z))
var transform := Transform3D(basis, Vector3.ZERO)
if is_using_global_space():
var global_t: Transform3D = gt * transform
global_t.basis = global_t.basis.scaled(scale)
transform = gt_inverse * global_t
else:
transform = transform.scaled_local(scale)
transform.origin = t_origin
transforms.list.push_back(transform)