Jump to content

Nullspace

Veterans
  • Posts

    64
  • Joined

  • Last visited

Reputation

16 Fledgling

1 Follower

Recent Profile Visitors

4059 profile views

Single Status Update

See all updates by Nullspace

  1. On the tedious journey of making a PSMD-like toolkit. Episode 1b: ...And textures get in the way.

     

    This is more of a memento to myself, or reminder to those that use the same resources as I. You can have different results depending on the engine and exporter choice, here I am using Godot 3.4, please don't burn me if you lost some hours of your life. Also, I am most certainly sure that not all pokemon have the same structure.

     

    The .dae contains a collection of meshes and material information (we are only interested in the UV data)

    • For this green snek there is the body, head, left pupil, right pupil, eyesockets, left & right vines, and for some reason the left arm, leg and part of the tail combined

    The models and animations usually work fine, but the textures are another story.

    To the point:

    • Many textures are supposed to duplicated/mirrored in the shader.
    • Textures are low resolution
    • Normal maps are (I think) in object space and mixed with an alpha channel which seems to have different uses. I need some more research on this.

    1st: Many textures are supposed to duplicated/mirrored in the shader.

    If you merrily try to import as-is your model, you might get something like this (some meshes hidden, note that I tried to compensate scaling the uv coords):Screenshot_2022-01-06_12-55-08.png.9a91e9d976335bddb058648e62db0888.png

    (Is snivy two-faces?)

     

    That's because this is what the body texture should look like:

    Screenshot_2022-01-06_14-04-39.png.7cbd8f5373230d7e6021106e6cc117d0.png

     

    But you only get a half from the original files.

     

    The eye texture is a more involved example. It's a bit hard to describe:

    • There is a base mesh and texture for the eye socket and whites
    • The pupil is another mesh and texture with an alpha map

    The texture you get is like this:Screenshot_2022-01-06_13-38-25.png.ec0cd007983d2838a0a2d25b9e1f9bf0.png

     

    [Oh noes, the next image is WRONG, please standby before i try to make it better]

    What you want is like this Screenshot_2022-01-06_13-38-38.png.63d2de89ef4e0ff23bda34755517227c.png(Or maybe each half mirrored along the green lines, ymmv)

     

    If you got the mirroring wrong this can happen:

    Screenshot_2022-01-06_13-44-44.png.e04413379ae68566bd9d7b3268946162.png

    (Cross eyes?)

     

    The pupils expect the same kind of texture, but you get one single pupil. In this case you may only scale the uv map 4 times in x and y and it will be fine (don't forget to enable transparency)

     

    Screenshot_2022-01-06_13-52-43.png.4eb56d866fe086d228562c26264e3a0a.png

    (Scared? I have not yet fixed the eye alpha map, I think it will require writing shaders)

    You may bake-in the eyes into the eye-whites texture (and remove the pupil meshes), but you will lose the possibility of eye movements.

     

    The mouth is also weird:

    Get:Screenshot_2022-01-06_14-00-59.png.580d30950d94a98c2184083c1472799b.png

    Need:Screenshot_2022-01-06_14-01-22.png.60795bd367500d583f55ee592e04ac7b.png

     

    Screenshot_2022-01-06_14-09-36.png.a8cc8d09212963e7462bc2d9b9455be8.png

    (Smiles goes for miles)

     

    2nd: Textures are low resolution

    I mean, they are not super-low resolution and it is certainly not a road-blocker. But a pass through a upscaler might appeal to you (Waifu2x works for this well) Yet, this adds another step to the "pipeline".

     

    3rd: Normal maps are in object space and mixed with an alpha channel which seems to have different uses.

     

    Oh boy this one is _really_ ugly, a full post may be required and I have not yet solved it. See ya later when I address this (or not, depending if I solve it).

×
×
  • Create New...