diff options
| author | yum <yum.food.vr@gmail.com> | 2023-08-11 11:29:02 -0700 |
|---|---|---|
| committer | yum <yum.food.vr@gmail.com> | 2023-08-11 11:29:02 -0700 |
| commit | 3efa1498c7ff8012735d6773b56e19f67cf11a02 (patch) | |
| tree | 018f9d97e05b5cb1a12b8a6ce4703bd2a3718422 | |
| parent | 52ca7435f788e9bf981c7786046d5ca093e9688d (diff) | |
Animate pre-speech ellipsis
Text box now shows an animated ellipsis prior to first speech.
| -rw-r--r-- | Animations/TaSTT_Ellipsis_Off.anim | 98 | ||||
| -rw-r--r-- | Animations/TaSTT_Ellipsis_On.anim | 98 | ||||
| -rw-r--r-- | Animations/TaSTT_Emerge_000.anim | 38 | ||||
| -rw-r--r-- | Scripts/generate_params.py | 3 | ||||
| -rw-r--r-- | Scripts/generate_utils.py | 7 | ||||
| -rw-r--r-- | Scripts/libtastt.py | 6 | ||||
| -rw-r--r-- | Scripts/osc_ctrl.py | 6 | ||||
| -rw-r--r-- | Scripts/transcribe.py | 2 | ||||
| -rw-r--r-- | UnityAssets/TaSTT_Menu.asset | 10 |
9 files changed, 253 insertions, 15 deletions
diff --git a/Animations/TaSTT_Ellipsis_Off.anim b/Animations/TaSTT_Ellipsis_Off.anim new file mode 100644 index 0000000..990afa8 --- /dev/null +++ b/Animations/TaSTT_Ellipsis_Off.anim @@ -0,0 +1,98 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!74 &7400000 +AnimationClip: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: TaSTT_Ellipsis_Off + serializedVersion: 6 + m_Legacy: 0 + m_Compressed: 0 + m_UseHighQualityCurve: 1 + m_RotationCurves: [] + m_CompressedRotationCurves: [] + m_EulerCurves: [] + m_PositionCurves: [] + m_ScaleCurves: [] + m_FloatCurves: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: material._Ellipsis + path: World Constraint/Container/TaSTT + classID: 23 + script: {fileID: 0} + m_PPtrCurves: [] + m_SampleRate: 60 + m_WrapMode: 0 + m_Bounds: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 0, y: 0, z: 0} + m_ClipBindingConstant: + genericBindings: + - serializedVersion: 2 + path: 1272388438 + attribute: 2368089329 + script: {fileID: 0} + typeID: 23 + customType: 22 + isPPtrCurve: 0 + pptrCurveMapping: [] + m_AnimationClipSettings: + serializedVersion: 2 + m_AdditiveReferencePoseClip: {fileID: 0} + m_AdditiveReferencePoseTime: 0 + m_StartTime: 0 + m_StopTime: 0 + m_OrientationOffsetY: 0 + m_Level: 0 + m_CycleOffset: 0 + m_HasAdditiveReferencePose: 0 + m_LoopTime: 1 + m_LoopBlend: 0 + m_LoopBlendOrientation: 0 + m_LoopBlendPositionY: 0 + m_LoopBlendPositionXZ: 0 + m_KeepOriginalOrientation: 0 + m_KeepOriginalPositionY: 1 + m_KeepOriginalPositionXZ: 0 + m_HeightFromFeet: 0 + m_Mirror: 0 + m_EditorCurves: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: material._Ellipsis + path: World Constraint/Container/TaSTT + classID: 23 + script: {fileID: 0} + m_EulerEditorCurves: [] + m_HasGenericRootTransform: 0 + m_HasMotionFloatCurves: 0 + m_Events: [] diff --git a/Animations/TaSTT_Ellipsis_On.anim b/Animations/TaSTT_Ellipsis_On.anim new file mode 100644 index 0000000..c6ad724 --- /dev/null +++ b/Animations/TaSTT_Ellipsis_On.anim @@ -0,0 +1,98 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!74 &7400000 +AnimationClip: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: TaSTT_Ellipsis_On + serializedVersion: 6 + m_Legacy: 0 + m_Compressed: 0 + m_UseHighQualityCurve: 1 + m_RotationCurves: [] + m_CompressedRotationCurves: [] + m_EulerCurves: [] + m_PositionCurves: [] + m_ScaleCurves: [] + m_FloatCurves: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: material._Ellipsis + path: World Constraint/Container/TaSTT + classID: 23 + script: {fileID: 0} + m_PPtrCurves: [] + m_SampleRate: 60 + m_WrapMode: 0 + m_Bounds: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 0, y: 0, z: 0} + m_ClipBindingConstant: + genericBindings: + - serializedVersion: 2 + path: 1272388438 + attribute: 2368089329 + script: {fileID: 0} + typeID: 23 + customType: 22 + isPPtrCurve: 0 + pptrCurveMapping: [] + m_AnimationClipSettings: + serializedVersion: 2 + m_AdditiveReferencePoseClip: {fileID: 0} + m_AdditiveReferencePoseTime: 0 + m_StartTime: 0 + m_StopTime: 0 + m_OrientationOffsetY: 0 + m_Level: 0 + m_CycleOffset: 0 + m_HasAdditiveReferencePose: 0 + m_LoopTime: 1 + m_LoopBlend: 0 + m_LoopBlendOrientation: 0 + m_LoopBlendPositionY: 0 + m_LoopBlendPositionXZ: 0 + m_KeepOriginalOrientation: 0 + m_KeepOriginalPositionY: 1 + m_KeepOriginalPositionXZ: 0 + m_HeightFromFeet: 0 + m_Mirror: 0 + m_EditorCurves: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: material._Ellipsis + path: World Constraint/Container/TaSTT + classID: 23 + script: {fileID: 0} + m_EulerEditorCurves: [] + m_HasGenericRootTransform: 0 + m_HasMotionFloatCurves: 0 + m_Events: [] diff --git a/Animations/TaSTT_Emerge_000.anim b/Animations/TaSTT_Emerge_000.anim index 97576e1..b89d713 100644 --- a/Animations/TaSTT_Emerge_000.anim +++ b/Animations/TaSTT_Emerge_000.anim @@ -36,6 +36,25 @@ AnimationClip: path: World Constraint/Container/TaSTT classID: 23 script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: material._Ellipsis + path: World Constraint/Container/TaSTT + classID: 23 + script: {fileID: 0} m_PPtrCurves: [] m_SampleRate: 60 m_WrapMode: 0 @@ -92,6 +111,25 @@ AnimationClip: path: World Constraint/Container/TaSTT classID: 23 script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: material._Ellipsis + path: World Constraint/Container/TaSTT + classID: 23 + script: {fileID: 0} m_EulerEditorCurves: [] m_HasGenericRootTransform: 0 m_HasMotionFloatCurves: 0 diff --git a/Scripts/generate_params.py b/Scripts/generate_params.py index b88a698..8daf2dc 100644 --- a/Scripts/generate_params.py +++ b/Scripts/generate_params.py @@ -58,6 +58,9 @@ def generate(): params["PARAM_NAME"] = generate_utils.getEnableParam() result += generate_utils.replaceMacros(BOOL_PARAM, params) + params["PARAM_NAME"] = generate_utils.getEllipsisParam() + result += generate_utils.replaceMacros(BOOL_PARAM, params) + params["PARAM_NAME"] = generate_utils.getScaleParam() params["DEFAULT_FLOAT"] = "0.05" result += generate_utils.replaceMacros(FLOAT_PARAM, params) diff --git a/Scripts/generate_utils.py b/Scripts/generate_utils.py index cbb8354..aaae3dc 100644 --- a/Scripts/generate_utils.py +++ b/Scripts/generate_utils.py @@ -81,11 +81,8 @@ def getSelectParam() -> str: def getEnableParam(): return "TaSTT_Enable" -def getIndicator0Param(): - return "TaSTT_Indicator_0" - -def getIndicator1Param(): - return "TaSTT_Indicator_1" +def getEllipsisParam(): + return "TaSTT_Ellipsis" def getBoardIndex(which_layer, select): # Because we divide the board into a multiple of 8 cells, some cells may diff --git a/Scripts/libtastt.py b/Scripts/libtastt.py index e251015..f941cee 100644 --- a/Scripts/libtastt.py +++ b/Scripts/libtastt.py @@ -705,6 +705,12 @@ def generateFX(guid_map, gen_anim_dir): "TaSTT_Lock_World_Disable.anim", "TaSTT_Lock_World_Enable.anim", anim, guid_map) + generateToggle(generate_utils.getEllipsisParam(), + generate_utils.getEllipsisParam(), + gen_anim_dir, + "TaSTT_Ellipsis_Off.anim", + "TaSTT_Ellipsis_On.anim", + anim, guid_map) generateToggle( generate_utils.getClearBoardParam(), generate_utils.getClearBoardParam(), diff --git a/Scripts/osc_ctrl.py b/Scripts/osc_ctrl.py index e7f422b..b1ec765 100644 --- a/Scripts/osc_ctrl.py +++ b/Scripts/osc_ctrl.py @@ -59,6 +59,10 @@ def disable(client): addr="/avatar/parameters/" + generate_utils.getEnableParam() client.send_message(addr, False) +def ellipsis(client, enable: bool): + addr="/avatar/parameters/" + generate_utils.getEllipsisParam() + client.send_message(addr, enable) + def clear(osc_state: OscState): disable(osc_state.client) @@ -122,6 +126,8 @@ def pageMessage(osc_state: OscState, msg: str, estate: EmotesState) -> bool: for i in range(0, len(encoded)): updateRegion(osc_state.client, i, encoded[i]) + ellipsis(osc_state.client, False) + # Wait for parameter sync. time.sleep(SYNC_DELAY_S) diff --git a/Scripts/transcribe.py b/Scripts/transcribe.py index c86d1db..8a10783 100644 --- a/Scripts/transcribe.py +++ b/Scripts/transcribe.py @@ -539,6 +539,7 @@ def readKeyboardInput(audio_state, enable_local_beep: bool, if not use_builtin: osc_ctrl.toggleBoard(audio_state.osc_state.client, True) osc_ctrl.lockWorld(audio_state.osc_state.client, False) + osc_ctrl.ellipsis(audio_state.osc_state.client, True) if audio_state.reset_on_toggle: if audio_state.enable_debug_mode: print("Toggle detected, dropping transcript (2)") @@ -654,6 +655,7 @@ def readControllerInput(audio_state, enable_local_beep: bool, if not use_builtin: osc_ctrl.toggleBoard(audio_state.osc_state.client, True) osc_ctrl.lockWorld(audio_state.osc_state.client, False) + osc_ctrl.ellipsis(audio_state.osc_state.client, True) if audio_state.reset_on_toggle: if audio_state.enable_debug_mode: print("Toggle detected, dropping transcript (3)") diff --git a/UnityAssets/TaSTT_Menu.asset b/UnityAssets/TaSTT_Menu.asset index 77628bd..dd4de69 100644 --- a/UnityAssets/TaSTT_Menu.asset +++ b/UnityAssets/TaSTT_Menu.asset @@ -33,16 +33,6 @@ MonoBehaviour: subMenu: {fileID: 0} subParameters: [] labels: [] - - name: Enable Beep - icon: {fileID: 0} - type: 102 - parameter: - name: TaSTT_Speech_Noise_Enable - value: 1 - style: 0 - subMenu: {fileID: 0} - subParameters: [] - labels: [] - name: Scale icon: {fileID: 0} type: 203 |
