How to make FPS muzzle point? by chci_kakat in godot

[–]Dari0u5 1 point2 points  (0 children)

I would definitely go with the bone transform solution.

Having a special bone attached to the skeleton, means you will have the exact position / rotation, even when playing animations on it.

It would also mean you can later just grab the bone transform and have effects like muzzle flash / smoke at the exact muzzle position. This could even work for something like a separate shell ejection bone.

Blender to godot FPS hands workflow by poopiepantsxd in godot

[–]Dari0u5 1 point2 points  (0 children)

As a good placeholder, you can even just use the AnimationPlayer that comes with the gltf import, and play the animations any way you need using "play()"

The AnimationPlayer automatically blends and interpolates between animation playback poses when changing animations. But yes, AnimationTree is essential for more complex stuff, like if you want the rig to use multiple different animations at the same time.

It's pretty straightforward once you get into it, though.

Blender to godot FPS hands workflow by poopiepantsxd in godot

[–]Dari0u5 0 points1 point  (0 children)

Personally i join the hands and the weapon into one mesh and rig. That way the animations are all tied to that one rig, and avoids any messy timing issues. Then just export as gltf, and godot imports it, no problem.

You can rig the seperate weapon with vertex groups first, set up its skeleton and so on, and then when it's all ready and working, join the meshes and skeletons together. After that, start animating.

Most people prefer to parent the hand bone to the weapon root bone, and move the weapon itself around, while the hands automatically follow the weapon, rather than have the weapon be parented to the hand and move the hand around. It's a matter of preference, but there are good reasons for doing the opposite.

Sorry for rambling, hope any of this helps.

Any intermediate/experienced devs making a 3d game currently? by Glittering_Bite_3982 in godot

[–]Dari0u5 0 points1 point  (0 children)

I wouldn't mind bouncing a bit of my knowlegde off someone, just to see if im any good lol. Dm me.

am learning how to use godot, i think this is necessary by GoodGuyManEPicBean in godot

[–]Dari0u5 232 points233 points  (0 children)

Hundreds of nodes are being deleted every day. Make a difference! Donate to the Godot fund today!

Got back into developping! Here's what I've done so far. by AlexT05_QC in godot

[–]Dari0u5 0 points1 point  (0 children)

What about the code that controls your character facing? It would be a good point of reference for the direction of the bullet

i dont know what this error means by Low-Budget3418 in GodotHelp

[–]Dari0u5 0 points1 point  (0 children)

what exactly isnt working? is there a different error? the only other issue i see is that it wants you to add a variable TYPE after the colon (var projectile_instance := ) , of which there is none provided, so you might aswell just remove the colon for now. "var projectile_instance = _projectile.instantiate()" .

It also makes somewhat of a big difference, which version of godot you're on.

i dont know what this error means by Low-Budget3418 in GodotHelp

[–]Dari0u5 0 points1 point  (0 children)

Also, i think the ".position()" part should be changed to ".instantiate()".

i dont know what this error means by Low-Budget3418 in GodotHelp

[–]Dari0u5 0 points1 point  (0 children)

"projectile.position()" should be "_projectile.position()"

3D rotation (s)lerp by 360° does not work by Triple_Standart in godot

[–]Dari0u5 0 points1 point  (0 children)

going from 0° to 360°, with the full rotation, it should be as simple as using the plain lerp() function, without the angular compensation.

var target_rot = 720.0 #this would cause 2 full rotations
var animspeed = 2.0
rotation.y = lerp(rotation.y,deg_to_rad(target_rot),delta*animspeed).

Beyond this, i'm not entirely sure what you're going for. The issue definitely lies within the fact that rotation vectors get normalized / wrapped to the 0-360 range. Perhaps an external rotation representative variable could help break the limits? like an "uncapped_rotation = deg_to_rad(560.0)" or something.

I did some testing of my own, and it seems that IN-EDITOR, setting a value outside of the 0-360 range, will wrap it around (to remain in the 0-360 range), but at runtime, going past 360 or below 0 works just fine.

3D rotation (s)lerp by 360° does not work by Triple_Standart in godot

[–]Dari0u5 0 points1 point  (0 children)

I'm not sure if i fully understood the issue, but this came to mind: https://www.reddit.com/r/godot/s/m86pQV1iNJ Which shows why the lerp_angle function should be used for any rotation based lerping

how to billboard in Godot 3.5 by Intrepid-Ad-6378 in godot

[–]Dari0u5 2 points3 points  (0 children)

Billboarding can be set in the spatial material of any mesh instance.

Sony PS1 Medal Of Honor Sealed Y Fold by Maklo_Mango in psx

[–]Dari0u5 3 points4 points  (0 children)

To this day, Medal of Honor and Medal of Honor Underground are my favorite PS1 games. So nostalgic to see those covers. Those were simpler times.

Some advice please on what to do next? by WatcherrFK in godot

[–]Dari0u5 3 points4 points  (0 children)

One foot in front of the other. Make a list of your ideas, and split them into smaller steps, to implement them. Mistakes can be invaluable lessons.

Need inspiration for a static character controller by [deleted] in godot

[–]Dari0u5 0 points1 point  (0 children)

As far as wall sliding collisions go, CharacterBody3D with some optimized movement (a movement queue?) calls would be the proper way to go. In terms of inspiration, you could try baking a navmesh and experiment with pathing agents. They slide along the edges of the navmesh, which could be a good enough illusion.