Why does BoxShape3D has size propery when transforms scale does the same job?

Godot Version




Is there anything that can be accomplished with size property that is not possible with transform?


For technical reasons, scaling collision shapes (especially in a non-uniform manner) is not supported. This is why you must adjust the BoxShape3D’s size property instead.

Uniform scaling of collision shapes may be supported in the future, but it’s very unlikely non-uniform scaling will ever be supported.

1 Like

The actual problem is thinking about the roles of different classes in creating a object that is visible. For example while creating a static ground on which other colliding objects exists(“Squash the Creeps” example ground.tscn) , there needs to be a “StaticBody3D” and its child as “CollisionShape3D” and “MeshInstance3D”.

“CollisionShape3D” handles the collision detection and “MeshInstance3D” handles the rendering of how it should be displayed.

What is the role of “StaticBody3D” here exactly. Whats the use of the transform on this object?

Position, rotation, and uniform scale. StaticBody3D can have multiple child CollisionShapes