Genesis 9 Eye Rotation Bug (Rigify)?
Blender 4.0.2 Diffeomorphic v1.7.3.1943
I think I found a possible bug with G9 eye rotation when using Rigify.
After generating Rigify rig, selecting the gaze controller and moving especially around the x-axis, there seems to be a deadzone/delay towards the center of the face on each side. Also, when the eyes do rotate, they slightly pop out of the eyesockets
and eyelids (doesn’t have to be an extreme value on the x axis), almost as if the origin point of rotation isn’t center of eyes:
Steps to recreate:
1: Import G9
2: Generate metarig/final Rigify rig
3: Go to pose mode and select ‘gaze’ controller for eyes and move it around, especially on the x-axis.
Can someone confirm? This might be another ‘only me’ problem (hope not).
Comments (15)
-
repo owner -
repo owner - changed status to open
-
reporter I setup and compared both a G8 and G9 character and found that (at least for me) that G9 is missing a limit rotation and limit loacation
constraint that G8 has--although after adding them myself to G9, does not fix the issue. I checked everything else between the 2 and nothing else is setup different though. I also checked in DAZ to make sure no eye morphs were possibly interfering during import, but there are none.
-
reporter I also checked the copy rotation constraint for the eye.L(drv) bone and between both figures the euler order is set to default (G8 eyes work fine though).
-
reporter I just noticed (with G9) that the eye driver bones are spelled differently. With G8 it is lEye(drv) but with G9 it is l_eye(drv). I don’t know if this makes any difference though, but it is the only significant difference I can see right now (beside the limit rotation and limit location constraints also not being setup with G9).
-
I tried with limits on and off in the global settings but I can’t reproduce the issue either. The G9 gaze works fine here. Personally I always keep limits off because they don’t work fine with ik.
p.s. May be if you use a specific G9 character then limits may be different and cause the issue you describe, but in this case the same limits should apply in daz studio. Or may be you installed a G9 character which messed up the base figure, unfortunately this is not uncommon, in this case you can reinstall or try with a fresh content folder, and again the same issue would be in daz studio.
-
reporter Alessandro, that very well might be it--even though this is the base figure and I deleted all the files from the character giving me the geoshell
issues, maybe it somehow corrupted the base figure. Well I’ll just reinstall the G9 essentials, etc and see if that works. Since no one else can
reproduce the issue, we can close this as invalid. Thank you.
-
reporter UPDATE: I just wanted to say that after completely clearing out my G9 folder from any unwanted morphs starting upon G9 loading, I also
completely uninstalled G9 from my DAZ folder then reinstalled (using DIM). I also zeroed my figure morphs to make sure. The problem still persists
on the Diffeo end, however, I did find something interesting. After importing G9, there is a vertex group called ‘rigidity’ created on the G9 eye mesh (both eyes are 1 object). I discovered I can do 1 of 2 things--either seperate both eyes AND keeping this vertex group for each while deleting eye.L and eye.R groups, OR I can keep the eye mesh 1 object and delete the Rigidity vertex group. After that, I have to select each eye bone then go to the ‘copy rotation' constraint and keep the axis rotations the same, but also select Y and Z axis in the inverted selection as well. After this, everything works as intended:
It’s weird that it’s happening, but I guess I’m going to have to do this whenever I use G9 with Diffeo (at least I figured out a solution). Anyway,
just wanted to give an update on this, who knows maybe someone else will run into this problem and maybe this could be a solution for them as
well--Like I said you can close as invalid whenever (or leave it up for others). Thank you.
-
repo owner This sounds like the eye bones and the eye(drv) bones (in the Help collection) don’t have the same orientation. When I try with a standard G9F, all eye bones are oriented with Z up and X pointing to the right. Then the copy constraints work fine without inverting any axes.
Anyway, I tweaked the mhx generation a bit. All copy rotation constraints now have an explicit Euler order, and the eye custom shape is translated to the end of the bone. I doubt that this will change anything, but it makes it easier to see that the eye bone really rotates.
-
I tried daz orientation in global settings to see if that could trigger the issue but no luck. Everything works fine here I can’t reproduce the issue unless there’s specific steps or settings to use.
-
reporter I want to pop in here one last time to say that I finally figured out what is going on here--the issue for me is with the shapekeys on the eye mesh.
When I import G9 and setup with Rigify, it keeps ‘Relative’ selected for the eye mesh in Object Data Properties (which is normal because it does it
with G8 and I have no issue whatsoever with G8 eyes). Anyway, instead of messing with the bone constraints, the actual solution I found to
completely fix this problem is to just select the G9 eye mesh and unselect ‘Relative’ in Object Data Properties, keeping interpolation to Linear--don’t
know why, but it works. I am curious if Diffeo normally imports the G9 eye mesh with relative selected though (I imagine it does, but something in
that area is borked for me for some reason only with G9).
-
Again, you may want to give the exact steps to reproduce the issue. I tried with Victoria 9 too and everything works fine here. As for shapekeys they’re always relative to the basic shape as is common in blender.
my steps:
- in daz studio load Vicotria 9 and export HD
- in blender easy import with G9 presets
- rigify with default settings
- check the gaze control
-
reporter Alessandro, the steps to recreate were already included in the opening post:
Steps to recreate:
1: Import G9
2: Generate metarig/final Rigify rig
3: Go to pose mode and select ‘gaze’ controller for eyes and move it around, especially on the x-axis.
It’s just importing and setting up Rigify that does it to me, my Global settings are:
I’ve tried all different options for both morphs and rigging, and the issue never changes, but deselecting ‘Relative’ for the eye mesh fixes it
-
blender 4.0.2, diffeomorphic 1.7.3.1962
Nope, I followed your exact steps with your exact global settings and works fine here.
-
- changed status to closed
we can't reproduce the issue
- Log in to comment
Weird. No I can’t confirm. But Blender has a problem with bones that are aligned with the global Y axis. If the bone is tilted slightly up or down in edit mode, the roll angle jumps 180 degrees.
The gaze bones work like this. There is a bone called eye.L(drv) on the Help layer, which has a damped track constraint pointing to the left gaze bone. Then the eye.L bone has a copy rotation constraint, which allows it to be moved independently. Perhaps the euler order of the constraint should be specified.