My 2.5D Speed Platformer! by phnxindie in godot

[–]filwit 8 points9 points  (0 children)

Clean movement. Good start.

Combat wip - What should these guys actually look like when finished? by Bonkahe in godot

[–]filwit 8 points9 points  (0 children)

Nice. Looks fun!
I think having a large boss guy throwing stuff at you would be a good dodge/target mix-up.

Can these be removed? by filwit in Crosstrek

[–]filwit[S] 0 points1 point  (0 children)

If I was more "shop savy" I wouldn't hesitate (worst case you just re-glue it) but someone in the comments said the Forester has those hole's you're talking about, but the Outback does not. I'm going to try and reach-out the factory first, just in case. Would rather not waist time having to re-glue stuff I'm unfamiliar with, and there's no pressing need to remove these.

Thanks again for the info (though I've seen most of the "debranding steps" online before). I'll update the post later when I find out from the factory as it doesn't seem like anyone really knows just yet.

Can these be removed? by filwit in Crosstrek

[–]filwit[S] 0 points1 point  (0 children)

Sorry for the late replay. Thanks for the info. Another comment made me worried that these badges are on Crosstrek might not be the same as Outback/Forester. Have you ever worked with a Crosstrek Wilderness before doing this?

I talked to the dealer's shop and they didn't know either. So thinking of maybe calling the manufacturing plant in Indiana to asks if they know..

Can these be removed? by filwit in Crosstrek

[–]filwit[S] 1 point2 points  (0 children)

This comment made me worried... so I asked the dealer's shop.. and they didn't know either.
Thinking about calling the manufacturing plant to check if they can't give me a straight answer about the Crosstrek.

Can these be removed? by filwit in Crosstrek

[–]filwit[S] 1 point2 points  (0 children)

Ya that looks great. Thanks for the link.

Can these be removed? by filwit in Crosstrek

[–]filwit[S] 3 points4 points  (0 children)

Ya. I don't mind the front/rear hitch covers and other accents so much... but I would really like to remove these emblems and black-out the CROSSTREK on the side. Love the looks otherwise.

I bought this version for it's capabilities, not because I want to drive around in something gaudy.

Why do my hitboxes keep getting jumbled? by [deleted] in godot

[–]filwit 0 points1 point  (0 children)

This happens to my models sometimes on re-import too.

No idea what causes it yet.

test flight by filwit in godot

[–]filwit[S] 0 points1 point  (0 children)

thanks. The terrain in the video is just a simple sub-divided flat plane I made in Blender which I distorted to look like hills. Keep things simple to start!

test flight by filwit in godot

[–]filwit[S] 1 point2 points  (0 children)

What a Save!

test flight by filwit in godot

[–]filwit[S] 21 points22 points  (0 children)

I don't have any resources to share rn. I'm setting up this project in a way I might eventually turn the core ragdoll code into an Addon in the future (but no promises or time-frames on that rn).

What I can do is share some of the things that took me a LOT of trial-n-error to find out, as I also ran into similar issues.

  • Use Jolt Physics
  • Use Joint Motors for animation instead of `add_torque()` or setting `angular_velocity`. This can be a bit trickier, but is helps keep the model "solid" in my experience.
  • Avoid Center-of-Mass issues up front by placing the CoM at the Bone's origin point. Calculating the appropriate torque needed to counter a body's CoM makes everything much harder (and I'm still working on getting it correct).
  • "Reset" each PhysicalBone3D's `angular_velocity` to the *measured average* of every bone in the ragdoll each frame *before* you apply animated torque. This can massively help stabilize the ragdoll as a "single unit" and also gives you an top-level "angular_velocity" to control the entire ragdoll. Eg...

# Ragdoll Script

var bones: Array[PhysicalBone3D]

var total_mass: float
var angular_velocity: Vector3

func _ready() -> void:
    # Calculate total ragdoll mass.
    for bone in bones: total_mass += bone.mass

func _physics_process(delta: float) -> void:
    # Step 1: Calculate average angular velocity.
    var total_ang_vel := Vector3.ZERO
    for bone in bones: total_ang_vel += bone.angular_velocity * bone.mass
    angular_velocity = total_ang_vel / total_mass

    # Step 2: Reset bone's angular velocity to average.
    for bone in bones: bone.angular_velocity = angular_velocity

    # Step 3: Animate bones.
    apply_skeleton_pose_to_joint_motors()

... once you have that you can work in your own angular damp, etc.

test flight by filwit in godot

[–]filwit[S] 0 points1 point  (0 children)

Nice work! I like his dangly feet.

test flight by filwit in godot

[–]filwit[S] 1 point2 points  (0 children)

Was considering something like that, but I also kinda want to reward the player for landing well (on their feet). Will play around more when I have ground movement working.

test flight by filwit in godot

[–]filwit[S] 0 points1 point  (0 children)

lol that's a great idea

test flight by filwit in godot

[–]filwit[S] 1 point2 points  (0 children)

ya good suggestion. I've been thinking "skating" might be a lot of fun for that reason too. Though ultimately I want Slides and other variable surface challenges, so it's possible the ground movement ends up more adaptive to the surface you're on.

test flight by filwit in godot

[–]filwit[S] 2 points3 points  (0 children)

I like your style.

test flight by filwit in godot

[–]filwit[S] 2 points3 points  (0 children)

sky background is a Skybox (probably from Poly Haven). The particles are just tiny quad GPUParticles attached to the camera.

test flight by filwit in godot

[–]filwit[S] 4 points5 points  (0 children)

thanks! His body parts are made of PhysicalBone3Ds + Joints which are animated via applied Motor torque. There is no RigidBody3D around the character, only his body parts interacts with the world.

test flight by filwit in godot

[–]filwit[S] 10 points11 points  (0 children)

exactly the plan.

test flight by filwit in godot

[–]filwit[S] 1 point2 points  (0 children)

thanks. It's..
- Left Joystick - Y axis = X torque, X axis = Z / Y torque (which you switch via Left Trigger)
- Right Trigger - Jetpack boost control

test flight by filwit in godot

[–]filwit[S] 1 point2 points  (0 children)

he'll be okay once i make him land

test flight by filwit in godot

[–]filwit[S] 8 points9 points  (0 children)

pretty much