Making a cape on a character. (Please help; It's maddening.)

Ok, So I spent the last 16 hours trying to figure it out for myself and have a list of things that you can’t do and what breaks unity to keep the developers busy for years. I’ve watched every tutorial video on planet earth and they are all just purple links now and got so mad I seriously considered quitting my project.

So here’s what I’m trying to and if anyone can paint a clear start to finish passage they did to make it work, it would really help. please. I have Access to maya 2016 and access to unity 5.

I’m trying to shape a cape in maya (unity is not sophisticated enough for this.) I’ve manually made a cape and also, used ncloth to set a different cape I made setting the “initial start position” as maya calls it. Using fbx exporting and all of the options checked, Embedded media, fbx2014/2015. The ncloth model is severely warped when put into unity, the polygon shape looks fine, but can’t be turned into a cloth.

I’ve started over several hundred times. So I’m not above starting from the beginning, because at this point i’ve reloaded and redist so many times that the rules for the 3d model are all corrupt. Not importing textures. Just a whole lot of crap.

Has anyone made a flowing cape for their character for unity? What program did you use, how exactly did you get it working in unity? was it exported attached to your character? Was it separated then exported, then reattached after unity import?

I’ve never made a cape. But I’ve seen an example of one done using a few bones - here’s a demonstration video - and I think it might work using the cloth that comes with Unity 5, depending on what functionality you need. Possibly there is even a shader based solution.

If you are willing to use a plugin from the store, one that might work for you is Obi Cloth.

I wanted something like, Weather variable. But I probably will end up just putting a skeleton on it. thanks for the videos I’ll check em out.

I know this is an old post, but it’s 2018 and not much is new is online for help making a realistic cape in Unity (without expensive software, difficulty or effort). I’ve read and followed all the links too, and have tried many assets too. I know you can rig a cape and make animations for it, but that requires way more work and adds to the file size of the project and build. Unity’s physic-system is actually quite impressive (compared to my old C++ days), and the cloth component already makes a realistic cloth mesh with little effort. So, using the Cloth Component, I finally got my cape working (still not perfectly), so I thought I’d help anyone still working on capes, ribbons, cloths, etc, in Unity. First of all, I read that Unity 5.6 and above have an update for the Cloth Component in Unity3D, versions below that have an un-updated cloth-component. I can’t verify that myself yet, but I personally haven’t upgraded past 5.5.4 yet, so maybe any advice I give will only apply to ones still using older versions of Unity.
Anyways, f0r54ken brings up a good point, things in Unity can get broken (sometimes easily), and that’s one of the major problems with cloth components also. There are two major issues that I noticed that cause the cloth component (cape) to get messed-up (and in some cases it can’t be undone with ‘undo’ either). One thing is the cloth constraints (the points where the cloth ‘attaches’ to an object), if Unity has trouble with the formation of your constraints (where they are and/or what their values are, or if you have a conflicting constraint somewhere) it can cause major glitches in the cloth(cape) and problems in the flow of the cloth, the cloth’s physics, etc. Also, another issue is the colliders which the cloth needs so it doesn’t just ‘fall’ through your character, but instead drapes over them, and is effected/blocked by the characters legs and arms. That seems to be the biggest problem for me, because the colliders needed by the cape interfere with Unity’s character controller systems (3rd person, etc). It causes the character controller to stay crouched when not supposed to, stay airborne when not supposed to, etc. I assume the cape’s capsule/sphere colliders are triggering ground and overhead-clearance collisions(character controller). I still haven’t found any good tutorials that show anything other than the most basic 3d-Plane-Cloth setup. I’ve been through many scripts, forums, documentation, assets, projects, etc, but I’m still hoping that when I switch to Unity 5.6 or 2017 the cloth component will work better for me. I’ve seen a few tutorials that show animating a cape first, in other 3D software like Blender or Maya, then exporting the animations of the cape flowing into Unity. Those methods require you to make cape animations for all the different states of the cape (like flying, falling, jumping, running, etc.), they also require you to rig the cape (give it bones-Avatar) which isn’t so easy to do (depending on the software you’re using) since it has to be compatible with Unity and it’s Animator. If anyone reading this has any suggestions or info it would be appreciated, keeping in mind I’m still stuck using Unity 5.5.4 on a 32-bit system (Win7) for now. If f0r54ken has had any success since 2016 I’d like to hear about it, hopefully you didn’t give up.
So, I’ll just end with saying how I got the best results so far (with Unity 5.5.4) with making a realistic cape in Unity. Let’s say I have a 3D model, in the common Wavefront OBJ format (maybe converted from XPS Lara format), and it is a superhero with a cape object. I found it common for 3D models (even FBX’s) to have the cape grouped with the character (or all one object), so that the character and cape are treated in Unity as one object. What you want is the cape to be a separate object. I use Mixamo.com for rigging the character for use in Unity. I use Blender3D (I’d like to try Maya) to save the cape and the character as separate Wavefront OBJ objects, and I use Mixamo to rig the character OBJ and convert the character (without cape because Mixamo can’t rig capes) into FBX for Unity.
After that, I import the FBX character into Unity and I import the OBJ cape too. I make sure the cape OBJ is the same size scale as the character FBX, and I attach the cape as a child of the character, then attach a cloth component to the cape. Next, edit the constraints that attach the cape to the neck (and sometime shoulders too). Usually the default settings will work fairly well, and the cape works at that point, but colliders still need to be set up so the cape doesn’t just hang inside the character or go through it. That’s where my problems are, I’ve gotten it to work before but not every time. Often the colliders I add for the cape interfere with the character controller, and/or they don’t keep the cape from going through the character model. I hope some of this was helpful to someone, I’ll try to post a screenshot or any new (successful) information I get if Cloth Components are still an issue for anyone here.

Not quite sure if you are asking about this, but I’d heard cloth was messed up again in 2017.3 and maybe earlier 2017 versions as well. Probably some things work right, but not everything.

1 Like

It was something I was wondering, so thank you ‘hopeful’. I am stuck using 32-bit Unity 5.x for now until I save up for a 64-bit system, but I will move to Unity 2017 versions later. Hopefully they will fix it by the time I switch. I managed to get good results with it the way it is in Unity 5, but it’s not what I would call game-quality, not the physics, the physics are pretty good and can be tweaked, it’s the clipping issues, and the colliders that the cloth is using are interfering with the Third-person Controller. I guess I could experiment with mesh-modifier scripts, but I am still learning more about mesh-scripting in Unity. I was used to using a C++ compiler and OpenGL libraries for mesh-manipulation, but Unity saves so much time and effort. I’m still checking for tutorials and re-reading doc’s, but I haven’t found any examples that give a realistic result, without using an expensive asset/add-on. Others are just a basic ‘plane’ on a ‘cube’ example.

Have you checked out Obi Cloth? Maybe it’s more to your liking.

I checked out ObiCloth. It looks good, if I can afford it maybe I’ll try it, especially if Unity still hasn’t fixed/updated their standard Cloth Component system. I think I remember reading on a post by Unity that one of the things that would be added in the updated Cloth Component (in Unity 2017+) would be the cloth being able to collide with itself and improved physics or something. ObiCloth does that apparently. I would like to learn more about mesh modifying in Unity so I could make an improved cloth myself. I’ve seen code for duplicating a mesh (to make a mesh double-sided), and morphing a mesh through script in Unity, so I guess if I can learn to make a Cloth from script, I might also learn how to separate 3D objects in Unity (I keep having to use Blender to separate 3D objects for Unity, since Unity can’t manipulate an 3D object unless it’s a separate object, e.g., a car and tires all treated as one object in Unity. My experience is outdated, legacy C++, OpenGL (and Direct3D) and Irrlicht 3D Engine(4 I think). But thanks for your help.