Adding to Cart…
Licensing Agreement | Terms of Service | Privacy Policy | EULA
© 2025 Daz Productions Inc. All Rights Reserved.You currently have no notifications.
Licensing Agreement | Terms of Service | Privacy Policy | EULA
© 2025 Daz Productions Inc. All Rights Reserved.
Comments
No one else? I confirm what I said above. It seems to work.
Great product in the main. I've found that it (a) does not like ears if the hat sits too close to them (like a baseball cap) and (b) doesn't look good if the hair has a lot of volume (away from the head), producing an unnaturally sharp cutoff where the feathering morph ends.
However I can confirm that it does indeed work with dforce strand based hair (see pic).
Thanks for the confirmation. I'll get and try it out.
Thanks for the independent confirmation @willowfan
BTW, have you tried extending the feathering distance for the high volume hairs?
Ok, I've purchased it.
I was hoping that the manual would explain the differences between and usage scenarios for the 3 Volume types (Cube, Elipsoid and Cylinder), e.g. when to use what Volume type.
Thanks for the support.
There are no real guidelines on the effects volumes. Use the volume that works best for catching all the hair that you want to affect.
I believe an apology is in order. Tried again with the same hat and hair as was giving me problems yesterday and it looks fine. Below is with feathering at 10.
I must have been doing something wrong as I was getting a sharp cutoff with a noticable angle change even at 10.
Congratulations on a great product.
Not sure why it would have changed so much, but I am really happy you like the product.
Can't get it to work at all, No morph is ever created
2025-05-10 14:46:14.867 [DEBUG] :: Importing /Volumes/Private/My Daz3D Library2/data/RiverSoft Art/Data/G9HatCheckHigh.obj
2025-05-10 14:46:14.867 [WARNING] :: /src/sdksource/fileinput/dzimporter.cpp(227): Undo stack left open for file import - it will be closed to avoid errors
2025-05-10 14:46:14.867 [INFO] :: Importing File...
2025-05-10 14:46:15.192 [INFO] :: Importing: G9HatCheckHigh.obj...
2025-05-10 14:46:15.948 [INFO] :: Imported Wavefront Object: G9HatCheckHigh.obj
2025-05-10 14:46:15.965 [INFO] :: Imported file in: 0.1 sec (1097.54 ms)
2025-05-10 14:46:15.965 [INFO] :: Imported file: /Volumes/Private/My Daz3D Library2/data/RiverSoft Art/Data/G9HatCheckHigh.obj
2025-05-10 14:46:15.965 [DEBUG] :: Mask G9HatCheckHigh
2025-05-10 14:46:15.966 [DEBUG] :: Create Hair Morph RS Hat_2289 LayeredWinterStyleHair_195795 pCube(10q0000)20 2 0 true true false [object Object] 0
2025-05-10 14:46:16.229 [DEBUG] :: Num of Vertices 195795
2025-05-10 14:46:16.229 [DEBUG] :: Num of Facets 93692
2025-05-10 14:46:16.235 [WARNING] :: Script Error: Line 140
2025-05-10 14:46:16.235 [WARNING] :: TypeError: Result of expression 'oNode.inherits' [undefined] is not a function.
2025-05-10 14:46:16.235 [WARNING] :: Stack Trace:
<anonymous>()@/Volumes/Private/My Daz3D Library2/data/RiverSoft Art/Common/RSHatCheckFunctions.dse:140
2025-05-10 14:46:16.240 [WARNING] :: /src/sdksource/general/dzundostack.cpp(590): Call to DzUndoStack::cancel() with no matching beginHold()
Which OS and DS version?
Daz 4.24, OS: MacOS 15.4.1.
Can I see the entire log for the script? I should be seeing what common functions it is pulling in. The snippet you posted indicates that it is getting a wrong node and then cannot find the function it needs. At a guess, did you install via Daz Connect?
Installed Via DIM, Could it be that you require to click on the Hair then the Hat by using the CTRL Key, if so then his operation can't be done on a Mac as Pressing CTRL & Clicking works as a Right Mouse Button (there is no way of disabling this action)
2025-05-10 20:44:15.669 [WARNING] :: QString::arg: Argument missing: <p>To use Hat Check for Genesis 9:<ul><li>Select the Hair</li><li>Hold the CTRL button and Select the Hat</li><li>Start Hat Check for Genesis 9</li><li>Select Effect Volume type</li><li>Use the Movement, Rotation, and Scale controls to position the Effect Volume. You want to cover all the vertices inside the "hat".</li><li>Optionally specify the Feather Distance (in centimeters)</li><li>If you are running Hat Check for Genesis 9 on the same hair and hair twice or more, optionally specify whether the morph will be replaced, added to, or a whole new morph created </li></ul></p><p><i>Note that the more hair vertices inside the effect volume and feathering distance, the longer it takes to create the morph. Also, Hat Check for Genesis 9 looks for hair vertices inside the Effect Volume, and morphs them if found, based on the current style of the hair. Depending on the effect you want, you may want to turn on or off other hair morphs before running the script.</i></p><i>The script requires the hair to be on the default figure at the default position and pose. It will temporarily turn off all character morphs and pose, but this slows down execution of the script.</i>, Carme Hair G9
2025-05-10 20:44:15.669 [WARNING] :: QString::arg: Argument missing: <p>To use Hat Check for Genesis 9:<ul><li>Select the Hair</li><li>Hold the CTRL button and Select the Hat</li><li>Start Hat Check for Genesis 9</li><li>Select Effect Volume type</li><li>Use the Movement, Rotation, and Scale controls to position the Effect Volume. You want to cover all the vertices inside the "hat".</li><li>Optionally specify the Feather Distance (in centimeters)</li><li>If you are running Hat Check for Genesis 9 on the same hair and hair twice or more, optionally specify whether the morph will be replaced, added to, or a whole new morph created </li></ul></p><p><i>Note that the more hair vertices inside the effect volume and feathering distance, the longer it takes to create the morph. Also, Hat Check for Genesis 9 looks for hair vertices inside the Effect Volume, and morphs them if found, based on the current style of the hair. Depending on the effect you want, you may want to turn on or off other hair morphs before running the script.</i></p><i>The script requires the hair to be on the default figure at the default position and pose. It will temporarily turn off all character morphs and pose, but this slows down execution of the script.</i>, Wild West Cowgirl Hat
2025-05-10 20:44:15.840 [DEBUG] :: l_metatarsal
2025-05-10 20:44:15.842 [DEBUG] :: X Rot 0 0.000046774741349508986
2025-05-10 20:44:15.845 [DEBUG] :: Y Rot 0 0.00001600385076017119
2025-05-10 20:44:15.847 [DEBUG] :: Z Rot 0 0.000014583160009351559
2025-05-10 20:44:35.652 [DEBUG] :: Creating camera null
2025-05-10 20:44:35.895 [DEBUG] :: Creating Influence
2025-05-10 20:44:35.895 [DEBUG] :: Location: 0 167.55349731445312 0
2025-05-10 20:44:35.895 [DEBUG] :: Rotation: 0 0 0
2025-05-10 20:44:35.895 [DEBUG] :: Scale: 1 1 1
2025-05-10 20:45:40.991 [DEBUG] :: FOUND: /Volumes/Private/My Daz3D Library2/data/RiverSoft Art/Data/G9HatCheckHigh.obj
2025-05-10 20:45:41.107 [DEBUG] :: <Settings>
<Setting Type="String" Key="Preset">Custom (1 unit = 1cm)</Setting>
<Setting Type="String" Key="LatAxis">X</Setting>
<Setting Type="String" Key="VertAxis">Y</Setting>
<Setting Type="String" Key="DepthAxis">Z</Setting>
<Setting Type="Bool" Key="InvertLat">no</Setting>
<Setting Type="Bool" Key="InvertVert">no</Setting>
<Setting Type="Bool" Key="InvertDepth">no</Setting>
<Setting Type="Float" Key="Scale">1</Setting>
<Setting Type="Bool" Key="IncludeVT">yes</Setting>
<Setting Type="Bool" Key="IncludeF">yes</Setting>
<Setting Type="Bool" Key="IncludeL">yes</Setting>
<Setting Type="Bool" Key="IncludeG">yes</Setting>
<Setting Type="Bool" Key="IncludeUsemtl">no</Setting>
<Setting Type="Bool" Key="IncludeMtllib">no</Setting>
<Setting Type="Bool" Key="AutoAdapt">no</Setting>
<Setting Type="Int" Key="RunSilent">1</Setting>
<Setting Type="Bool" Key="SwapYZ">no</Setting>
<Setting Type="Bool" Key="InvertLatAxis">no</Setting>
<Setting Type="Bool" Key="InvertVertAxis">no</Setting>
<Setting Type="Bool" Key="InvertDepthAxis">no</Setting>
</Settings>
2025-05-10 20:45:41.118 [DEBUG] :: Importing /Volumes/Private/My Daz3D Library2/data/RiverSoft Art/Data/G9HatCheckHigh.obj
2025-05-10 20:45:41.118 [WARNING] :: /src/sdksource/fileinput/dzimporter.cpp(227): Undo stack left open for file import - it will be closed to avoid errors
2025-05-10 20:45:41.118 [INFO] :: Importing File...
2025-05-10 20:45:41.448 [INFO] :: Importing: G9HatCheckHigh.obj...
2025-05-10 20:45:42.218 [INFO] :: Imported Wavefront Object: G9HatCheckHigh.obj
2025-05-10 20:45:42.416 [INFO] :: Imported file in: 0.1 sec (1283.1 ms)
2025-05-10 20:45:42.417 [INFO] :: Imported file: /Volumes/Private/My Daz3D Library2/data/RiverSoft Art/Data/G9HatCheckHigh.obj
2025-05-10 20:45:42.417 [DEBUG] :: Mask G9HatCheckHigh
2025-05-10 20:45:42.418 [DEBUG] :: Create Hair Morph RS Hat_2289 CarmeHairG9_176823 pCube(10q0000)20 2 0 true true false [object Object] 0
2025-05-10 20:45:42.620 [DEBUG] :: Num of Vertices 176823
2025-05-10 20:45:42.620 [DEBUG] :: Num of Facets 87103
2025-05-10 20:45:42.648 [WARNING] :: Script Error: Line 140
2025-05-10 20:45:42.648 [WARNING] :: TypeError: Result of expression 'oNode.inherits' [undefined] is not a function.
2025-05-10 20:45:42.649 [WARNING] :: Stack Trace:
<anonymous>()@/Volumes/Private/My Daz3D Library2/data/RiverSoft Art/Common/RSHatCheckFunctions.dse:140
2025-05-10 20:45:42.664 [WARNING] :: /src/sdksource/general/dzundostack.cpp(590): Call to DzUndoStack::cancel() with no matching beginHold()
By saying CTRL, I meant you have to select both items before starting the script. I guess it would be holding the option key on Mac? I am still not seeing the entire script execution. It should look something like this:
2025-05-11 06:41:03.843 [INFO] :: Loading script: D:/Documents/DAZ 3D/Studio/My Library/Scripts/Hat Check/Hat Check for Genesis 9.dse
2025-05-11 06:41:03.847 [DEBUG] :: FOUND: D:/Documents/DAZ 3D/Studio/My Library/data/RiverSoft Art/Common/RSConstants.dsa
2025-05-11 06:41:03.848 [DEBUG] :: FOUND: D:/Documents/DAZ 3D/Studio/My Library/data/RiverSoft Art/Common/RSBuildPanels.dsa
2025-05-11 06:41:03.849 [DEBUG] :: FOUND: D:/Documents/DAZ 3D/Studio/My Library/data/RiverSoft Art/Common/RSHatCheckConstants.dsa
2025-05-11 06:41:03.850 [DEBUG] :: FOUND: D:/Documents/DAZ 3D/Studio/My Library/data/RiverSoft Art/Common/RSHelperFunctions.dsa
2025-05-11 06:41:03.851 [DEBUG] :: FOUND: D:/Documents/DAZ 3D/Studio/My Library/data/RiverSoft Art/Common/RSAdvHelperFunctions.dsa
2025-05-11 06:41:03.852 [DEBUG] :: FOUND: D:/Documents/DAZ 3D/Studio/My Library/data/RiverSoft Art/Common/RS2019HelperFunctions.dsa
2025-05-11 06:41:03.854 [DEBUG] :: FOUND: D:/Documents/DAZ 3D/Studio/My Library/data/RiverSoft Art/Common/RS2020HelperFunctions.dsa
2025-05-11 06:41:03.857 [DEBUG] :: FOUND: D:/Documents/DAZ 3D/Studio/My Library/data/RiverSoft Art/Common/RS2021HelperFunctionsConstants.dsa
2025-05-11 06:41:03.858 [DEBUG] :: FOUND: D:/Documents/DAZ 3D/Studio/My Library/data/RiverSoft Art/Common/RS2021HelperFunctions.dsa
2025-05-11 06:41:03.861 [DEBUG] :: FOUND: D:/Documents/DAZ 3D/Studio/My Library/data/RiverSoft Art/Common/RS2022HelperFunctions.dsa
2025-05-11 06:41:03.863 [DEBUG] :: FOUND: D:/Documents/DAZ 3D/Studio/My Library/data/RiverSoft Art/Common/RS2022GeometryFunctions.dsa
2025-05-11 06:41:03.864 [DEBUG] :: FOUND: D:/Documents/DAZ 3D/Studio/My Library/data/RiverSoft Art/Common/RS2023HelperFunctions.dsa
2025-05-11 06:41:03.867 [DEBUG] :: FOUND: D:/Documents/DAZ 3D/Studio/My Library/data/RiverSoft Art/Common/RSOctree.dsa
2025-05-11 06:41:03.868 [DEBUG] :: FOUND: D:/Documents/DAZ 3D/Studio/My Library/data/RiverSoft Art/Common/RSHatCheckFunctions.dsa
2025-05-11 06:41:03.870 [DEBUG] :: Hair G9 Genghis Hair
2025-05-11 06:41:03.870 [DEBUG] :: Hat AH CCO Hat
2025-05-11 06:41:03.870 [DEBUG] :: Get Figure G9 Genghis Hair_477409 Genesis9
2025-05-11 06:41:03.870 [DEBUG] :: Genesis9
2025-05-11 06:41:03.871 [DEBUG] :: Figure Genesis 9
Use the CMD key instead, it'll work (it's working on my Mac).
Looks like I've figured out why it wasn't working, It seems that if it's not installed into the same Library as your G9 Base Figure (I had it installed into a 2nd library) then it can't locate the required files because it looking locally & not globally.
Oh great! I am glad you figured it out. Thanks for sharing the solution too - hopefully that will help someone someday.
I don't know if I did something wrond while using it with Daz Studio 4.24 on Windows, and I'm not completely sure what cause the problem, but when I tried to use Hat Check with a cylinder (to create morphs for a headset) I encountered a strange behaviour.
If I'm using the slider to change the various scale, then type a numerical number, the scale of the visible cylinder can be reduced a lot and more importantly will be off compared to the one that will be used by the script.
At one point, I ended with the whole hairs being taken into account by the script: while what I saw was a cylinder with a diameter close to the headset ear covers, the script thought it was big enough to cover the whole head.
If feels like typing a numerical value will apply the percentage typed on the current size of the cylinder instead of applying it to the base size.
1. I used the slider to set the X and Z scale at 57.9%:
2. Then, later, I typed 60 and ended with a cylinder smaller that it was at 57.9% (sorry, I didn't think to place the camera in the same position as on the previous screenshot, but the cylinder is smaller):
The first time it happened (the one which ended with the script working on the whole hairs), reseting the value didn't reset the cylinder to it's original scale. I don't remember trying to type a numerical value over 100% to see if it would actually made the visible cylinder bigger though.
The good new is that I read the manual and will track all the morphs loaded on Genesis 9 Dev that are triggering the script to say the figure is not in a zero state
A more practical question: to create a morph for the ear covers of a headest, do you think it's best to do it one ear at a time or both at the same time, with a cylinder going from ear to the other?
I am not sure what is happening. However, I do know that typing a value will often NOT give an immediate change to the script. Typing for some reason will not trigger the same events in the script. The script often has to wait until you change another slider to see the true value of the slider where you typed.
Not sure. Can the headset ear covers be independently changed?