Download

Mesh Morpher

Mesh Morpher
https://www.unrealengine.com/marketplace/mesh-morpher

Mesh Morpher allows you to create morph targets easily from within UE4 Editor.

Mesh Morpher allows you to improve your workflow removing the need to re-import the assets every time you make a change. You can modify existing morph targets, create new morph targets or remove them without re-importing everything.

This plugin is under continuous development and improvement.

Please get in touch with me on my discord server or on e-mail with suggestions, bugs or any other questions.

Getting Started (create and copy morph):

https://youtube.com/watch?v=qrKRJeZWBAI

Features:

  • Create Morph Targets
  • Delete Morph Targets
  • LOD Support (Morph Targets are reflected on all mesh LODs)
  • In-Editor Mesh deformation
  • Easy to use UI
  • Works with any Skeletal Mesh
  • Copy Morph Targets to another mesh
  • Merge Morph Targets
  • Rename Morph Target
  • Duplicate Morph Target
  • Export Morph Targets to Static Meshes
  • Bake Morph targets into Skeletal Mesh
  • Runtime baking
  • Standalone Morph Targets
  • Symmetry Editing
  • Bulk Copy
  • Change Pose
  • Reference Skeletal Mesh
  • Create Morph Target from Selected Pose
  • Blueprint Tools

Tool Types:

  • Move
  • Smooth
  • Sculpt
  • Sculpt Max
  • Inflate
  • Pinch
  • Flatten
  • Plane
  • Restore
  • Transform

Dev Update:

I finished implementing Copy function from one mesh to another.

Results:
https://youtube.com/watch?v=5BrVzCSGZyk

I’m gonna do some more testing and gonna issue an update to MP.

Update 1.0.5 is Live!

  • Fixed a bug that kept the brush tool disabled after saving the skeletal mesh from within Mesh Morpher.
  • Implemented Copy Morph Target functionality

Update 1.0.6 is Live!

  • Various back-end code validations and improvements that should improve overall stability
  • Preview Scene now uses a **StaticMeshComponent **instead of an Actor
  • About dialog now displays correct plugin version automatically
  • Add Morph target dialog now displays a text label for the Morph Name input.
  • Implemented Merge Morph Targets functionality
  • Keyboard shortcuts now are prefixed with Ctrl + Alt instead of just Ctrl
  • **Copy and Merging **now unregister newly created target morph if no valid morph vertices are generated

Update 1.0.8 is Live!

  • New Menu Category: **Tools **which contains Copy and Merge functions (these functions got separated from the Edit category)
  • Fixed a bug when closing Tool Tab and reopening would cause a crash
  • Implemented Rename Morph Target functionality
  • Implemented Duplicate Morph Target functionality

Known Bug: Closing Mesh Morpher window will crash editor. This will be fixed in 1.0.9 (Update already submitted)

Update 1.0.9 is Live!

  • Fixed a bug when closing Mesh Morpher window would crash editor

Any chance of a morphs baking feature in the future? It would be super cool to save on morph target calculations after a create-a-character is finalized in-game.

That said I adore this plugin, it is exactly the kind of thing I was going to start working on and then I saw it already existed. Instant purchase :slight_smile:

Hey, thank you for you feedback and kind words. Yes, I have some baking feature in mind and also exporting morph targets to static meshes.

I’ve been working a little bit on cleaning code and increasing stability as well in the last 2-3 updates. After update 1.1.0 (which is already submitted and it’s based exclusively on improving the existing functionality) I’ll move forward to implement new features.

Update 1.1.0 is Live!

  • Improved Tab Management.
  • Improved Preview Tab.
  • Implemented the ability to open multiple Mesh Morpher windows simultaneously
  • Fixed various UI bugs that should increase the stability.

That’s great to hear, looking forward to it! In the meantime just enjoying not having to use my flaky Maya script for clothing :slight_smile:

Update 1.1.1 is Live!

  • Implemented the ability to open a new Mesh Morpher tab from File Menu
  • Implemented the ability to export Morph Targets to Static Meshes

Update 1.1.2 is Live!

  • Implemented the ability Bake Morph Targets into Skeletal Mesh (with option to auto-remove them after bake is completed)

Update 1.1.3 is Live!

  • Implemented Falloff option for Sculpt Tool
  • Implemented Depth option for Sculpt Tool
  • Implemented Brush Indicator - Color and Thickness options for Sculpt Tool
  • Implemented new brush Type: Sculpt (viewpoint)
  • Implemented new brush type: Plane (viewpoint)
  • Improved overall experience with the Sculpt Tool
  • Better Save function which uses the engines implementation
  • Various back-end code fixes

UE 4.25: I’ve adapted most of the code to be compatible with UE 4.25. Unfortunately, I feel like 4.25 version is kind of unstable right now with huge undocumented changes and I can’t submit the update for it as there’s an impact in Mesh Morpher functionality. I’m going to continue to investigate, see what others find out before moving forward.

Known bug: Save button gets enabled only after add/remove/rename morph targets or changing morph target selection. This will be fixed with **version 1.1.5 **allowing the button to get enabled also whenever a Morph Target is modified. (fixed)

Update 1.1.4 is Live!

  • Compatibility with UE 4.25
  • Improved Baking functionality
  • Fixed some tooltips in Sculpt Tool
  • Improved UI functionality
  • Implemented a Context Menu for Morph targets list which allows you to right-click and do basic actions like: add/remove/rename etc (with version 1.1.3)

Update 1.1.5 is Live!

  • Save Button gets enabled also when a Morph Target is modified not only when changes to the Skeletal Mesh occur.
  • Fixed a bug with selecting and deselecting Morph targets in the Morph target List that was forcing the user to double-click when changing Morph Target selection.

Update 1.1.6 is Live!

  • Fixed a possible bug with Bake function that may lead to BulkData corruption in certain cases.

Is the morph baking feature a runtime thing? As in C++/blueprint accessible within the game itself

Hi, no, editor only for the moment. There are some plans to provide Bake function at Runtime as well.

To be able to keep track of bugs easier and to follow up more consistently I’ve started a Backlog project for Mesh Morpher.
All reported bugs will receive an ID, once the bugs are fixed, the ID will be posted as resolved.

Known Bugs:

  • **[MM-1] **Empty material Slots in Skeletal Meshes Crash editor when Mesh Morpher has Existing Material option selected.
    Workaround: Set a material to all slots.
  • **[MM-2] **Deleting a Morph Target and then renaming an existing Morph Target to the previous deleted name will cause a crash.

Both bugs will be fixed with version 1.1.7

Update 1.1.7 is Live!

  • [MM-1] Is fixed.
  • [MM-2] Is fixed.

Mesh Morpher 1.2.1 is Live! (06/12/2020)

  • [MM-13] Updated some button labels to be more accurate (editor)
  • [MM-4] Fixed a bug where saving the skeletal mesh with a modified Morph Target will fail to reload the Preview Mesh with the changes (editor)
  • [MM-3] Fixed a bug where baking a Morph Target without removing it, when finished will not rebuild Render Data for Skeletal Mesh (editor)
  • [MM-5] Ability to Export a Morph Target to a Standalone Morph Target asset. (editor)
  • [MM-6] Improved Copy Morph Target functionality (editor)
  • [MM-9] New Node DoBakeMorphTargets which allows to multi-thread bake multiple Morph Targets in Skeletal Mesh (runtime)
  • [MM-8] New Node DoBakeStandaloneMorphTargets which allows to multi-thread bake multiple Standalone Morph Targets in Skeletal Mesh (runtime)
  • [MM-10] New Node DoBakeMorphTarget which allows to multi-thread bake a Morph Target in Skeletal Mesh (runtime)
  • [MM-7] New Node DoBakeStandaloneMorphTarget which allows to multi-thread bake a Standalone Morph Target in Skeletal Mesh (runtime)
  • [MM-11] New Node FindMorphTarget which allows you to search for a Morph Target with the given name in Skeletal Mesh (runtime)
  • [MM-12] New Node RemoveMorphTarget which allows you to unregister a Morph Target with the given name (if found) in the Skeletal Mesh (runtime)