How to make 2d sprite change angles on a 3d world?

Hello, I have been very inspired by ps1 rpgs lately, and one element in some of their games that I’ve always liked is that the sprites change rotation depending on the camera angle to give extra dimension to them (Think of Grandia). I know of the billboard extension, but most of the examples I’ve seen have a fixed camera and only show one angle of the 2d sprite. Is it possible to do this with a third person camera also controlled by the player? If possible, please explain step-by-step, I am still new to gdevelop!

An example of exactly what i want to pull off is something akin to what’s in this video:

I think what you are seeing in that video is still a billboard object, and either the sprites or the billboard changes.

You know how in top-down dungeon crawler type games the character has 8 different sprite animations, one for each of the 8 directions it can face? That’s what appears to have been done here, and it’s either a billboard sprite with 8 different animations, or 8 different billboard sprites.

For simplicity, you could just use the billboard sprite matching on the direction the character is travelling in, just like you would in a top-down controlled game.

What you’re trying to achieve is quite advanced. I’d recommend you start off with a lot simpler project, and work your way up to this.

These Behaviors should help get you started (TopDownMovement, TopDownMovementAnimator):

Then you can use the Action “Center Camera On” (your player character)
to have the camera follow your player object

set any layers cameras that you want to move appropriately with the Action “CopyCameraSettings” (you’re copying base layer to whatever your "environment/ground/etc. layer is)

There is also sprite projection, etc. using with 3js extension but that’s a whole other subject.

Good Luck!