├── ProjectSettings ├── ProjectVersion.txt ├── ClusterInputManager.asset ├── NetworkManager.asset ├── EditorBuildSettings.asset ├── XRSettings.asset ├── TimeManager.asset ├── VFXManager.asset ├── AudioManager.asset ├── TagManager.asset ├── PresetManager.asset ├── UnityConnectSettings.asset ├── DynamicsManager.asset ├── EditorSettings.asset ├── Physics2DSettings.asset ├── NavMeshAreas.asset ├── GraphicsSettings.asset ├── QualitySettings.asset └── InputManager.asset ├── Assets ├── Rokoko │ ├── Scripts │ │ ├── RokokoAssembly.asmdef │ │ ├── Core │ │ │ ├── CommandAPI │ │ │ │ ├── RequestData.cs.meta │ │ │ │ ├── StudioCommandAPI.cs.meta │ │ │ │ ├── StudioCommandAPIBase.cs.meta │ │ │ │ ├── RequestData.cs │ │ │ │ ├── StudioCommandAPI.cs │ │ │ │ └── StudioCommandAPIBase.cs │ │ │ ├── CommandAPI.meta │ │ │ ├── LZ4Wrapper.cs.meta │ │ │ ├── StudioReceiver.cs.meta │ │ │ ├── UDPReceiver.cs.meta │ │ │ ├── ARKitBlendshapes.cs.meta │ │ │ ├── JsonLiveSerializerV3.cs.meta │ │ │ ├── StudioReceiver.cs │ │ │ ├── ARKitBlendshapes.cs │ │ │ ├── LZ4Wrapper.cs │ │ │ └── UDPReceiver.cs │ │ ├── Plugins │ │ │ ├── LZ4 │ │ │ │ ├── iOS │ │ │ │ │ ├── liblz4.a │ │ │ │ │ └── liblz4.a.meta │ │ │ │ ├── x86_64 │ │ │ │ │ ├── lz4.dll │ │ │ │ │ └── lz4.dll.meta │ │ │ │ ├── Android │ │ │ │ │ ├── libs │ │ │ │ │ │ ├── x86 │ │ │ │ │ │ │ ├── liblz4.so │ │ │ │ │ │ │ └── liblz4.so.meta │ │ │ │ │ │ ├── arm64-v8a │ │ │ │ │ │ │ ├── liblz4.so │ │ │ │ │ │ │ └── liblz4.so.meta │ │ │ │ │ │ ├── armeabi-v7a │ │ │ │ │ │ │ ├── liblz4.so │ │ │ │ │ │ │ └── liblz4.so.meta │ │ │ │ │ │ ├── x86.meta │ │ │ │ │ │ ├── arm64-v8a.meta │ │ │ │ │ │ └── armeabi-v7a.meta │ │ │ │ │ └── libs.meta │ │ │ │ ├── lz4.bundle │ │ │ │ │ ├── Contents │ │ │ │ │ │ ├── MacOS │ │ │ │ │ │ │ ├── lz4 │ │ │ │ │ │ │ └── lz4.meta │ │ │ │ │ │ └── MacOS.meta │ │ │ │ │ └── Contents.meta │ │ │ │ ├── iOS.meta │ │ │ │ ├── Android.meta │ │ │ │ ├── x86_64.meta │ │ │ │ └── lz4.bundle.meta │ │ │ └── LZ4.meta │ │ ├── Core.meta │ │ ├── Editor.meta │ │ ├── Mono.meta │ │ ├── Mono │ │ │ ├── UI.meta │ │ │ ├── Inputs.meta │ │ │ ├── Inputs │ │ │ │ ├── HumanBoneMapping.cs │ │ │ │ ├── Actor.cs.meta │ │ │ │ ├── Face.cs.meta │ │ │ │ ├── Prop.cs.meta │ │ │ │ ├── ActorNewton.cs.meta │ │ │ │ ├── PropColor.cs.meta │ │ │ │ ├── HumanBoneMapping.cs.meta │ │ │ │ ├── BlendShapesMapping.cs.meta │ │ │ │ ├── BlendShapesMapping.cs │ │ │ │ ├── PropColor.cs │ │ │ │ ├── Prop.cs │ │ │ │ ├── ActorNewton.cs │ │ │ │ └── Face.cs │ │ │ ├── PrefabPool.cs.meta │ │ │ ├── RokokoHelper.cs.meta │ │ │ ├── StudioManager.cs.meta │ │ │ ├── PrefabInstancer.cs.meta │ │ │ ├── UI │ │ │ │ ├── InputHierarchyRow.cs.meta │ │ │ │ ├── UIHierarchyManager.cs.meta │ │ │ │ ├── InputHierarchyRow.cs │ │ │ │ └── UIHierarchyManager.cs │ │ │ ├── PrefabInstancer.cs │ │ │ └── PrefabPool.cs │ │ ├── Plugins.meta │ │ ├── RokokoAssembly.asmdef.meta │ │ └── Editor │ │ │ ├── ActorEditor.cs.meta │ │ │ ├── FaceEditor.cs.meta │ │ │ ├── PropEditor.cs.meta │ │ │ ├── ActorNewtonEditor.cs.meta │ │ │ ├── PropColorEditor.cs.meta │ │ │ ├── TweakableEditor.cs.meta │ │ │ ├── HumanBoneMappingEditor.cs.meta │ │ │ ├── BlendShapesMappingEditor.cs.meta │ │ │ ├── ActorNewtonEditor.cs │ │ │ ├── PropColorEditor.cs │ │ │ ├── PropEditor.cs │ │ │ ├── TweakableEditor.cs │ │ │ ├── HumanBoneMappingEditor.cs │ │ │ ├── BlendShapesMappingEditor.cs │ │ │ ├── ActorEditor.cs │ │ │ └── FaceEditor.cs │ ├── documentation.txt │ ├── Art │ │ ├── Textures │ │ │ ├── rokoko-gray-16.jpg │ │ │ ├── rokoko-floor-2048.png │ │ │ ├── rokoko-gray-16.jpg.meta │ │ │ └── rokoko-floor-2048.png.meta │ │ ├── Icons │ │ │ ├── rokoko-icon-prop-32.png │ │ │ ├── rokoko-icon-profile-32.png │ │ │ ├── rokoko-icon-record-32.png │ │ │ ├── rokoko-icon-restart-32.png │ │ │ ├── rokoko-icon-unicast-32.png │ │ │ ├── rokoko-icon-broadcast-32.png │ │ │ ├── rokoko-icon-row-face-32.png │ │ │ ├── rokoko-icon-row-suit-32.png │ │ │ ├── rokoko-icon-stop-white-32.png │ │ │ ├── rokoko-bg-border-radius-1px.png │ │ │ ├── rokoko-icon-input-gloves-32.png │ │ │ ├── rokoko-icon-straightpose-32.png │ │ │ ├── rokoko-direction-indicator-256.png │ │ │ ├── RokokoIconAtlas.spriteatlas.meta │ │ │ ├── RokokoIconAtlas.spriteatlas │ │ │ ├── rokoko-icon-record-32.png.meta │ │ │ ├── rokoko-icon-broadcast-32.png.meta │ │ │ ├── rokoko-icon-profile-32.png.meta │ │ │ ├── rokoko-icon-prop-32.png.meta │ │ │ ├── rokoko-icon-restart-32.png.meta │ │ │ ├── rokoko-icon-row-face-32.png.meta │ │ │ ├── rokoko-icon-row-suit-32.png.meta │ │ │ ├── rokoko-icon-stop-white-32.png.meta │ │ │ ├── rokoko-icon-unicast-32.png.meta │ │ │ ├── rokoko-icon-input-gloves-32.png.meta │ │ │ ├── rokoko-icon-straightpose-32.png.meta │ │ │ ├── rokoko-bg-border-radius-1px.png.meta │ │ │ └── rokoko-direction-indicator-256.png.meta │ │ ├── Meshes │ │ │ ├── Newton │ │ │ │ └── Rokoko_Newton.FBX │ │ │ ├── NewtonFace │ │ │ │ ├── Rokoko_Newtonface.FBX │ │ │ │ └── Rokoko_Newtonface.FBX.meta │ │ │ ├── Newton.meta │ │ │ └── NewtonFace.meta │ │ ├── Fonts │ │ │ ├── proximanova-bold-webfont.ttf │ │ │ ├── proximanova-regular-webfont.ttf │ │ │ ├── proximanova-bold-webfont.ttf.meta │ │ │ └── proximanova-regular-webfont.ttf.meta │ │ ├── Fonts.meta │ │ ├── Icons.meta │ │ ├── Meshes.meta │ │ ├── Materials.meta │ │ ├── Shaders.meta │ │ ├── Textures.meta │ │ ├── Materials │ │ │ ├── Rokoko_Floor_Material.mat.meta │ │ │ ├── Rokoko_Prop_Material.mat.meta │ │ │ ├── Rokoko_Invisible_Material.mat.meta │ │ │ ├── Rokoko_NewtonMain_Material.mat.meta │ │ │ ├── Rokoko_NewtonJoint_Material.mat.meta │ │ │ ├── Rokoko_FaceHead_Material.mat.meta │ │ │ ├── Rokoko_GroundArrow_Material.mat.meta │ │ │ ├── Rokoko_GroundMarker_Material.mat.meta │ │ │ ├── Rokoko_FaceHead_Material.mat │ │ │ ├── Rokoko_Prop_Material.mat │ │ │ ├── Rokoko_Invisible_Material.mat │ │ │ ├── Rokoko_NewtonJoint_Material.mat │ │ │ ├── Rokoko_NewtonMain_Material.mat │ │ │ ├── Rokoko_Floor_Material.mat │ │ │ ├── Rokoko_GroundArrow_Material.mat │ │ │ └── Rokoko_GroundMarker_Material.mat │ │ └── Shaders │ │ │ ├── Rokoko_RoundTransparentGridFloor_Shader.shader.meta │ │ │ └── Rokoko_RoundTransparentGridFloor_Shader.shader │ ├── documentation.txt.meta │ ├── Art.meta │ ├── Prefabs │ │ ├── Actors │ │ │ ├── Prop.prefab.meta │ │ │ ├── Newton.prefab.meta │ │ │ ├── Newton_NoFace.prefab.meta │ │ │ ├── Newton_CustomSkeleton.prefab.meta │ │ │ └── Prop.prefab │ │ ├── UI.meta │ │ ├── UI │ │ │ ├── Hierarchy_UI.prefab.meta │ │ │ ├── PlaybackRow.prefab.meta │ │ │ └── CommandAPI.prefab.meta │ │ └── Actors.meta │ ├── Prefabs.meta │ ├── Scenes.meta │ ├── Scripts.meta │ └── Scenes │ │ ├── RokokoPluginExampleScene.unity.meta │ │ └── RokokoPluginExampleScene_CustomActors.unity.meta └── Rokoko.meta ├── .gitignore ├── Packages └── manifest.json └── README.md /ProjectSettings/ProjectVersion.txt: -------------------------------------------------------------------------------- 1 | m_EditorVersion: 2018.4.28f1 2 | -------------------------------------------------------------------------------- /Assets/Rokoko/Scripts/RokokoAssembly.asmdef: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Rokoko" 3 | } 4 | -------------------------------------------------------------------------------- /Assets/Rokoko/Scripts/Core/CommandAPI/RequestData.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d5ec1713e30442a19275b49b0572d01b 3 | timeCreated: 1552057825 -------------------------------------------------------------------------------- /Assets/Rokoko/documentation.txt: -------------------------------------------------------------------------------- 1 | For for info about the plugin please visit our page at GitHub 2 | https://github.com/Rokoko/rokoko-studio-live-unity/ -------------------------------------------------------------------------------- /Assets/Rokoko/Scripts/Core/CommandAPI/StudioCommandAPI.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f38fe44d6bfb49dbabd93aea7da287ed 3 | timeCreated: 1565078235 -------------------------------------------------------------------------------- /Assets/Rokoko/Art/Textures/rokoko-gray-16.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rokoko/rokoko-studio-live-unity/HEAD/Assets/Rokoko/Art/Textures/rokoko-gray-16.jpg -------------------------------------------------------------------------------- /Assets/Rokoko/Scripts/Core/CommandAPI/StudioCommandAPIBase.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 23be0de9580d445683a1b786461b328d 3 | timeCreated: 1565078385 -------------------------------------------------------------------------------- /Assets/Rokoko/Art/Icons/rokoko-icon-prop-32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rokoko/rokoko-studio-live-unity/HEAD/Assets/Rokoko/Art/Icons/rokoko-icon-prop-32.png -------------------------------------------------------------------------------- /Assets/Rokoko/Art/Textures/rokoko-floor-2048.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rokoko/rokoko-studio-live-unity/HEAD/Assets/Rokoko/Art/Textures/rokoko-floor-2048.png -------------------------------------------------------------------------------- /Assets/Rokoko/Scripts/Plugins/LZ4/iOS/liblz4.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rokoko/rokoko-studio-live-unity/HEAD/Assets/Rokoko/Scripts/Plugins/LZ4/iOS/liblz4.a -------------------------------------------------------------------------------- /Assets/Rokoko/Scripts/Plugins/LZ4/x86_64/lz4.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rokoko/rokoko-studio-live-unity/HEAD/Assets/Rokoko/Scripts/Plugins/LZ4/x86_64/lz4.dll -------------------------------------------------------------------------------- /Assets/Rokoko/Art/Icons/rokoko-icon-profile-32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rokoko/rokoko-studio-live-unity/HEAD/Assets/Rokoko/Art/Icons/rokoko-icon-profile-32.png -------------------------------------------------------------------------------- /Assets/Rokoko/Art/Icons/rokoko-icon-record-32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rokoko/rokoko-studio-live-unity/HEAD/Assets/Rokoko/Art/Icons/rokoko-icon-record-32.png -------------------------------------------------------------------------------- /Assets/Rokoko/Art/Icons/rokoko-icon-restart-32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rokoko/rokoko-studio-live-unity/HEAD/Assets/Rokoko/Art/Icons/rokoko-icon-restart-32.png -------------------------------------------------------------------------------- /Assets/Rokoko/Art/Icons/rokoko-icon-unicast-32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rokoko/rokoko-studio-live-unity/HEAD/Assets/Rokoko/Art/Icons/rokoko-icon-unicast-32.png -------------------------------------------------------------------------------- /Assets/Rokoko/Art/Meshes/Newton/Rokoko_Newton.FBX: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rokoko/rokoko-studio-live-unity/HEAD/Assets/Rokoko/Art/Meshes/Newton/Rokoko_Newton.FBX -------------------------------------------------------------------------------- /Assets/Rokoko/Art/Fonts/proximanova-bold-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rokoko/rokoko-studio-live-unity/HEAD/Assets/Rokoko/Art/Fonts/proximanova-bold-webfont.ttf -------------------------------------------------------------------------------- /Assets/Rokoko/Art/Icons/rokoko-icon-broadcast-32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rokoko/rokoko-studio-live-unity/HEAD/Assets/Rokoko/Art/Icons/rokoko-icon-broadcast-32.png -------------------------------------------------------------------------------- /Assets/Rokoko/Art/Icons/rokoko-icon-row-face-32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rokoko/rokoko-studio-live-unity/HEAD/Assets/Rokoko/Art/Icons/rokoko-icon-row-face-32.png -------------------------------------------------------------------------------- /Assets/Rokoko/Art/Icons/rokoko-icon-row-suit-32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rokoko/rokoko-studio-live-unity/HEAD/Assets/Rokoko/Art/Icons/rokoko-icon-row-suit-32.png -------------------------------------------------------------------------------- /Assets/Rokoko/Art/Icons/rokoko-icon-stop-white-32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rokoko/rokoko-studio-live-unity/HEAD/Assets/Rokoko/Art/Icons/rokoko-icon-stop-white-32.png -------------------------------------------------------------------------------- /Assets/Rokoko/Art/Fonts/proximanova-regular-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rokoko/rokoko-studio-live-unity/HEAD/Assets/Rokoko/Art/Fonts/proximanova-regular-webfont.ttf -------------------------------------------------------------------------------- /Assets/Rokoko/Art/Icons/rokoko-bg-border-radius-1px.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rokoko/rokoko-studio-live-unity/HEAD/Assets/Rokoko/Art/Icons/rokoko-bg-border-radius-1px.png -------------------------------------------------------------------------------- /Assets/Rokoko/Art/Icons/rokoko-icon-input-gloves-32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rokoko/rokoko-studio-live-unity/HEAD/Assets/Rokoko/Art/Icons/rokoko-icon-input-gloves-32.png -------------------------------------------------------------------------------- /Assets/Rokoko/Art/Icons/rokoko-icon-straightpose-32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rokoko/rokoko-studio-live-unity/HEAD/Assets/Rokoko/Art/Icons/rokoko-icon-straightpose-32.png -------------------------------------------------------------------------------- /Assets/Rokoko/Art/Icons/rokoko-direction-indicator-256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rokoko/rokoko-studio-live-unity/HEAD/Assets/Rokoko/Art/Icons/rokoko-direction-indicator-256.png -------------------------------------------------------------------------------- /Assets/Rokoko/Art/Meshes/NewtonFace/Rokoko_Newtonface.FBX: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rokoko/rokoko-studio-live-unity/HEAD/Assets/Rokoko/Art/Meshes/NewtonFace/Rokoko_Newtonface.FBX -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /Assets/Rokoko/Scripts/Plugins/LZ4/Android/libs/x86/liblz4.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rokoko/rokoko-studio-live-unity/HEAD/Assets/Rokoko/Scripts/Plugins/LZ4/Android/libs/x86/liblz4.so -------------------------------------------------------------------------------- /Assets/Rokoko/Scripts/Plugins/LZ4/lz4.bundle/Contents/MacOS/lz4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rokoko/rokoko-studio-live-unity/HEAD/Assets/Rokoko/Scripts/Plugins/LZ4/lz4.bundle/Contents/MacOS/lz4 -------------------------------------------------------------------------------- /Assets/Rokoko/Scripts/Plugins/LZ4/Android/libs/arm64-v8a/liblz4.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rokoko/rokoko-studio-live-unity/HEAD/Assets/Rokoko/Scripts/Plugins/LZ4/Android/libs/arm64-v8a/liblz4.so -------------------------------------------------------------------------------- /Assets/Rokoko/Scripts/Plugins/LZ4/Android/libs/armeabi-v7a/liblz4.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rokoko/rokoko-studio-live-unity/HEAD/Assets/Rokoko/Scripts/Plugins/LZ4/Android/libs/armeabi-v7a/liblz4.so -------------------------------------------------------------------------------- /Assets/Rokoko.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6074c86fbcd256e4bb26cb276832ead6 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Rokoko/documentation.txt.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5254ae00c7dd72d4da829d7586a7ee98 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /ProjectSettings/NetworkManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!149 &1 4 | NetworkManager: 5 | m_ObjectHideFlags: 0 6 | m_DebugLevel: 0 7 | m_Sendrate: 15 8 | m_AssetToPrefab: {} 9 | -------------------------------------------------------------------------------- /Assets/Rokoko/Art.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3f3e3c0381a922e48aa26f921f58c891 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Rokoko/Prefabs/Actors/Prop.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1b1f12af1c3d2fa4bb2cd58a1aa78db5 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Rokoko/Art/Fonts.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 96350abf3fd28af40b410cc048105913 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Rokoko/Art/Icons.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6c575b3954b7a31428687559eba456e9 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Rokoko/Art/Meshes.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bf60f35f54457e54ca439dc910bc5701 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Rokoko/Prefabs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 783138d5a2f60ff4ea5015e2c8cca4bf 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Rokoko/Prefabs/Actors/Newton.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3e7a0bccb581d8945b546f992a7871f4 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Rokoko/Prefabs/UI.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: db95f5fd11f463b42ad4514065e74eab 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Rokoko/Prefabs/UI/Hierarchy_UI.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bc90cf8ecd1a41c42bd2bc08d5539e38 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Rokoko/Prefabs/UI/PlaybackRow.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 57ed10a773465374ea968f6babbec922 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Rokoko/Scenes.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c60823a4bc8e94644b7be6544524e375 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Rokoko/Scripts.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8eafea70406ce3b4aa2eeec06db40b2a 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /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 | m_configObjects: {} 9 | -------------------------------------------------------------------------------- /Assets/Rokoko/Art/Materials.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5eba2627ac93b09498e806b1ca1f6ee4 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Rokoko/Art/Shaders.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c5c7b7128e5f04d47bcfe25a055381c4 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Rokoko/Art/Textures.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bd204d920b563eb46ba6ddd864c9c14e 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Rokoko/Prefabs/Actors.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3fb9c566e8aee9446858332229f7b0ae 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Rokoko/Prefabs/Actors/Newton_NoFace.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 45a3ed8bac3c96c4297dcd116a155351 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Rokoko/Scripts/Core.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d7417c9a13b2bd14ab1fea1d7ffa8e0a 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Rokoko/Scripts/Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bcb7fc52d279a04418128409398af3bd 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Rokoko/Scripts/Mono.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9fd28f925f7e38846913c7631653e97a 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Rokoko/Scripts/Mono/UI.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7e6ff7aa69142344db48e66a446c3b21 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Rokoko/Scripts/Plugins.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bbb359d9a38c1004bbe87c4f14822488 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /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 | } -------------------------------------------------------------------------------- /Assets/Rokoko/Art/Meshes/Newton.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e7cb8f76f6ac4f34e81a3ad808e8ab63 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Rokoko/Scripts/Mono/Inputs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0b9e800521674004693e0a38816ed885 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Rokoko/Scripts/Plugins/LZ4.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 26a3fe8611eb3a44aa1ae9081871b540 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Rokoko/Scripts/RokokoAssembly.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c0283c4bf59b9ad4aa5b4622e1c041a8 3 | AssemblyDefinitionImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Rokoko/Art/Meshes/NewtonFace.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f238c9fb6d8d5ae4699a98b849acc18d 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Rokoko/Prefabs/Actors/Newton_CustomSkeleton.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fe3b0c434bb22024aaddb5f7564faa14 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Rokoko/Scripts/Plugins/LZ4/iOS.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: dd770c574097d3e4ea6aeddfb5b6da48 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Rokoko/Scripts/Plugins/LZ4/Android.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 82985f460b91d5d4ba2aa833b74fef35 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Rokoko/Scripts/Plugins/LZ4/lz4.bundle/Contents/MacOS/lz4.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6ba1e08a82200d64dad5592572a8e20d 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Rokoko/Scripts/Plugins/LZ4/x86_64.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0b36efa71b5d9f444940eb00ad416ece 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Rokoko/Scripts/Plugins/LZ4/Android/libs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ea56c1cd6eae28e479bc6dd92c6898f0 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Rokoko/Scenes/RokokoPluginExampleScene.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 39c928cd83eadf94dbb0246812856c50 3 | timeCreated: 1495451914 4 | licenseType: Pro 5 | DefaultImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Rokoko/Scripts/Plugins/LZ4/Android/libs/x86.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fd93f2258a54c1341a561817c9d7221c 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Rokoko/Scripts/Plugins/LZ4/lz4.bundle/Contents.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6182d450d1495714b9e59291998ad771 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Rokoko/Scripts/Plugins/LZ4/Android/libs/arm64-v8a.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5261e97e6db9c3c49bf370285d19c389 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Rokoko/Scripts/Plugins/LZ4/Android/libs/armeabi-v7a.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ff5c59bfbd7cdc145932e75bd2c77813 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Rokoko/Scripts/Plugins/LZ4/lz4.bundle/Contents/MacOS.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2ffd7822eee55dc42aeef4cb60e1f1b5 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Rokoko/Art/Icons/RokokoIconAtlas.spriteatlas.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c4c98c4b2f785964793210729bc0df2a 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Rokoko/Prefabs/UI/CommandAPI.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 024fe78707b0a9e4599b8093e621eaa7 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 100100000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Rokoko/Art/Materials/Rokoko_Floor_Material.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: de5442149a5364a45a89b4aed5318922 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2100000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Rokoko/Art/Materials/Rokoko_Prop_Material.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: efb193505e790244d941eded8ab70459 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2100000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Rokoko/Scenes/RokokoPluginExampleScene_CustomActors.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9bbf3850d36255447872fa09883079f7 3 | timeCreated: 1495451914 4 | licenseType: Pro 5 | DefaultImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /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.1 8 | m_TimeScale: 1 9 | Maximum Particle Timestep: 0.03 10 | -------------------------------------------------------------------------------- /Assets/Rokoko/Art/Materials/Rokoko_Invisible_Material.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 77c3b338e3957c147a347451541a2339 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2100000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Rokoko/Art/Materials/Rokoko_NewtonMain_Material.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 423b90d678fb1c8408b9143d62e31c74 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2100000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Rokoko/Scripts/Core/CommandAPI.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 721c3fac4cc3fbe4188ec6ec27cb4708 3 | folderAsset: yes 4 | timeCreated: 1564996317 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Rokoko/Art/Materials/Rokoko_NewtonJoint_Material.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9a1455f894960f847b59c41f17fb77d7 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2100000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Rokoko/Art/Materials/Rokoko_FaceHead_Material.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 055df0cb0b68a9745962a657f2ef977b 3 | timeCreated: 1564996349 4 | licenseType: Pro 5 | NativeFormatImporter: 6 | mainObjectFileID: 2100000 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Rokoko/Art/Materials/Rokoko_GroundArrow_Material.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5b70380947dd58c43899aabae4e5d5af 3 | timeCreated: 1492703436 4 | licenseType: Free 5 | NativeFormatImporter: 6 | mainObjectFileID: 2100000 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Rokoko/Art/Materials/Rokoko_GroundMarker_Material.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 51a66222b072d794fa8dede8e56e2f60 3 | timeCreated: 1492703436 4 | licenseType: Free 5 | NativeFormatImporter: 6 | mainObjectFileID: 2100000 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Rokoko/Art/Shaders/Rokoko_RoundTransparentGridFloor_Shader.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fc0c201ebbc6ff844a8111b15ce5737a 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Rokoko/Scripts/Mono/Inputs/HumanBoneMapping.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | 5 | namespace Rokoko.Inputs 6 | { 7 | public class HumanBoneMapping : MonoBehaviour 8 | { 9 | public Transform[] customBodyBones = new Transform[0]; 10 | } 11 | } -------------------------------------------------------------------------------- /Assets/Rokoko/Scripts/Core/LZ4Wrapper.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8b437a01c2f9fde489b7a18b6bac93d7 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Rokoko/Scripts/Core/StudioReceiver.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8cb1306ef28465d49b3d63bc97885931 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Rokoko/Scripts/Core/UDPReceiver.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9af01aaa3a63e7a4499c28b22dd1b20d 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Rokoko/Scripts/Editor/ActorEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6c145f0e6172c614cb36925c13089d46 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Rokoko/Scripts/Editor/FaceEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d5dc6a1ce1b3e1e4ca93a58eb7b8423e 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Rokoko/Scripts/Editor/PropEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6ffddd999956ac94880e3d3b948a51b9 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Rokoko/Scripts/Mono/Inputs/Actor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0b3d830ef66b485459e15992199096b7 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Rokoko/Scripts/Mono/Inputs/Face.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b6f1b7bab29ae9c4ab510759d0fbaa91 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Rokoko/Scripts/Mono/Inputs/Prop.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8274508f93c440949969e644e7b64e65 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Rokoko/Scripts/Mono/PrefabPool.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 47b981a3ed34dc64b9ab5ae02663b220 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Rokoko/Scripts/Mono/RokokoHelper.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5fb415e868ac58149ae137d5bd2d006a 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Rokoko/Scripts/Mono/StudioManager.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: de63a1dd9ec769e4080fd4da352fac11 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Rokoko/Scripts/Core/ARKitBlendshapes.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9f43a84310e40244c970e95e1d934b1a 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Rokoko/Scripts/Editor/ActorNewtonEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d1046da63220b6747b3ff405b5d9b66f 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Rokoko/Scripts/Editor/PropColorEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0d1dd208261ef5a4992092a3318f5134 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Rokoko/Scripts/Editor/TweakableEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c2ecfb1b4e8e7e84f8b2e187eafde67d 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Rokoko/Scripts/Mono/Inputs/ActorNewton.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7694c1eb6726a2d49a01558f46c8ef83 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Rokoko/Scripts/Mono/Inputs/PropColor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 93bc1b702e5f6fa4c9d905909f4741e6 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Rokoko/Scripts/Mono/PrefabInstancer.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ded564a0c7575434ebb9c2faf540099d 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Rokoko/Scripts/Core/JsonLiveSerializerV3.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 61943ed9a14442b4aa24885f7e8a735e 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Rokoko/Scripts/Editor/HumanBoneMappingEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a0839a667aaa630449048d91f665bff9 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Rokoko/Scripts/Mono/Inputs/HumanBoneMapping.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4a162b99fb9dfe542b5844d7b3d7c9fe 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Rokoko/Scripts/Mono/UI/InputHierarchyRow.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1ad284b4954ca4e4e87c771f198afd80 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Rokoko/Scripts/Mono/UI/UIHierarchyManager.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0726fb4ef719b9d46a2afcc8c682dc54 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Rokoko/Scripts/Editor/BlendShapesMappingEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b14cf39ebf53638488debce90a690ad2 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Rokoko/Scripts/Mono/Inputs/BlendShapesMapping.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 07a3f22e5c105474e9725d5438558a99 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /Assets/Rokoko/Scripts/Mono/Inputs/BlendShapesMapping.cs: -------------------------------------------------------------------------------- 1 | using Rokoko.Core; 2 | using Rokoko.Helper; 3 | using System.Collections; 4 | using System.Collections.Generic; 5 | using UnityEngine; 6 | 7 | public class BlendShapesMapping : MonoBehaviour 8 | { 9 | public Dictionary blendshapeNames = new Dictionary(); 10 | } 11 | -------------------------------------------------------------------------------- /Assets/Rokoko/Scripts/Editor/ActorNewtonEditor.cs: -------------------------------------------------------------------------------- 1 | using Rokoko.Inputs; 2 | using System.Collections; 3 | using System.Collections.Generic; 4 | using UnityEditor; 5 | using UnityEngine; 6 | 7 | namespace Rokoko.UnityEditor 8 | { 9 | [CustomEditor(typeof(ActorNewton))] 10 | [CanEditMultipleObjects] 11 | public class ActorNewtonEditor : ActorEditor { } 12 | } -------------------------------------------------------------------------------- /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 | m_Volume: 1 7 | Rolloff Scale: 1 8 | Doppler Factor: 1 9 | Default Speaker Mode: 2 10 | m_SampleRate: 0 11 | m_DSPBufferSize: 1024 12 | m_VirtualVoiceCount: 512 13 | m_RealVoiceCount: 32 14 | m_SpatializerPlugin: 15 | m_AmbisonicDecoderPlugin: 16 | m_DisableAudio: 0 17 | m_VirtualizeEffects: 1 18 | -------------------------------------------------------------------------------- /Assets/Rokoko/Scripts/Core/CommandAPI/RequestData.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | namespace Rokoko.CommandAPI 4 | { 5 | public class RequestData 6 | { 7 | public string smartsuit = ""; 8 | public float countdown_delay = 4; 9 | public string filename = ""; 10 | 11 | public override string ToString() 12 | { 13 | return smartsuit + "," + countdown_delay + ", " + filename; 14 | } 15 | 16 | public string ToJson() 17 | { 18 | return JsonUtility.ToJson(this); 19 | } 20 | } 21 | } -------------------------------------------------------------------------------- /Assets/Rokoko/Art/Fonts/proximanova-bold-webfont.ttf.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2f6f345d4d6f3754cb5e574ab4dafaa6 3 | TrueTypeFontImporter: 4 | externalObjects: {} 5 | serializedVersion: 4 6 | fontSize: 16 7 | forceTextureCase: -2 8 | characterSpacing: 0 9 | characterPadding: 1 10 | includeFontData: 1 11 | fontName: ".\x7F" 12 | fontNames: 13 | - ".\x7F" 14 | fallbackFontReferences: [] 15 | customCharacters: 16 | fontRenderingMode: 0 17 | ascentCalculationMode: 1 18 | useLegacyBoundsCalculation: 0 19 | userData: 20 | assetBundleName: 21 | assetBundleVariant: 22 | -------------------------------------------------------------------------------- /Assets/Rokoko/Scripts/Mono/Inputs/PropColor.cs: -------------------------------------------------------------------------------- 1 | using Rokoko.Core; 2 | using Rokoko.Helper; 3 | using System.Collections; 4 | using System.Collections.Generic; 5 | using UnityEngine; 6 | 7 | namespace Rokoko.Inputs 8 | { 9 | public class PropColor : Prop 10 | { 11 | [HideInInspector] public MeshRenderer meshRenderer; 12 | 13 | public override void UpdateProp(PropFrame propFrame) 14 | { 15 | base.UpdateProp(propFrame); 16 | 17 | if (meshRenderer != null) 18 | meshRenderer.material.color = propFrame.color.ToColor(); 19 | } 20 | } 21 | } -------------------------------------------------------------------------------- /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 | - PostProcessing 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 | -------------------------------------------------------------------------------- /Assets/Rokoko/Art/Fonts/proximanova-regular-webfont.ttf.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f0155dcc7dd9dc848a0f10091d13702d 3 | TrueTypeFontImporter: 4 | externalObjects: {} 5 | serializedVersion: 4 6 | fontSize: 16 7 | forceTextureCase: -2 8 | characterSpacing: 0 9 | characterPadding: 1 10 | includeFontData: 1 11 | fontName: ".\x7F" 12 | fontNames: 13 | - ".\x7F" 14 | fallbackFontReferences: 15 | - {fileID: 12800000, guid: 2f6f345d4d6f3754cb5e574ab4dafaa6, type: 3} 16 | customCharacters: 17 | fontRenderingMode: 0 18 | ascentCalculationMode: 1 19 | useLegacyBoundsCalculation: 0 20 | userData: 21 | assetBundleName: 22 | assetBundleVariant: 23 | -------------------------------------------------------------------------------- /Assets/Rokoko/Scripts/Plugins/LZ4/iOS/liblz4.a.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8cd1870f720ab8c4c92c3ca9afc19937 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 | Any: 16 | second: 17 | enabled: 1 18 | settings: {} 19 | - first: 20 | Editor: Editor 21 | second: 22 | enabled: 0 23 | settings: 24 | DefaultValueInitialized: true 25 | userData: 26 | assetBundleName: 27 | assetBundleVariant: 28 | -------------------------------------------------------------------------------- /Assets/Rokoko/Scripts/Plugins/LZ4/x86_64/lz4.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e521e00f91993534799438ee73ee065a 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 | Any: 16 | second: 17 | enabled: 1 18 | settings: {} 19 | - first: 20 | Editor: Editor 21 | second: 22 | enabled: 0 23 | settings: 24 | DefaultValueInitialized: true 25 | userData: 26 | assetBundleName: 27 | assetBundleVariant: 28 | -------------------------------------------------------------------------------- /Assets/Rokoko/Scripts/Plugins/LZ4/Android/libs/x86/liblz4.so.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 334dff52187feb849ab4ea932a1b7b73 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 | Any: 16 | second: 17 | enabled: 1 18 | settings: {} 19 | - first: 20 | Editor: Editor 21 | second: 22 | enabled: 0 23 | settings: 24 | DefaultValueInitialized: true 25 | userData: 26 | assetBundleName: 27 | assetBundleVariant: 28 | -------------------------------------------------------------------------------- /Assets/Rokoko/Scripts/Plugins/LZ4/Android/libs/arm64-v8a/liblz4.so.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2034ecf0466b4e74f87f5c2418b9ca6a 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 | Any: 16 | second: 17 | enabled: 1 18 | settings: {} 19 | - first: 20 | Editor: Editor 21 | second: 22 | enabled: 0 23 | settings: 24 | DefaultValueInitialized: true 25 | userData: 26 | assetBundleName: 27 | assetBundleVariant: 28 | -------------------------------------------------------------------------------- /Assets/Rokoko/Scripts/Plugins/LZ4/Android/libs/armeabi-v7a/liblz4.so.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 64661c496f7cc0a418cbe44f3c5df8d4 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 | Any: 16 | second: 17 | enabled: 1 18 | settings: {} 19 | - first: 20 | Editor: Editor 21 | second: 22 | enabled: 0 23 | settings: 24 | DefaultValueInitialized: true 25 | userData: 26 | assetBundleName: 27 | assetBundleVariant: 28 | -------------------------------------------------------------------------------- /Assets/Rokoko/Scripts/Plugins/LZ4/lz4.bundle.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: be0bf098585b39345bbd41d178618e0e 3 | folderAsset: yes 4 | PluginImporter: 5 | externalObjects: {} 6 | serializedVersion: 2 7 | iconMap: {} 8 | executionOrder: {} 9 | defineConstraints: [] 10 | isPreloaded: 0 11 | isOverridable: 0 12 | isExplicitlyReferenced: 0 13 | validateReferences: 1 14 | platformData: 15 | - first: 16 | Any: 17 | second: 18 | enabled: 0 19 | settings: {} 20 | - first: 21 | Editor: Editor 22 | second: 23 | enabled: 1 24 | settings: 25 | DefaultValueInitialized: true 26 | - first: 27 | Standalone: OSXUniversal 28 | second: 29 | enabled: 1 30 | settings: {} 31 | userData: 32 | assetBundleName: 33 | assetBundleVariant: 34 | -------------------------------------------------------------------------------- /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 | - type: 8 | m_NativeTypeID: 108 9 | m_ManagedTypePPtr: {fileID: 0} 10 | m_ManagedTypeFallback: 11 | defaultPresets: 12 | - m_Preset: {fileID: 2655988077585873504, guid: c1cf8506f04ef2c4a88b64b6c4202eea, 13 | type: 2} 14 | - type: 15 | m_NativeTypeID: 1020 16 | m_ManagedTypePPtr: {fileID: 0} 17 | m_ManagedTypeFallback: 18 | defaultPresets: 19 | - m_Preset: {fileID: 2655988077585873504, guid: 0cd792cc87e492d43b4e95b205fc5cc6, 20 | type: 2} 21 | - type: 22 | m_NativeTypeID: 1006 23 | m_ManagedTypePPtr: {fileID: 0} 24 | m_ManagedTypeFallback: 25 | defaultPresets: 26 | - m_Preset: {fileID: 2655988077585873504, guid: 7a99f8aa944efe94cb9bd74562b7d5f9, 27 | type: 2} 28 | -------------------------------------------------------------------------------- /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: 0 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 | -------------------------------------------------------------------------------- /.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 | /[Ll]ibrary/ 6 | /[Tt]emp/ 7 | /[Oo]bj/ 8 | /[Bb]uild/ 9 | /[Bb]uilds/ 10 | /[Ll]ogs/ 11 | /[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 | # Autogenerated Jetbrains Rider plugin 20 | [Aa]ssets/Plugins/Editor/JetBrains* 21 | 22 | # Visual Studio cache directory 23 | .vs/ 24 | 25 | # Autogenerated VS/MD/Consulo solution and project files 26 | ExportedObj/ 27 | .consulo/ 28 | *.csproj 29 | *.unityproj 30 | *.sln 31 | *.suo 32 | *.tmp 33 | *.user 34 | *.userprefs 35 | *.pidb 36 | *.booproj 37 | *.svd 38 | *.pdb 39 | *.mdb 40 | *.opendb 41 | *.VC.db 42 | 43 | # Unity3D generated meta files 44 | *.pidb.meta 45 | *.pdb.meta 46 | *.mdb.meta 47 | 48 | # Unity3D generated file on crash reports 49 | sysinfo.txt 50 | 51 | # Builds 52 | *.apk 53 | *.unitypackage -------------------------------------------------------------------------------- /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: 8 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 | -------------------------------------------------------------------------------- /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: 9 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;asmref 20 | m_ProjectGenerationRootNamespace: 21 | m_CollabEditorSettings: 22 | inProgressEnabled: 1 23 | m_EnableTextureStreamingInEditMode: 1 24 | m_EnableTextureStreamingInPlayMode: 1 25 | m_AsyncShaderCompilation: 1 26 | m_EnterPlayModeOptionsEnabled: 0 27 | m_EnterPlayModeOptions: 3 28 | m_ShowLightmapResolutionOverlay: 1 29 | m_UseLegacyProbeSampleCount: 1 30 | m_AssetPipelineMode: 1 31 | m_CacheServerMode: 0 32 | m_CacheServerEndpoint: 33 | m_CacheServerNamespacePrefix: default 34 | m_CacheServerEnableDownload: 1 35 | m_CacheServerEnableUpload: 1 36 | -------------------------------------------------------------------------------- /Assets/Rokoko/Scripts/Mono/PrefabInstancer.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | 5 | public class PrefabInstancer where P : MonoBehaviour 6 | { 7 | private PrefabPool

pool; 8 | private Dictionary objects; 9 | 10 | public PrefabInstancer(P prefab, Transform container, int poolNumber = 0) 11 | { 12 | pool = new PrefabPool

(prefab, container, poolNumber); 13 | objects = new Dictionary(); 14 | } 15 | 16 | public P this[T key] 17 | { 18 | get 19 | { 20 | if (!objects.ContainsKey(key)) 21 | objects.Add(key, pool.Dequeue()); 22 | return objects[key]; 23 | } 24 | } 25 | 26 | public bool ContainsKey(T key) => objects.ContainsKey(key); 27 | 28 | public bool ContainsValue(P item) => objects.ContainsValue(item); 29 | 30 | public IEnumerable Keys => objects.Keys; 31 | 32 | public IEnumerable Values => objects.Values; 33 | 34 | public int Count => objects.Count; 35 | 36 | public void Remove(T key) 37 | { 38 | if (!ContainsKey(key)) return; 39 | P item = objects[key]; 40 | objects.Remove(key); 41 | pool.Enqueue(item); 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /Assets/Rokoko/Scripts/Editor/PropColorEditor.cs: -------------------------------------------------------------------------------- 1 | using Rokoko.Inputs; 2 | using System.Collections; 3 | using System.Collections.Generic; 4 | using UnityEditor; 5 | using UnityEngine; 6 | 7 | namespace Rokoko.UnityEditor 8 | { 9 | [CustomEditor(typeof(PropColor))] 10 | [CanEditMultipleObjects] 11 | public class PropColorEditor : PropEditor 12 | { 13 | SerializedProperty meshRendererProperty; 14 | 15 | protected override void OnEnable() 16 | { 17 | base.OnEnable(); 18 | meshRendererProperty = serializedObject.FindProperty("meshRenderer"); 19 | } 20 | 21 | public override void OnInspectorGUI() 22 | { 23 | base.OnInspectorGUI(); 24 | 25 | PropColor propColor = (PropColor)target; 26 | serializedObject.Update(); 27 | 28 | GUILayout.Space(10); 29 | 30 | EditorGUILayout.LabelField("Update mesh color", EditorStyles.boldLabel); 31 | EditorGUILayout.BeginHorizontal(); 32 | EditorGUILayout.PropertyField(meshRendererProperty); 33 | if (GUILayout.Button("Self")) 34 | { 35 | propColor.meshRenderer = propColor.GetComponentInChildren(); 36 | } 37 | EditorGUILayout.EndHorizontal(); 38 | } 39 | } 40 | } -------------------------------------------------------------------------------- /Assets/Rokoko/Scripts/Editor/PropEditor.cs: -------------------------------------------------------------------------------- 1 | using Rokoko.Inputs; 2 | using System.Collections; 3 | using System.Collections.Generic; 4 | using UnityEditor; 5 | using UnityEngine; 6 | 7 | namespace Rokoko.UnityEditor 8 | { 9 | [CustomEditor(typeof(Prop))] 10 | [CanEditMultipleObjects] 11 | public class PropEditor : TweakableEditor 12 | { 13 | SerializedProperty propNameProperty; 14 | 15 | protected virtual void OnEnable() 16 | { 17 | propNameProperty = serializedObject.FindProperty("propName"); 18 | } 19 | 20 | // Stops showing the script field 21 | protected override string[] GetInvisibleInDefaultInspector() 22 | { 23 | return new[] { "m_Script" }; 24 | } 25 | 26 | public override void OnInspectorGUI() 27 | { 28 | Prop prop = (Prop)target; 29 | serializedObject.Update(); 30 | 31 | Undo.RecordObject(prop, "Undo Prop Changes"); 32 | 33 | EditorGUILayout.HelpBox("Prop name allows you to override any prop target from studio", MessageType.Info); 34 | EditorGUILayout.PropertyField(propNameProperty); 35 | 36 | serializedObject.ApplyModifiedProperties(); 37 | 38 | // Draw standard fields 39 | base.OnInspectorGUI(); 40 | } 41 | } 42 | } -------------------------------------------------------------------------------- /Assets/Rokoko/Scripts/Core/StudioReceiver.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections; 3 | using System.Collections.Generic; 4 | using System.Net; 5 | using UnityEngine; 6 | 7 | namespace Rokoko.Core 8 | { 9 | public class StudioReceiver : UDPReceiver 10 | { 11 | public event EventHandler onStudioDataReceived; 12 | 13 | protected override void OnDataReceived(byte[] data, IPEndPoint endPoint) 14 | { 15 | base.OnDataReceived(data, endPoint); 16 | 17 | // Decompress LZ4 18 | byte[] uncompressed = LZ4Wrapper.Decompress(data); 19 | if (uncompressed == null || uncompressed.Length == 0) 20 | { 21 | Debug.LogError("Incoming data are in bad format. Please ensure you are using JSON v3 as forward data format"); 22 | return; 23 | } 24 | 25 | // Convert from Json 26 | string text = System.Text.Encoding.UTF8.GetString(uncompressed); 27 | LiveFrame_v4 liveFrame_V4 = JsonUtility.FromJson(text); 28 | if (liveFrame_V4 == null) 29 | { 30 | Debug.LogError("Incoming data are in bad format. Please ensure you are using JSON v3 as forward data format"); 31 | return; 32 | } 33 | 34 | onStudioDataReceived?.Invoke(this, liveFrame_V4); 35 | } 36 | } 37 | } -------------------------------------------------------------------------------- /Assets/Rokoko/Scripts/Editor/TweakableEditor.cs: -------------------------------------------------------------------------------- 1 | using UnityEditor; 2 | 3 | ///

4 | /// A simple class to inherit from when only minor tweaks to a component's inspector are required. 5 | /// In such cases, a full custom inspector is normally overkill but, by inheriting from this class, custom tweaks become trivial. 6 | /// 7 | /// To hide items from being drawn, simply override GetInvisibleInDefaultInspector, returning a string[] of fields to hide. 8 | /// To draw/add extra GUI code/anything else you want before the default inspector is drawn, override OnBeforeDefaultInspector. 9 | /// Similarly, override OnAfterDefaultInspector to draw GUI elements after the default inspector is drawn. 10 | /// 11 | public abstract class TweakableEditor : Editor 12 | { 13 | private static readonly string[] _emptyStringArray = new string[0]; 14 | 15 | public override void OnInspectorGUI() 16 | { 17 | serializedObject.Update(); 18 | 19 | OnBeforeDefaultInspector(); 20 | DrawPropertiesExcluding(serializedObject, GetInvisibleInDefaultInspector()); 21 | OnAfterDefaultInspector(); 22 | 23 | serializedObject.ApplyModifiedProperties(); 24 | } 25 | 26 | protected virtual void OnBeforeDefaultInspector() 27 | { } 28 | 29 | protected virtual void OnAfterDefaultInspector() 30 | { } 31 | 32 | protected virtual string[] GetInvisibleInDefaultInspector() 33 | { 34 | return _emptyStringArray; 35 | } 36 | } -------------------------------------------------------------------------------- /Assets/Rokoko/Scripts/Mono/Inputs/Prop.cs: -------------------------------------------------------------------------------- 1 | using Rokoko.Core; 2 | using Rokoko.Helper; 3 | using System.Collections; 4 | using System.Collections.Generic; 5 | using UnityEngine; 6 | 7 | namespace Rokoko.Inputs 8 | { 9 | public class Prop : MonoBehaviour 10 | { 11 | [HideInInspector] public string propName; 12 | public Space positionSpace = Space.Self; 13 | public Space rotationSpace = Space.Self; 14 | 15 | protected virtual void Start() 16 | { 17 | if (!string.IsNullOrEmpty(propName)) 18 | StudioManager.AddPropOverride(this); 19 | } 20 | 21 | public virtual void UpdateProp(PropFrame propFrame) 22 | { 23 | propName = propFrame.name; 24 | 25 | if (positionSpace == Space.World) 26 | this.transform.position = propFrame.position.ToVector3(); 27 | else 28 | this.transform.localPosition = propFrame.position.ToVector3(); 29 | 30 | Quaternion worldRotation = propFrame.rotation.ToQuaternion(); 31 | if (rotationSpace == Space.World) 32 | this.transform.rotation = worldRotation; 33 | else 34 | { 35 | if (transform.parent != null) 36 | this.transform.rotation = Quaternion.Inverse(transform.parent.rotation) * worldRotation; 37 | else 38 | this.transform.rotation = worldRotation; 39 | } 40 | } 41 | } 42 | } -------------------------------------------------------------------------------- /Assets/Rokoko/Scripts/Mono/PrefabPool.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | 5 | public class PrefabPool where T : MonoBehaviour 6 | { 7 | public int poolNumber = 3; 8 | public T prefab; 9 | public Transform container; 10 | 11 | private Queue pool = new Queue(); 12 | 13 | public PrefabPool(T prefab, Transform container, int poolNumber = 3) 14 | { 15 | this.prefab = prefab; 16 | this.container = container; 17 | this.poolNumber = poolNumber; 18 | 19 | for (int i = 0; i < poolNumber; i++) 20 | { 21 | Enqueue(InstantiatePrefab()); 22 | } 23 | } 24 | 25 | public T Dequeue() 26 | { 27 | if (pool.Count == 0) 28 | Enqueue(InstantiatePrefab()); 29 | T instance = pool.Dequeue(); 30 | instance.gameObject.SetActive(true); 31 | return instance; 32 | } 33 | 34 | public void Enqueue(T instance) 35 | { 36 | pool.Enqueue(instance); 37 | instance.gameObject.SetActive(false); 38 | instance.name = prefab.name; 39 | } 40 | 41 | private T InstantiatePrefab() 42 | { 43 | T instance = GameObject.Instantiate(prefab); 44 | instance.transform.SetParent(container); 45 | instance.transform.position = Vector3.zero; 46 | instance.transform.rotation = Quaternion.identity; 47 | instance.name = prefab.name; 48 | return instance; 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /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_AutoSimulation: 1 23 | m_QueriesHitTriggers: 1 24 | m_QueriesStartInColliders: 1 25 | m_ChangeStopsCallbacks: 0 26 | m_CallbacksOnDisable: 1 27 | m_ReuseCollisionCallbacks: 1 28 | m_AutoSyncTransforms: 0 29 | m_AlwaysShowColliders: 0 30 | m_ShowColliderSleep: 1 31 | m_ShowColliderContacts: 0 32 | m_ShowColliderAABB: 0 33 | m_ContactArrowScale: 0.2 34 | m_ColliderAwakeColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.7529412} 35 | m_ColliderAsleepColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.36078432} 36 | m_ColliderContactColor: {r: 1, g: 0, b: 1, a: 0.6862745} 37 | m_ColliderAABBColor: {r: 1, g: 1, b: 0, a: 0.2509804} 38 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 39 | -------------------------------------------------------------------------------- /Assets/Rokoko/Art/Icons/RokokoIconAtlas.spriteatlas: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!687078895 &4343727234628468602 4 | SpriteAtlas: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_Name: RokokoIconAtlas 10 | m_EditorData: 11 | serializedVersion: 2 12 | textureSettings: 13 | serializedVersion: 2 14 | anisoLevel: 1 15 | compressionQuality: 50 16 | maxTextureSize: 2048 17 | textureCompression: 0 18 | filterMode: 1 19 | generateMipMaps: 0 20 | readable: 0 21 | crunchedCompression: 0 22 | sRGB: 1 23 | platformSettings: 24 | - serializedVersion: 3 25 | m_BuildTarget: DefaultTexturePlatform 26 | m_MaxTextureSize: 2048 27 | m_ResizeAlgorithm: 0 28 | m_TextureFormat: -1 29 | m_TextureCompression: 1 30 | m_CompressionQuality: 50 31 | m_CrunchedCompression: 1 32 | m_AllowsAlphaSplitting: 0 33 | m_Overridden: 0 34 | m_AndroidETC2FallbackOverride: 0 35 | m_ForceMaximumCompressionQuality_BC6H_BC7: 0 36 | packingSettings: 37 | serializedVersion: 2 38 | padding: 4 39 | blockOffset: 1 40 | allowAlphaSplitting: 0 41 | enableRotation: 0 42 | enableTightPacking: 0 43 | variantMultiplier: 1 44 | packables: 45 | - {fileID: 102900000, guid: 6c575b3954b7a31428687559eba456e9, type: 3} 46 | totalSpriteSurfaceArea: 0 47 | bindAsDefault: 1 48 | m_MasterAtlas: {fileID: 0} 49 | m_PackedSprites: [] 50 | m_PackedSpriteNamesToIndex: [] 51 | m_Tag: RokokoIconAtlas 52 | m_IsVariant: 0 53 | -------------------------------------------------------------------------------- /Assets/Rokoko/Scripts/Core/CommandAPI/StudioCommandAPI.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using UnityEngine.UI; 3 | 4 | namespace Rokoko.CommandAPI 5 | { 6 | public class StudioCommandAPI : StudioCommandAPIBase 7 | { 8 | [Header("Show CommandAPI response (Optional)")] 9 | [SerializeField] private Text responseText = null; 10 | 11 | [Header("The IP address of Studio. Leave default for same machine")] 12 | public string ipAddress = "127.0.0.1"; 13 | 14 | protected override string IP => ipAddress; 15 | protected override RequestData GetRequestData() => new RequestData(); 16 | 17 | private void Start() 18 | { 19 | SetStatusText(""); 20 | } 21 | 22 | protected override void OnCommmandResponse(ResponseMessage response) 23 | { 24 | base.OnCommmandResponse(response); 25 | SetStatusText(response.description); 26 | } 27 | 28 | protected override void OnCommmandError(string error) 29 | { 30 | base.OnCommmandError(error); 31 | SetStatusText($"{error}\nPlease make sure Rokoko Studio is running and Command API is enabled (Menu->Settings->Command API->Enabled).\nCheck also the receiving port and API key in both Rokoko Studio and Unity plugin."); 32 | } 33 | 34 | private void SetStatusText(string text) 35 | { 36 | if (responseText == null) return; 37 | responseText.transform.parent.gameObject.SetActive(!string.IsNullOrEmpty(text)); 38 | responseText.text = text; 39 | LayoutRebuilder.ForceRebuildLayoutImmediate(responseText.transform.parent as RectTransform); 40 | } 41 | } 42 | } -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /Packages/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "com.unity.ads": "2.0.8", 4 | "com.unity.analytics": "3.2.3", 5 | "com.unity.collab-proxy": "1.2.15", 6 | "com.unity.package-manager-ui": "2.0.13", 7 | "com.unity.purchasing": "2.0.3", 8 | "com.unity.textmeshpro": "1.4.1", 9 | "com.unity.modules.ai": "1.0.0", 10 | "com.unity.modules.animation": "1.0.0", 11 | "com.unity.modules.assetbundle": "1.0.0", 12 | "com.unity.modules.audio": "1.0.0", 13 | "com.unity.modules.cloth": "1.0.0", 14 | "com.unity.modules.director": "1.0.0", 15 | "com.unity.modules.imageconversion": "1.0.0", 16 | "com.unity.modules.imgui": "1.0.0", 17 | "com.unity.modules.jsonserialize": "1.0.0", 18 | "com.unity.modules.particlesystem": "1.0.0", 19 | "com.unity.modules.physics": "1.0.0", 20 | "com.unity.modules.physics2d": "1.0.0", 21 | "com.unity.modules.screencapture": "1.0.0", 22 | "com.unity.modules.terrain": "1.0.0", 23 | "com.unity.modules.terrainphysics": "1.0.0", 24 | "com.unity.modules.tilemap": "1.0.0", 25 | "com.unity.modules.ui": "1.0.0", 26 | "com.unity.modules.uielements": "1.0.0", 27 | "com.unity.modules.umbra": "1.0.0", 28 | "com.unity.modules.unityanalytics": "1.0.0", 29 | "com.unity.modules.unitywebrequest": "1.0.0", 30 | "com.unity.modules.unitywebrequestassetbundle": "1.0.0", 31 | "com.unity.modules.unitywebrequestaudio": "1.0.0", 32 | "com.unity.modules.unitywebrequesttexture": "1.0.0", 33 | "com.unity.modules.unitywebrequestwww": "1.0.0", 34 | "com.unity.modules.vehicles": "1.0.0", 35 | "com.unity.modules.video": "1.0.0", 36 | "com.unity.modules.vr": "1.0.0", 37 | "com.unity.modules.wind": "1.0.0", 38 | "com.unity.modules.xr": "1.0.0" 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /Assets/Rokoko/Scripts/Core/ARKitBlendshapes.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace Rokoko.Core 8 | { 9 | [System.Serializable] 10 | public enum BlendShapes 11 | { 12 | eyeBlinkLeft = 0, 13 | eyeLookDownLeft = 1, 14 | eyeLookInLeft = 2, 15 | eyeLookOutLeft = 3, 16 | eyeLookUpLeft = 4, 17 | eyeSquintLeft = 5, 18 | eyeWideLeft = 6, 19 | eyeBlinkRight = 7, 20 | eyeLookDownRight = 8, 21 | eyeLookInRight = 9, 22 | eyeLookOutRight = 10, 23 | eyeLookUpRight = 11, 24 | eyeSquintRight = 12, 25 | eyeWideRight = 13, 26 | jawForward = 14, 27 | jawLeft = 15, 28 | jawRight = 16, 29 | jawOpen = 17, 30 | mouthClose = 18, 31 | mouthFunnel = 19, 32 | mouthPucker = 20, 33 | mouthLeft = 21, 34 | mouthRight = 22, 35 | mouthSmileLeft = 23, 36 | mouthSmileRight = 24, 37 | mouthFrownLeft = 25, 38 | mouthFrownRight = 26, 39 | mouthDimpleLeft = 27, 40 | mouthDimpleRight = 28, 41 | mouthStretchLeft = 29, 42 | mouthStretchRight = 30, 43 | mouthRollLower = 31, 44 | mouthRollUpper = 32, 45 | mouthShrugLower = 33, 46 | mouthShrugUpper = 34, 47 | mouthPressLeft = 35, 48 | mouthPressRight = 36, 49 | mouthLowerDownLeft = 37, 50 | mouthLowerDownRight = 38, 51 | mouthUpperUpLeft = 39, 52 | mouthUpperUpRight = 40, 53 | browDownLeft = 41, 54 | browDownRight = 42, 55 | browInnerUp = 43, 56 | browOuterUpLeft = 44, 57 | browOuterUpRight = 45, 58 | cheekPuff = 46, 59 | cheekSquintLeft = 47, 60 | cheekSquintRight = 48, 61 | noseSneerLeft = 49, 62 | noseSneerRight = 50, 63 | tongueOut = 51, 64 | size = 52 65 | } 66 | } 67 | -------------------------------------------------------------------------------- /Assets/Rokoko/Scripts/Mono/UI/InputHierarchyRow.cs: -------------------------------------------------------------------------------- 1 | using Rokoko.Core; 2 | using Rokoko.Helper; 3 | using System.Collections; 4 | using System.Collections.Generic; 5 | using UnityEngine; 6 | using UnityEngine.UI; 7 | 8 | namespace Rokoko.UI 9 | { 10 | public class InputHierarchyRow : MonoBehaviour 11 | { 12 | public string profileName { get; private set; } 13 | 14 | [Header("Actor")] 15 | [SerializeField] private GameObject actorPanel = null; 16 | [SerializeField] private Image profileImage = null; 17 | [SerializeField] private Text profileText = null; 18 | [SerializeField] private Image faceImage = null; 19 | [SerializeField] private Image suitImage = null; 20 | [SerializeField] private Image leftGloveImage = null; 21 | [SerializeField] private Image rightGloveImage = null; 22 | [SerializeField] private Color inactiveColor = Color.gray; 23 | 24 | [Header("Prop")] 25 | [SerializeField] private GameObject propPanel = null; 26 | [SerializeField] private Image propImage = null; 27 | [SerializeField] private Text propText = null; 28 | 29 | public void UpdateRow(ActorFrame actorFrame) 30 | { 31 | actorPanel.SetActive(true); 32 | propPanel.SetActive(false); 33 | 34 | profileName = actorFrame.name; 35 | profileImage.color = actorFrame.color.ToColor(); 36 | profileText.text = actorFrame.name; 37 | faceImage.color = actorFrame.meta.hasFace ? Color.white : inactiveColor; 38 | suitImage.color = actorFrame.meta.hasBody ? Color.white : inactiveColor; 39 | leftGloveImage.color = actorFrame.meta.hasLeftGlove ? Color.white : inactiveColor; 40 | rightGloveImage.color = actorFrame.meta.hasRightGlove ? Color.white : inactiveColor; 41 | } 42 | 43 | public void UpdateRow(PropFrame propFrame) 44 | { 45 | actorPanel.SetActive(false); 46 | propPanel.SetActive(true); 47 | 48 | profileName = propFrame.name; 49 | propImage.color = propFrame.color.ToColor(); 50 | propText.text = propFrame.name; 51 | } 52 | } 53 | } -------------------------------------------------------------------------------- /Assets/Rokoko/Art/Materials/Rokoko_FaceHead_Material.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: Rokoko_FaceHead_Material 11 | m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} 12 | m_ShaderKeywords: 13 | m_LightmapFlags: 4 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 | - _DetailAlbedoMap: 27 | m_Texture: {fileID: 0} 28 | m_Scale: {x: 1, y: 1} 29 | m_Offset: {x: 0, y: 0} 30 | - _DetailMask: 31 | m_Texture: {fileID: 0} 32 | m_Scale: {x: 1, y: 1} 33 | m_Offset: {x: 0, y: 0} 34 | - _DetailNormalMap: 35 | m_Texture: {fileID: 0} 36 | m_Scale: {x: 1, y: 1} 37 | m_Offset: {x: 0, y: 0} 38 | - _EmissionMap: 39 | m_Texture: {fileID: 0} 40 | m_Scale: {x: 1, y: 1} 41 | m_Offset: {x: 0, y: 0} 42 | - _MainTex: 43 | m_Texture: {fileID: 0} 44 | m_Scale: {x: 1, y: 1} 45 | m_Offset: {x: 0, y: 0} 46 | - _MetallicGlossMap: 47 | m_Texture: {fileID: 0} 48 | m_Scale: {x: 1, y: 1} 49 | m_Offset: {x: 0, y: 0} 50 | - _OcclusionMap: 51 | m_Texture: {fileID: 0} 52 | m_Scale: {x: 1, y: 1} 53 | m_Offset: {x: 0, y: 0} 54 | - _ParallaxMap: 55 | m_Texture: {fileID: 0} 56 | m_Scale: {x: 1, y: 1} 57 | m_Offset: {x: 0, y: 0} 58 | m_Floats: 59 | - _BumpScale: 1 60 | - _Cutoff: 0.5 61 | - _DetailNormalMapScale: 1 62 | - _DstBlend: 0 63 | - _GlossMapScale: 0 64 | - _Glossiness: 0 65 | - _GlossyReflections: 1 66 | - _Metallic: 0 67 | - _Mode: 0 68 | - _OcclusionStrength: 1 69 | - _Parallax: 0.02 70 | - _SmoothnessTextureChannel: 0 71 | - _SpecularHighlights: 1 72 | - _SrcBlend: 1 73 | - _UVSec: 0 74 | - _ZWrite: 1 75 | m_Colors: 76 | - _Color: {r: 0, g: 0.5812235, b: 0.71599996, a: 1} 77 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} 78 | -------------------------------------------------------------------------------- /Assets/Rokoko/Art/Materials/Rokoko_Prop_Material.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: Rokoko_Prop_Material 11 | m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} 12 | m_ShaderKeywords: 13 | m_LightmapFlags: 4 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 | - _DetailAlbedoMap: 27 | m_Texture: {fileID: 0} 28 | m_Scale: {x: 1, y: 1} 29 | m_Offset: {x: 0, y: 0} 30 | - _DetailMask: 31 | m_Texture: {fileID: 0} 32 | m_Scale: {x: 1, y: 1} 33 | m_Offset: {x: 0, y: 0} 34 | - _DetailNormalMap: 35 | m_Texture: {fileID: 0} 36 | m_Scale: {x: 1, y: 1} 37 | m_Offset: {x: 0, y: 0} 38 | - _EmissionMap: 39 | m_Texture: {fileID: 0} 40 | m_Scale: {x: 1, y: 1} 41 | m_Offset: {x: 0, y: 0} 42 | - _MainTex: 43 | m_Texture: {fileID: 0} 44 | m_Scale: {x: 1, y: 1} 45 | m_Offset: {x: 0, y: 0} 46 | - _MetallicGlossMap: 47 | m_Texture: {fileID: 0} 48 | m_Scale: {x: 1, y: 1} 49 | m_Offset: {x: 0, y: 0} 50 | - _OcclusionMap: 51 | m_Texture: {fileID: 0} 52 | m_Scale: {x: 1, y: 1} 53 | m_Offset: {x: 0, y: 0} 54 | - _ParallaxMap: 55 | m_Texture: {fileID: 0} 56 | m_Scale: {x: 1, y: 1} 57 | m_Offset: {x: 0, y: 0} 58 | m_Floats: 59 | - _BumpScale: 1 60 | - _Cutoff: 0.5 61 | - _DetailNormalMapScale: 1 62 | - _DstBlend: 0 63 | - _GlossMapScale: 1 64 | - _Glossiness: 0 65 | - _GlossyReflections: 1 66 | - _Metallic: 0 67 | - _Mode: 0 68 | - _OcclusionStrength: 1 69 | - _Parallax: 0.02 70 | - _SmoothnessTextureChannel: 0 71 | - _SpecularHighlights: 1 72 | - _SrcBlend: 1 73 | - _UVSec: 0 74 | - _ZWrite: 1 75 | m_Colors: 76 | - _Color: {r: 0.2794118, g: 0.2794118, b: 0.2794118, a: 1} 77 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} 78 | -------------------------------------------------------------------------------- /Assets/Rokoko/Art/Materials/Rokoko_Invisible_Material.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: Rokoko_Invisible_Material 11 | m_Shader: {fileID: 30, guid: 0000000000000000f000000000000000, type: 0} 12 | m_ShaderKeywords: _ALPHAPREMULTIPLY_ON 13 | m_LightmapFlags: 4 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 | - _DetailAlbedoMap: 27 | m_Texture: {fileID: 0} 28 | m_Scale: {x: 1, y: 1} 29 | m_Offset: {x: 0, y: 0} 30 | - _DetailMask: 31 | m_Texture: {fileID: 0} 32 | m_Scale: {x: 1, y: 1} 33 | m_Offset: {x: 0, y: 0} 34 | - _DetailNormalMap: 35 | m_Texture: {fileID: 0} 36 | m_Scale: {x: 1, y: 1} 37 | m_Offset: {x: 0, y: 0} 38 | - _EmissionMap: 39 | m_Texture: {fileID: 0} 40 | m_Scale: {x: 1, y: 1} 41 | m_Offset: {x: 0, y: 0} 42 | - _MainTex: 43 | m_Texture: {fileID: 0} 44 | m_Scale: {x: 1, y: 1} 45 | m_Offset: {x: 0, y: 0} 46 | - _MetallicGlossMap: 47 | m_Texture: {fileID: 0} 48 | m_Scale: {x: 1, y: 1} 49 | m_Offset: {x: 0, y: 0} 50 | - _OcclusionMap: 51 | m_Texture: {fileID: 0} 52 | m_Scale: {x: 1, y: 1} 53 | m_Offset: {x: 0, y: 0} 54 | - _ParallaxMap: 55 | m_Texture: {fileID: 0} 56 | m_Scale: {x: 1, y: 1} 57 | m_Offset: {x: 0, y: 0} 58 | m_Floats: 59 | - _BumpScale: 1 60 | - _Cutoff: 0.5 61 | - _DetailNormalMapScale: 1 62 | - _DstBlend: 10 63 | - _GlossMapScale: 1 64 | - _Glossiness: 0 65 | - _GlossyReflections: 1 66 | - _Metallic: 0 67 | - _Mode: 3 68 | - _OcclusionStrength: 1 69 | - _Parallax: 0.02 70 | - _SmoothnessTextureChannel: 0 71 | - _SpecularHighlights: 1 72 | - _SrcBlend: 1 73 | - _UVSec: 0 74 | - _ZWrite: 0 75 | - __dirty: 1 76 | m_Colors: 77 | - _Color: {r: 0, g: 0, b: 0, a: 0} 78 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 0} 79 | -------------------------------------------------------------------------------- /Assets/Rokoko/Art/Textures/rokoko-gray-16.jpg.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0265e9ba7f5e59445b11cb82a48f7214 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 11 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 1 10 | sRGBTexture: 1 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | isReadable: 0 24 | streamingMipmaps: 0 25 | streamingMipmapsPriority: 0 26 | grayScaleToAlpha: 0 27 | generateCubemap: 6 28 | cubemapConvolution: 0 29 | seamlessCubemap: 0 30 | textureFormat: 1 31 | maxTextureSize: 2048 32 | textureSettings: 33 | serializedVersion: 2 34 | filterMode: -1 35 | aniso: -1 36 | mipBias: -100 37 | wrapU: -1 38 | wrapV: -1 39 | wrapW: -1 40 | nPOTScale: 1 41 | lightmap: 0 42 | compressionQuality: 50 43 | spriteMode: 0 44 | spriteExtrude: 1 45 | spriteMeshType: 1 46 | alignment: 0 47 | spritePivot: {x: 0.5, y: 0.5} 48 | spritePixelsToUnits: 100 49 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 50 | spriteGenerateFallbackPhysicsShape: 1 51 | alphaUsage: 1 52 | alphaIsTransparency: 0 53 | spriteTessellationDetail: -1 54 | textureType: 0 55 | textureShape: 1 56 | singleChannelComponent: 0 57 | maxTextureSizeSet: 0 58 | compressionQualitySet: 0 59 | textureFormatSet: 0 60 | applyGammaDecoding: 0 61 | platformSettings: 62 | - serializedVersion: 3 63 | buildTarget: DefaultTexturePlatform 64 | maxTextureSize: 2048 65 | resizeAlgorithm: 0 66 | textureFormat: -1 67 | textureCompression: 1 68 | compressionQuality: 50 69 | crunchedCompression: 0 70 | allowsAlphaSplitting: 0 71 | overridden: 0 72 | androidETC2FallbackOverride: 0 73 | forceMaximumCompressionQuality_BC6H_BC7: 0 74 | spriteSheet: 75 | serializedVersion: 2 76 | sprites: [] 77 | outline: [] 78 | physicsShape: [] 79 | bones: [] 80 | spriteID: 81 | internalID: 0 82 | vertices: [] 83 | indices: 84 | edges: [] 85 | weights: [] 86 | secondaryTextures: [] 87 | spritePackingTag: 88 | pSDRemoveMatte: 0 89 | pSDShowRemoveMatteOption: 0 90 | userData: 91 | assetBundleName: 92 | assetBundleVariant: 93 | -------------------------------------------------------------------------------- /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: 10783, guid: 0000000000000000f000000000000000, type: 0} 39 | m_PreloadedShaders: [] 40 | m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000, 41 | type: 0} 42 | m_CustomRenderPipeline: {fileID: 0} 43 | m_TransparencySortMode: 0 44 | m_TransparencySortAxis: {x: 0, y: 0, z: 1} 45 | m_DefaultRenderingPath: 1 46 | m_DefaultMobileRenderingPath: 1 47 | m_TierSettings: [] 48 | m_LightmapStripping: 0 49 | m_FogStripping: 0 50 | m_InstancingStripping: 0 51 | m_LightmapKeepPlain: 1 52 | m_LightmapKeepDirCombined: 1 53 | m_LightmapKeepDynamicPlain: 1 54 | m_LightmapKeepDynamicDirCombined: 1 55 | m_LightmapKeepShadowMask: 1 56 | m_LightmapKeepSubtractive: 1 57 | m_FogKeepLinear: 1 58 | m_FogKeepExp: 1 59 | m_FogKeepExp2: 1 60 | m_AlbedoSwatchInfos: [] 61 | m_LightsUseLinearIntensity: 0 62 | m_LightsUseColorTemperature: 0 63 | -------------------------------------------------------------------------------- /Assets/Rokoko/Art/Materials/Rokoko_NewtonJoint_Material.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: Rokoko_NewtonJoint_Material 11 | m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} 12 | m_ShaderKeywords: 13 | m_LightmapFlags: 4 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 | - _DetailAlbedoMap: 27 | m_Texture: {fileID: 0} 28 | m_Scale: {x: 1, y: 1} 29 | m_Offset: {x: 0, y: 0} 30 | - _DetailMask: 31 | m_Texture: {fileID: 0} 32 | m_Scale: {x: 1, y: 1} 33 | m_Offset: {x: 0, y: 0} 34 | - _DetailNormalMap: 35 | m_Texture: {fileID: 0} 36 | m_Scale: {x: 1, y: 1} 37 | m_Offset: {x: 0, y: 0} 38 | - _EmissionMap: 39 | m_Texture: {fileID: 0} 40 | m_Scale: {x: 1, y: 1} 41 | m_Offset: {x: 0, y: 0} 42 | - _MainTex: 43 | m_Texture: {fileID: 2800000, guid: a8551caaa94b44a43af0ec50bb5819ba, type: 3} 44 | m_Scale: {x: 1, y: 1} 45 | m_Offset: {x: 0, y: 0} 46 | - _MetallicGlossMap: 47 | m_Texture: {fileID: 0} 48 | m_Scale: {x: 1, y: 1} 49 | m_Offset: {x: 0, y: 0} 50 | - _OcclusionMap: 51 | m_Texture: {fileID: 0} 52 | m_Scale: {x: 1, y: 1} 53 | m_Offset: {x: 0, y: 0} 54 | - _ParallaxMap: 55 | m_Texture: {fileID: 0} 56 | m_Scale: {x: 1, y: 1} 57 | m_Offset: {x: 0, y: 0} 58 | m_Floats: 59 | - _BumpScale: 1 60 | - _Cutoff: 0.5 61 | - _DetailNormalMapScale: 1 62 | - _DstBlend: 0 63 | - _GlossMapScale: 1 64 | - _Glossiness: 0 65 | - _GlossyReflections: 1 66 | - _Metallic: 0 67 | - _Mode: 0 68 | - _OcclusionStrength: 1 69 | - _Parallax: 0.02 70 | - _SmoothnessTextureChannel: 0 71 | - _SpecularHighlights: 1 72 | - _SrcBlend: 1 73 | - _UVSec: 0 74 | - _ZWrite: 1 75 | m_Colors: 76 | - _Color: {r: 0.16911763, g: 0.16911763, b: 0.16911763, a: 1} 77 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 0} 78 | -------------------------------------------------------------------------------- /Assets/Rokoko/Art/Materials/Rokoko_NewtonMain_Material.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: Rokoko_NewtonMain_Material 11 | m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} 12 | m_ShaderKeywords: _METALLICGLOSSMAP 13 | m_LightmapFlags: 4 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 | - _DetailAlbedoMap: 27 | m_Texture: {fileID: 0} 28 | m_Scale: {x: 1, y: 1} 29 | m_Offset: {x: 0, y: 0} 30 | - _DetailMask: 31 | m_Texture: {fileID: 0} 32 | m_Scale: {x: 1, y: 1} 33 | m_Offset: {x: 0, y: 0} 34 | - _DetailNormalMap: 35 | m_Texture: {fileID: 0} 36 | m_Scale: {x: 1, y: 1} 37 | m_Offset: {x: 0, y: 0} 38 | - _EmissionMap: 39 | m_Texture: {fileID: 0} 40 | m_Scale: {x: 1, y: 1} 41 | m_Offset: {x: 0, y: 0} 42 | - _MainTex: 43 | m_Texture: {fileID: 0} 44 | m_Scale: {x: 1, y: 1} 45 | m_Offset: {x: 0, y: 0} 46 | - _MetallicGlossMap: 47 | m_Texture: {fileID: 2800000, guid: 0265e9ba7f5e59445b11cb82a48f7214, type: 3} 48 | m_Scale: {x: 1, y: 1} 49 | m_Offset: {x: 0, y: 0} 50 | - _OcclusionMap: 51 | m_Texture: {fileID: 0} 52 | m_Scale: {x: 1, y: 1} 53 | m_Offset: {x: 0, y: 0} 54 | - _ParallaxMap: 55 | m_Texture: {fileID: 0} 56 | m_Scale: {x: 1, y: 1} 57 | m_Offset: {x: 0, y: 0} 58 | m_Floats: 59 | - _BumpScale: 1 60 | - _Cutoff: 0.5 61 | - _DetailNormalMapScale: 1 62 | - _DstBlend: 0 63 | - _GlossMapScale: 0 64 | - _Glossiness: 0 65 | - _GlossyReflections: 1 66 | - _Metallic: 0 67 | - _Mode: 0 68 | - _OcclusionStrength: 1 69 | - _Parallax: 0.02 70 | - _SmoothnessTextureChannel: 0 71 | - _SpecularHighlights: 1 72 | - _SrcBlend: 1 73 | - _UVSec: 0 74 | - _ZWrite: 1 75 | m_Colors: 76 | - _Color: {r: 0.6792453, g: 0.6792453, b: 0.6792453, a: 1} 77 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 0} 78 | -------------------------------------------------------------------------------- /Assets/Rokoko/Art/Materials/Rokoko_Floor_Material.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: Rokoko_Floor_Material 11 | m_Shader: {fileID: 4800000, guid: fc0c201ebbc6ff844a8111b15ce5737a, type: 3} 12 | m_ShaderKeywords: 13 | m_LightmapFlags: 4 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 | - _DetailAlbedoMap: 27 | m_Texture: {fileID: 0} 28 | m_Scale: {x: 1, y: 1} 29 | m_Offset: {x: 0, y: 0} 30 | - _DetailMask: 31 | m_Texture: {fileID: 0} 32 | m_Scale: {x: 1, y: 1} 33 | m_Offset: {x: 0, y: 0} 34 | - _DetailNormalMap: 35 | m_Texture: {fileID: 0} 36 | m_Scale: {x: 1, y: 1} 37 | m_Offset: {x: 0, y: 0} 38 | - _EmissionMap: 39 | m_Texture: {fileID: 0} 40 | m_Scale: {x: 1, y: 1} 41 | m_Offset: {x: 0, y: 0} 42 | - _MainTex: 43 | m_Texture: {fileID: 0} 44 | m_Scale: {x: 1, y: 1} 45 | m_Offset: {x: 0, y: 0} 46 | - _MainTexture: 47 | m_Texture: {fileID: 2800000, guid: 673b25e62d3e3a4488ffd4d2c9636e84, type: 3} 48 | m_Scale: {x: 1, y: 1} 49 | m_Offset: {x: 0, y: 0} 50 | - _MetallicGlossMap: 51 | m_Texture: {fileID: 0} 52 | m_Scale: {x: 1, y: 1} 53 | m_Offset: {x: 0, y: 0} 54 | - _OcclusionMap: 55 | m_Texture: {fileID: 0} 56 | m_Scale: {x: 1, y: 1} 57 | m_Offset: {x: 0, y: 0} 58 | - _ParallaxMap: 59 | m_Texture: {fileID: 0} 60 | m_Scale: {x: 1, y: 1} 61 | m_Offset: {x: 0, y: 0} 62 | m_Floats: 63 | - _BumpScale: 1 64 | - _Cutoff: 0.5 65 | - _DetailNormalMapScale: 1 66 | - _DstBlend: 0 67 | - _FadeDistance: 9 68 | - _GlossMapScale: 1 69 | - _Glossiness: 0.5 70 | - _GlossyReflections: 1 71 | - _Metallic: 0 72 | - _Mode: 0 73 | - _OcclusionStrength: 1 74 | - _Parallax: 0.02 75 | - _Radius: 0 76 | - _SmoothnessTextureChannel: 0 77 | - _SpecularHighlights: 1 78 | - _SrcBlend: 1 79 | - _SubTiles: 1 80 | - _Tiles: 3 81 | - _UVSec: 0 82 | - _ZWrite: 1 83 | - __dirty: 1 84 | m_Colors: 85 | - _Color: {r: 1, g: 1, b: 1, a: 1} 86 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} 87 | - _GridColor: {r: 1, g: 1, b: 1, a: 0} 88 | - _MainColor: {r: 0.11764706, g: 0.10980392, b: 0.11372549, a: 0.42745098} 89 | - _Tint: {r: 0, g: 0, b: 0, a: 0} 90 | -------------------------------------------------------------------------------- /Assets/Rokoko/Scripts/Mono/UI/UIHierarchyManager.cs: -------------------------------------------------------------------------------- 1 | using Rokoko.Core; 2 | using Rokoko.Helper; 3 | using System.Collections; 4 | using System.Collections.Generic; 5 | using UnityEngine; 6 | using UnityEngine.UI; 7 | 8 | namespace Rokoko.UI 9 | { 10 | public class UIHierarchyManager : MonoBehaviour 11 | { 12 | [SerializeField] private InputHierarchyRow rowPrefab = null; 13 | [SerializeField] private Transform prefabContainer = null; 14 | 15 | private PrefabInstancer rows; 16 | 17 | // Start is called before the first frame update 18 | void Start() 19 | { 20 | // Destroy children before PrefabInstancer creates the pool 21 | prefabContainer.DestroyChildren(); 22 | 23 | rows = new PrefabInstancer(rowPrefab, prefabContainer, 3); 24 | } 25 | 26 | public void UpdateHierarchy(LiveFrame_v4 dataFrame) 27 | { 28 | // Check if UI needs rebuild 29 | bool forceLayoutUpdate = false; 30 | 31 | // Update each actor from live data 32 | for (int i = 0; i < dataFrame.scene.actors.Length; i++) 33 | { 34 | ActorFrame actorFrame = dataFrame.scene.actors[i]; 35 | string profileName = actorFrame.name; 36 | 37 | // If profile doesn't exist, mark for rebuild 38 | if (forceLayoutUpdate == false && !rows.ContainsKey(profileName)) 39 | forceLayoutUpdate = true; 40 | 41 | rows[profileName].UpdateRow(actorFrame); 42 | } 43 | 44 | // Update each prop from live data 45 | for (int i = 0; i < dataFrame.scene.props.Length; i++) 46 | { 47 | PropFrame propFrame = dataFrame.scene.props[i]; 48 | string profileName = propFrame.name; 49 | 50 | // If profile doesn't exist, mark for rebuild 51 | if (forceLayoutUpdate == false && !rows.ContainsKey(profileName)) 52 | forceLayoutUpdate = true; 53 | 54 | rows[profileName].UpdateRow(propFrame); 55 | } 56 | 57 | ClearUnusedInputRows(dataFrame); 58 | 59 | if (forceLayoutUpdate) 60 | LayoutRebuilder.ForceRebuildLayoutImmediate(prefabContainer as RectTransform); 61 | } 62 | 63 | /// 64 | /// Remove all rows that no longer exists in live data 65 | /// 66 | private void ClearUnusedInputRows(LiveFrame_v4 frame) 67 | { 68 | foreach (InputHierarchyRow row in new List((IEnumerable)rows.Values)) 69 | { 70 | if (!frame.HasProfile(row.profileName) && !frame.HasProp(row.profileName)) 71 | rows.Remove(row.profileName); 72 | } 73 | } 74 | } 75 | } -------------------------------------------------------------------------------- /Assets/Rokoko/Art/Materials/Rokoko_GroundArrow_Material.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: Rokoko_GroundArrow_Material 11 | m_Shader: {fileID: 10800, guid: 0000000000000000f000000000000000, type: 0} 12 | m_ShaderKeywords: 13 | m_LightmapFlags: 4 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 | - : 23 | m_Texture: {fileID: 0} 24 | m_Scale: {x: 1, y: 1} 25 | m_Offset: {x: 0, y: 0} 26 | - _AlphaTex: 27 | m_Texture: {fileID: 0} 28 | m_Scale: {x: 1, y: 1} 29 | m_Offset: {x: 0, y: 0} 30 | - _BumpMap: 31 | m_Texture: {fileID: 0} 32 | m_Scale: {x: 1, y: 1} 33 | m_Offset: {x: 0, y: 0} 34 | - _DetailAlbedoMap: 35 | m_Texture: {fileID: 0} 36 | m_Scale: {x: 1, y: 1} 37 | m_Offset: {x: 0, y: 0} 38 | - _DetailMask: 39 | m_Texture: {fileID: 0} 40 | m_Scale: {x: 1, y: 1} 41 | m_Offset: {x: 0, y: 0} 42 | - _DetailNormalMap: 43 | m_Texture: {fileID: 0} 44 | m_Scale: {x: 1, y: 1} 45 | m_Offset: {x: 0, y: 0} 46 | - _EmissionMap: 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: 2800000, guid: 08c6561abd3b8194a8624dee9434e5bc, type: 3} 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 | - _ParallaxMap: 63 | m_Texture: {fileID: 0} 64 | m_Scale: {x: 1, y: 1} 65 | m_Offset: {x: 0, y: 0} 66 | m_Floats: 67 | - : 0 68 | - PixelSnap: 0 69 | - _BumpScale: 1 70 | - _Cutoff: 0.5 71 | - _DetailNormalMapScale: 1 72 | - _DstBlend: 0 73 | - _EnableExternalAlpha: 0 74 | - _GlossMapScale: 1 75 | - _Glossiness: 0.5 76 | - _GlossyReflections: 1 77 | - _Metallic: 0 78 | - _Mode: 0 79 | - _OcclusionStrength: 1 80 | - _Parallax: 0.02 81 | - _SmoothnessTextureChannel: 0 82 | - _SpecularHighlights: 1 83 | - _SrcBlend: 1 84 | - _UVSec: 0 85 | - _ZWrite: 1 86 | m_Colors: 87 | - : {r: 0, g: 1.929164e-33, b: 0, a: 1.9291523e-33} 88 | - _Color: {r: 0.5019608, g: 0.5019608, b: 0.5019608, a: 1} 89 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} 90 | - _Flip: {r: 1, g: 1, b: 1, a: 1} 91 | - _RendererColor: {r: 1, g: 1, b: 1, a: 1} 92 | -------------------------------------------------------------------------------- /Assets/Rokoko/Art/Materials/Rokoko_GroundMarker_Material.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: Rokoko_GroundMarker_Material 11 | m_Shader: {fileID: 10800, guid: 0000000000000000f000000000000000, type: 0} 12 | m_ShaderKeywords: 13 | m_LightmapFlags: 4 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 | - : 23 | m_Texture: {fileID: 0} 24 | m_Scale: {x: 1, y: 1} 25 | m_Offset: {x: 0, y: 0} 26 | - _AlphaTex: 27 | m_Texture: {fileID: 0} 28 | m_Scale: {x: 1, y: 1} 29 | m_Offset: {x: 0, y: 0} 30 | - _BumpMap: 31 | m_Texture: {fileID: 0} 32 | m_Scale: {x: 1, y: 1} 33 | m_Offset: {x: 0, y: 0} 34 | - _DetailAlbedoMap: 35 | m_Texture: {fileID: 0} 36 | m_Scale: {x: 1, y: 1} 37 | m_Offset: {x: 0, y: 0} 38 | - _DetailMask: 39 | m_Texture: {fileID: 0} 40 | m_Scale: {x: 1, y: 1} 41 | m_Offset: {x: 0, y: 0} 42 | - _DetailNormalMap: 43 | m_Texture: {fileID: 0} 44 | m_Scale: {x: 1, y: 1} 45 | m_Offset: {x: 0, y: 0} 46 | - _EmissionMap: 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: 10912, guid: 0000000000000000f000000000000000, type: 0} 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 | - _ParallaxMap: 63 | m_Texture: {fileID: 0} 64 | m_Scale: {x: 1, y: 1} 65 | m_Offset: {x: 0, y: 0} 66 | m_Floats: 67 | - : 0 68 | - PixelSnap: 0 69 | - _BumpScale: 1 70 | - _Cutoff: 0.5 71 | - _DetailNormalMapScale: 1 72 | - _DstBlend: 0 73 | - _EnableExternalAlpha: 0 74 | - _GlossMapScale: 1 75 | - _Glossiness: 0.5 76 | - _GlossyReflections: 1 77 | - _Metallic: 0 78 | - _Mode: 0 79 | - _OcclusionStrength: 1 80 | - _Parallax: 0.02 81 | - _SmoothnessTextureChannel: 0 82 | - _SpecularHighlights: 1 83 | - _SrcBlend: 1 84 | - _UVSec: 0 85 | - _ZWrite: 1 86 | m_Colors: 87 | - : {r: 0, g: 1.9445366e-33, b: 0, a: 1.9445248e-33} 88 | - _Color: {r: 0.5019608, g: 0.5019608, b: 0.5019608, a: 1} 89 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} 90 | - _Flip: {r: 1, g: 1, b: 1, a: 1} 91 | - _RendererColor: {r: 1, g: 1, b: 1, a: 1} 92 | -------------------------------------------------------------------------------- /Assets/Rokoko/Scripts/Editor/HumanBoneMappingEditor.cs: -------------------------------------------------------------------------------- 1 | using Rokoko.Inputs; 2 | using System.Collections; 3 | using System.Collections.Generic; 4 | using UnityEditor; 5 | using UnityEngine; 6 | 7 | namespace Rokoko.UnityEditor 8 | { 9 | [CustomEditor(typeof(HumanBoneMapping))] 10 | [CanEditMultipleObjects] 11 | public class HumanBoneMappingEditor : TweakableEditor 12 | { 13 | private HumanBodyBones[] _HumanBodyBonesArray; 14 | 15 | public HumanBodyBones[] HumanBodyBonesArray 16 | { 17 | get 18 | { 19 | if (_HumanBodyBonesArray == null) 20 | { 21 | _HumanBodyBonesArray = new HumanBodyBones[(int)HumanBodyBones.LastBone]; 22 | for (int i = 0; i < _HumanBodyBonesArray.Length; i++) 23 | _HumanBodyBonesArray[i] = (HumanBodyBones)i; 24 | } 25 | return _HumanBodyBonesArray; 26 | } 27 | } 28 | 29 | SerializedProperty customBodyBones; 30 | 31 | protected void OnEnable() 32 | { 33 | customBodyBones = serializedObject.FindProperty("customBodyBones"); 34 | } 35 | 36 | // Stops showing the script field 37 | protected override string[] GetInvisibleInDefaultInspector() 38 | { 39 | return new[] { "m_Script" }; 40 | } 41 | 42 | public override void OnInspectorGUI() 43 | { 44 | HumanBoneMapping boneMapping = (HumanBoneMapping)target; 45 | Undo.RecordObject(boneMapping, "Undo ActorCustomBoneMapping Changes"); 46 | 47 | // Initialize Array 48 | if (boneMapping.customBodyBones.Length != HumanBodyBonesArray.Length) 49 | { 50 | boneMapping.customBodyBones = new Transform[HumanBodyBonesArray.Length]; 51 | 52 | // SerializedObject rereferce needs to be updated 53 | return; 54 | } 55 | 56 | GUILayout.Space(10); 57 | 58 | if (GUILayout.Button("Copy from Animator")) 59 | { 60 | Animator animator = boneMapping.GetComponent(); 61 | if (animator != null) 62 | { 63 | for (int i = 0; i < HumanBodyBonesArray.Length; i++) 64 | { 65 | boneMapping.customBodyBones[i] = animator.GetBoneTransform(HumanBodyBonesArray[i]); 66 | } 67 | } 68 | } 69 | 70 | GUILayout.Space(10); 71 | 72 | // Draw a field for each HumanBodyBone 73 | for (int i = 0; i < HumanBodyBonesArray.Length; i++) 74 | { 75 | SerializedProperty element = customBodyBones.GetArrayElementAtIndex(i); 76 | EditorGUILayout.PropertyField(element, new GUIContent(HumanBodyBonesArray[i].ToString())); 77 | } 78 | 79 | serializedObject.ApplyModifiedProperties(); 80 | 81 | // Draw standard fields 82 | //base.OnInspectorGUI(); 83 | 84 | } 85 | } 86 | } -------------------------------------------------------------------------------- /Assets/Rokoko/Scripts/Mono/Inputs/ActorNewton.cs: -------------------------------------------------------------------------------- 1 | using Rokoko.Core; 2 | using Rokoko.Helper; 3 | using System.Collections; 4 | using System.Collections.Generic; 5 | using UnityEngine; 6 | 7 | namespace Rokoko.Inputs 8 | { 9 | public class ActorNewton : Actor 10 | { 11 | private const int HEAD_TO_MATERIAL_INDEX = 5; 12 | private const int JOINT_TO_MATERIAL_INDEX = 1; 13 | 14 | [Header("Newton materials")] 15 | [SerializeField] protected Renderer meshRenderer = null; 16 | [SerializeField] private Material bodyMaterial = null; 17 | [SerializeField] private Material faceInvisibleMaterial = null; 18 | public bool autoHideFaceWhenInactive = false; 19 | 20 | protected Material[] meshMaterials; 21 | 22 | #region Initialize 23 | 24 | protected override void Awake() 25 | { 26 | base.Awake(); 27 | InitializeMaterials(); 28 | } 29 | 30 | private void InitializeMaterials() 31 | { 32 | // Clone the material, so not to affect other objects 33 | bodyMaterial = Material.Instantiate(bodyMaterial); 34 | meshMaterials = new Material[meshRenderer.materials.Length]; 35 | for (int i = 0; i < meshMaterials.Length; i++) 36 | { 37 | // Keep joint material as source 38 | if (i == JOINT_TO_MATERIAL_INDEX) 39 | meshMaterials[i] = meshRenderer.materials[i]; 40 | else 41 | meshMaterials[i] = bodyMaterial; 42 | } 43 | meshRenderer.materials = meshMaterials; 44 | } 45 | 46 | #endregion 47 | 48 | #region Public Methods 49 | 50 | public override void CreateIdle(string actorName) 51 | { 52 | base.CreateIdle(actorName); 53 | 54 | if (autoHideFaceWhenInactive) 55 | face?.gameObject.SetActive(false); 56 | } 57 | 58 | public override void UpdateActor(ActorFrame actorFrame) 59 | { 60 | base.UpdateActor(actorFrame); 61 | 62 | bool updateBody = actorFrame.meta.hasBody || actorFrame.meta.hasGloves; 63 | 64 | // Enable/Disable body renderer 65 | meshRenderer.enabled = updateBody; 66 | 67 | // Update material color and visibility 68 | UpdateMaterialColors(actorFrame); 69 | 70 | // Enable/Disable face renderer 71 | if (autoHideFaceWhenInactive) 72 | face?.gameObject.SetActive(actorFrame.meta.hasFace); 73 | } 74 | 75 | #endregion 76 | 77 | #region Internal Logic 78 | 79 | private void UpdateMaterialColors(ActorFrame actorFrame) 80 | { 81 | bodyMaterial.color = actorFrame.color.ToColor(); 82 | meshMaterials[HEAD_TO_MATERIAL_INDEX] = (actorFrame.meta.hasFace) ? faceInvisibleMaterial : bodyMaterial; 83 | meshRenderer.materials = meshMaterials; 84 | 85 | face?.SetColor(actorFrame.color.ToColor()); 86 | } 87 | 88 | #endregion 89 | 90 | } 91 | } -------------------------------------------------------------------------------- /Assets/Rokoko/Prefabs/Actors/Prop.prefab: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1 &3055574581867789889 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: 3058609226091157611} 12 | - component: {fileID: 3033003841966528733} 13 | - component: {fileID: 3040427277044532171} 14 | - component: {fileID: 3055574581867789888} 15 | m_Layer: 0 16 | m_Name: Prop 17 | m_TagString: Untagged 18 | m_Icon: {fileID: 0} 19 | m_NavMeshLayer: 0 20 | m_StaticEditorFlags: 0 21 | m_IsActive: 1 22 | --- !u!4 &3058609226091157611 23 | Transform: 24 | m_ObjectHideFlags: 0 25 | m_CorrespondingSourceObject: {fileID: 0} 26 | m_PrefabInstance: {fileID: 0} 27 | m_PrefabAsset: {fileID: 0} 28 | m_GameObject: {fileID: 3055574581867789889} 29 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 30 | m_LocalPosition: {x: 0, y: 0, z: 0} 31 | m_LocalScale: {x: 0.3, y: 0.3, z: 0.3} 32 | m_Children: [] 33 | m_Father: {fileID: 0} 34 | m_RootOrder: 0 35 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 36 | --- !u!33 &3033003841966528733 37 | MeshFilter: 38 | m_ObjectHideFlags: 0 39 | m_CorrespondingSourceObject: {fileID: 0} 40 | m_PrefabInstance: {fileID: 0} 41 | m_PrefabAsset: {fileID: 0} 42 | m_GameObject: {fileID: 3055574581867789889} 43 | m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} 44 | --- !u!23 &3040427277044532171 45 | MeshRenderer: 46 | m_ObjectHideFlags: 0 47 | m_CorrespondingSourceObject: {fileID: 0} 48 | m_PrefabInstance: {fileID: 0} 49 | m_PrefabAsset: {fileID: 0} 50 | m_GameObject: {fileID: 3055574581867789889} 51 | m_Enabled: 1 52 | m_CastShadows: 1 53 | m_ReceiveShadows: 1 54 | m_DynamicOccludee: 1 55 | m_MotionVectors: 1 56 | m_LightProbeUsage: 1 57 | m_ReflectionProbeUsage: 1 58 | m_RayTracingMode: 2 59 | m_RenderingLayerMask: 1 60 | m_RendererPriority: 0 61 | m_Materials: 62 | - {fileID: 2100000, guid: efb193505e790244d941eded8ab70459, type: 2} 63 | m_StaticBatchInfo: 64 | firstSubMesh: 0 65 | subMeshCount: 0 66 | m_StaticBatchRoot: {fileID: 0} 67 | m_ProbeAnchor: {fileID: 0} 68 | m_LightProbeVolumeOverride: {fileID: 0} 69 | m_ScaleInLightmap: 1 70 | m_ReceiveGI: 1 71 | m_PreserveUVs: 1 72 | m_IgnoreNormalsForChartDetection: 0 73 | m_ImportantGI: 0 74 | m_StitchLightmapSeams: 0 75 | m_SelectedEditorRenderState: 3 76 | m_MinimumChartSize: 4 77 | m_AutoUVMaxDistance: 0.5 78 | m_AutoUVMaxAngle: 89 79 | m_LightmapParameters: {fileID: 0} 80 | m_SortingLayerID: 0 81 | m_SortingLayer: 0 82 | m_SortingOrder: 0 83 | --- !u!114 &3055574581867789888 84 | MonoBehaviour: 85 | m_ObjectHideFlags: 0 86 | m_CorrespondingSourceObject: {fileID: 0} 87 | m_PrefabInstance: {fileID: 0} 88 | m_PrefabAsset: {fileID: 0} 89 | m_GameObject: {fileID: 3055574581867789889} 90 | m_Enabled: 1 91 | m_EditorHideFlags: 0 92 | m_Script: {fileID: 11500000, guid: 8274508f93c440949969e644e7b64e65, type: 3} 93 | m_Name: 94 | m_EditorClassIdentifier: 95 | propName: Camera-1 96 | positionSpace: 1 97 | rotationSpace: 1 98 | -------------------------------------------------------------------------------- /Assets/Rokoko/Scripts/Mono/Inputs/Face.cs: -------------------------------------------------------------------------------- 1 | using Rokoko.Core; 2 | using Rokoko.Helper; 3 | using System; 4 | using System.Collections; 5 | using System.Collections.Generic; 6 | using UnityEngine; 7 | 8 | namespace Rokoko.Inputs 9 | { 10 | public class Face : MonoBehaviour 11 | { 12 | [System.Serializable] 13 | public enum FaceMappingEnum 14 | { 15 | ARKit, 16 | Custom 17 | } 18 | 19 | private const int HEAD_TO_MATERIAL_INDEX = 3; 20 | 21 | [HideInInspector] public FaceMappingEnum blendshapeMapping; 22 | [HideInInspector] public BlendShapesMapping blendshapeCustomMap; 23 | 24 | [HideInInspector] public SkinnedMeshRenderer meshRenderer = null; 25 | 26 | [Header("Log extra info")] 27 | public bool debug = false; 28 | 29 | private Dictionary blendshapeNamesToIndex = new Dictionary(); 30 | 31 | private void Start() 32 | { 33 | if (meshRenderer == null) 34 | { 35 | Debug.LogError("Unassigned SkinnedMeshRenderer for face", this.transform); 36 | return; 37 | } 38 | 39 | blendshapeNamesToIndex = meshRenderer.sharedMesh.GetAllBlendshapes(); 40 | } 41 | 42 | public void UpdateFace(FaceFrame faceFrame) 43 | { 44 | if (meshRenderer == null) return; 45 | 46 | float[] blendshapeValues = faceFrame.GetValues(); 47 | for (int i = 0; i < RokokoHelper.BlendshapesArray.Length; i++) 48 | { 49 | // Get blendshape name 50 | string blendShapeName; 51 | 52 | // Set default blendshape name 53 | if (blendshapeMapping == FaceMappingEnum.ARKit) 54 | { 55 | blendShapeName = RokokoHelper.BlendshapesArray[i].ToString(); 56 | } 57 | // Get custom blendshape name 58 | else 59 | { 60 | blendShapeName = blendshapeCustomMap.blendshapeNames[RokokoHelper.BlendshapesArray[i]]; 61 | } 62 | 63 | int blendshapeIndex = GetBlendshapeIndex(blendShapeName); 64 | if (blendshapeIndex >= 0) 65 | meshRenderer.SetBlendShapeWeight(blendshapeIndex, blendshapeValues[i]); 66 | else 67 | { 68 | if (debug) 69 | Debug.LogWarning($"Couldn't find blendshape name:{blendShapeName} in Mesh blendshapes (count:{meshRenderer.sharedMesh.blendShapeCount})", this.transform); 70 | } 71 | } 72 | } 73 | 74 | private int GetBlendshapeIndex(string blendshape) 75 | { 76 | foreach (string blendshapeKey in blendshapeNamesToIndex.Keys) 77 | { 78 | if (blendshapeKey.Contains(blendshape.ToLower())) 79 | return blendshapeNamesToIndex[blendshapeKey]; 80 | } 81 | return -1; 82 | } 83 | 84 | public void SetColor(Color color) 85 | { 86 | if (meshRenderer == null) return; 87 | 88 | meshRenderer.materials[HEAD_TO_MATERIAL_INDEX].color = color; 89 | } 90 | } 91 | } -------------------------------------------------------------------------------- /Assets/Rokoko/Scripts/Core/LZ4Wrapper.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Runtime.InteropServices; 3 | 4 | namespace Rokoko.Core 5 | { 6 | public class LZ4Wrapper 7 | { 8 | public static class LZ4_API 9 | { 10 | #if (UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR 11 | private const string LUADLL = "__Internal"; 12 | #else 13 | private const string LUADLL = "lz4"; 14 | #endif 15 | 16 | [DllImport(LUADLL, CallingConvention = CallingConvention.Cdecl)] 17 | public static extern int Unity_LZ4_compress(IntPtr src, int srcSize, IntPtr dst, int dstCapacity, int compressionLevel); 18 | 19 | [DllImport(LUADLL, CallingConvention = CallingConvention.Cdecl)] 20 | public static extern int Unity_LZ4_compressSize(int srcSize, int compressionLevel); 21 | 22 | [DllImport(LUADLL, CallingConvention = CallingConvention.Cdecl)] 23 | public static extern int Unity_LZ4_uncompressSize(IntPtr srcBuffer, int srcSize); 24 | 25 | [DllImport(LUADLL, CallingConvention = CallingConvention.Cdecl)] 26 | public static extern int Unity_LZ4_decompress(IntPtr src, int srcSize, IntPtr dst, int dstCapacity); 27 | } 28 | 29 | public static byte[] Compress(byte[] input, int compressionLevel = 3) 30 | { 31 | byte[] result = null; 32 | 33 | if (input != null && input.Length > 0) 34 | { 35 | int maxSize = LZ4_API.Unity_LZ4_compressSize(input.Length, compressionLevel); 36 | if (maxSize > 0) 37 | { 38 | var buffer = new byte[maxSize]; 39 | var srcHandle = GCHandle.Alloc(input, GCHandleType.Pinned); 40 | var dstHandle = GCHandle.Alloc(buffer, GCHandleType.Pinned); 41 | var actualSize = LZ4_API.Unity_LZ4_compress(srcHandle.AddrOfPinnedObject(), input.Length, dstHandle.AddrOfPinnedObject(), maxSize, compressionLevel); 42 | 43 | if (actualSize > 0) 44 | { 45 | result = new byte[actualSize]; 46 | Array.Copy(buffer, result, actualSize); 47 | } 48 | 49 | srcHandle.Free(); 50 | dstHandle.Free(); 51 | } 52 | } 53 | 54 | return result; 55 | } 56 | 57 | public static byte[] Decompress(byte[] input) 58 | { 59 | byte[] result = null; 60 | 61 | if (input != null && input.Length > 0) 62 | { 63 | var srcHandle = GCHandle.Alloc(input, GCHandleType.Pinned); 64 | var uncompressSize = LZ4_API.Unity_LZ4_uncompressSize(srcHandle.AddrOfPinnedObject(), input.Length); 65 | result = new byte[uncompressSize]; 66 | var dstHandle = GCHandle.Alloc(result, GCHandleType.Pinned); 67 | if (LZ4_API.Unity_LZ4_decompress(srcHandle.AddrOfPinnedObject(), input.Length, dstHandle.AddrOfPinnedObject(), result.Length) != 0) 68 | { 69 | result = null; 70 | } 71 | 72 | srcHandle.Free(); 73 | dstHandle.Free(); 74 | } 75 | 76 | return result; 77 | } 78 | } 79 | } -------------------------------------------------------------------------------- /Assets/Rokoko/Art/Textures/rokoko-floor-2048.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 673b25e62d3e3a4488ffd4d2c9636e84 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 11 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 1 10 | sRGBTexture: 1 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | isReadable: 0 24 | streamingMipmaps: 0 25 | streamingMipmapsPriority: 0 26 | grayScaleToAlpha: 0 27 | generateCubemap: 6 28 | cubemapConvolution: 0 29 | seamlessCubemap: 0 30 | textureFormat: 1 31 | maxTextureSize: 2048 32 | textureSettings: 33 | serializedVersion: 2 34 | filterMode: -1 35 | aniso: 14 36 | mipBias: -100 37 | wrapU: -1 38 | wrapV: -1 39 | wrapW: -1 40 | nPOTScale: 1 41 | lightmap: 0 42 | compressionQuality: 50 43 | spriteMode: 0 44 | spriteExtrude: 1 45 | spriteMeshType: 1 46 | alignment: 0 47 | spritePivot: {x: 0.5, y: 0.5} 48 | spritePixelsToUnits: 100 49 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 50 | spriteGenerateFallbackPhysicsShape: 1 51 | alphaUsage: 0 52 | alphaIsTransparency: 0 53 | spriteTessellationDetail: -1 54 | textureType: 0 55 | textureShape: 1 56 | singleChannelComponent: 0 57 | maxTextureSizeSet: 0 58 | compressionQualitySet: 0 59 | textureFormatSet: 0 60 | applyGammaDecoding: 1 61 | platformSettings: 62 | - serializedVersion: 3 63 | buildTarget: DefaultTexturePlatform 64 | maxTextureSize: 2048 65 | resizeAlgorithm: 0 66 | textureFormat: -1 67 | textureCompression: 1 68 | compressionQuality: 50 69 | crunchedCompression: 1 70 | allowsAlphaSplitting: 0 71 | overridden: 0 72 | androidETC2FallbackOverride: 0 73 | forceMaximumCompressionQuality_BC6H_BC7: 0 74 | - serializedVersion: 3 75 | buildTarget: Standalone 76 | maxTextureSize: 2048 77 | resizeAlgorithm: 0 78 | textureFormat: -1 79 | textureCompression: 1 80 | compressionQuality: 50 81 | crunchedCompression: 1 82 | allowsAlphaSplitting: 0 83 | overridden: 0 84 | androidETC2FallbackOverride: 0 85 | forceMaximumCompressionQuality_BC6H_BC7: 0 86 | - serializedVersion: 3 87 | buildTarget: Android 88 | maxTextureSize: 2048 89 | resizeAlgorithm: 0 90 | textureFormat: -1 91 | textureCompression: 1 92 | compressionQuality: 50 93 | crunchedCompression: 1 94 | allowsAlphaSplitting: 0 95 | overridden: 0 96 | androidETC2FallbackOverride: 0 97 | forceMaximumCompressionQuality_BC6H_BC7: 0 98 | spriteSheet: 99 | serializedVersion: 2 100 | sprites: [] 101 | outline: [] 102 | physicsShape: [] 103 | bones: [] 104 | spriteID: 105 | internalID: 0 106 | vertices: [] 107 | indices: 108 | edges: [] 109 | weights: [] 110 | secondaryTextures: [] 111 | spritePackingTag: 112 | pSDRemoveMatte: 0 113 | pSDShowRemoveMatteOption: 0 114 | userData: 115 | assetBundleName: 116 | assetBundleVariant: 117 | -------------------------------------------------------------------------------- /Assets/Rokoko/Art/Icons/rokoko-icon-record-32.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f1807d94f1a8b7e43ac0f6f24f73e8df 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 11 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 0 10 | sRGBTexture: 1 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | isReadable: 0 24 | streamingMipmaps: 0 25 | streamingMipmapsPriority: 0 26 | grayScaleToAlpha: 0 27 | generateCubemap: 6 28 | cubemapConvolution: 0 29 | seamlessCubemap: 0 30 | textureFormat: 1 31 | maxTextureSize: 2048 32 | textureSettings: 33 | serializedVersion: 2 34 | filterMode: -1 35 | aniso: -1 36 | mipBias: -100 37 | wrapU: 1 38 | wrapV: 1 39 | wrapW: -1 40 | nPOTScale: 0 41 | lightmap: 0 42 | compressionQuality: 50 43 | spriteMode: 1 44 | spriteExtrude: 1 45 | spriteMeshType: 1 46 | alignment: 0 47 | spritePivot: {x: 0.5, y: 0.5} 48 | spritePixelsToUnits: 100 49 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 50 | spriteGenerateFallbackPhysicsShape: 1 51 | alphaUsage: 1 52 | alphaIsTransparency: 1 53 | spriteTessellationDetail: -1 54 | textureType: 8 55 | textureShape: 1 56 | singleChannelComponent: 0 57 | maxTextureSizeSet: 0 58 | compressionQualitySet: 0 59 | textureFormatSet: 0 60 | applyGammaDecoding: 0 61 | platformSettings: 62 | - serializedVersion: 3 63 | buildTarget: DefaultTexturePlatform 64 | maxTextureSize: 64 65 | resizeAlgorithm: 0 66 | textureFormat: -1 67 | textureCompression: 1 68 | compressionQuality: 50 69 | crunchedCompression: 1 70 | allowsAlphaSplitting: 0 71 | overridden: 0 72 | androidETC2FallbackOverride: 0 73 | forceMaximumCompressionQuality_BC6H_BC7: 0 74 | - serializedVersion: 3 75 | buildTarget: Standalone 76 | maxTextureSize: 64 77 | resizeAlgorithm: 0 78 | textureFormat: -1 79 | textureCompression: 1 80 | compressionQuality: 50 81 | crunchedCompression: 1 82 | allowsAlphaSplitting: 0 83 | overridden: 0 84 | androidETC2FallbackOverride: 0 85 | forceMaximumCompressionQuality_BC6H_BC7: 0 86 | - serializedVersion: 3 87 | buildTarget: Android 88 | maxTextureSize: 64 89 | resizeAlgorithm: 0 90 | textureFormat: -1 91 | textureCompression: 1 92 | compressionQuality: 50 93 | crunchedCompression: 1 94 | allowsAlphaSplitting: 0 95 | overridden: 0 96 | androidETC2FallbackOverride: 0 97 | forceMaximumCompressionQuality_BC6H_BC7: 0 98 | spriteSheet: 99 | serializedVersion: 2 100 | sprites: [] 101 | outline: [] 102 | physicsShape: [] 103 | bones: [] 104 | spriteID: 5e97eb03825dee720800000000000000 105 | internalID: 0 106 | vertices: [] 107 | indices: 108 | edges: [] 109 | weights: [] 110 | secondaryTextures: [] 111 | spritePackingTag: 112 | pSDRemoveMatte: 0 113 | pSDShowRemoveMatteOption: 0 114 | userData: 115 | assetBundleName: 116 | assetBundleVariant: 117 | -------------------------------------------------------------------------------- /Assets/Rokoko/Art/Icons/rokoko-icon-broadcast-32.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 32ea982362dd9dc4ba2005b739d18e72 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 11 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 0 10 | sRGBTexture: 1 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | isReadable: 0 24 | streamingMipmaps: 0 25 | streamingMipmapsPriority: 0 26 | grayScaleToAlpha: 0 27 | generateCubemap: 6 28 | cubemapConvolution: 0 29 | seamlessCubemap: 0 30 | textureFormat: 1 31 | maxTextureSize: 2048 32 | textureSettings: 33 | serializedVersion: 2 34 | filterMode: -1 35 | aniso: -1 36 | mipBias: -100 37 | wrapU: 1 38 | wrapV: 1 39 | wrapW: -1 40 | nPOTScale: 0 41 | lightmap: 0 42 | compressionQuality: 50 43 | spriteMode: 1 44 | spriteExtrude: 1 45 | spriteMeshType: 1 46 | alignment: 0 47 | spritePivot: {x: 0.5, y: 0.5} 48 | spritePixelsToUnits: 100 49 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 50 | spriteGenerateFallbackPhysicsShape: 1 51 | alphaUsage: 1 52 | alphaIsTransparency: 1 53 | spriteTessellationDetail: -1 54 | textureType: 8 55 | textureShape: 1 56 | singleChannelComponent: 0 57 | maxTextureSizeSet: 0 58 | compressionQualitySet: 0 59 | textureFormatSet: 0 60 | applyGammaDecoding: 0 61 | platformSettings: 62 | - serializedVersion: 3 63 | buildTarget: DefaultTexturePlatform 64 | maxTextureSize: 64 65 | resizeAlgorithm: 0 66 | textureFormat: -1 67 | textureCompression: 1 68 | compressionQuality: 50 69 | crunchedCompression: 1 70 | allowsAlphaSplitting: 0 71 | overridden: 0 72 | androidETC2FallbackOverride: 0 73 | forceMaximumCompressionQuality_BC6H_BC7: 0 74 | - serializedVersion: 3 75 | buildTarget: Standalone 76 | maxTextureSize: 64 77 | resizeAlgorithm: 0 78 | textureFormat: -1 79 | textureCompression: 1 80 | compressionQuality: 50 81 | crunchedCompression: 1 82 | allowsAlphaSplitting: 0 83 | overridden: 0 84 | androidETC2FallbackOverride: 0 85 | forceMaximumCompressionQuality_BC6H_BC7: 0 86 | - serializedVersion: 3 87 | buildTarget: Android 88 | maxTextureSize: 64 89 | resizeAlgorithm: 0 90 | textureFormat: -1 91 | textureCompression: 1 92 | compressionQuality: 50 93 | crunchedCompression: 1 94 | allowsAlphaSplitting: 0 95 | overridden: 0 96 | androidETC2FallbackOverride: 0 97 | forceMaximumCompressionQuality_BC6H_BC7: 0 98 | spriteSheet: 99 | serializedVersion: 2 100 | sprites: [] 101 | outline: [] 102 | physicsShape: [] 103 | bones: [] 104 | spriteID: 5e97eb03825dee720800000000000000 105 | internalID: 0 106 | vertices: [] 107 | indices: 108 | edges: [] 109 | weights: [] 110 | secondaryTextures: [] 111 | spritePackingTag: 112 | pSDRemoveMatte: 0 113 | pSDShowRemoveMatteOption: 0 114 | userData: 115 | assetBundleName: 116 | assetBundleVariant: 117 | -------------------------------------------------------------------------------- /Assets/Rokoko/Art/Icons/rokoko-icon-profile-32.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3816b5268ba20094bbcec7291dcb4ea1 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 11 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 0 10 | sRGBTexture: 1 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | isReadable: 0 24 | streamingMipmaps: 0 25 | streamingMipmapsPriority: 0 26 | grayScaleToAlpha: 0 27 | generateCubemap: 6 28 | cubemapConvolution: 0 29 | seamlessCubemap: 0 30 | textureFormat: 1 31 | maxTextureSize: 2048 32 | textureSettings: 33 | serializedVersion: 2 34 | filterMode: -1 35 | aniso: -1 36 | mipBias: -100 37 | wrapU: 1 38 | wrapV: 1 39 | wrapW: -1 40 | nPOTScale: 0 41 | lightmap: 0 42 | compressionQuality: 50 43 | spriteMode: 1 44 | spriteExtrude: 1 45 | spriteMeshType: 1 46 | alignment: 0 47 | spritePivot: {x: 0.5, y: 0.5} 48 | spritePixelsToUnits: 100 49 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 50 | spriteGenerateFallbackPhysicsShape: 1 51 | alphaUsage: 1 52 | alphaIsTransparency: 1 53 | spriteTessellationDetail: -1 54 | textureType: 8 55 | textureShape: 1 56 | singleChannelComponent: 0 57 | maxTextureSizeSet: 0 58 | compressionQualitySet: 0 59 | textureFormatSet: 0 60 | applyGammaDecoding: 0 61 | platformSettings: 62 | - serializedVersion: 3 63 | buildTarget: DefaultTexturePlatform 64 | maxTextureSize: 64 65 | resizeAlgorithm: 0 66 | textureFormat: -1 67 | textureCompression: 1 68 | compressionQuality: 50 69 | crunchedCompression: 1 70 | allowsAlphaSplitting: 0 71 | overridden: 0 72 | androidETC2FallbackOverride: 0 73 | forceMaximumCompressionQuality_BC6H_BC7: 0 74 | - serializedVersion: 3 75 | buildTarget: Standalone 76 | maxTextureSize: 64 77 | resizeAlgorithm: 0 78 | textureFormat: -1 79 | textureCompression: 1 80 | compressionQuality: 50 81 | crunchedCompression: 1 82 | allowsAlphaSplitting: 0 83 | overridden: 0 84 | androidETC2FallbackOverride: 0 85 | forceMaximumCompressionQuality_BC6H_BC7: 0 86 | - serializedVersion: 3 87 | buildTarget: Android 88 | maxTextureSize: 64 89 | resizeAlgorithm: 0 90 | textureFormat: -1 91 | textureCompression: 1 92 | compressionQuality: 50 93 | crunchedCompression: 1 94 | allowsAlphaSplitting: 0 95 | overridden: 0 96 | androidETC2FallbackOverride: 0 97 | forceMaximumCompressionQuality_BC6H_BC7: 0 98 | spriteSheet: 99 | serializedVersion: 2 100 | sprites: [] 101 | outline: [] 102 | physicsShape: [] 103 | bones: [] 104 | spriteID: 5e97eb03825dee720800000000000000 105 | internalID: 0 106 | vertices: [] 107 | indices: 108 | edges: [] 109 | weights: [] 110 | secondaryTextures: [] 111 | spritePackingTag: 112 | pSDRemoveMatte: 0 113 | pSDShowRemoveMatteOption: 0 114 | userData: 115 | assetBundleName: 116 | assetBundleVariant: 117 | -------------------------------------------------------------------------------- /Assets/Rokoko/Art/Icons/rokoko-icon-prop-32.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 11261587382ef3d4ba3784b1f97294ce 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 11 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 0 10 | sRGBTexture: 1 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | isReadable: 0 24 | streamingMipmaps: 0 25 | streamingMipmapsPriority: 0 26 | grayScaleToAlpha: 0 27 | generateCubemap: 6 28 | cubemapConvolution: 0 29 | seamlessCubemap: 0 30 | textureFormat: 1 31 | maxTextureSize: 2048 32 | textureSettings: 33 | serializedVersion: 2 34 | filterMode: -1 35 | aniso: -1 36 | mipBias: -100 37 | wrapU: 1 38 | wrapV: 1 39 | wrapW: -1 40 | nPOTScale: 0 41 | lightmap: 0 42 | compressionQuality: 50 43 | spriteMode: 1 44 | spriteExtrude: 1 45 | spriteMeshType: 1 46 | alignment: 0 47 | spritePivot: {x: 0.5, y: 0.5} 48 | spritePixelsToUnits: 100 49 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 50 | spriteGenerateFallbackPhysicsShape: 1 51 | alphaUsage: 1 52 | alphaIsTransparency: 1 53 | spriteTessellationDetail: -1 54 | textureType: 8 55 | textureShape: 1 56 | singleChannelComponent: 0 57 | maxTextureSizeSet: 0 58 | compressionQualitySet: 0 59 | textureFormatSet: 0 60 | applyGammaDecoding: 0 61 | platformSettings: 62 | - serializedVersion: 3 63 | buildTarget: DefaultTexturePlatform 64 | maxTextureSize: 2048 65 | resizeAlgorithm: 0 66 | textureFormat: -1 67 | textureCompression: 1 68 | compressionQuality: 50 69 | crunchedCompression: 1 70 | allowsAlphaSplitting: 0 71 | overridden: 0 72 | androidETC2FallbackOverride: 0 73 | forceMaximumCompressionQuality_BC6H_BC7: 0 74 | - serializedVersion: 3 75 | buildTarget: Standalone 76 | maxTextureSize: 2048 77 | resizeAlgorithm: 0 78 | textureFormat: -1 79 | textureCompression: 1 80 | compressionQuality: 50 81 | crunchedCompression: 1 82 | allowsAlphaSplitting: 0 83 | overridden: 0 84 | androidETC2FallbackOverride: 0 85 | forceMaximumCompressionQuality_BC6H_BC7: 0 86 | - serializedVersion: 3 87 | buildTarget: Android 88 | maxTextureSize: 2048 89 | resizeAlgorithm: 0 90 | textureFormat: -1 91 | textureCompression: 1 92 | compressionQuality: 50 93 | crunchedCompression: 1 94 | allowsAlphaSplitting: 0 95 | overridden: 0 96 | androidETC2FallbackOverride: 0 97 | forceMaximumCompressionQuality_BC6H_BC7: 0 98 | spriteSheet: 99 | serializedVersion: 2 100 | sprites: [] 101 | outline: [] 102 | physicsShape: [] 103 | bones: [] 104 | spriteID: 5e97eb03825dee720800000000000000 105 | internalID: 0 106 | vertices: [] 107 | indices: 108 | edges: [] 109 | weights: [] 110 | secondaryTextures: [] 111 | spritePackingTag: 112 | pSDRemoveMatte: 0 113 | pSDShowRemoveMatteOption: 0 114 | userData: 115 | assetBundleName: 116 | assetBundleVariant: 117 | -------------------------------------------------------------------------------- /Assets/Rokoko/Art/Icons/rokoko-icon-restart-32.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cd9504a8179c4644d8aea04f16200efa 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 11 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 0 10 | sRGBTexture: 1 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | isReadable: 0 24 | streamingMipmaps: 0 25 | streamingMipmapsPriority: 0 26 | grayScaleToAlpha: 0 27 | generateCubemap: 6 28 | cubemapConvolution: 0 29 | seamlessCubemap: 0 30 | textureFormat: 1 31 | maxTextureSize: 2048 32 | textureSettings: 33 | serializedVersion: 2 34 | filterMode: -1 35 | aniso: -1 36 | mipBias: -100 37 | wrapU: 1 38 | wrapV: 1 39 | wrapW: -1 40 | nPOTScale: 0 41 | lightmap: 0 42 | compressionQuality: 50 43 | spriteMode: 1 44 | spriteExtrude: 1 45 | spriteMeshType: 1 46 | alignment: 0 47 | spritePivot: {x: 0.5, y: 0.5} 48 | spritePixelsToUnits: 100 49 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 50 | spriteGenerateFallbackPhysicsShape: 1 51 | alphaUsage: 1 52 | alphaIsTransparency: 1 53 | spriteTessellationDetail: -1 54 | textureType: 8 55 | textureShape: 1 56 | singleChannelComponent: 0 57 | maxTextureSizeSet: 0 58 | compressionQualitySet: 0 59 | textureFormatSet: 0 60 | applyGammaDecoding: 0 61 | platformSettings: 62 | - serializedVersion: 3 63 | buildTarget: DefaultTexturePlatform 64 | maxTextureSize: 64 65 | resizeAlgorithm: 0 66 | textureFormat: -1 67 | textureCompression: 1 68 | compressionQuality: 50 69 | crunchedCompression: 1 70 | allowsAlphaSplitting: 0 71 | overridden: 0 72 | androidETC2FallbackOverride: 0 73 | forceMaximumCompressionQuality_BC6H_BC7: 0 74 | - serializedVersion: 3 75 | buildTarget: Standalone 76 | maxTextureSize: 64 77 | resizeAlgorithm: 0 78 | textureFormat: -1 79 | textureCompression: 1 80 | compressionQuality: 50 81 | crunchedCompression: 1 82 | allowsAlphaSplitting: 0 83 | overridden: 0 84 | androidETC2FallbackOverride: 0 85 | forceMaximumCompressionQuality_BC6H_BC7: 0 86 | - serializedVersion: 3 87 | buildTarget: Android 88 | maxTextureSize: 64 89 | resizeAlgorithm: 0 90 | textureFormat: -1 91 | textureCompression: 1 92 | compressionQuality: 50 93 | crunchedCompression: 1 94 | allowsAlphaSplitting: 0 95 | overridden: 0 96 | androidETC2FallbackOverride: 0 97 | forceMaximumCompressionQuality_BC6H_BC7: 0 98 | spriteSheet: 99 | serializedVersion: 2 100 | sprites: [] 101 | outline: [] 102 | physicsShape: [] 103 | bones: [] 104 | spriteID: 5e97eb03825dee720800000000000000 105 | internalID: 0 106 | vertices: [] 107 | indices: 108 | edges: [] 109 | weights: [] 110 | secondaryTextures: [] 111 | spritePackingTag: 112 | pSDRemoveMatte: 0 113 | pSDShowRemoveMatteOption: 0 114 | userData: 115 | assetBundleName: 116 | assetBundleVariant: 117 | -------------------------------------------------------------------------------- /Assets/Rokoko/Art/Icons/rokoko-icon-row-face-32.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1d5c2843614d4a84981b045f31b14072 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 11 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 0 10 | sRGBTexture: 1 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | isReadable: 0 24 | streamingMipmaps: 0 25 | streamingMipmapsPriority: 0 26 | grayScaleToAlpha: 0 27 | generateCubemap: 6 28 | cubemapConvolution: 0 29 | seamlessCubemap: 0 30 | textureFormat: 1 31 | maxTextureSize: 2048 32 | textureSettings: 33 | serializedVersion: 2 34 | filterMode: -1 35 | aniso: -1 36 | mipBias: -100 37 | wrapU: 1 38 | wrapV: 1 39 | wrapW: -1 40 | nPOTScale: 0 41 | lightmap: 0 42 | compressionQuality: 50 43 | spriteMode: 1 44 | spriteExtrude: 1 45 | spriteMeshType: 1 46 | alignment: 0 47 | spritePivot: {x: 0.5, y: 0.5} 48 | spritePixelsToUnits: 100 49 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 50 | spriteGenerateFallbackPhysicsShape: 1 51 | alphaUsage: 1 52 | alphaIsTransparency: 1 53 | spriteTessellationDetail: -1 54 | textureType: 8 55 | textureShape: 1 56 | singleChannelComponent: 0 57 | maxTextureSizeSet: 0 58 | compressionQualitySet: 0 59 | textureFormatSet: 0 60 | applyGammaDecoding: 0 61 | platformSettings: 62 | - serializedVersion: 3 63 | buildTarget: DefaultTexturePlatform 64 | maxTextureSize: 64 65 | resizeAlgorithm: 0 66 | textureFormat: -1 67 | textureCompression: 1 68 | compressionQuality: 50 69 | crunchedCompression: 1 70 | allowsAlphaSplitting: 0 71 | overridden: 0 72 | androidETC2FallbackOverride: 0 73 | forceMaximumCompressionQuality_BC6H_BC7: 0 74 | - serializedVersion: 3 75 | buildTarget: Standalone 76 | maxTextureSize: 64 77 | resizeAlgorithm: 0 78 | textureFormat: -1 79 | textureCompression: 1 80 | compressionQuality: 50 81 | crunchedCompression: 1 82 | allowsAlphaSplitting: 0 83 | overridden: 0 84 | androidETC2FallbackOverride: 0 85 | forceMaximumCompressionQuality_BC6H_BC7: 0 86 | - serializedVersion: 3 87 | buildTarget: Android 88 | maxTextureSize: 64 89 | resizeAlgorithm: 0 90 | textureFormat: -1 91 | textureCompression: 1 92 | compressionQuality: 50 93 | crunchedCompression: 1 94 | allowsAlphaSplitting: 0 95 | overridden: 0 96 | androidETC2FallbackOverride: 0 97 | forceMaximumCompressionQuality_BC6H_BC7: 0 98 | spriteSheet: 99 | serializedVersion: 2 100 | sprites: [] 101 | outline: [] 102 | physicsShape: [] 103 | bones: [] 104 | spriteID: 5e97eb03825dee720800000000000000 105 | internalID: 0 106 | vertices: [] 107 | indices: 108 | edges: [] 109 | weights: [] 110 | secondaryTextures: [] 111 | spritePackingTag: 112 | pSDRemoveMatte: 0 113 | pSDShowRemoveMatteOption: 0 114 | userData: 115 | assetBundleName: 116 | assetBundleVariant: 117 | -------------------------------------------------------------------------------- /Assets/Rokoko/Art/Icons/rokoko-icon-row-suit-32.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ba8e6073760b14d41b8dcc5a9eaf1c21 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 11 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 0 10 | sRGBTexture: 1 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | isReadable: 0 24 | streamingMipmaps: 0 25 | streamingMipmapsPriority: 0 26 | grayScaleToAlpha: 0 27 | generateCubemap: 6 28 | cubemapConvolution: 0 29 | seamlessCubemap: 0 30 | textureFormat: 1 31 | maxTextureSize: 2048 32 | textureSettings: 33 | serializedVersion: 2 34 | filterMode: -1 35 | aniso: -1 36 | mipBias: -100 37 | wrapU: 1 38 | wrapV: 1 39 | wrapW: -1 40 | nPOTScale: 0 41 | lightmap: 0 42 | compressionQuality: 50 43 | spriteMode: 1 44 | spriteExtrude: 1 45 | spriteMeshType: 1 46 | alignment: 0 47 | spritePivot: {x: 0.5, y: 0.5} 48 | spritePixelsToUnits: 100 49 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 50 | spriteGenerateFallbackPhysicsShape: 1 51 | alphaUsage: 1 52 | alphaIsTransparency: 1 53 | spriteTessellationDetail: -1 54 | textureType: 8 55 | textureShape: 1 56 | singleChannelComponent: 0 57 | maxTextureSizeSet: 0 58 | compressionQualitySet: 0 59 | textureFormatSet: 0 60 | applyGammaDecoding: 0 61 | platformSettings: 62 | - serializedVersion: 3 63 | buildTarget: DefaultTexturePlatform 64 | maxTextureSize: 64 65 | resizeAlgorithm: 0 66 | textureFormat: -1 67 | textureCompression: 1 68 | compressionQuality: 50 69 | crunchedCompression: 1 70 | allowsAlphaSplitting: 0 71 | overridden: 0 72 | androidETC2FallbackOverride: 0 73 | forceMaximumCompressionQuality_BC6H_BC7: 0 74 | - serializedVersion: 3 75 | buildTarget: Standalone 76 | maxTextureSize: 64 77 | resizeAlgorithm: 0 78 | textureFormat: -1 79 | textureCompression: 1 80 | compressionQuality: 50 81 | crunchedCompression: 1 82 | allowsAlphaSplitting: 0 83 | overridden: 0 84 | androidETC2FallbackOverride: 0 85 | forceMaximumCompressionQuality_BC6H_BC7: 0 86 | - serializedVersion: 3 87 | buildTarget: Android 88 | maxTextureSize: 64 89 | resizeAlgorithm: 0 90 | textureFormat: -1 91 | textureCompression: 1 92 | compressionQuality: 50 93 | crunchedCompression: 1 94 | allowsAlphaSplitting: 0 95 | overridden: 0 96 | androidETC2FallbackOverride: 0 97 | forceMaximumCompressionQuality_BC6H_BC7: 0 98 | spriteSheet: 99 | serializedVersion: 2 100 | sprites: [] 101 | outline: [] 102 | physicsShape: [] 103 | bones: [] 104 | spriteID: 5e97eb03825dee720800000000000000 105 | internalID: 0 106 | vertices: [] 107 | indices: 108 | edges: [] 109 | weights: [] 110 | secondaryTextures: [] 111 | spritePackingTag: 112 | pSDRemoveMatte: 0 113 | pSDShowRemoveMatteOption: 0 114 | userData: 115 | assetBundleName: 116 | assetBundleVariant: 117 | -------------------------------------------------------------------------------- /Assets/Rokoko/Art/Icons/rokoko-icon-stop-white-32.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9b913558b089c6d4088c17d9cc583b28 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 11 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 0 10 | sRGBTexture: 1 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | isReadable: 0 24 | streamingMipmaps: 0 25 | streamingMipmapsPriority: 0 26 | grayScaleToAlpha: 0 27 | generateCubemap: 6 28 | cubemapConvolution: 0 29 | seamlessCubemap: 0 30 | textureFormat: 1 31 | maxTextureSize: 2048 32 | textureSettings: 33 | serializedVersion: 2 34 | filterMode: -1 35 | aniso: -1 36 | mipBias: -100 37 | wrapU: 1 38 | wrapV: 1 39 | wrapW: -1 40 | nPOTScale: 0 41 | lightmap: 0 42 | compressionQuality: 50 43 | spriteMode: 1 44 | spriteExtrude: 1 45 | spriteMeshType: 1 46 | alignment: 0 47 | spritePivot: {x: 0.5, y: 0.5} 48 | spritePixelsToUnits: 100 49 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 50 | spriteGenerateFallbackPhysicsShape: 1 51 | alphaUsage: 1 52 | alphaIsTransparency: 1 53 | spriteTessellationDetail: -1 54 | textureType: 8 55 | textureShape: 1 56 | singleChannelComponent: 0 57 | maxTextureSizeSet: 0 58 | compressionQualitySet: 0 59 | textureFormatSet: 0 60 | applyGammaDecoding: 0 61 | platformSettings: 62 | - serializedVersion: 3 63 | buildTarget: DefaultTexturePlatform 64 | maxTextureSize: 64 65 | resizeAlgorithm: 0 66 | textureFormat: -1 67 | textureCompression: 1 68 | compressionQuality: 50 69 | crunchedCompression: 1 70 | allowsAlphaSplitting: 0 71 | overridden: 0 72 | androidETC2FallbackOverride: 0 73 | forceMaximumCompressionQuality_BC6H_BC7: 0 74 | - serializedVersion: 3 75 | buildTarget: Standalone 76 | maxTextureSize: 64 77 | resizeAlgorithm: 0 78 | textureFormat: -1 79 | textureCompression: 1 80 | compressionQuality: 50 81 | crunchedCompression: 1 82 | allowsAlphaSplitting: 0 83 | overridden: 0 84 | androidETC2FallbackOverride: 0 85 | forceMaximumCompressionQuality_BC6H_BC7: 0 86 | - serializedVersion: 3 87 | buildTarget: Android 88 | maxTextureSize: 64 89 | resizeAlgorithm: 0 90 | textureFormat: -1 91 | textureCompression: 1 92 | compressionQuality: 50 93 | crunchedCompression: 1 94 | allowsAlphaSplitting: 0 95 | overridden: 0 96 | androidETC2FallbackOverride: 0 97 | forceMaximumCompressionQuality_BC6H_BC7: 0 98 | spriteSheet: 99 | serializedVersion: 2 100 | sprites: [] 101 | outline: [] 102 | physicsShape: [] 103 | bones: [] 104 | spriteID: 5e97eb03825dee720800000000000000 105 | internalID: 0 106 | vertices: [] 107 | indices: 108 | edges: [] 109 | weights: [] 110 | secondaryTextures: [] 111 | spritePackingTag: 112 | pSDRemoveMatte: 0 113 | pSDShowRemoveMatteOption: 0 114 | userData: 115 | assetBundleName: 116 | assetBundleVariant: 117 | -------------------------------------------------------------------------------- /Assets/Rokoko/Art/Icons/rokoko-icon-unicast-32.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3cacab5c68cb3a94cbe8e23fe0d460d4 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 11 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 0 10 | sRGBTexture: 1 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | isReadable: 0 24 | streamingMipmaps: 0 25 | streamingMipmapsPriority: 0 26 | grayScaleToAlpha: 0 27 | generateCubemap: 6 28 | cubemapConvolution: 0 29 | seamlessCubemap: 0 30 | textureFormat: 1 31 | maxTextureSize: 2048 32 | textureSettings: 33 | serializedVersion: 2 34 | filterMode: -1 35 | aniso: -1 36 | mipBias: -100 37 | wrapU: 1 38 | wrapV: 1 39 | wrapW: -1 40 | nPOTScale: 0 41 | lightmap: 0 42 | compressionQuality: 50 43 | spriteMode: 1 44 | spriteExtrude: 1 45 | spriteMeshType: 1 46 | alignment: 0 47 | spritePivot: {x: 0.5, y: 0.5} 48 | spritePixelsToUnits: 100 49 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 50 | spriteGenerateFallbackPhysicsShape: 1 51 | alphaUsage: 1 52 | alphaIsTransparency: 1 53 | spriteTessellationDetail: -1 54 | textureType: 8 55 | textureShape: 1 56 | singleChannelComponent: 0 57 | maxTextureSizeSet: 0 58 | compressionQualitySet: 0 59 | textureFormatSet: 0 60 | applyGammaDecoding: 0 61 | platformSettings: 62 | - serializedVersion: 3 63 | buildTarget: DefaultTexturePlatform 64 | maxTextureSize: 64 65 | resizeAlgorithm: 0 66 | textureFormat: -1 67 | textureCompression: 1 68 | compressionQuality: 50 69 | crunchedCompression: 1 70 | allowsAlphaSplitting: 0 71 | overridden: 0 72 | androidETC2FallbackOverride: 0 73 | forceMaximumCompressionQuality_BC6H_BC7: 0 74 | - serializedVersion: 3 75 | buildTarget: Standalone 76 | maxTextureSize: 64 77 | resizeAlgorithm: 0 78 | textureFormat: -1 79 | textureCompression: 1 80 | compressionQuality: 50 81 | crunchedCompression: 1 82 | allowsAlphaSplitting: 0 83 | overridden: 0 84 | androidETC2FallbackOverride: 0 85 | forceMaximumCompressionQuality_BC6H_BC7: 0 86 | - serializedVersion: 3 87 | buildTarget: Android 88 | maxTextureSize: 64 89 | resizeAlgorithm: 0 90 | textureFormat: -1 91 | textureCompression: 1 92 | compressionQuality: 50 93 | crunchedCompression: 1 94 | allowsAlphaSplitting: 0 95 | overridden: 0 96 | androidETC2FallbackOverride: 0 97 | forceMaximumCompressionQuality_BC6H_BC7: 0 98 | spriteSheet: 99 | serializedVersion: 2 100 | sprites: [] 101 | outline: [] 102 | physicsShape: [] 103 | bones: [] 104 | spriteID: 5e97eb03825dee720800000000000000 105 | internalID: 0 106 | vertices: [] 107 | indices: 108 | edges: [] 109 | weights: [] 110 | secondaryTextures: [] 111 | spritePackingTag: 112 | pSDRemoveMatte: 0 113 | pSDShowRemoveMatteOption: 0 114 | userData: 115 | assetBundleName: 116 | assetBundleVariant: 117 | -------------------------------------------------------------------------------- /Assets/Rokoko/Art/Icons/rokoko-icon-input-gloves-32.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0f4595a450884a440bbe6abbbed6ee1b 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 11 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 0 10 | sRGBTexture: 1 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | isReadable: 0 24 | streamingMipmaps: 0 25 | streamingMipmapsPriority: 0 26 | grayScaleToAlpha: 0 27 | generateCubemap: 6 28 | cubemapConvolution: 0 29 | seamlessCubemap: 0 30 | textureFormat: 1 31 | maxTextureSize: 2048 32 | textureSettings: 33 | serializedVersion: 2 34 | filterMode: -1 35 | aniso: -1 36 | mipBias: -100 37 | wrapU: 1 38 | wrapV: 1 39 | wrapW: -1 40 | nPOTScale: 0 41 | lightmap: 0 42 | compressionQuality: 50 43 | spriteMode: 1 44 | spriteExtrude: 1 45 | spriteMeshType: 1 46 | alignment: 0 47 | spritePivot: {x: 0.5, y: 0.5} 48 | spritePixelsToUnits: 100 49 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 50 | spriteGenerateFallbackPhysicsShape: 1 51 | alphaUsage: 1 52 | alphaIsTransparency: 1 53 | spriteTessellationDetail: -1 54 | textureType: 8 55 | textureShape: 1 56 | singleChannelComponent: 0 57 | maxTextureSizeSet: 0 58 | compressionQualitySet: 0 59 | textureFormatSet: 0 60 | applyGammaDecoding: 0 61 | platformSettings: 62 | - serializedVersion: 3 63 | buildTarget: DefaultTexturePlatform 64 | maxTextureSize: 64 65 | resizeAlgorithm: 0 66 | textureFormat: -1 67 | textureCompression: 1 68 | compressionQuality: 50 69 | crunchedCompression: 1 70 | allowsAlphaSplitting: 0 71 | overridden: 0 72 | androidETC2FallbackOverride: 0 73 | forceMaximumCompressionQuality_BC6H_BC7: 0 74 | - serializedVersion: 3 75 | buildTarget: Standalone 76 | maxTextureSize: 64 77 | resizeAlgorithm: 0 78 | textureFormat: -1 79 | textureCompression: 1 80 | compressionQuality: 50 81 | crunchedCompression: 1 82 | allowsAlphaSplitting: 0 83 | overridden: 0 84 | androidETC2FallbackOverride: 0 85 | forceMaximumCompressionQuality_BC6H_BC7: 0 86 | - serializedVersion: 3 87 | buildTarget: Android 88 | maxTextureSize: 64 89 | resizeAlgorithm: 0 90 | textureFormat: -1 91 | textureCompression: 1 92 | compressionQuality: 50 93 | crunchedCompression: 1 94 | allowsAlphaSplitting: 0 95 | overridden: 0 96 | androidETC2FallbackOverride: 0 97 | forceMaximumCompressionQuality_BC6H_BC7: 0 98 | spriteSheet: 99 | serializedVersion: 2 100 | sprites: [] 101 | outline: [] 102 | physicsShape: [] 103 | bones: [] 104 | spriteID: 5e97eb03825dee720800000000000000 105 | internalID: 0 106 | vertices: [] 107 | indices: 108 | edges: [] 109 | weights: [] 110 | secondaryTextures: [] 111 | spritePackingTag: 112 | pSDRemoveMatte: 0 113 | pSDShowRemoveMatteOption: 0 114 | userData: 115 | assetBundleName: 116 | assetBundleVariant: 117 | -------------------------------------------------------------------------------- /Assets/Rokoko/Art/Icons/rokoko-icon-straightpose-32.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3ac26960e4ad8b846a7f29b4d3db4eae 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 11 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 0 10 | sRGBTexture: 1 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | isReadable: 0 24 | streamingMipmaps: 0 25 | streamingMipmapsPriority: 0 26 | grayScaleToAlpha: 0 27 | generateCubemap: 6 28 | cubemapConvolution: 0 29 | seamlessCubemap: 0 30 | textureFormat: 1 31 | maxTextureSize: 2048 32 | textureSettings: 33 | serializedVersion: 2 34 | filterMode: -1 35 | aniso: -1 36 | mipBias: -100 37 | wrapU: 1 38 | wrapV: 1 39 | wrapW: -1 40 | nPOTScale: 0 41 | lightmap: 0 42 | compressionQuality: 50 43 | spriteMode: 1 44 | spriteExtrude: 1 45 | spriteMeshType: 1 46 | alignment: 0 47 | spritePivot: {x: 0.5, y: 0.5} 48 | spritePixelsToUnits: 100 49 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 50 | spriteGenerateFallbackPhysicsShape: 1 51 | alphaUsage: 1 52 | alphaIsTransparency: 1 53 | spriteTessellationDetail: -1 54 | textureType: 8 55 | textureShape: 1 56 | singleChannelComponent: 0 57 | maxTextureSizeSet: 0 58 | compressionQualitySet: 0 59 | textureFormatSet: 0 60 | applyGammaDecoding: 0 61 | platformSettings: 62 | - serializedVersion: 3 63 | buildTarget: DefaultTexturePlatform 64 | maxTextureSize: 64 65 | resizeAlgorithm: 0 66 | textureFormat: -1 67 | textureCompression: 1 68 | compressionQuality: 50 69 | crunchedCompression: 1 70 | allowsAlphaSplitting: 0 71 | overridden: 0 72 | androidETC2FallbackOverride: 0 73 | forceMaximumCompressionQuality_BC6H_BC7: 0 74 | - serializedVersion: 3 75 | buildTarget: Standalone 76 | maxTextureSize: 64 77 | resizeAlgorithm: 0 78 | textureFormat: -1 79 | textureCompression: 1 80 | compressionQuality: 50 81 | crunchedCompression: 1 82 | allowsAlphaSplitting: 0 83 | overridden: 0 84 | androidETC2FallbackOverride: 0 85 | forceMaximumCompressionQuality_BC6H_BC7: 0 86 | - serializedVersion: 3 87 | buildTarget: Android 88 | maxTextureSize: 64 89 | resizeAlgorithm: 0 90 | textureFormat: -1 91 | textureCompression: 1 92 | compressionQuality: 50 93 | crunchedCompression: 1 94 | allowsAlphaSplitting: 0 95 | overridden: 0 96 | androidETC2FallbackOverride: 0 97 | forceMaximumCompressionQuality_BC6H_BC7: 0 98 | spriteSheet: 99 | serializedVersion: 2 100 | sprites: [] 101 | outline: [] 102 | physicsShape: [] 103 | bones: [] 104 | spriteID: 5e97eb03825dee720800000000000000 105 | internalID: 0 106 | vertices: [] 107 | indices: 108 | edges: [] 109 | weights: [] 110 | secondaryTextures: [] 111 | spritePackingTag: 112 | pSDRemoveMatte: 0 113 | pSDShowRemoveMatteOption: 0 114 | userData: 115 | assetBundleName: 116 | assetBundleVariant: 117 | -------------------------------------------------------------------------------- /Assets/Rokoko/Art/Icons/rokoko-bg-border-radius-1px.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 523426f29c740a54a9b199958c36590b 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 11 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 0 10 | sRGBTexture: 1 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | isReadable: 1 24 | streamingMipmaps: 0 25 | streamingMipmapsPriority: 0 26 | grayScaleToAlpha: 0 27 | generateCubemap: 6 28 | cubemapConvolution: 0 29 | seamlessCubemap: 0 30 | textureFormat: 1 31 | maxTextureSize: 2048 32 | textureSettings: 33 | serializedVersion: 2 34 | filterMode: -1 35 | aniso: -1 36 | mipBias: -100 37 | wrapU: 1 38 | wrapV: 1 39 | wrapW: -1 40 | nPOTScale: 0 41 | lightmap: 0 42 | compressionQuality: 50 43 | spriteMode: 1 44 | spriteExtrude: 1 45 | spriteMeshType: 1 46 | alignment: 0 47 | spritePivot: {x: 0.5, y: 0.5} 48 | spritePixelsToUnits: 100 49 | spriteBorder: {x: 6, y: 6, z: 6, w: 6} 50 | spriteGenerateFallbackPhysicsShape: 1 51 | alphaUsage: 1 52 | alphaIsTransparency: 1 53 | spriteTessellationDetail: -1 54 | textureType: 8 55 | textureShape: 1 56 | singleChannelComponent: 0 57 | maxTextureSizeSet: 0 58 | compressionQualitySet: 0 59 | textureFormatSet: 0 60 | applyGammaDecoding: 1 61 | platformSettings: 62 | - serializedVersion: 3 63 | buildTarget: DefaultTexturePlatform 64 | maxTextureSize: 2048 65 | resizeAlgorithm: 0 66 | textureFormat: -1 67 | textureCompression: 1 68 | compressionQuality: 50 69 | crunchedCompression: 1 70 | allowsAlphaSplitting: 0 71 | overridden: 0 72 | androidETC2FallbackOverride: 0 73 | forceMaximumCompressionQuality_BC6H_BC7: 0 74 | - serializedVersion: 3 75 | buildTarget: Standalone 76 | maxTextureSize: 2048 77 | resizeAlgorithm: 0 78 | textureFormat: -1 79 | textureCompression: 1 80 | compressionQuality: 50 81 | crunchedCompression: 1 82 | allowsAlphaSplitting: 0 83 | overridden: 0 84 | androidETC2FallbackOverride: 0 85 | forceMaximumCompressionQuality_BC6H_BC7: 0 86 | - serializedVersion: 3 87 | buildTarget: Android 88 | maxTextureSize: 2048 89 | resizeAlgorithm: 0 90 | textureFormat: -1 91 | textureCompression: 1 92 | compressionQuality: 50 93 | crunchedCompression: 1 94 | allowsAlphaSplitting: 0 95 | overridden: 0 96 | androidETC2FallbackOverride: 0 97 | forceMaximumCompressionQuality_BC6H_BC7: 1 98 | spriteSheet: 99 | serializedVersion: 2 100 | sprites: [] 101 | outline: [] 102 | physicsShape: [] 103 | bones: [] 104 | spriteID: 5e97eb03825dee720800000000000000 105 | internalID: 0 106 | vertices: [] 107 | indices: 108 | edges: [] 109 | weights: [] 110 | secondaryTextures: [] 111 | spritePackingTag: 112 | pSDRemoveMatte: 0 113 | pSDShowRemoveMatteOption: 0 114 | userData: 115 | assetBundleName: 116 | assetBundleVariant: 117 | -------------------------------------------------------------------------------- /Assets/Rokoko/Scripts/Editor/BlendShapesMappingEditor.cs: -------------------------------------------------------------------------------- 1 | using Rokoko.Inputs; 2 | using System.Collections; 3 | using System.Collections.Generic; 4 | using UnityEditor; 5 | using UnityEngine; 6 | using Rokoko.Helper; 7 | using Rokoko.Core; 8 | 9 | namespace Rokoko.UnityEditor 10 | { 11 | [CustomEditor(typeof(BlendShapesMapping))] 12 | [CanEditMultipleObjects] 13 | public class BlendShapesMappingEditor : TweakableEditor 14 | { 15 | private BlendShapes[] _BlendshapesArray = null; 16 | public BlendShapes[] BlendshapesArray 17 | { 18 | get 19 | { 20 | if (_BlendshapesArray == null) 21 | { 22 | _BlendshapesArray = new BlendShapes[(int)BlendShapes.size]; 23 | for (int i = 0; i < _BlendshapesArray.Length; i++) 24 | { 25 | _BlendshapesArray[i] = (BlendShapes)i; 26 | } 27 | } 28 | 29 | return _BlendshapesArray; 30 | } 31 | } 32 | 33 | 34 | SerializedProperty blendshapeNames; 35 | 36 | protected void OnEnable() 37 | { 38 | blendshapeNames = serializedObject.FindProperty("blendshapeNames"); 39 | } 40 | 41 | // Stops showing the script field 42 | protected override string[] GetInvisibleInDefaultInspector() 43 | { 44 | return new[] { "m_Script" }; 45 | } 46 | 47 | public override void OnInspectorGUI() 48 | { 49 | BlendShapesMapping blendshapesMapping = (BlendShapesMapping)target; 50 | Undo.RecordObject(blendshapesMapping, "Undo ActorCustomBoneMapping Changes"); 51 | 52 | // Initialize Array 53 | if (blendshapesMapping.blendshapeNames.Count != BlendshapesArray.Length) 54 | { 55 | blendshapesMapping.blendshapeNames = new Dictionary(BlendshapesArray.Length); 56 | for (int i = 0; i < BlendshapesArray.Length; i++) 57 | { 58 | blendshapesMapping.blendshapeNames.Add(BlendshapesArray[i], ""); 59 | } 60 | 61 | // SerializedObject rereferce needs to be updated 62 | return; 63 | } 64 | 65 | GUILayout.Space(10); 66 | 67 | if (GUILayout.Button("Copy from ARKit")) 68 | { 69 | // Copy fiels from ARKit 70 | foreach (KeyValuePair pair in new Dictionary(blendshapesMapping.blendshapeNames)) 71 | { 72 | blendshapesMapping.blendshapeNames[pair.Key] = pair.Key.ToString(); 73 | } 74 | } 75 | 76 | GUILayout.Space(10); 77 | 78 | // Draw a field for each Blendshape 79 | foreach(KeyValuePair pair in new Dictionary(blendshapesMapping.blendshapeNames)) 80 | { 81 | EditorGUILayout.BeginHorizontal(); 82 | EditorGUILayout.LabelField(pair.Key.ToString().ToUpperFirstChar()); 83 | blendshapesMapping.blendshapeNames[pair.Key] = EditorGUILayout.TextField(pair.Value.ToString()); 84 | EditorGUILayout.EndHorizontal(); 85 | } 86 | 87 | serializedObject.ApplyModifiedProperties(); 88 | 89 | // Draw standard fields 90 | //base.OnInspectorGUI(); 91 | 92 | } 93 | } 94 | } -------------------------------------------------------------------------------- /Assets/Rokoko/Scripts/Core/UDPReceiver.cs: -------------------------------------------------------------------------------- 1 | using System.Net; 2 | using System.Net.Sockets; 3 | using System.Threading; 4 | using UnityEngine; 5 | 6 | namespace Rokoko.Core 7 | { 8 | public class UDPReceiver 9 | { 10 | public int sendPortNumber = 14043; 11 | public int receivePortNumber = 14043; 12 | public int bufferSize = 65000; 13 | 14 | private UdpClient client; 15 | private Thread thread; 16 | 17 | public virtual void Initialize() 18 | { 19 | try 20 | { 21 | client = new UdpClient(receivePortNumber); 22 | client.Client.SendBufferSize = bufferSize; 23 | } 24 | catch (SocketException) 25 | { 26 | Debug.LogError($"Seem like port:{receivePortNumber} is already in use. Is plugin running already in other application?"); 27 | } 28 | catch(System.Exception ex) 29 | { 30 | throw ex; 31 | } 32 | } 33 | 34 | public virtual void StartListening() 35 | { 36 | if (client == null) 37 | { 38 | Debug.LogError("UDPReceiver - Client isn't initialized."); 39 | return; 40 | } 41 | 42 | if (thread != null) 43 | { 44 | Debug.LogWarning("UDPReceiver - Cannot start listening. Thread is already listening"); 45 | return; 46 | } 47 | 48 | StartListeningThread(); 49 | } 50 | 51 | public virtual void StopListening() 52 | { 53 | thread?.Abort(); 54 | client?.Close(); 55 | } 56 | 57 | public virtual void Dispose() 58 | { 59 | StopListening(); 60 | client?.Dispose(); 61 | client = null; 62 | } 63 | 64 | public void Send(string ipAddress, byte[] data) 65 | { 66 | Send(ipAddress, data, sendPortNumber); 67 | } 68 | 69 | public void Send(string ipAddress, byte[] data, int portNumber) 70 | { 71 | client?.Send(data, data.Length, new IPEndPoint(IPAddress.Parse(ipAddress), portNumber)); 72 | } 73 | 74 | public void Send(IPEndPoint endPoint, byte[] data) 75 | { 76 | client?.Send(data, data.Length, endPoint); 77 | } 78 | 79 | public bool IsListening() => thread != null; 80 | 81 | protected virtual void OnDataReceived(byte[] data, IPEndPoint endPoint) { } 82 | 83 | private void StartListeningThread() 84 | { 85 | thread = new Thread(ListenToUDP); 86 | thread.IsBackground = true; 87 | thread.Start(); 88 | } 89 | 90 | private void ListenToUDP() 91 | { 92 | while (client != null) 93 | { 94 | try 95 | { 96 | IPEndPoint endpoint = new IPEndPoint(IPAddress.Any, receivePortNumber); 97 | byte[] data = client.Receive(ref endpoint); 98 | OnDataReceived(data, endpoint); 99 | } 100 | catch (ThreadAbortException) { } 101 | catch (SocketException) { } 102 | catch (System.Exception ex) 103 | { 104 | Debug.Log(ex.Message); 105 | } 106 | } 107 | } 108 | } 109 | } 110 | -------------------------------------------------------------------------------- /Assets/Rokoko/Art/Icons/rokoko-direction-indicator-256.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 08c6561abd3b8194a8624dee9434e5bc 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 11 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 1 10 | sRGBTexture: 1 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | isReadable: 0 24 | streamingMipmaps: 0 25 | streamingMipmapsPriority: 0 26 | grayScaleToAlpha: 0 27 | generateCubemap: 6 28 | cubemapConvolution: 0 29 | seamlessCubemap: 0 30 | textureFormat: 1 31 | maxTextureSize: 2048 32 | textureSettings: 33 | serializedVersion: 2 34 | filterMode: 2 35 | aniso: 16 36 | mipBias: -100 37 | wrapU: 1 38 | wrapV: 1 39 | wrapW: 1 40 | nPOTScale: 0 41 | lightmap: 0 42 | compressionQuality: 50 43 | spriteMode: 1 44 | spriteExtrude: 1 45 | spriteMeshType: 1 46 | alignment: 0 47 | spritePivot: {x: 0.5, y: 0.5} 48 | spritePixelsToUnits: 100 49 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 50 | spriteGenerateFallbackPhysicsShape: 1 51 | alphaUsage: 1 52 | alphaIsTransparency: 1 53 | spriteTessellationDetail: -1 54 | textureType: 8 55 | textureShape: 1 56 | singleChannelComponent: 0 57 | maxTextureSizeSet: 0 58 | compressionQualitySet: 0 59 | textureFormatSet: 0 60 | applyGammaDecoding: 1 61 | platformSettings: 62 | - serializedVersion: 3 63 | buildTarget: DefaultTexturePlatform 64 | maxTextureSize: 256 65 | resizeAlgorithm: 0 66 | textureFormat: -1 67 | textureCompression: 1 68 | compressionQuality: 50 69 | crunchedCompression: 1 70 | allowsAlphaSplitting: 0 71 | overridden: 0 72 | androidETC2FallbackOverride: 0 73 | forceMaximumCompressionQuality_BC6H_BC7: 0 74 | - serializedVersion: 3 75 | buildTarget: Standalone 76 | maxTextureSize: 256 77 | resizeAlgorithm: 0 78 | textureFormat: -1 79 | textureCompression: 1 80 | compressionQuality: 50 81 | crunchedCompression: 1 82 | allowsAlphaSplitting: 0 83 | overridden: 0 84 | androidETC2FallbackOverride: 0 85 | forceMaximumCompressionQuality_BC6H_BC7: 0 86 | - serializedVersion: 3 87 | buildTarget: iPhone 88 | maxTextureSize: 2048 89 | resizeAlgorithm: 0 90 | textureFormat: -1 91 | textureCompression: 1 92 | compressionQuality: 50 93 | crunchedCompression: 0 94 | allowsAlphaSplitting: 0 95 | overridden: 0 96 | androidETC2FallbackOverride: 0 97 | forceMaximumCompressionQuality_BC6H_BC7: 1 98 | - serializedVersion: 3 99 | buildTarget: Android 100 | maxTextureSize: 256 101 | resizeAlgorithm: 0 102 | textureFormat: -1 103 | textureCompression: 1 104 | compressionQuality: 50 105 | crunchedCompression: 1 106 | allowsAlphaSplitting: 0 107 | overridden: 0 108 | androidETC2FallbackOverride: 0 109 | forceMaximumCompressionQuality_BC6H_BC7: 0 110 | spriteSheet: 111 | serializedVersion: 2 112 | sprites: [] 113 | outline: [] 114 | physicsShape: [] 115 | bones: [] 116 | spriteID: 5e97eb03825dee720800000000000000 117 | internalID: 0 118 | vertices: [] 119 | indices: 120 | edges: [] 121 | weights: [] 122 | secondaryTextures: [] 123 | spritePackingTag: 124 | pSDRemoveMatte: 0 125 | pSDShowRemoveMatteOption: 0 126 | userData: 127 | assetBundleName: 128 | assetBundleVariant: 129 | -------------------------------------------------------------------------------- /Assets/Rokoko/Art/Meshes/NewtonFace/Rokoko_Newtonface.FBX.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ec8a239e263555b4e89a907a0c672c82 3 | ModelImporter: 4 | serializedVersion: 23 5 | fileIDToRecycleName: 6 | 100000: //RootNode 7 | 400000: //RootNode 8 | 2100000: Lens 9 | 2100002: sclera 10 | 2100004: Iris 11 | 2100006: Head 12 | 2100008: 'Material #21' 13 | 2100010: Pupil 14 | 2100012: 'Material #22' 15 | 4300000: NewtonFace 16 | 7400000: Take 001 17 | 9500000: //RootNode 18 | 13700000: //RootNode 19 | externalObjects: {} 20 | materials: 21 | importMaterials: 1 22 | materialName: 0 23 | materialSearch: 1 24 | materialLocation: 1 25 | animations: 26 | legacyGenerateAnimations: 4 27 | bakeSimulation: 0 28 | resampleCurves: 1 29 | optimizeGameObjects: 0 30 | motionNodeName: 31 | rigImportErrors: 32 | rigImportWarnings: 33 | animationImportErrors: 34 | animationImportWarnings: 35 | animationRetargetingWarnings: 36 | animationDoRetargetingWarnings: 0 37 | importAnimatedCustomProperties: 0 38 | importConstraints: 0 39 | animationCompression: 1 40 | animationRotationError: 0.5 41 | animationPositionError: 0.5 42 | animationScaleError: 0.5 43 | animationWrapMode: 0 44 | extraExposedTransformPaths: [] 45 | extraUserProperties: [] 46 | clipAnimations: 47 | - serializedVersion: 16 48 | name: Take 001 49 | takeName: Take 001 50 | firstFrame: 0 51 | lastFrame: 100 52 | wrapMode: 0 53 | orientationOffsetY: 0 54 | level: 0 55 | cycleOffset: 0 56 | loop: 0 57 | hasAdditiveReferencePose: 0 58 | loopTime: 0 59 | loopBlend: 0 60 | loopBlendOrientation: 0 61 | loopBlendPositionY: 0 62 | loopBlendPositionXZ: 0 63 | keepOriginalOrientation: 0 64 | keepOriginalPositionY: 1 65 | keepOriginalPositionXZ: 0 66 | heightFromFeet: 0 67 | mirror: 0 68 | bodyMask: 01000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000 69 | curves: [] 70 | events: [] 71 | transformMask: [] 72 | maskType: 3 73 | maskSource: {instanceID: 0} 74 | additiveReferencePoseFrame: 0 75 | isReadable: 1 76 | meshes: 77 | lODScreenPercentages: [] 78 | globalScale: 1 79 | meshCompression: 0 80 | addColliders: 0 81 | useSRGBMaterialColor: 1 82 | importVisibility: 1 83 | importBlendShapes: 1 84 | importCameras: 1 85 | importLights: 1 86 | swapUVChannels: 0 87 | generateSecondaryUV: 0 88 | useFileUnits: 1 89 | optimizeMeshForGPU: 1 90 | keepQuads: 0 91 | weldVertices: 1 92 | preserveHierarchy: 0 93 | indexFormat: 0 94 | secondaryUVAngleDistortion: 8 95 | secondaryUVAreaDistortion: 15.000001 96 | secondaryUVHardAngle: 88 97 | secondaryUVPackMargin: 4 98 | useFileScale: 1 99 | previousCalculatedGlobalScale: 0.01 100 | hasPreviousCalculatedGlobalScale: 1 101 | tangentSpace: 102 | normalSmoothAngle: 180 103 | normalImportMode: 1 104 | tangentImportMode: 3 105 | normalCalculationMode: 4 106 | legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 107 | blendShapeNormalImportMode: 1 108 | normalSmoothingSource: 0 109 | importAnimation: 1 110 | copyAvatar: 0 111 | humanDescription: 112 | serializedVersion: 2 113 | human: [] 114 | skeleton: [] 115 | armTwist: 0.5 116 | foreArmTwist: 0.5 117 | upperLegTwist: 0.5 118 | legTwist: 0.5 119 | armStretch: 0.05 120 | legStretch: 0.05 121 | feetSpacing: 0 122 | rootMotionBoneName: 123 | hasTranslationDoF: 0 124 | hasExtraRoot: 0 125 | skeletonHasParents: 1 126 | lastHumanDescriptionAvatarSource: {instanceID: 0} 127 | animationType: 2 128 | humanoidOversampling: 1 129 | additionalBone: 0 130 | userData: 131 | assetBundleName: 132 | assetBundleVariant: 133 | -------------------------------------------------------------------------------- /Assets/Rokoko/Scripts/Editor/ActorEditor.cs: -------------------------------------------------------------------------------- 1 | using Rokoko.Inputs; 2 | using System.Collections; 3 | using System.Collections.Generic; 4 | using UnityEditor; 5 | using UnityEngine; 6 | 7 | namespace Rokoko.UnityEditor 8 | { 9 | [CustomEditor(typeof(Actor))] 10 | [CanEditMultipleObjects] 11 | public class ActorEditor : TweakableEditor 12 | { 13 | SerializedProperty boneMapping; 14 | SerializedProperty animatorProperty; 15 | SerializedProperty profileNameProperty; 16 | SerializedProperty faceProperty; 17 | 18 | protected void OnEnable() 19 | { 20 | boneMapping = serializedObject.FindProperty("boneMapping"); 21 | animatorProperty = serializedObject.FindProperty("animator"); 22 | profileNameProperty = serializedObject.FindProperty("profileName"); 23 | faceProperty = serializedObject.FindProperty("face"); 24 | 25 | Actor actor = (Actor)target; 26 | actor.animator = actor.gameObject.GetComponent(); 27 | } 28 | 29 | // Stops showing the script field 30 | protected override string[] GetInvisibleInDefaultInspector() 31 | { 32 | return new[] { "m_Script" }; 33 | } 34 | 35 | public override void OnInspectorGUI() 36 | { 37 | Actor actor = (Actor)target; 38 | serializedObject.Update(); 39 | 40 | Undo.RecordObject(actor, "Undo Actor Changes"); 41 | 42 | EditorGUILayout.HelpBox("Profile name allows you to override any target from studio", MessageType.Info); 43 | EditorGUILayout.PropertyField(profileNameProperty); 44 | 45 | GUILayout.Space(10); 46 | 47 | EditorGUILayout.HelpBox("Bone mapping is used to convert a Studio Actor to any custom character hierarchy", MessageType.Info); 48 | EditorGUILayout.PropertyField(boneMapping); 49 | if (actor.boneMapping == Actor.BoneMappingEnum.Animator) 50 | { 51 | EditorGUILayout.BeginHorizontal(); 52 | EditorGUILayout.PropertyField(animatorProperty); 53 | if (GUILayout.Button("Self")) 54 | { 55 | actor.animator = actor.GetComponentInChildren(); 56 | } 57 | EditorGUILayout.EndHorizontal(); 58 | 59 | if (actor.animator == null) 60 | { 61 | EditorGUILayout.HelpBox("Please select a valid Animator", MessageType.Warning); 62 | } 63 | else if (!actor.animator.isHuman) 64 | { 65 | EditorGUILayout.HelpBox("The avatar you are using is not humanoid.\nPlease go in model inspector, under Rig tab and select AnimationType as Humanoid.", MessageType.Error); 66 | } 67 | } 68 | else 69 | { 70 | if (actor.GetComponent() == null) 71 | { 72 | actor.customBoneMapping = Undo.AddComponent(actor.gameObject, typeof(HumanBoneMapping)) as HumanBoneMapping; 73 | } 74 | else if (actor.customBoneMapping == null) 75 | { 76 | actor.customBoneMapping = actor.GetComponent(); 77 | } 78 | } 79 | 80 | GUILayout.Space(10); 81 | 82 | EditorGUILayout.LabelField("Actor Face (Optional)", EditorStyles.boldLabel); 83 | EditorGUILayout.BeginHorizontal(); 84 | EditorGUILayout.PropertyField(faceProperty); 85 | if (GUILayout.Button("Create")) 86 | { 87 | if (actor.gameObject.GetComponent() is Face face) 88 | { 89 | actor.face = face; 90 | } 91 | else 92 | { 93 | actor.face = Undo.AddComponent(actor.gameObject, typeof(Face)) as Face; 94 | } 95 | 96 | } 97 | if (GUILayout.Button("Self")) 98 | { 99 | actor.face = actor.GetComponentInChildren(); 100 | } 101 | EditorGUILayout.EndHorizontal(); 102 | 103 | serializedObject.ApplyModifiedProperties(); 104 | 105 | // Draw standard fields 106 | base.OnInspectorGUI(); 107 | } 108 | } 109 | } -------------------------------------------------------------------------------- /Assets/Rokoko/Scripts/Core/CommandAPI/StudioCommandAPIBase.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using System.Threading.Tasks; 4 | using UnityEngine; 5 | using UnityEngine.Networking; 6 | 7 | namespace Rokoko.CommandAPI 8 | { 9 | /// 10 | /// This component provides access to Studio's Command API. 11 | /// 12 | public abstract class StudioCommandAPIBase : MonoBehaviour 13 | { 14 | [Tooltip("The api key as defined in Studio. Settings->Command API->API key")] 15 | public string apiKey; 16 | 17 | [Tooltip("The port number as defined in Studio. Settings->Command API->Listen port")] 18 | public int port; 19 | 20 | [Header("Log extra info")] 21 | public bool debug; 22 | 23 | protected abstract string IP { get; } 24 | 25 | 26 | [ContextMenu("Restart Smartsuit")] 27 | public async void RestartSmartsuit() 28 | => await SendRequest("Restart", GetRequestData().ToJson()); 29 | 30 | [ContextMenu("Start Recording")] 31 | public async void StartRecording() => 32 | await SendRequest("recording/start", new RequestData { }.ToJson()); 33 | 34 | [ContextMenu("Stop Recording")] 35 | public async void StopRecording() => 36 | await SendRequest("recording/stop", new RequestData { }.ToJson()); 37 | 38 | [ContextMenu("Calibrate all")] 39 | public async void CalibrateAll() => 40 | await SendRequest("calibrate", GetRequestData().ToJson()); 41 | 42 | [ContextMenu("Unicast")] 43 | public async void Unicast() => 44 | await SendRequest("unicast", GetRequestData().ToJson()); 45 | 46 | [ContextMenu("Broadcast")] 47 | public async void Broadcast() => 48 | await SendRequest("broadcast", GetRequestData().ToJson()); 49 | 50 | private Task SendRequest(string endpoint, string json) 51 | { 52 | var tcs = new TaskCompletionSource(); 53 | StartCoroutine(SendRequestEnum(endpoint, json, tcs)); 54 | return tcs.Task; 55 | } 56 | 57 | protected abstract RequestData GetRequestData(); 58 | 59 | private IEnumerator SendRequestEnum(string endpoint, string json, TaskCompletionSource task) 60 | { 61 | Dictionary postHeader = new Dictionary(); 62 | postHeader.Add("Content-Type", "application/json"); 63 | string url = $"http://{IP}:{port}/v1/{apiKey}/{endpoint}"; 64 | if (debug) 65 | { 66 | Debug.Log("Sending request: " + url, this.transform); 67 | Debug.Log("Sending data: " + json, this.transform); 68 | } 69 | 70 | // convert json string to byte 71 | byte[] formData = System.Text.Encoding.UTF8.GetBytes(json); 72 | UnityWebRequest request = new UnityWebRequest(url, UnityWebRequest.kHttpVerbPOST); 73 | UploadHandlerRaw uploadHandler = new UploadHandlerRaw(formData); 74 | request.uploadHandler = uploadHandler; 75 | request.downloadHandler = new DownloadHandlerBuffer(); 76 | request.SetRequestHeader("Content-Type", "application/json"); 77 | yield return request.SendWebRequest(); 78 | 79 | string body = request.downloadHandler.text; 80 | if (request.isNetworkError) 81 | { 82 | if (debug) 83 | Debug.LogWarning($"There was an error sending request: {request.error}\n{body}", this.transform); 84 | OnCommmandError(request.error); 85 | } 86 | else 87 | { 88 | if (debug) 89 | Debug.Log($"Response: {request.responseCode}: {body}", this.transform); 90 | OnCommmandResponse(JsonUtility.FromJson(body)); 91 | } 92 | task.SetResult(body); 93 | } 94 | 95 | protected virtual void OnCommmandResponse(ResponseMessage response) 96 | { 97 | 98 | } 99 | 100 | protected virtual void OnCommmandError(string error) 101 | { 102 | 103 | } 104 | } 105 | 106 | [System.Serializable] 107 | public class ResponseMessage 108 | { 109 | public string description; 110 | public string response_code; 111 | } 112 | } -------------------------------------------------------------------------------- /Assets/Rokoko/Scripts/Editor/FaceEditor.cs: -------------------------------------------------------------------------------- 1 | using Rokoko.Helper; 2 | using Rokoko.Inputs; 3 | using System.Collections; 4 | using System.Collections.Generic; 5 | using System.Text; 6 | using UnityEditor; 7 | using UnityEngine; 8 | 9 | namespace Rokoko.UnityEditor 10 | { 11 | [CustomEditor(typeof(Face))] 12 | [CanEditMultipleObjects] 13 | public class FaceEditor : TweakableEditor 14 | { 15 | private static int blendshapesCount; 16 | 17 | SerializedProperty blendshapeMappingProperty; 18 | SerializedProperty blendshapeCustomMapProperty; 19 | SerializedProperty meshRendererProperty; 20 | 21 | protected void OnEnable() 22 | { 23 | blendshapeMappingProperty = serializedObject.FindProperty("blendshapeMapping"); 24 | blendshapeCustomMapProperty = serializedObject.FindProperty("blendshapeCustomMap"); 25 | meshRendererProperty = serializedObject.FindProperty("meshRenderer"); 26 | blendshapesCount = (int)Core.BlendShapes.size; 27 | 28 | Face face = (Face)target; 29 | face.meshRenderer = face.GetComponentInChildren(); 30 | } 31 | 32 | // Stops showing the script field 33 | protected override string[] GetInvisibleInDefaultInspector() 34 | { 35 | return new[] { "m_Script" }; 36 | } 37 | 38 | public override void OnInspectorGUI() 39 | { 40 | Face face = (Face)target; 41 | serializedObject.Update(); 42 | 43 | Undo.RecordObject(face, "Undo Face Changes"); 44 | 45 | EditorGUILayout.HelpBox("Blendshape mapping is used to convert a Studio Face to any custom character blendshapes", MessageType.Info); 46 | EditorGUILayout.PropertyField(blendshapeMappingProperty); 47 | if (face.blendshapeMapping == Face.FaceMappingEnum.ARKit) 48 | { 49 | // Do nothing 50 | } 51 | else 52 | { 53 | EditorGUILayout.PropertyField(blendshapeCustomMapProperty); 54 | if (face.GetComponent() == null) 55 | { 56 | face.blendshapeCustomMap = Undo.AddComponent(face.gameObject, typeof(BlendShapesMapping)) as BlendShapesMapping; 57 | } 58 | } 59 | 60 | GUILayout.Space(10); 61 | 62 | EditorGUILayout.BeginHorizontal(); 63 | { 64 | EditorGUILayout.PropertyField(meshRendererProperty); 65 | if (GUILayout.Button("Find in Hierarchy")) 66 | { 67 | face.meshRenderer = face.GetComponentInChildren(); 68 | } 69 | } 70 | EditorGUILayout.EndHorizontal(); 71 | 72 | 73 | if (face.meshRenderer == null) 74 | { 75 | EditorGUILayout.HelpBox("You need to assign a valid SkinnedMeshRenderer", MessageType.Error); 76 | } 77 | else if (face.meshRenderer.sharedMesh.blendShapeCount == 0) 78 | { 79 | EditorGUILayout.HelpBox("Assigned SkinnedMeshRenderer doesn't have any blendshapes", MessageType.Warning); 80 | } 81 | else if (face.meshRenderer.sharedMesh.blendShapeCount > 0) 82 | { 83 | if (face.meshRenderer.sharedMesh.blendShapeCount < blendshapesCount) 84 | { 85 | StringBuilder message = new StringBuilder(); 86 | message.AppendLine($"Face supports {blendshapesCount} blendshapes, but found {face.meshRenderer.sharedMesh.blendShapeCount} on SkinnedMeshRenderer\n"); 87 | List missingBlendshapes = face.meshRenderer.sharedMesh.GetAllMissingBlendshapes(); 88 | message.AppendLine("Missing blendshapes:"); 89 | for (int i = 0; i < missingBlendshapes.Count; i++) 90 | { 91 | message.AppendLine(missingBlendshapes[i]); 92 | } 93 | EditorGUILayout.HelpBox(message.ToString(), MessageType.Warning); 94 | } 95 | else 96 | { 97 | EditorGUILayout.HelpBox($"Found {face.meshRenderer.sharedMesh.blendShapeCount} blendshapes on SkinnedMeshRenderer", MessageType.Info); 98 | } 99 | } 100 | 101 | serializedObject.ApplyModifiedProperties(); 102 | 103 | // Draw standard fields 104 | base.OnInspectorGUI(); 105 | } 106 | } 107 | } -------------------------------------------------------------------------------- /Assets/Rokoko/Art/Shaders/Rokoko_RoundTransparentGridFloor_Shader.shader: -------------------------------------------------------------------------------- 1 | Shader "Rokoko/RoundGridFloor" 2 | { 3 | Properties 4 | { 5 | [NoScaleOffset]_MainTexture("MainTexture", 2D) = "white" {} 6 | _Tiles("Tiles", Range( 0.2 , 4)) = 0.04 7 | _SubTiles("SubTiles", Int) = 4 8 | _Radius("Radius", Float) = 2 9 | _FadeDistance("FadeDistance", Float) = 2 10 | _MainColor("MainColor", Color) = (0.5849056,0.5849056,0.5849056,0) 11 | _GridColor("GridColor", Color) = (1,1,1,0) 12 | [HideInInspector] __dirty( "", Int ) = 1 13 | } 14 | 15 | SubShader 16 | { 17 | Tags{ "RenderType" = "Opaque" "Queue" = "Geometry+0" "IsEmissive" = "true" } 18 | Cull Back 19 | GrabPass{ } 20 | CGPROGRAM 21 | #include "UnityShaderVariables.cginc" 22 | #pragma target 3.0 23 | #pragma surface surf StandardSpecular keepalpha addshadow fullforwardshadows exclude_path:deferred 24 | struct Input 25 | { 26 | float3 worldPos; 27 | float4 screenPos; 28 | }; 29 | 30 | uniform float4 _MainColor; 31 | uniform float4 _GridColor; 32 | uniform sampler2D _MainTexture; 33 | uniform float _Tiles; 34 | uniform int _SubTiles; 35 | uniform float _FadeDistance; 36 | uniform float _Radius; 37 | uniform sampler2D _GrabTexture; 38 | 39 | 40 | float3 mod2D289( float3 x ) { return x - floor( x * ( 1.0 / 289.0 ) ) * 289.0; } 41 | 42 | float2 mod2D289( float2 x ) { return x - floor( x * ( 1.0 / 289.0 ) ) * 289.0; } 43 | 44 | float3 permute( float3 x ) { return mod2D289( ( ( x * 34.0 ) + 1.0 ) * x ); } 45 | 46 | float snoise( float2 v ) 47 | { 48 | const float4 C = float4( 0.211324865405187, 0.366025403784439, -0.577350269189626, 0.024390243902439 ); 49 | float2 i = floor( v + dot( v, C.yy ) ); 50 | float2 x0 = v - i + dot( i, C.xx ); 51 | float2 i1; 52 | i1 = ( x0.x > x0.y ) ? float2( 1.0, 0.0 ) : float2( 0.0, 1.0 ); 53 | float4 x12 = x0.xyxy + C.xxzz; 54 | x12.xy -= i1; 55 | i = mod2D289( i ); 56 | float3 p = permute( permute( i.y + float3( 0.0, i1.y, 1.0 ) ) + i.x + float3( 0.0, i1.x, 1.0 ) ); 57 | float3 m = max( 0.5 - float3( dot( x0, x0 ), dot( x12.xy, x12.xy ), dot( x12.zw, x12.zw ) ), 0.0 ); 58 | m = m * m; 59 | m = m * m; 60 | float3 x = 2.0 * frac( p * C.www ) - 1.0; 61 | float3 h = abs( x ) - 0.5; 62 | float3 ox = floor( x + 0.5 ); 63 | float3 a0 = x - ox; 64 | m *= 1.79284291400159 - 0.85373472095314 * ( a0 * a0 + h * h ); 65 | float3 g; 66 | g.x = a0.x * x0.x + h.x * x0.y; 67 | g.yz = a0.yz * x12.xz + h.yz * x12.yw; 68 | return 130.0 * dot( m, g ); 69 | } 70 | 71 | 72 | inline float4 ASE_ComputeGrabScreenPos( float4 pos ) 73 | { 74 | #if UNITY_UV_STARTS_AT_TOP 75 | float scale = -1.0; 76 | #else 77 | float scale = 1.0; 78 | #endif 79 | float4 o = pos; 80 | o.y = pos.w * 0.5f; 81 | o.y = ( pos.y - o.y ) * _ProjectionParams.x * scale + o.y; 82 | return o; 83 | } 84 | 85 | 86 | void surf( Input i , inout SurfaceOutputStandardSpecular o ) 87 | { 88 | float4 _black = float4(0,0,0,0); 89 | float3 ase_worldPos = i.worldPos; 90 | float4 transform127 = mul(unity_WorldToObject,float4( ase_worldPos , 0.0 )); 91 | float4 appendResult129 = (float4(transform127.x , transform127.z , 0.0 , 0.0)); 92 | float4 lerpResult114 = lerp( _MainColor , _GridColor , max( tex2D( _MainTexture, ( appendResult129 * _Tiles ).xy ).r , tex2D( _MainTexture, ( appendResult129 * _SubTiles * _Tiles ).xy ).r )); 93 | float4 ase_screenPos = float4( i.screenPos.xyz , i.screenPos.w + 0.00000000001 ); 94 | float4 ase_screenPosNorm = ase_screenPos / ase_screenPos.w; 95 | ase_screenPosNorm.z = ( UNITY_NEAR_CLIP_VALUE >= 0 ) ? ase_screenPosNorm.z : ase_screenPosNorm.z * 0.5 + 0.5; 96 | float simplePerlin2D148 = snoise( ( ase_screenPosNorm * 2048.0 ).xy ); 97 | float ScreenRandom152 = ( ( simplePerlin2D148 - 1.0 ) * 0.0008 ); 98 | float3 ase_vertex3Pos = mul( unity_WorldToObject, float4( i.worldPos , 1 ) ); 99 | float3 ase_objectScale = float3( length( unity_ObjectToWorld[ 0 ].xyz ), length( unity_ObjectToWorld[ 1 ].xyz ), length( unity_ObjectToWorld[ 2 ].xyz ) ); 100 | float clampResult126 = clamp( ( (0.0 + (length( ( ase_vertex3Pos * ase_objectScale ) ) - ( _FadeDistance + _Radius )) * (1.0 - 0.0) / (_Radius - ( _FadeDistance + _Radius ))) + ( ScreenRandom152 * 32.0 ) ) , 0.0 , 1.0 ); 101 | float Mask84 = clampResult126; 102 | float4 lerpResult86 = lerp( _black , ( lerpResult114 + ScreenRandom152 ) , Mask84); 103 | o.Albedo = lerpResult86.rgb; 104 | float4 ase_grabScreenPos = ASE_ComputeGrabScreenPos( ase_screenPos ); 105 | float4 screenColor106 = tex2Dproj( _GrabTexture, UNITY_PROJ_COORD( ase_grabScreenPos ) ); 106 | float4 lerpResult107 = lerp( screenColor106 , _black , Mask84); 107 | o.Emission = lerpResult107.rgb; 108 | o.Occlusion = Mask84; 109 | o.Alpha = 1; 110 | } 111 | 112 | ENDCG 113 | } 114 | Fallback "Diffuse" 115 | } -------------------------------------------------------------------------------- /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: 4 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 | particleRaycastBudget: 4 33 | asyncUploadTimeSlice: 2 34 | asyncUploadBufferSize: 16 35 | resolutionScalingFixedDPIFactor: 1 36 | excludedTargetPlatforms: [] 37 | - serializedVersion: 2 38 | name: Low 39 | pixelLightCount: 0 40 | shadows: 0 41 | shadowResolution: 0 42 | shadowProjection: 1 43 | shadowCascades: 1 44 | shadowDistance: 20 45 | shadowNearPlaneOffset: 3 46 | shadowCascade2Split: 0.33333334 47 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} 48 | shadowmaskMode: 0 49 | blendWeights: 2 50 | textureQuality: 0 51 | anisotropicTextures: 0 52 | antiAliasing: 0 53 | softParticles: 0 54 | softVegetation: 0 55 | realtimeReflectionProbes: 0 56 | billboardsFaceCameraPosition: 0 57 | vSyncCount: 0 58 | lodBias: 0.4 59 | maximumLODLevel: 0 60 | particleRaycastBudget: 16 61 | asyncUploadTimeSlice: 2 62 | asyncUploadBufferSize: 16 63 | resolutionScalingFixedDPIFactor: 1 64 | excludedTargetPlatforms: [] 65 | - serializedVersion: 2 66 | name: Medium 67 | pixelLightCount: 1 68 | shadows: 1 69 | shadowResolution: 0 70 | shadowProjection: 1 71 | shadowCascades: 1 72 | shadowDistance: 20 73 | shadowNearPlaneOffset: 3 74 | shadowCascade2Split: 0.33333334 75 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} 76 | shadowmaskMode: 0 77 | blendWeights: 2 78 | textureQuality: 0 79 | anisotropicTextures: 1 80 | antiAliasing: 0 81 | softParticles: 0 82 | softVegetation: 0 83 | realtimeReflectionProbes: 0 84 | billboardsFaceCameraPosition: 0 85 | vSyncCount: 1 86 | lodBias: 0.7 87 | maximumLODLevel: 0 88 | particleRaycastBudget: 64 89 | asyncUploadTimeSlice: 2 90 | asyncUploadBufferSize: 16 91 | resolutionScalingFixedDPIFactor: 1 92 | excludedTargetPlatforms: [] 93 | - serializedVersion: 2 94 | name: High 95 | pixelLightCount: 2 96 | shadows: 2 97 | shadowResolution: 1 98 | shadowProjection: 1 99 | shadowCascades: 2 100 | shadowDistance: 40 101 | shadowNearPlaneOffset: 3 102 | shadowCascade2Split: 0.33333334 103 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} 104 | shadowmaskMode: 1 105 | blendWeights: 2 106 | textureQuality: 0 107 | anisotropicTextures: 1 108 | antiAliasing: 2 109 | softParticles: 0 110 | softVegetation: 1 111 | realtimeReflectionProbes: 1 112 | billboardsFaceCameraPosition: 1 113 | vSyncCount: 1 114 | lodBias: 1 115 | maximumLODLevel: 0 116 | particleRaycastBudget: 256 117 | asyncUploadTimeSlice: 2 118 | asyncUploadBufferSize: 16 119 | resolutionScalingFixedDPIFactor: 1 120 | excludedTargetPlatforms: [] 121 | - serializedVersion: 2 122 | name: Very High 123 | pixelLightCount: 3 124 | shadows: 2 125 | shadowResolution: 2 126 | shadowProjection: 1 127 | shadowCascades: 2 128 | shadowDistance: 40 129 | shadowNearPlaneOffset: 3 130 | shadowCascade2Split: 0.33333334 131 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} 132 | shadowmaskMode: 1 133 | blendWeights: 4 134 | textureQuality: 0 135 | anisotropicTextures: 1 136 | antiAliasing: 4 137 | softParticles: 1 138 | softVegetation: 1 139 | realtimeReflectionProbes: 1 140 | billboardsFaceCameraPosition: 1 141 | vSyncCount: 1 142 | lodBias: 1.5 143 | maximumLODLevel: 0 144 | particleRaycastBudget: 1024 145 | asyncUploadTimeSlice: 2 146 | asyncUploadBufferSize: 16 147 | resolutionScalingFixedDPIFactor: 1 148 | excludedTargetPlatforms: [] 149 | - serializedVersion: 2 150 | name: Ultra 151 | pixelLightCount: 4 152 | shadows: 2 153 | shadowResolution: 2 154 | shadowProjection: 1 155 | shadowCascades: 4 156 | shadowDistance: 150 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: 1 164 | antiAliasing: 4 165 | softParticles: 1 166 | softVegetation: 1 167 | realtimeReflectionProbes: 1 168 | billboardsFaceCameraPosition: 1 169 | vSyncCount: 1 170 | lodBias: 2 171 | maximumLODLevel: 0 172 | particleRaycastBudget: 4096 173 | asyncUploadTimeSlice: 2 174 | asyncUploadBufferSize: 16 175 | resolutionScalingFixedDPIFactor: 1 176 | excludedTargetPlatforms: [] 177 | m_PerPlatformDefaultQuality: 178 | Android: 2 179 | Nintendo 3DS: 5 180 | Nintendo Switch: 5 181 | PS4: 5 182 | PSP2: 2 183 | Standalone: 5 184 | Tizen: 2 185 | WebGL: 3 186 | WiiU: 5 187 | Windows Store Apps: 5 188 | XboxOne: 5 189 | iPhone: 2 190 | tvOS: 2 191 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |

Rokoko Studio Live Plugin for Unity

2 | 3 | [Rokoko Studio](https://www.rokoko.com/en/products/studio) is a powerful and intuitive software for recording, visualizing and exporting motion capture. 4 | 5 | This plugin let's you stream animation data from Rokoko Studio into Unity to preview and work with all your motion capture data easily and intuitively. 6 | 7 | --- 8 | 9 | ## Requirements 10 | The minimum officially supported version of Unity is 2018.4.x LTS. Although it hasn't been tested for earlier versions, we except that all core scripts should work as we use pure C#, but not the UI functionallity. 11 | 12 | ## Features 13 | - Live stream data: 14 | * Up to five actors that 15 | * Can all include body, face (52 blendshapes) and finger data at the same time. 16 | - Control Rokoko Studio from within Unity 17 | 18 | --- 19 | 20 | # Getting Started 21 | 22 | ### Package includes 2 demo scenes 23 | 24 | 1. RokokoPluginExampleScene is a very basic setup that re-creates the Rokoko Studio data with default actors and props. Ideal for testing out the plugin. 25 | 2. RokokoPluginExampleScene_CustomActors is an extended demo that demonstrates the usage of custom actors and props. Please expand *CustomInputs* game object in hierarchy to see various different examples. 26 | 27 | ### Top level scripts and settings 28 | 29 | #### 1. StudioManager 30 | StudioManager script is responsible for listening and populating the scene with actors and props from the incoming Rokoko Studio data. 31 | 32 | * __Receive Port__ - This is the listening port for Rokoko Studio data. It should match the selected port of the Live Stream option inside Rokoko Studio. 14043 is by default. 33 | * __Actor and Prop Prefab__ - These two fields are __optional__ and used to auto-generate Actors and Props when no overrides found. 34 | * __UI Manager__ - This is an __optional__ field for showing in UI all the available inputs coming from Rokoko Studio live data. 35 | * __Actor and Prop Overrides__ - These fields are auto-generated based on the Actor and Prop overrides found in scene. This is a read only field to check the overrides during runtime 36 | * __AutoGenerateInputsWhenNoOverridesFound__ - You can toggle on/off whether the StudioManager should auto-generate Actors and Props when no overrides founds. 37 | * __ShowDefaultActorWhenNoData__ - This shows the default Actor Prefab in T Pose when no Rokoko Studio data is availble. 38 | 39 | #### 2. CommandAPI 40 | CommandAPI script is responsible for communicating remote commands to Rokoko Studio such as StartRecording, StopRecording, Calibrate Smartsuit etc. 41 | * __API Key__ - This key must match the API Key in Rokoko Studio *(Menu->Settings->CommandAPI->API Key)*. 42 | * __Port__ - This is the send port for communicating commands and should match the port in Rokoko Studio *(Menu->Settings->CommandAPI->Listen Port)*. 43 | * __Response Text__ - This is an __optional__ field for showing the command status. 44 | * __IP Address__ - This is the local IP of Rokoko Studio. If it's on the same machine, leave it as 127.0.0.1. Alternatively you can assign it to a different local network address. 45 | 46 | ### Overriding Actors and Props with custom assets 47 | #### 1. Actor 48 | You can import any custom character in Unity and use it as an Actor. Simply add your character into your scene and add __*Actor*__ component on it. 49 | 50 | __Important Notice: Any custom character/actor must be in a T Pose, so we can retarget it properly from Smartsuit.__ 51 | * __Profile Name__ - Update this field with the profile name of Rokoko Studio to override this actor with your custom one. 52 | * __Bone Mapping__ 53 | * * __Animator__ - If your character is in the stardard Humanoid format you have to mark it as __*Humanoid*__ in the __*Animation Type*__ under the __*Rig*__ tab in Unity's inspector. 54 | * * __Custom__ - By selecting this option a new script __*HumanBoneMapping*__ is automatically added and assigned in the __*GameObject*__. From there you may assign any custom hierarchy to be driven by the Actor's data. 55 | * __Face__ - Assign any __*Face*__ for the given __*Actor*__. Hit __Create__ to create a new _*Face*_ component for the given model. 56 | 57 | #### 2. Face 58 | Face does not override a profile directly. Instead it's controlled by an __*Actor*__ 59 | * __Blendshape Mapping__ 60 | * * __ARKit__ - Use this type if your face model is rigged according to Apple's [ARKit Blendshapes](./Assets/Rokoko/Scripts/Core/ARKitBlendshapes.cs) 61 | * * __Custom__ - By selecting this option a new script __*BlendshapesMapping*__ is automatically added and assigned in the __*GameObject*__. From there you may assign any custom blendshape names to be driven by the Face's data. 62 | * * > __Note:__ You can see your model's existing blendshapes by expanding the *Blendshapes* menu inside the __*SkinnedMeshRenderer*__ of your face model. 63 | * __MeshRenderer__ - Here you assign your face model's __*SkinnedMeshRenderer*__. Hit __Find in Hierarchy__ to auto find the mesh in model's hierarchy. 64 | * * > __Note:__ Below __*SkinnedMeshRenderer*__ you can see your model's blendshapes total count, as well as if there are any missing ones and which are they. 65 | 66 | #### 3. Prop 67 | You may add any kind of 3D object in the scene and add the __*Prop*__ script on it. 68 | * __Prop Name__ - Update this field with the prop name of Rokoko Studio to override this prop with your custom one. 69 | * __MeshRenderer__ - Here you assign your face model's __*SkinnedMeshRenderer*__ 70 | 71 | --- 72 | 73 | # FAQ 74 | 75 | ##### 1. Incoming data are in bad format. Please ensure you are using JSON v3 as forward data format 76 | Make sure you are using Rokoko Studio 1.8 and above and you have selected Unity as the live forward option. Alternatively you can use custom forward data, go to its settings, expand the details dropdown and select JSON v3 as the Data Format. 77 | 78 | ##### 2. Seem like port: xxxxx is already in use. Is plugin running already in other application? 79 | Make sure that the plugin is not already running in another instance, or the selected binding port is not used by another application. 80 | 81 | ##### 3. My character has wrong joint rotations 82 | Make sure that your character is in T Pose. Please refer to __Actor__ section. 83 | 84 | --- 85 | 86 | # Licence 87 | [GNU Lesser General Public License v3.0](./LICENSE.md) 88 | -------------------------------------------------------------------------------- /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 | --------------------------------------------------------------------------------