Tongue, eyes, teeth (lower and upper) are different objects than the body. Problem is those are parented in a different way.
For tongue I think it must be moved as a whole maybe altering its default SSkinPolygonGeometry.
I know that this is a problem with many custom heads, were the mouth location is different, so the original game tongue that every is using is no longer inside that mouth.
Tongue is the only one that has values like:
SSkinPolygonGeometry.GeometryMatrix Matrix4f( ( 1, 0, 0, 0 ), ( 0, 0.9959644079, 0.0897493884, 0 ), ( 0, -0.0897493884, 0.9959644079, 0 ), ( 0, 1.607498527, 0.02820063941, 1 ));
while for the body or other stuff you get much cleaner geometry matrix (an actual identity matrix) like:
MeshData.GeometryMatrix Matrix4f( ( 1, 0, 0, 0 ), ( 0, 1, 0, 0 ), ( 0, 0, 1, 0 ), ( 0, 0, 0, 1 ));
For the tongue I've marked with RED Color the part in the Matrix that corresponds to the translation vector. So you might be tempted to fix this (by trial and error) until your tongue is properly positioned inside the mouth.
But wait, there is another problem.
Some genius, long time ago, in his incredible wisdom decided that teeth and mouth and who knows what else should not be included in the body file, instead the teeth and the tongue should be kept in their own files. So fixing the tongue in the body is a dead track.
AcTongue01.bs file tells us that how actual tongue is loaded and rigged:
AppModel . {
.ComponentArray [ AppImportScene . {
.NodeName "Person" + :person + "Tongue01";
.ParentPath "/Primary01";
.SceneFile "Shared/Body/body01_tongue01";
};
AppReplaceSkeleton . {
.SourcePath "/Person" + :person + "Tongue01/TRS_group";
.TargetPath "/Person" + :person + "Anim/Model01:TRS_group";
.SourceRootPath "/Person" + :person + "Tongue01";
.TargetRootPath "/Person" + :person + "Anim";
};
];
};
so our file is "Shared/Body/body01_tongue01".
But alas, there is no such file in VX-Mod (or Addons usually unless you download a tongue addon). The only file is the original file, which can be found in Archives (Archives\2.158.001\Scenes.zip -> Scenes\Shared\Body\body01_tongue01.[bs*]).
So you can take that file, make it a bs file then you can make your own addon, or put it directly in the VX-Mod if you are a fan of a messy life style.
You can now edit the GeometryMatrix and fix your tongue location, but beware that this will work nicely if you don't drift away too much from original tongue location. Reason is simple. The tongue armature is still there, if you don't fix this armature as well you will get your tongue acting crazy.
There might be other solutions, I do have some in my mind, but need to test those first. (example the entire tongue armature and the tongue mesh object (obviously) is parented to tongue_group TTransform, so if you wire this as a customizer slider might work for you)