godotengine / godot

Godot Engine – Multi-platform 2D and 3D game engine
https://godotengine.org
MIT License
91k stars 21.17k forks source link

Better Character Controller demo with 3D KinematicBody that's ready to use in user project #2099

Closed seadra closed 8 years ago

seadra commented 9 years ago

Something like Unity's Character Controller would be a great addition. It would lower the entry barrier greatly.

reduz commented 9 years ago

KinematicBody is much better than Unity's CharacterController already, and you can use any kind of shape too, not only a capsule.

On Mon, Jun 15, 2015 at 7:11 PM, seadra notifications@github.com wrote:

Something like Unity's Character Controller http://docs.unity3d.com/Manual/class-CharacterController.html would be a great addition. It would lower the entry barrier greatly.

— Reply to this email directly or view it on GitHub https://github.com/okamstudio/godot/issues/2099.

seadra commented 9 years ago

Right, but there is nothing in godot that handles slopes/anti-jitter. I know, there isn't a solution that is going to fit everything other than DIY, but it definitely would have it's uses.

Maybe such basic things can be bundled with godot? (like Unity's prefabs)

reduz commented 9 years ago

Maybe a demo On Jun 15, 2015 7:33 PM, "seadra" notifications@github.com wrote:

Right, but there is nothing in godot that handles slopes/anti-jitter. I know, there isn't a solution that is going to fit everything other than DIY, but it definitely would have it's uses.

Maybe such basic things can be bundled with godot? (like Unity's prefabs)

— Reply to this email directly or view it on GitHub https://github.com/okamstudio/godot/issues/2099#issuecomment-112229396.

LeonardMeagher2 commented 9 years ago

@seadra You could create your own scene that handles this and share it with others on the forum / facebook group. A scene in godot is a lot like a prefab in unity, but better (imho).

if you haven't seen this http://www.reddit.com/r/godot/comments/21vp08/i_made_an_fps_demo/

there are a lot of ways you can make this possible.

Krzycho666 commented 9 years ago

What I love Godot at this moment for is that it is not Unity. All non commercial games on the market started to look and work in the same way just a couple of years ago, when Unity begun to be more and more popular. This is because of the premade prefabs that cover most of the games functions. They are gluted and fixed to each other over and over again giving very thesame output with slightly different graphics. I will hate the day, that will bring asset store to godot.

draxdeveloper commented 9 years ago

using a asset from a asset store is a choice, so if you don't want you don't need to use it.

2015-06-18 7:21 GMT-03:00 Siewio notifications@github.com:

What I love Godot at this moment for is that it is not Unity. All non commercial games on the market started to look and work in the same just way a couple of years ago, when Unity begun to be more and more popular. This is because of the premade prefabs that cover most of the game functions. They are gluted and fixed to each other over and over again giving very thesame output with slightly different graphics. I will hate the day, that will bring asset store to godot.

— Reply to this email directly or view it on GitHub https://github.com/okamstudio/godot/issues/2099#issuecomment-113100533.

David Aguiar de Aquino Paiva

Krzycho666 commented 9 years ago

Yes, but the developer is the one who chooses, not the players. So as far as developers choose to use those, players will have to "suffer" from it. And as you can see, they do use asset stores because of knowlage lacks, resources lacks and so on. But it's not a good place for such conversation ;)

kubecz3k commented 9 years ago

To summarize this discussion: As far as I understand the solution for this issue would be to create new demo that demonstrate usage of KinematicBody in controlling 3d character. I assume this demo should be constructed in a way that will allow user to just copy/paste scene with 3d character and choose some parameters on how this character should behave. I will change title of the issue to better reflect this findings.

akien-mga commented 8 years ago

Closing as there hasn't been any real activity nor interest shown in this request, and it can now be easily fulfilled by the community using the asset sharing library.

Zylann commented 7 years ago

I'm trying to get my hands dirty with KinematicBody, to implement my own character movement, but I see no move_and_slide like in 2D. So I tried move() (only function available, with move_to), but my capsule body doesn't move at all because the velocity is slightly pointing down due to gravity... same result with a slope.

~~So... I don't see how KinematicBody is better than Unity's CharacterController at the moment (the latter works fine in the same conditions). It looks like I have to implement some workarounds and boilerplate to make it work. But given how few functions this class has (other than properties), I don't know where to start :/ I tried this: http://docs.godotengine.org/en/stable/tutorials/2d/kinematic_character_2d.html#solution But it didn't improved my situation, the character still has a lot of difficulty to climb even 20 degrees slopes.~~ After more tweaking I found that velocity had to be carried over frames and slided like motion. While I don't fully get why (maybe gravity?), my test works better now.

If a demo should be made, I thought about the 3D platformer, but it's using Rigidbody. In fact, I didn't see any project using KinematicBody...

ghost commented 4 years ago

There's no demo or example that I could find that correctly demos KinematicBody to make is_on_floor and is_on_wall work correctly and remove jitter.