Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PhysicalBone3D #160

Closed
79 of 84 tasks
Tracked by #117
mihe opened this issue Jan 22, 2023 · 1 comment
Closed
79 of 84 tasks
Tracked by #117

PhysicalBone3D #160

mihe opened this issue Jan 22, 2023 · 1 comment
Labels
enhancement New feature or request meta Concerning other issues topic:runtime Concerning runtime behavior (or its source code)

Comments

@mihe
Copy link
Contributor

mihe commented Jan 22, 2023

Description

This issue tracks the progress of implementing the functionality of Godot's PhysicalBone3D node type. Below you'll find all user-facing properties, methods and signals, including ones inherited from relevant node types. If you notice any missing from this list, please leave a comment down below.

Note that most of the functionality for PhysicalBone3D is implemented on top of the physics server, within Godot itself, and doesn't rely on much bespoke functionality from the physics server, outside of what is already needed for things like RigidBody3D. So while this list may look daunting, most of it should work with little or no effort, assuming the things it relies on does as well.

Status

  • Not supported
  • Not started
  • Partial (not functional)
  • Partial (functional) 👈
  • Done (as much as it can be)
  • Done (completely)

Links

Documentation: PhysicalBone3D
Inherits: PhysicsBody3D, CollisionObject3D

Legend

  • 🚧 indicates a partial, incomplete or broken implementation.
  • 🛑 indicates that it's blocked or incompatible with Jolt in some way.

Properties

Uncategorized

  • Body Offset (body_offset)
  • Mass (mass)
  • Friction (friction)
  • Bounce (bounce)
  • Gravity Scale (gravity_scale)
  • 🛑 Custom Integrator (custom_integrator)
    • Not supported by Jolt
  • Linear Damp Mode (linear_damp_mode)
    • Combine (DAMP_MODE_COMBINE)
    • Replace (DAMP_MODE_REPLACE)
  • Linear Damp (linear_damp)
  • Angular Damp Mode (angular_damp_mode)
    • Combine (DAMP_MODE_COMBINE)
    • Replace (DAMP_MODE_REPLACE)
  • Angular Damp (angular_damp)
  • Linear Velocity (linear_velocity)
  • Angular Velocity (angular_velocity)
  • Can Sleep (can_sleep)
  • Bone Name (bone_name)

Joint

  • Type (joint_type)
    • None (JOINT_TYPE_NONE)
    • PinJoint (JOINT_TYPE_PIN)
    • ConeJoint (JOINT_TYPE_CONE)
    • HingeJoint (JOINT_TYPE_HINGE)
    • SliderJoint (JOINT_TYPE_SLIDER)
    • 6DOFJoint (JOINT_TYPE_6DOF)
  • Offset (joint_offset)
  • Rotation (joint_rotation)

Properties (PhysicsBody3D)

Axis Lock

  • Linear X (BODY_AXIS_LINEAR_X)
  • Linear Y (BODY_AXIS_LINEAR_Y)
  • Linear Z (BODY_AXIS_LINEAR_Z)
  • Angular X (BODY_AXIS_ANGULAR_X)
  • Angular Y (BODY_AXIS_ANGULAR_Y)
  • Angular Z (BODY_AXIS_ANGULAR_Z)

Properties (CollisionObject3D)

Uncategorized

  • Disable Mode (disable_mode)
    • 🚧 Remove (DISABLE_MODE_REMOVE)
    • Static (DISABLE_MODE_MAKE_STATIC)
    • Active (DISABLE_MODE_KEEP_ACTIVE)

Collision

  • Layer (collision_layer)
  • Mask (collision_mask)
  • Priority (collision_priority)

Input

  • 🚧 Ray Pickable (input_ray_pickable)
    • Technically implemented, but hardcoded to true until Godot 4.1
  • Capture on Drag (input_capture_on_drag)

Properties (Node3D)

Transform

  • Position (position)
  • Rotation (rotation)
  • Scale (scale)

Methods

  • _integrate_forces
  • apply_central_impulse
  • apply_impulse
  • get_bone_id
  • get_simulate_physics
  • is_simulating_physics

Methods (PhysicsBody3D)

  • add_collision_exception_with
  • remove_collision_exception_with
  • get_axis_lock
  • get_collision_exception
  • 🚧 move_and_collide
    • Works, but recovery_as_collision is hardcoded to true until Godot 4.1
  • set_axis_lock
  • 🚧 test_move
    • Works, but recovery_as_collision is hardcoded to true until Godot 4.1

Methods (CollisionObject3D)

  • _input_event
  • _mouse_enter
  • _mouse_exit
  • create_shape_owner
  • get_collision_layer_value
  • get_collision_mask_value
  • get_rid
  • get_shape_owners
  • is_shape_owner_disabled
  • remove_shape_owner
  • set_collision_layer_value
  • set_collision_mask_value
  • shape_find_owner
  • shape_owner_add_shape
  • shape_owner_clear_shapes
  • shape_owner_get_owner
  • shape_owner_get_shape
  • shape_owner_get_shape_count
  • shape_owner_get_shape_index
  • shape_owner_get_transform
  • shape_owner_remove_shape
  • shape_owner_set_disabled
  • shape_owner_set_transform

Signals (CollisionObject3D)

  • input_event
  • mouse_entered
  • mouse_exited
@mihe
Copy link
Contributor Author

mihe commented May 18, 2023

This tracking issue has served its purpose and will now be closed. 🫡

Any remaining work has had new issues created for it.

@mihe mihe closed this as completed May 18, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request meta Concerning other issues topic:runtime Concerning runtime behavior (or its source code)
Projects
None yet
Development

No branches or pull requests

1 participant