Hair Tool

In next update I will make it so that hair UV will be linked to material, not to Object. This way each material instance will have same UV (I should made UV this way from begining, since UV in curve ribbons, are just material trick). I will look into making convert work on multi objs.

3 Likes

That sounds fantastic. I should say that despite my complaining, this is the best hair workflow I’ve had.

The only thing I could imagine being better would be to be able to stretch and auto-subdivide a mesh along a curve but I think that would be a bit intense and only a marginal improvement probably.

Also, being able to have UV/Materials per each nurb patch on the source object would be nice since I have multiple patches per curve. Right now I’m just using multiple hair curves each with its own bevel object to give me the proper hair layering. It’s not so bad since Blender, by some miracle, allows you to edit multiple objects at once.

is the feature" toggle draw curve ribbon On, hold D + left mouse to draw ribbon" only available in 2.80?
it is impossible to have the feature in blender 2.79? due to api change. or perhaps HT for 2.79 will have it at later version?

There is option in blender 2.79 to convert grease pencil to curves, or particle hair.

Yep I know cursor is invisible, so it is hard to follow what I was doing (I will be making new vids for 2.8)
The workflow was bit convoluted so I simplified it a lot in 2.8 (it is no longer using GPencil), and the curves (or particle) hairs are generated as soon as you release LMB (while in 2.79 you had to press button to convert GP to curves). See demo in 2.8:
https://twitter.com/JoseConseco3/status/1147799031579586560/video/1

no worries, I just saw that Hold and Draw feature and I was stunt how easy it is to make ribbons in 2.80.
although I am still using the 2.79 version ( due to some addons not available in 2.80 ), HT is already the best tool I come across making hair cards.

Hello Bartosz,

my Hair Tool Addon doesn’t seems to work anymore (2.8 - 2.81). The latest Version i updated was 2.04. Also the update button in the pref/addons menu is gone. Please help

updated Version is 2.1.8

1 Like

Still alive? please help!

Your addon is out of date. Like tallken said, the latest version is 2.1.8, download from Gumroad if you’re not getting the latest version from the updater.

1 Like

SidV - hope update fixed your problem.
35% off for all products:
https://gumroad.com/l/hairtool/black_friday…
https://gumroad.com/l/grouppro/black_friday…
https://gumroad.com/l/garmenttool/black_friday…
https://gumroad.com/l/weight_paint_tools/black_friday…
until Monday - December 2.

1 Like

Aight. Finally got time to sit down and give this addon a go for an hour or so.

This is just the base layer for her hair, but I’m pretty happy :slight_smile:


I glad you like the addon. Hair look like good start - I would seggest painting the skin darker under the hair, to fake the shadows, and make hair blend better with the head. Also usually front of hair often requires some manual work, so I woudl place some hair cards manually in there, to make the hair look more dense.

Ahhhh, Hair Tool - together with Pie Menu Editor really the most essential addon for me.

I’m currently moving all my work to 2.8 and have stumbled into two issues that aren’t caused by Hair Tool but do impact its operation:

  1. Display of control vertices of NURBS curves gets buggy when you have lots of curves in a single object and you start to hide selections of CVs - the viewport gets cluttered with ‘ghosts’ including ones marked as selected. Very confusing to look at but at least they do vanish as soon as you exit edit mode.

  2. Curve extrusions/ribbons show assigned materials fine in Material Preview mode but in Solid+Textures mode they stay blank (different to how meshes are being displayed). That forces me to work in Material Preview which is way slower to work in.

Have you bumped into these issues and how best to lobby to get them fixed/changed?

This is my WIP testmodel for hair business in 2.8. I’d go crazy trying to work on this using just polygon modeling. With the addon its a breeze so far :slight_smile: -

15 Likes
  1. I can confirm that. Can you send bug (help-> send bug) to blender devs?
    Since I cant change curve drawing in edit mode in python, I plan to add separate tool for moving curve hair in object mode - it will have better control points drawing compared with proper depth culling. Will see how it works.
  2. I think problem is that curves do not have uv’s so they are not displayed correctly in solid view. I do not think there is way around it.
    Great hair.

1: Will do! Just confirming now that it hasn’t been solved somehow in the most recent builds.

2: But if Material Preview displays them fine, why would Solid be the exception? Also if you export those ribbons as geometry out of Blender, they do contain UVs.

Hi!

I am trying to automate some steps:

For each of the selected poly grid surface:
	do Curves from grid surface
	Add profile

can someone help me with the script?

my current attempt:

import bpy

selected = bpy.context.selected_objects

for obj in selected:
	bpy.context.view_layer.objects.active = obj #sets the obj accessible to bpy.ops
	bpy.ops.object.curves_from_grid(gen_method='edge', hairType='NURBS', Radius=1, out_spl_count=1, uniform_strands=True, points_count=20, uniform_points=True, offset_tip=0, offset_root=0, randomize_spacing=0, shortenStrandLen=0, Seed=1, noise_amp=0, freq=0.5, contrast=0.5, offset=-0.3, noiseMixFactor=0.1, noiseMixVsAdditive=False, mix_noise_seed=1, strand_freq=0.5, offsetAbove=0, snapAmount=0, constrain=0, generateRibbons=False, strandResU=3, strandResV=2, strandWidth=0.5, strandPeak=0.4, strandUplift=0, alignToSurface=False, clumps_effect=0, clump_Seed=1, clump_influence=1, clump_falloff=0)

but I got an error after running the script above:


Traceback (most recent call last):
  File "C:\Projects\Freelance\Foxie Ventures\Blender\Hairs\Hair 19 (Short)-001.blend\Text.002", line 7, in <module>
  File "C:\Programs\Blender\2.81\2.81\scripts\modules\bpy\ops.py", line 201, in __call__
    ret = op_call(self.idname_py(), None, kw)
RuntimeError: Error: Traceback (most recent call last):
  File "C:\Users\miica\AppData\Roaming\Blender Foundation\Blender\2.81\scripts\addons\hair_tool\curves_from_grid.py", line 475, in execute
    src_surf = bpy.data.objects[self.source_grid_mesh]
TypeError: bpy_prop_collection[key]: invalid key, must be a string or an int, not NoneType

location: C:\Programs\Blender\2.81\2.81\scripts\modules\bpy\ops.py:201

If I’m guessing correctly, then what you want to do is - joint the guide meshes - then run curves from grid surface (just make sure all guide grid meshes have sharp edge)
Is that is what you were looking for miica?

That’s right! Thanks! I wonder why I separate out the guide mesh, I been doing it wrong for months and wasting time to separate them and convert the separated mesh one by one, could have did it in one fell swoop >.<

On the scripting part, I have no need for it anymore but why is that it doesn’t work?

I still dont know how to force the HairAnisoLight to update. Changing the position doesn’t seem to respond. Also, it is possible to have more than one light that affects the hair?

I really need some help here.