diff --git a/plugin.cfg b/plugin.cfg index 984cab2..f6abf65 100755 --- a/plugin.cfg +++ b/plugin.cfg @@ -3,5 +3,5 @@ name="Scatter" description="Scatter other scenes in a manually defined area" author="HungryProton" -version="2.3.0" +version="2.3.1" script="plugin.gd" diff --git a/src/modifiers/offset_rotation.gd b/src/modifiers/offset_rotation.gd index 9308cf3..339f965 100644 --- a/src/modifiers/offset_rotation.gd +++ b/src/modifiers/offset_rotation.gd @@ -12,12 +12,17 @@ func _init() -> void: func _process_transforms(transforms, _global_seed : int) -> void: + var rotation_rad := Vector3.ZERO + rotation_rad.x = deg2rad(rotation.x) + rotation_rad.y = deg2rad(rotation.y) + rotation_rad.z = deg2rad(rotation.z) + var basis: Basis for t in transforms.list.size(): basis = transforms.list[t].basis - basis = basis.rotated(float(local_space) * basis.x + float(!local_space) * Vector3(1, 0, 0), rotation.x) - basis = basis.rotated(float(local_space) * basis.y + float(!local_space) * Vector3(0, 1, 0), rotation.y) - basis = basis.rotated(float(local_space) * basis.z + float(!local_space) * Vector3(0, 0, 1), rotation.z) + basis = basis.rotated(float(local_space) * basis.x + float(!local_space) * Vector3(1, 0, 0), rotation_rad.x) + basis = basis.rotated(float(local_space) * basis.y + float(!local_space) * Vector3(0, 1, 0), rotation_rad.y) + basis = basis.rotated(float(local_space) * basis.z + float(!local_space) * Vector3(0, 0, 1), rotation_rad.z) transforms.list[t].basis = basis