Bringing hair particles from Blender into Godot 4

Godot Version

Godot v. 4.2.2

Hey all! I am aware that there are other posts about this topic, but I have a niche use-case that either I’m not understanding, or might just be unable to do. Essentially, I have a model of a little cartoon bird:


… which is absolutely covered in blender’s hair particles to make him look nice and fluffy. However, I have literally ZERO idea how to export the hair particles into godot in any way other than converting the particles to a mesh, which has no depth and will thus not appear in godot. The other option’s i’ve seen is something called “hair-carding” which I’ve never heard of, or going from a particle to a mesh to a curve, then back to a mesh (which i tried earlier and resulted in a mesh with 4,000,000 faces, and after trying the most to optimize only came down to 435,000 faces). I’ve been researching for an hour, and found several leads such as the .escn exporter for blender on Github: GitHub - godotengine/godot-blender-exporter: Addon for Blender to directly export to a Godot Scene which broke my armature, didn’t import the particles, and created an unusable mess in godot. I’m sorry for the MLA - college essay here but I’m actually at a loss right now, and need some help fixing this. Thank you SOSOSOSO much if you have a solution!

Maybe in your case you can use this lovely addon. It does easy shell texturing which is a shader technique that does not add more faces and achieves a similar effect with much better performance.

I’m sure Blender has a ton of tricks up it’s sleave to make hair rendering performant that Godot might not share. Another trick is mesh instancing, this will still have 4 million faces as stated before, but helps lighten the CPU load. I would try out the shell texturing addon below.

https://godotengine.org/asset-library/asset/2573

1 Like

Awesome! However, would you mind sending a screenshot of how to setup the node properly? For me, once I added the fur node to my meshInstance it instead just created what appears like a blue cloud around my mesh, not anything resembling hair or fur. Thanks again for the help!

Ok i don’t really know what’s going on with this because all my other meshes are working just fine with this. I’m going to turn off and remove all particle systems on the blender side before exporting, even if they shouldn’t export anyways to gltf, and I’ll update my progress

1 Like

Hi! Last info. dump here since I’ve figured it out. Essentially, this plugin runs into an issue when imports from Blender have their “shade smooth” property turned on. Buuuuuuuttttt… then all the fur-things look exactly the same as the faces of the mesh now, it still looks unrealistic and kind of cursed atleast for me. I have no idea what voodoo magic I’ve cursed my model with, but maaybe this’ll work for someone else in the future

Can you upload the model?

Sure! opilaNormalBackup.blend - Google Drive. Thanks so much for helping, this is why i love godot so much this community is the best

what a beauty! Just needed UV maps for the body and wings, I used “Smart UV Project” since it will make a fairly uniform map. The shader uses the UV map data to distribute hairs, so it doesn’t have to be perfect in any sense.

1 Like

I totally forgot to make a UV map, that’s been the issue the whole time… Thank you so much man, I’m sorry for being an idiot here loll