From 7f930340e3aa94d6aca120d28436594427469373 Mon Sep 17 00:00:00 2001 From: yum Date: Sat, 5 Nov 2022 12:11:15 -0700 Subject: 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. --- osc_ctrl.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'osc_ctrl.py') diff --git a/osc_ctrl.py b/osc_ctrl.py index aa93dfb..6b97b09 100644 --- a/osc_ctrl.py +++ b/osc_ctrl.py @@ -75,8 +75,10 @@ def encodeMessage(lines): return result def updateCell(client, cell_idx, letter_encoded): - addr="/avatar/parameters/" + getLayerParam(cell_idx) - client.send_message(addr, letter_encoded) + addr="/avatar/parameters/" + generate_utils.getBlendParam(cell_idx) + letter_remapped = (-127.5 + letter_encoded) / 127.5 + print("Send encoded letter {} / {}".format(letter_encoded, letter_remapped)) + client.send_message(addr, letter_remapped) def enable(client): addr="/avatar/parameters/" + getEnableParam() -- cgit v1.2.3