Custom Stylized Metahuman Heads with Midjourney-assisted Texturing : Character Workflow Part 1

Поделиться
HTML-код
  • Опубликовано: 7 авг 2023
  • Here is the first part of my current character workflow for custom stylized Metahumans - I developed it for the short film I’m working on (‘Raj Pai, Gentleman Spy’). This part prepares a Metahuman head based on an unrigged stylized basemesh, and then textures it in a painterly style using Midjourney to speed things up.
    This workflow owes a lot to ‪@JoeRaasch‬ and ‪@PIXXO3D‬. Joe’s workflow uses Houdini, and mine uses Wrap3, but I’m using his approach and principles. PIXXO’s projection mapping workflow is the best I’ve found anywhere and he explains it in more detail than I do.
    My workflow uses Blender, Unreal Engine + the MeshMorpher plugin, Wrap3, Photoshop Beta and Midjourney.
    Objective 1: A rigged Metahuman head that retains the fully pushed shape of a stylized base mesh. I start with an unrigged, untextured stylized base mesh that includes head and body (attached together).
    1a. Run the stylized base mesh through Unreal’s Mesh-to-Metahuman process. Only 1 promoted frame really required in the Neutral Pose. Make sure to use the Data-driven Eyes option to get the eye position right. Mesh-to-Metahuman is necessary to get the facial bones positioned correctly, but it rarely replicates the stylization perfectly. I use a corrective morph to fix this.
    1b. Prepare resulting Metahuman head as corrective morph source. Since my objective is a stylized look, I disable all sections except 0,1,3,4 (which are the face, teeth, and both eyes. I also only use LOD0, so I set the Number of LODs to 0 and Apply Changes. Use MeshMorpher to export as OBJs: a welded version of the mesh (this will be the corrective morph source) and an unwelded version (this will be the high poly mesh for texturing later).
    1c. Align stylized mesh eyes and prepare as corrective morph target. Import the welded mesh and the original stylized basemesh, and align the base mesh to the welded mesh, taking care to line up the eyes as closely as possible.
    1d. Wrap Metahuman head around stylized mesh and export new mesh. Try to use the Wrapping node for this vs. Fastwrapping - better results. Since the meshes are pretty similar, I rarely have to put in any alignment points, which makes this really fast.
    1e. Create morph target using newly wrapped mesh. Set up new morph target in MeshMorpher using Create from Mesh Files.
    1f. Test new morph target with animation sequence. You need the face to move in extreme ways to test the new morph target - I set a specific animation to use in the Preview Settings.
    Objective 2: A stylized, painterly base color texture layer for the newly rigged custom Metahuman head. The standard Metahuman materials are much too photorealistic to work well with the stylized mesh shapes.
    2a. Decimate wrapped mesh and place seam for UV unwrapping
    I’m going to use projection mapping to speed up the texturing here, so a standard Metahuman LOD0 head mesh is much too high poly to do that easily. The seam is placed in the back of the head since that is usually less visible.
    2b. Prepare UV Maps for projection mapping. I prepare two UV Maps on the newly decimated mesh - one called Front Projection for use in the projection mapping, and another called Main Map Output, to be used as a clean non-overlapping output texture map.
    2c. Use orthographic view as input image to Midjourney. This is optional but I find it helpful - an input image helps Midjourney give you output that roughly follows the shape of your mesh. Feel free to play with the prompts - this is what I used for this example: “an orthographic front view avatar character portrait gouache painting of a bald chubby english politician, symmetrical, colorful, handpainted, painterly, stylized, graphic novel, natural lighting, overcast --niji 5 --s 250”
    2d. Remove highlights, shadows and hard outlines with Healing Brush and Smudge. Since this will be a Base Color texture, we want minimal harsh lines and don’t yet want to bake lighting into the texture. I use a wet media brush on the Smudge tool to get some nice paint strokes and texture into the colors.
    2e. Adjust mesh with Grab tool to clean up projection mapping. I do each side of the face separately here too to introduce some naturalistic imperfections and irregularity - perfect symmetry is boring.
    2f. Use Clone Stamp to transfer texture to a new UV Map. This is to get a clean output texture using a non-overlapping UV Map - as you Clone Stamp onto the mesh, the texture appears on the Main Map Output image, which can then be saved out to a PNG file.
    2g. Use TransferTexture to map onto high poly version of the wrapped mesh. Fastwrapping usually works fine here vs. the Wrapping node. Here I wrap the texture map I have just put on the decimated low poly head mesh onto the high poly wrapped mesh I used as a corrective morph target.
    2h. Test new texture with animation sequence
    2i. Further cleanup with Healing Brush and Smudge. I also add more texture here with the Smudge brush, and imperfections, scars, scratches, etc.
    Music: Spy - Spring Gang
  • ВидеоклипыВидеоклипы

Комментарии • 34

  • @egggshelll
    @egggshelll 11 месяцев назад +1

    Great Result! Thanks for sharing!

    • @locodrome
      @locodrome  11 месяцев назад

      Thanks! Hope that answers most of your questions!

  • @ibrews
    @ibrews 11 месяцев назад +1

    Love it !!

    • @locodrome
      @locodrome  11 месяцев назад

      Glad its useful!

  • @BigfootU
    @BigfootU 11 месяцев назад +1

    Thank you!

    • @locodrome
      @locodrome  11 месяцев назад

      Glad its helpful!

  • @vidayperfumes7514
    @vidayperfumes7514 11 месяцев назад +1

    An artist at work

    • @locodrome
      @locodrome  11 месяцев назад

      🙏🏽 🙏🏽

  • @pn4960
    @pn4960 7 месяцев назад +1

    interesting workflow!

    • @locodrome
      @locodrome  6 месяцев назад

      Hope its useful!

  • @pjarts3911
    @pjarts3911 11 месяцев назад +1

    wow😍

    • @locodrome
      @locodrome  11 месяцев назад

      Glad you like it!

  • @balsonsash3875
    @balsonsash3875 2 месяца назад +1

    Hey! Thanks for sharing! Do you have more detailed tutorial of your workflow? If not, it will be much appreciated if you can make one :)

    • @locodrome
      @locodrome  2 месяца назад +1

      This one is newer and has better results for the geometry component - ruclips.net/video/ggD8xP9z-pw/видео.html - and no paid plugins required.
      These days I have been using a combination of MetaReforge and MeshMorpher for my stylized heads - its faster and more efficient, but those are paid plugins.
      I am still working out some kinks in the process, and will make a new video after that.

    • @balsonsash3875
      @balsonsash3875 2 месяца назад +1

      @@locodrome Thanks! But Wrap is not free 😅

    • @locodrome
      @locodrome  2 месяца назад +1

      @@balsonsash3875 Yes, I said no paid plugins :) Wrap is standalone, and there's no getting around that unfortunately - you do have to use the MH topology. Also Wrap is cheaper and easier to learn than Houdini.

    • @balsonsash3875
      @balsonsash3875 2 месяца назад +1

      @@locodrome Hope blender will have an add-on for that any time soon 🥺

  • @janedwardmanibay8414
    @janedwardmanibay8414 7 месяцев назад +1

    how did you retain the eyes in mesh morpher? whenever I create the morph in unreal engine with my morph target it just messes it up

    • @locodrome
      @locodrome  7 месяцев назад +1

      Sorry - thought I'd responded to this. I'm not morphing the eyes - just the head. If you mean retain the eyes in Mesh to Metahuman, try with and without the 'Data Driven Eyes' options - sometimes one is better than the other. Also try with 3 reference frames showing the eyes from multiple angles.

    • @janedwardmanibay8414
      @janedwardmanibay8414 7 месяцев назад

      @@locodromeits cool, where do I find the 'data driven eyes' option?

    • @locodrome
      @locodrome  7 месяцев назад

      @@janedwardmanibay8414When you have the MH Identity asset open, and have your Neutral Pose highlighted, you'll see it in the detail panel under Pose - its an option to select before you run the MH Identity Solve.

  • @hotsauce7124
    @hotsauce7124 8 месяцев назад +1

    Question: is there a way to fix the tiny wrinkles when the lips deform? This looks very cool.

    • @locodrome
      @locodrome  8 месяцев назад +1

      Yes, actually that only happened with this particular mesh - if you look at some of my other videos, like the Metahuman Animator test you can see the lips are fine. Think I could have fixed the lips here if I’d done the M2MH step more carefully.

    • @hotsauce7124
      @hotsauce7124 8 месяцев назад +1

      @@locodrome awesome can’t wait to see your previous videos. Thank you.

    • @hotsauce7124
      @hotsauce7124 8 месяцев назад +1

      Might there be a video showing what buttons you clicked in UE5 and Blender?

    • @locodrome
      @locodrome  8 месяцев назад +1

      @@hotsauce7124 sorry - I don’t have the patience to make proper full tutorials, but i wrote a little about the process here - medium.com/locodrome/unreal-filmmaking-building-a-stylized-custom-metahuman-33316cd5e4a6 - also you should check out Joe Raasch’s tutorials using Metapipe for this if you use Maya

    • @hotsauce7124
      @hotsauce7124 8 месяцев назад +1

      @@locodrome Thank you

  • @canoksas2979
    @canoksas2979 4 месяца назад +1

    Would this work with a animal face?

    • @locodrome
      @locodrome  4 месяца назад

      This method doesn't move the bones - only the vertices. Watch this newer video for a better way of ensuring the bones move too (ruclips.net/video/ggD8xP9z-pw/видео.html) - with an animal face though, it may be too extreme a shift. Best way to reliably do that is either Metapipe (Maya) or Metareforge (Blender).

  • @Supremepikachu
    @Supremepikachu 10 месяцев назад

    I hope you can help me, so i do have similar character also with a big neck and somewhat fat, now when i finalize it the end result ends up with a small neck and lots of my actual mesh removed and adjusted by the crerator tool, did i choose something wrong? because i didn't see what you did after the identity solve.

    • @locodrome
      @locodrome  10 месяцев назад

      Sounds like what happens with the straight Mesh-to-Metahuman process - it normalizes the neck size to fit with a standard Metahuman body. In my video, the custom morph process after the identity solve is required to retain the exact shape of the original mesh.

    • @Supremepikachu
      @Supremepikachu 10 месяцев назад

      @@locodrome So do i have to do the same like you did or what do i actually do? I choose to add a full righ with body as final step if that matters?

    • @Supremepikachu
      @Supremepikachu 10 месяцев назад

      @@locodrome I found it but it doesn't show me open in morpher. How do i get that tab?

    • @locodrome
      @locodrome  10 месяцев назад

      @@Supremepikachu Mesh Morpher is a paid add-on. If you read the step by step description in the video, I think most of your questions should be answered.