Others Unity Ren'Py Blender Unity VS Godot (and should I rig/animate in Blender)

Verdance

Newbie
Apr 17, 2019
25
13
So, as many people try from time to time, I'm starting the process of making a game.

I'm trying to decide between Unity or Godot. I have the most familiarity with Godot and enjoy it but my experience is strictly 2d and I hear Godot is problematic to animate in. I'd prefer Godot but if needed I'll have to learn Unity.

Thus far I have just finished the basic model I plan on using in Blender (though I've yet to add textures or clothes) and, before I get to rigging and subsequently animating said model, I wanted to ask a few questions to be sure I wasn't going to have to re-do that work.

1. Would I be able (/ would it be advisable) to rig and animate my models in Blender then transfer them over to Godot / Unity or would it be better to rig / animate in Godot / Unity (or a mix, wherein I only rig in Blender).
2. If I rig in Blender, would any physics effects (ie: jiggle physics) not transfer properly to Godot / Unity?
3. I thought of using Ren'Py at first as my game wouldn't require the player to actively move around (just the camera) and from what I hear Ren'Py does allow 3d scenes. This would reduce the workload. Issue with that is: I need to be able to make choices AND change expressions (see note a.) mid animation. I don't think that's possible with the way Ren'Py fakes 3d will it? And even if it does, with the camera and animation I have planned, would it be worth it to figure out how to do so in that system rather than just using something better at handling these things (Godot / Unity)?

Some notes to keep in mind I'll need to do:
- a. The models themselves will be fairly low-poly without facial animations. This is because I plan on using spritesheets to draw expressions which are then switched on the models (Think Wind Waker). I plan on handling this as states in the engine.
- b. The animations will be sexual in nature and the scenes will be static in location. As such, I don't need solitary animations like attacking or w/e but instead will need animations that are dependent on positioning.
 

n00bi

Active Member
Nov 24, 2022
669
713
1) No idea, I dont use Unity or Godot.

2) You will not be able to transfer the physics in Blender. its a different system.
If you use physics/simulation in Blender you must bake that into your animations before exporting.

3) Renpy dosent allow 3d scenes. its not a 3d engine. its all just renders/animation put together in Daz/Blender etc..

In my opinion if you plan on a 2D game, Unity is overkill.
If you where to make an interactive 3d game. then yea sure.
No idea how bloated Godot is. might be a better option for a 2d game.
But for a VN, renpy is just fine for the most part.
 
  • Like
Reactions: Verdance

Codehog

New Member
Nov 7, 2020
10
7
1) The usual and preferred workflow is to create everything in blender and then export it to the engine of your choice. I don't think rigging can be done (reasonably) in any of the engines. I don't know the support for animating in Unity but in Godot there is just a basic plugin that allows you to modify the bone transform. Still Blender has the better tools for animating.

2) Physics effects is code that runs in the program you are working with. You need to add the physics effects in the engine of your choice instead of blender.

3) I don't know much about ren'py but I think anything 3D is added via a plugin and is not part of the engine itself

If you want to create visual novels it might be the best to create your assets (images/videos) in blender and use ren'py. If you need real-time 3d just stick to Godot. It will be easier to learn 3D in Godot that to learn a whole new engine. (Besides I do think that Godot is the superior engine for indies)
 
  • Like
Reactions: Verdance

n00bi

Active Member
Nov 24, 2022
669
713
2) Physics effects is code that runs in the program you are working with. You need to add the physics effects in the engine of your choice instead of blender.
Yes this is true. However depending on what kind of physics/simulation he is using in Blender.
It may not be doable to reproduce it in a real time engine.
If you're using advance physics, (Rigid body, jiggle/bounce, cloth, gravity etc) you might have a hard time reproducing them in.
Ie Unity/Godot to give the same result.

If you bake this into your animation instead, you save a lot of resources and the animation will look "the same as in blender"
And if you have multiple animations you can just blend between them anyway.
 

Verdance

Newbie
Apr 17, 2019
25
13
Hmm... So with those things said, and also some research I did after this post, I think my easiest option is to bake the animations in blender as I don't need the animations to be real-time; the player wont be moving nor will there be any AI pathing or anything like that after all.

My biggest hurdle then is in the animation blending working with baked animations. Ideally I'd like to be able to have something like a head or arm movement play, that doesn't interrupt a seperate, looping animation which is utilizing the rest of the body. Any experience with this? I know animation blending exists in Godot but idk if it works well with baked animations and I honestly haven't found anything online about this.

It will be a 3d game btw (or if it's more accurate to say: a game with 3d scenes, camera movement, and 3d models / animations), and yeah, definitely seems Ren'Py is not a good option lmao.
 

Verdance

Newbie
Apr 17, 2019
25
13
To be more specific, I am aware of animation blending and Godot's skeleton system. I know you can tell Godot to only allow an animation to affect specific bones in the Godot skeleton.
What I don't know is how to set up baked animations alongside these systems. Can Godot's skeleton handle baked animations? Does this mean I make the bones in my model twice? Once in Blender to make and bake the animations then again in Godot to blend/restrict the animations?
 

n00bi

Active Member
Nov 24, 2022
669
713
I don't know about Godot but i think Unity has this Blend Tree thingy that allows you to blend between animations.
I am only using C4D, and this is a example of how it can be done there.
Sorry i cant be of more help.
But you in general. in a 3D tool "Blender/c4d/maya etc" you make your animation. include all the stuff you need. jiggle etc.
bake the animation, then you export this animation. and import them into your game engine.

There you setup the blending. you don't really do the blending in your 3d modelling tool (Blender). you just make individual animations and export them.
example. walk, jump, sit etc. and you blend in unity/godot between example walk and jump.

But you can ofc blend in your 3d tool aswell to mix various animations.
 
Last edited:
  • Like
Reactions: Verdance

Egglock

Member
Oct 17, 2017
209
115
1. Would I be able (/ would it be advisable) to rig and animate my models in Blender then transfer them over to Godot / Unity or would it be better to rig / animate in Godot / Unity (or a mix, wherein I only rig in Blender).
I don't believe Godot has support for rigs or animation authoring. In the sense that you are adding bones, constraints, ect. You can do simple animations in Godot, such as translation, but you should be doing all your rigging and animations in Blender, and bring them over to Godot. However after, looking through youtube, you can directly link Godot to your Blender exe. See link below

Link


This process elimiates the whole process of import/export. Allowing you to work directly in Blender and have those changes reflected in Godot.

2. If I rig in Blender, would any physics effects (ie: jiggle physics) not transfer properly to Godot / Unity?
I don't know enough about the workflow between Blender -> Godot, so I can't comment much on how this work. It's worth a try with what I mention above. However from my experience physic properties from Blender doesn't transfer correctly into game engines. Since game engines have their own way of solving physics, the only thing that is needed are bones in the region that needs physics. The rest of the setup are done in engine.

What I don't know is how to set up baked animations alongside these systems. Can Godot's skeleton handle baked animations?
Baked animations are no different than the raw data. The only difference is that you are cacheing that animation data for faster read back. Usually done on animations that have simulations or anything that is computational heavy. Yes Godot supports baked animations, I don't see why not. Here is a link as to how to go about blending your animations together. Not sure if this will achieve what you are looking for? You might have to dig deeper if this does not cover your use case.

 
  • Like
Reactions: Verdance and n00bi

Verdance

Newbie
Apr 17, 2019
25
13
Okay, I THINK the way it works is like so:
- Rig the model in Blender.
- Make the animations in Blender.
- Bake said animations in Blender.
- Transfer model and animations to Godot as a glTF (.glb filetype) file. This SHOULD create a Skeleton3D for the model based on the armatures created in Blender.
- Create animation tree and animation blends in Godot. You should be able to, using the Skeleton3D created earlier, disable certain body parts during the blending, allowing you to animate separate body parts at the same time.

Hopefully this helps someone else in the future with the same questions (and hopefully I'm right).
 

n00bi

Active Member
Nov 24, 2022
669
713
- Transfer model and animations to Godot as a glTF (.glb filetype) file.
Just no imo..
glTF is a good format for web/games but has limits compared to "better formats".
glTF can only iirc do basic rigs. while its size is small and "real time optimized".
its not the best format for animations. esp if you have a complex rig.

You should use FBX or even Alembic for complex anims that can be used in cutsceens " if you have support for that"..
And optimize in your 3d engine sdk. replace materials with Unity/Godot materials, trim unnecessary animation clips, reduce keyframes etc etc.

May i ask why you are going for Godot and not Unity ?
I would believe Unity has a larger community, more tuts, more guides, and is a better tools in general.
 
Last edited:
  • Like
Reactions: Verdance

Verdance

Newbie
Apr 17, 2019
25
13
(glTF is) not the best format for animations. esp if you have a complex rig.
You should use FBX or even Alembic for complex anims that can be used in cutsceens
Rig is not complex. It's low poly as mentioned and doesn't even have anything like face bones. This is my first 3D project so I'm honestly unfamiliar with the differences in filetype so I stated and intended to use glTF as that's just what I saw people claim is the proper way to transfer models and animations from Blender to Godot. When I get closer to that step I'll make sure to do more research though.

May i ask why you are going for Godot and not Unity ?
I would believe Unity has a larger community, more tuts, more guides, and is a better tools in general.
Unity has far more tuts, community, etc, but I didn't enjoy it back when I tried it out (but that was a long time ago), I have experience with Godot, I enjoy structuring around nested objects (which Godot is pretty much entirely based around), and I prefer coding in Python as opposed to C#. Even little things like creating movement via the physics engine (which I won't be doing in this game anyways) I find so much more legible in GDScript as opposed to Unity's C#. Who knows though; I was far more of a novice last time I tried Unity.


If you after realistic 3d neither...
I'm not; it's low poly. I find hyper-realism to be... just uncanny and awkward in these types of games and also a trap for devs as it takes tremendously more time and effort (my assumption tbh, I'm new to 3D). Maybe if you're using pre-made models sure but I'm making them from scratch as my intended models should have a lot more in common with Ray-K's work than anything hyper-realistic and... well, if you're familiar then good luck getting anything remotely like that pre-made.
 
  • Like
Reactions: gojira667

caLTD

Member
Game Developer
Feb 4, 2018
261
228
I'm not; it's low poly. I find hyper-realism to be... just uncanny and awkward in these types of games and also a trap for devs as it takes tremendously more time and effort (my assumption tbh, I'm new to 3D). Maybe if you're using pre-made models sure but I'm making them from scratch as my intended models should have a lot more in common with Ray-K's work than anything hyper-realistic and... well, if you're familiar then good luck getting anything remotely like that pre-made.
If you after, low poly game (also for nsfw sections) org RPGM type game or a Renpy game but with with real game engine (renreded images for nsfw), both are suitable whatever you handle well.

For realistic 3d Unreal is only option. And yes your points are correct about designing full 3d game plus you need to design big and good levels to satisfy players 3d exploring itch.