Step-by-Step Solution for Copying Hair Curves Between Blender Files.
For the same reason I'm a backup kind of guyThere are two solutions, so make copy of both projects just in case. The copy of the file with curves I namedread through before performing the Copy Filetask.
- Prepare Backup:
Open the new project you want to add curves to. Make sure you have the UVmap in your newcopies of both project set up correctly, and given it a name you remember. Might work with same name as old onefiles (Standard is just UVmapbackup). I made a new name, so that I could actively select the correct one.
Open the file with the hair curves (Copy File). From the Outliner (Collection List), select the object with curves and unlink materials and delete everything connected to the mesh that has no presence or value in the new project and that you don't want copied to avoid any clutter and confusion.
- Rename the copy of the file with the curves (e.g., "Copy File").
Now, do not only select the object with the hair curves, open up the full hierarchy below it so that you can literally see everything attached to it, the curves, the modifiers to the curves etc. Select it all and copy (Ctrl + C) it. Go to the target file with the new mesh, and in object mode select the target object so that the destination automaticaly is within the same collection, and paste (Ctrl + V) the object.
- Setup New Project:
There are two ways to proceed. One creates the curves as separate entities in the Outliner, but If you want the curves added in hierarchical order underneath the new object as it would normally appear when adding Curves/Empty Curve to an object, follow these steps: (Note that you will have to add any modifiers you have added to the mesh again, as it will inherit whatever modifiers was applied to the old mesh)
- Open the new project where you want to add the curves.
- Ensure the UV map in your new project is set up correctly and named appropriately.
Select the Object/mesh that you want the hair-curves object added to, hold Ctrl, and then the newly added/pasted object containing the the hair-curves. Hit Ctrl + V to join the two meshes/objects together.
- Modify/Clean up the Source Project (Copy File):
Go to edit mode, the copied mesh should already be selected and the target object not. (If not, select the newly added mesh with hair-curves; find a vertice from that mesh select it, hold the mouse over that vertex point and hit L to select all Verticies connected to that vertex point. All of the old mesh should now be selected) Hit delete and select Delete Vertex points.
- Open the "Copy File."
- In the Outliner, find the object with curves and extend the full hierarchy underneath.
- Unlink materials and delete unnecessary connections that has no presence in the new project to avoid clutter.
Go back to object mode. The mesh now took name from the old one that you copied. I Renamed the mesh back to the original name it had in the new project.
Select the object (That now contains the hair-curves) - go to Object data properties and in the UV Maps tab select the name of the UV map belonging to the new mesh. (Hit the little camera-icon to the right of the name saying: Set the UV map as active for rendering.)
- Copy Curves:
- In the Outliner make sure the full hierarchy under the object with curves is expanded so you see all attachments.
- Select everything related to the curves and copy (Ctrl + C).
- Paste Curves into New Project:
- Go to the new project and select the target object in Object Mode.
- Paste (Ctrl + V) the copied object into the same collection.
- Join Meshes (Method 1 - Adds Curves in the standard Hierarchical Order below the object/mesh, but names and modifiers will be inharited from the old one):
- Select the target object/mesh, hold Ctrl, and then select the newly added object.
- Hit Ctrl + J to join them together.
- Delete geometry in Edit Mode:
- In Edit Mode, select the newly added mesh with hair curves and delete its vertices. (It should allready be selected)
- Adjust UV Maps & surface, and Attach Curves:
- Go to Object Data Properties and ensure the UV map for the new mesh is active.
For each hair curve object:
- Set the correct surface and UV map in the Object Data Properties under the Surface tab.
- Ensure the Interpolate Hair Curves modifier is correctly set.
- Parent Curves to Surface:
- Select each curves object, hold Ctrl, then select the mesh and hit Ctrl + P .
- Choose Object (Attach curves to surface) to parent them.
- Add modifiers and rename target object
- Add any modifiers you had attached to you old mesh again.
- Rename the object back to its original name.
- Join Meshes Differently: (Method 2: Maintains Target Mesh Modifiers and Names, but adds the Curves objects as seperate intities in the Outliner - Don't know if this can cause issues later on, or whether it is advantageous for some reason)
- After copying the curves object, select the newly added mesh first and then the target mesh.
- Join them together with Ctrl + J .
For each hair7-curve object you have copied, select it and go to Object Data properties, in the Surface tab select the name of the new object you want to attach the hair curves to. And select the correct UV map of that object as well9.
If you use it Delete geometry, go to the modifier Interpolate hair curves and make sure the surface is set to the correct object. Also type in the name of the Correctadjust UV map.
Now, for each hair curve object you have copied, select the curves-object from the outliner, hold Ctrl, then select the mesh you want them attached to, hit Ctrl + P and choose the parenting option: Object (Attach curves to surface). Now the objects should be attached to theMaps & surface, and you are done.Attach Curves
If you don't care about the curves objects being its own entity in the collection docker (I don't know if there are any downsides to this), but you don't have to rename so much, then:
- Follow the steps 7-9 as described above.
After you copied the curves object in, switch the selection order. Select first the newly added mesh and then the target mesh, before joining them together. Go edit mode to delete the mesh and still make sure the correct uv maps and objects are selected in the Object data properties for mesh, curves and interpolate modifier. Do the parenting, and you are done.
Again I'm not that experienced in Blender but at least this way seems to work.
- Final thoughts:
As I am not a veteran Blender user so I am not sure how to deal with problems that might ensue regarding the interpolated curves not being proporly attached to the surface. It seemed to help me in one instance to check the Follow Surface Normals, and Surface Rest Position in the Interpolate Hair Curves modifier. But I can't be to sure about it. It ended up working for me.