summaryrefslogtreecommitdiffstats
path: root/Scripts
diff options
context:
space:
mode:
Diffstat (limited to 'Scripts')
-rw-r--r--Scripts/libtastt.py24
-rw-r--r--Scripts/libunity.py3
2 files changed, 21 insertions, 6 deletions
diff --git a/Scripts/libtastt.py b/Scripts/libtastt.py
index f205373..1cec20c 100644
--- a/Scripts/libtastt.py
+++ b/Scripts/libtastt.py
@@ -619,17 +619,19 @@ def generateFXLayer(which_layer: int, anim: libunity.UnityAnimator, layer:
# Returns a map containing the off and on states, as well as the
# transitions between them.
def generateToggle(layer_name: str,
+ parameter_name: str,
gen_anim_dir: str,
off_anim_basename: str,
on_anim_basename: str,
anim: libunity.UnityAnimator,
- guid_map: typing.Dict[str, str]) -> typing.Dict[str,
+ guid_map: typing.Dict[str, str],
+ duration_s: float = 0.0) -> typing.Dict[str,
libunity.UnityDocument]:
layer = anim.addLayer(layer_name)
# For simplicity, use the layer name as the parameter name.
- parameter_name = layer_name
- anim.addParameter(parameter_name, bool)
+ if parameter_name is not None:
+ anim.addParameter(parameter_name, bool)
off_state = anim.addAnimatorState(layer, layer_name + "_Off",
is_default_state = True)
@@ -647,11 +649,11 @@ def generateToggle(layer_name: str,
on_anim_meta.loadOrCreate(on_anim_path, guid_map)
anim.setAnimatorStateAnimation(on_state, on_anim_meta.guid)
- off_to_on_trans = anim.addTransition(on_state)
+ off_to_on_trans = anim.addTransition(on_state, duration_s)
anim.addTransitionBooleanCondition(off_state,
off_to_on_trans, parameter_name, True)
- on_to_off_trans = anim.addTransition(off_state)
+ on_to_off_trans = anim.addTransition(off_state, duration_s)
anim.addTransitionBooleanCondition(on_state,
on_to_off_trans, parameter_name, False)
@@ -700,6 +702,7 @@ def generateFX(guid_map, gen_anim_dir):
states = generateToggle(
generate_utils.getSpeechNoiseToggleParam(),
+ generate_utils.getSpeechNoiseToggleParam(),
gen_anim_dir,
"TaSTT_Speech_Noise_Off.anim",
"TaSTT_Speech_Noise_On.anim",
@@ -712,31 +715,42 @@ def generateFX(guid_map, gen_anim_dir):
states["off_to_on"], generate_utils.getToggleParam(), True)
generateToggle(generate_utils.getToggleParam(),
+ generate_utils.getToggleParam(),
gen_anim_dir,
"TaSTT_Toggle_Off.anim",
"TaSTT_Toggle_On.anim",
anim, guid_map)
generateToggle(generate_utils.getLockWorldParam(),
+ generate_utils.getLockWorldParam(),
gen_anim_dir,
"TaSTT_Lock_World_Disable.anim",
"TaSTT_Lock_World_Enable.anim",
anim, guid_map)
generateToggle(
generate_utils.getClearBoardParam(),
+ generate_utils.getClearBoardParam(),
gen_anim_dir,
None, # No animation in the `off` state.
generate_utils.getClearAnimationName() + ".anim",
anim, guid_map)
generateToggle(generate_utils.getIndicator0Param(),
+ generate_utils.getIndicator0Param(),
gen_anim_dir,
generate_utils.getIndicator0Param() + "_Off.anim",
generate_utils.getIndicator0Param() + "_On.anim",
anim, guid_map)
generateToggle(generate_utils.getIndicator1Param(),
+ generate_utils.getIndicator1Param(),
gen_anim_dir,
generate_utils.getIndicator1Param() + "_Off.anim",
generate_utils.getIndicator1Param() + "_On.anim",
anim, guid_map)
+ generateToggle(generate_utils.getToggleParam(),
+ None,
+ gen_anim_dir,
+ "TaSTT_Emerge_000.anim",
+ "TaSTT_Emerge_100.anim",
+ anim, guid_map)
generateScaleLayer(anim, gen_anim_dir, guid_map)
return anim
diff --git a/Scripts/libunity.py b/Scripts/libunity.py
index e94765d..bbf9498 100644
--- a/Scripts/libunity.py
+++ b/Scripts/libunity.py
@@ -727,7 +727,7 @@ class UnityAnimator():
return anim_state
- def addTransition(self, dst_state):
+ def addTransition(self, dst_state, dur_s = 0.0):
# Create animation state
parser = UnityParser()
parser.parse(TRANSITION_TEMPLATE)
@@ -740,6 +740,7 @@ class UnityAnimator():
node.anchor = str(new_id)
state = node.mapping['AnimatorStateTransition']
state.mapping['m_DstState'].mapping['fileID'] = dst_state.anchor
+ state.mapping['m_TransitionDuration'] = dur_s
self.nodes.append(node)
return node