summaryrefslogtreecommitdiffstats
path: root/generate_utils.py
diff options
context:
space:
mode:
authoryum <yum.food.vr@gmail.com>2022-11-05 12:11:15 -0700
committeryum <yum.food.vr@gmail.com>2022-11-05 12:14:12 -0700
commit7f930340e3aa94d6aca120d28436594427469373 (patch)
tree9c39374cb8be35d813fcf39db2620da027ac6d7d /generate_utils.py
parentca10de9a5cb2a9b360bc0cd2c357f8d0041f0fca (diff)
Reduce dimensionality of animator by factor of 80
Instead of generating one animation for every single character in our character set, we just generate 2: the lowest and the highest. We use blend trees to interpolate between these two extremes. This reduces the number of animations we have to generate by a factor of 80. It also clears the way for multi-language support (coming soon). It also means we don't have to reopen unity every time we generate a new animator.
Diffstat (limited to 'generate_utils.py')
-rw-r--r--generate_utils.py8
1 files changed, 7 insertions, 1 deletions
diff --git a/generate_utils.py b/generate_utils.py
index 2fa2077..171857b 100644
--- a/generate_utils.py
+++ b/generate_utils.py
@@ -12,7 +12,7 @@ def replaceMacros(lines, macro_defs):
BOARD_ROWS=4
BOARD_COLS=44
INDEX_BITS=4
-CHARS_PER_CELL=80
+CHARS_PER_CELL=256
NUM_LAYERS=ceil((BOARD_ROWS * BOARD_COLS) / (2**INDEX_BITS))
@@ -69,6 +69,9 @@ def getLayerParam(which_layer: int) -> str:
def getLayerName(which_layer: int) -> str:
return getLayerParam(which_layer)
+def getBlendParam(which_layer: int) -> str:
+ return "TaSTT_L%02d_Blend" % which_layer
+
def getDefaultStateName(which_layer):
return "TaSTT_L%02d_Do_Nothing" % which_layer
@@ -78,6 +81,9 @@ def getActiveStateName(which_layer):
def getSelectStateName(which_layer, select):
return "TaSTT_L%02d_S%02d" % (which_layer, select)
+def getBlendStateName(which_layer, select):
+ return "TaSTT_L%02d_S%02d_Blend" % (which_layer, select)
+
def getLetterStateName(which_layer, select, letter):
return "TaSTT_L%02d_S%02d_L%03d" % (which_layer, select, letter)