Search Unity

FPS Mesh Tool

Discussion in 'Assets and Asset Store' started by CodeBison, Jan 11, 2015.

  1. CodeBison

    CodeBison

    Joined:
    Feb 1, 2014
    Posts:
    215
    I'm proud to announce the release of FPS Mesh Tool, the quickest and easiest way to prepare character models for use in FPS games.

    FPS Mesh Tool makes it quick and easy to prepare any skinned mesh for use in an FPS. It splits your base mesh into separate submeshes for the body, head, and arms, allowing you to apply different materials (eg invisible) to the arms, head, or body as needed. This works beautifully for transitions between first and third person, and is fully compatible with the full body awareness features of Opsive's Ultimate Character Controller and UFPS. Additionally, FPS Mesh Tool can create meshes that only include the body parts you choose, which makes creation of FPS arms a snap from any skinned mesh.

    Features
    • New: Works with Opsive's Ultimate Character Controller.
    • New: Runtime helpers make material toggling easier than ever.
    • Quick and easy creation of FPS-ready mesh from any skinned mesh.
    • Create FPS arms from any skinned mesh.
    • Use standard humanoid animations with FPS arms.
    • Optionally separate left and right arms and legs.
    • Compatible with UFPS.
    • Adjust bone weight and vertex count thresholds to fine tune body/arms/head borders.
    • Preview results in realtime.
    • Invisible shadow casting materials included.
    • Support for blend shapes (requires Unity 5.3+)
    • Works with all Unity versions from 5.3 to 2018.3.
    Model Compatibility
    FPS Mesh Tool works great with Unity character models from most sources. Here's a list of some sources we've tried. In addition to the specific sources listed below, I've tested it with several standalone third-party characters on the asset store, and it's worked great on all of them.

    Works Great:
    • Mixamo
    • Fuse
    • Poser
    • Daz3D
    • MakeHuman
    • Morph 3D (MCS) (Requires Unity 5.3+)
    • IClone
    Needs Help:
    • UMA*
    *FPS Mesh Tool relies on being able to create a prefab for the final mesh. Initial testing with UMA hasn't been fruitful, but it might work fine with UMA Power Tools, since that allows creation of UMA prefabs.

    Using it is simple:
    • Open the FPS Mesh Tool window from the Window menu.
    • Select a GameObject or prefab.
    • If you selected a prefab, click Instantiate.
    • If you don't want to process all mesh renderers, deselect the ones you don't want.
    • Click Create Preview.
    • FPS Mesh Tool will make its best guess at the head, left arm, and right arm transforms. If they're not correct, adjust them.
    • Drag weight and vertex threshold sliders until you like the result.
    • Click the Build FPS Mesh button
    • ???
    • Profit!
    Video:


    Screenshots:






    You can get FPS Mesh Tool on the Asset Store here.
     
    Last edited: Oct 17, 2018
  2. PvTGreg

    PvTGreg

    Joined:
    Jan 29, 2014
    Posts:
    355
    12 erros upon import

    Assets/CBG/FPSMeshTool/Editor/FPSMeshToolWindow.cs(438,42): error CS1729: The type `Triangle' does not contain a constructor that takes `0' arguments

    Assets/CBG/FPSMeshTool/Editor/FPSMeshToolWindow.cs(442,53): error CS1729: The type `Triangle' does not contain a constructor that takes `2' arguments


    Assets/CBG/FPSMeshTool/Editor/FPSMeshToolWindow.cs(512,34): error CS1061: Type `Triangle' does not contain a definition for `verts' and no extension method `verts' of type `Triangle' could be found (are you missing a using directive or an assembly reference?)

    Assets/CBG/FPSMeshTool/Editor/FPSMeshToolWindow.cs(546,22): error CS0021: Cannot apply indexing with [] to an expression of type `Triangle'


    Assets/CBG/FPSMeshTool/Editor/FPSMeshToolWindow.cs(546,18): error CS1502: The best overloaded method match for `System.Collections.Generic.List<int>.Add(int)' has some invalid arguments


    and so on
     
  3. CodeBison

    CodeBison

    Joined:
    Feb 1, 2014
    Posts:
    215
    Sorry about that. It looks like you're seeing a namespace conflict. I've put together a new build that should work for you. If you email your invoice number to support@codebison.ca, I'll send you the new build.
     
  4. Spoken_OS

    Spoken_OS

    Joined:
    Feb 15, 2015
    Posts:
    29
    Does your asset support the ability to separate the legs as well? So that I could only show the legs and arms from a first person view?
     
  5. CodeBison

    CodeBison

    Joined:
    Feb 1, 2014
    Posts:
    215
    This isn't supported currently. I'll look into this and see if it's practical to add this feature.

    Thanks for your question!
     
    Spoken_OS likes this.
  6. Spoken_OS

    Spoken_OS

    Joined:
    Feb 15, 2015
    Posts:
    29
    If it could cut somewhere around the waste it would fit my project needs perfectly. Right now I'm currently using separate arms and legs. Let me know if you choose to implement this and I will buy!
     
  7. 99thmonkey

    99thmonkey

    Joined:
    Aug 10, 2012
    Posts:
    522
    Seems like a bit of an odd request, but you could probably get somewhat close by making your "Head" object start much lower at say the Spine (or the lowest object above your two legs). It would probably look a little odd in the editor, but in essence it would have the arms, the Hips down and you could make the Hips up invisible with the correct material.


    http://bit.ly/1DcJEcJ
     
  8. CodeBison

    CodeBison

    Joined:
    Feb 1, 2014
    Posts:
    215
    I've added this in version 1.0.2. Here's a preview:
    I've submitted the new version to the Asset Store. If you don't want to wait for the update to be approved, you can email your invoice number to support@codebison.ca and I'll send you the latest build.
     
    Spoken_OS likes this.
  9. Spoken_OS

    Spoken_OS

    Joined:
    Feb 15, 2015
    Posts:
    29
    Thanks for the update! I just got the asset.
     
  10. CodeBison

    CodeBison

    Joined:
    Feb 1, 2014
    Posts:
    215
    Glad I could do something to improve the tool for you. Let me know if you have any requests or suggestions. :)
     
    Spoken_OS likes this.
  11. ForceVFX

    ForceVFX

    Joined:
    Jan 21, 2011
    Posts:
    576
    a quick question, I have skinned and animated some aircraft.
    I forgot to separate the prop.(I actually thought I could animate them into a natural blur..wrong!)

    instead of going back and redoing all of them..

    can I use this tool just to separate one specific bone?



    The prop? (I know..pretty stupid!!)

    Does it matter what bone? what the skin mesh is?..biped or other..
    I can not imagine that it would...but

    Simply put...is this script based? Are you looking for string values , ie " %_RightArm"., "%_Head"....where are those 3 'Bone' values coming from?? A private array of transforms..populated by a Hard coded values?

    My skin , weight maps and Bone's are originally Poser, to Daz (Decimator), to Maya, to Unity.
    Very Hard Edges, that matches the mesh topology...

    I should be able to just drag my prop bone..done..saving me 20-30 hours..

    I will gladly pay!! to avoid that workload again..

    But before I try..I just would like your feedback.

    Thanks.

    Patrick
     
    Last edited: Mar 23, 2015
  12. Techips

    Techips

    Joined:
    Jun 9, 2013
    Posts:
    234
    How close is it being able to use UMA?
     
  13. CodeBison

    CodeBison

    Joined:
    Feb 1, 2014
    Posts:
    215
    Hi Patrick,

    The bone values are autodetected based on name, but you can override them. All you'd need to do would be put the prop bone in all three slots (head, left arm, right arm). You'd then be able to replace the prop texture with an invisible one, which sounds like it should serve your needs. As long as the prop is a child of the mesh's root bone, all should be well.

    That said, if you try it and it doesn't work for you, I can whip you up a custom version that will work for your planes.

    Does that answer your question?
     
  14. ForceVFX

    ForceVFX

    Joined:
    Jan 21, 2011
    Posts:
    576
    that does answer my question, because it means I can override those values.

    yeah the prop is a direct child of the root bone. it acts just like a character skin except it's more solid on the weight maps, meaning there's no gradient. its either black or white.

    that's why I assumed There should be a simple way that I can override those values just pop in my one single bone it would work, thanks for the response.

    P
     
  15. CodeBison

    CodeBison

    Joined:
    Feb 1, 2014
    Posts:
    215
    Nowhere near, unfortunately. By its nature, UMA doesn't use prefabs. Since FPS Mesh Tool works exclusively on prefabs, there's really no overlap there. As the original post mentions, it might work with UMA Power Tools. If you have/use power tools, I'd be happy to give you a license so you can try FPS Mesh Tool with it.
     
  16. Techips

    Techips

    Joined:
    Jun 9, 2013
    Posts:
    234
    I don't have power tools atm
    Thanks anyway
     
  17. SmashedAvocado

    SmashedAvocado

    Joined:
    Dec 19, 2013
    Posts:
    36
    Looks cool but for an FPS tool it would be great to have some screenshots in First Person! :p
     
    chelnok and eridani like this.
  18. Arkade

    Arkade

    Joined:
    Oct 11, 2012
    Posts:
    598
    Hi
    Bookmarked for future need. Thx!

    Re. UMA (and others), I wonder if it would combine well with SimpleLOD ? (which can create single mesh from a UMA model at runtime or in-editor.)

    HTH, R.
     
  19. CodeBison

    CodeBison

    Joined:
    Feb 1, 2014
    Posts:
    215
    Haha, good point. I'll see what I can do.
     
  20. CodeBison

    CodeBison

    Joined:
    Feb 1, 2014
    Posts:
    215
    That does look promising. I'll check it out this weekend. Thanks!
     
  21. CodeBison

    CodeBison

    Joined:
    Feb 1, 2014
    Posts:
    215
    Just submitted 1.0.2b to the asset store. Bugfixes to handle null root bone and null materials in mesh renderer (previously caused endless error spew).
     
  22. CodeMonke234

    CodeMonke234

    Joined:
    Oct 13, 2010
    Posts:
    181
    CodeBison - Any possibility of actually splitting the mesh into pieces as well?

    This would be really useful - not only could other mesh pieces be used (skinned or unskinned) but also more efficient...

    Problem with just hiding using material is that it is inefficient - vertices still be sent down pipeline to be rendered.

    Either way - thanks for creating the tool - going to go purchase
     
    Last edited: May 18, 2015
  23. CodeBison

    CodeBison

    Joined:
    Feb 1, 2014
    Posts:
    215
    This is something I've been looking at, though I'm considering the best way to do it.

    One of the things I'm considering is whether to include the complete skeleton when splitting, or just relevant bones. Complete skeleton would allow use of human animations without issue, but just relevant bones would be more efficient. Ultimately I may end up including both options. Do you have a preference?
     
  24. CodeBison

    CodeBison

    Joined:
    Feb 1, 2014
    Posts:
    215
    Okay, done. I've uploaded version 1.0.3, which lets you choose which body parts to include in the final mesh. Note that the entire skeleton is still included, which means you can still use standard humanoid animations regardless of how much of the mesh you chose (eg just head, one arm, body and left leg, etc).

    Here's a preview:

    If you don't want to wait for the new version to be approved on the asset store, email your invoice number to support@codebison.ca and I'll send you the new build.

    Thanks for the suggestion!
     
  25. CodeMonke234

    CodeMonke234

    Joined:
    Oct 13, 2010
    Posts:
    181
    Awesome!!!

    Email sent
     
  26. Spoken_OS

    Spoken_OS

    Joined:
    Feb 15, 2015
    Posts:
    29
    Nice update. Good purchase.
     
  27. CodeMonke234

    CodeMonke234

    Joined:
    Oct 13, 2010
    Posts:
    181
    Update works great!!!

    Now you can specify which parts to include in final mesh output :)

    I am using it to enable zombie headshots ;-)

    Thank you CodeBison
     
    boysenberry likes this.
  28. MIK3K

    MIK3K

    Joined:
    Sep 10, 2014
    Posts:
    144
    This is on the top of my must buy list. From the videos looks like you couldn't have made it any easier to work with.
     
  29. CodeBison

    CodeBison

    Joined:
    Feb 1, 2014
    Posts:
    215
    I've certainly tried to make it easy and useful. When you end up getting it, please let me know if you think of any way I can make it work better for you.

    Cheers!
     
  30. MIK3K

    MIK3K

    Joined:
    Sep 10, 2014
    Posts:
    144
    Oh, it didn't take my edit yesterday (or maybe I was posting in the wrong thread lol). I was looking at this for UFPS but also "Bloody Mess." It looks like a good alternative to manually doing this stuff in a 3D program. Actually, that's where I posted in the Bloody Mess thread asking if your asset would work for separating meshes.

    Good stuff regardless and will definitely use it with UFPS.
     
  31. siblingrivalry

    siblingrivalry

    Joined:
    Nov 25, 2014
    Posts:
    384
    Hi, how does it work with UFPS Full Body Awareness?
     
  32. StarGamess

    StarGamess

    Joined:
    Jul 21, 2014
    Posts:
    179
    Have you found out if this will work with bloody mess? If so ill buy this.
     
    Last edited: Aug 8, 2015
  33. CodeBison

    CodeBison

    Joined:
    Feb 1, 2014
    Posts:
    215
    It works very well with UFPS and Full Body Awareness. That's what it was designed for. UFPS 1.4.8 was the reason I made this tool. :)

    The UFPS Manual here mentions FPS Mesh Tool by name (under Head & Arm material setup). :)
     
  34. JBR-games

    JBR-games

    Joined:
    Sep 26, 2012
    Posts:
    572
    Hi the asset works great with no issues which seems rare for a unity asset lol. I was wondering if you could help me with a hopefully small extra feature i would like to have. I would really like to have each arm and leg use a different material. So on the FPS-mesh character creation i would have 6 total materials.

    thanks
     
  35. CodeBison

    CodeBison

    Joined:
    Feb 1, 2014
    Posts:
    215
    Sure, I can do that. I'll let you know when it's ready.
     
  36. JBR-games

    JBR-games

    Joined:
    Sep 26, 2012
    Posts:
    572
    Awesome thank you
     
  37. CodeBison

    CodeBison

    Joined:
    Feb 1, 2014
    Posts:
    215
    I've added this feature and submitted the new version to the asset store. If you don't want to wait for the new version (normally takes a few days), you can email your invoice number to support@codebison.ca and I'll send you the new build.

    Cheers!
     
  38. JBR-games

    JBR-games

    Joined:
    Sep 26, 2012
    Posts:
    572
    @CodeBison Your the man !!! Thanks, ill email you shortly.
     
  39. julianr

    julianr

    Joined:
    Jun 5, 2014
    Posts:
    1,111
    neat feature update :) Thanks for requesting it @JBR games
     
  40. JBR-games

    JBR-games

    Joined:
    Sep 26, 2012
    Posts:
    572
    Yep, With that feature you can now basically decapitate limbs with fps mesh tool. I used a double sided shader and particles to hide the hole, also there really seems to be little performance cost since the model is using 6 of the same materials normally. Stil only getting one draw call.
     
    julianr likes this.
  41. CodeBison

    CodeBison

    Joined:
    Feb 1, 2014
    Posts:
    215
    Haha nice! I'd love to see video of that.
     
  42. julianr

    julianr

    Joined:
    Jun 5, 2014
    Posts:
    1,111
    Hi @CodeBison - do you know if there are any changes to UFPS 1.6 that may have an impact on FPS mesh tool?
     
  43. CodeBison

    CodeBison

    Joined:
    Feb 1, 2014
    Posts:
    215
    I don't have any inside information about upcoming UFPS versions, unfortunately. Have you found something that shows some sort of upcoming changes to their Full Body Awareness system? If that system changes, it might need some minor tweaks to FPS Mesh Tool, but as long as that system stays the same (eg still relies on materials with "arm," "head," or "body" in the name) then everything should work fine.
     
  44. julianr

    julianr

    Joined:
    Jun 5, 2014
    Posts:
    1,111
    Jumping the gun I'm afraid (Sorry!) - I assume that if they are doing an overhaul, then this may mean some changes to the full body awareness. 3rd person does need some work in comparison to other assets out there, its a shame they can't just provide a hookup with a camera switch so you could bolt on any 3rd party add-on, or at least a UFPS supported one.
     
  45. JBR-games

    JBR-games

    Joined:
    Sep 26, 2012
    Posts:
    572
    @CodeBison. Still working on getting the body parts to spawn corectly when shot. When i get it working and looking decent ill post a demo. Thanks.
     
  46. C10110

    C10110

    Joined:
    Jan 19, 2013
    Posts:
    55
    @CodeBison I'm sorry to just plop in the middle of the thread. I searched and searched for an email but alas couldn't find one.

    I need to add animated arms to capsules. I know that may sound silly but still, I want to do it. XD
    I like the idea that I can use any humanoid model be it an asset or one I make myself to achieve this. - The modeling, I'm not so worried about, it's the animation. I suck at that still. But you say you can use Mecanim still with your asset? So does that mean I can use Animation Baker as well and slap some quick animations onto these arms and then just position them on a capsule or something static and have them move accordingly? (Basically I'm worried you have to use them in First Person) - or can you put your "FPS Arms" anywhere you wish? If so I will be purchasing this weekend no doubt!

    Thank you for your time. :)
     
  47. CodeBison

    CodeBison

    Joined:
    Feb 1, 2014
    Posts:
    215
    No worries. If I understand what you're trying to do, then the answer is yes, you can absolutely do that. FPS Mesh Tool splits any skinned mesh into submeshes based on bone weights (eg head/body/arms etc), optionally excluding some parts of the mesh (eg keeping only the arms if that's what you want). There are no restrictions on what you can do with the resulting mesh. If you could do it with the original, you can do it with the resulting mesh. You can use any animation system or third party asset that works with skinned meshes. So yes, if you want to rip the arms off an existing character mesh and stick them on a capsule, you can absolutely do that.

    Hopefully this answers your question? If not, please let me know.
     
  48. C10110

    C10110

    Joined:
    Jan 19, 2013
    Posts:
    55
    @CodeBison That sounds great! Thank you! I can't wait to get started.
     
  49. Greg-Bassett

    Greg-Bassett

    Joined:
    Jul 28, 2009
    Posts:
    618
    Hi, I have just purchased this asset and it works great, except for one issue.

    I am using Morph3D characters and they have blendshapes within the Skinned Renderers, when I use your asset it removes the blendshapes.

    This is a real shame, as I want my FPS visible body parts to still be able to have blends applied at runtime, imagine an fps game where the character touches or drinks something that turns him into a monster, or ages the character, Morph3D characters have all these blendshapes, and it would be great to see my fps characters human hands for instance turn into clawed creatures hands.

    Do you think your asset could be updated to support retaining blendshapes after generating the additional the materials?
     
  50. CodeBison

    CodeBison

    Joined:
    Feb 1, 2014
    Posts:
    215
    Given my understanding of how Morph3D models work, I don't think this is likely. I've had similar problems getting FPS Mesh Tool to work with UMA, and haven't found a solution. Sorry about that - it would indeed be cool to have a morphing first person character. I've been looking at Morph3D for my own use as well. How are you finding working with it?

    Thanks for pointing out the compatibility problem between Morph3D models and FPS Mesh Tool. I'll update the asset store description so this doesn't surprise anyone else.

    If this problem changes your mind about the value FPS Mesh Tool has to you (eg if you'd like a refund), please hit me up at support@codebison.ca and I'll get you sorted out.

    Cheers!

    Update: Documentation is here in case you haven't seen it: https://docs.google.com/document/d/1wEq3hl1F72EZ6jHxstTGP2iF5ohpY8CtYlK9MMlP_YU
     
    Last edited: Sep 20, 2019