SL-344 - additional sliders, additional avatar_lad validation in skel_tool.py

master
Brad Payne (Vir Linden) 2016-04-11 21:19:22 -04:00
parent 17152cc7ab
commit 67eb559dc7
2 changed files with 246 additions and 7 deletions

View File

@ -3042,6 +3042,40 @@
</param_skeleton>
</param>
<param
id="40185"
group="0"
name="Deep_Chin"
value_min="-1"
value_max="1">
<param_skeleton>
<bone
name = "mFaceJaw"
offset = "0.0 0.00 -0.02"
scale = "0.0 0.0 0.0" />
<bone
name = "mFaceLipLowerLeft"
offset = "0.0 0.00 0.02"
scale = "0.0 0.0 0.0" />
<bone
name = "mFaceLipLowerRight"
offset = "0.0 0.00 0.02"
scale = "0.0 0.0 0.0" />
<bone
name = "mFaceLipLowerCenter"
offset = "0.0 0.00 0.02"
scale = "0.0 0.0 0.0" />
<bone
name = "mFaceTongueBase"
offset = "0.0 0.00 0.02"
scale = "0.0 0.0 0.0" />
</param_skeleton>
</param>
<param
id="30760"
@ -3135,6 +3169,21 @@
</param_skeleton>
</param>
<param
id="40007"
group="0"
name="Weak_Chin"
value_min="-.5"
value_max=".5">
<param_skeleton>
<bone
name = "mFaceChin"
offset = "-0.025 0.00 0.005"
scale = "0.0 0.0 0.0" />
</param_skeleton>
</param>
<param
id="30008"
group="0"
@ -3277,6 +3326,32 @@
</param_skeleton>
</param>
<param
id="41629"
group="0"
name="Forehead Angle"
value_min="0"
value_max="1">
<param_skeleton>
<bone
name="mFaceForeheadLeft"
scale="0 0 0.08"
offset="0.02 0 0" />
<bone
name="mFaceForeheadCenter"
scale="0.01 0 0.08"
offset="0.002 0 0" />
<bone
name="mFaceForeheadRight"
scale="0 0 0.08"
offset="0.02 0 0" />
</param_skeleton>
</param>
<param
id="30647"
group="0"
@ -3354,7 +3429,83 @@
</param_skeleton>
</param>
<param
id="40647"
group="0"
name="Squash_Stretch_Head"
value_min="-0.5"
value_max="1"
value_default="0">
<param_skeleton>
<bone
name="mFaceRoot"
scale="0 -0.07 0.07"
offset="0 0 -0.005" />
<bone
name="mFaceEyeLidLowerRight"
scale="0 0 0"
offset="0 -0.0033 0.0025" />
<bone
name="mFaceEyeLidUpperRight"
scale="0 0 0"
offset="0 -0.0033 0.002" />
<bone
name="mFaceEyecornerInnerRight"
scale="0 0 0"
offset="0 -0.0017 0.0025" />
<bone
name="mFaceEyebrowOuterRight"
scale="0 0 0"
offset="0 -0.0055 0.0014" />
<bone
name="mFaceEyebrowCenterRight"
scale="0 0 0"
offset="0 -0.00377 0.00061" />
<bone
name="mFaceEyebrowInnerRight"
scale="0 0 0"
offset="0 -0.00225 0.001" />
<bone
name="mFaceEyeLidLowerLeft"
scale="0 0 0"
offset="0 0.0033 0.0025" />
<bone
name="mFaceEyeLidUpperLeft"
scale="0 0 0"
offset="0 0.0033 0.002" />
<bone
name="mFaceEyecornerInnerLeft"
scale="0 0 0"
offset="0 0.0017 0.0025" />
<bone
name="mFaceEyebrowOuterLeft"
scale="0 0 0"
offset="0 0.0055 0.0014" />
<bone
name="mFaceEyebrowCenterLeft"
scale="0 0 0"
offset="0 0.00377 0.00061" />
<bone
name="mFaceEyebrowInnerLeft"
scale="0 0 0"
offset="0 0.00225 0.001" />
</param_skeleton>
</param>
<param
id="32629"
@ -3402,6 +3553,52 @@
</param_skeleton>
</param>
<param
id="42629"
group="0"
name="Forehead Angle"
value_min="0"
value_max="1">
<param_skeleton>
<bone
name="mFaceForeheadLeft"
scale="0 0 0.2"
offset="-0.01 0 -0.01" />
<bone
name="mFaceForeheadCenter"
scale="0 0 0"
offset="-0.001 0 0.001" />
<bone
name="mFaceForeheadRight"
scale="0 0 0.2"
offset="-0.01 0 -0.01" />
<bone
name="mFaceEyebrowInnerRight"
scale="0 0 0"
offset="0 0 0.002" />
<bone
name="mFaceEyebrowInnerLeft"
scale="0 0 0"
offset="0 0 0.002" />
<bone
name="mFaceEyebrowCenterRight"
scale="0 0 0"
offset="0 0 0.003" />
<bone
name="mFaceEyebrowCenterLeft"
scale="0 0 0"
offset="0 0 0.003" />
</param_skeleton>
</param>
<param
id="30001"
group="0"
@ -3571,6 +3768,31 @@
</param_skeleton>
</param>
<param
id="40017"
group="0"
name="Square_Jaw"
value_min="-0.5"
value_max="1">
<param_skeleton>
<bone
name="mFaceJaw"
scale="0.0 0.5 0.0"
offset="0.0 0.0 0.0" />
<bone
name="mFaceLipLowerRight"
scale="0.0 0.0 0.0"
offset="0.0 0.0038 0.0" />
<bone
name="mFaceLipLowerLeft"
scale="0.0 0.0 0.0"
offset="0.0 -0.0038 0.0" />
</param_skeleton>
</param>
<param
@ -13654,22 +13876,22 @@ render_pass="bump">
max1="-1.3"
max2="-1.3"
min2="1"
id="30017" />
id="40017" />
<driven
id="30185" />
id="40185" />
<driven
id="31629" />
id="41629" />
<driven
id="32629" />
id="42629" />
<driven
id="30007" />
id="40007" />
<driven
id="30647" />
id="40647" />
</param_driver>
</param>

View File

@ -256,6 +256,22 @@ def validate_lad_tree(ladtree,skeltree):
if not bone_name in bone_names:
print "skel param references invalid bone",bone_name
print etree.tostring(bone)
drivers = {}
for driven_param in ladtree.iter("driven"):
driver = driven_param.getparent().getparent()
driven_id = driven_param.get("id")
driver_id = driver.get("id")
if not driven_id in drivers:
drivers[driven_id] = set()
drivers[driven_id].add(driver_id)
for driven_id in drivers:
dset = drivers[driven_id]
if len(dset) != 1:
print "driven_id",driven_id,"has multiple drivers",dset
else:
if args.verbose:
print "driven_id",driven_id,"has one driver",dset
def remove_joint_by_name(tree, name):
print "remove joint:",name
@ -325,6 +341,7 @@ def compare_skel_trees(atree,btree):
if __name__ == "__main__":
parser = argparse.ArgumentParser(description="process SL animations")
parser.add_argument("--verbose", action="store_true",help="verbose flag")
parser.add_argument("--ogfile", help="specify file containing base bones")
parser.add_argument("--ref_file", help="specify another file containing replacements for missing fields")
parser.add_argument("--lad_file", help="specify avatar_lad file to check")