Jump to content

Nullspace

Veterans
  • Posts

    64
  • Joined

  • Last visited

Reputation

16 Fledgling

1 Follower

Recent Profile Visitors

4054 profile views

Single Status Update

See all updates by Nullspace

  1. On the tedious journey of making a PSMD-like toolkit. Episode 1c: Engine test, Godot.

     

    So why I don't try a sane engine (may have to do it later)? it is mostly a single factor: Ease of distribution. The engine/editor is a single executable that just works. It is that trivial to get started. And there is no account linkage to boot you out of the platform if they so desire (and lose access to assets from their store, but you choose to use those facilities).

     

    Of course there are major drawbacks (the big ones for me are more bugs and the much smaller community and resources available). I am neither a fan of the custom scripting language, but I shall see how that goes. After all, I am just prototyping.

     

    Getting the model to animate and render properly* required a dumb amount of work (mostly figuring out how to do each thing) and I may find easier ways to do it some time in the future, but here's the gist:

    • Export separately each animation (around 27 .dae), there are several "repeated" animations, I am unsure if this has some meaning. We only have to export the textures once.
    • If you choose to modify the textures, you may skip this point. If you--as I-- wants to use shaders to wrap the original images, you need to make sure that your textures are imported as Image (then using them as ImageTexture) and not StreamableTexture (a bug of the design kind), because you might get ugly seams in the borders of your texture due different default sampling options.
    • Import them into Godot (drag the animations to a folder), I was suggested to use the Animation > Storage > Files ".anim" + Keep Custom Tracks in Import Options, but I don't think it changes anything (all of the anims overwrite the same file). Also, in the same import options, for materials, I choose Storage as "Built-In", since I was going to override the materials anyways.
    • Choose one .dae (it doesn't really matter wich one, maybe put it in another folder) and create an Inherited scene. Add an AnimationPlayer node to it. Copy all animations to this node, many animations require some slight tweaking at the end (lengthening the total time, removing final nodes) so as the cyclic animations look good.
      • For animations that don't use vines, disable the animation track, set to invisible the models (and set to vivisble in the ones that use it), or erase all but one keyframe and set the values to something correct (they twitch and fly away haphazardly beyond the clipping frustum)
      • I have not tested, but it looks like the copied animations reference their original source. Deleting the original .dae(s) may cause errors
      • The material (texture) animations were not saved in my case, but it is not that hard (but again, time consuming) to make another animation for those. If you use the default material you need to change the UV offset to change the eyes's expresion, and the mouth.
    • In that new Inherited Scene, choose each mesh and create a material. If you modified the textures you can use the default SpatialMaterial, and point it to the correct texture (In the 'albedo' section), if you did not then Create a new ShaderMaterial or convert the default material to a shader one. You can save the material and reuse it (for example, the body texture is used in 4 meshes and the iris in two.
      • Write the dumb shaders (this took me an embarrassing amount of time for at most 4 logical lines, and at least 1; there's some sense of contravariance that makes my head die) May explain the shaders later.
      • Don't talk to me about normal maps or I die.

    This is the thing for now, see ya later, I might talk bout the shaders next.

×
×
  • Create New...