├── .gitattributes
├── .gitignore
├── LICENSE
├── README.md
├── SpeechRecognizerImage.jpeg
├── UnitySpeechRecognizer
├── Assets
│ ├── Plugins.meta
│ ├── Plugins
│ │ ├── SpeechRecognizer.meta
│ │ └── SpeechRecognizer
│ │ │ ├── Android.meta
│ │ │ └── Android
│ │ │ ├── UnitySpeechRecognizer.aar
│ │ │ ├── UnitySpeechRecognizer.aar.meta
│ │ │ ├── libs.meta
│ │ │ └── libs
│ │ │ ├── support-v4-24.1.1.aar
│ │ │ └── support-v4-24.1.1.aar.meta
│ ├── Scripts.meta
│ ├── Scripts
│ │ ├── SpeechRecognizer.cs
│ │ ├── SpeechRecognizer.cs.meta
│ │ ├── SpeechRecognizerPlugin.cs
│ │ ├── SpeechRecognizerPlugin.cs.meta
│ │ ├── SpeechRecognizerPlugin_Android.cs
│ │ ├── SpeechRecognizerPlugin_Android.cs.meta
│ │ ├── SpeechRecognizerPlugin_Editor.cs
│ │ └── SpeechRecognizerPlugin_Editor.cs.meta
│ ├── SpeechRecognizer.prefab
│ ├── SpeechRecognizer.prefab.meta
│ ├── SpeechRecognizer.unity
│ ├── SpeechRecognizer.unity.meta
│ ├── SpeechRecognizer_pckg.unitypackage
│ ├── SpeechRecognizer_pckg.unitypackage.meta
│ ├── TextMesh Pro.meta
│ └── TextMesh Pro
│ │ ├── Documentation.meta
│ │ ├── Documentation
│ │ ├── TextMesh Pro User Guide 2016.pdf
│ │ └── TextMesh Pro User Guide 2016.pdf.meta
│ │ ├── Fonts.meta
│ │ ├── Fonts
│ │ ├── LiberationSans - OFL.txt
│ │ ├── LiberationSans - OFL.txt.meta
│ │ ├── LiberationSans.ttf
│ │ └── LiberationSans.ttf.meta
│ │ ├── Resources.meta
│ │ ├── Resources
│ │ ├── Fonts & Materials.meta
│ │ ├── Fonts & Materials
│ │ │ ├── LiberationSans SDF - Drop Shadow.mat
│ │ │ ├── LiberationSans SDF - Drop Shadow.mat.meta
│ │ │ ├── LiberationSans SDF - Fallback.asset
│ │ │ ├── LiberationSans SDF - Fallback.asset.meta
│ │ │ ├── LiberationSans SDF - Outline.mat
│ │ │ ├── LiberationSans SDF - Outline.mat.meta
│ │ │ ├── LiberationSans SDF.asset
│ │ │ └── LiberationSans SDF.asset.meta
│ │ ├── LineBreaking Following Characters.txt
│ │ ├── LineBreaking Following Characters.txt.meta
│ │ ├── LineBreaking Leading Characters.txt
│ │ ├── LineBreaking Leading Characters.txt.meta
│ │ ├── Shaders.meta
│ │ ├── Shaders
│ │ │ ├── TMP_Bitmap-Custom-Atlas.shader
│ │ │ ├── TMP_Bitmap-Custom-Atlas.shader.meta
│ │ │ ├── TMP_Bitmap-Mobile.shader
│ │ │ ├── TMP_Bitmap-Mobile.shader.meta
│ │ │ ├── TMP_Bitmap.shader
│ │ │ ├── TMP_Bitmap.shader.meta
│ │ │ ├── TMP_SDF Overlay.shader
│ │ │ ├── TMP_SDF Overlay.shader.meta
│ │ │ ├── TMP_SDF-Mobile Masking.shader
│ │ │ ├── TMP_SDF-Mobile Masking.shader.meta
│ │ │ ├── TMP_SDF-Mobile Overlay.shader
│ │ │ ├── TMP_SDF-Mobile Overlay.shader.meta
│ │ │ ├── TMP_SDF-Mobile.shader
│ │ │ ├── TMP_SDF-Mobile.shader.meta
│ │ │ ├── TMP_SDF-Surface-Mobile.shader
│ │ │ ├── TMP_SDF-Surface-Mobile.shader.meta
│ │ │ ├── TMP_SDF-Surface.shader
│ │ │ ├── TMP_SDF-Surface.shader.meta
│ │ │ ├── TMP_SDF.shader
│ │ │ ├── TMP_SDF.shader.meta
│ │ │ ├── TMP_Sprite.shader
│ │ │ ├── TMP_Sprite.shader.meta
│ │ │ ├── TMPro.cginc
│ │ │ ├── TMPro.cginc.meta
│ │ │ ├── TMPro_Properties.cginc
│ │ │ ├── TMPro_Properties.cginc.meta
│ │ │ ├── TMPro_Surface.cginc
│ │ │ └── TMPro_Surface.cginc.meta
│ │ ├── Sprite Assets.meta
│ │ ├── Sprite Assets
│ │ │ ├── EmojiOne.asset
│ │ │ └── EmojiOne.asset.meta
│ │ ├── Style Sheets.meta
│ │ ├── Style Sheets
│ │ │ ├── Default Style Sheet.asset
│ │ │ └── Default Style Sheet.asset.meta
│ │ ├── TMP Settings.asset
│ │ └── TMP Settings.asset.meta
│ │ ├── Sprites.meta
│ │ └── Sprites
│ │ ├── EmojiOne Attribution.txt
│ │ ├── EmojiOne Attribution.txt.meta
│ │ ├── EmojiOne.json
│ │ ├── EmojiOne.json.meta
│ │ ├── EmojiOne.png
│ │ └── EmojiOne.png.meta
├── Packages
│ └── manifest.json
└── ProjectSettings
│ ├── AudioManager.asset
│ ├── ClusterInputManager.asset
│ ├── DynamicsManager.asset
│ ├── EditorBuildSettings.asset
│ ├── EditorSettings.asset
│ ├── GraphicsSettings.asset
│ ├── InputManager.asset
│ ├── NavMeshAreas.asset
│ ├── Physics2DSettings.asset
│ ├── PresetManager.asset
│ ├── ProjectSettings.asset
│ ├── ProjectVersion.txt
│ ├── QualitySettings.asset
│ ├── TagManager.asset
│ ├── TimeManager.asset
│ ├── UnityConnectSettings.asset
│ ├── VFXManager.asset
│ └── XRSettings.asset
└── UnitySpeechRecognizerPlugin
├── .gitignore
├── .idea
├── codeStyles
│ └── Project.xml
├── jarRepositories.xml
└── misc.xml
├── SpeechRecognizer
├── .gitignore
├── build.gradle
├── libs
│ └── classes.jar
├── proguard-rules.pro
└── src
│ ├── androidTest
│ └── java
│ │ └── com
│ │ └── example
│ │ └── eric
│ │ └── unityspeechrecognizerplugin
│ │ └── ExampleInstrumentedTest.java
│ ├── main
│ ├── AndroidManifest.xml
│ ├── java
│ │ └── com
│ │ │ └── example
│ │ │ └── eric
│ │ │ └── unityspeechrecognizerplugin
│ │ │ └── SpeechRecognizerFragment.java
│ └── res
│ │ ├── drawable-v24
│ │ └── ic_launcher_foreground.xml
│ │ ├── drawable
│ │ └── ic_launcher_background.xml
│ │ ├── mipmap-anydpi-v26
│ │ ├── ic_launcher.xml
│ │ └── ic_launcher_round.xml
│ │ ├── mipmap-hdpi
│ │ ├── ic_launcher.png
│ │ └── ic_launcher_round.png
│ │ ├── mipmap-mdpi
│ │ ├── ic_launcher.png
│ │ └── ic_launcher_round.png
│ │ ├── mipmap-xhdpi
│ │ ├── ic_launcher.png
│ │ └── ic_launcher_round.png
│ │ ├── mipmap-xxhdpi
│ │ ├── ic_launcher.png
│ │ └── ic_launcher_round.png
│ │ ├── mipmap-xxxhdpi
│ │ ├── ic_launcher.png
│ │ └── ic_launcher_round.png
│ │ └── values
│ │ ├── colors.xml
│ │ ├── strings.xml
│ │ └── styles.xml
│ └── test
│ └── java
│ └── com
│ └── example
│ └── eric
│ └── unityspeechrecognizerplugin
│ └── ExampleUnitTest.java
├── build.gradle
├── gradle.properties
├── gradle
└── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
└── settings.gradle
/.gitattributes:
--------------------------------------------------------------------------------
1 | # Auto detect text files and perform LF normalization
2 | * text=auto
3 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # This .gitignore file should be placed at the root of your Unity project directory
2 | #
3 | # Get latest from https://github.com/github/gitignore/blob/master/Unity.gitignore
4 | #
5 | UnitySpeechRecognizer/[Ll]ibrary/
6 | UnitySpeechRecognizer/[Tt]emp/
7 | UnitySpeechRecognizer/[Oo]bj/
8 | #UnitySpeechRecognizer/[Bb]uild/
9 | #UnitySpeechRecognizer/[Bb]uilds/
10 | UnitySpeechRecognizer/[Ll]ogs/
11 | UnitySpeechRecognizer/[Mm]emoryCaptures/
12 |
13 | # Never ignore Asset meta data
14 | !/[Aa]ssets/**/*.meta
15 |
16 | # Uncomment this line if you wish to ignore the asset store tools plugin
17 | # /[Aa]ssets/AssetStoreTools*
18 |
19 | # TextMesh Pro files
20 | !UnitySpeechRecognizer/[Aa]ssets/TextMesh*Pro/
21 |
22 | # Autogenerated Jetbrains Rider plugin
23 | UnitySpeechRecognizer/[Aa]ssets/Plugins/Editor/JetBrains*
24 |
25 | # Visual Studio cache directory
26 | .vs/
27 |
28 | # Gradle cache directory
29 | .gradle/
30 |
31 | # Autogenerated VS/MD/Consulo solution and project files
32 | ExportedObj/
33 | .consulo/
34 | *.csproj
35 | *.unityproj
36 | *.sln
37 | *.suo
38 | *.tmp
39 | *.user
40 | *.userprefs
41 | *.pidb
42 | *.booproj
43 | *.svd
44 | *.pdb
45 | *.mdb
46 | *.opendb
47 | *.VC.db
48 |
49 | # Unity3D generated meta files
50 | *.pidb.meta
51 | *.pdb.meta
52 | *.mdb.meta
53 |
54 | # Unity3D generated file on crash reports
55 | sysinfo.txt
56 |
57 | # Builds
58 | *.apk
59 | #*.unitypackage
60 |
61 | # Crashlytics generated file
62 | crashlytics-build.properties
63 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2020 Eric
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # UnityAndroidSpeechRecognizer 🗣️
2 | *Created by Eric Batlle Clavero*
3 |
4 | A simple **Android App** made with **Unity** that implements a **Speech Recognizer** using Android native recognizer.
5 |
6 | **Without** the annoying **pop-up** and the option to keep the app **listening indefinitely**, not just once.
7 |
8 | This repository is divided in 2 parts:
9 |
10 | - Unity Project (**C#**)
11 | - Android Plugin (**Java**)
12 |
13 | ## Example 🎬
14 |
15 |
16 |
17 |
18 |
19 | *In this image it is possible to see multiple results appearing on the panel after speaking to the device "continuous text speech". *
20 |
21 | ## Donations are appreciated! 💸
22 | *Remember that are many ways to say thank you.*
23 |
24 | If this plugin has been helpful remember to star the repository and consider buying me a coffee! 😀
25 |
26 |
27 |
28 |
29 | If you like my general work and contributions consider [sponsoring me on Github](https://github.com/sponsors/EricBatlle).
30 |
31 | But if you just want to donate straightforward, I also have [PayPal.me](https://paypal.me/EricBatlleClavero?locale.x=es_ES).
32 |
33 | ## How to Install :hammer_and_wrench:
34 |
35 | - If you want to install the the app, you can download the APK from [here](https://github.com/EricBatlle/UnityAndroidSpeechRecognizer/releases/download/v1.3/SpeechRecognizer_1.3.apk).
36 |
37 | - If you want to install the whole project and check the code, you need to have **Unity** and **AndroidStudio** installed and updated.
38 |
39 | - If you want to install only the few files to make the plugin work and don't want the whole project, you only need to import the package **SpeechRecognizer_pckg** located inside ``UnitySpeechRecognizer/Assets/``. To import it simply drag and drop the file in your current Unity project. Remember that you can also download the package without cloning the project, simply clicking this [link](https://github.com/EricBatlle/UnityAndroidSpeechRecognizer/raw/v1.3.support/UnitySpeechRecognizer/Assets/SpeechRecognizer_pckg.unitypackage).
40 |
41 | ## How to Use ⚙️
42 |
43 | #### How to use the Demo:
44 | - Functionality is simple, just press the **Start Listening button** and talk to your device to check the results!
45 | - If you want to enable/disable continuous listening mode simply press the **Continous Listening checkmark**.
46 | - You can also stop the current recongizer by pressing the **Stop Listening button**.
47 | - Set the language of the recognizer or the maximum results you want that the recognizer retrieves.
48 |
49 | #### How to use the Plugin:
50 |
51 | To call the plugin you first need a variable to reference it:
52 | ```csharp
53 | private SpeechRecognizerPlugin plugin = null;
54 | ```
55 | Then you have to create a new platform-specific instance by calling:
56 | ```csharp
57 | plugin = SpeechRecognizerPlugin.GetPlatformPluginVersion(this.gameObject.name);
58 | ```
59 | Notice that ``this.gameObject.name`` is the name of the GameObject that will have the plugin callback methods to retrieve the recognition results and errors.
60 | To create those callbacks you need to add and implement the Interface ```ISpeechRecognizerPlugin``` on the same GameObject. A common implementation of the interface will be:
61 | ```csharp
62 | public void OnResult(string recognizedResult)
63 | {
64 | char[] delimiterChars = { '~' };
65 | string[] results = recognizedResult.Split(delimiterChars);
66 |
67 | //Do something with the results
68 | }
69 |
70 | public void OnError(string recognizedError)
71 | {
72 | ERROR error = (ERROR)int.Parse(recognizedError);
73 | switch (error)
74 | {
75 | case ERROR.UNKNOWN:
76 | Debug.Log("ERROR: Unknown");
77 | break;
78 | case ERROR.INVALID_LANGUAGE_FORMAT:
79 | Debug.Log("ERROR: Language format is not valid");
80 | break;
81 | default:
82 | break;
83 | }
84 | }
85 | ```
86 | From so on every time you want to call any plugin feature you only have to call it like any other object:
87 |
88 | Do you want to start the recognition?
89 | ```csharp
90 | plugin.StartListening();
91 | ```
92 | Do you want to stop it?
93 | ```csharp
94 | plugin.StopListening();
95 | ```
96 | Do you want to start the recognition with continous recognition and specific language?
97 | ```csharp
98 | plugin.StartListening(true, "es-ES");
99 | ```
100 |
101 | #### How to scratch the code:
102 | - To check **Unity** project, **open the project**, select **SpeechRecognizer** scene.
103 | Either inside the unity project or simply dragging the **.cs** classes on your editor, you have to watch on to the classes located on ``UnitySpeechRecognizer/Assets/Scripts``.
104 | - To check **Android Plugin** you can do it opening the solution with **AndroidStudio** or just drag the ``SpeechRecognizerFragment.java`` class located on ``UnitySpeechRecognizerPlugin\SpeechRecognizer\src\main\java\com\example\eric\unityspeechrecognizerplugin``
105 |
106 |
107 | ## Multiple plugins support 🔌
108 | This plugin has been made following a **fragment-pattern** to avoid errors that can be derived from extending *UnityPlayerActivity*.
109 |
110 | This way you can integrate this plugin with your projects even if they already have more plugins. **Truly pluggable**.
111 |
112 | ## Upgrading dependencies and choosing plugin version 📜
113 | Keep in mind that the latest versions [v1.3](https://github.com/EricBatlle/UnityAndroidSpeechRecognizer/releases/tag/v1.3) and [v1.3.support](https://github.com/EricBatlle/UnityAndroidSpeechRecognizer/releases/tag/v1.3.support) of the plugin work with different android support libraries even if they have identical features.
114 |
115 | - **[v1.3](https://github.com/EricBatlle/UnityAndroidSpeechRecognizer/releases/tag/v1.3)** works with **AndroidX** dependencies. That means that is targeting **Android 9** (API level 28).
116 | - **[v1.3.support](https://github.com/EricBatlle/UnityAndroidSpeechRecognizer/releases/tag/v1.3.support)** works with **Support-v4** dependencies. That means that is targeting **Android 7** (API level 24).
117 |
118 | ### Why multiple versions and when to use each one?
119 | Basically cause there are multiple plugins and SDK's out there that work with similar libraries or different API requirements.
120 | If your other plugins and SDK's use API lvl 28 or above, choose [v1.3](https://github.com/EricBatlle/UnityAndroidSpeechRecognizer/releases/tag/v1.3) version.
121 | If you need to target older devices (to a minimum of API level 24) choose [v1.3.support](https://github.com/EricBatlle/UnityAndroidSpeechRecognizer/releases/tag/v1.3.support) version.
122 |
123 | ## Controlled Exceptions 🚨
124 | How to solve some of the most typical exceptions when trying to deal with multiple plugins
125 |
126 | #### Duplicate class XXXXX found in modules classes.jar (androidx.core:core:1.0.0) and classes.jar (com.android.support:support-compat:27.1.1)
127 | This exceptions means that another of your project plugins is using a library (like androidX) that internally uses the same class as another library that is using the current plugin.
128 | The easiest way to solve this problem is to remove one of the lib file (usually .aar) from one of the two plugins. Keep in mind that this is only valid in case that the erased library is using specific classes that exists in the prior one.
129 | In case you have Player Service Resolver on your project you can also do "Delete Resolved Libraries" and "Resolve".
130 |
--------------------------------------------------------------------------------
/SpeechRecognizerImage.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EricBatlle/UnityAndroidSpeechRecognizer/b0ca7355d51471ea8df93043d29d898c44314fc0/SpeechRecognizerImage.jpeg
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/Assets/Plugins.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 66172f7ec9fca4816a925f14ecb2d06b
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/Assets/Plugins/SpeechRecognizer.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 49a1d4503f485f04ab3cce7add345353
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/Assets/Plugins/SpeechRecognizer/Android.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 71aecde7715e6427f9d678754fe89e5f
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/Assets/Plugins/SpeechRecognizer/Android/UnitySpeechRecognizer.aar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EricBatlle/UnityAndroidSpeechRecognizer/b0ca7355d51471ea8df93043d29d898c44314fc0/UnitySpeechRecognizer/Assets/Plugins/SpeechRecognizer/Android/UnitySpeechRecognizer.aar
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/Assets/Plugins/SpeechRecognizer/Android/UnitySpeechRecognizer.aar.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 6e419db123b691c4b863eba73d3844ae
3 | PluginImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | iconMap: {}
7 | executionOrder: {}
8 | defineConstraints: []
9 | isPreloaded: 0
10 | isOverridable: 0
11 | isExplicitlyReferenced: 0
12 | validateReferences: 1
13 | platformData:
14 | - first:
15 | Android: Android
16 | second:
17 | enabled: 1
18 | settings: {}
19 | - first:
20 | Any:
21 | second:
22 | enabled: 0
23 | settings: {}
24 | - first:
25 | Editor: Editor
26 | second:
27 | enabled: 0
28 | settings:
29 | DefaultValueInitialized: true
30 | userData:
31 | assetBundleName:
32 | assetBundleVariant:
33 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/Assets/Plugins/SpeechRecognizer/Android/libs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 3df7a5e4ade22d246bba24b0fd57f1c8
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/Assets/Plugins/SpeechRecognizer/Android/libs/support-v4-24.1.1.aar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EricBatlle/UnityAndroidSpeechRecognizer/b0ca7355d51471ea8df93043d29d898c44314fc0/UnitySpeechRecognizer/Assets/Plugins/SpeechRecognizer/Android/libs/support-v4-24.1.1.aar
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/Assets/Plugins/SpeechRecognizer/Android/libs/support-v4-24.1.1.aar.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 1da92b882b4f6e24cbad5c9eb6b13049
3 | PluginImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | iconMap: {}
7 | executionOrder: {}
8 | defineConstraints: []
9 | isPreloaded: 0
10 | isOverridable: 0
11 | isExplicitlyReferenced: 0
12 | validateReferences: 1
13 | platformData:
14 | - first:
15 | Android: Android
16 | second:
17 | enabled: 1
18 | settings: {}
19 | - first:
20 | Any:
21 | second:
22 | enabled: 0
23 | settings: {}
24 | - first:
25 | Editor: Editor
26 | second:
27 | enabled: 0
28 | settings:
29 | DefaultValueInitialized: true
30 | userData:
31 | assetBundleName:
32 | assetBundleVariant:
33 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/Assets/Scripts.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 8d5b652da08c71647a60568e09236949
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/Assets/Scripts/SpeechRecognizer.cs:
--------------------------------------------------------------------------------
1 | using TMPro;
2 | using UnityEngine;
3 | using UnityEngine.UI;
4 | using static SpeechRecognizerPlugin;
5 |
6 | public class SpeechRecognizer : MonoBehaviour, ISpeechRecognizerPlugin
7 | {
8 | [SerializeField] private Button startListeningBtn = null;
9 | [SerializeField] private Button stopListeningBtn = null;
10 | [SerializeField] private Toggle continuousListeningTgle = null;
11 | [SerializeField] private TMP_Dropdown languageDropdown = null;
12 | [SerializeField] private TMP_InputField maxResultsInputField = null;
13 | [SerializeField] private TextMeshProUGUI resultsTxt = null;
14 | [SerializeField] private TextMeshProUGUI errorsTxt = null;
15 |
16 | private SpeechRecognizerPlugin plugin = null;
17 |
18 | private void Start()
19 | {
20 | plugin = SpeechRecognizerPlugin.GetPlatformPluginVersion(this.gameObject.name);
21 |
22 | startListeningBtn.onClick.AddListener(StartListening);
23 | stopListeningBtn.onClick.AddListener(StopListening);
24 | continuousListeningTgle.onValueChanged.AddListener(SetContinuousListening);
25 | languageDropdown.onValueChanged.AddListener(SetLanguage);
26 | maxResultsInputField.onEndEdit.AddListener(SetMaxResults);
27 | }
28 |
29 | private void StartListening()
30 | {
31 | plugin.StartListening();
32 | }
33 |
34 | private void StopListening()
35 | {
36 | plugin.StopListening();
37 | }
38 |
39 | private void SetContinuousListening(bool isContinuous)
40 | {
41 | plugin.SetContinuousListening(isContinuous);
42 | }
43 |
44 | private void SetLanguage(int dropdownValue)
45 | {
46 | string newLanguage = languageDropdown.options[dropdownValue].text;
47 | plugin.SetLanguageForNextRecognition(newLanguage);
48 | }
49 |
50 | private void SetMaxResults(string inputValue)
51 | {
52 | if (string.IsNullOrEmpty(inputValue))
53 | return;
54 |
55 | int maxResults = int.Parse(inputValue);
56 | plugin.SetMaxResultsForNextRecognition(maxResults);
57 | }
58 |
59 | public void OnResult(string recognizedResult)
60 | {
61 | char[] delimiterChars = { '~' };
62 | string[] result = recognizedResult.Split(delimiterChars);
63 |
64 | resultsTxt.text = "";
65 | for (int i = 0; i < result.Length; i++)
66 | {
67 | resultsTxt.text += result[i] + '\n';
68 | }
69 | }
70 |
71 | public void OnError(string recognizedError)
72 | {
73 | ERROR error = (ERROR)int.Parse(recognizedError);
74 | switch (error)
75 | {
76 | case ERROR.UNKNOWN:
77 | Debug.Log("ERROR: Unknown");
78 | errorsTxt.text += "Unknown";
79 | break;
80 | case ERROR.INVALID_LANGUAGE_FORMAT:
81 | Debug.Log("ERROR: Language format is not valid");
82 | errorsTxt.text += "Language format is not valid";
83 | break;
84 | default:
85 | break;
86 | }
87 | }
88 | }
89 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/Assets/Scripts/SpeechRecognizer.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 4acb6dcb8d24e9345becb7344382769d
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/Assets/Scripts/SpeechRecognizerPlugin.cs:
--------------------------------------------------------------------------------
1 | using UnityEngine;
2 |
3 | public abstract class SpeechRecognizerPlugin
4 | {
5 | protected bool isContinuousListening = false;
6 | protected string language = "en-US";
7 | protected int maxResults = 10;
8 | protected string gameObjectName = "SpeechRecognizer";
9 |
10 | protected SpeechRecognizerPlugin(string gameObjectName = null)
11 | {
12 | this.gameObjectName = gameObjectName;
13 | this.SetUp();
14 | }
15 | public static SpeechRecognizerPlugin GetPlatformPluginVersion(string gameObjectName = null)
16 | {
17 | if (Application.isEditor)
18 | return new SpeechRecognizerPlugin_Editor(gameObjectName);
19 | else
20 | {
21 | #if UNITY_ANDROID
22 | return new SpeechRecognizerPlugin_Android(gameObjectName);
23 | #endif
24 |
25 | #pragma warning disable CS0162 // Unreachable code detected
26 | Debug.LogWarning("Remember to set project build to mobile device");
27 | #pragma warning restore CS0162 // Unreachable code detected
28 | return null;
29 | }
30 | }
31 |
32 | public enum ERROR { UNKNOWN, INVALID_LANGUAGE_FORMAT }
33 | public interface ISpeechRecognizerPlugin
34 | {
35 | void OnResult(string recognizedResult);
36 | void OnError(string recognizedError);
37 | }
38 |
39 | //Features
40 | protected abstract void SetUp();
41 | public abstract void StartListening();
42 | public abstract void StartListening(bool setContinuousListening = false, string language = "en-US", int maxResults = 10);
43 | public abstract void StopListening();
44 |
45 | //Remember that all this modifier-methods will be applied when the last recognition ends...
46 | //...so only use them if continuous listening is enabled.
47 | public abstract void SetContinuousListening(bool isContinuousListening);
48 | public abstract void SetLanguageForNextRecognition(string newLanguage);
49 | public abstract void SetMaxResultsForNextRecognition(int newMaxResults);
50 | }
51 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/Assets/Scripts/SpeechRecognizerPlugin.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 58a9a30a42bdb6e4d92a74c3673ca19a
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/Assets/Scripts/SpeechRecognizerPlugin_Android.cs:
--------------------------------------------------------------------------------
1 | using UnityEngine;
2 |
3 | public class SpeechRecognizerPlugin_Android : SpeechRecognizerPlugin
4 | {
5 | public SpeechRecognizerPlugin_Android(string gameObjectName) : base(gameObjectName) { }
6 |
7 | private string javaClassPackageName = "com.example.eric.unityspeechrecognizerplugin.SpeechRecognizerFragment";
8 | private AndroidJavaClass javaClass = null;
9 | private AndroidJavaObject instance = null;
10 |
11 | protected override void SetUp()
12 | {
13 | Debug.Log("SetUpAndroid " + gameObjectName);
14 | javaClass = new AndroidJavaClass(javaClassPackageName);
15 | javaClass.CallStatic("SetUp", gameObjectName);
16 | instance = javaClass.GetStatic("instance");
17 | }
18 |
19 | public override void StartListening()
20 | {
21 | instance.Call("StartListening", this.isContinuousListening, this.language, this.maxResults);
22 | }
23 |
24 | public override void StartListening(bool isContinuous = false, string newLanguage = "en-US", int newMaxResults = 10)
25 | {
26 | instance.Call("StartListening", isContinuous, language, maxResults);
27 | }
28 |
29 | public override void StopListening()
30 | {
31 | instance.Call("StopListening");
32 | }
33 |
34 | public override void SetContinuousListening(bool isContinuous)
35 | {
36 | this.isContinuousListening = isContinuous;
37 | instance.Call("SetContinuousListening", isContinuous);
38 | }
39 |
40 | public override void SetLanguageForNextRecognition(string newLanguage)
41 | {
42 | this.language = newLanguage;
43 | instance.Call("SetLanguage", newLanguage);
44 | }
45 |
46 | public override void SetMaxResultsForNextRecognition(int newMaxResults)
47 | {
48 | this.maxResults = newMaxResults;
49 | instance.Call("SetMaxResults", newMaxResults);
50 | }
51 | }
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/Assets/Scripts/SpeechRecognizerPlugin_Android.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b4e0e6bf6a113164abac2e9ca164bb42
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/Assets/Scripts/SpeechRecognizerPlugin_Editor.cs:
--------------------------------------------------------------------------------
1 | using UnityEngine;
2 |
3 | public class SpeechRecognizerPlugin_Editor : SpeechRecognizerPlugin
4 | {
5 | public SpeechRecognizerPlugin_Editor(string gameObjectName) : base(gameObjectName) { }
6 |
7 | private bool isContinuous = false;
8 |
9 | protected override void SetUp()
10 | {
11 | Debug.LogWarning("WARNING : You are running this plugin on Editor mode. Real recognition only works running on mobile device.");
12 | }
13 |
14 | public override void StartListening()
15 | {
16 | SpeechRecognizer speechRecognizer = GameObject.FindObjectOfType();
17 | if (this.isContinuous)
18 | speechRecognizer.OnResult("continuous listening test~continuous listening test~continuous listening test");
19 | else
20 | speechRecognizer.OnResult("start listening test~start listening test~start listening test");
21 | }
22 |
23 | public override void StartListening(bool setContinuousListening = false, string newLanguage = "en-US", int newMaxResults = 10)
24 | {
25 | StartListening();
26 | }
27 |
28 | public override void StopListening()
29 | {
30 | throw new System.NotImplementedException();
31 | }
32 |
33 | public override void SetContinuousListening(bool isContinuous)
34 | {
35 | this.isContinuous = isContinuous;
36 | }
37 |
38 | public override void SetLanguageForNextRecognition(string newLanguage)
39 | {
40 | Debug.Log("Language set: " + newLanguage);
41 | this.language = newLanguage;
42 | }
43 |
44 | public override void SetMaxResultsForNextRecognition(int newMaxResults)
45 | {
46 | Debug.Log("Max results set: " + newMaxResults);
47 | this.maxResults = newMaxResults;
48 | }
49 | }
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/Assets/Scripts/SpeechRecognizerPlugin_Editor.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 449d85dd7876f70479bf3b84cd53eaa1
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/Assets/SpeechRecognizer.prefab:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!1 &5037975149294872944
4 | GameObject:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | serializedVersion: 6
10 | m_Component:
11 | - component: {fileID: 5037975149294872958}
12 | - component: {fileID: 5037975149294872959}
13 | m_Layer: 0
14 | m_Name: SpeechRecognizer
15 | m_TagString: Untagged
16 | m_Icon: {fileID: 0}
17 | m_NavMeshLayer: 0
18 | m_StaticEditorFlags: 0
19 | m_IsActive: 1
20 | --- !u!4 &5037975149294872958
21 | Transform:
22 | m_ObjectHideFlags: 0
23 | m_CorrespondingSourceObject: {fileID: 0}
24 | m_PrefabInstance: {fileID: 0}
25 | m_PrefabAsset: {fileID: 0}
26 | m_GameObject: {fileID: 5037975149294872944}
27 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
28 | m_LocalPosition: {x: 184.5358, y: 270.85263, z: -68.380806}
29 | m_LocalScale: {x: 1, y: 1, z: 1}
30 | m_Children: []
31 | m_Father: {fileID: 0}
32 | m_RootOrder: 0
33 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
34 | --- !u!114 &5037975149294872959
35 | MonoBehaviour:
36 | m_ObjectHideFlags: 0
37 | m_CorrespondingSourceObject: {fileID: 0}
38 | m_PrefabInstance: {fileID: 0}
39 | m_PrefabAsset: {fileID: 0}
40 | m_GameObject: {fileID: 5037975149294872944}
41 | m_Enabled: 1
42 | m_EditorHideFlags: 0
43 | m_Script: {fileID: 11500000, guid: 4acb6dcb8d24e9345becb7344382769d, type: 3}
44 | m_Name:
45 | m_EditorClassIdentifier:
46 | startListeningBtn: {fileID: 0}
47 | stopListeningBtn: {fileID: 0}
48 | continuousListeningTgle: {fileID: 0}
49 | languageDropdown: {fileID: 0}
50 | maxResultsInputField: {fileID: 0}
51 | resultsTxt: {fileID: 0}
52 | errorsTxt: {fileID: 0}
53 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/Assets/SpeechRecognizer.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: e86bcd9a3e40c894787919c0be2dc11d
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/Assets/SpeechRecognizer.unity.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 4f42df4bbb1de474cb66389498b70d31
3 | DefaultImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/Assets/SpeechRecognizer_pckg.unitypackage:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EricBatlle/UnityAndroidSpeechRecognizer/b0ca7355d51471ea8df93043d29d898c44314fc0/UnitySpeechRecognizer/Assets/SpeechRecognizer_pckg.unitypackage
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/Assets/SpeechRecognizer_pckg.unitypackage.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: eadec1f68bfc0fc44a6492ab244799b9
3 | DefaultImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/Assets/TextMesh Pro.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: f54d1bd14bd3ca042bd867b519fee8cc
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/Assets/TextMesh Pro/Documentation.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 8e7e8f5a82a3a134e91c54efd2274ea9
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/Assets/TextMesh Pro/Documentation/TextMesh Pro User Guide 2016.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EricBatlle/UnityAndroidSpeechRecognizer/b0ca7355d51471ea8df93043d29d898c44314fc0/UnitySpeechRecognizer/Assets/TextMesh Pro/Documentation/TextMesh Pro User Guide 2016.pdf
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/Assets/TextMesh Pro/Documentation/TextMesh Pro User Guide 2016.pdf.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 1b8d251f9af63b746bf2f7ffe00ebb9b
3 | DefaultImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/Assets/TextMesh Pro/Fonts.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 6ab70aee4d56447429c680537fbf93ed
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/Assets/TextMesh Pro/Fonts/LiberationSans - OFL.txt:
--------------------------------------------------------------------------------
1 | Digitized data copyright (c) 2010 Google Corporation
2 | with Reserved Font Arimo, Tinos and Cousine.
3 | Copyright (c) 2012 Red Hat, Inc.
4 | with Reserved Font Name Liberation.
5 |
6 | This Font Software is licensed under the SIL Open Font License, Version 1.1.
7 | This license is copied below, and is also available with a FAQ at: http://scripts.sil.org/OFL
8 |
9 | -----------------------------------------------------------
10 | SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
11 | -----------------------------------------------------------
12 |
13 | PREAMBLE
14 | The goals of the Open Font License (OFL) are to stimulate worldwide development of collaborative font projects, to support the font creation efforts of academic and linguistic communities, and to provide a free and open framework in which fonts may be shared and improved in partnership with others.
15 |
16 | The OFL allows the licensed fonts to be used, studied, modified and redistributed freely as long as they are not sold by themselves. The fonts, including any derivative works, can be bundled, embedded, redistributed and/or sold with any software provided that any reserved names are not used by derivative works. The fonts and derivatives, however, cannot be released under any other type of license. The requirement for fonts to remain under this license does not apply to any document created using the fonts or their derivatives.
17 |
18 | DEFINITIONS
19 | "Font Software" refers to the set of files released by the Copyright Holder(s) under this license and clearly marked as such. This may include source files, build scripts and documentation.
20 |
21 | "Reserved Font Name" refers to any names specified as such after the copyright statement(s).
22 |
23 | "Original Version" refers to the collection of Font Software components as distributed by the Copyright Holder(s).
24 |
25 | "Modified Version" refers to any derivative made by adding to, deleting, or substituting -- in part or in whole -- any of the components of the Original Version, by changing formats or by porting the Font Software to a new environment.
26 |
27 | "Author" refers to any designer, engineer, programmer, technical writer or other person who contributed to the Font Software.
28 |
29 | PERMISSION & CONDITIONS
30 | Permission is hereby granted, free of charge, to any person obtaining a copy of the Font Software, to use, study, copy, merge, embed, modify, redistribute, and sell modified and unmodified copies of the Font Software, subject to the following conditions:
31 |
32 | 1) Neither the Font Software nor any of its individual components, in Original or Modified Versions, may be sold by itself.
33 |
34 | 2) Original or Modified Versions of the Font Software may be bundled, redistributed and/or sold with any software, provided that each copy contains the above copyright notice and this license. These can be included either as stand-alone text files, human-readable headers or in the appropriate machine-readable metadata fields within text or binary files as long as those fields can be easily viewed by the user.
35 |
36 | 3) No Modified Version of the Font Software may use the Reserved Font Name(s) unless explicit written permission is granted by the corresponding Copyright Holder. This restriction only applies to the primary font name as presented to the users.
37 |
38 | 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font Software shall not be used to promote, endorse or advertise any Modified Version, except to acknowledge the contribution(s) of the Copyright Holder(s) and the Author(s) or with their explicit written permission.
39 |
40 | 5) The Font Software, modified or unmodified, in part or in whole, must be distributed entirely under this license, and must not be distributed under any other license. The requirement for fonts to remain under this license does not apply to any document created using the Font Software.
41 |
42 | TERMINATION
43 | This license becomes null and void if any of the above conditions are not met.
44 |
45 | DISCLAIMER
46 | THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE.
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/Assets/TextMesh Pro/Fonts/LiberationSans - OFL.txt.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 6e59c59b81ab47f9b6ec5781fa725d2c
3 | timeCreated: 1484171296
4 | licenseType: Pro
5 | TextScriptImporter:
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/Assets/TextMesh Pro/Fonts/LiberationSans.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EricBatlle/UnityAndroidSpeechRecognizer/b0ca7355d51471ea8df93043d29d898c44314fc0/UnitySpeechRecognizer/Assets/TextMesh Pro/Fonts/LiberationSans.ttf
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/Assets/TextMesh Pro/Fonts/LiberationSans.ttf.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: e3265ab4bf004d28a9537516768c1c75
3 | timeCreated: 1484171297
4 | licenseType: Pro
5 | TrueTypeFontImporter:
6 | serializedVersion: 2
7 | fontSize: 16
8 | forceTextureCase: -2
9 | characterSpacing: 1
10 | characterPadding: 0
11 | includeFontData: 1
12 | use2xBehaviour: 0
13 | fontNames: []
14 | fallbackFontReferences: []
15 | customCharacters:
16 | fontRenderingMode: 0
17 | userData:
18 | assetBundleName:
19 | assetBundleVariant:
20 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/Assets/TextMesh Pro/Resources.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 243e06394e614e5d99fab26083b707fa
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/Assets/TextMesh Pro/Resources/Fonts & Materials.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 731f1baa9d144a9897cb1d341c2092b8
3 | folderAsset: yes
4 | timeCreated: 1442040525
5 | licenseType: Pro
6 | DefaultImporter:
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Drop Shadow.mat:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!21 &2100000
4 | Material:
5 | serializedVersion: 6
6 | m_ObjectHideFlags: 0
7 | m_CorrespondingSourceObject: {fileID: 0}
8 | m_PrefabInstance: {fileID: 0}
9 | m_PrefabAsset: {fileID: 0}
10 | m_Name: LiberationSans SDF - Drop Shadow
11 | m_Shader: {fileID: 4800000, guid: fe393ace9b354375a9cb14cdbbc28be4, type: 3}
12 | m_ShaderKeywords: OUTLINE_ON UNDERLAY_ON
13 | m_LightmapFlags: 5
14 | m_EnableInstancingVariants: 0
15 | m_DoubleSidedGI: 0
16 | m_CustomRenderQueue: -1
17 | stringTagMap: {}
18 | disabledShaderPasses: []
19 | m_SavedProperties:
20 | serializedVersion: 3
21 | m_TexEnvs:
22 | - _BumpMap:
23 | m_Texture: {fileID: 0}
24 | m_Scale: {x: 1, y: 1}
25 | m_Offset: {x: 0, y: 0}
26 | - _Cube:
27 | m_Texture: {fileID: 0}
28 | m_Scale: {x: 1, y: 1}
29 | m_Offset: {x: 0, y: 0}
30 | - _FaceTex:
31 | m_Texture: {fileID: 0}
32 | m_Scale: {x: 1, y: 1}
33 | m_Offset: {x: 0, y: 0}
34 | - _MainTex:
35 | m_Texture: {fileID: 28684132378477856, guid: 8f586378b4e144a9851e7b34d9b748ee,
36 | type: 2}
37 | m_Scale: {x: 1, y: 1}
38 | m_Offset: {x: 0, y: 0}
39 | - _OutlineTex:
40 | m_Texture: {fileID: 0}
41 | m_Scale: {x: 1, y: 1}
42 | m_Offset: {x: 0, y: 0}
43 | m_Floats:
44 | - _Ambient: 0.5
45 | - _Bevel: 0.5
46 | - _BevelClamp: 0
47 | - _BevelOffset: 0
48 | - _BevelRoundness: 0
49 | - _BevelWidth: 0
50 | - _BumpFace: 0
51 | - _BumpOutline: 0
52 | - _ColorMask: 15
53 | - _Diffuse: 0.5
54 | - _DiffusePower: 1
55 | - _FaceDilate: 0.1
56 | - _FaceUVSpeedX: 0
57 | - _FaceUVSpeedY: 0
58 | - _GlowInner: 0.05
59 | - _GlowOffset: 0
60 | - _GlowOuter: 0.05
61 | - _GlowPower: 0.75
62 | - _GradientScale: 10
63 | - _LightAngle: 3.1416
64 | - _MaskSoftnessX: 0
65 | - _MaskSoftnessY: 0
66 | - _OutlineSoftness: 0
67 | - _OutlineUVSpeedX: 0
68 | - _OutlineUVSpeedY: 0
69 | - _OutlineWidth: 0.1
70 | - _PerspectiveFilter: 0.875
71 | - _Reflectivity: 10
72 | - _ScaleRatioA: 0.9
73 | - _ScaleRatioB: 0.73125
74 | - _ScaleRatioC: 0.64125
75 | - _ScaleX: 1
76 | - _ScaleY: 1
77 | - _ShaderFlags: 0
78 | - _Sharpness: 0
79 | - _SpecularPower: 2
80 | - _Stencil: 0
81 | - _StencilComp: 8
82 | - _StencilOp: 0
83 | - _StencilReadMask: 255
84 | - _StencilWriteMask: 255
85 | - _TextureHeight: 1024
86 | - _TextureWidth: 1024
87 | - _UnderlayDilate: 0
88 | - _UnderlayOffsetX: 0.5
89 | - _UnderlayOffsetY: -0.5
90 | - _UnderlaySoftness: 0.05
91 | - _VertexOffsetX: 0
92 | - _VertexOffsetY: 0
93 | - _WeightBold: 0.75
94 | - _WeightNormal: 0
95 | m_Colors:
96 | - _ClipRect: {r: -32767, g: -32767, b: 32767, a: 32767}
97 | - _Color: {r: 1, g: 1, b: 1, a: 1}
98 | - _EnvMatrixRotation: {r: 0, g: 0, b: 0, a: 0}
99 | - _FaceColor: {r: 1, g: 1, b: 1, a: 1}
100 | - _GlowColor: {r: 0, g: 1, b: 0, a: 0.5}
101 | - _MaskCoord: {r: 0, g: 0, b: 32767, a: 32767}
102 | - _OutlineColor: {r: 0, g: 0, b: 0, a: 1}
103 | - _ReflectFaceColor: {r: 0, g: 0, b: 0, a: 1}
104 | - _ReflectOutlineColor: {r: 0, g: 0, b: 0, a: 1}
105 | - _SpecularColor: {r: 1, g: 1, b: 1, a: 1}
106 | - _UnderlayColor: {r: 0, g: 0, b: 0, a: 0.5}
107 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Drop Shadow.mat.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: e73a58f6e2794ae7b1b7e50b7fb811b0
3 | timeCreated: 1484172806
4 | licenseType: Pro
5 | NativeFormatImporter:
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Fallback.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!21 &2180264
4 | Material:
5 | serializedVersion: 6
6 | m_ObjectHideFlags: 0
7 | m_CorrespondingSourceObject: {fileID: 0}
8 | m_PrefabInstance: {fileID: 0}
9 | m_PrefabAsset: {fileID: 0}
10 | m_Name: LiberationSans SDF Material
11 | m_Shader: {fileID: 4800000, guid: fe393ace9b354375a9cb14cdbbc28be4, type: 3}
12 | m_ShaderKeywords:
13 | m_LightmapFlags: 1
14 | m_EnableInstancingVariants: 0
15 | m_DoubleSidedGI: 0
16 | m_CustomRenderQueue: -1
17 | stringTagMap: {}
18 | disabledShaderPasses: []
19 | m_SavedProperties:
20 | serializedVersion: 3
21 | m_TexEnvs:
22 | - _BumpMap:
23 | m_Texture: {fileID: 0}
24 | m_Scale: {x: 1, y: 1}
25 | m_Offset: {x: 0, y: 0}
26 | - _Cube:
27 | m_Texture: {fileID: 0}
28 | m_Scale: {x: 1, y: 1}
29 | m_Offset: {x: 0, y: 0}
30 | - _DetailAlbedoMap:
31 | m_Texture: {fileID: 0}
32 | m_Scale: {x: 1, y: 1}
33 | m_Offset: {x: 0, y: 0}
34 | - _DetailMask:
35 | m_Texture: {fileID: 0}
36 | m_Scale: {x: 1, y: 1}
37 | m_Offset: {x: 0, y: 0}
38 | - _DetailNormalMap:
39 | m_Texture: {fileID: 0}
40 | m_Scale: {x: 1, y: 1}
41 | m_Offset: {x: 0, y: 0}
42 | - _EmissionMap:
43 | m_Texture: {fileID: 0}
44 | m_Scale: {x: 1, y: 1}
45 | m_Offset: {x: 0, y: 0}
46 | - _FaceTex:
47 | m_Texture: {fileID: 0}
48 | m_Scale: {x: 1, y: 1}
49 | m_Offset: {x: 0, y: 0}
50 | - _MainTex:
51 | m_Texture: {fileID: 28268798066460806}
52 | m_Scale: {x: 1, y: 1}
53 | m_Offset: {x: 0, y: 0}
54 | - _MetallicGlossMap:
55 | m_Texture: {fileID: 0}
56 | m_Scale: {x: 1, y: 1}
57 | m_Offset: {x: 0, y: 0}
58 | - _OcclusionMap:
59 | m_Texture: {fileID: 0}
60 | m_Scale: {x: 1, y: 1}
61 | m_Offset: {x: 0, y: 0}
62 | - _OutlineTex:
63 | m_Texture: {fileID: 0}
64 | m_Scale: {x: 1, y: 1}
65 | m_Offset: {x: 0, y: 0}
66 | - _ParallaxMap:
67 | m_Texture: {fileID: 0}
68 | m_Scale: {x: 1, y: 1}
69 | m_Offset: {x: 0, y: 0}
70 | m_Floats:
71 | - _Ambient: 0.5
72 | - _Bevel: 0.5
73 | - _BevelClamp: 0
74 | - _BevelOffset: 0
75 | - _BevelRoundness: 0
76 | - _BevelWidth: 0
77 | - _BumpFace: 0
78 | - _BumpOutline: 0
79 | - _BumpScale: 1
80 | - _ColorMask: 15
81 | - _Cutoff: 0.5
82 | - _DetailNormalMapScale: 1
83 | - _Diffuse: 0.5
84 | - _DstBlend: 0
85 | - _FaceDilate: 0
86 | - _FaceUVSpeedX: 0
87 | - _FaceUVSpeedY: 0
88 | - _GlossMapScale: 1
89 | - _Glossiness: 0.5
90 | - _GlossyReflections: 1
91 | - _GlowInner: 0.05
92 | - _GlowOffset: 0
93 | - _GlowOuter: 0.05
94 | - _GlowPower: 0.75
95 | - _GradientScale: 10
96 | - _LightAngle: 3.1416
97 | - _MaskSoftnessX: 0
98 | - _MaskSoftnessY: 0
99 | - _Metallic: 0
100 | - _Mode: 0
101 | - _OcclusionStrength: 1
102 | - _OutlineSoftness: 0
103 | - _OutlineUVSpeedX: 0
104 | - _OutlineUVSpeedY: 0
105 | - _OutlineWidth: 0
106 | - _Parallax: 0.02
107 | - _PerspectiveFilter: 0.875
108 | - _Reflectivity: 10
109 | - _ScaleRatioA: 0.90909094
110 | - _ScaleRatioB: 0.73125
111 | - _ScaleRatioC: 0.7386364
112 | - _ScaleX: 1
113 | - _ScaleY: 1
114 | - _ShaderFlags: 0
115 | - _Sharpness: 0
116 | - _SmoothnessTextureChannel: 0
117 | - _SpecularHighlights: 1
118 | - _SpecularPower: 2
119 | - _SrcBlend: 1
120 | - _Stencil: 0
121 | - _StencilComp: 8
122 | - _StencilOp: 0
123 | - _StencilReadMask: 255
124 | - _StencilWriteMask: 255
125 | - _TextureHeight: 512
126 | - _TextureWidth: 512
127 | - _UVSec: 0
128 | - _UnderlayDilate: 0
129 | - _UnderlayOffsetX: 0
130 | - _UnderlayOffsetY: 0
131 | - _UnderlaySoftness: 0
132 | - _VertexOffsetX: 0
133 | - _VertexOffsetY: 0
134 | - _WeightBold: 0.75
135 | - _WeightNormal: 0
136 | - _ZWrite: 1
137 | m_Colors:
138 | - _ClipRect: {r: -32767, g: -32767, b: 32767, a: 32767}
139 | - _Color: {r: 1, g: 1, b: 1, a: 1}
140 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
141 | - _EnvMatrixRotation: {r: 0, g: 0, b: 0, a: 0}
142 | - _FaceColor: {r: 1, g: 1, b: 1, a: 1}
143 | - _GlowColor: {r: 0, g: 1, b: 0, a: 0.5}
144 | - _MaskCoord: {r: 0, g: 0, b: 32767, a: 32767}
145 | - _OutlineColor: {r: 0, g: 0, b: 0, a: 1}
146 | - _ReflectFaceColor: {r: 0, g: 0, b: 0, a: 1}
147 | - _ReflectOutlineColor: {r: 0, g: 0, b: 0, a: 1}
148 | - _SpecularColor: {r: 1, g: 1, b: 1, a: 1}
149 | - _UnderlayColor: {r: 0, g: 0, b: 0, a: 0.5}
150 | --- !u!114 &11400000
151 | MonoBehaviour:
152 | m_ObjectHideFlags: 0
153 | m_CorrespondingSourceObject: {fileID: 0}
154 | m_PrefabInstance: {fileID: 0}
155 | m_PrefabAsset: {fileID: 0}
156 | m_GameObject: {fileID: 0}
157 | m_Enabled: 1
158 | m_EditorHideFlags: 0
159 | m_Script: {fileID: 11500000, guid: 71c1514a6bd24e1e882cebbe1904ce04, type: 3}
160 | m_Name: LiberationSans SDF - Fallback
161 | m_EditorClassIdentifier:
162 | hashCode: -1699145518
163 | material: {fileID: 2180264}
164 | materialHashCode: -1183942120
165 | m_Version: 1.1.0
166 | m_SourceFontFileGUID: e3265ab4bf004d28a9537516768c1c75
167 | m_SourceFontFile_EditorRef: {fileID: 12800000, guid: e3265ab4bf004d28a9537516768c1c75,
168 | type: 3}
169 | m_SourceFontFile: {fileID: 12800000, guid: e3265ab4bf004d28a9537516768c1c75, type: 3}
170 | m_AtlasPopulationMode: 1
171 | m_FaceInfo:
172 | m_FamilyName: Liberation Sans
173 | m_StyleName: Regular
174 | m_PointSize: 86
175 | m_Scale: 1
176 | m_LineHeight: 98.8916
177 | m_AscentLine: 77.853516
178 | m_CapLine: 59
179 | m_MeanLine: 45
180 | m_Baseline: 0
181 | m_DescentLine: -18.22461
182 | m_SuperscriptOffset: 77.853516
183 | m_SuperscriptSize: 0.5
184 | m_SubscriptOffset: -18.22461
185 | m_SubscriptSize: 0.5
186 | m_UnderlineOffset: -12.261719
187 | m_UnderlineThickness: 6.298828
188 | m_StrikethroughOffset: 18
189 | m_StrikethroughThickness: 6.298828
190 | m_TabWidth: 24
191 | m_GlyphTable: []
192 | m_CharacterTable: []
193 | m_AtlasTextures:
194 | - {fileID: 28268798066460806}
195 | m_AtlasTextureIndex: 0
196 | m_UsedGlyphRects: []
197 | m_FreeGlyphRects:
198 | - m_X: 0
199 | m_Y: 0
200 | m_Width: 511
201 | m_Height: 511
202 | m_fontInfo:
203 | Name: Liberation Sans
204 | PointSize: 86
205 | Scale: 1
206 | CharacterCount: 250
207 | LineHeight: 98.90625
208 | Baseline: 0
209 | Ascender: 77.84375
210 | CapHeight: 59.1875
211 | Descender: -18.21875
212 | CenterLine: 0
213 | SuperscriptOffset: 77.84375
214 | SubscriptOffset: -12.261719
215 | SubSize: 0.5
216 | Underline: -12.261719
217 | UnderlineThickness: 6.298828
218 | strikethrough: 23.675
219 | strikethroughThickness: 0
220 | TabWidth: 239.0625
221 | Padding: 9
222 | AtlasWidth: 1024
223 | AtlasHeight: 1024
224 | atlas: {fileID: 0}
225 | m_AtlasWidth: 512
226 | m_AtlasHeight: 512
227 | m_AtlasPadding: 9
228 | m_AtlasRenderMode: 4169
229 | m_glyphInfoList: []
230 | m_KerningTable:
231 | kerningPairs: []
232 | m_FallbackFontAssetTable: []
233 | m_CreationSettings:
234 | sourceFontFileName:
235 | sourceFontFileGUID: e3265ab4bf004d28a9537516768c1c75
236 | pointSizeSamplingMode: 0
237 | pointSize: 86
238 | padding: 9
239 | packingMode: 4
240 | atlasWidth: 512
241 | atlasHeight: 512
242 | characterSetSelectionMode: 1
243 | characterSequence: 32 - 126, 160 - 255, 8192 - 8303, 8364, 8482, 9633
244 | referencedFontAssetGUID: 8f586378b4e144a9851e7b34d9b748ee
245 | referencedTextAssetGUID:
246 | fontStyle: 0
247 | fontStyleModifier: 0
248 | renderMode: 4169
249 | includeFontFeatures: 1
250 | m_FontWeightTable:
251 | - regularTypeface: {fileID: 0}
252 | italicTypeface: {fileID: 0}
253 | - regularTypeface: {fileID: 0}
254 | italicTypeface: {fileID: 0}
255 | - regularTypeface: {fileID: 0}
256 | italicTypeface: {fileID: 0}
257 | - regularTypeface: {fileID: 0}
258 | italicTypeface: {fileID: 0}
259 | - regularTypeface: {fileID: 0}
260 | italicTypeface: {fileID: 0}
261 | - regularTypeface: {fileID: 0}
262 | italicTypeface: {fileID: 0}
263 | - regularTypeface: {fileID: 0}
264 | italicTypeface: {fileID: 0}
265 | - regularTypeface: {fileID: 0}
266 | italicTypeface: {fileID: 0}
267 | - regularTypeface: {fileID: 0}
268 | italicTypeface: {fileID: 0}
269 | - regularTypeface: {fileID: 0}
270 | italicTypeface: {fileID: 0}
271 | fontWeights:
272 | - regularTypeface: {fileID: 0}
273 | italicTypeface: {fileID: 0}
274 | - regularTypeface: {fileID: 0}
275 | italicTypeface: {fileID: 0}
276 | - regularTypeface: {fileID: 0}
277 | italicTypeface: {fileID: 0}
278 | - regularTypeface: {fileID: 0}
279 | italicTypeface: {fileID: 0}
280 | - regularTypeface: {fileID: 0}
281 | italicTypeface: {fileID: 0}
282 | - regularTypeface: {fileID: 0}
283 | italicTypeface: {fileID: 0}
284 | - regularTypeface: {fileID: 0}
285 | italicTypeface: {fileID: 0}
286 | - regularTypeface: {fileID: 0}
287 | italicTypeface: {fileID: 0}
288 | - regularTypeface: {fileID: 0}
289 | italicTypeface: {fileID: 0}
290 | - regularTypeface: {fileID: 0}
291 | italicTypeface: {fileID: 0}
292 | normalStyle: 0
293 | normalSpacingOffset: 0
294 | boldStyle: 0.75
295 | boldSpacing: 7
296 | italicStyle: 35
297 | tabSize: 10
298 | --- !u!28 &28268798066460806
299 | Texture2D:
300 | m_ObjectHideFlags: 0
301 | m_CorrespondingSourceObject: {fileID: 0}
302 | m_PrefabInstance: {fileID: 0}
303 | m_PrefabAsset: {fileID: 0}
304 | m_Name: LiberationSans SDF Atlas
305 | m_ImageContentsHash:
306 | serializedVersion: 2
307 | Hash: 00000000000000000000000000000000
308 | m_ForcedFallbackFormat: 4
309 | m_DownscaleFallback: 0
310 | serializedVersion: 2
311 | m_Width: 0
312 | m_Height: 0
313 | m_CompleteImageSize: 0
314 | m_TextureFormat: 1
315 | m_MipCount: 1
316 | m_IsReadable: 1
317 | m_StreamingMipmaps: 0
318 | m_StreamingMipmapsPriority: 0
319 | m_AlphaIsTransparency: 0
320 | m_ImageCount: 1
321 | m_TextureDimension: 2
322 | m_TextureSettings:
323 | serializedVersion: 2
324 | m_FilterMode: 1
325 | m_Aniso: 1
326 | m_MipBias: 0
327 | m_WrapU: 0
328 | m_WrapV: 0
329 | m_WrapW: 0
330 | m_LightmapFormat: 0
331 | m_ColorSpace: 0
332 | image data: 0
333 | _typelessdata:
334 | m_StreamData:
335 | offset: 0
336 | size: 0
337 | path:
338 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Fallback.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 2e498d1c8094910479dc3e1b768306a4
3 | timeCreated: 1484171803
4 | licenseType: Pro
5 | NativeFormatImporter:
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Outline.mat:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!21 &2100000
4 | Material:
5 | serializedVersion: 6
6 | m_ObjectHideFlags: 0
7 | m_CorrespondingSourceObject: {fileID: 0}
8 | m_PrefabInstance: {fileID: 0}
9 | m_PrefabAsset: {fileID: 0}
10 | m_Name: LiberationSans SDF - Outline
11 | m_Shader: {fileID: 4800000, guid: fe393ace9b354375a9cb14cdbbc28be4, type: 3}
12 | m_ShaderKeywords: OUTLINE_ON
13 | m_LightmapFlags: 5
14 | m_EnableInstancingVariants: 0
15 | m_DoubleSidedGI: 0
16 | m_CustomRenderQueue: -1
17 | stringTagMap: {}
18 | disabledShaderPasses: []
19 | m_SavedProperties:
20 | serializedVersion: 3
21 | m_TexEnvs:
22 | - _BumpMap:
23 | m_Texture: {fileID: 0}
24 | m_Scale: {x: 1, y: 1}
25 | m_Offset: {x: 0, y: 0}
26 | - _Cube:
27 | m_Texture: {fileID: 0}
28 | m_Scale: {x: 1, y: 1}
29 | m_Offset: {x: 0, y: 0}
30 | - _FaceTex:
31 | m_Texture: {fileID: 0}
32 | m_Scale: {x: 1, y: 1}
33 | m_Offset: {x: 0, y: 0}
34 | - _MainTex:
35 | m_Texture: {fileID: 28684132378477856, guid: 8f586378b4e144a9851e7b34d9b748ee,
36 | type: 2}
37 | m_Scale: {x: 1, y: 1}
38 | m_Offset: {x: 0, y: 0}
39 | - _OutlineTex:
40 | m_Texture: {fileID: 0}
41 | m_Scale: {x: 1, y: 1}
42 | m_Offset: {x: 0, y: 0}
43 | m_Floats:
44 | - _Ambient: 0.5
45 | - _Bevel: 0.5
46 | - _BevelClamp: 0
47 | - _BevelOffset: 0
48 | - _BevelRoundness: 0
49 | - _BevelWidth: 0
50 | - _BumpFace: 0
51 | - _BumpOutline: 0
52 | - _ColorMask: 15
53 | - _Diffuse: 0.5
54 | - _FaceDilate: 0.1
55 | - _FaceUVSpeedX: 0
56 | - _FaceUVSpeedY: 0
57 | - _GlowInner: 0.05
58 | - _GlowOffset: 0
59 | - _GlowOuter: 0.05
60 | - _GlowPower: 0.75
61 | - _GradientScale: 10
62 | - _LightAngle: 3.1416
63 | - _MaskSoftnessX: 0
64 | - _MaskSoftnessY: 0
65 | - _OutlineSoftness: 0
66 | - _OutlineUVSpeedX: 0
67 | - _OutlineUVSpeedY: 0
68 | - _OutlineWidth: 0.1
69 | - _PerspectiveFilter: 0.875
70 | - _Reflectivity: 10
71 | - _ScaleRatioA: 0.9
72 | - _ScaleRatioB: 0.73125
73 | - _ScaleRatioC: 0.64125
74 | - _ScaleX: 1
75 | - _ScaleY: 1
76 | - _ShaderFlags: 0
77 | - _Sharpness: 0
78 | - _SpecularPower: 2
79 | - _Stencil: 0
80 | - _StencilComp: 8
81 | - _StencilOp: 0
82 | - _StencilReadMask: 255
83 | - _StencilWriteMask: 255
84 | - _TextureHeight: 1024
85 | - _TextureWidth: 1024
86 | - _UnderlayDilate: 0
87 | - _UnderlayOffsetX: 0
88 | - _UnderlayOffsetY: 0
89 | - _UnderlaySoftness: 0
90 | - _VertexOffsetX: 0
91 | - _VertexOffsetY: 0
92 | - _WeightBold: 0.75
93 | - _WeightNormal: 0
94 | m_Colors:
95 | - _ClipRect: {r: -32767, g: -32767, b: 32767, a: 32767}
96 | - _EnvMatrixRotation: {r: 0, g: 0, b: 0, a: 0}
97 | - _FaceColor: {r: 1, g: 1, b: 1, a: 1}
98 | - _GlowColor: {r: 0, g: 1, b: 0, a: 0.5}
99 | - _MaskCoord: {r: 0, g: 0, b: 32767, a: 32767}
100 | - _OutlineColor: {r: 0, g: 0, b: 0, a: 1}
101 | - _ReflectFaceColor: {r: 0, g: 0, b: 0, a: 1}
102 | - _ReflectOutlineColor: {r: 0, g: 0, b: 0, a: 1}
103 | - _SpecularColor: {r: 1, g: 1, b: 1, a: 1}
104 | - _UnderlayColor: {r: 0, g: 0, b: 0, a: 0.5}
105 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Outline.mat.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 79459efec17a4d00a321bdcc27bbc385
3 | timeCreated: 1484172856
4 | licenseType: Pro
5 | NativeFormatImporter:
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 8f586378b4e144a9851e7b34d9b748ee
3 | timeCreated: 1484171803
4 | licenseType: Pro
5 | NativeFormatImporter:
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/Assets/TextMesh Pro/Resources/LineBreaking Following Characters.txt:
--------------------------------------------------------------------------------
1 | )]}〕〉》」』】〙〗〟’”⦆»ヽヾーァィゥェォッャュョヮヵヶぁぃぅぇぉっゃゅょゎゕゖㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ々〻‐゠–〜?!‼⁇⁈⁉・、%,.:;。!?]):;=}¢°"†‡℃〆%,.
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/Assets/TextMesh Pro/Resources/LineBreaking Following Characters.txt.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: fade42e8bc714b018fac513c043d323b
3 | timeCreated: 1425440388
4 | licenseType: Store
5 | TextScriptImporter:
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/Assets/TextMesh Pro/Resources/LineBreaking Leading Characters.txt:
--------------------------------------------------------------------------------
1 | ([{〔〈《「『【〘〖〝‘“⦅«$—…‥〳〴〵\[({£¥"々〇〉》」$⦆¥₩ #
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/Assets/TextMesh Pro/Resources/LineBreaking Leading Characters.txt.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d82c1b31c7e74239bff1220585707d2b
3 | timeCreated: 1425440388
4 | licenseType: Store
5 | TextScriptImporter:
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/Assets/TextMesh Pro/Resources/Shaders.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 99f836c9cb9345dba2e72c4a1f2d0695
3 | folderAsset: yes
4 | timeCreated: 1436068007
5 | licenseType: Pro
6 | DefaultImporter:
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/Assets/TextMesh Pro/Resources/Shaders/TMP_Bitmap-Custom-Atlas.shader:
--------------------------------------------------------------------------------
1 | Shader "TextMeshPro/Bitmap Custom Atlas" {
2 |
3 | Properties {
4 | _MainTex ("Font Atlas", 2D) = "white" {}
5 | _FaceTex ("Font Texture", 2D) = "white" {}
6 | _FaceColor ("Text Color", Color) = (1,1,1,1)
7 |
8 | _VertexOffsetX ("Vertex OffsetX", float) = 0
9 | _VertexOffsetY ("Vertex OffsetY", float) = 0
10 | _MaskSoftnessX ("Mask SoftnessX", float) = 0
11 | _MaskSoftnessY ("Mask SoftnessY", float) = 0
12 |
13 | _ClipRect("Clip Rect", vector) = (-32767, -32767, 32767, 32767)
14 | _Padding ("Padding", float) = 0
15 |
16 | _StencilComp("Stencil Comparison", Float) = 8
17 | _Stencil("Stencil ID", Float) = 0
18 | _StencilOp("Stencil Operation", Float) = 0
19 | _StencilWriteMask("Stencil Write Mask", Float) = 255
20 | _StencilReadMask("Stencil Read Mask", Float) = 255
21 |
22 | _ColorMask("Color Mask", Float) = 15
23 | }
24 |
25 | SubShader{
26 |
27 | Tags { "Queue" = "Transparent" "IgnoreProjector" = "True" "RenderType" = "Transparent" }
28 |
29 | Stencil
30 | {
31 | Ref[_Stencil]
32 | Comp[_StencilComp]
33 | Pass[_StencilOp]
34 | ReadMask[_StencilReadMask]
35 | WriteMask[_StencilWriteMask]
36 | }
37 |
38 |
39 | Lighting Off
40 | Cull [_CullMode]
41 | ZTest [unity_GUIZTestMode]
42 | ZWrite Off
43 | Fog { Mode Off }
44 | Blend SrcAlpha OneMinusSrcAlpha
45 | ColorMask[_ColorMask]
46 |
47 | Pass {
48 | CGPROGRAM
49 | #pragma vertex vert
50 | #pragma fragment frag
51 |
52 | #pragma multi_compile __ UNITY_UI_CLIP_RECT
53 | #pragma multi_compile __ UNITY_UI_ALPHACLIP
54 |
55 |
56 | #include "UnityCG.cginc"
57 |
58 | struct appdata_t {
59 | float4 vertex : POSITION;
60 | fixed4 color : COLOR;
61 | float2 texcoord0 : TEXCOORD0;
62 | float2 texcoord1 : TEXCOORD1;
63 | };
64 |
65 | struct v2f {
66 | float4 vertex : SV_POSITION;
67 | fixed4 color : COLOR;
68 | float2 texcoord0 : TEXCOORD0;
69 | float2 texcoord1 : TEXCOORD1;
70 | float4 mask : TEXCOORD2;
71 | };
72 |
73 | uniform sampler2D _MainTex;
74 | uniform sampler2D _FaceTex;
75 | uniform float4 _FaceTex_ST;
76 | uniform fixed4 _FaceColor;
77 |
78 | uniform float _VertexOffsetX;
79 | uniform float _VertexOffsetY;
80 | uniform float4 _ClipRect;
81 | uniform float _MaskSoftnessX;
82 | uniform float _MaskSoftnessY;
83 |
84 | float2 UnpackUV(float uv)
85 | {
86 | float2 output;
87 | output.x = floor(uv / 4096);
88 | output.y = uv - 4096 * output.x;
89 |
90 | return output * 0.001953125;
91 | }
92 |
93 | v2f vert (appdata_t v)
94 | {
95 | float4 vert = v.vertex;
96 | vert.x += _VertexOffsetX;
97 | vert.y += _VertexOffsetY;
98 |
99 | vert.xy += (vert.w * 0.5) / _ScreenParams.xy;
100 |
101 | float4 vPosition = UnityPixelSnap(UnityObjectToClipPos(vert));
102 |
103 | fixed4 faceColor = v.color;
104 | faceColor *= _FaceColor;
105 |
106 | v2f OUT;
107 | OUT.vertex = vPosition;
108 | OUT.color = faceColor;
109 | OUT.texcoord0 = v.texcoord0;
110 | OUT.texcoord1 = TRANSFORM_TEX(UnpackUV(v.texcoord1), _FaceTex);
111 | float2 pixelSize = vPosition.w;
112 | pixelSize /= abs(float2(_ScreenParams.x * UNITY_MATRIX_P[0][0], _ScreenParams.y * UNITY_MATRIX_P[1][1]));
113 |
114 | // Clamp _ClipRect to 16bit.
115 | float4 clampedRect = clamp(_ClipRect, -2e10, 2e10);
116 | OUT.mask = float4(vert.xy * 2 - clampedRect.xy - clampedRect.zw, 0.25 / (0.25 * half2(_MaskSoftnessX, _MaskSoftnessY) + pixelSize.xy));
117 |
118 | return OUT;
119 | }
120 |
121 | fixed4 frag (v2f IN) : SV_Target
122 | {
123 | fixed4 color = tex2D(_MainTex, IN.texcoord0) * tex2D(_FaceTex, IN.texcoord1) * IN.color;
124 |
125 | // Alternative implementation to UnityGet2DClipping with support for softness.
126 | #if UNITY_UI_CLIP_RECT
127 | half2 m = saturate((_ClipRect.zw - _ClipRect.xy - abs(IN.mask.xy)) * IN.mask.zw);
128 | color *= m.x * m.y;
129 | #endif
130 |
131 | #if UNITY_UI_ALPHACLIP
132 | clip(color.a - 0.001);
133 | #endif
134 |
135 | return color;
136 | }
137 | ENDCG
138 | }
139 | }
140 |
141 | CustomEditor "TMPro.EditorUtilities.TMP_BitmapShaderGUI"
142 | }
143 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/Assets/TextMesh Pro/Resources/Shaders/TMP_Bitmap-Custom-Atlas.shader.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 48bb5f55d8670e349b6e614913f9d910
3 | ShaderImporter:
4 | defaultTextures: []
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/Assets/TextMesh Pro/Resources/Shaders/TMP_Bitmap-Mobile.shader:
--------------------------------------------------------------------------------
1 | Shader "TextMeshPro/Mobile/Bitmap" {
2 |
3 | Properties {
4 | _MainTex ("Font Atlas", 2D) = "white" {}
5 | _Color ("Text Color", Color) = (1,1,1,1)
6 | _DiffusePower ("Diffuse Power", Range(1.0,4.0)) = 1.0
7 |
8 | _VertexOffsetX("Vertex OffsetX", float) = 0
9 | _VertexOffsetY("Vertex OffsetY", float) = 0
10 | _MaskSoftnessX("Mask SoftnessX", float) = 0
11 | _MaskSoftnessY("Mask SoftnessY", float) = 0
12 |
13 | _ClipRect("Clip Rect", vector) = (-32767, -32767, 32767, 32767)
14 |
15 | _StencilComp("Stencil Comparison", Float) = 8
16 | _Stencil("Stencil ID", Float) = 0
17 | _StencilOp("Stencil Operation", Float) = 0
18 | _StencilWriteMask("Stencil Write Mask", Float) = 255
19 | _StencilReadMask("Stencil Read Mask", Float) = 255
20 |
21 | _ColorMask("Color Mask", Float) = 15
22 | }
23 |
24 | SubShader {
25 |
26 | Tags { "Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent" }
27 |
28 | Stencil
29 | {
30 | Ref[_Stencil]
31 | Comp[_StencilComp]
32 | Pass[_StencilOp]
33 | ReadMask[_StencilReadMask]
34 | WriteMask[_StencilWriteMask]
35 | }
36 |
37 |
38 | Lighting Off
39 | Cull Off
40 | ZTest [unity_GUIZTestMode]
41 | ZWrite Off
42 | Fog { Mode Off }
43 | Blend SrcAlpha OneMinusSrcAlpha
44 | ColorMask[_ColorMask]
45 |
46 | Pass {
47 | CGPROGRAM
48 | #pragma vertex vert
49 | #pragma fragment frag
50 | #pragma fragmentoption ARB_precision_hint_fastest
51 |
52 | #pragma multi_compile __ UNITY_UI_CLIP_RECT
53 | #pragma multi_compile __ UNITY_UI_ALPHACLIP
54 |
55 |
56 | #include "UnityCG.cginc"
57 |
58 | struct appdata_t {
59 | float4 vertex : POSITION;
60 | fixed4 color : COLOR;
61 | float2 texcoord0 : TEXCOORD0;
62 | float2 texcoord1 : TEXCOORD1;
63 | };
64 |
65 | struct v2f {
66 | float4 vertex : POSITION;
67 | fixed4 color : COLOR;
68 | float2 texcoord0 : TEXCOORD0;
69 | float4 mask : TEXCOORD2;
70 | };
71 |
72 | sampler2D _MainTex;
73 | fixed4 _Color;
74 | float _DiffusePower;
75 |
76 | uniform float _VertexOffsetX;
77 | uniform float _VertexOffsetY;
78 | uniform float4 _ClipRect;
79 | uniform float _MaskSoftnessX;
80 | uniform float _MaskSoftnessY;
81 |
82 | v2f vert (appdata_t v)
83 | {
84 | v2f OUT;
85 | float4 vert = v.vertex;
86 | vert.x += _VertexOffsetX;
87 | vert.y += _VertexOffsetY;
88 |
89 | vert.xy += (vert.w * 0.5) / _ScreenParams.xy;
90 |
91 | OUT.vertex = UnityPixelSnap(UnityObjectToClipPos(vert));
92 | OUT.color = v.color;
93 | OUT.color *= _Color;
94 | OUT.color.rgb *= _DiffusePower;
95 | OUT.texcoord0 = v.texcoord0;
96 |
97 | float2 pixelSize = OUT.vertex.w;
98 | //pixelSize /= abs(float2(_ScreenParams.x * UNITY_MATRIX_P[0][0], _ScreenParams.y * UNITY_MATRIX_P[1][1]));
99 |
100 | // Clamp _ClipRect to 16bit.
101 | float4 clampedRect = clamp(_ClipRect, -2e10, 2e10);
102 | OUT.mask = float4(vert.xy * 2 - clampedRect.xy - clampedRect.zw, 0.25 / (0.25 * half2(_MaskSoftnessX, _MaskSoftnessY) + pixelSize.xy));
103 |
104 | return OUT;
105 | }
106 |
107 | fixed4 frag (v2f IN) : COLOR
108 | {
109 | fixed4 color = fixed4(IN.color.rgb, IN.color.a * tex2D(_MainTex, IN.texcoord0).a);
110 |
111 | // Alternative implementation to UnityGet2DClipping with support for softness.
112 | #if UNITY_UI_CLIP_RECT
113 | half2 m = saturate((_ClipRect.zw - _ClipRect.xy - abs(IN.mask.xy)) * IN.mask.zw);
114 | color *= m.x * m.y;
115 | #endif
116 |
117 | #if UNITY_UI_ALPHACLIP
118 | clip(color.a - 0.001);
119 | #endif
120 |
121 | return color;
122 | }
123 | ENDCG
124 | }
125 | }
126 |
127 | SubShader {
128 | Tags { "Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent" }
129 | Lighting Off Cull Off ZTest Always ZWrite Off Fog { Mode Off }
130 | Blend SrcAlpha OneMinusSrcAlpha
131 | BindChannels {
132 | Bind "Color", color
133 | Bind "Vertex", vertex
134 | Bind "TexCoord", texcoord0
135 | }
136 | Pass {
137 | SetTexture [_MainTex] {
138 | constantColor [_Color] combine constant * primary, constant * texture
139 | }
140 | }
141 | }
142 |
143 | CustomEditor "TMPro.EditorUtilities.TMP_BitmapShaderGUI"
144 | }
145 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/Assets/TextMesh Pro/Resources/Shaders/TMP_Bitmap-Mobile.shader.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 1e3b057af24249748ff873be7fafee47
3 | ShaderImporter:
4 | defaultTextures: []
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/Assets/TextMesh Pro/Resources/Shaders/TMP_Bitmap.shader:
--------------------------------------------------------------------------------
1 | Shader "TextMeshPro/Bitmap" {
2 |
3 | Properties {
4 | _MainTex ("Font Atlas", 2D) = "white" {}
5 | _FaceTex ("Font Texture", 2D) = "white" {}
6 | _FaceColor ("Text Color", Color) = (1,1,1,1)
7 |
8 | _VertexOffsetX ("Vertex OffsetX", float) = 0
9 | _VertexOffsetY ("Vertex OffsetY", float) = 0
10 | _MaskSoftnessX ("Mask SoftnessX", float) = 0
11 | _MaskSoftnessY ("Mask SoftnessY", float) = 0
12 |
13 | _ClipRect("Clip Rect", vector) = (-32767, -32767, 32767, 32767)
14 |
15 | _StencilComp("Stencil Comparison", Float) = 8
16 | _Stencil("Stencil ID", Float) = 0
17 | _StencilOp("Stencil Operation", Float) = 0
18 | _StencilWriteMask("Stencil Write Mask", Float) = 255
19 | _StencilReadMask("Stencil Read Mask", Float) = 255
20 |
21 | _ColorMask("Color Mask", Float) = 15
22 | }
23 |
24 | SubShader{
25 |
26 | Tags { "Queue" = "Transparent" "IgnoreProjector" = "True" "RenderType" = "Transparent" }
27 |
28 | Stencil
29 | {
30 | Ref[_Stencil]
31 | Comp[_StencilComp]
32 | Pass[_StencilOp]
33 | ReadMask[_StencilReadMask]
34 | WriteMask[_StencilWriteMask]
35 | }
36 |
37 |
38 | Lighting Off
39 | Cull [_CullMode]
40 | ZTest [unity_GUIZTestMode]
41 | ZWrite Off
42 | Fog { Mode Off }
43 | Blend SrcAlpha OneMinusSrcAlpha
44 | ColorMask[_ColorMask]
45 |
46 | Pass {
47 | CGPROGRAM
48 | #pragma vertex vert
49 | #pragma fragment frag
50 |
51 | #pragma multi_compile __ UNITY_UI_CLIP_RECT
52 | #pragma multi_compile __ UNITY_UI_ALPHACLIP
53 |
54 |
55 | #include "UnityCG.cginc"
56 |
57 | struct appdata_t {
58 | float4 vertex : POSITION;
59 | fixed4 color : COLOR;
60 | float2 texcoord0 : TEXCOORD0;
61 | float2 texcoord1 : TEXCOORD1;
62 | };
63 |
64 | struct v2f {
65 | float4 vertex : SV_POSITION;
66 | fixed4 color : COLOR;
67 | float2 texcoord0 : TEXCOORD0;
68 | float2 texcoord1 : TEXCOORD1;
69 | float4 mask : TEXCOORD2;
70 | };
71 |
72 | uniform sampler2D _MainTex;
73 | uniform sampler2D _FaceTex;
74 | uniform float4 _FaceTex_ST;
75 | uniform fixed4 _FaceColor;
76 |
77 | uniform float _VertexOffsetX;
78 | uniform float _VertexOffsetY;
79 | uniform float4 _ClipRect;
80 | uniform float _MaskSoftnessX;
81 | uniform float _MaskSoftnessY;
82 |
83 | float2 UnpackUV(float uv)
84 | {
85 | float2 output;
86 | output.x = floor(uv / 4096);
87 | output.y = uv - 4096 * output.x;
88 |
89 | return output * 0.001953125;
90 | }
91 |
92 | v2f vert (appdata_t v)
93 | {
94 | float4 vert = v.vertex;
95 | vert.x += _VertexOffsetX;
96 | vert.y += _VertexOffsetY;
97 |
98 | vert.xy += (vert.w * 0.5) / _ScreenParams.xy;
99 |
100 | float4 vPosition = UnityPixelSnap(UnityObjectToClipPos(vert));
101 |
102 | fixed4 faceColor = v.color;
103 | faceColor *= _FaceColor;
104 |
105 | v2f OUT;
106 | OUT.vertex = vPosition;
107 | OUT.color = faceColor;
108 | OUT.texcoord0 = v.texcoord0;
109 | OUT.texcoord1 = TRANSFORM_TEX(UnpackUV(v.texcoord1), _FaceTex);
110 | float2 pixelSize = vPosition.w;
111 | pixelSize /= abs(float2(_ScreenParams.x * UNITY_MATRIX_P[0][0], _ScreenParams.y * UNITY_MATRIX_P[1][1]));
112 |
113 | // Clamp _ClipRect to 16bit.
114 | float4 clampedRect = clamp(_ClipRect, -2e10, 2e10);
115 | OUT.mask = float4(vert.xy * 2 - clampedRect.xy - clampedRect.zw, 0.25 / (0.25 * half2(_MaskSoftnessX, _MaskSoftnessY) + pixelSize.xy));
116 |
117 | return OUT;
118 | }
119 |
120 | fixed4 frag (v2f IN) : SV_Target
121 | {
122 | fixed4 color = tex2D(_MainTex, IN.texcoord0);
123 | color = fixed4 (tex2D(_FaceTex, IN.texcoord1).rgb * IN.color.rgb, IN.color.a * color.a);
124 |
125 | // Alternative implementation to UnityGet2DClipping with support for softness.
126 | #if UNITY_UI_CLIP_RECT
127 | half2 m = saturate((_ClipRect.zw - _ClipRect.xy - abs(IN.mask.xy)) * IN.mask.zw);
128 | color *= m.x * m.y;
129 | #endif
130 |
131 | #if UNITY_UI_ALPHACLIP
132 | clip(color.a - 0.001);
133 | #endif
134 |
135 | return color;
136 | }
137 | ENDCG
138 | }
139 | }
140 |
141 | CustomEditor "TMPro.EditorUtilities.TMP_BitmapShaderGUI"
142 | }
143 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/Assets/TextMesh Pro/Resources/Shaders/TMP_Bitmap.shader.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 128e987d567d4e2c824d754223b3f3b0
3 | ShaderImporter:
4 | defaultTextures: []
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/Assets/TextMesh Pro/Resources/Shaders/TMP_SDF Overlay.shader.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: dd89cf5b9246416f84610a006f916af7
3 | ShaderImporter:
4 | defaultTextures: []
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/Assets/TextMesh Pro/Resources/Shaders/TMP_SDF-Mobile Masking.shader:
--------------------------------------------------------------------------------
1 | // Simplified SDF shader:
2 | // - No Shading Option (bevel / bump / env map)
3 | // - No Glow Option
4 | // - Softness is applied on both side of the outline
5 |
6 | Shader "TextMeshPro/Mobile/Distance Field - Masking" {
7 |
8 | Properties {
9 | _FaceColor ("Face Color", Color) = (1,1,1,1)
10 | _FaceDilate ("Face Dilate", Range(-1,1)) = 0
11 |
12 | _OutlineColor ("Outline Color", Color) = (0,0,0,1)
13 | _OutlineWidth ("Outline Thickness", Range(0,1)) = 0
14 | _OutlineSoftness ("Outline Softness", Range(0,1)) = 0
15 |
16 | _UnderlayColor ("Border Color", Color) = (0,0,0,.5)
17 | _UnderlayOffsetX ("Border OffsetX", Range(-1,1)) = 0
18 | _UnderlayOffsetY ("Border OffsetY", Range(-1,1)) = 0
19 | _UnderlayDilate ("Border Dilate", Range(-1,1)) = 0
20 | _UnderlaySoftness ("Border Softness", Range(0,1)) = 0
21 |
22 | _WeightNormal ("Weight Normal", float) = 0
23 | _WeightBold ("Weight Bold", float) = .5
24 |
25 | _ShaderFlags ("Flags", float) = 0
26 | _ScaleRatioA ("Scale RatioA", float) = 1
27 | _ScaleRatioB ("Scale RatioB", float) = 1
28 | _ScaleRatioC ("Scale RatioC", float) = 1
29 |
30 | _MainTex ("Font Atlas", 2D) = "white" {}
31 | _TextureWidth ("Texture Width", float) = 512
32 | _TextureHeight ("Texture Height", float) = 512
33 | _GradientScale ("Gradient Scale", float) = 5
34 | _ScaleX ("Scale X", float) = 1
35 | _ScaleY ("Scale Y", float) = 1
36 | _PerspectiveFilter ("Perspective Correction", Range(0, 1)) = 0.875
37 | _Sharpness ("Sharpness", Range(-1,1)) = 0
38 |
39 | _VertexOffsetX ("Vertex OffsetX", float) = 0
40 | _VertexOffsetY ("Vertex OffsetY", float) = 0
41 |
42 | _ClipRect ("Clip Rect", vector) = (-32767, -32767, 32767, 32767)
43 | _MaskSoftnessX ("Mask SoftnessX", float) = 0
44 | _MaskSoftnessY ("Mask SoftnessY", float) = 0
45 | _MaskTex ("Mask Texture", 2D) = "white" {}
46 | _MaskInverse ("Inverse", float) = 0
47 | _MaskEdgeColor ("Edge Color", Color) = (1,1,1,1)
48 | _MaskEdgeSoftness ("Edge Softness", Range(0, 1)) = 0.01
49 | _MaskWipeControl ("Wipe Position", Range(0, 1)) = 0.5
50 |
51 | _StencilComp ("Stencil Comparison", Float) = 8
52 | _Stencil ("Stencil ID", Float) = 0
53 | _StencilOp ("Stencil Operation", Float) = 0
54 | _StencilWriteMask ("Stencil Write Mask", Float) = 255
55 | _StencilReadMask ("Stencil Read Mask", Float) = 255
56 |
57 | _ColorMask ("Color Mask", Float) = 15
58 | }
59 |
60 | SubShader {
61 | Tags
62 | {
63 | "Queue"="Transparent"
64 | "IgnoreProjector"="True"
65 | "RenderType"="Transparent"
66 | }
67 |
68 |
69 | Stencil
70 | {
71 | Ref [_Stencil]
72 | Comp [_StencilComp]
73 | Pass [_StencilOp]
74 | ReadMask [_StencilReadMask]
75 | WriteMask [_StencilWriteMask]
76 | }
77 |
78 | Cull [_CullMode]
79 | ZWrite Off
80 | Lighting Off
81 | Fog { Mode Off }
82 | ZTest [unity_GUIZTestMode]
83 | Blend One OneMinusSrcAlpha
84 | ColorMask [_ColorMask]
85 |
86 | Pass {
87 | CGPROGRAM
88 | #pragma vertex VertShader
89 | #pragma fragment PixShader
90 | #pragma shader_feature __ OUTLINE_ON
91 | #pragma shader_feature __ UNDERLAY_ON UNDERLAY_INNER
92 |
93 | #pragma multi_compile __ UNITY_UI_CLIP_RECT
94 | #pragma multi_compile __ UNITY_UI_ALPHACLIP
95 |
96 |
97 | #include "UnityCG.cginc"
98 | #include "UnityUI.cginc"
99 | #include "TMPro_Properties.cginc"
100 |
101 | struct vertex_t {
102 | float4 vertex : POSITION;
103 | float3 normal : NORMAL;
104 | fixed4 color : COLOR;
105 | float2 texcoord0 : TEXCOORD0;
106 | float2 texcoord1 : TEXCOORD1;
107 | };
108 |
109 | struct pixel_t {
110 | float4 vertex : SV_POSITION;
111 | fixed4 faceColor : COLOR;
112 | fixed4 outlineColor : COLOR1;
113 | float4 texcoord0 : TEXCOORD0; // Texture UV, Mask UV
114 | half4 param : TEXCOORD1; // Scale(x), BiasIn(y), BiasOut(z), Bias(w)
115 | half4 mask : TEXCOORD2; // Position in clip space(xy), Softness(zw)
116 | #if (UNDERLAY_ON | UNDERLAY_INNER)
117 | float4 texcoord1 : TEXCOORD3; // Texture UV, alpha, reserved
118 | half2 underlayParam : TEXCOORD4; // Scale(x), Bias(y)
119 | #endif
120 | };
121 |
122 | float _MaskWipeControl;
123 | float _MaskEdgeSoftness;
124 | fixed4 _MaskEdgeColor;
125 | bool _MaskInverse;
126 |
127 | pixel_t VertShader(vertex_t input)
128 | {
129 | float bold = step(input.texcoord1.y, 0);
130 |
131 | float4 vert = input.vertex;
132 | vert.x += _VertexOffsetX;
133 | vert.y += _VertexOffsetY;
134 | float4 vPosition = UnityObjectToClipPos(vert);
135 |
136 | float2 pixelSize = vPosition.w;
137 | pixelSize /= float2(_ScaleX, _ScaleY) * abs(mul((float2x2)UNITY_MATRIX_P, _ScreenParams.xy));
138 |
139 | float scale = rsqrt(dot(pixelSize, pixelSize));
140 | scale *= abs(input.texcoord1.y) * _GradientScale * (_Sharpness + 1);
141 | if(UNITY_MATRIX_P[3][3] == 0) scale = lerp(abs(scale) * (1 - _PerspectiveFilter), scale, abs(dot(UnityObjectToWorldNormal(input.normal.xyz), normalize(WorldSpaceViewDir(vert)))));
142 |
143 | float weight = lerp(_WeightNormal, _WeightBold, bold) / 4.0;
144 | weight = (weight + _FaceDilate) * _ScaleRatioA * 0.5;
145 |
146 | float layerScale = scale;
147 |
148 | scale /= 1 + (_OutlineSoftness * _ScaleRatioA * scale);
149 | float bias = (0.5 - weight) * scale - 0.5;
150 | float outline = _OutlineWidth * _ScaleRatioA * 0.5 * scale;
151 |
152 | float opacity = input.color.a;
153 | #if (UNDERLAY_ON | UNDERLAY_INNER)
154 | opacity = 1.0;
155 | #endif
156 |
157 | fixed4 faceColor = fixed4(input.color.rgb, opacity) * _FaceColor;
158 | faceColor.rgb *= faceColor.a;
159 |
160 | fixed4 outlineColor = _OutlineColor;
161 | outlineColor.a *= opacity;
162 | outlineColor.rgb *= outlineColor.a;
163 | outlineColor = lerp(faceColor, outlineColor, sqrt(min(1.0, (outline * 2))));
164 |
165 | #if (UNDERLAY_ON | UNDERLAY_INNER)
166 |
167 | layerScale /= 1 + ((_UnderlaySoftness * _ScaleRatioC) * layerScale);
168 | float layerBias = (.5 - weight) * layerScale - .5 - ((_UnderlayDilate * _ScaleRatioC) * .5 * layerScale);
169 |
170 | float x = -(_UnderlayOffsetX * _ScaleRatioC) * _GradientScale / _TextureWidth;
171 | float y = -(_UnderlayOffsetY * _ScaleRatioC) * _GradientScale / _TextureHeight;
172 | float2 layerOffset = float2(x, y);
173 | #endif
174 |
175 | // Generate UV for the Masking Texture
176 | float4 clampedRect = clamp(_ClipRect, -2e10, 2e10);
177 | float2 maskUV = (vert.xy - clampedRect.xy) / (clampedRect.zw - clampedRect.xy);
178 |
179 | // Structure for pixel shader
180 | pixel_t output = {
181 | vPosition,
182 | faceColor,
183 | outlineColor,
184 | float4(input.texcoord0.x, input.texcoord0.y, maskUV.x, maskUV.y),
185 | half4(scale, bias - outline, bias + outline, bias),
186 | half4(vert.xy * 2 - clampedRect.xy - clampedRect.zw, 0.25 / (0.25 * half2(_MaskSoftnessX, _MaskSoftnessY) + pixelSize.xy)),
187 | #if (UNDERLAY_ON | UNDERLAY_INNER)
188 | float4(input.texcoord0 + layerOffset, input.color.a, 0),
189 | half2(layerScale, layerBias),
190 | #endif
191 | };
192 |
193 | return output;
194 | }
195 |
196 |
197 | // PIXEL SHADER
198 | fixed4 PixShader(pixel_t input) : SV_Target
199 | {
200 | half d = tex2D(_MainTex, input.texcoord0.xy).a * input.param.x;
201 | half4 c = input.faceColor * saturate(d - input.param.w);
202 |
203 | #ifdef OUTLINE_ON
204 | c = lerp(input.outlineColor, input.faceColor, saturate(d - input.param.z));
205 | c *= saturate(d - input.param.y);
206 | #endif
207 |
208 | #if UNDERLAY_ON
209 | d = tex2D(_MainTex, input.texcoord1.xy).a * input.underlayParam.x;
210 | c += float4(_UnderlayColor.rgb * _UnderlayColor.a, _UnderlayColor.a) * saturate(d - input.underlayParam.y) * (1 - c.a);
211 | #endif
212 |
213 | #if UNDERLAY_INNER
214 | half sd = saturate(d - input.param.z);
215 | d = tex2D(_MainTex, input.texcoord1.xy).a * input.underlayParam.x;
216 | c += float4(_UnderlayColor.rgb * _UnderlayColor.a, _UnderlayColor.a) * (1 - saturate(d - input.underlayParam.y)) * sd * (1 - c.a);
217 | #endif
218 |
219 | // Alternative implementation to UnityGet2DClipping with support for softness.
220 | #if UNITY_UI_CLIP_RECT
221 | half2 m = saturate((_ClipRect.zw - _ClipRect.xy - abs(input.mask.xy)) * input.mask.zw);
222 | c *= m.x * m.y;
223 | #endif
224 |
225 | float a = abs(_MaskInverse - tex2D(_MaskTex, input.texcoord0.zw).a);
226 | float t = a + (1 - _MaskWipeControl) * _MaskEdgeSoftness - _MaskWipeControl;
227 | a = saturate(t / _MaskEdgeSoftness);
228 | c.rgb = lerp(_MaskEdgeColor.rgb*c.a, c.rgb, a);
229 | c *= a;
230 |
231 | #if (UNDERLAY_ON | UNDERLAY_INNER)
232 | c *= input.texcoord1.z;
233 | #endif
234 |
235 | #if UNITY_UI_ALPHACLIP
236 | clip(c.a - 0.001);
237 | #endif
238 |
239 | return c;
240 | }
241 | ENDCG
242 | }
243 | }
244 |
245 | CustomEditor "TMPro.EditorUtilities.TMP_SDFShaderGUI"
246 | }
247 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/Assets/TextMesh Pro/Resources/Shaders/TMP_SDF-Mobile Masking.shader.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: bc1ede39bf3643ee8e493720e4259791
3 | timeCreated: 1463704911
4 | licenseType: Pro
5 | ShaderImporter:
6 | defaultTextures: []
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/Assets/TextMesh Pro/Resources/Shaders/TMP_SDF-Mobile Overlay.shader:
--------------------------------------------------------------------------------
1 | // Simplified SDF shader:
2 | // - No Shading Option (bevel / bump / env map)
3 | // - No Glow Option
4 | // - Softness is applied on both side of the outline
5 |
6 | Shader "TextMeshPro/Mobile/Distance Field Overlay" {
7 |
8 | Properties {
9 | _FaceColor ("Face Color", Color) = (1,1,1,1)
10 | _FaceDilate ("Face Dilate", Range(-1,1)) = 0
11 |
12 | _OutlineColor ("Outline Color", Color) = (0,0,0,1)
13 | _OutlineWidth ("Outline Thickness", Range(0,1)) = 0
14 | _OutlineSoftness ("Outline Softness", Range(0,1)) = 0
15 |
16 | _UnderlayColor ("Border Color", Color) = (0,0,0,.5)
17 | _UnderlayOffsetX ("Border OffsetX", Range(-1,1)) = 0
18 | _UnderlayOffsetY ("Border OffsetY", Range(-1,1)) = 0
19 | _UnderlayDilate ("Border Dilate", Range(-1,1)) = 0
20 | _UnderlaySoftness ("Border Softness", Range(0,1)) = 0
21 |
22 | _WeightNormal ("Weight Normal", float) = 0
23 | _WeightBold ("Weight Bold", float) = .5
24 |
25 | _ShaderFlags ("Flags", float) = 0
26 | _ScaleRatioA ("Scale RatioA", float) = 1
27 | _ScaleRatioB ("Scale RatioB", float) = 1
28 | _ScaleRatioC ("Scale RatioC", float) = 1
29 |
30 | _MainTex ("Font Atlas", 2D) = "white" {}
31 | _TextureWidth ("Texture Width", float) = 512
32 | _TextureHeight ("Texture Height", float) = 512
33 | _GradientScale ("Gradient Scale", float) = 5
34 | _ScaleX ("Scale X", float) = 1
35 | _ScaleY ("Scale Y", float) = 1
36 | _PerspectiveFilter ("Perspective Correction", Range(0, 1)) = 0.875
37 | _Sharpness ("Sharpness", Range(-1,1)) = 0
38 |
39 | _VertexOffsetX ("Vertex OffsetX", float) = 0
40 | _VertexOffsetY ("Vertex OffsetY", float) = 0
41 |
42 | _ClipRect ("Clip Rect", vector) = (-32767, -32767, 32767, 32767)
43 | _MaskSoftnessX ("Mask SoftnessX", float) = 0
44 | _MaskSoftnessY ("Mask SoftnessY", float) = 0
45 |
46 | _StencilComp ("Stencil Comparison", Float) = 8
47 | _Stencil ("Stencil ID", Float) = 0
48 | _StencilOp ("Stencil Operation", Float) = 0
49 | _StencilWriteMask ("Stencil Write Mask", Float) = 255
50 | _StencilReadMask ("Stencil Read Mask", Float) = 255
51 |
52 | _ColorMask ("Color Mask", Float) = 15
53 | }
54 |
55 | SubShader {
56 | Tags
57 | {
58 | "Queue"="Overlay"
59 | "IgnoreProjector"="True"
60 | "RenderType"="Transparent"
61 | }
62 |
63 |
64 | Stencil
65 | {
66 | Ref [_Stencil]
67 | Comp [_StencilComp]
68 | Pass [_StencilOp]
69 | ReadMask [_StencilReadMask]
70 | WriteMask [_StencilWriteMask]
71 | }
72 |
73 | Cull [_CullMode]
74 | ZWrite Off
75 | Lighting Off
76 | Fog { Mode Off }
77 | ZTest Always
78 | Blend One OneMinusSrcAlpha
79 | ColorMask [_ColorMask]
80 |
81 | Pass {
82 | CGPROGRAM
83 | #pragma vertex VertShader
84 | #pragma fragment PixShader
85 | #pragma shader_feature __ OUTLINE_ON
86 | #pragma shader_feature __ UNDERLAY_ON UNDERLAY_INNER
87 |
88 | #pragma multi_compile __ UNITY_UI_CLIP_RECT
89 | #pragma multi_compile __ UNITY_UI_ALPHACLIP
90 |
91 | #include "UnityCG.cginc"
92 | #include "UnityUI.cginc"
93 | #include "TMPro_Properties.cginc"
94 |
95 | struct vertex_t {
96 | UNITY_VERTEX_INPUT_INSTANCE_ID
97 | float4 vertex : POSITION;
98 | float3 normal : NORMAL;
99 | fixed4 color : COLOR;
100 | float2 texcoord0 : TEXCOORD0;
101 | float2 texcoord1 : TEXCOORD1;
102 | };
103 |
104 | struct pixel_t {
105 | UNITY_VERTEX_INPUT_INSTANCE_ID
106 | UNITY_VERTEX_OUTPUT_STEREO
107 | float4 vertex : SV_POSITION;
108 | fixed4 faceColor : COLOR;
109 | fixed4 outlineColor : COLOR1;
110 | float4 texcoord0 : TEXCOORD0; // Texture UV, Mask UV
111 | half4 param : TEXCOORD1; // Scale(x), BiasIn(y), BiasOut(z), Bias(w)
112 | half4 mask : TEXCOORD2; // Position in clip space(xy), Softness(zw)
113 | #if (UNDERLAY_ON | UNDERLAY_INNER)
114 | float4 texcoord1 : TEXCOORD3; // Texture UV, alpha, reserved
115 | half2 underlayParam : TEXCOORD4; // Scale(x), Bias(y)
116 | #endif
117 | };
118 |
119 |
120 | pixel_t VertShader(vertex_t input)
121 | {
122 | pixel_t output;
123 |
124 | UNITY_INITIALIZE_OUTPUT(pixel_t, output);
125 | UNITY_SETUP_INSTANCE_ID(input);
126 | UNITY_TRANSFER_INSTANCE_ID(input, output);
127 | UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(output);
128 |
129 | float bold = step(input.texcoord1.y, 0);
130 |
131 | float4 vert = input.vertex;
132 | vert.x += _VertexOffsetX;
133 | vert.y += _VertexOffsetY;
134 | float4 vPosition = UnityObjectToClipPos(vert);
135 |
136 | float2 pixelSize = vPosition.w;
137 | pixelSize /= float2(_ScaleX, _ScaleY) * abs(mul((float2x2)UNITY_MATRIX_P, _ScreenParams.xy));
138 |
139 | float scale = rsqrt(dot(pixelSize, pixelSize));
140 | scale *= abs(input.texcoord1.y) * _GradientScale * (_Sharpness + 1);
141 | if(UNITY_MATRIX_P[3][3] == 0) scale = lerp(abs(scale) * (1 - _PerspectiveFilter), scale, abs(dot(UnityObjectToWorldNormal(input.normal.xyz), normalize(WorldSpaceViewDir(vert)))));
142 |
143 | float weight = lerp(_WeightNormal, _WeightBold, bold) / 4.0;
144 | weight = (weight + _FaceDilate) * _ScaleRatioA * 0.5;
145 |
146 | float layerScale = scale;
147 |
148 | scale /= 1 + (_OutlineSoftness * _ScaleRatioA * scale);
149 | float bias = (0.5 - weight) * scale - 0.5;
150 | float outline = _OutlineWidth * _ScaleRatioA * 0.5 * scale;
151 |
152 | float opacity = input.color.a;
153 | #if (UNDERLAY_ON | UNDERLAY_INNER)
154 | opacity = 1.0;
155 | #endif
156 |
157 | fixed4 faceColor = fixed4(input.color.rgb, opacity) * _FaceColor;
158 | faceColor.rgb *= faceColor.a;
159 |
160 | fixed4 outlineColor = _OutlineColor;
161 | outlineColor.a *= opacity;
162 | outlineColor.rgb *= outlineColor.a;
163 | outlineColor = lerp(faceColor, outlineColor, sqrt(min(1.0, (outline * 2))));
164 |
165 | #if (UNDERLAY_ON | UNDERLAY_INNER)
166 | layerScale /= 1 + ((_UnderlaySoftness * _ScaleRatioC) * layerScale);
167 | float layerBias = (.5 - weight) * layerScale - .5 - ((_UnderlayDilate * _ScaleRatioC) * .5 * layerScale);
168 |
169 | float x = -(_UnderlayOffsetX * _ScaleRatioC) * _GradientScale / _TextureWidth;
170 | float y = -(_UnderlayOffsetY * _ScaleRatioC) * _GradientScale / _TextureHeight;
171 | float2 layerOffset = float2(x, y);
172 | #endif
173 |
174 | // Generate UV for the Masking Texture
175 | float4 clampedRect = clamp(_ClipRect, -2e10, 2e10);
176 | float2 maskUV = (vert.xy - clampedRect.xy) / (clampedRect.zw - clampedRect.xy);
177 |
178 | // Populate structure for pixel shader
179 | output.vertex = vPosition;
180 | output.faceColor = faceColor;
181 | output.outlineColor = outlineColor;
182 | output.texcoord0 = float4(input.texcoord0.x, input.texcoord0.y, maskUV.x, maskUV.y);
183 | output.param = half4(scale, bias - outline, bias + outline, bias);
184 | output.mask = half4(vert.xy * 2 - clampedRect.xy - clampedRect.zw, 0.25 / (0.25 * half2(_MaskSoftnessX, _MaskSoftnessY) + pixelSize.xy));
185 | #if (UNDERLAY_ON || UNDERLAY_INNER)
186 | output.texcoord1 = float4(input.texcoord0 + layerOffset, input.color.a, 0);
187 | output.underlayParam = half2(layerScale, layerBias);
188 | #endif
189 |
190 | return output;
191 | }
192 |
193 |
194 | // PIXEL SHADER
195 | fixed4 PixShader(pixel_t input) : SV_Target
196 | {
197 | UNITY_SETUP_INSTANCE_ID(input);
198 |
199 | half d = tex2D(_MainTex, input.texcoord0.xy).a * input.param.x;
200 | half4 c = input.faceColor * saturate(d - input.param.w);
201 |
202 | #ifdef OUTLINE_ON
203 | c = lerp(input.outlineColor, input.faceColor, saturate(d - input.param.z));
204 | c *= saturate(d - input.param.y);
205 | #endif
206 |
207 | #if UNDERLAY_ON
208 | d = tex2D(_MainTex, input.texcoord1.xy).a * input.underlayParam.x;
209 | c += float4(_UnderlayColor.rgb * _UnderlayColor.a, _UnderlayColor.a) * saturate(d - input.underlayParam.y) * (1 - c.a);
210 | #endif
211 |
212 | #if UNDERLAY_INNER
213 | half sd = saturate(d - input.param.z);
214 | d = tex2D(_MainTex, input.texcoord1.xy).a * input.underlayParam.x;
215 | c += float4(_UnderlayColor.rgb * _UnderlayColor.a, _UnderlayColor.a) * (1 - saturate(d - input.underlayParam.y)) * sd * (1 - c.a);
216 | #endif
217 |
218 | // Alternative implementation to UnityGet2DClipping with support for softness.
219 | #if UNITY_UI_CLIP_RECT
220 | half2 m = saturate((_ClipRect.zw - _ClipRect.xy - abs(input.mask.xy)) * input.mask.zw);
221 | c *= m.x * m.y;
222 | #endif
223 |
224 | #if (UNDERLAY_ON | UNDERLAY_INNER)
225 | c *= input.texcoord1.z;
226 | #endif
227 |
228 | #if UNITY_UI_ALPHACLIP
229 | clip(c.a - 0.001);
230 | #endif
231 |
232 | return c;
233 | }
234 | ENDCG
235 | }
236 | }
237 |
238 | CustomEditor "TMPro.EditorUtilities.TMP_SDFShaderGUI"
239 | }
240 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/Assets/TextMesh Pro/Resources/Shaders/TMP_SDF-Mobile Overlay.shader.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: a02a7d8c237544f1962732b55a9aebf1
3 | ShaderImporter:
4 | defaultTextures: []
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/Assets/TextMesh Pro/Resources/Shaders/TMP_SDF-Mobile.shader:
--------------------------------------------------------------------------------
1 | // Simplified SDF shader:
2 | // - No Shading Option (bevel / bump / env map)
3 | // - No Glow Option
4 | // - Softness is applied on both side of the outline
5 |
6 | Shader "TextMeshPro/Mobile/Distance Field" {
7 |
8 | Properties {
9 | _FaceColor ("Face Color", Color) = (1,1,1,1)
10 | _FaceDilate ("Face Dilate", Range(-1,1)) = 0
11 |
12 | _OutlineColor ("Outline Color", Color) = (0,0,0,1)
13 | _OutlineWidth ("Outline Thickness", Range(0,1)) = 0
14 | _OutlineSoftness ("Outline Softness", Range(0,1)) = 0
15 |
16 | _UnderlayColor ("Border Color", Color) = (0,0,0,.5)
17 | _UnderlayOffsetX ("Border OffsetX", Range(-1,1)) = 0
18 | _UnderlayOffsetY ("Border OffsetY", Range(-1,1)) = 0
19 | _UnderlayDilate ("Border Dilate", Range(-1,1)) = 0
20 | _UnderlaySoftness ("Border Softness", Range(0,1)) = 0
21 |
22 | _WeightNormal ("Weight Normal", float) = 0
23 | _WeightBold ("Weight Bold", float) = .5
24 |
25 | _ShaderFlags ("Flags", float) = 0
26 | _ScaleRatioA ("Scale RatioA", float) = 1
27 | _ScaleRatioB ("Scale RatioB", float) = 1
28 | _ScaleRatioC ("Scale RatioC", float) = 1
29 |
30 | _MainTex ("Font Atlas", 2D) = "white" {}
31 | _TextureWidth ("Texture Width", float) = 512
32 | _TextureHeight ("Texture Height", float) = 512
33 | _GradientScale ("Gradient Scale", float) = 5
34 | _ScaleX ("Scale X", float) = 1
35 | _ScaleY ("Scale Y", float) = 1
36 | _PerspectiveFilter ("Perspective Correction", Range(0, 1)) = 0.875
37 | _Sharpness ("Sharpness", Range(-1,1)) = 0
38 |
39 | _VertexOffsetX ("Vertex OffsetX", float) = 0
40 | _VertexOffsetY ("Vertex OffsetY", float) = 0
41 |
42 | _ClipRect ("Clip Rect", vector) = (-32767, -32767, 32767, 32767)
43 | _MaskSoftnessX ("Mask SoftnessX", float) = 0
44 | _MaskSoftnessY ("Mask SoftnessY", float) = 0
45 |
46 | _StencilComp ("Stencil Comparison", Float) = 8
47 | _Stencil ("Stencil ID", Float) = 0
48 | _StencilOp ("Stencil Operation", Float) = 0
49 | _StencilWriteMask ("Stencil Write Mask", Float) = 255
50 | _StencilReadMask ("Stencil Read Mask", Float) = 255
51 |
52 | _ColorMask ("Color Mask", Float) = 15
53 | }
54 |
55 | SubShader {
56 | Tags
57 | {
58 | "Queue"="Transparent"
59 | "IgnoreProjector"="True"
60 | "RenderType"="Transparent"
61 | }
62 |
63 |
64 | Stencil
65 | {
66 | Ref [_Stencil]
67 | Comp [_StencilComp]
68 | Pass [_StencilOp]
69 | ReadMask [_StencilReadMask]
70 | WriteMask [_StencilWriteMask]
71 | }
72 |
73 | Cull [_CullMode]
74 | ZWrite Off
75 | Lighting Off
76 | Fog { Mode Off }
77 | ZTest [unity_GUIZTestMode]
78 | Blend One OneMinusSrcAlpha
79 | ColorMask [_ColorMask]
80 |
81 | Pass {
82 | CGPROGRAM
83 | #pragma vertex VertShader
84 | #pragma fragment PixShader
85 | #pragma shader_feature __ OUTLINE_ON
86 | #pragma shader_feature __ UNDERLAY_ON UNDERLAY_INNER
87 |
88 | #pragma multi_compile __ UNITY_UI_CLIP_RECT
89 | #pragma multi_compile __ UNITY_UI_ALPHACLIP
90 |
91 | #include "UnityCG.cginc"
92 | #include "UnityUI.cginc"
93 | #include "TMPro_Properties.cginc"
94 |
95 | struct vertex_t {
96 | UNITY_VERTEX_INPUT_INSTANCE_ID
97 | float4 vertex : POSITION;
98 | float3 normal : NORMAL;
99 | fixed4 color : COLOR;
100 | float2 texcoord0 : TEXCOORD0;
101 | float2 texcoord1 : TEXCOORD1;
102 | };
103 |
104 | struct pixel_t {
105 | UNITY_VERTEX_INPUT_INSTANCE_ID
106 | UNITY_VERTEX_OUTPUT_STEREO
107 | float4 vertex : SV_POSITION;
108 | fixed4 faceColor : COLOR;
109 | fixed4 outlineColor : COLOR1;
110 | float4 texcoord0 : TEXCOORD0; // Texture UV, Mask UV
111 | half4 param : TEXCOORD1; // Scale(x), BiasIn(y), BiasOut(z), Bias(w)
112 | half4 mask : TEXCOORD2; // Position in clip space(xy), Softness(zw)
113 | #if (UNDERLAY_ON | UNDERLAY_INNER)
114 | float4 texcoord1 : TEXCOORD3; // Texture UV, alpha, reserved
115 | half2 underlayParam : TEXCOORD4; // Scale(x), Bias(y)
116 | #endif
117 | };
118 |
119 |
120 | pixel_t VertShader(vertex_t input)
121 | {
122 | pixel_t output;
123 |
124 | UNITY_INITIALIZE_OUTPUT(pixel_t, output);
125 | UNITY_SETUP_INSTANCE_ID(input);
126 | UNITY_TRANSFER_INSTANCE_ID(input, output);
127 | UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(output);
128 |
129 | float bold = step(input.texcoord1.y, 0);
130 |
131 | float4 vert = input.vertex;
132 | vert.x += _VertexOffsetX;
133 | vert.y += _VertexOffsetY;
134 | float4 vPosition = UnityObjectToClipPos(vert);
135 |
136 | float2 pixelSize = vPosition.w;
137 | pixelSize /= float2(_ScaleX, _ScaleY) * abs(mul((float2x2)UNITY_MATRIX_P, _ScreenParams.xy));
138 |
139 | float scale = rsqrt(dot(pixelSize, pixelSize));
140 | scale *= abs(input.texcoord1.y) * _GradientScale * (_Sharpness + 1);
141 | if(UNITY_MATRIX_P[3][3] == 0) scale = lerp(abs(scale) * (1 - _PerspectiveFilter), scale, abs(dot(UnityObjectToWorldNormal(input.normal.xyz), normalize(WorldSpaceViewDir(vert)))));
142 |
143 | float weight = lerp(_WeightNormal, _WeightBold, bold) / 4.0;
144 | weight = (weight + _FaceDilate) * _ScaleRatioA * 0.5;
145 |
146 | float layerScale = scale;
147 |
148 | scale /= 1 + (_OutlineSoftness * _ScaleRatioA * scale);
149 | float bias = (0.5 - weight) * scale - 0.5;
150 | float outline = _OutlineWidth * _ScaleRatioA * 0.5 * scale;
151 |
152 | float opacity = input.color.a;
153 | #if (UNDERLAY_ON | UNDERLAY_INNER)
154 | opacity = 1.0;
155 | #endif
156 |
157 | fixed4 faceColor = fixed4(input.color.rgb, opacity) * _FaceColor;
158 | faceColor.rgb *= faceColor.a;
159 |
160 | fixed4 outlineColor = _OutlineColor;
161 | outlineColor.a *= opacity;
162 | outlineColor.rgb *= outlineColor.a;
163 | outlineColor = lerp(faceColor, outlineColor, sqrt(min(1.0, (outline * 2))));
164 |
165 | #if (UNDERLAY_ON | UNDERLAY_INNER)
166 | layerScale /= 1 + ((_UnderlaySoftness * _ScaleRatioC) * layerScale);
167 | float layerBias = (.5 - weight) * layerScale - .5 - ((_UnderlayDilate * _ScaleRatioC) * .5 * layerScale);
168 |
169 | float x = -(_UnderlayOffsetX * _ScaleRatioC) * _GradientScale / _TextureWidth;
170 | float y = -(_UnderlayOffsetY * _ScaleRatioC) * _GradientScale / _TextureHeight;
171 | float2 layerOffset = float2(x, y);
172 | #endif
173 |
174 | // Generate UV for the Masking Texture
175 | float4 clampedRect = clamp(_ClipRect, -2e10, 2e10);
176 | float2 maskUV = (vert.xy - clampedRect.xy) / (clampedRect.zw - clampedRect.xy);
177 |
178 | // Populate structure for pixel shader
179 | output.vertex = vPosition;
180 | output.faceColor = faceColor;
181 | output.outlineColor = outlineColor;
182 | output.texcoord0 = float4(input.texcoord0.x, input.texcoord0.y, maskUV.x, maskUV.y);
183 | output.param = half4(scale, bias - outline, bias + outline, bias);
184 | output.mask = half4(vert.xy * 2 - clampedRect.xy - clampedRect.zw, 0.25 / (0.25 * half2(_MaskSoftnessX, _MaskSoftnessY) + pixelSize.xy));
185 | #if (UNDERLAY_ON || UNDERLAY_INNER)
186 | output.texcoord1 = float4(input.texcoord0 + layerOffset, input.color.a, 0);
187 | output.underlayParam = half2(layerScale, layerBias);
188 | #endif
189 |
190 | return output;
191 | }
192 |
193 |
194 | // PIXEL SHADER
195 | fixed4 PixShader(pixel_t input) : SV_Target
196 | {
197 | UNITY_SETUP_INSTANCE_ID(input);
198 |
199 | half d = tex2D(_MainTex, input.texcoord0.xy).a * input.param.x;
200 | half4 c = input.faceColor * saturate(d - input.param.w);
201 |
202 | #ifdef OUTLINE_ON
203 | c = lerp(input.outlineColor, input.faceColor, saturate(d - input.param.z));
204 | c *= saturate(d - input.param.y);
205 | #endif
206 |
207 | #if UNDERLAY_ON
208 | d = tex2D(_MainTex, input.texcoord1.xy).a * input.underlayParam.x;
209 | c += float4(_UnderlayColor.rgb * _UnderlayColor.a, _UnderlayColor.a) * saturate(d - input.underlayParam.y) * (1 - c.a);
210 | #endif
211 |
212 | #if UNDERLAY_INNER
213 | half sd = saturate(d - input.param.z);
214 | d = tex2D(_MainTex, input.texcoord1.xy).a * input.underlayParam.x;
215 | c += float4(_UnderlayColor.rgb * _UnderlayColor.a, _UnderlayColor.a) * (1 - saturate(d - input.underlayParam.y)) * sd * (1 - c.a);
216 | #endif
217 |
218 | // Alternative implementation to UnityGet2DClipping with support for softness.
219 | #if UNITY_UI_CLIP_RECT
220 | half2 m = saturate((_ClipRect.zw - _ClipRect.xy - abs(input.mask.xy)) * input.mask.zw);
221 | c *= m.x * m.y;
222 | #endif
223 |
224 | #if (UNDERLAY_ON | UNDERLAY_INNER)
225 | c *= input.texcoord1.z;
226 | #endif
227 |
228 | #if UNITY_UI_ALPHACLIP
229 | clip(c.a - 0.001);
230 | #endif
231 |
232 | return c;
233 | }
234 | ENDCG
235 | }
236 | }
237 |
238 | CustomEditor "TMPro.EditorUtilities.TMP_SDFShaderGUI"
239 | }
240 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/Assets/TextMesh Pro/Resources/Shaders/TMP_SDF-Mobile.shader.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: fe393ace9b354375a9cb14cdbbc28be4
3 | ShaderImporter:
4 | defaultTextures: []
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/Assets/TextMesh Pro/Resources/Shaders/TMP_SDF-Surface-Mobile.shader:
--------------------------------------------------------------------------------
1 | // Simplified version of the SDF Surface shader :
2 | // - No support for Bevel, Bump or envmap
3 | // - Diffuse only lighting
4 | // - Fully supports only 1 directional light. Other lights can affect it, but it will be per-vertex/SH.
5 |
6 | Shader "TextMeshPro/Mobile/Distance Field (Surface)" {
7 |
8 | Properties {
9 | _FaceTex ("Fill Texture", 2D) = "white" {}
10 | _FaceColor ("Fill Color", Color) = (1,1,1,1)
11 | _FaceDilate ("Face Dilate", Range(-1,1)) = 0
12 |
13 | _OutlineColor ("Outline Color", Color) = (0,0,0,1)
14 | _OutlineTex ("Outline Texture", 2D) = "white" {}
15 | _OutlineWidth ("Outline Thickness", Range(0, 1)) = 0
16 | _OutlineSoftness ("Outline Softness", Range(0,1)) = 0
17 |
18 | _GlowColor ("Color", Color) = (0, 1, 0, 0.5)
19 | _GlowOffset ("Offset", Range(-1,1)) = 0
20 | _GlowInner ("Inner", Range(0,1)) = 0.05
21 | _GlowOuter ("Outer", Range(0,1)) = 0.05
22 | _GlowPower ("Falloff", Range(1, 0)) = 0.75
23 |
24 | _WeightNormal ("Weight Normal", float) = 0
25 | _WeightBold ("Weight Bold", float) = 0.5
26 |
27 | // Should not be directly exposed to the user
28 | _ShaderFlags ("Flags", float) = 0
29 | _ScaleRatioA ("Scale RatioA", float) = 1
30 | _ScaleRatioB ("Scale RatioB", float) = 1
31 | _ScaleRatioC ("Scale RatioC", float) = 1
32 |
33 | _MainTex ("Font Atlas", 2D) = "white" {}
34 | _TextureWidth ("Texture Width", float) = 512
35 | _TextureHeight ("Texture Height", float) = 512
36 | _GradientScale ("Gradient Scale", float) = 5.0
37 | _ScaleX ("Scale X", float) = 1.0
38 | _ScaleY ("Scale Y", float) = 1.0
39 | _PerspectiveFilter ("Perspective Correction", Range(0, 1)) = 0.875
40 | _Sharpness ("Sharpness", Range(-1,1)) = 0
41 |
42 | _VertexOffsetX ("Vertex OffsetX", float) = 0
43 | _VertexOffsetY ("Vertex OffsetY", float) = 0
44 |
45 | //_MaskCoord ("Mask Coords", vector) = (0,0,0,0)
46 | //_MaskSoftness ("Mask Softness", float) = 0
47 | }
48 |
49 | SubShader {
50 |
51 | Tags {
52 | "Queue"="Transparent"
53 | "IgnoreProjector"="True"
54 | "RenderType"="Transparent"
55 | }
56 |
57 | LOD 300
58 | Cull [_CullMode]
59 |
60 | CGPROGRAM
61 | #pragma surface PixShader Lambert alpha:blend vertex:VertShader noforwardadd nolightmap nodirlightmap
62 | #pragma target 3.0
63 | #pragma shader_feature __ GLOW_ON
64 |
65 | #include "TMPro_Properties.cginc"
66 | #include "TMPro.cginc"
67 |
68 | half _FaceShininess;
69 | half _OutlineShininess;
70 |
71 | struct Input
72 | {
73 | fixed4 color : COLOR;
74 | float2 uv_MainTex;
75 | float2 uv2_FaceTex;
76 | float2 uv2_OutlineTex;
77 | float2 param; // Weight, Scale
78 | float3 viewDirEnv;
79 | };
80 |
81 | #include "TMPro_Surface.cginc"
82 |
83 | ENDCG
84 |
85 | // Pass to render object as a shadow caster
86 | Pass
87 | {
88 | Name "Caster"
89 | Tags { "LightMode" = "ShadowCaster" }
90 | Offset 1, 1
91 |
92 | Fog {Mode Off}
93 | ZWrite On ZTest LEqual Cull Off
94 |
95 | CGPROGRAM
96 | #pragma vertex vert
97 | #pragma fragment frag
98 | #pragma multi_compile_shadowcaster
99 | #include "UnityCG.cginc"
100 |
101 | struct v2f {
102 | V2F_SHADOW_CASTER;
103 | float2 uv : TEXCOORD1;
104 | float2 uv2 : TEXCOORD3;
105 | float alphaClip : TEXCOORD2;
106 | };
107 |
108 | uniform float4 _MainTex_ST;
109 | uniform float4 _OutlineTex_ST;
110 | float _OutlineWidth;
111 | float _FaceDilate;
112 | float _ScaleRatioA;
113 |
114 | v2f vert( appdata_base v )
115 | {
116 | v2f o;
117 | TRANSFER_SHADOW_CASTER(o)
118 | o.uv = TRANSFORM_TEX(v.texcoord, _MainTex);
119 | o.uv2 = TRANSFORM_TEX(v.texcoord, _OutlineTex);
120 | o.alphaClip = o.alphaClip = (1.0 - _OutlineWidth * _ScaleRatioA - _FaceDilate * _ScaleRatioA) / 2;
121 | return o;
122 | }
123 |
124 | uniform sampler2D _MainTex;
125 |
126 | float4 frag(v2f i) : COLOR
127 | {
128 | fixed4 texcol = tex2D(_MainTex, i.uv).a;
129 | clip(texcol.a - i.alphaClip);
130 | SHADOW_CASTER_FRAGMENT(i)
131 | }
132 | ENDCG
133 | }
134 | }
135 |
136 | CustomEditor "TMPro.EditorUtilities.TMP_SDFShaderGUI"
137 | }
138 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/Assets/TextMesh Pro/Resources/Shaders/TMP_SDF-Surface-Mobile.shader.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 85187c2149c549c5b33f0cdb02836b17
3 | ShaderImporter:
4 | defaultTextures: []
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/Assets/TextMesh Pro/Resources/Shaders/TMP_SDF-Surface.shader:
--------------------------------------------------------------------------------
1 | Shader "TextMeshPro/Distance Field (Surface)" {
2 |
3 | Properties {
4 | _FaceTex ("Fill Texture", 2D) = "white" {}
5 | _FaceUVSpeedX ("Face UV Speed X", Range(-5, 5)) = 0.0
6 | _FaceUVSpeedY ("Face UV Speed Y", Range(-5, 5)) = 0.0
7 | _FaceColor ("Fill Color", Color) = (1,1,1,1)
8 | _FaceDilate ("Face Dilate", Range(-1,1)) = 0
9 |
10 | _OutlineColor ("Outline Color", Color) = (0,0,0,1)
11 | _OutlineTex ("Outline Texture", 2D) = "white" {}
12 | _OutlineUVSpeedX ("Outline UV Speed X", Range(-5, 5)) = 0.0
13 | _OutlineUVSpeedY ("Outline UV Speed Y", Range(-5, 5)) = 0.0
14 | _OutlineWidth ("Outline Thickness", Range(0, 1)) = 0
15 | _OutlineSoftness ("Outline Softness", Range(0,1)) = 0
16 |
17 | _Bevel ("Bevel", Range(0,1)) = 0.5
18 | _BevelOffset ("Bevel Offset", Range(-0.5,0.5)) = 0
19 | _BevelWidth ("Bevel Width", Range(-.5,0.5)) = 0
20 | _BevelClamp ("Bevel Clamp", Range(0,1)) = 0
21 | _BevelRoundness ("Bevel Roundness", Range(0,1)) = 0
22 |
23 | _BumpMap ("Normalmap", 2D) = "bump" {}
24 | _BumpOutline ("Bump Outline", Range(0,1)) = 0.5
25 | _BumpFace ("Bump Face", Range(0,1)) = 0.5
26 |
27 | _ReflectFaceColor ("Face Color", Color) = (0,0,0,1)
28 | _ReflectOutlineColor ("Outline Color", Color) = (0,0,0,1)
29 | _Cube ("Reflection Cubemap", Cube) = "black" { /* TexGen CubeReflect */ }
30 | _EnvMatrixRotation ("Texture Rotation", vector) = (0, 0, 0, 0)
31 | _SpecColor ("Specular Color", Color) = (0,0,0,1)
32 |
33 | _FaceShininess ("Face Shininess", Range(0,1)) = 0
34 | _OutlineShininess ("Outline Shininess", Range(0,1)) = 0
35 |
36 | _GlowColor ("Color", Color) = (0, 1, 0, 0.5)
37 | _GlowOffset ("Offset", Range(-1,1)) = 0
38 | _GlowInner ("Inner", Range(0,1)) = 0.05
39 | _GlowOuter ("Outer", Range(0,1)) = 0.05
40 | _GlowPower ("Falloff", Range(1, 0)) = 0.75
41 |
42 | _WeightNormal ("Weight Normal", float) = 0
43 | _WeightBold ("Weight Bold", float) = 0.5
44 |
45 | // Should not be directly exposed to the user
46 | _ShaderFlags ("Flags", float) = 0
47 | _ScaleRatioA ("Scale RatioA", float) = 1
48 | _ScaleRatioB ("Scale RatioB", float) = 1
49 | _ScaleRatioC ("Scale RatioC", float) = 1
50 |
51 | _MainTex ("Font Atlas", 2D) = "white" {}
52 | _TextureWidth ("Texture Width", float) = 512
53 | _TextureHeight ("Texture Height", float) = 512
54 | _GradientScale ("Gradient Scale", float) = 5.0
55 | _ScaleX ("Scale X", float) = 1.0
56 | _ScaleY ("Scale Y", float) = 1.0
57 | _PerspectiveFilter ("Perspective Correction", Range(0, 1)) = 0.875
58 | _Sharpness ("Sharpness", Range(-1,1)) = 0
59 |
60 | _VertexOffsetX ("Vertex OffsetX", float) = 0
61 | _VertexOffsetY ("Vertex OffsetY", float) = 0
62 | //_MaskCoord ("Mask Coords", vector) = (0,0,0,0)
63 | //_MaskSoftness ("Mask Softness", float) = 0
64 | }
65 |
66 | SubShader {
67 |
68 | Tags { "Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent" }
69 |
70 | LOD 300
71 | Cull [_CullMode]
72 |
73 | CGPROGRAM
74 | #pragma surface PixShader BlinnPhong alpha:blend vertex:VertShader nolightmap nodirlightmap
75 | #pragma target 3.0
76 | #pragma shader_feature __ GLOW_ON
77 | #pragma glsl
78 |
79 | #include "TMPro_Properties.cginc"
80 | #include "TMPro.cginc"
81 |
82 | half _FaceShininess;
83 | half _OutlineShininess;
84 |
85 | struct Input
86 | {
87 | fixed4 color : COLOR;
88 | float2 uv_MainTex;
89 | float2 uv2_FaceTex;
90 | float2 uv2_OutlineTex;
91 | float2 param; // Weight, Scale
92 | float3 viewDirEnv;
93 | };
94 |
95 |
96 | #define BEVEL_ON 1
97 | #include "TMPro_Surface.cginc"
98 |
99 | ENDCG
100 |
101 | // Pass to render object as a shadow caster
102 | Pass
103 | {
104 | Name "Caster"
105 | Tags { "LightMode" = "ShadowCaster" }
106 | Offset 1, 1
107 |
108 | Fog {Mode Off}
109 | ZWrite On
110 | ZTest LEqual
111 | Cull Off
112 |
113 | CGPROGRAM
114 | #pragma vertex vert
115 | #pragma fragment frag
116 | #pragma multi_compile_shadowcaster
117 | #include "UnityCG.cginc"
118 |
119 | struct v2f {
120 | V2F_SHADOW_CASTER;
121 | float2 uv : TEXCOORD1;
122 | float2 uv2 : TEXCOORD3;
123 | float alphaClip : TEXCOORD2;
124 | };
125 |
126 | uniform float4 _MainTex_ST;
127 | uniform float4 _OutlineTex_ST;
128 | float _OutlineWidth;
129 | float _FaceDilate;
130 | float _ScaleRatioA;
131 |
132 | v2f vert( appdata_base v )
133 | {
134 | v2f o;
135 | TRANSFER_SHADOW_CASTER(o)
136 | o.uv = TRANSFORM_TEX(v.texcoord, _MainTex);
137 | o.uv2 = TRANSFORM_TEX(v.texcoord, _OutlineTex);
138 | o.alphaClip = (1.0 - _OutlineWidth * _ScaleRatioA - _FaceDilate * _ScaleRatioA) / 2;
139 | return o;
140 | }
141 |
142 | uniform sampler2D _MainTex;
143 |
144 | float4 frag(v2f i) : COLOR
145 | {
146 | fixed4 texcol = tex2D(_MainTex, i.uv).a;
147 | clip(texcol.a - i.alphaClip);
148 | SHADOW_CASTER_FRAGMENT(i)
149 | }
150 | ENDCG
151 | }
152 | }
153 |
154 | CustomEditor "TMPro.EditorUtilities.TMP_SDFShaderGUI"
155 | }
156 |
157 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/Assets/TextMesh Pro/Resources/Shaders/TMP_SDF-Surface.shader.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: f7ada0af4f174f0694ca6a487b8f543d
3 | ShaderImporter:
4 | defaultTextures: []
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/Assets/TextMesh Pro/Resources/Shaders/TMP_SDF.shader.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 68e6db2ebdc24f95958faec2be5558d6
3 | ShaderImporter:
4 | defaultTextures: []
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/Assets/TextMesh Pro/Resources/Shaders/TMP_Sprite.shader:
--------------------------------------------------------------------------------
1 | Shader "TextMeshPro/Sprite"
2 | {
3 | Properties
4 | {
5 | _MainTex ("Sprite Texture", 2D) = "white" {}
6 | _Color ("Tint", Color) = (1,1,1,1)
7 |
8 | _StencilComp ("Stencil Comparison", Float) = 8
9 | _Stencil ("Stencil ID", Float) = 0
10 | _StencilOp ("Stencil Operation", Float) = 0
11 | _StencilWriteMask ("Stencil Write Mask", Float) = 255
12 | _StencilReadMask ("Stencil Read Mask", Float) = 255
13 |
14 | _ColorMask ("Color Mask", Float) = 15
15 | _ClipRect ("Clip Rect", vector) = (-32767, -32767, 32767, 32767)
16 |
17 | [Toggle(UNITY_UI_ALPHACLIP)] _UseUIAlphaClip ("Use Alpha Clip", Float) = 0
18 | }
19 |
20 | SubShader
21 | {
22 | Tags
23 | {
24 | "Queue"="Transparent"
25 | "IgnoreProjector"="True"
26 | "RenderType"="Transparent"
27 | "PreviewType"="Plane"
28 | "CanUseSpriteAtlas"="True"
29 | }
30 |
31 | Stencil
32 | {
33 | Ref [_Stencil]
34 | Comp [_StencilComp]
35 | Pass [_StencilOp]
36 | ReadMask [_StencilReadMask]
37 | WriteMask [_StencilWriteMask]
38 | }
39 |
40 | Cull Off
41 | Lighting Off
42 | ZWrite Off
43 | ZTest [unity_GUIZTestMode]
44 | Blend SrcAlpha OneMinusSrcAlpha
45 | ColorMask [_ColorMask]
46 |
47 | Pass
48 | {
49 | CGPROGRAM
50 | #pragma vertex vert
51 | #pragma fragment frag
52 |
53 | #include "UnityCG.cginc"
54 | #include "UnityUI.cginc"
55 |
56 | #pragma multi_compile __ UNITY_UI_CLIP_RECT
57 | #pragma multi_compile __ UNITY_UI_ALPHACLIP
58 |
59 | struct appdata_t
60 | {
61 | float4 vertex : POSITION;
62 | float4 color : COLOR;
63 | float2 texcoord : TEXCOORD0;
64 | };
65 |
66 | struct v2f
67 | {
68 | float4 vertex : SV_POSITION;
69 | fixed4 color : COLOR;
70 | half2 texcoord : TEXCOORD0;
71 | float4 worldPosition : TEXCOORD1;
72 | };
73 |
74 | fixed4 _Color;
75 | fixed4 _TextureSampleAdd;
76 | float4 _ClipRect;
77 |
78 | v2f vert(appdata_t IN)
79 | {
80 | v2f OUT;
81 | OUT.worldPosition = IN.vertex;
82 | OUT.vertex = UnityObjectToClipPos(OUT.worldPosition);
83 |
84 | OUT.texcoord = IN.texcoord;
85 |
86 | #ifdef UNITY_HALF_TEXEL_OFFSET
87 | OUT.vertex.xy += (_ScreenParams.zw-1.0)*float2(-1,1);
88 | #endif
89 |
90 | OUT.color = IN.color * _Color;
91 | return OUT;
92 | }
93 |
94 | sampler2D _MainTex;
95 |
96 | fixed4 frag(v2f IN) : SV_Target
97 | {
98 | half4 color = (tex2D(_MainTex, IN.texcoord) + _TextureSampleAdd) * IN.color;
99 |
100 | #if UNITY_UI_CLIP_RECT
101 | color.a *= UnityGet2DClipping(IN.worldPosition.xy, _ClipRect);
102 | #endif
103 |
104 | #ifdef UNITY_UI_ALPHACLIP
105 | clip (color.a - 0.001);
106 | #endif
107 |
108 | return color;
109 | }
110 | ENDCG
111 | }
112 | }
113 | }
114 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/Assets/TextMesh Pro/Resources/Shaders/TMP_Sprite.shader.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: cf81c85f95fe47e1a27f6ae460cf182c
3 | timeCreated: 1450517184
4 | licenseType: Pro
5 | ShaderImporter:
6 | defaultTextures: []
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/Assets/TextMesh Pro/Resources/Shaders/TMPro.cginc:
--------------------------------------------------------------------------------
1 | float2 UnpackUV(float uv)
2 | {
3 | float2 output;
4 | output.x = floor(uv / 4096);
5 | output.y = uv - 4096 * output.x;
6 |
7 | return output * 0.001953125;
8 | }
9 |
10 | fixed4 GetColor(half d, fixed4 faceColor, fixed4 outlineColor, half outline, half softness)
11 | {
12 | half faceAlpha = 1-saturate((d - outline * 0.5 + softness * 0.5) / (1.0 + softness));
13 | half outlineAlpha = saturate((d + outline * 0.5)) * sqrt(min(1.0, outline));
14 |
15 | faceColor.rgb *= faceColor.a;
16 | outlineColor.rgb *= outlineColor.a;
17 |
18 | faceColor = lerp(faceColor, outlineColor, outlineAlpha);
19 |
20 | faceColor *= faceAlpha;
21 |
22 | return faceColor;
23 | }
24 |
25 | float3 GetSurfaceNormal(float4 h, float bias)
26 | {
27 | bool raisedBevel = step(1, fmod(_ShaderFlags, 2));
28 |
29 | h += bias+_BevelOffset;
30 |
31 | float bevelWidth = max(.01, _OutlineWidth+_BevelWidth);
32 |
33 | // Track outline
34 | h -= .5;
35 | h /= bevelWidth;
36 | h = saturate(h+.5);
37 |
38 | if(raisedBevel) h = 1 - abs(h*2.0 - 1.0);
39 | h = lerp(h, sin(h*3.141592/2.0), _BevelRoundness);
40 | h = min(h, 1.0-_BevelClamp);
41 | h *= _Bevel * bevelWidth * _GradientScale * -2.0;
42 |
43 | float3 va = normalize(float3(1.0, 0.0, h.y - h.x));
44 | float3 vb = normalize(float3(0.0, -1.0, h.w - h.z));
45 |
46 | return cross(va, vb);
47 | }
48 |
49 | float3 GetSurfaceNormal(float2 uv, float bias, float3 delta)
50 | {
51 | // Read "height field"
52 | float4 h = {tex2D(_MainTex, uv - delta.xz).a,
53 | tex2D(_MainTex, uv + delta.xz).a,
54 | tex2D(_MainTex, uv - delta.zy).a,
55 | tex2D(_MainTex, uv + delta.zy).a};
56 |
57 | return GetSurfaceNormal(h, bias);
58 | }
59 |
60 | float3 GetSpecular(float3 n, float3 l)
61 | {
62 | float spec = pow(max(0.0, dot(n, l)), _Reflectivity);
63 | return _SpecularColor.rgb * spec * _SpecularPower;
64 | }
65 |
66 | float4 GetGlowColor(float d, float scale)
67 | {
68 | float glow = d - (_GlowOffset*_ScaleRatioB) * 0.5 * scale;
69 | float t = lerp(_GlowInner, (_GlowOuter * _ScaleRatioB), step(0.0, glow)) * 0.5 * scale;
70 | glow = saturate(abs(glow/(1.0 + t)));
71 | glow = 1.0-pow(glow, _GlowPower);
72 | glow *= sqrt(min(1.0, t)); // Fade off glow thinner than 1 screen pixel
73 | return float4(_GlowColor.rgb, saturate(_GlowColor.a * glow * 2));
74 | }
75 |
76 | float4 BlendARGB(float4 overlying, float4 underlying)
77 | {
78 | overlying.rgb *= overlying.a;
79 | underlying.rgb *= underlying.a;
80 | float3 blended = overlying.rgb + ((1-overlying.a)*underlying.rgb);
81 | float alpha = underlying.a + (1-underlying.a)*overlying.a;
82 | return float4(blended, alpha);
83 | }
84 |
85 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/Assets/TextMesh Pro/Resources/Shaders/TMPro.cginc.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 407bc68d299748449bbf7f48ee690f8d
3 | ShaderImporter:
4 | defaultTextures: []
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/Assets/TextMesh Pro/Resources/Shaders/TMPro_Properties.cginc:
--------------------------------------------------------------------------------
1 | // UI Editable properties
2 | uniform sampler2D _FaceTex; // Alpha : Signed Distance
3 | uniform float _FaceUVSpeedX;
4 | uniform float _FaceUVSpeedY;
5 | uniform fixed4 _FaceColor; // RGBA : Color + Opacity
6 | uniform float _FaceDilate; // v[ 0, 1]
7 | uniform float _OutlineSoftness; // v[ 0, 1]
8 |
9 | uniform sampler2D _OutlineTex; // RGBA : Color + Opacity
10 | uniform float _OutlineUVSpeedX;
11 | uniform float _OutlineUVSpeedY;
12 | uniform fixed4 _OutlineColor; // RGBA : Color + Opacity
13 | uniform float _OutlineWidth; // v[ 0, 1]
14 |
15 | uniform float _Bevel; // v[ 0, 1]
16 | uniform float _BevelOffset; // v[-1, 1]
17 | uniform float _BevelWidth; // v[-1, 1]
18 | uniform float _BevelClamp; // v[ 0, 1]
19 | uniform float _BevelRoundness; // v[ 0, 1]
20 |
21 | uniform sampler2D _BumpMap; // Normal map
22 | uniform float _BumpOutline; // v[ 0, 1]
23 | uniform float _BumpFace; // v[ 0, 1]
24 |
25 | uniform samplerCUBE _Cube; // Cube / sphere map
26 | uniform fixed4 _ReflectFaceColor; // RGB intensity
27 | uniform fixed4 _ReflectOutlineColor;
28 | //uniform float _EnvTiltX; // v[-1, 1]
29 | //uniform float _EnvTiltY; // v[-1, 1]
30 | uniform float3 _EnvMatrixRotation;
31 | uniform float4x4 _EnvMatrix;
32 |
33 | uniform fixed4 _SpecularColor; // RGB intensity
34 | uniform float _LightAngle; // v[ 0,Tau]
35 | uniform float _SpecularPower; // v[ 0, 1]
36 | uniform float _Reflectivity; // v[ 5, 15]
37 | uniform float _Diffuse; // v[ 0, 1]
38 | uniform float _Ambient; // v[ 0, 1]
39 |
40 | uniform fixed4 _UnderlayColor; // RGBA : Color + Opacity
41 | uniform float _UnderlayOffsetX; // v[-1, 1]
42 | uniform float _UnderlayOffsetY; // v[-1, 1]
43 | uniform float _UnderlayDilate; // v[-1, 1]
44 | uniform float _UnderlaySoftness; // v[ 0, 1]
45 |
46 | uniform fixed4 _GlowColor; // RGBA : Color + Intesity
47 | uniform float _GlowOffset; // v[-1, 1]
48 | uniform float _GlowOuter; // v[ 0, 1]
49 | uniform float _GlowInner; // v[ 0, 1]
50 | uniform float _GlowPower; // v[ 1, 1/(1+4*4)]
51 |
52 | // API Editable properties
53 | uniform float _ShaderFlags;
54 | uniform float _WeightNormal;
55 | uniform float _WeightBold;
56 |
57 | uniform float _ScaleRatioA;
58 | uniform float _ScaleRatioB;
59 | uniform float _ScaleRatioC;
60 |
61 | uniform float _VertexOffsetX;
62 | uniform float _VertexOffsetY;
63 |
64 | //uniform float _UseClipRect;
65 | uniform float _MaskID;
66 | uniform sampler2D _MaskTex;
67 | uniform float4 _MaskCoord;
68 | uniform float4 _ClipRect; // bottom left(x,y) : top right(z,w)
69 | //uniform float _MaskWipeControl;
70 | //uniform float _MaskEdgeSoftness;
71 | //uniform fixed4 _MaskEdgeColor;
72 | //uniform bool _MaskInverse;
73 |
74 | uniform float _MaskSoftnessX;
75 | uniform float _MaskSoftnessY;
76 |
77 | // Font Atlas properties
78 | uniform sampler2D _MainTex;
79 | uniform float _TextureWidth;
80 | uniform float _TextureHeight;
81 | uniform float _GradientScale;
82 | uniform float _ScaleX;
83 | uniform float _ScaleY;
84 | uniform float _PerspectiveFilter;
85 | uniform float _Sharpness;
86 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/Assets/TextMesh Pro/Resources/Shaders/TMPro_Properties.cginc.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 3997e2241185407d80309a82f9148466
3 | ShaderImporter:
4 | defaultTextures: []
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/Assets/TextMesh Pro/Resources/Shaders/TMPro_Surface.cginc:
--------------------------------------------------------------------------------
1 | void VertShader(inout appdata_full v, out Input data)
2 | {
3 | v.vertex.x += _VertexOffsetX;
4 | v.vertex.y += _VertexOffsetY;
5 |
6 | UNITY_INITIALIZE_OUTPUT(Input, data);
7 |
8 | float bold = step(v.texcoord1.y, 0);
9 |
10 | // Generate normal for backface
11 | float3 view = ObjSpaceViewDir(v.vertex);
12 | v.normal *= sign(dot(v.normal, view));
13 |
14 | #if USE_DERIVATIVE
15 | data.param.y = 1;
16 | #else
17 | float4 vert = v.vertex;
18 | float4 vPosition = UnityObjectToClipPos(vert);
19 | float2 pixelSize = vPosition.w;
20 |
21 | pixelSize /= float2(_ScaleX, _ScaleY) * mul((float2x2)UNITY_MATRIX_P, _ScreenParams.xy);
22 | float scale = rsqrt(dot(pixelSize, pixelSize));
23 | scale *= abs(v.texcoord1.y) * _GradientScale * (_Sharpness + 1);
24 | scale = lerp(scale * (1 - _PerspectiveFilter), scale, abs(dot(UnityObjectToWorldNormal(v.normal.xyz), normalize(WorldSpaceViewDir(vert)))));
25 | data.param.y = scale;
26 | #endif
27 |
28 | //float opacity = v.color.a;
29 |
30 | data.param.x = (lerp(_WeightNormal, _WeightBold, bold) / 4.0 + _FaceDilate) * _ScaleRatioA * 0.5; //
31 |
32 | v.texcoord1.xy = UnpackUV(v.texcoord1.x);
33 | data.viewDirEnv = mul((float3x3)_EnvMatrix, WorldSpaceViewDir(v.vertex));
34 | }
35 |
36 | void PixShader(Input input, inout SurfaceOutput o)
37 | {
38 |
39 | #if USE_DERIVATIVE | BEVEL_ON
40 | float3 delta = float3(1.0 / _TextureWidth, 1.0 / _TextureHeight, 0.0);
41 |
42 | float4 smp4x = { tex2D(_MainTex, input.uv_MainTex - delta.xz).a,
43 | tex2D(_MainTex, input.uv_MainTex + delta.xz).a,
44 | tex2D(_MainTex, input.uv_MainTex - delta.zy).a,
45 | tex2D(_MainTex, input.uv_MainTex + delta.zy).a };
46 | #endif
47 |
48 | #if USE_DERIVATIVE
49 | // Screen space scaling reciprocal with anisotropic correction
50 | float2 edgeNormal = Normalize(float2(smp4x.x - smp4x.y, smp4x.z - smp4x.w));
51 | float2 res = float2(_TextureWidth * input.param.y, _TextureHeight);
52 | float2 tdx = ddx(input.uv_MainTex)*res;
53 | float2 tdy = ddy(input.uv_MainTex)*res;
54 | float lx = length(tdx);
55 | float ly = length(tdy);
56 | float s = sqrt(min(lx, ly) / max(lx, ly));
57 | s = lerp(1, s, abs(dot(normalize(tdx + tdy), edgeNormal)));
58 | float scale = rsqrt(abs(tdx.x * tdy.y - tdx.y * tdy.x)) * (_GradientScale * 2) * s;
59 | #else
60 | float scale = input.param.y;
61 | #endif
62 |
63 | // Signed distance
64 | float c = tex2D(_MainTex, input.uv_MainTex).a;
65 | float sd = (.5 - c - input.param.x) * scale + .5;
66 | float outline = _OutlineWidth*_ScaleRatioA * scale;
67 | float softness = _OutlineSoftness*_ScaleRatioA * scale;
68 |
69 | // Color & Alpha
70 | float4 faceColor = _FaceColor;
71 | float4 outlineColor = _OutlineColor;
72 | faceColor *= input.color;
73 | outlineColor.a *= input.color.a;
74 | faceColor *= tex2D(_FaceTex, float2(input.uv2_FaceTex.x + _FaceUVSpeedX * _Time.y, input.uv2_FaceTex.y + _FaceUVSpeedY * _Time.y));
75 | outlineColor *= tex2D(_OutlineTex, float2(input.uv2_OutlineTex.x + _OutlineUVSpeedX * _Time.y, input.uv2_OutlineTex.y + _OutlineUVSpeedY * _Time.y));
76 | faceColor = GetColor(sd, faceColor, outlineColor, outline, softness);
77 | faceColor.rgb /= max(faceColor.a, 0.0001);
78 |
79 |
80 | #if BEVEL_ON
81 | // Face Normal
82 | float3 n = GetSurfaceNormal(smp4x, input.param.x);
83 |
84 | // Bumpmap
85 | float3 bump = UnpackNormal(tex2D(_BumpMap, input.uv2_FaceTex.xy)).xyz;
86 | bump *= lerp(_BumpFace, _BumpOutline, saturate(sd + outline * 0.5));
87 | bump = lerp(float3(0, 0, 1), bump, faceColor.a);
88 | n = normalize(n - bump);
89 |
90 | // Cubemap reflection
91 | fixed4 reflcol = texCUBE(_Cube, reflect(input.viewDirEnv, mul((float3x3)unity_ObjectToWorld, n)));
92 | float3 emission = reflcol.rgb * lerp(_ReflectFaceColor.rgb, _ReflectOutlineColor.rgb, saturate(sd + outline * 0.5)) * faceColor.a;
93 | #else
94 | float3 n = float3(0, 0, -1);
95 | float3 emission = float3(0, 0, 0);
96 | #endif
97 |
98 |
99 |
100 | #if GLOW_ON
101 | float4 glowColor = GetGlowColor(sd, scale);
102 | glowColor.a *= input.color.a;
103 | emission += glowColor.rgb*glowColor.a;
104 | faceColor = BlendARGB(glowColor, faceColor);
105 | faceColor.rgb /= max(faceColor.a, 0.0001);
106 | #endif
107 |
108 | // Set Standard output structure
109 | o.Albedo = faceColor.rgb;
110 | o.Normal = -n;
111 | o.Emission = emission;
112 | o.Specular = lerp(_FaceShininess, _OutlineShininess, saturate(sd + outline * 0.5));
113 | o.Gloss = 1;
114 | o.Alpha = faceColor.a;
115 | }
116 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/Assets/TextMesh Pro/Resources/Shaders/TMPro_Surface.cginc.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d930090c0cd643c7b55f19a38538c162
3 | ShaderImporter:
4 | defaultTextures: []
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/Assets/TextMesh Pro/Resources/Sprite Assets.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 512a49d95c0c4332bdd98131869c23c9
3 | folderAsset: yes
4 | timeCreated: 1441876896
5 | licenseType: Pro
6 | DefaultImporter:
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/Assets/TextMesh Pro/Resources/Sprite Assets/EmojiOne.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c41005c129ba4d66911b75229fd70b45
3 | timeCreated: 1480316912
4 | licenseType: Pro
5 | NativeFormatImporter:
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/Assets/TextMesh Pro/Resources/Style Sheets.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 4aecb92fff08436c8303b10eab8da368
3 | folderAsset: yes
4 | timeCreated: 1441876950
5 | licenseType: Pro
6 | DefaultImporter:
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/Assets/TextMesh Pro/Resources/Style Sheets/Default Style Sheet.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &11400000
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 0
6 | m_PrefabParentObject: {fileID: 0}
7 | m_PrefabInternal: {fileID: 0}
8 | m_GameObject: {fileID: 0}
9 | m_Enabled: 1
10 | m_EditorHideFlags: 0
11 | m_Script: {fileID: 11500000, guid: ab2114bdc8544297b417dfefe9f1e410, type: 3}
12 | m_Name: Default Style Sheet
13 | m_EditorClassIdentifier:
14 | m_StyleList:
15 | - m_Name: H1
16 | m_HashCode: 2425
17 | m_OpeningDefinition: <#40ff80>*
18 | m_ClosingDefinition: '* '
19 | m_OpeningTagArray: 3c00000073000000690000007a000000650000003d00000032000000650000006d0000003e0000003c000000620000003e0000003c000000230000003400000030000000660000006600000038000000300000003e0000002a000000
20 | m_ClosingTagArray: 2a0000003c0000002f00000073000000690000007a000000650000003e0000003c0000002f000000620000003e0000003c0000002f000000630000006f0000006c0000006f000000720000003e000000
21 | - m_Name: Quote
22 | m_HashCode: 92254330
23 | m_OpeningDefinition:
24 | m_ClosingDefinition:
25 | m_OpeningTagArray: 3c000000690000003e0000003c00000073000000690000007a000000650000003d0000003700000035000000250000003e0000003c0000006d000000610000007200000067000000690000006e0000003d0000003100000030000000250000003e000000
26 | m_ClosingTagArray: 3c0000002f000000690000003e0000003c0000002f00000073000000690000007a000000650000003e0000003c0000002f00000077000000690000006400000074000000680000003e0000003c0000002f0000006d000000610000007200000067000000690000006e0000003e000000
27 | - m_Name: Link
28 | m_HashCode: 2687968
29 | m_OpeningDefinition: <#40a0ff>
30 | m_ClosingDefinition:
31 | m_OpeningTagArray: 3c000000750000003e0000003c000000230000003400000030000000610000003000000066000000660000003e0000003c0000006c000000690000006e0000006b0000003d0000002200000049000000440000005f0000003000000031000000220000003e000000
32 | m_ClosingTagArray: 3c0000002f000000750000003e0000003c0000002f000000630000006f0000006c0000006f000000720000003e0000003c0000002f0000006c000000690000006e0000006b0000003e000000
33 | - m_Name: Title
34 | m_HashCode: 98732960
35 | m_OpeningDefinition:
36 | m_ClosingDefinition:
37 | m_OpeningTagArray: 3c00000073000000690000007a000000650000003d000000310000003200000035000000250000003e0000003c000000620000003e0000003c000000610000006c00000069000000670000006e0000003d00000063000000650000006e0000007400000065000000720000003e000000
38 | m_ClosingTagArray: 3c0000002f00000073000000690000007a000000650000003e0000003c0000002f000000620000003e0000003c0000002f000000610000006c00000069000000670000006e0000003e000000
39 | - m_Name: H2
40 | m_HashCode: 2426
41 | m_OpeningDefinition: <#4080FF>
42 | m_ClosingDefinition:
43 | m_OpeningTagArray: 3c00000073000000690000007a000000650000003d000000310000002e00000035000000650000006d0000003e0000003c000000620000003e0000003c000000230000003400000030000000380000003000000046000000460000003e000000
44 | m_ClosingTagArray: 3c0000002f00000073000000690000007a000000650000003e0000003c0000002f000000620000003e0000003c0000002f000000630000006f0000006c0000006f000000720000003e000000
45 | - m_Name: H3
46 | m_HashCode: 2427
47 | m_OpeningDefinition: <#FF8040>
48 | m_ClosingDefinition:
49 | m_OpeningTagArray: 3c00000073000000690000007a000000650000003d000000310000002e0000003100000037000000650000006d0000003e0000003c000000620000003e0000003c000000230000004600000046000000380000003000000034000000300000003e000000
50 | m_ClosingTagArray: 3c0000002f00000073000000690000007a000000650000003e0000003c0000002f000000620000003e0000003c0000002f000000630000006f0000006c0000006f000000720000003e000000
51 | - m_Name: C1
52 | m_HashCode: 2194
53 | m_OpeningDefinition:
54 | m_ClosingDefinition:
55 | m_OpeningTagArray: 3c000000630000006f0000006c0000006f000000720000003d000000230000006600000066000000660000006600000034000000300000003e000000
56 | m_ClosingTagArray: 3c0000002f000000630000006f0000006c0000006f000000720000003e000000
57 | - m_Name: C2
58 | m_HashCode: 2193
59 | m_OpeningDefinition:
60 | m_ClosingDefinition:
61 | m_OpeningTagArray: 3c000000630000006f0000006c0000006f000000720000003d000000230000006600000066000000340000003000000046000000460000003e0000003c00000073000000690000007a000000650000003d000000310000003200000035000000250000003e000000
62 | m_ClosingTagArray: 3c0000002f000000630000006f0000006c0000006f000000720000003e0000003c0000002f00000073000000690000007a000000650000003e000000
63 | - m_Name: C3
64 | m_HashCode: 2192
65 | m_OpeningDefinition:
66 | m_ClosingDefinition:
67 | m_OpeningTagArray: 3c000000630000006f0000006c0000006f000000720000003d000000230000003800000030000000410000003000000046000000460000003e0000003c000000620000003e000000
68 | m_ClosingTagArray: 3c0000002f000000630000006f0000006c0000006f000000720000003e0000003c0000002f000000620000003e000000
69 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/Assets/TextMesh Pro/Resources/Style Sheets/Default Style Sheet.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: f952c082cb03451daed3ee968ac6c63e
3 | timeCreated: 1432805430
4 | licenseType: Store
5 | NativeFormatImporter:
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/Assets/TextMesh Pro/Resources/TMP Settings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &11400000
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_GameObject: {fileID: 0}
10 | m_Enabled: 1
11 | m_EditorHideFlags: 0
12 | m_Script: {fileID: 11500000, guid: 2705215ac5b84b70bacc50632be6e391, type: 3}
13 | m_Name: TMP Settings
14 | m_EditorClassIdentifier:
15 | m_enableWordWrapping: 1
16 | m_enableKerning: 1
17 | m_enableExtraPadding: 0
18 | m_enableTintAllSprites: 0
19 | m_enableParseEscapeCharacters: 1
20 | m_EnableRaycastTarget: 1
21 | m_GetFontFeaturesAtRuntime: 1
22 | m_missingGlyphCharacter: 0
23 | m_warningsDisabled: 1
24 | m_defaultFontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
25 | m_defaultFontAssetPath: Fonts & Materials/
26 | m_defaultFontSize: 36
27 | m_defaultAutoSizeMinRatio: 0.5
28 | m_defaultAutoSizeMaxRatio: 2
29 | m_defaultTextMeshProTextContainerSize: {x: 20, y: 5}
30 | m_defaultTextMeshProUITextContainerSize: {x: 200, y: 50}
31 | m_autoSizeTextContainer: 0
32 | m_fallbackFontAssets: []
33 | m_matchMaterialPreset: 1
34 | m_defaultSpriteAsset: {fileID: 11400000, guid: c41005c129ba4d66911b75229fd70b45,
35 | type: 2}
36 | m_defaultSpriteAssetPath: Sprite Assets/
37 | m_defaultColorGradientPresetsPath: Color Gradient Presets/
38 | m_enableEmojiSupport: 1
39 | m_defaultStyleSheet: {fileID: 11400000, guid: f952c082cb03451daed3ee968ac6c63e,
40 | type: 2}
41 | m_leadingCharacters: {fileID: 4900000, guid: d82c1b31c7e74239bff1220585707d2b, type: 3}
42 | m_followingCharacters: {fileID: 4900000, guid: fade42e8bc714b018fac513c043d323b,
43 | type: 3}
44 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/Assets/TextMesh Pro/Resources/TMP Settings.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 3f5b5dff67a942289a9defa416b206f3
3 | timeCreated: 1436653997
4 | licenseType: Pro
5 | NativeFormatImporter:
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/Assets/TextMesh Pro/Sprites.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d0603b6d5186471b96c778c3949c7ce2
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/Assets/TextMesh Pro/Sprites/EmojiOne Attribution.txt:
--------------------------------------------------------------------------------
1 | This sample of beautiful emojis are provided by EmojiOne https://www.emojione.com/
2 |
3 | Please visit their website to view the complete set of their emojis and review their licensing terms.
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/Assets/TextMesh Pro/Sprites/EmojiOne Attribution.txt.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 381dcb09d5029d14897e55f98031fca5
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/Assets/TextMesh Pro/Sprites/EmojiOne.json:
--------------------------------------------------------------------------------
1 | {"frames": [
2 |
3 | {
4 | "filename": "1f60a.png",
5 | "frame": {"x":0,"y":0,"w":128,"h":128},
6 | "rotated": false,
7 | "trimmed": false,
8 | "spriteSourceSize": {"x":0,"y":0,"w":128,"h":128},
9 | "sourceSize": {"w":128,"h":128},
10 | "pivot": {"x":0.5,"y":0.5}
11 | },
12 | {
13 | "filename": "1f60b.png",
14 | "frame": {"x":128,"y":0,"w":128,"h":128},
15 | "rotated": false,
16 | "trimmed": false,
17 | "spriteSourceSize": {"x":0,"y":0,"w":128,"h":128},
18 | "sourceSize": {"w":128,"h":128},
19 | "pivot": {"x":0.5,"y":0.5}
20 | },
21 | {
22 | "filename": "1f60d.png",
23 | "frame": {"x":256,"y":0,"w":128,"h":128},
24 | "rotated": false,
25 | "trimmed": false,
26 | "spriteSourceSize": {"x":0,"y":0,"w":128,"h":128},
27 | "sourceSize": {"w":128,"h":128},
28 | "pivot": {"x":0.5,"y":0.5}
29 | },
30 | {
31 | "filename": "1f60e.png",
32 | "frame": {"x":384,"y":0,"w":128,"h":128},
33 | "rotated": false,
34 | "trimmed": false,
35 | "spriteSourceSize": {"x":0,"y":0,"w":128,"h":128},
36 | "sourceSize": {"w":128,"h":128},
37 | "pivot": {"x":0.5,"y":0.5}
38 | },
39 | {
40 | "filename": "1f600.png",
41 | "frame": {"x":0,"y":128,"w":128,"h":128},
42 | "rotated": false,
43 | "trimmed": false,
44 | "spriteSourceSize": {"x":0,"y":0,"w":128,"h":128},
45 | "sourceSize": {"w":128,"h":128},
46 | "pivot": {"x":0.5,"y":0.5}
47 | },
48 | {
49 | "filename": "1f601.png",
50 | "frame": {"x":128,"y":128,"w":128,"h":128},
51 | "rotated": false,
52 | "trimmed": false,
53 | "spriteSourceSize": {"x":0,"y":0,"w":128,"h":128},
54 | "sourceSize": {"w":128,"h":128},
55 | "pivot": {"x":0.5,"y":0.5}
56 | },
57 | {
58 | "filename": "1f602.png",
59 | "frame": {"x":256,"y":128,"w":128,"h":128},
60 | "rotated": false,
61 | "trimmed": false,
62 | "spriteSourceSize": {"x":0,"y":0,"w":128,"h":128},
63 | "sourceSize": {"w":128,"h":128},
64 | "pivot": {"x":0.5,"y":0.5}
65 | },
66 | {
67 | "filename": "1f603.png",
68 | "frame": {"x":384,"y":128,"w":128,"h":128},
69 | "rotated": false,
70 | "trimmed": false,
71 | "spriteSourceSize": {"x":0,"y":0,"w":128,"h":128},
72 | "sourceSize": {"w":128,"h":128},
73 | "pivot": {"x":0.5,"y":0.5}
74 | },
75 | {
76 | "filename": "1f604.png",
77 | "frame": {"x":0,"y":256,"w":128,"h":128},
78 | "rotated": false,
79 | "trimmed": false,
80 | "spriteSourceSize": {"x":0,"y":0,"w":128,"h":128},
81 | "sourceSize": {"w":128,"h":128},
82 | "pivot": {"x":0.5,"y":0.5}
83 | },
84 | {
85 | "filename": "1f605.png",
86 | "frame": {"x":128,"y":256,"w":128,"h":128},
87 | "rotated": false,
88 | "trimmed": false,
89 | "spriteSourceSize": {"x":0,"y":0,"w":128,"h":128},
90 | "sourceSize": {"w":128,"h":128},
91 | "pivot": {"x":0.5,"y":0.5}
92 | },
93 | {
94 | "filename": "1f606.png",
95 | "frame": {"x":256,"y":256,"w":128,"h":128},
96 | "rotated": false,
97 | "trimmed": false,
98 | "spriteSourceSize": {"x":0,"y":0,"w":128,"h":128},
99 | "sourceSize": {"w":128,"h":128},
100 | "pivot": {"x":0.5,"y":0.5}
101 | },
102 | {
103 | "filename": "1f609.png",
104 | "frame": {"x":384,"y":256,"w":128,"h":128},
105 | "rotated": false,
106 | "trimmed": false,
107 | "spriteSourceSize": {"x":0,"y":0,"w":128,"h":128},
108 | "sourceSize": {"w":128,"h":128},
109 | "pivot": {"x":0.5,"y":0.5}
110 | },
111 | {
112 | "filename": "1f618.png",
113 | "frame": {"x":0,"y":384,"w":128,"h":128},
114 | "rotated": false,
115 | "trimmed": false,
116 | "spriteSourceSize": {"x":0,"y":0,"w":128,"h":128},
117 | "sourceSize": {"w":128,"h":128},
118 | "pivot": {"x":0.5,"y":0.5}
119 | },
120 | {
121 | "filename": "1f923.png",
122 | "frame": {"x":128,"y":384,"w":128,"h":128},
123 | "rotated": false,
124 | "trimmed": false,
125 | "spriteSourceSize": {"x":0,"y":0,"w":128,"h":128},
126 | "sourceSize": {"w":128,"h":128},
127 | "pivot": {"x":0.5,"y":0.5}
128 | },
129 | {
130 | "filename": "263a.png",
131 | "frame": {"x":256,"y":384,"w":128,"h":128},
132 | "rotated": false,
133 | "trimmed": false,
134 | "spriteSourceSize": {"x":0,"y":0,"w":128,"h":128},
135 | "sourceSize": {"w":128,"h":128},
136 | "pivot": {"x":0.5,"y":0.5}
137 | },
138 | {
139 | "filename": "2639.png",
140 | "frame": {"x":384,"y":384,"w":128,"h":128},
141 | "rotated": false,
142 | "trimmed": false,
143 | "spriteSourceSize": {"x":0,"y":0,"w":128,"h":128},
144 | "sourceSize": {"w":128,"h":128},
145 | "pivot": {"x":0.5,"y":0.5}
146 | }],
147 | "meta": {
148 | "app": "http://www.codeandweb.com/texturepacker",
149 | "version": "1.0",
150 | "image": "EmojiOne.png",
151 | "format": "RGBA8888",
152 | "size": {"w":512,"h":512},
153 | "scale": "1",
154 | "smartupdate": "$TexturePacker:SmartUpdate:196a26a2e149d875b91ffc8fa3581e76:fc928c7e275404b7e0649307410475cb:424723c3774975ddb2053fd5c4b85f6e$"
155 | }
156 | }
157 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/Assets/TextMesh Pro/Sprites/EmojiOne.json.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 8f05276190cf498a8153f6cbe761d4e6
3 | timeCreated: 1480316860
4 | licenseType: Pro
5 | TextScriptImporter:
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/Assets/TextMesh Pro/Sprites/EmojiOne.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EricBatlle/UnityAndroidSpeechRecognizer/b0ca7355d51471ea8df93043d29d898c44314fc0/UnitySpeechRecognizer/Assets/TextMesh Pro/Sprites/EmojiOne.png
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/Packages/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "dependencies": {
3 | "com.unity.ads": "2.0.8",
4 | "com.unity.analytics": "3.3.2",
5 | "com.unity.collab-proxy": "1.2.16",
6 | "com.unity.package-manager-ui": "2.1.2",
7 | "com.unity.purchasing": "2.0.6",
8 | "com.unity.textmeshpro": "2.0.1",
9 | "com.unity.timeline": "1.0.0",
10 | "com.unity.modules.ai": "1.0.0",
11 | "com.unity.modules.animation": "1.0.0",
12 | "com.unity.modules.assetbundle": "1.0.0",
13 | "com.unity.modules.audio": "1.0.0",
14 | "com.unity.modules.cloth": "1.0.0",
15 | "com.unity.modules.director": "1.0.0",
16 | "com.unity.modules.imageconversion": "1.0.0",
17 | "com.unity.modules.imgui": "1.0.0",
18 | "com.unity.modules.jsonserialize": "1.0.0",
19 | "com.unity.modules.particlesystem": "1.0.0",
20 | "com.unity.modules.physics": "1.0.0",
21 | "com.unity.modules.physics2d": "1.0.0",
22 | "com.unity.modules.screencapture": "1.0.0",
23 | "com.unity.modules.terrain": "1.0.0",
24 | "com.unity.modules.terrainphysics": "1.0.0",
25 | "com.unity.modules.tilemap": "1.0.0",
26 | "com.unity.modules.ui": "1.0.0",
27 | "com.unity.modules.uielements": "1.0.0",
28 | "com.unity.modules.umbra": "1.0.0",
29 | "com.unity.modules.unityanalytics": "1.0.0",
30 | "com.unity.modules.unitywebrequest": "1.0.0",
31 | "com.unity.modules.unitywebrequestassetbundle": "1.0.0",
32 | "com.unity.modules.unitywebrequestaudio": "1.0.0",
33 | "com.unity.modules.unitywebrequesttexture": "1.0.0",
34 | "com.unity.modules.unitywebrequestwww": "1.0.0",
35 | "com.unity.modules.vehicles": "1.0.0",
36 | "com.unity.modules.video": "1.0.0",
37 | "com.unity.modules.vr": "1.0.0",
38 | "com.unity.modules.wind": "1.0.0",
39 | "com.unity.modules.xr": "1.0.0"
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/ProjectSettings/AudioManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!11 &1
4 | AudioManager:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 2
7 | m_Volume: 1
8 | Rolloff Scale: 1
9 | Doppler Factor: 1
10 | Default Speaker Mode: 2
11 | m_SampleRate: 0
12 | m_DSPBufferSize: 1024
13 | m_VirtualVoiceCount: 512
14 | m_RealVoiceCount: 32
15 | m_SpatializerPlugin:
16 | m_AmbisonicDecoderPlugin:
17 | m_DisableAudio: 0
18 | m_VirtualizeEffects: 1
19 | m_RequestedDSPBufferSize: 1024
20 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/ProjectSettings/ClusterInputManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!236 &1
4 | ClusterInputManager:
5 | m_ObjectHideFlags: 0
6 | m_Inputs: []
7 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/ProjectSettings/DynamicsManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!55 &1
4 | PhysicsManager:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 11
7 | m_Gravity: {x: 0, y: -9.81, z: 0}
8 | m_DefaultMaterial: {fileID: 0}
9 | m_BounceThreshold: 2
10 | m_SleepThreshold: 0.005
11 | m_DefaultContactOffset: 0.01
12 | m_DefaultSolverIterations: 6
13 | m_DefaultSolverVelocityIterations: 1
14 | m_QueriesHitBackfaces: 0
15 | m_QueriesHitTriggers: 1
16 | m_EnableAdaptiveForce: 0
17 | m_ClothInterCollisionDistance: 0
18 | m_ClothInterCollisionStiffness: 0
19 | m_ContactsGeneration: 1
20 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
21 | m_AutoSimulation: 1
22 | m_AutoSyncTransforms: 0
23 | m_ReuseCollisionCallbacks: 1
24 | m_ClothInterCollisionSettingsToggle: 0
25 | m_ContactPairsMode: 0
26 | m_BroadphaseType: 0
27 | m_WorldBounds:
28 | m_Center: {x: 0, y: 0, z: 0}
29 | m_Extent: {x: 250, y: 250, z: 250}
30 | m_WorldSubdivisions: 8
31 | m_FrictionType: 0
32 | m_EnableEnhancedDeterminism: 0
33 | m_EnableUnifiedHeightmaps: 1
34 | m_DefaultMaxAngluarSpeed: 7
35 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/ProjectSettings/EditorBuildSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!1045 &1
4 | EditorBuildSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 2
7 | m_Scenes:
8 | - enabled: 1
9 | path: Assets/SpeechRecognizer.unity
10 | guid: 4f42df4bbb1de474cb66389498b70d31
11 | m_configObjects: {}
12 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/ProjectSettings/EditorSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!159 &1
4 | EditorSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 7
7 | m_ExternalVersionControlSupport: Visible Meta Files
8 | m_SerializationMode: 2
9 | m_LineEndingsForNewScripts: 2
10 | m_DefaultBehaviorMode: 0
11 | m_PrefabRegularEnvironment: {fileID: 0}
12 | m_PrefabUIEnvironment: {fileID: 0}
13 | m_SpritePackerMode: 0
14 | m_SpritePackerPaddingPower: 1
15 | m_EtcTextureCompressorBehavior: 1
16 | m_EtcTextureFastCompressor: 1
17 | m_EtcTextureNormalCompressor: 2
18 | m_EtcTextureBestCompressor: 4
19 | m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd;asmdef;rsp
20 | m_ProjectGenerationRootNamespace:
21 | m_CollabEditorSettings:
22 | inProgressEnabled: 1
23 | m_EnableTextureStreamingInEditMode: 1
24 | m_EnableTextureStreamingInPlayMode: 1
25 | m_AsyncShaderCompilation: 1
26 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/ProjectSettings/GraphicsSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!30 &1
4 | GraphicsSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 12
7 | m_Deferred:
8 | m_Mode: 1
9 | m_Shader: {fileID: 69, guid: 0000000000000000f000000000000000, type: 0}
10 | m_DeferredReflections:
11 | m_Mode: 1
12 | m_Shader: {fileID: 74, guid: 0000000000000000f000000000000000, type: 0}
13 | m_ScreenSpaceShadows:
14 | m_Mode: 1
15 | m_Shader: {fileID: 64, guid: 0000000000000000f000000000000000, type: 0}
16 | m_LegacyDeferred:
17 | m_Mode: 1
18 | m_Shader: {fileID: 63, guid: 0000000000000000f000000000000000, type: 0}
19 | m_DepthNormals:
20 | m_Mode: 1
21 | m_Shader: {fileID: 62, guid: 0000000000000000f000000000000000, type: 0}
22 | m_MotionVectors:
23 | m_Mode: 1
24 | m_Shader: {fileID: 75, guid: 0000000000000000f000000000000000, type: 0}
25 | m_LightHalo:
26 | m_Mode: 1
27 | m_Shader: {fileID: 105, guid: 0000000000000000f000000000000000, type: 0}
28 | m_LensFlare:
29 | m_Mode: 1
30 | m_Shader: {fileID: 102, guid: 0000000000000000f000000000000000, type: 0}
31 | m_AlwaysIncludedShaders:
32 | - {fileID: 7, guid: 0000000000000000f000000000000000, type: 0}
33 | - {fileID: 15104, guid: 0000000000000000f000000000000000, type: 0}
34 | - {fileID: 15105, guid: 0000000000000000f000000000000000, type: 0}
35 | - {fileID: 15106, guid: 0000000000000000f000000000000000, type: 0}
36 | - {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0}
37 | - {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0}
38 | - {fileID: 16000, guid: 0000000000000000f000000000000000, type: 0}
39 | - {fileID: 16001, guid: 0000000000000000f000000000000000, type: 0}
40 | - {fileID: 17000, guid: 0000000000000000f000000000000000, type: 0}
41 | - {fileID: 16003, guid: 0000000000000000f000000000000000, type: 0}
42 | m_PreloadedShaders: []
43 | m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000,
44 | type: 0}
45 | m_CustomRenderPipeline: {fileID: 0}
46 | m_TransparencySortMode: 0
47 | m_TransparencySortAxis: {x: 0, y: 0, z: 1}
48 | m_DefaultRenderingPath: 1
49 | m_DefaultMobileRenderingPath: 1
50 | m_TierSettings: []
51 | m_LightmapStripping: 0
52 | m_FogStripping: 0
53 | m_InstancingStripping: 0
54 | m_LightmapKeepPlain: 1
55 | m_LightmapKeepDirCombined: 1
56 | m_LightmapKeepDynamicPlain: 1
57 | m_LightmapKeepDynamicDirCombined: 1
58 | m_LightmapKeepShadowMask: 1
59 | m_LightmapKeepSubtractive: 1
60 | m_FogKeepLinear: 1
61 | m_FogKeepExp: 1
62 | m_FogKeepExp2: 1
63 | m_AlbedoSwatchInfos: []
64 | m_LightsUseLinearIntensity: 0
65 | m_LightsUseColorTemperature: 0
66 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/ProjectSettings/InputManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!13 &1
4 | InputManager:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 2
7 | m_Axes:
8 | - serializedVersion: 3
9 | m_Name: Horizontal
10 | descriptiveName:
11 | descriptiveNegativeName:
12 | negativeButton: left
13 | positiveButton: right
14 | altNegativeButton: a
15 | altPositiveButton: d
16 | gravity: 3
17 | dead: 0.001
18 | sensitivity: 3
19 | snap: 1
20 | invert: 0
21 | type: 0
22 | axis: 0
23 | joyNum: 0
24 | - serializedVersion: 3
25 | m_Name: Vertical
26 | descriptiveName:
27 | descriptiveNegativeName:
28 | negativeButton: down
29 | positiveButton: up
30 | altNegativeButton: s
31 | altPositiveButton: w
32 | gravity: 3
33 | dead: 0.001
34 | sensitivity: 3
35 | snap: 1
36 | invert: 0
37 | type: 0
38 | axis: 0
39 | joyNum: 0
40 | - serializedVersion: 3
41 | m_Name: Fire1
42 | descriptiveName:
43 | descriptiveNegativeName:
44 | negativeButton:
45 | positiveButton: left ctrl
46 | altNegativeButton:
47 | altPositiveButton: mouse 0
48 | gravity: 1000
49 | dead: 0.001
50 | sensitivity: 1000
51 | snap: 0
52 | invert: 0
53 | type: 0
54 | axis: 0
55 | joyNum: 0
56 | - serializedVersion: 3
57 | m_Name: Fire2
58 | descriptiveName:
59 | descriptiveNegativeName:
60 | negativeButton:
61 | positiveButton: left alt
62 | altNegativeButton:
63 | altPositiveButton: mouse 1
64 | gravity: 1000
65 | dead: 0.001
66 | sensitivity: 1000
67 | snap: 0
68 | invert: 0
69 | type: 0
70 | axis: 0
71 | joyNum: 0
72 | - serializedVersion: 3
73 | m_Name: Fire3
74 | descriptiveName:
75 | descriptiveNegativeName:
76 | negativeButton:
77 | positiveButton: left shift
78 | altNegativeButton:
79 | altPositiveButton: mouse 2
80 | gravity: 1000
81 | dead: 0.001
82 | sensitivity: 1000
83 | snap: 0
84 | invert: 0
85 | type: 0
86 | axis: 0
87 | joyNum: 0
88 | - serializedVersion: 3
89 | m_Name: Jump
90 | descriptiveName:
91 | descriptiveNegativeName:
92 | negativeButton:
93 | positiveButton: space
94 | altNegativeButton:
95 | altPositiveButton:
96 | gravity: 1000
97 | dead: 0.001
98 | sensitivity: 1000
99 | snap: 0
100 | invert: 0
101 | type: 0
102 | axis: 0
103 | joyNum: 0
104 | - serializedVersion: 3
105 | m_Name: Mouse X
106 | descriptiveName:
107 | descriptiveNegativeName:
108 | negativeButton:
109 | positiveButton:
110 | altNegativeButton:
111 | altPositiveButton:
112 | gravity: 0
113 | dead: 0
114 | sensitivity: 0.1
115 | snap: 0
116 | invert: 0
117 | type: 1
118 | axis: 0
119 | joyNum: 0
120 | - serializedVersion: 3
121 | m_Name: Mouse Y
122 | descriptiveName:
123 | descriptiveNegativeName:
124 | negativeButton:
125 | positiveButton:
126 | altNegativeButton:
127 | altPositiveButton:
128 | gravity: 0
129 | dead: 0
130 | sensitivity: 0.1
131 | snap: 0
132 | invert: 0
133 | type: 1
134 | axis: 1
135 | joyNum: 0
136 | - serializedVersion: 3
137 | m_Name: Mouse ScrollWheel
138 | descriptiveName:
139 | descriptiveNegativeName:
140 | negativeButton:
141 | positiveButton:
142 | altNegativeButton:
143 | altPositiveButton:
144 | gravity: 0
145 | dead: 0
146 | sensitivity: 0.1
147 | snap: 0
148 | invert: 0
149 | type: 1
150 | axis: 2
151 | joyNum: 0
152 | - serializedVersion: 3
153 | m_Name: Horizontal
154 | descriptiveName:
155 | descriptiveNegativeName:
156 | negativeButton:
157 | positiveButton:
158 | altNegativeButton:
159 | altPositiveButton:
160 | gravity: 0
161 | dead: 0.19
162 | sensitivity: 1
163 | snap: 0
164 | invert: 0
165 | type: 2
166 | axis: 0
167 | joyNum: 0
168 | - serializedVersion: 3
169 | m_Name: Vertical
170 | descriptiveName:
171 | descriptiveNegativeName:
172 | negativeButton:
173 | positiveButton:
174 | altNegativeButton:
175 | altPositiveButton:
176 | gravity: 0
177 | dead: 0.19
178 | sensitivity: 1
179 | snap: 0
180 | invert: 1
181 | type: 2
182 | axis: 1
183 | joyNum: 0
184 | - serializedVersion: 3
185 | m_Name: Fire1
186 | descriptiveName:
187 | descriptiveNegativeName:
188 | negativeButton:
189 | positiveButton: joystick button 0
190 | altNegativeButton:
191 | altPositiveButton:
192 | gravity: 1000
193 | dead: 0.001
194 | sensitivity: 1000
195 | snap: 0
196 | invert: 0
197 | type: 0
198 | axis: 0
199 | joyNum: 0
200 | - serializedVersion: 3
201 | m_Name: Fire2
202 | descriptiveName:
203 | descriptiveNegativeName:
204 | negativeButton:
205 | positiveButton: joystick button 1
206 | altNegativeButton:
207 | altPositiveButton:
208 | gravity: 1000
209 | dead: 0.001
210 | sensitivity: 1000
211 | snap: 0
212 | invert: 0
213 | type: 0
214 | axis: 0
215 | joyNum: 0
216 | - serializedVersion: 3
217 | m_Name: Fire3
218 | descriptiveName:
219 | descriptiveNegativeName:
220 | negativeButton:
221 | positiveButton: joystick button 2
222 | altNegativeButton:
223 | altPositiveButton:
224 | gravity: 1000
225 | dead: 0.001
226 | sensitivity: 1000
227 | snap: 0
228 | invert: 0
229 | type: 0
230 | axis: 0
231 | joyNum: 0
232 | - serializedVersion: 3
233 | m_Name: Jump
234 | descriptiveName:
235 | descriptiveNegativeName:
236 | negativeButton:
237 | positiveButton: joystick button 3
238 | altNegativeButton:
239 | altPositiveButton:
240 | gravity: 1000
241 | dead: 0.001
242 | sensitivity: 1000
243 | snap: 0
244 | invert: 0
245 | type: 0
246 | axis: 0
247 | joyNum: 0
248 | - serializedVersion: 3
249 | m_Name: Submit
250 | descriptiveName:
251 | descriptiveNegativeName:
252 | negativeButton:
253 | positiveButton: return
254 | altNegativeButton:
255 | altPositiveButton: joystick button 0
256 | gravity: 1000
257 | dead: 0.001
258 | sensitivity: 1000
259 | snap: 0
260 | invert: 0
261 | type: 0
262 | axis: 0
263 | joyNum: 0
264 | - serializedVersion: 3
265 | m_Name: Submit
266 | descriptiveName:
267 | descriptiveNegativeName:
268 | negativeButton:
269 | positiveButton: enter
270 | altNegativeButton:
271 | altPositiveButton: space
272 | gravity: 1000
273 | dead: 0.001
274 | sensitivity: 1000
275 | snap: 0
276 | invert: 0
277 | type: 0
278 | axis: 0
279 | joyNum: 0
280 | - serializedVersion: 3
281 | m_Name: Cancel
282 | descriptiveName:
283 | descriptiveNegativeName:
284 | negativeButton:
285 | positiveButton: escape
286 | altNegativeButton:
287 | altPositiveButton: joystick button 1
288 | gravity: 1000
289 | dead: 0.001
290 | sensitivity: 1000
291 | snap: 0
292 | invert: 0
293 | type: 0
294 | axis: 0
295 | joyNum: 0
296 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/ProjectSettings/NavMeshAreas.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!126 &1
4 | NavMeshProjectSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 2
7 | areas:
8 | - name: Walkable
9 | cost: 1
10 | - name: Not Walkable
11 | cost: 1
12 | - name: Jump
13 | cost: 2
14 | - name:
15 | cost: 1
16 | - name:
17 | cost: 1
18 | - name:
19 | cost: 1
20 | - name:
21 | cost: 1
22 | - name:
23 | cost: 1
24 | - name:
25 | cost: 1
26 | - name:
27 | cost: 1
28 | - name:
29 | cost: 1
30 | - name:
31 | cost: 1
32 | - name:
33 | cost: 1
34 | - name:
35 | cost: 1
36 | - name:
37 | cost: 1
38 | - name:
39 | cost: 1
40 | - name:
41 | cost: 1
42 | - name:
43 | cost: 1
44 | - name:
45 | cost: 1
46 | - name:
47 | cost: 1
48 | - name:
49 | cost: 1
50 | - name:
51 | cost: 1
52 | - name:
53 | cost: 1
54 | - name:
55 | cost: 1
56 | - name:
57 | cost: 1
58 | - name:
59 | cost: 1
60 | - name:
61 | cost: 1
62 | - name:
63 | cost: 1
64 | - name:
65 | cost: 1
66 | - name:
67 | cost: 1
68 | - name:
69 | cost: 1
70 | - name:
71 | cost: 1
72 | m_LastAgentTypeID: -887442657
73 | m_Settings:
74 | - serializedVersion: 2
75 | agentTypeID: 0
76 | agentRadius: 0.5
77 | agentHeight: 2
78 | agentSlope: 45
79 | agentClimb: 0.75
80 | ledgeDropHeight: 0
81 | maxJumpAcrossDistance: 0
82 | minRegionArea: 2
83 | manualCellSize: 0
84 | cellSize: 0.16666667
85 | manualTileSize: 0
86 | tileSize: 256
87 | accuratePlacement: 0
88 | debug:
89 | m_Flags: 0
90 | m_SettingNames:
91 | - Humanoid
92 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/ProjectSettings/Physics2DSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!19 &1
4 | Physics2DSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 4
7 | m_Gravity: {x: 0, y: -9.81}
8 | m_DefaultMaterial: {fileID: 0}
9 | m_VelocityIterations: 8
10 | m_PositionIterations: 3
11 | m_VelocityThreshold: 1
12 | m_MaxLinearCorrection: 0.2
13 | m_MaxAngularCorrection: 8
14 | m_MaxTranslationSpeed: 100
15 | m_MaxRotationSpeed: 360
16 | m_BaumgarteScale: 0.2
17 | m_BaumgarteTimeOfImpactScale: 0.75
18 | m_TimeToSleep: 0.5
19 | m_LinearSleepTolerance: 0.01
20 | m_AngularSleepTolerance: 2
21 | m_DefaultContactOffset: 0.01
22 | m_JobOptions:
23 | serializedVersion: 2
24 | useMultithreading: 0
25 | useConsistencySorting: 0
26 | m_InterpolationPosesPerJob: 100
27 | m_NewContactsPerJob: 30
28 | m_CollideContactsPerJob: 100
29 | m_ClearFlagsPerJob: 200
30 | m_ClearBodyForcesPerJob: 200
31 | m_SyncDiscreteFixturesPerJob: 50
32 | m_SyncContinuousFixturesPerJob: 50
33 | m_FindNearestContactsPerJob: 100
34 | m_UpdateTriggerContactsPerJob: 100
35 | m_IslandSolverCostThreshold: 100
36 | m_IslandSolverBodyCostScale: 1
37 | m_IslandSolverContactCostScale: 10
38 | m_IslandSolverJointCostScale: 10
39 | m_IslandSolverBodiesPerJob: 50
40 | m_IslandSolverContactsPerJob: 50
41 | m_AutoSimulation: 1
42 | m_QueriesHitTriggers: 1
43 | m_QueriesStartInColliders: 1
44 | m_CallbacksOnDisable: 1
45 | m_ReuseCollisionCallbacks: 1
46 | m_AutoSyncTransforms: 0
47 | m_AlwaysShowColliders: 0
48 | m_ShowColliderSleep: 1
49 | m_ShowColliderContacts: 0
50 | m_ShowColliderAABB: 0
51 | m_ContactArrowScale: 0.2
52 | m_ColliderAwakeColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.7529412}
53 | m_ColliderAsleepColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.36078432}
54 | m_ColliderContactColor: {r: 1, g: 0, b: 1, a: 0.6862745}
55 | m_ColliderAABBColor: {r: 1, g: 1, b: 0, a: 0.2509804}
56 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
57 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/ProjectSettings/PresetManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!1386491679 &1
4 | PresetManager:
5 | m_ObjectHideFlags: 0
6 | m_DefaultList: []
7 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/ProjectSettings/ProjectVersion.txt:
--------------------------------------------------------------------------------
1 | m_EditorVersion: 2019.1.14f1
2 | m_EditorVersionWithRevision: 2019.1.14f1 (148b5891095a)
3 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/ProjectSettings/QualitySettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!47 &1
4 | QualitySettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 5
7 | m_CurrentQuality: 5
8 | m_QualitySettings:
9 | - serializedVersion: 2
10 | name: Very Low
11 | pixelLightCount: 0
12 | shadows: 0
13 | shadowResolution: 0
14 | shadowProjection: 1
15 | shadowCascades: 1
16 | shadowDistance: 15
17 | shadowNearPlaneOffset: 3
18 | shadowCascade2Split: 0.33333334
19 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
20 | shadowmaskMode: 0
21 | blendWeights: 1
22 | textureQuality: 1
23 | anisotropicTextures: 0
24 | antiAliasing: 0
25 | softParticles: 0
26 | softVegetation: 0
27 | realtimeReflectionProbes: 0
28 | billboardsFaceCameraPosition: 0
29 | vSyncCount: 0
30 | lodBias: 0.3
31 | maximumLODLevel: 0
32 | streamingMipmapsActive: 0
33 | streamingMipmapsAddAllCameras: 1
34 | streamingMipmapsMemoryBudget: 512
35 | streamingMipmapsRenderersPerFrame: 512
36 | streamingMipmapsMaxLevelReduction: 2
37 | streamingMipmapsMaxFileIORequests: 1024
38 | particleRaycastBudget: 4
39 | asyncUploadTimeSlice: 2
40 | asyncUploadBufferSize: 16
41 | asyncUploadPersistentBuffer: 1
42 | resolutionScalingFixedDPIFactor: 1
43 | excludedTargetPlatforms: []
44 | - serializedVersion: 2
45 | name: Low
46 | pixelLightCount: 0
47 | shadows: 0
48 | shadowResolution: 0
49 | shadowProjection: 1
50 | shadowCascades: 1
51 | shadowDistance: 20
52 | shadowNearPlaneOffset: 3
53 | shadowCascade2Split: 0.33333334
54 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
55 | shadowmaskMode: 0
56 | blendWeights: 2
57 | textureQuality: 0
58 | anisotropicTextures: 0
59 | antiAliasing: 0
60 | softParticles: 0
61 | softVegetation: 0
62 | realtimeReflectionProbes: 0
63 | billboardsFaceCameraPosition: 0
64 | vSyncCount: 0
65 | lodBias: 0.4
66 | maximumLODLevel: 0
67 | streamingMipmapsActive: 0
68 | streamingMipmapsAddAllCameras: 1
69 | streamingMipmapsMemoryBudget: 512
70 | streamingMipmapsRenderersPerFrame: 512
71 | streamingMipmapsMaxLevelReduction: 2
72 | streamingMipmapsMaxFileIORequests: 1024
73 | particleRaycastBudget: 16
74 | asyncUploadTimeSlice: 2
75 | asyncUploadBufferSize: 16
76 | asyncUploadPersistentBuffer: 1
77 | resolutionScalingFixedDPIFactor: 1
78 | excludedTargetPlatforms: []
79 | - serializedVersion: 2
80 | name: Medium
81 | pixelLightCount: 1
82 | shadows: 1
83 | shadowResolution: 0
84 | shadowProjection: 1
85 | shadowCascades: 1
86 | shadowDistance: 20
87 | shadowNearPlaneOffset: 3
88 | shadowCascade2Split: 0.33333334
89 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
90 | shadowmaskMode: 0
91 | blendWeights: 2
92 | textureQuality: 0
93 | anisotropicTextures: 1
94 | antiAliasing: 0
95 | softParticles: 0
96 | softVegetation: 0
97 | realtimeReflectionProbes: 0
98 | billboardsFaceCameraPosition: 0
99 | vSyncCount: 1
100 | lodBias: 0.7
101 | maximumLODLevel: 0
102 | streamingMipmapsActive: 0
103 | streamingMipmapsAddAllCameras: 1
104 | streamingMipmapsMemoryBudget: 512
105 | streamingMipmapsRenderersPerFrame: 512
106 | streamingMipmapsMaxLevelReduction: 2
107 | streamingMipmapsMaxFileIORequests: 1024
108 | particleRaycastBudget: 64
109 | asyncUploadTimeSlice: 2
110 | asyncUploadBufferSize: 16
111 | asyncUploadPersistentBuffer: 1
112 | resolutionScalingFixedDPIFactor: 1
113 | excludedTargetPlatforms: []
114 | - serializedVersion: 2
115 | name: High
116 | pixelLightCount: 2
117 | shadows: 2
118 | shadowResolution: 1
119 | shadowProjection: 1
120 | shadowCascades: 2
121 | shadowDistance: 40
122 | shadowNearPlaneOffset: 3
123 | shadowCascade2Split: 0.33333334
124 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
125 | shadowmaskMode: 1
126 | blendWeights: 2
127 | textureQuality: 0
128 | anisotropicTextures: 1
129 | antiAliasing: 0
130 | softParticles: 0
131 | softVegetation: 1
132 | realtimeReflectionProbes: 1
133 | billboardsFaceCameraPosition: 1
134 | vSyncCount: 1
135 | lodBias: 1
136 | maximumLODLevel: 0
137 | streamingMipmapsActive: 0
138 | streamingMipmapsAddAllCameras: 1
139 | streamingMipmapsMemoryBudget: 512
140 | streamingMipmapsRenderersPerFrame: 512
141 | streamingMipmapsMaxLevelReduction: 2
142 | streamingMipmapsMaxFileIORequests: 1024
143 | particleRaycastBudget: 256
144 | asyncUploadTimeSlice: 2
145 | asyncUploadBufferSize: 16
146 | asyncUploadPersistentBuffer: 1
147 | resolutionScalingFixedDPIFactor: 1
148 | excludedTargetPlatforms: []
149 | - serializedVersion: 2
150 | name: Very High
151 | pixelLightCount: 3
152 | shadows: 2
153 | shadowResolution: 2
154 | shadowProjection: 1
155 | shadowCascades: 2
156 | shadowDistance: 70
157 | shadowNearPlaneOffset: 3
158 | shadowCascade2Split: 0.33333334
159 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
160 | shadowmaskMode: 1
161 | blendWeights: 4
162 | textureQuality: 0
163 | anisotropicTextures: 2
164 | antiAliasing: 2
165 | softParticles: 1
166 | softVegetation: 1
167 | realtimeReflectionProbes: 1
168 | billboardsFaceCameraPosition: 1
169 | vSyncCount: 1
170 | lodBias: 1.5
171 | maximumLODLevel: 0
172 | streamingMipmapsActive: 0
173 | streamingMipmapsAddAllCameras: 1
174 | streamingMipmapsMemoryBudget: 512
175 | streamingMipmapsRenderersPerFrame: 512
176 | streamingMipmapsMaxLevelReduction: 2
177 | streamingMipmapsMaxFileIORequests: 1024
178 | particleRaycastBudget: 1024
179 | asyncUploadTimeSlice: 2
180 | asyncUploadBufferSize: 16
181 | asyncUploadPersistentBuffer: 1
182 | resolutionScalingFixedDPIFactor: 1
183 | excludedTargetPlatforms: []
184 | - serializedVersion: 2
185 | name: Ultra
186 | pixelLightCount: 4
187 | shadows: 2
188 | shadowResolution: 2
189 | shadowProjection: 1
190 | shadowCascades: 4
191 | shadowDistance: 150
192 | shadowNearPlaneOffset: 3
193 | shadowCascade2Split: 0.33333334
194 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
195 | shadowmaskMode: 1
196 | blendWeights: 4
197 | textureQuality: 0
198 | anisotropicTextures: 2
199 | antiAliasing: 2
200 | softParticles: 1
201 | softVegetation: 1
202 | realtimeReflectionProbes: 1
203 | billboardsFaceCameraPosition: 1
204 | vSyncCount: 1
205 | lodBias: 2
206 | maximumLODLevel: 0
207 | streamingMipmapsActive: 0
208 | streamingMipmapsAddAllCameras: 1
209 | streamingMipmapsMemoryBudget: 512
210 | streamingMipmapsRenderersPerFrame: 512
211 | streamingMipmapsMaxLevelReduction: 2
212 | streamingMipmapsMaxFileIORequests: 1024
213 | particleRaycastBudget: 4096
214 | asyncUploadTimeSlice: 2
215 | asyncUploadBufferSize: 16
216 | asyncUploadPersistentBuffer: 1
217 | resolutionScalingFixedDPIFactor: 1
218 | excludedTargetPlatforms: []
219 | m_PerPlatformDefaultQuality:
220 | Android: 2
221 | Lumin: 5
222 | Nintendo 3DS: 5
223 | Nintendo Switch: 5
224 | PS4: 5
225 | PSP2: 2
226 | Standalone: 5
227 | WebGL: 3
228 | Windows Store Apps: 5
229 | XboxOne: 5
230 | iPhone: 2
231 | tvOS: 2
232 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/ProjectSettings/TagManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!78 &1
4 | TagManager:
5 | serializedVersion: 2
6 | tags: []
7 | layers:
8 | - Default
9 | - TransparentFX
10 | - Ignore Raycast
11 | -
12 | - Water
13 | - UI
14 | -
15 | -
16 | -
17 | -
18 | -
19 | -
20 | -
21 | -
22 | -
23 | -
24 | -
25 | -
26 | -
27 | -
28 | -
29 | -
30 | -
31 | -
32 | -
33 | -
34 | -
35 | -
36 | -
37 | -
38 | -
39 | -
40 | m_SortingLayers:
41 | - name: Default
42 | uniqueID: 0
43 | locked: 0
44 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/ProjectSettings/TimeManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!5 &1
4 | TimeManager:
5 | m_ObjectHideFlags: 0
6 | Fixed Timestep: 0.02
7 | Maximum Allowed Timestep: 0.33333334
8 | m_TimeScale: 1
9 | Maximum Particle Timestep: 0.03
10 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/ProjectSettings/UnityConnectSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!310 &1
4 | UnityConnectSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 1
7 | m_Enabled: 1
8 | m_TestMode: 0
9 | m_EventOldUrl: https://api.uca.cloud.unity3d.com/v1/events
10 | m_EventUrl: https://cdp.cloud.unity3d.com/v1/events
11 | m_ConfigUrl: https://config.uca.cloud.unity3d.com
12 | m_TestInitMode: 0
13 | CrashReportingSettings:
14 | m_EventUrl: https://perf-events.cloud.unity3d.com
15 | m_Enabled: 0
16 | m_LogBufferSize: 10
17 | m_CaptureEditorExceptions: 1
18 | UnityPurchasingSettings:
19 | m_Enabled: 0
20 | m_TestMode: 0
21 | UnityAnalyticsSettings:
22 | m_Enabled: 0
23 | m_TestMode: 0
24 | m_InitializeOnStartup: 1
25 | UnityAdsSettings:
26 | m_Enabled: 0
27 | m_InitializeOnStartup: 1
28 | m_TestMode: 0
29 | m_IosGameId:
30 | m_AndroidGameId:
31 | m_GameIds: {}
32 | m_GameId:
33 | PerformanceReportingSettings:
34 | m_Enabled: 0
35 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/ProjectSettings/VFXManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!937362698 &1
4 | VFXManager:
5 | m_ObjectHideFlags: 0
6 | m_IndirectShader: {fileID: 0}
7 | m_CopyBufferShader: {fileID: 0}
8 | m_SortShader: {fileID: 0}
9 | m_RenderPipeSettingsPath:
10 | m_FixedTimeStep: 0.016666668
11 | m_MaxDeltaTime: 0.05
12 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizer/ProjectSettings/XRSettings.asset:
--------------------------------------------------------------------------------
1 | {
2 | "m_SettingKeys": [
3 | "VR Device Disabled",
4 | "VR Device User Alert"
5 | ],
6 | "m_SettingValues": [
7 | "False",
8 | "False"
9 | ]
10 | }
--------------------------------------------------------------------------------
/UnitySpeechRecognizerPlugin/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 |
3 | # Built application files
4 | *.apk
5 | *.aar
6 | *.ap_
7 | *.aab
8 |
9 | # Files for the ART/Dalvik VM
10 | *.dex
11 |
12 | # Java class files
13 | *.class
14 |
15 | # Generated files
16 | bin/
17 | gen/
18 | out/
19 | # Uncomment the following line in case you need and you don't have the release build type files in your app
20 | # release/
21 |
22 | # Gradle files
23 | .gradle/
24 | build/
25 |
26 | # Local configuration file (sdk path, etc)
27 | local.properties
28 |
29 | # Proguard folder generated by Eclipse
30 | proguard/
31 |
32 | # Log Files
33 | *.log
34 |
35 | # Android Studio Navigation editor temp files
36 | .navigation/
37 |
38 | # Android Studio captures folder
39 | captures/
40 |
41 | # IntelliJ
42 | *.iml
43 | .idea/workspace.xml
44 | .idea/tasks.xml
45 | .idea/gradle.xml
46 | .idea/assetWizardSettings.xml
47 | .idea/dictionaries
48 | .idea/libraries
49 | # Android Studio 3 in .gitignore file.
50 | .idea/caches
51 | .idea/modules.xml
52 | # Comment next line if keeping position of elements in Navigation Editor is relevant for you
53 | .idea/navEditor.xml
54 |
55 | # Keystore files
56 | # Uncomment the following lines if you do not want to check your keystore files in.
57 | #*.jks
58 | #*.keystore
59 |
60 | # External native build folder generated in Android Studio 2.2 and later
61 | .externalNativeBuild
62 | .cxx/
63 |
64 | # Google Services (e.g. APIs or Firebase)
65 | # google-services.json
66 |
67 | # Freeline
68 | freeline.py
69 | freeline/
70 | freeline_project_description.json
71 |
72 | # fastlane
73 | fastlane/report.xml
74 | fastlane/Preview.html
75 | fastlane/screenshots
76 | fastlane/test_output
77 | fastlane/readme.md
78 |
79 | # Version control
80 | vcs.xml
81 |
82 | # lint
83 | lint/intermediates/
84 | lint/generated/
85 | lint/outputs/
86 | lint/tmp/
87 | # lint/reports/
88 |
89 | # Android Profiling
90 | *.hprof
--------------------------------------------------------------------------------
/UnitySpeechRecognizerPlugin/.idea/codeStyles/Project.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 | xmlns:android
14 |
15 | ^$
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 | xmlns:.*
25 |
26 | ^$
27 |
28 |
29 | BY_NAME
30 |
31 |
32 |
33 |
34 |
35 |
36 | .*:id
37 |
38 | http://schemas.android.com/apk/res/android
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 | .*:name
48 |
49 | http://schemas.android.com/apk/res/android
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 | name
59 |
60 | ^$
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 | style
70 |
71 | ^$
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 | .*
81 |
82 | ^$
83 |
84 |
85 | BY_NAME
86 |
87 |
88 |
89 |
90 |
91 |
92 | .*
93 |
94 | http://schemas.android.com/apk/res/android
95 |
96 |
97 | ANDROID_ATTRIBUTE_ORDER
98 |
99 |
100 |
101 |
102 |
103 |
104 | .*
105 |
106 | .*
107 |
108 |
109 | BY_NAME
110 |
111 |
112 |
113 |
114 |
115 |
116 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizerPlugin/.idea/jarRepositories.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizerPlugin/.idea/misc.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizerPlugin/SpeechRecognizer/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizerPlugin/SpeechRecognizer/build.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'com.android.library'
2 |
3 | android {
4 | compileSdkVersion 28
5 | defaultConfig {
6 | minSdkVersion 24
7 | targetSdkVersion 28
8 | versionCode 1
9 | versionName "1.0"
10 | testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
11 | }
12 | buildTypes {
13 | release {
14 | minifyEnabled false
15 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
16 | }
17 | }
18 | compileOptions {
19 | targetCompatibility 1.8
20 | sourceCompatibility 1.8
21 | }
22 | }
23 |
24 | dependencies {
25 | implementation 'com.android.support:support-annotations:28.0.0'
26 | implementation 'com.android.support:support-compat:28.0.0'
27 | compileOnly files('./libs/classes.jar') // Avoid redundant Unity Player in final application APK
28 | testImplementation 'junit:junit:4.12'
29 | androidTestImplementation 'com.android.support.test:runner:1.0.2'
30 | androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
31 | }
32 |
33 | android.libraryVariants.all { variant ->
34 | // Task names.
35 | String variantName = "${variant.name.capitalize()}"; // Like 'Debug'
36 | String deployTaskGroup = "plugin";
37 | String deployTaskName = "deploy${variantName}PluginArchive"; // Like 'deployDebugPluginArchive'
38 | String dependencyTaskName = "assemble${variantName}"; // Like 'assembleDebug'
39 | // Source.
40 | String sourceAARFolder = "${buildDir.getPath()}/outputs/aar/";
41 | String sourceAARName = "${project.name}-${variant.name}.aar";
42 | // Target.
43 | String targetAssetFolder = "\\UnitySpeechRecognizer\\Assets\\Plugins\\SpeechRecognizer\\Android";
44 | String targetAARFolder = "${rootDir.getPath()}/../${targetAssetFolder}"; // Navigate into 'Assets'
45 | String targetAARName = "UnitySpeechRecognizer.aar"; // The form you ship your plugin
46 | // Create task.
47 | task(deployTaskName, dependsOn: dependencyTaskName, type: Copy) {
48 | from(sourceAARFolder)
49 | into(targetAARFolder)
50 | include(sourceAARName)
51 | rename(sourceAARName, targetAARName)
52 | }.group = deployTaskGroup;
53 | }
--------------------------------------------------------------------------------
/UnitySpeechRecognizerPlugin/SpeechRecognizer/libs/classes.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EricBatlle/UnityAndroidSpeechRecognizer/b0ca7355d51471ea8df93043d29d898c44314fc0/UnitySpeechRecognizerPlugin/SpeechRecognizer/libs/classes.jar
--------------------------------------------------------------------------------
/UnitySpeechRecognizerPlugin/SpeechRecognizer/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # You can control the set of applied configuration files using the
3 | # proguardFiles setting in build.gradle.
4 | #
5 | # For more details, see
6 | # http://developer.android.com/guide/developing/tools/proguard.html
7 |
8 | # If your project uses WebView with JS, uncomment the following
9 | # and specify the fully qualified class name to the JavaScript interface
10 | # class:
11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
12 | # public *;
13 | #}
14 |
15 | # Uncomment this to preserve the line number information for
16 | # debugging stack traces.
17 | #-keepattributes SourceFile,LineNumberTable
18 |
19 | # If you keep the line number information, uncomment this to
20 | # hide the original source file name.
21 | #-renamesourcefileattribute SourceFile
22 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizerPlugin/SpeechRecognizer/src/androidTest/java/com/example/eric/unityspeechrecognizerplugin/ExampleInstrumentedTest.java:
--------------------------------------------------------------------------------
1 | package com.example.eric.unityspeechrecognizerplugin;
2 |
3 | import android.content.Context;
4 | import android.support.test.InstrumentationRegistry;
5 | import android.support.test.runner.AndroidJUnit4;
6 |
7 | import org.junit.Test;
8 | import org.junit.runner.RunWith;
9 |
10 | import static org.junit.Assert.*;
11 |
12 | /**
13 | * Instrumented test, which will execute on an Android device.
14 | *
15 | * @see Testing documentation
16 | */
17 | @RunWith(AndroidJUnit4.class)
18 | public class ExampleInstrumentedTest {
19 | @Test
20 | public void useAppContext() throws Exception {
21 | // Context of the app under test.
22 | Context appContext = InstrumentationRegistry.getTargetContext();
23 |
24 | assertEquals("com.example.eric.unityspeechrecognizerplugin", appContext.getPackageName());
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizerPlugin/SpeechRecognizer/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
10 |
11 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizerPlugin/SpeechRecognizer/src/main/java/com/example/eric/unityspeechrecognizerplugin/SpeechRecognizerFragment.java:
--------------------------------------------------------------------------------
1 | package com.example.eric.unityspeechrecognizerplugin;
2 |
3 | import android.Manifest;
4 | import android.app.Fragment;
5 | import android.content.ActivityNotFoundException;
6 | import android.content.Intent;
7 | import android.content.pm.PackageManager;
8 | import android.os.Bundle;
9 | import android.speech.RecognitionListener;
10 | import android.speech.RecognizerIntent;
11 | import android.speech.SpeechRecognizer;
12 | import android.support.annotation.Nullable;
13 | import android.support.v4.app.ActivityCompat;
14 | import android.support.v4.content.ContextCompat;
15 | import android.util.Log;
16 |
17 | import com.unity3d.player.UnityPlayer;
18 |
19 | import java.util.ArrayList;
20 | import java.util.IllformedLocaleException;
21 | import java.util.Locale;
22 |
23 | /**
24 | * Created by Eric on 27/03/2020.
25 | */
26 |
27 | public class SpeechRecognizerFragment extends Fragment
28 | {
29 | //Tag to follow logcats
30 | private static final String TAG = "SpeechRecognizer";
31 | // Singleton instance.
32 | public static SpeechRecognizerFragment instance;
33 |
34 | //UNITY CONTEXT
35 | String gameObjectName;
36 | String resultCallbackName = "OnResult";
37 | String errorCallbackName = "OnError";
38 | public static void SendUnityResults(String results)
39 | {
40 | UnityPlayer.UnitySendMessage(instance.gameObjectName, instance.resultCallbackName, results);
41 | Log.d(TAG, results);
42 | }
43 | public static void SendUnityError(ERROR error)
44 | {
45 | String errorString = String.valueOf(error);
46 | UnityPlayer.UnitySendMessage(instance.gameObjectName, instance.errorCallbackName, errorString);
47 | Log.d(TAG, errorString);
48 | }
49 | public static void SetUp(String gameObjectName)
50 | {
51 | instance = new SpeechRecognizerFragment();
52 | instance.gameObjectName = gameObjectName; // Store 'GameObject' reference
53 | UnityPlayer.currentActivity.getFragmentManager().beginTransaction().add(instance, SpeechRecognizerFragment.TAG).commit();
54 | }
55 |
56 | @Override
57 | public void onCreate(@Nullable Bundle savedInstanceState)
58 | {
59 | super.onCreate(savedInstanceState);
60 | setRetainInstance(true);
61 | RequestRecordAudioPermission();
62 | }
63 |
64 | //SPEECH RECOGNIZER
65 | public SpeechRecognizer sr;
66 | public SpeechRecognitionListener speechListener = new SpeechRecognitionListener();
67 | private static boolean isLanguageSpecified = false;
68 | private static String language = "en-US";
69 | private static int maxResults = 10;
70 |
71 | public enum ERROR
72 | {
73 | UNKNOWN, INVALID_LANGUAGE_FORMAT
74 | }
75 |
76 | private void RequestRecordAudioPermission()
77 | {
78 | // Here, thisActivity is the current activity
79 | if (ContextCompat.checkSelfPermission(getActivity(), Manifest.permission.RECORD_AUDIO) != PackageManager.PERMISSION_GRANTED)
80 | {
81 | // Permission is not granted
82 | // Should we show an explanation?
83 | if (ActivityCompat.shouldShowRequestPermissionRationale(getActivity(), Manifest.permission.RECORD_AUDIO))
84 | {
85 | // Show an explanation to the user *asynchronously* -- don't block
86 | // this thread waiting for the user's response! After the user
87 | // sees the explanation, try again to request the permission.
88 | }
89 | else
90 | {
91 | // No explanation needed; request the permission
92 | ActivityCompat.requestPermissions(getActivity(), new String[]{Manifest.permission.RECORD_AUDIO},20);
93 | // MY_PERMISSIONS_REQUEST_READ_CONTACTS is an
94 | // app-defined int constant. The callback method gets the
95 | // result of the request.
96 | }
97 | }
98 | else
99 | {
100 | // Permission has already been granted
101 | Log.d(TAG, "Permission has already been granted");
102 | }
103 | }
104 |
105 | public void StartListening()
106 | {
107 | getActivity().runOnUiThread(new Runnable() {
108 | @Override
109 | public void run() {
110 | Log.d(TAG, "StartListeningCalled");
111 | sr = SpeechRecognizer.createSpeechRecognizer(getActivity());
112 | sr.setRecognitionListener(speechListener);
113 |
114 | Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
115 | intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
116 | if (isLanguageSpecified)
117 | intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE, language);
118 | else
119 | intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE, Locale.getDefault());
120 | intent.putExtra(RecognizerIntent.EXTRA_MAX_RESULTS, maxResults);
121 |
122 | try
123 | {
124 | sr.startListening(intent);
125 | }
126 | catch (ActivityNotFoundException a)
127 | {
128 | Log.d(TAG, a.toString());
129 | }
130 | }
131 | });
132 | }
133 | public void StartListening(boolean isContinuous, String language, int maxResults)
134 | {
135 | SetContinuousListening(isContinuous);
136 | SetLanguage(language);
137 | SetMaxResults(maxResults);
138 | StartListening();
139 | }
140 | public void StopListening()
141 | {
142 | sr.destroy();
143 | sr = null;
144 | }
145 | public void RestartListening()
146 | {
147 | StopListening();
148 | StartListening();
149 | }
150 | public void SetContinuousListening(boolean isContinuous)
151 | {
152 | speechListener.continuousListening = isContinuous;
153 | }
154 | public void SetLanguage(String newLanguage)
155 | {
156 | try
157 | {
158 | Locale locale = new Locale.Builder().setLanguageTag(newLanguage).build();
159 | language = newLanguage;
160 | isLanguageSpecified = true;
161 | }catch (IllformedLocaleException exception)
162 | {
163 | isLanguageSpecified = false;
164 | SendUnityError(ERROR.INVALID_LANGUAGE_FORMAT);
165 | }
166 | }
167 | public void SetMaxResults(int newMaxResults)
168 | {
169 | maxResults = newMaxResults;
170 | }
171 |
172 | //SPEECH RECOGNIZER_LISTENER
173 | class SpeechRecognitionListener implements RecognitionListener
174 | {
175 | private ArrayList resultData = new ArrayList<>();
176 | public boolean continuousListening = false;
177 |
178 | public void onReadyForSpeech(Bundle params) {
179 | Log.d(TAG, "onReadyForSpeech");
180 | }
181 |
182 | public void onBeginningOfSpeech() {
183 | Log.d(TAG, "onBeginningOfSpeech");
184 | }
185 |
186 | public void onRmsChanged(float rmsdB) {
187 | /*Log.d(TAG, "onRmsChanged");*/
188 | }
189 |
190 | public void onBufferReceived(byte[] buffer) {
191 | Log.d(TAG, "onBufferReceived");
192 | }
193 |
194 | public void onEndOfSpeech() {
195 | Log.d(TAG, "onEndofSpeech");
196 | }
197 |
198 | public void onError(int error)
199 | {
200 | if(continuousListening)
201 | RestartListening();
202 | }
203 |
204 | public void onResults(Bundle results)
205 | {
206 | StringBuilder str = new StringBuilder();
207 | resultData = results.getStringArrayList(SpeechRecognizer.RESULTS_RECOGNITION);
208 | if (resultData != null)
209 | {
210 | str.append(resultData.get(0));
211 | for (int i = 1; i < resultData.size(); i++)
212 | {
213 | str.append("~").append(resultData.get(i));
214 | }
215 | }
216 |
217 | SendUnityResults(str.toString());
218 | if(continuousListening)
219 | RestartListening();
220 | }
221 |
222 | public void onPartialResults(Bundle partialResults) {
223 | Log.d(TAG, "onPartialResults");
224 | }
225 |
226 | public void onEvent(int eventType, Bundle params) {
227 | Log.d(TAG, "onEvent " + eventType);
228 | }
229 | }
230 | }
231 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizerPlugin/SpeechRecognizer/src/main/res/drawable-v24/ic_launcher_foreground.xml:
--------------------------------------------------------------------------------
1 |
7 |
12 |
13 |
19 |
22 |
25 |
26 |
27 |
28 |
34 |
35 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizerPlugin/SpeechRecognizer/src/main/res/drawable/ic_launcher_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
10 |
15 |
20 |
25 |
30 |
35 |
40 |
45 |
50 |
55 |
60 |
65 |
70 |
75 |
80 |
85 |
90 |
95 |
100 |
105 |
110 |
115 |
120 |
125 |
130 |
135 |
140 |
145 |
150 |
155 |
160 |
165 |
170 |
171 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizerPlugin/SpeechRecognizer/src/main/res/mipmap-anydpi-v26/ic_launcher.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizerPlugin/SpeechRecognizer/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizerPlugin/SpeechRecognizer/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EricBatlle/UnityAndroidSpeechRecognizer/b0ca7355d51471ea8df93043d29d898c44314fc0/UnitySpeechRecognizerPlugin/SpeechRecognizer/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/UnitySpeechRecognizerPlugin/SpeechRecognizer/src/main/res/mipmap-hdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EricBatlle/UnityAndroidSpeechRecognizer/b0ca7355d51471ea8df93043d29d898c44314fc0/UnitySpeechRecognizerPlugin/SpeechRecognizer/src/main/res/mipmap-hdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/UnitySpeechRecognizerPlugin/SpeechRecognizer/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EricBatlle/UnityAndroidSpeechRecognizer/b0ca7355d51471ea8df93043d29d898c44314fc0/UnitySpeechRecognizerPlugin/SpeechRecognizer/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/UnitySpeechRecognizerPlugin/SpeechRecognizer/src/main/res/mipmap-mdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EricBatlle/UnityAndroidSpeechRecognizer/b0ca7355d51471ea8df93043d29d898c44314fc0/UnitySpeechRecognizerPlugin/SpeechRecognizer/src/main/res/mipmap-mdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/UnitySpeechRecognizerPlugin/SpeechRecognizer/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EricBatlle/UnityAndroidSpeechRecognizer/b0ca7355d51471ea8df93043d29d898c44314fc0/UnitySpeechRecognizerPlugin/SpeechRecognizer/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/UnitySpeechRecognizerPlugin/SpeechRecognizer/src/main/res/mipmap-xhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EricBatlle/UnityAndroidSpeechRecognizer/b0ca7355d51471ea8df93043d29d898c44314fc0/UnitySpeechRecognizerPlugin/SpeechRecognizer/src/main/res/mipmap-xhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/UnitySpeechRecognizerPlugin/SpeechRecognizer/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EricBatlle/UnityAndroidSpeechRecognizer/b0ca7355d51471ea8df93043d29d898c44314fc0/UnitySpeechRecognizerPlugin/SpeechRecognizer/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/UnitySpeechRecognizerPlugin/SpeechRecognizer/src/main/res/mipmap-xxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EricBatlle/UnityAndroidSpeechRecognizer/b0ca7355d51471ea8df93043d29d898c44314fc0/UnitySpeechRecognizerPlugin/SpeechRecognizer/src/main/res/mipmap-xxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/UnitySpeechRecognizerPlugin/SpeechRecognizer/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EricBatlle/UnityAndroidSpeechRecognizer/b0ca7355d51471ea8df93043d29d898c44314fc0/UnitySpeechRecognizerPlugin/SpeechRecognizer/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/UnitySpeechRecognizerPlugin/SpeechRecognizer/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EricBatlle/UnityAndroidSpeechRecognizer/b0ca7355d51471ea8df93043d29d898c44314fc0/UnitySpeechRecognizerPlugin/SpeechRecognizer/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/UnitySpeechRecognizerPlugin/SpeechRecognizer/src/main/res/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #3F51B5
4 | #303F9F
5 | #FF4081
6 |
7 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizerPlugin/SpeechRecognizer/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 | UnitySpeechRecognizerPlugin
3 |
4 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizerPlugin/SpeechRecognizer/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizerPlugin/SpeechRecognizer/src/test/java/com/example/eric/unityspeechrecognizerplugin/ExampleUnitTest.java:
--------------------------------------------------------------------------------
1 | package com.example.eric.unityspeechrecognizerplugin;
2 |
3 | import org.junit.Test;
4 |
5 | import static org.junit.Assert.*;
6 |
7 | /**
8 | * Example local unit test, which will execute on the development machine (host).
9 | *
10 | * @see Testing documentation
11 | */
12 | public class ExampleUnitTest {
13 | @Test
14 | public void addition_isCorrect() throws Exception {
15 | assertEquals(4, 2 + 2);
16 | }
17 | }
--------------------------------------------------------------------------------
/UnitySpeechRecognizerPlugin/build.gradle:
--------------------------------------------------------------------------------
1 | // Top-level build file where you can add configuration options common to all sub-projects/modules.
2 |
3 | buildscript {
4 |
5 | repositories {
6 | google()
7 | jcenter()
8 | }
9 | dependencies {
10 | classpath 'com.android.tools.build:gradle:3.0.1'
11 |
12 |
13 | // NOTE: Do not place your application dependencies here; they belong
14 | // in the individual module build.gradle files
15 | }
16 | }
17 |
18 | allprojects {
19 | repositories {
20 | google()
21 | jcenter()
22 | }
23 | }
24 |
25 | task clean(type: Delete) {
26 | delete rootProject.buildDir
27 | }
28 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizerPlugin/gradle.properties:
--------------------------------------------------------------------------------
1 | # Project-wide Gradle settings.
2 |
3 | # IDE (e.g. Android Studio) users:
4 | # Gradle settings configured through the IDE *will override*
5 | # any settings specified in this file.
6 |
7 | # For more details on how to configure your build environment visit
8 | # http://www.gradle.org/docs/current/userguide/build_environment.html
9 |
10 | # Specifies the JVM arguments used for the daemon process.
11 | # The setting is particularly useful for tweaking memory settings.
12 | org.gradle.jvmargs=-Xmx1536m
13 |
14 | # When configured, Gradle will run in incubating parallel mode.
15 | # This option should only be used with decoupled projects. More details, visit
16 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
17 | # org.gradle.parallel=true
18 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizerPlugin/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EricBatlle/UnityAndroidSpeechRecognizer/b0ca7355d51471ea8df93043d29d898c44314fc0/UnitySpeechRecognizerPlugin/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/UnitySpeechRecognizerPlugin/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Fri Mar 27 19:00:16 CET 2020
2 | distributionBase=GRADLE_USER_HOME
3 | distributionPath=wrapper/dists
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip
7 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizerPlugin/gradlew:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | ##############################################################################
4 | ##
5 | ## Gradle start up script for UN*X
6 | ##
7 | ##############################################################################
8 |
9 | # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
10 | DEFAULT_JVM_OPTS=""
11 |
12 | APP_NAME="Gradle"
13 | APP_BASE_NAME=`basename "$0"`
14 |
15 | # Use the maximum available, or set MAX_FD != -1 to use that value.
16 | MAX_FD="maximum"
17 |
18 | warn ( ) {
19 | echo "$*"
20 | }
21 |
22 | die ( ) {
23 | echo
24 | echo "$*"
25 | echo
26 | exit 1
27 | }
28 |
29 | # OS specific support (must be 'true' or 'false').
30 | cygwin=false
31 | msys=false
32 | darwin=false
33 | case "`uname`" in
34 | CYGWIN* )
35 | cygwin=true
36 | ;;
37 | Darwin* )
38 | darwin=true
39 | ;;
40 | MINGW* )
41 | msys=true
42 | ;;
43 | esac
44 |
45 | # Attempt to set APP_HOME
46 | # Resolve links: $0 may be a link
47 | PRG="$0"
48 | # Need this for relative symlinks.
49 | while [ -h "$PRG" ] ; do
50 | ls=`ls -ld "$PRG"`
51 | link=`expr "$ls" : '.*-> \(.*\)$'`
52 | if expr "$link" : '/.*' > /dev/null; then
53 | PRG="$link"
54 | else
55 | PRG=`dirname "$PRG"`"/$link"
56 | fi
57 | done
58 | SAVED="`pwd`"
59 | cd "`dirname \"$PRG\"`/" >/dev/null
60 | APP_HOME="`pwd -P`"
61 | cd "$SAVED" >/dev/null
62 |
63 | CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
64 |
65 | # Determine the Java command to use to start the JVM.
66 | if [ -n "$JAVA_HOME" ] ; then
67 | if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
68 | # IBM's JDK on AIX uses strange locations for the executables
69 | JAVACMD="$JAVA_HOME/jre/sh/java"
70 | else
71 | JAVACMD="$JAVA_HOME/bin/java"
72 | fi
73 | if [ ! -x "$JAVACMD" ] ; then
74 | die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
75 |
76 | Please set the JAVA_HOME variable in your environment to match the
77 | location of your Java installation."
78 | fi
79 | else
80 | JAVACMD="java"
81 | which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
82 |
83 | Please set the JAVA_HOME variable in your environment to match the
84 | location of your Java installation."
85 | fi
86 |
87 | # Increase the maximum file descriptors if we can.
88 | if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then
89 | MAX_FD_LIMIT=`ulimit -H -n`
90 | if [ $? -eq 0 ] ; then
91 | if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
92 | MAX_FD="$MAX_FD_LIMIT"
93 | fi
94 | ulimit -n $MAX_FD
95 | if [ $? -ne 0 ] ; then
96 | warn "Could not set maximum file descriptor limit: $MAX_FD"
97 | fi
98 | else
99 | warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
100 | fi
101 | fi
102 |
103 | # For Darwin, add options to specify how the application appears in the dock
104 | if $darwin; then
105 | GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
106 | fi
107 |
108 | # For Cygwin, switch paths to Windows format before running java
109 | if $cygwin ; then
110 | APP_HOME=`cygpath --path --mixed "$APP_HOME"`
111 | CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
112 | JAVACMD=`cygpath --unix "$JAVACMD"`
113 |
114 | # We build the pattern for arguments to be converted via cygpath
115 | ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
116 | SEP=""
117 | for dir in $ROOTDIRSRAW ; do
118 | ROOTDIRS="$ROOTDIRS$SEP$dir"
119 | SEP="|"
120 | done
121 | OURCYGPATTERN="(^($ROOTDIRS))"
122 | # Add a user-defined pattern to the cygpath arguments
123 | if [ "$GRADLE_CYGPATTERN" != "" ] ; then
124 | OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
125 | fi
126 | # Now convert the arguments - kludge to limit ourselves to /bin/sh
127 | i=0
128 | for arg in "$@" ; do
129 | CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
130 | CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
131 |
132 | if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
133 | eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
134 | else
135 | eval `echo args$i`="\"$arg\""
136 | fi
137 | i=$((i+1))
138 | done
139 | case $i in
140 | (0) set -- ;;
141 | (1) set -- "$args0" ;;
142 | (2) set -- "$args0" "$args1" ;;
143 | (3) set -- "$args0" "$args1" "$args2" ;;
144 | (4) set -- "$args0" "$args1" "$args2" "$args3" ;;
145 | (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
146 | (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
147 | (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
148 | (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
149 | (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
150 | esac
151 | fi
152 |
153 | # Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules
154 | function splitJvmOpts() {
155 | JVM_OPTS=("$@")
156 | }
157 | eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS
158 | JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME"
159 |
160 | exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@"
161 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizerPlugin/gradlew.bat:
--------------------------------------------------------------------------------
1 | @if "%DEBUG%" == "" @echo off
2 | @rem ##########################################################################
3 | @rem
4 | @rem Gradle startup script for Windows
5 | @rem
6 | @rem ##########################################################################
7 |
8 | @rem Set local scope for the variables with windows NT shell
9 | if "%OS%"=="Windows_NT" setlocal
10 |
11 | @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
12 | set DEFAULT_JVM_OPTS=
13 |
14 | set DIRNAME=%~dp0
15 | if "%DIRNAME%" == "" set DIRNAME=.
16 | set APP_BASE_NAME=%~n0
17 | set APP_HOME=%DIRNAME%
18 |
19 | @rem Find java.exe
20 | if defined JAVA_HOME goto findJavaFromJavaHome
21 |
22 | set JAVA_EXE=java.exe
23 | %JAVA_EXE% -version >NUL 2>&1
24 | if "%ERRORLEVEL%" == "0" goto init
25 |
26 | echo.
27 | echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
28 | echo.
29 | echo Please set the JAVA_HOME variable in your environment to match the
30 | echo location of your Java installation.
31 |
32 | goto fail
33 |
34 | :findJavaFromJavaHome
35 | set JAVA_HOME=%JAVA_HOME:"=%
36 | set JAVA_EXE=%JAVA_HOME%/bin/java.exe
37 |
38 | if exist "%JAVA_EXE%" goto init
39 |
40 | echo.
41 | echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
42 | echo.
43 | echo Please set the JAVA_HOME variable in your environment to match the
44 | echo location of your Java installation.
45 |
46 | goto fail
47 |
48 | :init
49 | @rem Get command-line arguments, handling Windowz variants
50 |
51 | if not "%OS%" == "Windows_NT" goto win9xME_args
52 | if "%@eval[2+2]" == "4" goto 4NT_args
53 |
54 | :win9xME_args
55 | @rem Slurp the command line arguments.
56 | set CMD_LINE_ARGS=
57 | set _SKIP=2
58 |
59 | :win9xME_args_slurp
60 | if "x%~1" == "x" goto execute
61 |
62 | set CMD_LINE_ARGS=%*
63 | goto execute
64 |
65 | :4NT_args
66 | @rem Get arguments from the 4NT Shell from JP Software
67 | set CMD_LINE_ARGS=%$
68 |
69 | :execute
70 | @rem Setup the command line
71 |
72 | set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
73 |
74 | @rem Execute Gradle
75 | "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
76 |
77 | :end
78 | @rem End local scope for the variables with windows NT shell
79 | if "%ERRORLEVEL%"=="0" goto mainEnd
80 |
81 | :fail
82 | rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
83 | rem the _cmd.exe /c_ return code!
84 | if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
85 | exit /b 1
86 |
87 | :mainEnd
88 | if "%OS%"=="Windows_NT" endlocal
89 |
90 | :omega
91 |
--------------------------------------------------------------------------------
/UnitySpeechRecognizerPlugin/settings.gradle:
--------------------------------------------------------------------------------
1 | include ':SpeechRecognizer'
2 |
--------------------------------------------------------------------------------