diff options
| author | yum <yum.food.vr@gmail.com> | 2022-10-24 22:08:06 -0700 |
|---|---|---|
| committer | yum <yum.food.vr@gmail.com> | 2022-10-24 22:08:06 -0700 |
| commit | 08655f96dc798e3e129058a5e97c5aa7ff96e798 (patch) | |
| tree | b2543852ec52fec22319f562a737e48e95681b37 /libtastt.py | |
| parent | 4b0d262f4630538cc04f6e8bda407fe3f3ba213b (diff) | |
STT now beeps when it shows text, and can be locked to world
Empty cells are excluded from the beeping behavior. Note: I have not
checked in the prefab with the audio source yet.
* libtastt gen_fx now adds 3 toggles to FX layer: toggle board, toggle world
lock, toggle beep sound
* libunity guid_map can now append instead of replacing
* TaSTT_Toggle_{On,Off}.anim now use the prefab path, as do generated
animations
Diffstat (limited to 'libtastt.py')
| -rw-r--r-- | libtastt.py | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/libtastt.py b/libtastt.py index 9492e35..12c95f0 100644 --- a/libtastt.py +++ b/libtastt.py @@ -170,6 +170,7 @@ def generateAnimations(anim_dir, guid_map): keyframe.mapping['value'] = str(letter + 0.1) # Populate path to letter parameter curve.mapping['attribute'] = "material.{}".format(generate_utils.getShaderParamByRowCol(row, col)) + curve.mapping['path'] = "World Constraint/Container/TaSTT" # Add curve to animation clip.mapping['m_FloatCurves'].sequence.append(curve) clip.mapping['m_EditorCurves'].sequence.append(curve) @@ -332,6 +333,42 @@ def generateFXLayer(which_layer: int, anim: libunity.UnityAnimator, layer: dummy_param = generate_utils.getDummyParam() anim.addTransitionBooleanCondition(state, home_state_transition, dummy_param, False) + pass + +# Generic toggle adding utility. +# Generates the layer and parameter. +def generateToggle(layer_name: str, + gen_anim_dir: str, + off_anim_basename: str, + on_anim_basename: str, + anim: libunity.UnityAnimator): + layer = anim.addLayer(layer_name) + + # For simplicity, use the layer name as the parameter name. + parameter_name = layer_name + anim.addParameter(parameter_name, bool) + + off_state = anim.addAnimatorState(layer, layer_name + "_Off", + is_default_state = True) + on_state = anim.addAnimatorState(layer, layer_name + "_On", dy=100) + + off_anim_path = gen_anim_dir + off_anim_basename + off_anim_meta = libunity.Metadata() + off_anim_meta.load(off_anim_path) + on_anim_path = gen_anim_dir + on_anim_basename + on_anim_meta = libunity.Metadata() + on_anim_meta.load(on_anim_path) + + anim.setAnimatorStateAnimation(off_state, off_anim_meta.guid) + anim.setAnimatorStateAnimation(on_state, on_anim_meta.guid) + + off_to_on_trans = anim.addTransition(on_state) + anim.addTransitionBooleanCondition(off_state, + off_to_on_trans, parameter_name, True) + + on_to_off_trans = anim.addTransition(off_state) + anim.addTransitionBooleanCondition(on_state, + on_to_off_trans, parameter_name, False) pass @@ -345,6 +382,22 @@ def generateFX(guid_map, gen_anim_dir): print("Generating layer {}/{}".format(which_layer, len(layers.items())), file=sys.stderr) generateFXLayer(which_layer, anim, layer, gen_anim_dir) + generateToggle(generate_utils.getSpeechNoiseToggleParam(), + "Animations/", + "TaSTT_Speech_Noise_Off.anim", + "TaSTT_Speech_Noise_On.anim", + anim) + generateToggle(generate_utils.getToggleParam(), + "Animations/", + "TaSTT_Toggle_Off.anim", + "TaSTT_Toggle_On.anim", + anim) + generateToggle(generate_utils.getLockWorldParam(), + "Animations/", + "TaSTT_Lock_World_Disable.anim", + "TaSTT_Lock_World_Enable.anim", + anim) + return anim def parseArgs(): |
