Creates a hair system with hair guides derived from mesh objects. #35062
Labels
No Label
Interest
Animation & Rigging
Interest
Blender Cloud
Interest
Collada
Interest
Core
Interest
Documentation
Interest
Eevee & Viewport
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
Import and Export
Interest
Modeling
Interest
Modifiers
Interest
Nodes & Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds, Tests & Devices
Interest
Python API
Interest
Rendering & Cycles
Interest
Sculpt, Paint & Texture
Interest
Translations
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Meta
Good First Issue
Meta
Papercut
Module
Add-ons (BF-Blender)
Module
Add-ons (Community)
Platform
Linux
Platform
macOS
Platform
Windows
Priority
High
Priority
Low
Priority
Normal
Priority
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No project
No Assignees
19 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: blender/blender-addons#35062
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Project: Blender Extensions
Tracker: Py Scripts Upload
Blender: 2.66
Category: Object
Python: 3.2
Script name: HairNet
Wiki page: https://en.blender.org/index.php/Extensions:2.6/Py/Scripts/Objects/HairNet
Download: https://github.com/Jandals/HairNet
Local Download:HairNet.py.zip
Author(s): Rhett Jackson
Status: Open
%%%HairNet lets users create simple meshes to define the basic shape of a hair system. If a simple mesh plane is used as a starting point, one edge of the plane is marked as a seam. This edge will be the root from which all hairs start and each edge loop that intersects it will become a hair guide. Multiple meshed can be used as long as the number of vertices in each "guide hair" in every mesh is the same.%%%
Changed status to: 'Open'
%%%Version 0.2 does some extra checking so that HairNet can manage multiple hair systems, each derived from a separate mesh object.%%%
%%%Version 0.4 adds a second button aimed at creating hair systems from an object containing only edges (specifically, a ZBrush fiber mesh). Hair guides could be created backwards and HairNet doesn't account for that yet,%%%
%%%Version 0.4.5 adds a button for converting curves (without bevel objects) to hair systems.%%%
Added subscriber: @AniruddhaHardikar
Added subscriber: @khtrammell-1
Hi Rhett,
I'm using Hair Net for an upcoming character creation course over a Blender Cookie. It's a very powerful tool already, fantastic job! I'm running into a wonky issue though:
Whenever I add a second hair system, the particles/points of the first hair-net-generated hair system are all moved slightly, despite touching every one in particle edit mode to "lock" them in place.
Thank you khtrammell. The problem was created by having the script disconnect and then reconnect the hair system while moving all the hair vertices into place. I was able to observe the same effect manually by clicking (twice) the "Disconnect Hair" button which appears when combing hair in Particle Edit Mode. It appears to have been an unnecessary step so the script no longer does it.
Version 0.4.5 required users to manually select a particle system that matched the name of the mesh object being used as a guide. Version 0.4.6 will find and use a matching particle system for you.
@Jandals -
Oh yeah, 0.4.6 works like a charm! Thanks so much for the quick fix. I'm excited to showcase the tool in my new course.
@Jandals
Thanks a ton for fixing the bug! It’s been working great ever since.
I have been very EAGER to explore the workflow that’s now possible thanks to Hairnet. I know a lot of studios employ this method where modelers build a hair style with geometry and hair is simply generated from it. It’s great that Blender can finally do this. As I continue to work extensively with your add-on I’m developing some ideas that could make the "Hairnet workflow" much more efficient. Maybe we could work together to level up the add-on! My Hairnet workflow thus far looks like this:
It only took a couple redo’s to realize that the majority of default hair settings never work, and remembering/re-imputting them in each time was a big hinderance. So I began to maintain a quick script for ‘saving’ the settings I tweaked each time. Now when I generate the hair I can simply click ‘run script’ and the hair updates with my ‘preset’. That worked well enough yesterday.
Today, I’m realizing that in order to really fine tune a hairstyle with Hairnet, I need to use multiple geometry pieces which usually require slightly different settings (clump, roughness, etc). Also, I’m finding that modeling a low-res piece is easiest to manage for tweaking yet when I generate hair from it, subdividing the geometry produces more appropriate numbers of strands. Therefore I’d like suggest a wish list to make Hairnet a little more fully-featured:
What do you think? If you don’t have the time or don’t share the interest, I certainly understand.
@khtrammell-1
I am grateful for the feedback you have from using HairNet in a workflow that demands a higher level of performance than I can test for. I'd enjoy working on the script to make it more useful and your input is will be very meaningful.
Here are my first thoughts on your wish list items:
I would like to see the "quick script" you are using so I can get a better idea of the work it is doing for you. That'll help me figure out how much I can do within HairNet itself.
Tag each proxy object with a preset - It has taken me a while, but think I see where this is going. See #3
Automate hairnet generation - Yes! After this last revision, HairNet is a bit smarter about connecting a proxy object with its hair settings. It should be quite easy to update it further so that all proxy objects can be processed at one time.
In my mind, tagging them might end up being redundant. That will become clear as we correspond a little more. I can see the usefulness of a workflow which lets you assign a "curly bouffant" hairstyle to proxy object #1 and make that association stick so you don't ever have to redefine a hair style's settings. I think that "transplanting" hair settings as I mentioned would achieve that but you would know better than I. If it is necessary to pre-tag objects with a hair style, it ought to be possible. I have done something like it before so HairNet should be able to make a list of proxy-object->hair-style pairs for each object.
Those are my first thoughts. I hope we can keep this going and I'll look forward to hearing more from you either here or via email.
Added subscriber: @Samir-Osman
Added subscriber: @PaulGeraskin
Hi.
Great tool!
I found this script for maya http://www.thundercloud-studio.com/index.php?page=shop%2F1.script%2F0.GMH2 and i was impressed when i found HairNet too.
@Jandals could we improve the HairNet based on Maya's script?
I mean this:
Make Particle system at the same mesh. Without a head object or any other reference object. As in Maya's script you can see how they edit polygons. http://i.imgur.com/EAMiONq.png
This will solve some issues as we can use the same hair on a polygon and we don't need to move hair's orgin.
Also we can put a integer value how many hairs will be generated on the mesh. Sometimes it;s ok to have 3 hairs and sometimes it's ok to have 30 hairs.
Make distribution with some thickness http://i.imgur.com/0KhtAyW.png
You can see on side view a bit thickness.
Make different types of distribution. http://i.imgur.com/0sqPcH1.png
Also, could you put your work at github? I could help you with some programming and could make pull requests.
Also, what's license of your script?
Thanks.
You can also see some examples maya's script here http://3dpapa.ru/gmh2-script-by-thundercloud-studio-creates-maya-hair/ .
But sorry it's in russian.
@PaulGeraskin Thanks for making suggestions and sharing the examples. There are a lot of good ideas there.
I hadn't considered attaching the generated hair to the proxy object and I can see how useful it would be. I have added that as an option so users can put the hair systems on either the proxy objects or on a separate "head" object.
I had always intended that the script would be GPL but I haven't made it official.
When I get the code on GitHub, I'll get in touch with you. Thank you for offering to help out.
@Jandals Thanks for answering. Waiting you on Github.
I'm certanly sure that we can make the same quality tool as Maya's one. You already did good job!
Added subscriber: @item412
Made a couple of quick changes to restore features:
Some selections will cause errors when HairNet is not used as intended. It still needs a way to handle them without failing.
Added subscriber: @bireos
Added subscriber: @Sparazza
Added subscriber: @sage2014
Added subscriber: @fjg3d
Hi there, hope this is a good place for a comment/bug report. Is this addon still being supported? just curious since its useful...
The current version doesn't seem to work with fibermesh from ZB. This worked with past versions (quite a while ago).
I'm selecting the fibermesh object first, then the hair emitter, then clicking 'Add hair from Fibers'. I'm using the latest from https://github.com/Jandals/HairNet.
Thanks for reporting, Frederick. I'm glad to hear HairNet is useful to you. It sounds like I broke a connection to one of the helper functions. I'll try to find time this week to sort that out.
I fixed the error Frederick reported. Converting from fibers should work like it used to do.
Tried the latest and my initial test seems to work! Thanks!
fjg
Found a couiple of issues:
Advanced option not available: Clicking the advanced hair checkbox before the initial combing will make the guide hairs lose the fibermesh styling. However, the initial combing makes the advanced option is unavailable.
Switching to interpolated children mode will make the guide hairs go a bit crazy.
{F304978}
Those are both properties of Blender's hair system. I don't think the addon can do anything about them.
I think that combing overrides the settings available when "advanced" is checked so Blender disables it when you manually edit particle hairs.
Interpolated child hairs follow the guide hairs loosely because they are filling-in the spaces between guides rather than just following their parent hair.
Added subscriber: @DustinRussell
Where is the best place to get the latest version?
The "Local Download" and the external link to github.com should both lead to the most recent version.
Added subscriber: @BrendonMurphy
hi, is this still valid? @Jandals
As far as I know, the plugin still works. I haven't tested it in a while so I'll have to find some time to make sure. The instructions in the wiki page and the addon itself should still be valid.
hi @Jandals If your interested I'm putting some addons from the tracker into contrib, maybe you could double check this is still working ok?
Thanks for your interest, Brendon. I have done a run-through and it appears that Everything still works fine.
Changed status from 'Open' to: 'Resolved'
@Jandals
hi, I've committed this to addons contrib so it can be a part of the 2.79 addons contrib pack, sorry for the late run.
It's possible we may change how contrib works in 2.8 series so I cannot guarantee the addon inclusion past 2.79 & the last of the series.
If you have any updates please post to this task or create a new task.
Thanks for your participation & welcome. We look forward to seeing you again in the 2.8 series.
Brendon.
Added subscriber: @user1
I tried to use this amazingly well working addon to convert makehuman's character eyelashes (alpha textured planes) into real hair, and it did the job as expected, but when i pose the eyelid, the created hair doesn't follow. I pushed the particle system in front of the armature modifier, but that didn't do the trick. Checking "use modifier stack" in the particle settings makes a real mess, breaks the hairnet result. Is this a bug? My only, cumbersome way to circumvent this is described in this video:
MH eyelashes made real
Added subscriber: @t3du
Hi Rhett this addon is so great!!! it allows a funcionality that particle hair really needs to incorporate. It will be such a contribution to be able to use it in 2.8 with eevee hair render. If you don't mind me asking, are you considering to upgrade it to 2.8 in a near future? thanks a lot =)
Hi Eduardo. Thanks for the comment. I would like to make sure that HairNet works in 2.8 but, as you may have guessed from my delayed reply, I haven't got much time to commit to it right now. I wish I had a timeline for keeping it current, but I can't predict what it'll take to update to 2.8.
But updating HairNet is on my mind and I'd like to add a few features to it. But I haven't yet got a plan to make it happen.
Added subscriber: @UraKozachok
Changed status from 'Resolved' to: 'Open'
Hello, dear Rhett Jackson (jandals)!
I really need a working version of the add-on for Blender 2.8.
Is it planned to be updated and when ?
Waiting for an answer, Yuriy.
Added subscriber: @brecht
Changed status from 'Open' to: 'Resolved'
Please leave old tasks closed.
Added subscriber: @Kalessin
I'm a bit new to this, but I sent a pull request with changes I made to make this work with 2.8.
cool bro thank you both for such contribution =)
Please give version 2.8 if you already have one.
Very necessary!
You can find the changes here : https://github.com/NicSJ/HairNet
Please note that I only changed the code to make it work with 2.8, i.e. I just made it stop throwing up errors. I have not fixed any issues that it might of had or added anything.
It sounds like Nicholas and I have done the same job. When I clear out everything that throws up an error, HairNet doesn’t move hair particles into place because of a bug in Blender that has not yet been addressed.
I’ll look at Nicholas’s changes, in case he’s done something different than I have, and I’ll try it with the latest build of Blender, in case the bug we’re waiting on has been resolved.
I installed Nicholas version, it says upgrade to 2.8 required, despite not throwing any errors, hairnet option is not enabled so i can not used it. Time will solve this good day!
Added subscriber: @PierreSchiller
I am testing it on 2.9 today. Will be back with feedback. Thanks for making such amazing addon.
Added subscriber: @fatboyzzfatboyzz