From 18d3077cc400a4adc1bce597757d28c0be346ec1 Mon Sep 17 00:00:00 2001 From: "DESKTOP-VVOCIJO\\PC" Date: Mon, 27 Apr 2026 17:47:44 +0900 Subject: [PATCH] =?UTF-8?q?2026-04-27=20BGM=20=EB=B0=8F=20=EC=9D=B4?= =?UTF-8?q?=EC=8A=A4=ED=84=B0=EC=97=90=EA=B7=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/01_Scenes/MyProject/GameScene.unity | 4 +- Assets/Plugins.meta | 8 + Assets/Plugins/Tiny Giant Studio.meta | 8 + .../Tiny Giant Studio/Common Scripts.meta | 8 + .../Common Scripts/Editor.meta | 8 + .../Editor/MText_Editor_Classes.cs | 13 + .../Editor/MText_Editor_Classes.cs.meta | 18 + .../Editor/MText_Editor_Methods.cs | 169 ++ .../Editor/MText_Editor_Methods.cs.meta | 18 + Assets/Plugins/Tiny Giant Studio/Common.meta | 8 + .../Tiny Giant Studio/Common/Artworks.meta | 8 + .../Common/Artworks/DarkModeIcon.png | 3 + .../Common/Artworks/DarkModeIcon.png.meta | 130 ++ .../Common/Artworks/DarkModeIconBG.png | 3 + .../Common/Artworks/DarkModeIconBG.png.meta | 130 ++ .../Common/Artworks/FacebookIcon.png | 3 + .../Common/Artworks/FacebookIcon.png.meta | 130 ++ .../Common/Artworks/Information.png | 3 + .../Common/Artworks/Information.png.meta | 130 ++ .../Common/Artworks/LightModeIcon.png | 3 + .../Common/Artworks/LightModeIcon.png.meta | 130 ++ .../Common/Artworks/LightModeIcon2.png | 3 + .../Common/Artworks/LightModeIcon2.png.meta | 130 ++ .../Common/Artworks/LightModeIconBG.png | 3 + .../Common/Artworks/LightModeIconBG.png.meta | 130 ++ .../Common/Artworks/RedditIcon.png | 3 + .../Common/Artworks/RedditIcon.png.meta | 130 ++ .../Common/Artworks/TGSIcon.png | 3 + .../Common/Artworks/TGSIcon.png.meta | 130 ++ .../Tiny Giant Studio/Common/Fonts.meta | 8 + .../Common/Fonts/Montserrat-Bold SDF.asset | 3 + .../Fonts/Montserrat-Bold SDF.asset.meta | 15 + .../Common/Fonts/Montserrat-Bold.ttf | 3 + .../Common/Fonts/Montserrat-Bold.ttf.meta | 29 + .../Common/Fonts/Montserrat-Regular SDF.asset | 3 + .../Fonts/Montserrat-Regular SDF.asset.meta | 15 + .../Common/Fonts/Montserrat-Regular.ttf | 3 + .../Common/Fonts/Montserrat-Regular.ttf.meta | 28 + .../Fonts/Montserrat-SemiBold SDF.asset | 3 + .../Fonts/Montserrat-SemiBold SDF.asset.meta | 15 + .../Common/Fonts/Montserrat-SemiBold.ttf | 3 + .../Common/Fonts/Montserrat-SemiBold.ttf.meta | 30 + .../Tiny Giant Studio/Modular 3D Layouts.meta | 8 + .../Animated Element Updater.asset | 3 + .../Animated Element Updater.asset.meta | 16 + .../Modular 3D Layouts/Scripts.meta | 8 + .../Modular 3D Layouts/Scripts/Editor.meta | 8 + .../Editor/CircularLayoutGroupEditor.cs | 169 ++ .../Editor/CircularLayoutGroupEditor.cs.meta | 18 + .../Scripts/Editor/GridLayoutGroupEditor.cs | 547 +++++ .../Editor/GridLayoutGroupEditor.cs.meta | 18 + .../Scripts/Editor/LayoutElementEditor.cs | 109 + .../Editor/LayoutElementEditor.cs.meta | 18 + .../Scripts/Editor/LayoutsMenuItem.cs | 62 + .../Scripts/Editor/LayoutsMenuItem.cs.meta | 18 + .../Scripts/Editor/LinearLayoutGroupEditor.cs | 332 +++ .../Editor/LinearLayoutGroupEditor.cs.meta | 18 + .../Scripts/Editor/VolumeLayoutGroupEditor.cs | 589 ++++++ .../Editor/VolumeLayoutGroupEditor.cs.meta | 18 + .../Scripts/ElementUpdaters.meta | 8 + .../ElementUpdaters/AnimatedElementUpdater.cs | 99 + .../AnimatedElementUpdater.cs.meta | 18 + .../BaseLayoutElementUpdater.cs | 52 + .../BaseLayoutElementUpdater.cs.meta | 18 + .../ElementUpdaters/LayoutElementAnimator.cs | 105 + .../LayoutElementAnimator.cs.meta | 18 + .../ElementUpdaters/LayoutElementModule.cs | 15 + .../LayoutElementModule.cs.meta | 18 + .../LayoutElementModuleContainer.cs | 12 + .../LayoutElementModuleContainer.cs.meta | 18 + .../LayoutElementNavmeshController.cs | 98 + .../LayoutElementNavmeshController.cs.meta | 18 + .../LayoutElementPhysicsController.cs | 100 + .../LayoutElementPhysicsController.cs.meta | 18 + .../ElementUpdaters/NavMeshElementUpdater.cs | 103 + .../NavMeshElementUpdater.cs.meta | 18 + .../ElementUpdaters/PhysicsElementUpdater.cs | 103 + .../PhysicsElementUpdater.cs.meta | 18 + .../Scripts/Layout Types.meta | 8 + .../Layout Types/CircularLayoutGroup.cs | 259 +++ .../Layout Types/CircularLayoutGroup.cs.meta | 18 + .../Scripts/Layout Types/GridLayoutGroup.cs | 1445 +++++++++++++ .../Layout Types/GridLayoutGroup.cs.meta | 18 + .../Scripts/Layout Types/LinearLayoutGroup.cs | 788 ++++++++ .../Layout Types/LinearLayoutGroup.cs.meta | 18 + .../Scripts/Layout Types/VolumeLayoutGroup.cs | 1296 ++++++++++++ .../Layout Types/VolumeLayoutGroup.cs.meta | 18 + .../Scripts/LayoutElement.cs | 55 + .../Scripts/LayoutElement.cs.meta | 18 + .../Modular 3D Layouts/Scripts/LayoutGroup.cs | 227 +++ .../Scripts/LayoutGroup.cs.meta | 18 + .../Scripts/MeshBaseSize.cs | 195 ++ .../Scripts/MeshBaseSize.cs.meta | 18 + .../Modular 3D Layouts/Scripts/MeshLayout.cs | 37 + .../Scripts/MeshLayout.cs.meta | 18 + .../Modular 3D Layouts/Scripts/Overflow.cs | 8 + .../Scripts/Overflow.cs.meta | 18 + .../Modular 3D Layouts/Utility.meta | 8 + .../Utility/Editor Icons.meta | 8 + .../Utility/Editor Icons/Icon_Left.png | 3 + .../Utility/Editor Icons/Icon_Left.png.meta | 116 ++ .../Utility/Editor Icons/Icon_Right.png | 3 + .../Utility/Editor Icons/Icon_Right.png.meta | 116 ++ .../Editor Icons/Justice Horizontal.png | 3 + .../Editor Icons/Justice Horizontal.png.meta | 136 ++ .../Utility/Editor Icons/Justice Vertical.png | 3 + .../Editor Icons/Justice Vertical.png.meta | 136 ++ .../Utility/Editor Icons/Layout Group.png | 3 + .../Editor Icons/Layout Group.png.meta | 143 ++ .../Tiny Giant Studio/Modular 3D Text.meta | 8 + .../3D Text UI Controls.inputactions | 603 ++++++ .../3D Text UI Controls.inputactions.meta | 21 + .../Modular 3D Text/Artworks.meta | 8 + .../Artworks/TGS_BackgroundGradient.png | 3 + .../Artworks/TGS_BackgroundGradient.png.meta | 130 ++ .../Modular 3D Text/Fonts.meta | 8 + .../Fonts/Amarante Regular.asset | 3 + .../Fonts/Amarante Regular.asset.meta | 15 + .../Fonts/Amatic SC Bold.asset | 3 + .../Fonts/Amatic SC Bold.asset.meta | 15 + .../Fonts/Amatic SC Regular.asset | 3 + .../Fonts/Amatic SC Regular.asset.meta | 15 + .../Fonts/Audiowide Regular.asset | 3 + .../Fonts/Audiowide Regular.asset.meta | 15 + .../Fonts/Bahianita Regular.asset | 3 + .../Fonts/Bahianita Regular.asset.meta | 15 + .../Modular 3D Text/Fonts/Bangers.asset | 3 + .../Modular 3D Text/Fonts/Bangers.asset.meta | 15 + .../Fonts/Barrio Regular.asset | 3 + .../Fonts/Barrio Regular.asset.meta | 15 + .../Fonts/Berkshire Swash Regular.asset | 3 + .../Fonts/Berkshire Swash Regular.asset.meta | 16 + .../Fonts/Bigelow Rules Regular.asset | 3 + .../Fonts/Bigelow Rules Regular.asset.meta | 16 + .../Fonts/Blackout Midnight.asset | 3 + .../Fonts/Blackout Midnight.asset.meta | 15 + .../Fonts/Blackout Sunrise.asset | 3 + .../Fonts/Blackout Sunrise.asset.meta | 15 + .../Fonts/Bungee Hairline.asset | 3 + .../Fonts/Bungee Hairline.asset.meta | 15 + .../Modular 3D Text/Fonts/Bungee Inline.asset | 3 + .../Fonts/Bungee Inline.asset.meta | 15 + .../Fonts/Bungee Outline.asset | 3 + .../Fonts/Bungee Outline.asset.meta | 15 + .../Modular 3D Text/Fonts/Bungee.asset | 3 + .../Modular 3D Text/Fonts/Bungee.asset.meta | 15 + .../Fonts/Codystar Light.asset | 3 + .../Fonts/Codystar Light.asset.meta | 15 + .../Modular 3D Text/Fonts/Codystar.asset | 3 + .../Modular 3D Text/Fonts/Codystar.asset.meta | 15 + .../Modular 3D Text/Fonts/Creepster.asset | 3 + .../Fonts/Creepster.asset.meta | 15 + .../Modular 3D Text/Fonts/Englebert.asset | 3 + .../Fonts/Englebert.asset.meta | 15 + .../Fonts/Fanwood Text Italic.asset | 3 + .../Fonts/Fanwood Text Italic.asset.meta | 16 + .../Modular 3D Text/Fonts/Fanwood Text.asset | 3 + .../Fonts/Fanwood Text.asset.meta | 15 + .../Modular 3D Text/Fonts/Faster One.asset | 3 + .../Fonts/Faster One.asset.meta | 15 + .../Fonts/Flavors Regular.asset | 3 + .../Fonts/Flavors Regular.asset.meta | 15 + .../Fonts/Fondamento Regular.asset | 3 + .../Fonts/Fondamento Regular.asset.meta | 15 + .../Fonts/Fondamento-Italic.asset | 3 + .../Fonts/Fondamento-Italic.asset.meta | 15 + .../Modular 3D Text/Fonts/Freckle Face.asset | 3 + .../Fonts/Freckle Face.asset.meta | 15 + .../Modular 3D Text/Fonts/Frijole.asset | 3 + .../Modular 3D Text/Fonts/Frijole.asset.meta | 15 + .../Modular 3D Text/Fonts/Germania One.asset | 3 + .../Fonts/Germania One.asset.meta | 15 + .../Fonts/Goudy Bookletter 1911.asset | 3 + .../Fonts/Goudy Bookletter 1911.asset.meta | 16 + .../Modular 3D Text/Fonts/Indie Flower.asset | 3 + .../Fonts/Indie Flower.asset.meta | 15 + ...ague Gothic Condensed Italic Regular.asset | 3 + ...Gothic Condensed Italic Regular.asset.meta | 16 + .../League Gothic Condensed Regular.asset | 3 + ...League Gothic Condensed Regular.asset.meta | 16 + .../Fonts/League Gothic Italic Regular.asset | 3 + .../League Gothic Italic Regular.asset.meta | 16 + .../Fonts/League Gothic Regular.asset | 3 + .../Fonts/League Gothic Regular.asset.meta | 16 + .../League Gothic SemiCondensed Regular.asset | 3 + ...ue Gothic SemiCondensed Regular.asset.meta | 16 + .../Fonts/League Mono Bold.asset | 3 + .../Fonts/League Mono Bold.asset.meta | 15 + .../Fonts/League Mono Condensed Bold.asset | 3 + .../League Mono Condensed Bold.asset.meta | 16 + .../Fonts/League Mono Condensed.asset | 3 + .../Fonts/League Mono Condensed.asset.meta | 15 + .../Fonts/League Mono Regular.asset | 3 + .../Fonts/League Mono Regular.asset.meta | 15 + .../Fonts/League Spartan Regular.asset | 3 + .../Fonts/League Spartan Regular.asset.meta | 16 + .../Fonts/Linden Hill Regular.asset | 3 + .../Fonts/Linden Hill Regular.asset.meta | 15 + .../Fonts/Lobster Regular.asset | 3 + .../Fonts/Lobster Regular.asset.meta | 15 + .../Modular 3D Text/Fonts/Marcellus.asset | 3 + .../Fonts/Marcellus.asset.meta | 15 + .../Modular 3D Text/Fonts/McLaren.asset | 3 + .../Modular 3D Text/Fonts/McLaren.asset.meta | 15 + .../Modular 3D Text/Fonts/Medula One.asset | 3 + .../Fonts/Medula One.asset.meta | 15 + .../Modular 3D Text/Fonts/Models.meta | 8 + .../Fonts/Models/Amarante Regular.obj | 3 + .../Fonts/Models/Amarante Regular.obj.meta | 111 + .../Fonts/Models/Amatic SC Bold.obj | 3 + .../Fonts/Models/Amatic SC Bold.obj.meta | 105 + .../Fonts/Models/Amatic SC Regular.obj | 3 + .../Fonts/Models/Amatic SC Regular.obj.meta | 105 + .../Fonts/Models/Audiowide Regular.obj | 3 + .../Fonts/Models/Audiowide Regular.obj.meta | 105 + .../Fonts/Models/Bahianita Regular.obj | 3 + .../Fonts/Models/Bahianita Regular.obj.meta | 105 + .../Modular 3D Text/Fonts/Models/Bangers.obj | 3 + .../Fonts/Models/Bangers.obj.meta | 104 + .../Fonts/Models/Barrio Regular.obj | 3 + .../Fonts/Models/Barrio Regular.obj.meta | 105 + .../Fonts/Models/Berkshire Swash Regular.obj | 3 + .../Models/Berkshire Swash Regular.obj.meta | 105 + .../Fonts/Models/Bigelow Rules Regular.obj | 3 + .../Models/Bigelow Rules Regular.obj.meta | 105 + .../Fonts/Models/Blackout Midnight.obj | 3 + .../Fonts/Models/Blackout Midnight.obj.meta | 105 + .../Fonts/Models/Blackout Sunrise.obj | 3 + .../Fonts/Models/Blackout Sunrise.obj.meta | 105 + .../Fonts/Models/Bungee Hairline.obj | 3 + .../Fonts/Models/Bungee Hairline.obj.meta | 105 + .../Fonts/Models/Bungee Inline.obj | 3 + .../Fonts/Models/Bungee Inline.obj.meta | 105 + .../Fonts/Models/Bungee Outline.obj | 3 + .../Fonts/Models/Bungee Outline.obj.meta | 105 + .../Modular 3D Text/Fonts/Models/Bungee.obj | 3 + .../Fonts/Models/Bungee.obj.meta | 104 + .../Fonts/Models/Codystar Light.obj | 3 + .../Fonts/Models/Codystar Light.obj.meta | 105 + .../Modular 3D Text/Fonts/Models/Codystar.obj | 3 + .../Fonts/Models/Codystar.obj.meta | 104 + .../Fonts/Models/Creepster.obj | 3 + .../Fonts/Models/Creepster.obj.meta | 104 + .../Fonts/Models/Englebert.obj | 3 + .../Fonts/Models/Englebert.obj.meta | 110 + .../Fonts/Models/Fanwood Text Italic.obj | 3 + .../Fonts/Models/Fanwood Text Italic.obj.meta | 105 + .../Fonts/Models/Fanwood Text.obj | 3 + .../Fonts/Models/Fanwood Text.obj.meta | 105 + .../Fonts/Models/Faster One.obj | 3 + .../Fonts/Models/Faster One.obj.meta | 105 + .../Fonts/Models/Flavors Regular.obj | 3 + .../Fonts/Models/Flavors Regular.obj.meta | 105 + .../Fonts/Models/Fondamento Regular.obj | 3 + .../Fonts/Models/Fondamento Regular.obj.meta | 105 + .../Fonts/Models/Fondamento-Italic.obj | 3 + .../Fonts/Models/Fondamento-Italic.obj.meta | 104 + .../Fonts/Models/Freckle Face.obj | 3 + .../Fonts/Models/Freckle Face.obj.meta | 105 + .../Modular 3D Text/Fonts/Models/Frijole.obj | 3 + .../Fonts/Models/Frijole.obj.meta | 104 + .../Fonts/Models/Germania One.obj | 3 + .../Fonts/Models/Germania One.obj.meta | 105 + .../Fonts/Models/Goudy Bookletter 1911.obj | 3 + .../Models/Goudy Bookletter 1911.obj.meta | 105 + .../Fonts/Models/Indie Flower.obj | 3 + .../Fonts/Models/Indie Flower.obj.meta | 105 + ...League Gothic Condensed Italic Regular.obj | 3 + ...e Gothic Condensed Italic Regular.obj.meta | 105 + .../League Gothic Condensed Regular.obj | 3 + .../League Gothic Condensed Regular.obj.meta | 105 + .../Models/League Gothic Italic Regular.obj | 3 + .../League Gothic Italic Regular.obj.meta | 105 + .../Fonts/Models/League Gothic Regular.obj | 3 + .../Models/League Gothic Regular.obj.meta | 105 + .../League Gothic SemiCondensed Regular.obj | 3 + ...ague Gothic SemiCondensed Regular.obj.meta | 105 + .../Fonts/Models/League Mono Bold.obj | 3 + .../Fonts/Models/League Mono Bold.obj.meta | 105 + .../Models/League Mono Condensed Bold.obj | 3 + .../League Mono Condensed Bold.obj.meta | 105 + .../Fonts/Models/League Mono Condensed.obj | 3 + .../Models/League Mono Condensed.obj.meta | 105 + .../Fonts/Models/League Mono Regular.obj | 3 + .../Fonts/Models/League Mono Regular.obj.meta | 105 + .../Fonts/Models/League Spartan Regular.obj | 3 + .../Models/League Spartan Regular.obj.meta | 105 + .../Fonts/Models/Linden Hill Regular.obj | 3 + .../Fonts/Models/Linden Hill Regular.obj.meta | 105 + .../Fonts/Models/Lobster Regular.obj | 3 + .../Fonts/Models/Lobster Regular.obj.meta | 105 + .../Fonts/Models/Marcellus.obj | 3 + .../Fonts/Models/Marcellus.obj.meta | 104 + .../Modular 3D Text/Fonts/Models/McLaren.obj | 3 + .../Fonts/Models/McLaren.obj.meta | 104 + .../Fonts/Models/Medula One.obj | 3 + .../Fonts/Models/Medula One.obj.meta | 105 + .../Modular 3D Text/Fonts/Models/Monoton.obj | 3 + .../Fonts/Models/Monoton.obj.meta | 104 + .../Fonts/Models/Mouse Memoirs.obj | 3 + .../Fonts/Models/Mouse Memoirs.obj.meta | 105 + .../Fonts/Models/Mystery Quest.obj | 3 + .../Fonts/Models/Mystery Quest.obj.meta | 105 + .../Fonts/Models/Nanum Brush Script.obj | 3 + .../Fonts/Models/Nanum Brush Script.obj.meta | 105 + .../Modular 3D Text/Fonts/Models/Nosifer.obj | 3 + .../Fonts/Models/Nosifer.obj.meta | 104 + .../Modular 3D Text/Fonts/Models/Nova Cut.obj | 3 + .../Fonts/Models/Nova Cut.obj.meta | 104 + .../Fonts/Models/Orbitron-Black.obj | 3 + .../Fonts/Models/Orbitron-Black.obj.meta | 104 + .../Fonts/Models/Orbitron-Bold.obj | 3 + .../Fonts/Models/Orbitron-Bold.obj.meta | 104 + .../Fonts/Models/Orbitron-Light.obj | 3 + .../Fonts/Models/Orbitron-Light.obj.meta | 104 + .../Fonts/Models/Oregano Italic.obj | 3 + .../Fonts/Models/Oregano Italic.obj.meta | 105 + .../Modular 3D Text/Fonts/Models/Oregano.obj | 3 + .../Fonts/Models/Oregano.obj.meta | 104 + .../Fonts/Models/Original Surfer.obj | 3 + .../Fonts/Models/Original Surfer.obj.meta | 105 + .../Modular 3D Text/Fonts/Models/Peralta.obj | 3 + .../Fonts/Models/Peralta.obj.meta | 104 + .../Fonts/Models/Permanent Marker Regular.obj | 3 + .../Models/Permanent Marker Regular.obj.meta | 105 + .../Modular 3D Text/Fonts/Models/Playball.obj | 3 + .../Fonts/Models/Playball.obj.meta | 104 + .../Fonts/Models/Press Start 2P Regular.obj | 3 + .../Models/Press Start 2P Regular.obj.meta | 105 + .../Fonts/Models/Prociono Regular.obj | 3 + .../Fonts/Models/Prociono Regular.obj.meta | 105 + .../Modular 3D Text/Fonts/Models/Raleway.obj | 3 + .../Fonts/Models/Raleway.obj.meta | 104 + .../Fonts/Models/Reggae One Regular.obj | 3 + .../Fonts/Models/Reggae One Regular.obj.meta | 105 + .../Fonts/Models/Ribeye Marrow.obj | 3 + .../Fonts/Models/Ribeye Marrow.obj.meta | 105 + .../Fonts/Models/Righteous.obj | 3 + .../Fonts/Models/Righteous.obj.meta | 104 + .../Fonts/Models/Rounded Mplus 1c Bold.obj | 3 + .../Models/Rounded Mplus 1c Bold.obj.meta | 105 + .../Models/Rounded Mplus 1c ExtraBold.obj | 3 + .../Rounded Mplus 1c ExtraBold.obj.meta | 105 + .../Fonts/Models/Rounded Mplus 1c Light.obj | 3 + .../Models/Rounded Mplus 1c Light.obj.meta | 105 + .../Fonts/Models/Rounded Mplus 1c.obj | 3 + .../Fonts/Models/Rounded Mplus 1c.obj.meta | 105 + .../Fonts/Models/Rum Raisin.obj | 3 + .../Fonts/Models/Rum Raisin.obj.meta | 104 + .../Models/Sedgwick Ave Display Regular.obj | 3 + .../Sedgwick Ave Display Regular.obj.meta | 105 + .../Fonts/Models/Sedgwick Ave Regular.obj | 3 + .../Models/Sedgwick Ave Regular.obj.meta | 105 + .../Fonts/Models/Sevillana.obj | 3 + .../Fonts/Models/Sevillana.obj.meta | 104 + .../Fonts/Models/Shadows Into Light.obj | 3 + .../Fonts/Models/Shadows Into Light.obj.meta | 105 + .../Fonts/Models/Shojumaru.obj | 3 + .../Fonts/Models/Shojumaru.obj.meta | 104 + .../Fonts/Models/Single Day Regular.obj | 3 + .../Fonts/Models/Single Day Regular.obj.meta | 105 + .../Fonts/Models/Sniglet-ExtraBold.obj | 3 + .../Fonts/Models/Sniglet-ExtraBold.obj.meta | 104 + .../Fonts/Models/Sniglet-Regular.obj | 3 + .../Fonts/Models/Sniglet-Regular.obj.meta | 104 + .../Fonts/Models/Srisakdi Bold.obj | 3 + .../Fonts/Models/Srisakdi Bold.obj.meta | 105 + .../Fonts/Models/Srisakdi Regular.obj | 3 + .../Fonts/Models/Srisakdi Regular.obj.meta | 105 + .../Fonts/Models/Stint Ultra Condensed.obj | 3 + .../Models/Stint Ultra Condensed.obj.meta | 105 + .../Fonts/Models/Trade Winds.obj | 3 + .../Fonts/Models/Trade Winds.obj.meta | 105 + .../Models/ZCOOL QingKe HuangYou Regular.obj | 3 + .../ZCOOL QingKe HuangYou Regular.obj.meta | 105 + .../Fonts/Models/ZCOOL XiaoWei Regular.obj | 3 + .../Models/ZCOOL XiaoWei Regular.obj.meta | 105 + .../Modular 3D Text/Fonts/Monoton.asset | 3 + .../Modular 3D Text/Fonts/Monoton.asset.meta | 15 + .../Modular 3D Text/Fonts/Mouse Memoirs.asset | 3 + .../Fonts/Mouse Memoirs.asset.meta | 15 + .../Modular 3D Text/Fonts/Mystery Quest.asset | 3 + .../Fonts/Mystery Quest.asset.meta | 15 + .../Fonts/Nanum Brush Script.asset | 3 + .../Fonts/Nanum Brush Script.asset.meta | 15 + .../Modular 3D Text/Fonts/Nosifer.asset | 3 + .../Modular 3D Text/Fonts/Nosifer.asset.meta | 15 + .../Modular 3D Text/Fonts/Nova Cut.asset | 3 + .../Modular 3D Text/Fonts/Nova Cut.asset.meta | 15 + .../Fonts/Orbitron-Black.asset | 3 + .../Fonts/Orbitron-Black.asset.meta | 15 + .../Modular 3D Text/Fonts/Orbitron-Bold.asset | 3 + .../Fonts/Orbitron-Bold.asset.meta | 15 + .../Fonts/Orbitron-Light.asset | 3 + .../Fonts/Orbitron-Light.asset.meta | 15 + .../Fonts/Oregano Italic.asset | 3 + .../Fonts/Oregano Italic.asset.meta | 15 + .../Modular 3D Text/Fonts/Oregano.asset | 3 + .../Modular 3D Text/Fonts/Oregano.asset.meta | 15 + .../Fonts/Original Surfer.asset | 3 + .../Fonts/Original Surfer.asset.meta | 15 + .../Modular 3D Text/Fonts/Peralta.asset | 3 + .../Modular 3D Text/Fonts/Peralta.asset.meta | 15 + .../Fonts/Permanent Marker Regular.asset | 3 + .../Fonts/Permanent Marker Regular.asset.meta | 16 + .../Modular 3D Text/Fonts/Playball.asset | 3 + .../Modular 3D Text/Fonts/Playball.asset.meta | 15 + .../Fonts/Press Start 2P Regular.asset | 3 + .../Fonts/Press Start 2P Regular.asset.meta | 16 + .../Fonts/Prociono Regular.asset | 3 + .../Fonts/Prociono Regular.asset.meta | 15 + .../Modular 3D Text/Fonts/Raleway.asset | 3 + .../Modular 3D Text/Fonts/Raleway.asset.meta | 15 + .../Fonts/Reggae One Regular.asset | 3 + .../Fonts/Reggae One Regular.asset.meta | 15 + .../Modular 3D Text/Fonts/Ribeye Marrow.asset | 3 + .../Fonts/Ribeye Marrow.asset.meta | 15 + .../Modular 3D Text/Fonts/Righteous.asset | 3 + .../Fonts/Righteous.asset.meta | 15 + .../Fonts/Rounded Mplus 1c Bold.asset | 3 + .../Fonts/Rounded Mplus 1c Bold.asset.meta | 16 + .../Fonts/Rounded Mplus 1c ExtraBold.asset | 3 + .../Rounded Mplus 1c ExtraBold.asset.meta | 16 + .../Fonts/Rounded Mplus 1c Light.asset | 3 + .../Fonts/Rounded Mplus 1c Light.asset.meta | 16 + .../Fonts/Rounded Mplus 1c.asset | 3 + .../Fonts/Rounded Mplus 1c.asset.meta | 16 + .../Modular 3D Text/Fonts/Rum Raisin.asset | 3 + .../Fonts/Rum Raisin.asset.meta | 15 + .../Fonts/Sedgwick Ave Display Regular.asset | 3 + .../Sedgwick Ave Display Regular.asset.meta | 16 + .../Fonts/Sedgwick Ave Regular.asset | 3 + .../Fonts/Sedgwick Ave Regular.asset.meta | 16 + .../Modular 3D Text/Fonts/Sevillana.asset | 3 + .../Fonts/Sevillana.asset.meta | 15 + .../Fonts/Shadows Into Light.asset | 3 + .../Fonts/Shadows Into Light.asset.meta | 16 + .../Modular 3D Text/Fonts/Shojumaru.asset | 3 + .../Fonts/Shojumaru.asset.meta | 15 + .../Fonts/Single Day Regular.asset | 3 + .../Fonts/Single Day Regular.asset.meta | 15 + .../Fonts/Sniglet-ExtraBold.asset | 3 + .../Fonts/Sniglet-ExtraBold.asset.meta | 15 + .../Fonts/Sniglet-Regular.asset | 3 + .../Fonts/Sniglet-Regular.asset.meta | 15 + .../Modular 3D Text/Fonts/Srisakdi Bold.asset | 3 + .../Fonts/Srisakdi Bold.asset.meta | 15 + .../Fonts/Srisakdi Regular.asset | 3 + .../Fonts/Srisakdi Regular.asset.meta | 15 + .../Fonts/Stint Ultra Condensed.asset | 3 + .../Fonts/Stint Ultra Condensed.asset.meta | 15 + .../Modular 3D Text/Fonts/Trade Winds.asset | 3 + .../Fonts/Trade Winds.asset.meta | 15 + .../Fonts/ZCOOL QingKe HuangYou Regular.asset | 3 + .../ZCOOL QingKe HuangYou Regular.asset.meta | 16 + .../Fonts/ZCOOL XiaoWei Regular.asset | 3 + .../Fonts/ZCOOL XiaoWei Regular.asset.meta | 16 + .../Modular 3D Text/Models.meta | 8 + .../Models/ProgressBar Handle.prefab | 3 + .../Models/ProgressBar Handle.prefab.meta | 15 + .../Modular 3D Text/Scripts.meta | 8 + .../Modular 3D Text/Scripts/Button.cs | 829 ++++++++ .../Modular 3D Text/Scripts/Button.cs.meta | 37 + .../Modular 3D Text/Scripts/Character.cs | 30 + .../Modular 3D Text/Scripts/Character.cs.meta | 18 + .../Modular 3D Text/Scripts/Core Text.meta | 8 + .../Scripts/Core Text/CharacterCleanUp.cs | 228 +++ .../Core Text/CharacterCleanUp.cs.meta | 18 + .../Scripts/Core Text/DebugLogger.cs | 83 + .../Scripts/Core Text/DebugLogger.cs.meta | 18 + .../Core Text/DelayCallCharacterCleanUp.cs | 65 + .../DelayCallCharacterCleanUp.cs.meta | 18 + .../Scripts/Core Text/MeshPostProcessing.cs | 79 + .../Core Text/MeshPostProcessing.cs.meta | 18 + .../Scripts/Core Text/Modular3DText.cs | 1764 ++++++++++++++++ .../Scripts/Core Text/Modular3DText.cs.meta | 20 + .../Scripts/Core Text/TextUpdater.cs | 166 ++ .../Scripts/Core Text/TextUpdater.cs.meta | 18 + .../Modular 3D Text/Scripts/Editor.meta | 8 + .../Scripts/Editor/Asset Window.meta | 8 + .../Asset Window/AssetWindowStyleSheet.uss | 85 + .../AssetWindowStyleSheet.uss.meta | 19 + .../Asset Window/ModularTextEditorWindow.cs | 1800 +++++++++++++++++ .../ModularTextEditorWindow.cs.meta | 25 + .../Asset Window/ModularTextEditorWindow.uxml | 427 ++++ .../ModularTextEditorWindow.uxml.meta | 18 + .../Editor/Asset Window/NoteTemplate.uxml | 11 + .../Asset Window/NoteTemplate.uxml.meta | 18 + .../Editor/Asset Window/PreviewGroupBox.uxml | 12 + .../Asset Window/PreviewGroupBox.uxml.meta | 18 + .../Scripts/Editor/ButtonEditor.cs | 670 ++++++ .../Scripts/Editor/ButtonEditor.cs.meta | 19 + .../Scripts/Editor/CharacterDrawer.cs | 39 + .../Scripts/Editor/CharacterDrawer.cs.meta | 18 + .../Scripts/Editor/Common.meta | 8 + .../Editor/Common/EditorThemeManager.cs | 338 ++++ .../Editor/Common/EditorThemeManager.cs.meta | 18 + .../Editor/Common/MaterialPreviewManager.cs | 74 + .../Common/MaterialPreviewManager.cs.meta | 18 + .../Scripts/Editor/Common/TGSStyleSheet.uss | 111 + .../Editor/Common/TGSStyleSheet.uss.meta | 18 + .../Scripts/Editor/Common/ThemeSwitcher.uxml | 13 + .../Editor/Common/ThemeSwitcher.uxml.meta | 17 + .../Scripts/Editor/Common/UITemplates.meta | 8 + .../UITemplates/MaterialPreviewField.uxml | 10 + .../MaterialPreviewField.uxml.meta | 17 + .../Scripts/Editor/Core Text.meta | 8 + .../Editor/Core Text/Modular3DTextEditor.cs | 1229 +++++++++++ .../Core Text/Modular3DTextEditor.cs.meta | 20 + .../Scripts/Editor/Examples.meta | 8 + .../Editor/Examples/LoopAnimationEditor.cs | 47 + .../Examples/LoopAnimationEditor.cs.meta | 18 + .../Modular 3D Text/Scripts/Editor/Font.meta | 8 + .../Scripts/Editor/Font/Font Creator.meta | 8 + .../Font/Font Creator/MText_FontExporter.cs | 98 + .../Font Creator/MText_FontExporter.cs.meta | 19 + .../Font Creator/MText_MeshAssetExporter.cs | 55 + .../MText_MeshAssetExporter.cs.meta | 19 + .../Font/Font Creator/MText_ObjExporter.cs | 151 ++ .../Font Creator/MText_ObjExporter.cs.meta | 19 + .../Font Creator/NewFontCharacterRange.cs | 66 + .../NewFontCharacterRange.cs.meta | 19 + .../Scripts/Editor/Font/FontEditor.cs | 951 +++++++++ .../Scripts/Editor/Font/FontEditor.cs.meta | 18 + .../Editor/Font/FontInstanceUpdater.cs | 46 + .../Editor/Font/FontInstanceUpdater.cs.meta | 18 + .../Editor/HorizontalSelectorEditor.cs | 217 ++ .../Editor/HorizontalSelectorEditor.cs.meta | 19 + .../Modular 3D Text/Scripts/Editor/Input.meta | 8 + .../Input/ButtonInputProcessorEditor.cs | 62 + .../Input/ButtonInputProcessorEditor.cs.meta | 18 + .../Input/ButtonInputSystemGlobalEditor.cs | 117 ++ .../ButtonInputSystemGlobalEditor.cs.meta | 18 + .../Editor/Input/RaycastSelectorEditor.cs | 77 + .../Input/RaycastSelectorEditor.cs.meta | 18 + .../RaycastSelectorInputProcessorEditor.cs | 57 + ...aycastSelectorInputProcessorEditor.cs.meta | 18 + .../Scripts/Editor/InputFieldEditor.cs | 466 +++++ .../Scripts/Editor/InputFieldEditor.cs.meta | 19 + .../Scripts/Editor/ListEditor.cs | 888 ++++++++ .../Scripts/Editor/ListEditor.cs.meta | 19 + .../Scripts/Editor/ScriptDefineManager.cs | 39 + .../Editor/ScriptDefineManager.cs.meta | 18 + .../Scripts/Editor/SliderEditor.cs | 786 +++++++ .../Scripts/Editor/SliderEditor.cs.meta | 19 + .../Scripts/Editor/Style Sheet.meta | 8 + .../Editor/Style Sheet/FieldsStyleSheet.uss | 3 + .../Style Sheet/FieldsStyleSheet.uss.meta | 19 + .../Scripts/Editor/Style Sheet/Foldout.uss | 112 + .../Editor/Style Sheet/Foldout.uss.meta | 19 + .../Style Sheet/ThemeSwitcherStyleSheet.uss | 16 + .../ThemeSwitcherStyleSheet.uss.meta | 19 + .../Scripts/Editor/UI Elements.meta | 8 + .../Editor/UI Elements/ToggleEditor.cs | 67 + .../Editor/UI Elements/ToggleEditor.cs.meta | 20 + .../Editor/UI Elements/ToggleEditor.uxml | 18 + .../Editor/UI Elements/ToggleEditor.uxml.meta | 17 + .../Modular 3D Text/Scripts/Examples.meta | 8 + .../Scripts/Examples/Countdown.cs | 40 + .../Scripts/Examples/Countdown.cs.meta | 18 + .../Scripts/Examples/DamageText.cs | 60 + .../Scripts/Examples/DamageText.cs.meta | 18 + .../Scripts/Examples/LoopAnimation.cs | 130 ++ .../Scripts/Examples/LoopAnimation.cs.meta | 18 + .../Scripts/Examples/StatusToolTip.cs | 108 + .../Scripts/Examples/StatusToolTip.cs.meta | 18 + .../Scripts/Examples/Typewriter.cs | 99 + .../Scripts/Examples/Typewriter.cs.meta | 18 + .../Modular 3D Text/Scripts/Font.meta | 8 + .../Modular 3D Text/Scripts/Font/Font.cs | 510 +++++ .../Modular 3D Text/Scripts/Font/Font.cs.meta | 80 + .../Scripts/Font/KerningPair.cs | 17 + .../Scripts/Font/KerningPair.cs.meta | 18 + .../Modular 3D Text/Scripts/Font/Letter.cs | 51 + .../Scripts/Font/Letter.cs.meta | 18 + .../Font/M3D Font Creator - Runtime Only.dll | 3 + .../M3D Font Creator - Runtime Only.dll.meta | 41 + .../Modular 3D Text/Scripts/Font/Readme.txt | 5 + .../Scripts/Font/Readme.txt.meta | 14 + .../Scripts/Font/RuntimeFontImporter.cs | 55 + .../Scripts/Font/RuntimeFontImporter.cs.meta | 18 + .../Scripts/GetCharacterObject.cs | 569 ++++++ .../Scripts/GetCharacterObject.cs.meta | 18 + .../Scripts/HorizontalSelector.cs | 192 ++ .../Scripts/HorizontalSelector.cs.meta | 18 + .../Modular 3D Text/Scripts/Input.meta | 8 + .../Scripts/Input/ButtonInputProcessor.cs | 263 +++ .../Input/ButtonInputProcessor.cs.meta | 18 + .../Scripts/Input/ButtonInputSystemGlobal.cs | 274 +++ .../Input/ButtonInputSystemGlobal.cs.meta | 18 + .../Scripts/Input/ButtonInputSystemLocal.cs | 234 +++ .../Input/ButtonInputSystemLocal.cs.meta | 18 + .../Scripts/Input/RaycastInputProcessor.cs | 201 ++ .../Input/RaycastInputProcessor.cs.meta | 18 + .../Scripts/Input/RaycastSelector.cs | 271 +++ .../Scripts/Input/RaycastSelector.cs.meta | 18 + .../Modular 3D Text/Scripts/InputField.cs | 584 ++++++ .../Scripts/InputField.cs.meta | 35 + .../Modular 3D Text/Scripts/List.cs | 890 ++++++++ .../Modular 3D Text/Scripts/List.cs.meta | 34 + .../Modular 3D Text/Scripts/Sample Scene.meta | 8 + .../AutoUpdateInputSystemToSampleScene.cs | 33 + ...AutoUpdateInputSystemToSampleScene.cs.meta | 18 + .../MText_SampleScene_Announcement.cs | 25 + .../MText_SampleScene_Announcement.cs.meta | 18 + .../Sample Scene/MText_SampleScene_Cursor.cs | 95 + .../MText_SampleScene_Cursor.cs.meta | 18 + .../MText_SampleScene_FontTest.cs | 42 + .../MText_SampleScene_FontTest.cs.meta | 18 + .../MText_SampleScene_ListTest.cs | 65 + .../MText_SampleScene_ListTest.cs.meta | 18 + .../MText_SampleScene_ModuleTutorial.cs | 67 + .../MText_SampleScene_ModuleTutorial.cs.meta | 18 + .../Sample Scene/MText_SampleScene_VRCam.cs | 157 ++ .../MText_SampleScene_VRCam.cs.meta | 18 + .../Modular 3D Text/Scripts/Slider.cs | 489 +++++ .../Modular 3D Text/Scripts/Slider.cs.meta | 29 + .../Modular 3D Text/Scripts/SliderHandle.cs | 11 + .../Scripts/SliderHandle.cs.meta | 18 + .../Modular 3D Text/Scripts/Toggle.cs | 110 + .../Modular 3D Text/Scripts/Toggle.cs.meta | 18 + .../Modular 3D Text/Scripts/UI Element.meta | 8 + .../Scripts/UI Element/IInteractable.cs | 20 + .../Scripts/UI Element/IInteractable.cs.meta | 18 + .../Scripts/UI Element/UIState.cs | 107 + .../Scripts/UI Element/UIState.cs.meta | 18 + .../Modular 3D Text/Scripts/Utilities.meta | 8 + .../Scripts/Utilities/AssetSettings.cs | 208 ++ .../Scripts/Utilities/AssetSettings.cs.meta | 18 + .../Scripts/Utilities/MenuItem.cs | 425 ++++ .../Scripts/Utilities/MenuItem.cs.meta | 20 + .../Scripts/Utilities/MeshCombiner.cs | 152 ++ .../Scripts/Utilities/MeshCombiner.cs.meta | 18 + .../Scripts/Utilities/StaticMethods.cs | 81 + .../Scripts/Utilities/StaticMethods.cs.meta | 18 + .../Modular 3D Text/Utility.meta | 8 + .../Modular 3D Text/Utility/Editor Icons.meta | 8 + .../Utility/Editor Icons/Icon_Cross.png | 3 + .../Utility/Editor Icons/Icon_Cross.png.meta | 111 + .../Editor Icons/Icon_Documentation.png | 3 + .../Editor Icons/Icon_Documentation.png.meta | 130 ++ .../Utility/Editor Icons/Icon_Plus.png | 3 + .../Utility/Editor Icons/Icon_Plus.png.meta | 111 + .../Utility/Editor Icons/M3D Font.png | 3 + .../Utility/Editor Icons/M3D Font.png.meta | 155 ++ .../Utility/Editor Icons/M3D Module.png | 3 + .../Utility/Editor Icons/M3D Module.png.meta | 141 ++ .../Utility/Editor Icons/M3D.png | 3 + .../Utility/Editor Icons/M3D.png.meta | 116 ++ .../Editor Icons/betterTransformIcon.png | 3 + .../Editor Icons/betterTransformIcon.png.meta | 116 ++ .../Utility/Editor Icons/iconsPack.png | 3 + .../Utility/Editor Icons/iconsPack.png.meta | 116 ++ .../Utility/Editor Icons/toDoListIcon.png | 3 + .../Editor Icons/toDoListIcon.png.meta | 116 ++ .../Utility/M3D Editor Settings.asset | 3 + .../Utility/M3D Editor Settings.asset.meta | 16 + Assets/Plugins/Tiny Giant Studio/Modules.meta | 8 + .../Modules/Add Physics.asset | 3 + .../Modules/Add Physics.asset.meta | 15 + .../Modules/Change Scale.asset | 3 + .../Modules/Change Scale.asset.meta | 15 + .../Modules/Play Particle.asset | 3 + .../Modules/Play Particle.asset.meta | 15 + .../Modules/Remove Physics.asset | 3 + .../Modules/Remove Physics.asset.meta | 15 + .../Tiny Giant Studio/Modules/Scripts.meta | 8 + .../Modules/Scripts/AddPhysics.cs | 63 + .../Modules/Scripts/AddPhysics.cs.meta | 18 + .../Modules/Scripts/Editor.meta | 8 + .../Scripts/Editor/ModuleApplierEditor.cs | 41 + .../Editor/ModuleApplierEditor.cs.meta | 18 + .../Modules/Scripts/Editor/ModuleDrawer.cs | 380 ++++ .../Scripts/Editor/ModuleDrawer.cs.meta | 18 + .../Modules/Scripts/Editor/ModuleEditor.cs | 132 ++ .../Scripts/Editor/ModuleEditor.cs.meta | 18 + .../Modules/Scripts/Module.cs | 12 + .../Modules/Scripts/Module.cs.meta | 18 + .../Modules/Scripts/ModuleApplier.cs | 47 + .../Modules/Scripts/ModuleApplier.cs.meta | 18 + .../Modules/Scripts/ModuleContainer.cs | 78 + .../Modules/Scripts/ModuleContainer.cs.meta | 18 + .../Modules/Scripts/ModuleCore.cs | 27 + .../Modules/Scripts/ModuleCore.cs.meta | 18 + .../Modules/Scripts/PlayParticles.cs | 67 + .../Modules/Scripts/PlayParticles.cs.meta | 18 + .../Modules/Scripts/RemovePhysics.cs | 36 + .../Modules/Scripts/RemovePhysics.cs.meta | 18 + .../Modules/Scripts/ScaleChange.cs | 90 + .../Modules/Scripts/ScaleChange.cs.meta | 18 + .../Tiny Giant Studio/Package Importer.meta | 8 + .../Package Importer/Editor.meta | 8 + .../Editor/TGS_AssetDatabaseHandler.cs | 75 + .../Editor/TGS_AssetDatabaseHandler.cs.meta | 18 + .../Editor/TGS_AssetEditor.cs | 276 +++ .../Editor/TGS_AssetEditor.cs.meta | 18 + .../Editor/TGS_ImporterStaticMethods.cs | 183 ++ .../Editor/TGS_ImporterStaticMethods.cs.meta | 18 + .../Package Importer/Editor/TGS_Package.cs | 47 + .../Editor/TGS_Package.cs.meta | 18 + .../Editor/TGS_PackageImporterWindow.cs | 729 +++++++ .../Editor/TGS_PackageImporterWindow.cs.meta | 18 + .../Editor/TGS_PackageManagerAgent.cs | 126 ++ .../Editor/TGS_PackageManagerAgent.cs.meta | 18 + .../Package Importer/TGS_Asset.cs | 35 + .../Package Importer/TGS_Asset.cs.meta | 18 + .../TGS_PackageImporter.asmdef | 16 + .../TGS_PackageImporter.asmdef.meta | 14 + .../Package Importer/Utility.meta | 8 + .../Utility/Editor Icons.meta | 8 + .../Utility/Editor Icons/Favicon.png | 3 + .../Utility/Editor Icons/Favicon.png.meta | 116 ++ .../Utility/Editor Icons/TGS Logo.png | 3 + .../Utility/Editor Icons/TGS Logo.png.meta | 117 ++ Assets/Tiny Giant Studio.meta | 8 + Assets/Tiny Giant Studio/Modular 3D Text.meta | 8 + .../Modular 3D Text/Documentation.PDF | 3 + .../Modular 3D Text/Documentation.PDF.meta | 14 + .../Modular 3D Text/Materials.meta | 8 + .../Modular 3D Text/Materials/MText_Black.mat | 364 ++++ .../Materials/MText_Black.mat.meta | 15 + .../Modular 3D Text/Materials/MText_Blue.mat | 350 ++++ .../Materials/MText_Blue.mat.meta | 15 + .../MText_Bouncy Physics Mat.physicMaterial | 14 + ...ext_Bouncy Physics Mat.physicMaterial.meta | 16 + .../Materials/MText_Emission Material.mat | 140 ++ .../MText_Emission Material.mat.meta | 15 + .../Materials/MText_Green Bright.mat | 351 ++++ .../Materials/MText_Green Bright.mat.meta | 15 + .../Modular 3D Text/Materials/MText_Green.mat | 363 ++++ .../Materials/MText_Green.mat.meta | 15 + .../Materials/MText_Grey Dark.mat | 350 ++++ .../Materials/MText_Grey Dark.mat.meta | 15 + .../Materials/MText_Grey Light Dark.mat | 350 ++++ .../Materials/MText_Grey Light Dark.mat.meta | 16 + .../Modular 3D Text/Materials/MText_Grey.mat | 350 ++++ .../Materials/MText_Grey.mat.meta | 15 + .../Materials/MText_Grid 160 x 160.mat | 139 ++ .../Materials/MText_Grid 160 x 160.mat.meta | 16 + .../Materials/MText_Grid 80 x 80.mat | 139 ++ .../Materials/MText_Grid 80 x 80.mat.meta | 15 + .../Modular 3D Text/Materials/MText_Grid.png | 3 + .../Materials/MText_Grid.png.meta | 95 + .../Materials/MText_Particle.mat | 136 ++ .../Materials/MText_Particle.mat.meta | 15 + .../Modular 3D Text/Materials/MText_Red.mat | 350 ++++ .../Materials/MText_Red.mat.meta | 15 + .../Materials/MText_Scene Environment.mat | 142 ++ .../MText_Scene Environment.mat.meta | 15 + .../Materials/MText_Scene Texture.png | 3 + .../Materials/MText_Scene Texture.png.meta | 99 + .../Materials/MText_White Dark.mat | 350 ++++ .../Materials/MText_White Dark.mat.meta | 15 + .../Materials/MText_White Transparent.mat | 354 ++++ .../MText_White Transparent.mat.meta | 15 + .../Materials/MText_Yellow.mat | 350 ++++ .../Materials/MText_Yellow.mat.meta | 15 + .../Modular 3D Text/Models.meta | 8 + .../Modular 3D Text/Models/Crosshair.fbx | 3 + .../Modular 3D Text/Models/Crosshair.fbx.meta | 122 ++ .../Modular 3D Text/Models/Graphics.fbx | 3 + .../Modular 3D Text/Models/Graphics.fbx.meta | 566 ++++++ .../Modular 3D Text/Models/HP.fbx | 3 + .../Modular 3D Text/Models/HP.fbx.meta | 239 +++ .../Modular 3D Text/Prefabs.meta | 8 + .../Prefabs/Black Particle.prefab | 3 + .../Prefabs/Black Particle.prefab.meta | 14 + .../Prefabs/Bright Particle.prefab | 3 + .../Prefabs/Bright Particle.prefab.meta | 14 + .../Modular 3D Text/Prefabs/Crosshair.prefab | 3 + .../Prefabs/Crosshair.prefab.meta | 14 + .../Modular 3D Text/Prefabs/Examples.meta | 8 + .../Prefabs/Examples/Countdown.prefab | 3 + .../Prefabs/Examples/Countdown.prefab.meta | 14 + .../Prefabs/Examples/Damage Effect.prefab | 3 + .../Examples/Damage Effect.prefab.meta | 14 + .../Examples/Typewriter Sound Effect.wav | 3 + .../Examples/Typewriter Sound Effect.wav.meta | 30 + .../Prefabs/Examples/Typewriter.prefab | 3 + .../Prefabs/Examples/Typewriter.prefab.meta | 14 + .../Modular 3D Text/Prefabs/Scene.prefab | 3 + .../Modular 3D Text/Prefabs/Scene.prefab.meta | 14 + .../Modular 3D Text/Readme.txt | 2 + .../Modular 3D Text/Readme.txt.meta | 14 + .../Modular 3D Text/Sample Scenes.meta | 8 + .../Sample Scenes/01 Text - M3DText.unity | 3 + .../01 Text - M3DText.unity.meta | 14 + .../02 Input Field - M3DText.unity | 3 + .../02 Input Field - M3DText.unity.meta | 15 + .../Sample Scenes/03 Button - M3DText.unity | 3 + .../03 Button - M3DText.unity.meta | 14 + .../Sample Scenes/04 Slider - M3DText.unity | 3 + .../04 Slider - M3DText.unity.meta | 14 + .../Sample Scenes/05 Toggle - M3DText.unity | 3 + .../05 Toggle - M3DText.unity.meta | 14 + .../Sample Scenes/06 Fonts - M3DText.unity | 3 + .../06 Fonts - M3DText.unity.meta | 14 + .../Sample Scenes/07 Lists - M3DText.unity | 3 + .../07 Lists - M3DText.unity.meta | 14 + .../Sample Scenes/08 Dropdown - M3DText.unity | 3 + .../08 Dropdown - M3DText.unity.meta | 15 + .../09 Example - Typewriter - M3DText.unity | 3 + ... Example - Typewriter - M3DText.unity.meta | 15 + ...le - Countdown with Modules- M3DText.unity | 3 + ...Countdown with Modules- M3DText.unity.meta | 15 + .../Sample Scenes/11 Modules Tutorial.meta | 8 + .../11 Modules Tutorial/Animation.controller | 72 + .../Animation.controller.meta | 15 + .../Modules tutorial image 0.png | 3 + .../Modules tutorial image 0.png.meta | 136 ++ .../Modules tutorial image 1.png | 3 + .../Modules tutorial image 1.png.meta | 107 + .../Modules tutorial image 2.png | 3 + .../Modules tutorial image 2.png.meta | 107 + .../Modules tutorial image 3.png | 3 + .../Modules tutorial image 3.png.meta | 107 + .../Modules tutorial image 4.png | 3 + .../Modules tutorial image 4.png.meta | 107 + .../Modules tutorial image 5.png | 3 + .../Modules tutorial image 5.png.meta | 107 + .../Modules tutorial image 6.png | 3 + .../Modules tutorial image 6.png.meta | 136 ++ .../11 Modules Tutorial/Tutorial anim.anim | 3 + .../Tutorial anim.anim.meta | 16 + .../11 Tutoiral - Modules - M3DText.unity | 3 + ...11 Tutoiral - Modules - M3DText.unity.meta | 15 + .../12 Example - Shop Signs - M3DText.unity | 3 + ... Example - Shop Signs - M3DText.unity.meta | 15 + ...3 Example - Damage Effects - M3DText.unity | 3 + ...mple - Damage Effects - M3DText.unity.meta | 15 + ...e - Particle System Module - M3DText.unity | 3 + ...article System Module - M3DText.unity.meta | 15 + .../15 Horizontal Selector - M3DText.unity | 3 + ...5 Horizontal Selector - M3DText.unity.meta | 15 + .../16 Screen Space Canvas - M3DText.unity | 3 + ...6 Screen Space Canvas - M3DText.unity.meta | 15 + .../Modular 3D Text/Setup Files.meta | 8 + .../Modular 3D Text Package Importer.asset | 3 + ...odular 3D Text Package Importer.asset.meta | 16 + ProjectSettings/ProjectSettings.asset | 4 +- 840 files changed, 53720 insertions(+), 4 deletions(-) create mode 100644 Assets/Plugins.meta create mode 100644 Assets/Plugins/Tiny Giant Studio.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Common Scripts.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Common Scripts/Editor.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Common Scripts/Editor/MText_Editor_Classes.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Common Scripts/Editor/MText_Editor_Classes.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Common Scripts/Editor/MText_Editor_Methods.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Common Scripts/Editor/MText_Editor_Methods.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Common.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Common/Artworks.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Common/Artworks/DarkModeIcon.png create mode 100644 Assets/Plugins/Tiny Giant Studio/Common/Artworks/DarkModeIcon.png.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Common/Artworks/DarkModeIconBG.png create mode 100644 Assets/Plugins/Tiny Giant Studio/Common/Artworks/DarkModeIconBG.png.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Common/Artworks/FacebookIcon.png create mode 100644 Assets/Plugins/Tiny Giant Studio/Common/Artworks/FacebookIcon.png.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Common/Artworks/Information.png create mode 100644 Assets/Plugins/Tiny Giant Studio/Common/Artworks/Information.png.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Common/Artworks/LightModeIcon.png create mode 100644 Assets/Plugins/Tiny Giant Studio/Common/Artworks/LightModeIcon.png.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Common/Artworks/LightModeIcon2.png create mode 100644 Assets/Plugins/Tiny Giant Studio/Common/Artworks/LightModeIcon2.png.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Common/Artworks/LightModeIconBG.png create mode 100644 Assets/Plugins/Tiny Giant Studio/Common/Artworks/LightModeIconBG.png.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Common/Artworks/RedditIcon.png create mode 100644 Assets/Plugins/Tiny Giant Studio/Common/Artworks/RedditIcon.png.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Common/Artworks/TGSIcon.png create mode 100644 Assets/Plugins/Tiny Giant Studio/Common/Artworks/TGSIcon.png.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Common/Fonts.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Common/Fonts/Montserrat-Bold SDF.asset create mode 100644 Assets/Plugins/Tiny Giant Studio/Common/Fonts/Montserrat-Bold SDF.asset.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Common/Fonts/Montserrat-Bold.ttf create mode 100644 Assets/Plugins/Tiny Giant Studio/Common/Fonts/Montserrat-Bold.ttf.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Common/Fonts/Montserrat-Regular SDF.asset create mode 100644 Assets/Plugins/Tiny Giant Studio/Common/Fonts/Montserrat-Regular SDF.asset.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Common/Fonts/Montserrat-Regular.ttf create mode 100644 Assets/Plugins/Tiny Giant Studio/Common/Fonts/Montserrat-Regular.ttf.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Common/Fonts/Montserrat-SemiBold SDF.asset create mode 100644 Assets/Plugins/Tiny Giant Studio/Common/Fonts/Montserrat-SemiBold SDF.asset.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Common/Fonts/Montserrat-SemiBold.ttf create mode 100644 Assets/Plugins/Tiny Giant Studio/Common/Fonts/Montserrat-SemiBold.ttf.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Animated Element Updater.asset create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Animated Element Updater.asset.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Editor.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Editor/CircularLayoutGroupEditor.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Editor/CircularLayoutGroupEditor.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Editor/GridLayoutGroupEditor.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Editor/GridLayoutGroupEditor.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Editor/LayoutElementEditor.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Editor/LayoutElementEditor.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Editor/LayoutsMenuItem.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Editor/LayoutsMenuItem.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Editor/LinearLayoutGroupEditor.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Editor/LinearLayoutGroupEditor.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Editor/VolumeLayoutGroupEditor.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Editor/VolumeLayoutGroupEditor.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/ElementUpdaters.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/ElementUpdaters/AnimatedElementUpdater.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/ElementUpdaters/AnimatedElementUpdater.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/ElementUpdaters/BaseLayoutElementUpdater.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/ElementUpdaters/BaseLayoutElementUpdater.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/ElementUpdaters/LayoutElementAnimator.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/ElementUpdaters/LayoutElementAnimator.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/ElementUpdaters/LayoutElementModule.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/ElementUpdaters/LayoutElementModule.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/ElementUpdaters/LayoutElementModuleContainer.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/ElementUpdaters/LayoutElementModuleContainer.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/ElementUpdaters/LayoutElementNavmeshController.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/ElementUpdaters/LayoutElementNavmeshController.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/ElementUpdaters/LayoutElementPhysicsController.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/ElementUpdaters/LayoutElementPhysicsController.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/ElementUpdaters/NavMeshElementUpdater.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/ElementUpdaters/NavMeshElementUpdater.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/ElementUpdaters/PhysicsElementUpdater.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/ElementUpdaters/PhysicsElementUpdater.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Layout Types.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Layout Types/CircularLayoutGroup.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Layout Types/CircularLayoutGroup.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Layout Types/GridLayoutGroup.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Layout Types/GridLayoutGroup.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Layout Types/LinearLayoutGroup.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Layout Types/LinearLayoutGroup.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Layout Types/VolumeLayoutGroup.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Layout Types/VolumeLayoutGroup.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/LayoutElement.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/LayoutElement.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/LayoutGroup.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/LayoutGroup.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/MeshBaseSize.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/MeshBaseSize.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/MeshLayout.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/MeshLayout.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Overflow.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Overflow.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Utility.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Utility/Editor Icons.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Utility/Editor Icons/Icon_Left.png create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Utility/Editor Icons/Icon_Left.png.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Utility/Editor Icons/Icon_Right.png create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Utility/Editor Icons/Icon_Right.png.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Utility/Editor Icons/Justice Horizontal.png create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Utility/Editor Icons/Justice Horizontal.png.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Utility/Editor Icons/Justice Vertical.png create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Utility/Editor Icons/Justice Vertical.png.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Utility/Editor Icons/Layout Group.png create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Utility/Editor Icons/Layout Group.png.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/3D Text UI Controls.inputactions create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/3D Text UI Controls.inputactions.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Artworks.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Artworks/TGS_BackgroundGradient.png create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Artworks/TGS_BackgroundGradient.png.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Amarante Regular.asset create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Amarante Regular.asset.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Amatic SC Bold.asset create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Amatic SC Bold.asset.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Amatic SC Regular.asset create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Amatic SC Regular.asset.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Audiowide Regular.asset create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Audiowide Regular.asset.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Bahianita Regular.asset create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Bahianita Regular.asset.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Bangers.asset create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Bangers.asset.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Barrio Regular.asset create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Barrio Regular.asset.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Berkshire Swash Regular.asset create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Berkshire Swash Regular.asset.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Bigelow Rules Regular.asset create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Bigelow Rules Regular.asset.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Blackout Midnight.asset create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Blackout Midnight.asset.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Blackout Sunrise.asset create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Blackout Sunrise.asset.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Bungee Hairline.asset create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Bungee Hairline.asset.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Bungee Inline.asset create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Bungee Inline.asset.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Bungee Outline.asset create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Bungee Outline.asset.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Bungee.asset create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Bungee.asset.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Codystar Light.asset create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Codystar Light.asset.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Codystar.asset create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Codystar.asset.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Creepster.asset create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Creepster.asset.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Englebert.asset create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Englebert.asset.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Fanwood Text Italic.asset create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Fanwood Text Italic.asset.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Fanwood Text.asset create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Fanwood Text.asset.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Faster One.asset create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Faster One.asset.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Flavors Regular.asset create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Flavors Regular.asset.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Fondamento Regular.asset create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Fondamento Regular.asset.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Fondamento-Italic.asset create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Fondamento-Italic.asset.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Freckle Face.asset create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Freckle Face.asset.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Frijole.asset create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Frijole.asset.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Germania One.asset create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Germania One.asset.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Goudy Bookletter 1911.asset create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Goudy Bookletter 1911.asset.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Indie Flower.asset create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Indie Flower.asset.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/League Gothic Condensed Italic Regular.asset create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/League Gothic Condensed Italic Regular.asset.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/League Gothic Condensed Regular.asset create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/League Gothic Condensed Regular.asset.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/League Gothic Italic Regular.asset create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/League Gothic Italic Regular.asset.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/League Gothic Regular.asset create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/League Gothic Regular.asset.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/League Gothic SemiCondensed Regular.asset create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/League Gothic SemiCondensed Regular.asset.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/League Mono Bold.asset create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/League Mono Bold.asset.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/League Mono Condensed Bold.asset create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/League Mono Condensed Bold.asset.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/League Mono Condensed.asset create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/League Mono Condensed.asset.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/League Mono Regular.asset create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/League Mono Regular.asset.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/League Spartan Regular.asset create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/League Spartan Regular.asset.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Linden Hill Regular.asset create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Linden Hill Regular.asset.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Lobster Regular.asset create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Lobster Regular.asset.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Marcellus.asset create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Marcellus.asset.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/McLaren.asset create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/McLaren.asset.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Medula One.asset create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Medula One.asset.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Amarante Regular.obj create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Amarante Regular.obj.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Amatic SC Bold.obj create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Amatic SC Bold.obj.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Amatic SC Regular.obj create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Amatic SC Regular.obj.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Audiowide Regular.obj create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Audiowide Regular.obj.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Bahianita Regular.obj create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Bahianita Regular.obj.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Bangers.obj create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Bangers.obj.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Barrio Regular.obj create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Barrio Regular.obj.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Berkshire Swash Regular.obj create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Berkshire Swash Regular.obj.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Bigelow Rules Regular.obj create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Bigelow Rules Regular.obj.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Blackout Midnight.obj create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Blackout Midnight.obj.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Blackout Sunrise.obj create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Blackout Sunrise.obj.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Bungee Hairline.obj create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Bungee Hairline.obj.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Bungee Inline.obj create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Bungee Inline.obj.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Bungee Outline.obj create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Bungee Outline.obj.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Bungee.obj create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Bungee.obj.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Codystar Light.obj create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Codystar Light.obj.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Codystar.obj create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Codystar.obj.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Creepster.obj create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Creepster.obj.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Englebert.obj create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Englebert.obj.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Fanwood Text Italic.obj create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Fanwood Text Italic.obj.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Fanwood Text.obj create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Fanwood Text.obj.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Faster One.obj create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Faster One.obj.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Flavors Regular.obj create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Flavors Regular.obj.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Fondamento Regular.obj create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Fondamento Regular.obj.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Fondamento-Italic.obj create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Fondamento-Italic.obj.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Freckle Face.obj create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Freckle Face.obj.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Frijole.obj create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Frijole.obj.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Germania One.obj create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Germania One.obj.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Goudy Bookletter 1911.obj create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Goudy Bookletter 1911.obj.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Indie Flower.obj create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Indie Flower.obj.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/League Gothic Condensed Italic Regular.obj create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/League Gothic Condensed Italic Regular.obj.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/League Gothic Condensed Regular.obj create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/League Gothic Condensed Regular.obj.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/League Gothic Italic Regular.obj create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/League Gothic Italic Regular.obj.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/League Gothic Regular.obj create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/League Gothic Regular.obj.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/League Gothic SemiCondensed Regular.obj create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/League Gothic SemiCondensed Regular.obj.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/League Mono Bold.obj create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/League Mono Bold.obj.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/League Mono Condensed Bold.obj create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/League Mono Condensed Bold.obj.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/League Mono Condensed.obj create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/League Mono Condensed.obj.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/League Mono Regular.obj create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/League Mono Regular.obj.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/League Spartan Regular.obj create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/League Spartan Regular.obj.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Linden Hill Regular.obj create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Linden Hill Regular.obj.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Lobster Regular.obj create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Lobster Regular.obj.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Marcellus.obj create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Marcellus.obj.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/McLaren.obj create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/McLaren.obj.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Medula One.obj create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Medula One.obj.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Monoton.obj create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Monoton.obj.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Mouse Memoirs.obj create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Mouse Memoirs.obj.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Mystery Quest.obj create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Mystery Quest.obj.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Nanum Brush Script.obj create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Nanum Brush Script.obj.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Nosifer.obj create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Nosifer.obj.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Nova Cut.obj create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Nova Cut.obj.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Orbitron-Black.obj create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Orbitron-Black.obj.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Orbitron-Bold.obj create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Orbitron-Bold.obj.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Orbitron-Light.obj create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Orbitron-Light.obj.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Oregano Italic.obj create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Oregano Italic.obj.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Oregano.obj create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Oregano.obj.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Original Surfer.obj create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Original Surfer.obj.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Peralta.obj create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Peralta.obj.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Permanent Marker Regular.obj create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Permanent Marker Regular.obj.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Playball.obj create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Playball.obj.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Press Start 2P Regular.obj create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Press Start 2P Regular.obj.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Prociono Regular.obj create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Prociono Regular.obj.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Raleway.obj create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Raleway.obj.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Reggae One Regular.obj create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Reggae One Regular.obj.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Ribeye Marrow.obj create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Ribeye Marrow.obj.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Righteous.obj create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Righteous.obj.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Rounded Mplus 1c Bold.obj create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Rounded Mplus 1c Bold.obj.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Rounded Mplus 1c ExtraBold.obj create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Rounded Mplus 1c ExtraBold.obj.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Rounded Mplus 1c Light.obj create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Rounded Mplus 1c Light.obj.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Rounded Mplus 1c.obj create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Rounded Mplus 1c.obj.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Rum Raisin.obj create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Rum Raisin.obj.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Sedgwick Ave Display Regular.obj create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Sedgwick Ave Display Regular.obj.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Sedgwick Ave Regular.obj create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Sedgwick Ave Regular.obj.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Sevillana.obj create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Sevillana.obj.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Shadows Into Light.obj create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Shadows Into Light.obj.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Shojumaru.obj create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Shojumaru.obj.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Single Day Regular.obj create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Single Day Regular.obj.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Sniglet-ExtraBold.obj create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Sniglet-ExtraBold.obj.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Sniglet-Regular.obj create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Sniglet-Regular.obj.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Srisakdi Bold.obj create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Srisakdi Bold.obj.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Srisakdi Regular.obj create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Srisakdi Regular.obj.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Stint Ultra Condensed.obj create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Stint Ultra Condensed.obj.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Trade Winds.obj create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Trade Winds.obj.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/ZCOOL QingKe HuangYou Regular.obj create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/ZCOOL QingKe HuangYou Regular.obj.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/ZCOOL XiaoWei Regular.obj create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/ZCOOL XiaoWei Regular.obj.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Monoton.asset create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Monoton.asset.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Mouse Memoirs.asset create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Mouse Memoirs.asset.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Mystery Quest.asset create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Mystery Quest.asset.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Nanum Brush Script.asset create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Nanum Brush Script.asset.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Nosifer.asset create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Nosifer.asset.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Nova Cut.asset create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Nova Cut.asset.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Orbitron-Black.asset create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Orbitron-Black.asset.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Orbitron-Bold.asset create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Orbitron-Bold.asset.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Orbitron-Light.asset create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Orbitron-Light.asset.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Oregano Italic.asset create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Oregano Italic.asset.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Oregano.asset create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Oregano.asset.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Original Surfer.asset create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Original Surfer.asset.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Peralta.asset create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Peralta.asset.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Permanent Marker Regular.asset create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Permanent Marker Regular.asset.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Playball.asset create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Playball.asset.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Press Start 2P Regular.asset create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Press Start 2P Regular.asset.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Prociono Regular.asset create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Prociono Regular.asset.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Raleway.asset create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Raleway.asset.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Reggae One Regular.asset create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Reggae One Regular.asset.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Ribeye Marrow.asset create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Ribeye Marrow.asset.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Righteous.asset create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Righteous.asset.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Rounded Mplus 1c Bold.asset create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Rounded Mplus 1c Bold.asset.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Rounded Mplus 1c ExtraBold.asset create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Rounded Mplus 1c ExtraBold.asset.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Rounded Mplus 1c Light.asset create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Rounded Mplus 1c Light.asset.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Rounded Mplus 1c.asset create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Rounded Mplus 1c.asset.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Rum Raisin.asset create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Rum Raisin.asset.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Sedgwick Ave Display Regular.asset create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Sedgwick Ave Display Regular.asset.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Sedgwick Ave Regular.asset create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Sedgwick Ave Regular.asset.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Sevillana.asset create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Sevillana.asset.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Shadows Into Light.asset create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Shadows Into Light.asset.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Shojumaru.asset create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Shojumaru.asset.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Single Day Regular.asset create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Single Day Regular.asset.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Sniglet-ExtraBold.asset create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Sniglet-ExtraBold.asset.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Sniglet-Regular.asset create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Sniglet-Regular.asset.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Srisakdi Bold.asset create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Srisakdi Bold.asset.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Srisakdi Regular.asset create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Srisakdi Regular.asset.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Stint Ultra Condensed.asset create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Stint Ultra Condensed.asset.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Trade Winds.asset create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Trade Winds.asset.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/ZCOOL QingKe HuangYou Regular.asset create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/ZCOOL QingKe HuangYou Regular.asset.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/ZCOOL XiaoWei Regular.asset create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/ZCOOL XiaoWei Regular.asset.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Models.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Models/ProgressBar Handle.prefab create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Models/ProgressBar Handle.prefab.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Button.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Button.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Character.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Character.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Core Text.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Core Text/CharacterCleanUp.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Core Text/CharacterCleanUp.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Core Text/DebugLogger.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Core Text/DebugLogger.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Core Text/DelayCallCharacterCleanUp.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Core Text/DelayCallCharacterCleanUp.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Core Text/MeshPostProcessing.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Core Text/MeshPostProcessing.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Core Text/Modular3DText.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Core Text/Modular3DText.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Core Text/TextUpdater.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Core Text/TextUpdater.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Editor.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Editor/Asset Window.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Editor/Asset Window/AssetWindowStyleSheet.uss create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Editor/Asset Window/AssetWindowStyleSheet.uss.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Editor/Asset Window/ModularTextEditorWindow.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Editor/Asset Window/ModularTextEditorWindow.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Editor/Asset Window/ModularTextEditorWindow.uxml create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Editor/Asset Window/ModularTextEditorWindow.uxml.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Editor/Asset Window/NoteTemplate.uxml create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Editor/Asset Window/NoteTemplate.uxml.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Editor/Asset Window/PreviewGroupBox.uxml create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Editor/Asset Window/PreviewGroupBox.uxml.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Editor/ButtonEditor.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Editor/ButtonEditor.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Editor/CharacterDrawer.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Editor/CharacterDrawer.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Editor/Common.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Editor/Common/EditorThemeManager.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Editor/Common/EditorThemeManager.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Editor/Common/MaterialPreviewManager.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Editor/Common/MaterialPreviewManager.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Editor/Common/TGSStyleSheet.uss create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Editor/Common/TGSStyleSheet.uss.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Editor/Common/ThemeSwitcher.uxml create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Editor/Common/ThemeSwitcher.uxml.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Editor/Common/UITemplates.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Editor/Common/UITemplates/MaterialPreviewField.uxml create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Editor/Common/UITemplates/MaterialPreviewField.uxml.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Editor/Core Text.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Editor/Core Text/Modular3DTextEditor.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Editor/Core Text/Modular3DTextEditor.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Editor/Examples.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Editor/Examples/LoopAnimationEditor.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Editor/Examples/LoopAnimationEditor.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Editor/Font.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Editor/Font/Font Creator.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Editor/Font/Font Creator/MText_FontExporter.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Editor/Font/Font Creator/MText_FontExporter.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Editor/Font/Font Creator/MText_MeshAssetExporter.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Editor/Font/Font Creator/MText_MeshAssetExporter.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Editor/Font/Font Creator/MText_ObjExporter.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Editor/Font/Font Creator/MText_ObjExporter.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Editor/Font/Font Creator/NewFontCharacterRange.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Editor/Font/Font Creator/NewFontCharacterRange.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Editor/Font/FontEditor.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Editor/Font/FontEditor.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Editor/Font/FontInstanceUpdater.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Editor/Font/FontInstanceUpdater.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Editor/HorizontalSelectorEditor.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Editor/HorizontalSelectorEditor.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Editor/Input.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Editor/Input/ButtonInputProcessorEditor.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Editor/Input/ButtonInputProcessorEditor.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Editor/Input/ButtonInputSystemGlobalEditor.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Editor/Input/ButtonInputSystemGlobalEditor.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Editor/Input/RaycastSelectorEditor.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Editor/Input/RaycastSelectorEditor.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Editor/Input/RaycastSelectorInputProcessorEditor.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Editor/Input/RaycastSelectorInputProcessorEditor.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Editor/InputFieldEditor.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Editor/InputFieldEditor.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Editor/ListEditor.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Editor/ListEditor.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Editor/ScriptDefineManager.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Editor/ScriptDefineManager.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Editor/SliderEditor.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Editor/SliderEditor.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Editor/Style Sheet.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Editor/Style Sheet/FieldsStyleSheet.uss create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Editor/Style Sheet/FieldsStyleSheet.uss.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Editor/Style Sheet/Foldout.uss create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Editor/Style Sheet/Foldout.uss.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Editor/Style Sheet/ThemeSwitcherStyleSheet.uss create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Editor/Style Sheet/ThemeSwitcherStyleSheet.uss.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Editor/UI Elements.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Editor/UI Elements/ToggleEditor.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Editor/UI Elements/ToggleEditor.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Editor/UI Elements/ToggleEditor.uxml create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Editor/UI Elements/ToggleEditor.uxml.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Examples.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Examples/Countdown.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Examples/Countdown.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Examples/DamageText.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Examples/DamageText.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Examples/LoopAnimation.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Examples/LoopAnimation.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Examples/StatusToolTip.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Examples/StatusToolTip.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Examples/Typewriter.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Examples/Typewriter.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Font.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Font/Font.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Font/Font.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Font/KerningPair.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Font/KerningPair.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Font/Letter.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Font/Letter.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Font/M3D Font Creator - Runtime Only.dll create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Font/M3D Font Creator - Runtime Only.dll.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Font/Readme.txt create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Font/Readme.txt.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Font/RuntimeFontImporter.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Font/RuntimeFontImporter.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/GetCharacterObject.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/GetCharacterObject.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/HorizontalSelector.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/HorizontalSelector.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Input.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Input/ButtonInputProcessor.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Input/ButtonInputProcessor.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Input/ButtonInputSystemGlobal.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Input/ButtonInputSystemGlobal.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Input/ButtonInputSystemLocal.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Input/ButtonInputSystemLocal.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Input/RaycastInputProcessor.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Input/RaycastInputProcessor.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Input/RaycastSelector.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Input/RaycastSelector.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/InputField.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/InputField.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/List.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/List.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Sample Scene.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Sample Scene/AutoUpdateInputSystemToSampleScene.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Sample Scene/AutoUpdateInputSystemToSampleScene.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Sample Scene/MText_SampleScene_Announcement.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Sample Scene/MText_SampleScene_Announcement.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Sample Scene/MText_SampleScene_Cursor.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Sample Scene/MText_SampleScene_Cursor.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Sample Scene/MText_SampleScene_FontTest.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Sample Scene/MText_SampleScene_FontTest.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Sample Scene/MText_SampleScene_ListTest.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Sample Scene/MText_SampleScene_ListTest.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Sample Scene/MText_SampleScene_ModuleTutorial.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Sample Scene/MText_SampleScene_ModuleTutorial.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Sample Scene/MText_SampleScene_VRCam.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Sample Scene/MText_SampleScene_VRCam.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Slider.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Slider.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/SliderHandle.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/SliderHandle.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Toggle.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Toggle.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/UI Element.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/UI Element/IInteractable.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/UI Element/IInteractable.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/UI Element/UIState.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/UI Element/UIState.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Utilities.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Utilities/AssetSettings.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Utilities/AssetSettings.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Utilities/MenuItem.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Utilities/MenuItem.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Utilities/MeshCombiner.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Utilities/MeshCombiner.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Utilities/StaticMethods.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Utilities/StaticMethods.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Utility.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Utility/Editor Icons.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Utility/Editor Icons/Icon_Cross.png create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Utility/Editor Icons/Icon_Cross.png.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Utility/Editor Icons/Icon_Documentation.png create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Utility/Editor Icons/Icon_Documentation.png.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Utility/Editor Icons/Icon_Plus.png create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Utility/Editor Icons/Icon_Plus.png.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Utility/Editor Icons/M3D Font.png create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Utility/Editor Icons/M3D Font.png.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Utility/Editor Icons/M3D Module.png create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Utility/Editor Icons/M3D Module.png.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Utility/Editor Icons/M3D.png create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Utility/Editor Icons/M3D.png.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Utility/Editor Icons/betterTransformIcon.png create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Utility/Editor Icons/betterTransformIcon.png.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Utility/Editor Icons/iconsPack.png create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Utility/Editor Icons/iconsPack.png.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Utility/Editor Icons/toDoListIcon.png create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Utility/Editor Icons/toDoListIcon.png.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Utility/M3D Editor Settings.asset create mode 100644 Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Utility/M3D Editor Settings.asset.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modules.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modules/Add Physics.asset create mode 100644 Assets/Plugins/Tiny Giant Studio/Modules/Add Physics.asset.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modules/Change Scale.asset create mode 100644 Assets/Plugins/Tiny Giant Studio/Modules/Change Scale.asset.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modules/Play Particle.asset create mode 100644 Assets/Plugins/Tiny Giant Studio/Modules/Play Particle.asset.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modules/Remove Physics.asset create mode 100644 Assets/Plugins/Tiny Giant Studio/Modules/Remove Physics.asset.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modules/Scripts.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modules/Scripts/AddPhysics.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modules/Scripts/AddPhysics.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modules/Scripts/Editor.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modules/Scripts/Editor/ModuleApplierEditor.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modules/Scripts/Editor/ModuleApplierEditor.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modules/Scripts/Editor/ModuleDrawer.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modules/Scripts/Editor/ModuleDrawer.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modules/Scripts/Editor/ModuleEditor.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modules/Scripts/Editor/ModuleEditor.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modules/Scripts/Module.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modules/Scripts/Module.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modules/Scripts/ModuleApplier.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modules/Scripts/ModuleApplier.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modules/Scripts/ModuleContainer.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modules/Scripts/ModuleContainer.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modules/Scripts/ModuleCore.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modules/Scripts/ModuleCore.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modules/Scripts/PlayParticles.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modules/Scripts/PlayParticles.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modules/Scripts/RemovePhysics.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modules/Scripts/RemovePhysics.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Modules/Scripts/ScaleChange.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Modules/Scripts/ScaleChange.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Package Importer.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Package Importer/Editor.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Package Importer/Editor/TGS_AssetDatabaseHandler.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Package Importer/Editor/TGS_AssetDatabaseHandler.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Package Importer/Editor/TGS_AssetEditor.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Package Importer/Editor/TGS_AssetEditor.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Package Importer/Editor/TGS_ImporterStaticMethods.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Package Importer/Editor/TGS_ImporterStaticMethods.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Package Importer/Editor/TGS_Package.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Package Importer/Editor/TGS_Package.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Package Importer/Editor/TGS_PackageImporterWindow.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Package Importer/Editor/TGS_PackageImporterWindow.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Package Importer/Editor/TGS_PackageManagerAgent.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Package Importer/Editor/TGS_PackageManagerAgent.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Package Importer/TGS_Asset.cs create mode 100644 Assets/Plugins/Tiny Giant Studio/Package Importer/TGS_Asset.cs.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Package Importer/TGS_PackageImporter.asmdef create mode 100644 Assets/Plugins/Tiny Giant Studio/Package Importer/TGS_PackageImporter.asmdef.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Package Importer/Utility.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Package Importer/Utility/Editor Icons.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Package Importer/Utility/Editor Icons/Favicon.png create mode 100644 Assets/Plugins/Tiny Giant Studio/Package Importer/Utility/Editor Icons/Favicon.png.meta create mode 100644 Assets/Plugins/Tiny Giant Studio/Package Importer/Utility/Editor Icons/TGS Logo.png create mode 100644 Assets/Plugins/Tiny Giant Studio/Package Importer/Utility/Editor Icons/TGS Logo.png.meta create mode 100644 Assets/Tiny Giant Studio.meta create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text.meta create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Documentation.PDF create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Documentation.PDF.meta create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Materials.meta create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Materials/MText_Black.mat create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Materials/MText_Black.mat.meta create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Materials/MText_Blue.mat create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Materials/MText_Blue.mat.meta create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Materials/MText_Bouncy Physics Mat.physicMaterial create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Materials/MText_Bouncy Physics Mat.physicMaterial.meta create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Materials/MText_Emission Material.mat create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Materials/MText_Emission Material.mat.meta create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Materials/MText_Green Bright.mat create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Materials/MText_Green Bright.mat.meta create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Materials/MText_Green.mat create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Materials/MText_Green.mat.meta create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Materials/MText_Grey Dark.mat create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Materials/MText_Grey Dark.mat.meta create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Materials/MText_Grey Light Dark.mat create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Materials/MText_Grey Light Dark.mat.meta create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Materials/MText_Grey.mat create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Materials/MText_Grey.mat.meta create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Materials/MText_Grid 160 x 160.mat create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Materials/MText_Grid 160 x 160.mat.meta create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Materials/MText_Grid 80 x 80.mat create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Materials/MText_Grid 80 x 80.mat.meta create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Materials/MText_Grid.png create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Materials/MText_Grid.png.meta create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Materials/MText_Particle.mat create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Materials/MText_Particle.mat.meta create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Materials/MText_Red.mat create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Materials/MText_Red.mat.meta create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Materials/MText_Scene Environment.mat create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Materials/MText_Scene Environment.mat.meta create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Materials/MText_Scene Texture.png create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Materials/MText_Scene Texture.png.meta create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Materials/MText_White Dark.mat create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Materials/MText_White Dark.mat.meta create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Materials/MText_White Transparent.mat create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Materials/MText_White Transparent.mat.meta create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Materials/MText_Yellow.mat create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Materials/MText_Yellow.mat.meta create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Models.meta create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Models/Crosshair.fbx create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Models/Crosshair.fbx.meta create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Models/Graphics.fbx create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Models/Graphics.fbx.meta create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Models/HP.fbx create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Models/HP.fbx.meta create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Prefabs.meta create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Prefabs/Black Particle.prefab create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Prefabs/Black Particle.prefab.meta create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Prefabs/Bright Particle.prefab create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Prefabs/Bright Particle.prefab.meta create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Prefabs/Crosshair.prefab create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Prefabs/Crosshair.prefab.meta create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Prefabs/Examples.meta create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Prefabs/Examples/Countdown.prefab create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Prefabs/Examples/Countdown.prefab.meta create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Prefabs/Examples/Damage Effect.prefab create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Prefabs/Examples/Damage Effect.prefab.meta create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Prefabs/Examples/Typewriter Sound Effect.wav create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Prefabs/Examples/Typewriter Sound Effect.wav.meta create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Prefabs/Examples/Typewriter.prefab create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Prefabs/Examples/Typewriter.prefab.meta create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Prefabs/Scene.prefab create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Prefabs/Scene.prefab.meta create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Readme.txt create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Readme.txt.meta create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Sample Scenes.meta create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Sample Scenes/01 Text - M3DText.unity create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Sample Scenes/01 Text - M3DText.unity.meta create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Sample Scenes/02 Input Field - M3DText.unity create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Sample Scenes/02 Input Field - M3DText.unity.meta create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Sample Scenes/03 Button - M3DText.unity create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Sample Scenes/03 Button - M3DText.unity.meta create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Sample Scenes/04 Slider - M3DText.unity create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Sample Scenes/04 Slider - M3DText.unity.meta create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Sample Scenes/05 Toggle - M3DText.unity create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Sample Scenes/05 Toggle - M3DText.unity.meta create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Sample Scenes/06 Fonts - M3DText.unity create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Sample Scenes/06 Fonts - M3DText.unity.meta create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Sample Scenes/07 Lists - M3DText.unity create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Sample Scenes/07 Lists - M3DText.unity.meta create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Sample Scenes/08 Dropdown - M3DText.unity create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Sample Scenes/08 Dropdown - M3DText.unity.meta create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Sample Scenes/09 Example - Typewriter - M3DText.unity create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Sample Scenes/09 Example - Typewriter - M3DText.unity.meta create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Sample Scenes/10 Example - Countdown with Modules- M3DText.unity create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Sample Scenes/10 Example - Countdown with Modules- M3DText.unity.meta create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Sample Scenes/11 Modules Tutorial.meta create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Sample Scenes/11 Modules Tutorial/Animation.controller create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Sample Scenes/11 Modules Tutorial/Animation.controller.meta create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Sample Scenes/11 Modules Tutorial/Modules tutorial image 0.png create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Sample Scenes/11 Modules Tutorial/Modules tutorial image 0.png.meta create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Sample Scenes/11 Modules Tutorial/Modules tutorial image 1.png create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Sample Scenes/11 Modules Tutorial/Modules tutorial image 1.png.meta create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Sample Scenes/11 Modules Tutorial/Modules tutorial image 2.png create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Sample Scenes/11 Modules Tutorial/Modules tutorial image 2.png.meta create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Sample Scenes/11 Modules Tutorial/Modules tutorial image 3.png create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Sample Scenes/11 Modules Tutorial/Modules tutorial image 3.png.meta create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Sample Scenes/11 Modules Tutorial/Modules tutorial image 4.png create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Sample Scenes/11 Modules Tutorial/Modules tutorial image 4.png.meta create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Sample Scenes/11 Modules Tutorial/Modules tutorial image 5.png create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Sample Scenes/11 Modules Tutorial/Modules tutorial image 5.png.meta create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Sample Scenes/11 Modules Tutorial/Modules tutorial image 6.png create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Sample Scenes/11 Modules Tutorial/Modules tutorial image 6.png.meta create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Sample Scenes/11 Modules Tutorial/Tutorial anim.anim create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Sample Scenes/11 Modules Tutorial/Tutorial anim.anim.meta create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Sample Scenes/11 Tutoiral - Modules - M3DText.unity create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Sample Scenes/11 Tutoiral - Modules - M3DText.unity.meta create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Sample Scenes/12 Example - Shop Signs - M3DText.unity create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Sample Scenes/12 Example - Shop Signs - M3DText.unity.meta create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Sample Scenes/13 Example - Damage Effects - M3DText.unity create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Sample Scenes/13 Example - Damage Effects - M3DText.unity.meta create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Sample Scenes/14 Example - Particle System Module - M3DText.unity create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Sample Scenes/14 Example - Particle System Module - M3DText.unity.meta create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Sample Scenes/15 Horizontal Selector - M3DText.unity create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Sample Scenes/15 Horizontal Selector - M3DText.unity.meta create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Sample Scenes/16 Screen Space Canvas - M3DText.unity create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Sample Scenes/16 Screen Space Canvas - M3DText.unity.meta create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Setup Files.meta create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Setup Files/Modular 3D Text Package Importer.asset create mode 100644 Assets/Tiny Giant Studio/Modular 3D Text/Setup Files/Modular 3D Text Package Importer.asset.meta diff --git a/Assets/01_Scenes/MyProject/GameScene.unity b/Assets/01_Scenes/MyProject/GameScene.unity index d4917c54..3f7461ad 100644 --- a/Assets/01_Scenes/MyProject/GameScene.unity +++ b/Assets/01_Scenes/MyProject/GameScene.unity @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:643f637dcc42003e38ddb65d172ca7bc678c2d5a55bace7b1d492586846a5657 -size 13375791 +oid sha256:9a5631874c7d10adbbe2844b5f68a47974c5481e3660c0b7b4c28202b34d319a +size 13613481 diff --git a/Assets/Plugins.meta b/Assets/Plugins.meta new file mode 100644 index 00000000..a08a8217 --- /dev/null +++ b/Assets/Plugins.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6ef8161a6e819cd4e99a50e1d4faf618 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/Tiny Giant Studio.meta b/Assets/Plugins/Tiny Giant Studio.meta new file mode 100644 index 00000000..992d4006 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c1c30d68934984743a7660eca7b80a78 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/Tiny Giant Studio/Common Scripts.meta b/Assets/Plugins/Tiny Giant Studio/Common Scripts.meta new file mode 100644 index 00000000..eda10983 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Common Scripts.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0b0475cdf9bfe4048a829cc3505eb492 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/Tiny Giant Studio/Common Scripts/Editor.meta b/Assets/Plugins/Tiny Giant Studio/Common Scripts/Editor.meta new file mode 100644 index 00000000..ee4e7aaf --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Common Scripts/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1e7b6b8f46e56034cb346474c6270d26 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/Tiny Giant Studio/Common Scripts/Editor/MText_Editor_Classes.cs b/Assets/Plugins/Tiny Giant Studio/Common Scripts/Editor/MText_Editor_Classes.cs new file mode 100644 index 00000000..249ce521 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Common Scripts/Editor/MText_Editor_Classes.cs @@ -0,0 +1,13 @@ +namespace TinyGiantStudio.EditorHelpers +{ + public enum FieldSize + { + tiny, + small, + normal, + large, + extraLarge, + gigantic, + mega + } +} \ No newline at end of file diff --git a/Assets/Plugins/Tiny Giant Studio/Common Scripts/Editor/MText_Editor_Classes.cs.meta b/Assets/Plugins/Tiny Giant Studio/Common Scripts/Editor/MText_Editor_Classes.cs.meta new file mode 100644 index 00000000..b027f9ce --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Common Scripts/Editor/MText_Editor_Classes.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: c64f94b7e05bd3f4e929d988cad3f3ef +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Common Scripts/Editor/MText_Editor_Classes.cs + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Common Scripts/Editor/MText_Editor_Methods.cs b/Assets/Plugins/Tiny Giant Studio/Common Scripts/Editor/MText_Editor_Methods.cs new file mode 100644 index 00000000..53d910bf --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Common Scripts/Editor/MText_Editor_Methods.cs @@ -0,0 +1,169 @@ +using System.Reflection; +using UnityEditor; +using UnityEngine; + +namespace TinyGiantStudio.EditorHelpers +{ + /// + /// This helps draw common stuff shared by editor scripts in a uniform manner for IMGUI + /// + public static class MText_Editor_Methods + { + private static readonly float defaultTinyHorizontalFieldSize = 50f; + private static readonly float defaultSmallHorizontalFieldSize = 72.5f; + private static readonly float defaultNormalltHorizontalFieldSize = 100; + private static readonly float defaultLargeHorizontalFieldSize = 120f; + private static readonly float defaultExtraLargeHorizontalFieldSize = 155f; + private static readonly float defaultGiganticHorizontalFieldSize = 220; + private static readonly float defaultMegaHorizontalFieldSize = 300; + + private static GUIStyle defaultLabel; + private static GUIStyle defaultMultilineLabel; + + public static void HorizontalField(SerializedProperty property, string label, string toolTip = "", FieldSize fieldSize = FieldSize.normal) + { + if (property == null) + return; + + float myMaxWidth = GetMyMaxWidth(fieldSize); + float defaultWidth = EditorGUIUtility.labelWidth; + EditorGUIUtility.labelWidth = myMaxWidth; + + GUILayout.BeginHorizontal(); + GUIContent gUIContent = new GUIContent(label, toolTip); + EditorGUILayout.PropertyField(property, gUIContent); + GUILayout.EndHorizontal(); + + EditorGUIUtility.labelWidth = defaultWidth; + } + + /// + /// + /// + /// + /// + /// + /// + /// Reduces total width taken by the property + public static void ItalicHorizontalField(SerializedProperty property, string label, string toolTip = "", FieldSize fieldSize = FieldSize.normal, bool applySizeToPropertyField = false) + { + if (property == null) + return; + + GenerateStyle(); + + float myMaxWidth = GetMyMaxWidth(fieldSize); + + GUILayout.BeginHorizontal(); + EditorGUILayout.LabelField(new GUIContent(label, toolTip), defaultLabel, GUILayout.MaxWidth(myMaxWidth)); + if (applySizeToPropertyField) + EditorGUILayout.PropertyField(property, GUIContent.none, GUILayout.MaxWidth(myMaxWidth / 2)); + else + EditorGUILayout.PropertyField(property, GUIContent.none); + GUILayout.EndHorizontal(); + } + + /// + /// + /// + /// + /// + /// + /// + /// Reduces total width taken by the property + public static void DisabledItalicHorizontalField(SerializedProperty property, string label, string toolTip = "", FieldSize fieldSize = FieldSize.normal) + { + if (property == null) + return; + + GenerateStyle(); + + float myMaxWidth = GetMyMaxWidth(fieldSize); + GUI.enabled = false; + GUILayout.BeginHorizontal(); + EditorGUILayout.LabelField(new GUIContent(label, toolTip), defaultLabel, GUILayout.MaxWidth(myMaxWidth)); + EditorGUILayout.PropertyField(property, GUIContent.none); + GUILayout.EndHorizontal(); + GUI.enabled = true; + } + + public static void PreviewField(SerializedProperty property, Object targetObject, string label, string toolTip = "") + { + if (property == null) return; + + GenerateStyle(); + + if (targetObject) + { + //Texture2D texture = AssetPreview.GetAssetPreview(targetObject); + GUILayout.Box(AssetPreview.GetAssetPreview(targetObject), GUIStyle.none, GUILayout.MaxWidth(40), GUILayout.MaxHeight(40)); + } + + try + { + GUILayout.BeginVertical(); + GUIContent content = new GUIContent(label, toolTip); + float minWidth = defaultMultilineLabel.CalcSize(content).x; + EditorGUILayout.ObjectField(property, new GUIContent(""), GUILayout.MinWidth(minWidth)); + EditorGUILayout.LabelField(content, defaultMultilineLabel); + GUILayout.EndVertical(); + } + catch + { + //Debug.Log("Error " + property.ToString()); + } + } + + private static float GetMyMaxWidth(FieldSize fieldSize) + { + return fieldSize == FieldSize.tiny ? defaultTinyHorizontalFieldSize : fieldSize == FieldSize.small ? defaultSmallHorizontalFieldSize : fieldSize == FieldSize.normal ? defaultNormalltHorizontalFieldSize : fieldSize == FieldSize.large ? defaultLargeHorizontalFieldSize : fieldSize == FieldSize.extraLarge ? defaultExtraLargeHorizontalFieldSize : fieldSize == FieldSize.gigantic ? defaultGiganticHorizontalFieldSize : fieldSize == FieldSize.mega ? defaultMegaHorizontalFieldSize : defaultNormalltHorizontalFieldSize; + } + + private static void GenerateStyle() + { + if (defaultMultilineLabel == null) + { + defaultMultilineLabel = new GUIStyle(EditorStyles.wordWrappedLabel) + { + fontSize = 10, + fontStyle = FontStyle.Italic, + alignment = TextAnchor.MiddleCenter, + }; + if (EditorGUIUtility.isProSkin) + defaultMultilineLabel.normal.textColor = new Color(0.9f, 0.9f, 0.9f, 0.75f); + else + defaultMultilineLabel.normal.textColor = new Color(0.1f, 0.1f, 0.1f, 0.75f); + } + if (defaultLabel == null) + { + defaultLabel = new GUIStyle(EditorStyles.whiteMiniLabel) + { + //fontStyle = FontStyle.Italic, + fontSize = 12 + }; + if (EditorGUIUtility.isProSkin) + defaultLabel.normal.textColor = new Color(0.9f, 0.9f, 0.9f, 0.75f); + else + defaultLabel.normal.textColor = new Color(0.1f, 0.1f, 0.1f, 0.75f); + } + } + + private delegate bool DelegateExecuteMenuItemWithTemporaryContext(string menuItemPath, UnityEngine.Object[] objects); + + private static DelegateExecuteMenuItemWithTemporaryContext ExecuteMenuItemWithTemporaryContext; + + public static void RemoveRectTransform(this GameObject gameObject) + { + var rectTransform = gameObject.GetComponent(); + if (rectTransform != null) + { + if (ExecuteMenuItemWithTemporaryContext == null) + { + ExecuteMenuItemWithTemporaryContext = typeof(EditorApplication).GetMethod("ExecuteMenuItemWithTemporaryContext", BindingFlags.Static | BindingFlags.NonPublic) + .CreateDelegate(typeof(DelegateExecuteMenuItemWithTemporaryContext)) as DelegateExecuteMenuItemWithTemporaryContext; + } + ExecuteMenuItemWithTemporaryContext("CONTEXT/Component/Remove Component", new UnityEngine.Object[] { rectTransform }); + } + } + } +} \ No newline at end of file diff --git a/Assets/Plugins/Tiny Giant Studio/Common Scripts/Editor/MText_Editor_Methods.cs.meta b/Assets/Plugins/Tiny Giant Studio/Common Scripts/Editor/MText_Editor_Methods.cs.meta new file mode 100644 index 00000000..4fc2c5dd --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Common Scripts/Editor/MText_Editor_Methods.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 22cac2b4858a1474ea0ae59d4c12a512 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Common Scripts/Editor/MText_Editor_Methods.cs + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Common.meta b/Assets/Plugins/Tiny Giant Studio/Common.meta new file mode 100644 index 00000000..1211000b --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Common.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e45d6c93d0aaa3f4d915f3992cf9838f +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/Tiny Giant Studio/Common/Artworks.meta b/Assets/Plugins/Tiny Giant Studio/Common/Artworks.meta new file mode 100644 index 00000000..8d70fa35 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Common/Artworks.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3d7fd3337a85ef745be6ea9a0e3e4574 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/Tiny Giant Studio/Common/Artworks/DarkModeIcon.png b/Assets/Plugins/Tiny Giant Studio/Common/Artworks/DarkModeIcon.png new file mode 100644 index 00000000..f150ebfa --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Common/Artworks/DarkModeIcon.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:afc48d5e194286ffc074460288c353a002bb96e9d4be16ce8f114ac11e779b7b +size 1505 diff --git a/Assets/Plugins/Tiny Giant Studio/Common/Artworks/DarkModeIcon.png.meta b/Assets/Plugins/Tiny Giant Studio/Common/Artworks/DarkModeIcon.png.meta new file mode 100644 index 00000000..e84265bb --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Common/Artworks/DarkModeIcon.png.meta @@ -0,0 +1,130 @@ +fileFormatVersion: 2 +guid: c6825acc7f98d024291633f2b31940ae +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMasterTextureLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Server + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Common/Artworks/DarkModeIcon.png + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Common/Artworks/DarkModeIconBG.png b/Assets/Plugins/Tiny Giant Studio/Common/Artworks/DarkModeIconBG.png new file mode 100644 index 00000000..cb994352 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Common/Artworks/DarkModeIconBG.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dc1209607d476684724db24303c45a6dac17125274aa9be71a0626c2f3031888 +size 64882 diff --git a/Assets/Plugins/Tiny Giant Studio/Common/Artworks/DarkModeIconBG.png.meta b/Assets/Plugins/Tiny Giant Studio/Common/Artworks/DarkModeIconBG.png.meta new file mode 100644 index 00000000..cfcd264e --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Common/Artworks/DarkModeIconBG.png.meta @@ -0,0 +1,130 @@ +fileFormatVersion: 2 +guid: 4560912dfe622c440bea0056c40e0399 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMasterTextureLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Server + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Common/Artworks/DarkModeIconBG.png + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Common/Artworks/FacebookIcon.png b/Assets/Plugins/Tiny Giant Studio/Common/Artworks/FacebookIcon.png new file mode 100644 index 00000000..e6749d1f --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Common/Artworks/FacebookIcon.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e6e96994ddfef84c084e278ed6b2aa5b8c59805c8de213902692c0fb5a11e0e7 +size 703 diff --git a/Assets/Plugins/Tiny Giant Studio/Common/Artworks/FacebookIcon.png.meta b/Assets/Plugins/Tiny Giant Studio/Common/Artworks/FacebookIcon.png.meta new file mode 100644 index 00000000..f8a9409a --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Common/Artworks/FacebookIcon.png.meta @@ -0,0 +1,130 @@ +fileFormatVersion: 2 +guid: ab92f6a1c069b1c42a0efdaf8131b5c1 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMasterTextureLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Server + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Common/Artworks/FacebookIcon.png + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Common/Artworks/Information.png b/Assets/Plugins/Tiny Giant Studio/Common/Artworks/Information.png new file mode 100644 index 00000000..3a9d04b5 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Common/Artworks/Information.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5693714dc4b5b092575fb77132abfd6bc8205a04d9ef6af428d073617f8b14b6 +size 239 diff --git a/Assets/Plugins/Tiny Giant Studio/Common/Artworks/Information.png.meta b/Assets/Plugins/Tiny Giant Studio/Common/Artworks/Information.png.meta new file mode 100644 index 00000000..65b2b290 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Common/Artworks/Information.png.meta @@ -0,0 +1,130 @@ +fileFormatVersion: 2 +guid: 2303a5be81186da4f8658cdb0e3584fe +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMasterTextureLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Server + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Common/Artworks/Information.png + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Common/Artworks/LightModeIcon.png b/Assets/Plugins/Tiny Giant Studio/Common/Artworks/LightModeIcon.png new file mode 100644 index 00000000..2be13c7a --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Common/Artworks/LightModeIcon.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1d15d449272ab2637527cf76fcfa54921701d86ab92447673e0b5d9f3f695125 +size 6353 diff --git a/Assets/Plugins/Tiny Giant Studio/Common/Artworks/LightModeIcon.png.meta b/Assets/Plugins/Tiny Giant Studio/Common/Artworks/LightModeIcon.png.meta new file mode 100644 index 00000000..3c9a7a2f --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Common/Artworks/LightModeIcon.png.meta @@ -0,0 +1,130 @@ +fileFormatVersion: 2 +guid: c8d41ea569fe91a45a1e9262519dfc0e +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMasterTextureLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Server + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Common/Artworks/LightModeIcon.png + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Common/Artworks/LightModeIcon2.png b/Assets/Plugins/Tiny Giant Studio/Common/Artworks/LightModeIcon2.png new file mode 100644 index 00000000..e71ccddd --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Common/Artworks/LightModeIcon2.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d9fba6c77866a5c90025590ef6c56e7a5d467d93e08ac9971ca6ffd999186138 +size 1528 diff --git a/Assets/Plugins/Tiny Giant Studio/Common/Artworks/LightModeIcon2.png.meta b/Assets/Plugins/Tiny Giant Studio/Common/Artworks/LightModeIcon2.png.meta new file mode 100644 index 00000000..2e7344ac --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Common/Artworks/LightModeIcon2.png.meta @@ -0,0 +1,130 @@ +fileFormatVersion: 2 +guid: 0bceb21d78cfa8542bc23cd78bdf6d75 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMasterTextureLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Server + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Common/Artworks/LightModeIcon2.png + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Common/Artworks/LightModeIconBG.png b/Assets/Plugins/Tiny Giant Studio/Common/Artworks/LightModeIconBG.png new file mode 100644 index 00000000..ccea8b89 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Common/Artworks/LightModeIconBG.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a2f2afc4830f7a7b4eeefec52e40c024734ff1ac7d2ee67e6b64296b9abd057b +size 54690 diff --git a/Assets/Plugins/Tiny Giant Studio/Common/Artworks/LightModeIconBG.png.meta b/Assets/Plugins/Tiny Giant Studio/Common/Artworks/LightModeIconBG.png.meta new file mode 100644 index 00000000..9699f50a --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Common/Artworks/LightModeIconBG.png.meta @@ -0,0 +1,130 @@ +fileFormatVersion: 2 +guid: 5b028d63d1dc1a64e9b9cc5d044d2365 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMasterTextureLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Server + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Common/Artworks/LightModeIconBG.png + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Common/Artworks/RedditIcon.png b/Assets/Plugins/Tiny Giant Studio/Common/Artworks/RedditIcon.png new file mode 100644 index 00000000..62bf9c9c --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Common/Artworks/RedditIcon.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a3d10cec0c333a7d553261d23309a4b8856d5c73c0366f83c2dd1c09bcdf087f +size 2378 diff --git a/Assets/Plugins/Tiny Giant Studio/Common/Artworks/RedditIcon.png.meta b/Assets/Plugins/Tiny Giant Studio/Common/Artworks/RedditIcon.png.meta new file mode 100644 index 00000000..2451b886 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Common/Artworks/RedditIcon.png.meta @@ -0,0 +1,130 @@ +fileFormatVersion: 2 +guid: c0d38168509c6ce49bf9630f8a70c31c +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMasterTextureLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Server + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Common/Artworks/RedditIcon.png + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Common/Artworks/TGSIcon.png b/Assets/Plugins/Tiny Giant Studio/Common/Artworks/TGSIcon.png new file mode 100644 index 00000000..960b9966 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Common/Artworks/TGSIcon.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:97b5dfebee55599727d6f22f02433b49d5f31b15fbeabfc50c327b039afc3d13 +size 6273 diff --git a/Assets/Plugins/Tiny Giant Studio/Common/Artworks/TGSIcon.png.meta b/Assets/Plugins/Tiny Giant Studio/Common/Artworks/TGSIcon.png.meta new file mode 100644 index 00000000..8dffb636 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Common/Artworks/TGSIcon.png.meta @@ -0,0 +1,130 @@ +fileFormatVersion: 2 +guid: 854daa0ad49d95842a4afd3f3b723874 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMasterTextureLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Server + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Common/Artworks/TGSIcon.png + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Common/Fonts.meta b/Assets/Plugins/Tiny Giant Studio/Common/Fonts.meta new file mode 100644 index 00000000..ab3346fc --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Common/Fonts.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9362ce3bfef09854bb152d60bd692093 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/Tiny Giant Studio/Common/Fonts/Montserrat-Bold SDF.asset b/Assets/Plugins/Tiny Giant Studio/Common/Fonts/Montserrat-Bold SDF.asset new file mode 100644 index 00000000..9ef3f7b3 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Common/Fonts/Montserrat-Bold SDF.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a8b490d82b5646c29ecb3a0549aed185e2f8b8073b487d463d496bca4213904d +size 580106 diff --git a/Assets/Plugins/Tiny Giant Studio/Common/Fonts/Montserrat-Bold SDF.asset.meta b/Assets/Plugins/Tiny Giant Studio/Common/Fonts/Montserrat-Bold SDF.asset.meta new file mode 100644 index 00000000..1425c411 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Common/Fonts/Montserrat-Bold SDF.asset.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: 2acd469fc18d2e04fb4f4a73bb7baa9c +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Common/Fonts/Montserrat-Bold SDF.asset + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Common/Fonts/Montserrat-Bold.ttf b/Assets/Plugins/Tiny Giant Studio/Common/Fonts/Montserrat-Bold.ttf new file mode 100644 index 00000000..f3c58886 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Common/Fonts/Montserrat-Bold.ttf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:189aeb285be99f0b58e454dd2dc3cbf34a6db844a9ef26ebc5909178ff77c5be +size 198072 diff --git a/Assets/Plugins/Tiny Giant Studio/Common/Fonts/Montserrat-Bold.ttf.meta b/Assets/Plugins/Tiny Giant Studio/Common/Fonts/Montserrat-Bold.ttf.meta new file mode 100644 index 00000000..0e1c8115 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Common/Fonts/Montserrat-Bold.ttf.meta @@ -0,0 +1,29 @@ +fileFormatVersion: 2 +guid: a9b28104babb56c499abe3937ca16cea +TrueTypeFontImporter: + externalObjects: {} + serializedVersion: 4 + fontSize: 16 + forceTextureCase: -2 + characterSpacing: 0 + characterPadding: 1 + includeFontData: 1 + fontNames: + - Montserrat + fallbackFontReferences: + - {fileID: 12800000, guid: e8239e9a7fbaa2048a9e65d5d35d76ce, type: 3} + customCharacters: + fontRenderingMode: 0 + ascentCalculationMode: 1 + useLegacyBoundsCalculation: 0 + shouldRoundAdvanceValue: 1 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Common/Fonts/Montserrat-Bold.ttf + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Common/Fonts/Montserrat-Regular SDF.asset b/Assets/Plugins/Tiny Giant Studio/Common/Fonts/Montserrat-Regular SDF.asset new file mode 100644 index 00000000..2e8547f4 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Common/Fonts/Montserrat-Regular SDF.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ace68f610988e561ada897845af08a9a92df1e8c4fada9af0734d95f89df38bd +size 715728 diff --git a/Assets/Plugins/Tiny Giant Studio/Common/Fonts/Montserrat-Regular SDF.asset.meta b/Assets/Plugins/Tiny Giant Studio/Common/Fonts/Montserrat-Regular SDF.asset.meta new file mode 100644 index 00000000..406e6fe3 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Common/Fonts/Montserrat-Regular SDF.asset.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: 5f7aecc8015b29a4fa747b92096f9790 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Common/Fonts/Montserrat-Regular SDF.asset + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Common/Fonts/Montserrat-Regular.ttf b/Assets/Plugins/Tiny Giant Studio/Common/Fonts/Montserrat-Regular.ttf new file mode 100644 index 00000000..9f33d37e --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Common/Fonts/Montserrat-Regular.ttf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dcfe8df29e553fbd655212f94300cb1e704c6cd147fa7a98cb4bcd9eb92c6707 +size 197976 diff --git a/Assets/Plugins/Tiny Giant Studio/Common/Fonts/Montserrat-Regular.ttf.meta b/Assets/Plugins/Tiny Giant Studio/Common/Fonts/Montserrat-Regular.ttf.meta new file mode 100644 index 00000000..42962d39 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Common/Fonts/Montserrat-Regular.ttf.meta @@ -0,0 +1,28 @@ +fileFormatVersion: 2 +guid: e8239e9a7fbaa2048a9e65d5d35d76ce +TrueTypeFontImporter: + externalObjects: {} + serializedVersion: 4 + fontSize: 16 + forceTextureCase: -2 + characterSpacing: 0 + characterPadding: 1 + includeFontData: 1 + fontNames: + - Montserrat + fallbackFontReferences: [] + customCharacters: + fontRenderingMode: 0 + ascentCalculationMode: 1 + useLegacyBoundsCalculation: 0 + shouldRoundAdvanceValue: 1 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Common/Fonts/Montserrat-Regular.ttf + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Common/Fonts/Montserrat-SemiBold SDF.asset b/Assets/Plugins/Tiny Giant Studio/Common/Fonts/Montserrat-SemiBold SDF.asset new file mode 100644 index 00000000..3371d020 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Common/Fonts/Montserrat-SemiBold SDF.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7048c9e1c8f4132bc0dd19ddbbd71e402f66c7c49d6909edaf5e26f7eac0303c +size 18006657 diff --git a/Assets/Plugins/Tiny Giant Studio/Common/Fonts/Montserrat-SemiBold SDF.asset.meta b/Assets/Plugins/Tiny Giant Studio/Common/Fonts/Montserrat-SemiBold SDF.asset.meta new file mode 100644 index 00000000..8368dddb --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Common/Fonts/Montserrat-SemiBold SDF.asset.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: 3f2d54698aa06f3499c2f510a4aa170e +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Common/Fonts/Montserrat-SemiBold SDF.asset + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Common/Fonts/Montserrat-SemiBold.ttf b/Assets/Plugins/Tiny Giant Studio/Common/Fonts/Montserrat-SemiBold.ttf new file mode 100644 index 00000000..98e75217 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Common/Fonts/Montserrat-SemiBold.ttf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1418bd4d74c35bfa473d404b8b94b3e83784efa32ed9875a28a2e83449d02942 +size 198204 diff --git a/Assets/Plugins/Tiny Giant Studio/Common/Fonts/Montserrat-SemiBold.ttf.meta b/Assets/Plugins/Tiny Giant Studio/Common/Fonts/Montserrat-SemiBold.ttf.meta new file mode 100644 index 00000000..2cbef6d4 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Common/Fonts/Montserrat-SemiBold.ttf.meta @@ -0,0 +1,30 @@ +fileFormatVersion: 2 +guid: 9adadeb836c409344991102d1e896531 +TrueTypeFontImporter: + externalObjects: {} + serializedVersion: 4 + fontSize: 16 + forceTextureCase: -2 + characterSpacing: 0 + characterPadding: 1 + includeFontData: 1 + fontNames: + - Montserrat + fallbackFontReferences: + - {fileID: 12800000, guid: e8239e9a7fbaa2048a9e65d5d35d76ce, type: 3} + - {fileID: 12800000, guid: a9b28104babb56c499abe3937ca16cea, type: 3} + customCharacters: + fontRenderingMode: 0 + ascentCalculationMode: 1 + useLegacyBoundsCalculation: 0 + shouldRoundAdvanceValue: 1 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Common/Fonts/Montserrat-SemiBold.ttf + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts.meta new file mode 100644 index 00000000..8f5752dc --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9df91a5e5889557478f28e7b1f2f55f4 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Animated Element Updater.asset b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Animated Element Updater.asset new file mode 100644 index 00000000..019ec76a --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Animated Element Updater.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:933b59e6775725a3c589414e70748056c4ade34b51b5e2a814a14a1bee71c8ff +size 3761 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Animated Element Updater.asset.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Animated Element Updater.asset.meta new file mode 100644 index 00000000..ac96cbfc --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Animated Element Updater.asset.meta @@ -0,0 +1,16 @@ +fileFormatVersion: 2 +guid: bc15069194f682744b29f493744cb061 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Animated Element + Updater.asset + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts.meta new file mode 100644 index 00000000..90b8412b --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8993fc79d8f057645b645947f79891e4 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Editor.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Editor.meta new file mode 100644 index 00000000..aa443902 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 713a979a34f11be4bafd6f27bbd48cb9 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Editor/CircularLayoutGroupEditor.cs b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Editor/CircularLayoutGroupEditor.cs new file mode 100644 index 00000000..a43bec37 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Editor/CircularLayoutGroupEditor.cs @@ -0,0 +1,169 @@ +using UnityEditor; +using UnityEngine; +using TinyGiantStudio.Modules; + +#if MODULAR_3D_TEXT +using TinyGiantStudio.Text; +#endif + +using TinyGiantStudio.EditorHelpers; + + +namespace TinyGiantStudio.Layout +{ + [CustomEditor(typeof(CircularLayoutGroup))] + public class CircularLayoutGroupEditor : Editor + { + CircularLayoutGroup myTarget; + SerializedObject soTarget; + + SerializedProperty autoItemSize; + SerializedProperty angle; + SerializedProperty useAngle; + SerializedProperty style; + + SerializedProperty spread; + SerializedProperty radius; + SerializedProperty radiusDecreaseRate; + + SerializedProperty alwaysUpdateInPlayMode; + SerializedProperty alwaysUpdateBounds; + + SerializedProperty elementUpdater; + SerializedProperty showSceneViewGizmo; + + Texture rightIcon; + Texture leftIcon; + + + + void OnEnable() + { + myTarget = (CircularLayoutGroup)target; + soTarget = new SerializedObject(target); + + rightIcon = EditorGUIUtility.Load("Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Utility/Editor Icons/Icon_Right.png") as Texture; + leftIcon = EditorGUIUtility.Load("Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Utility/Editor Icons/Icon_Left.png") as Texture; + + FindProperties(); + } + + public override void OnInspectorGUI() + { + soTarget.Update(); + EditorGUI.BeginChangeCheck(); + //EditorGUILayout.PropertyField(direction, GUIContent.none); + + GUILayout.BeginHorizontal(); + float size = 38; + if (myTarget.direction != CircularLayoutGroup.Direction.left) + GUI.color = Color.gray; + if (GUILayout.Button(leftIcon, GUILayout.Height(size), GUILayout.Width(size))) //need to add undo + { + myTarget.direction = CircularLayoutGroup.Direction.left; + EditorUtility.SetDirty(myTarget); +#if MODULAR_3D_TEXT + if (myTarget.GetComponent()) + myTarget.GetComponent().CleanUpdateText(); + else +#endif + myTarget.UpdateLayout(); + + } + + GUI.color = Color.white; + + GUILayout.BeginVertical(); + GUILayout.BeginHorizontal(); + EditorGUILayout.PropertyField(useAngle, GUIContent.none, GUILayout.MaxWidth(15)); + + if (!myTarget.useAngle) + GUI.color = Color.gray; + EditorGUILayout.PropertyField(angle, GUIContent.none); + + GUILayout.EndHorizontal(); + if (myTarget.useAngle) + GUI.color = Color.gray; + else + GUI.color = Color.white; + EditorGUILayout.PropertyField(style, GUIContent.none); + GUILayout.EndVertical(); + + + if (myTarget.direction != CircularLayoutGroup.Direction.right) + GUI.color = Color.gray; + else + GUI.color = Color.white; + + if (GUILayout.Button(rightIcon, GUILayout.Height(size), GUILayout.Width(size))) //need to add undo + { + myTarget.direction = CircularLayoutGroup.Direction.right; + EditorUtility.SetDirty(myTarget); +#if MODULAR_3D_TEXT + if (myTarget.GetComponent()) + myTarget.GetComponent().CleanUpdateText(); + else +#endif + myTarget.UpdateLayout(); + + } + GUI.color = Color.white; + GUILayout.EndHorizontal(); + + EditorGUILayout.PropertyField(spread); + EditorGUILayout.PropertyField(radius); + MText_Editor_Methods.HorizontalField(radiusDecreaseRate, "Radius Decrease Rate", "", FieldSize.extraLarge); + DrawAutoItemSize(); + + if (ModuleDrawer.ElementUpdatersExist()) + ModuleDrawer.ElementUpdaterContainerList("Element Updater", "", myTarget.elementUpdater, elementUpdater, soTarget); + + GUILayout.Space(5); + + MText_Editor_Methods.ItalicHorizontalField(alwaysUpdateInPlayMode, "Always update in playmode", "For performance, it's better to leave it to false and call UpdateLayout() after making changes.\nTurn this on if you are in a hurry or testing stuff.", FieldSize.gigantic); + MText_Editor_Methods.ItalicHorizontalField(alwaysUpdateBounds, "Always update bounds", "For performance, it's better to leave it to false and call GetAllChildBounds() when a bound(size of an element) changes", FieldSize.gigantic); + MText_Editor_Methods.ItalicHorizontalField(showSceneViewGizmo, "Show Scene View Gizmo", "", FieldSize.gigantic); + + GUILayout.Space(5); + if (EditorGUI.EndChangeCheck()) + { + if (soTarget.ApplyModifiedProperties()) + { +#if MODULAR_3D_TEXT + if (myTarget.GetComponent()) + myTarget.GetComponent().CleanUpdateText(); +#endif + } + //EditorUtility.SetDirty(myTarget); + } + } + + private void DrawAutoItemSize() + { +#if MODULAR_3D_TEXT + if (!myTarget.GetComponent()) +#endif + { + EditorGUILayout.PropertyField(autoItemSize); + } + } + + void FindProperties() + { + autoItemSize = soTarget.FindProperty("autoItemSize"); + useAngle = soTarget.FindProperty("useAngle"); + angle = soTarget.FindProperty("angle"); + style = soTarget.FindProperty("style"); + + spread = soTarget.FindProperty("spread"); + radius = soTarget.FindProperty("radius"); + radiusDecreaseRate = soTarget.FindProperty("radiusDecreaseRate"); + + alwaysUpdateInPlayMode = soTarget.FindProperty("alwaysUpdateInPlayMode"); + alwaysUpdateBounds = soTarget.FindProperty("alwaysUpdateBounds"); + + elementUpdater = soTarget.FindProperty("elementUpdater"); + showSceneViewGizmo = soTarget.FindProperty("showSceneViewGizmo"); + } + } +} \ No newline at end of file diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Editor/CircularLayoutGroupEditor.cs.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Editor/CircularLayoutGroupEditor.cs.meta new file mode 100644 index 00000000..ae1ed7f9 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Editor/CircularLayoutGroupEditor.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: aea7f963759a71340af71b416098e2ad +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Editor/CircularLayoutGroupEditor.cs + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Editor/GridLayoutGroupEditor.cs b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Editor/GridLayoutGroupEditor.cs new file mode 100644 index 00000000..089df565 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Editor/GridLayoutGroupEditor.cs @@ -0,0 +1,547 @@ +using UnityEditor; +using UnityEditor.AnimatedValues; +using UnityEngine; +using TinyGiantStudio.Modules; + +#if MODULAR_3D_TEXT + +using TinyGiantStudio.Text; + +#endif + +using TinyGiantStudio.EditorHelpers; + +namespace TinyGiantStudio.Layout +{ + [CustomEditor(typeof(GridLayoutGroup))] + public class GridLayoutGroupEditor : Editor + { +#if MODULAR_3D_TEXT + public AssetSettings settings; +#endif + + private GridLayoutGroup myTarget; + private SerializedObject soTarget; + + private SerializedProperty autoItemSize; + + //SerializedProperty justiceHorizontal; + private SerializedProperty justiceHorizontalPercent; + + //SerializedProperty justiceVertical; + //SerializedProperty JusticeVerticalPercent; + private SerializedProperty spacing; + + private SerializedProperty width; + private SerializedProperty height; + private SerializedProperty lines; + private SerializedProperty bounds; + private SerializedProperty lineSpacingStyle; + private SerializedProperty verticalOverflow; + private SerializedProperty elementUpdater; + + private SerializedProperty alwaysUpdateInPlayMode; + private SerializedProperty alwaysUpdateBounds; + + private SerializedProperty showSceneViewGizmo; + + //style + private static GUIStyle toggleStyle = null; + + private static GUIStyle foldOutStyle = null; + private static GUIStyle defaultLabel = null; + + private AnimBool showDebug; + + private static Color openedFoldoutTitleColor = new Color(124 / 255f, 170 / 255f, 239 / 255f, 0.9f); + private static Color toggledOnButtonColor = Color.white; + private static Color toggledOffButtonColor = Color.gray; + + private Texture justiceHorizontalTexture; + + private void OnEnable() + { + myTarget = (GridLayoutGroup)target; + soTarget = new SerializedObject(target); + + FindProperties(); + +#if MODULAR_3D_TEXT + if (!settings) + settings = StaticMethods.VerifySettings(settings); +#endif + + justiceHorizontalTexture = EditorGUIUtility.Load("Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Utility/Editor Icons/Justice Horizontal.png") as Texture; + + if (myTarget.gameObject.GetComponentInParent()) + { + if (!myTarget.gameObject.GetComponent()) + { + myTarget.gameObject.AddComponent(); + } + } + else + { + if (myTarget.gameObject.GetComponent()) + { + MText_Editor_Methods.RemoveRectTransform(myTarget.gameObject); + } + } + } + + public override void OnInspectorGUI() + { + soTarget.Update(); + GenerateStyle(); + EditorGUI.BeginChangeCheck(); + + EditorGUILayout.Space(6); + DrawSize(); + EditorGUILayout.Space(6); + DrawAlignment(); + EditorGUILayout.Space(6); + DrawControls(); + + EditorGUILayout.Space(5); + if (ModuleDrawer.ElementUpdatersExist()) + ModuleDrawer.ElementUpdaterContainerList("Element Updater", "", myTarget.elementUpdater, elementUpdater, soTarget); + EditorGUILayout.Space(5); + + MText_Editor_Methods.ItalicHorizontalField(alwaysUpdateInPlayMode, "Always update in playmode", "For performance, it's better to leave it to false and call UpdateLayout() after making changes.\nTurn this on if you are in a hurry or testing stuff.", FieldSize.gigantic); + MText_Editor_Methods.ItalicHorizontalField(alwaysUpdateBounds, "Always update bounds", "For performance, it's better to leave it to false and call GetAllChildBounds() when a bound(size of an element) changes", FieldSize.gigantic); + MText_Editor_Methods.ItalicHorizontalField(showSceneViewGizmo, "Show Scene View Gizmo", "", FieldSize.gigantic); + + EditorGUILayout.Space(15); + DrawDebug(); + + if (EditorGUI.EndChangeCheck()) + { + Alignment anchor = myTarget.Anchor; + if (soTarget.ApplyModifiedProperties()) + { +#if MODULAR_3D_TEXT + if (myTarget.GetComponent()) + { + if (anchor != myTarget.Anchor) + { + myTarget.GetComponent().CleanUpdateText(); + } + else + { + //if (!myTarget.GetComponent().ShouldItCreateChild()) + { + myTarget.GetComponent().CleanUpdateText(); + } + } + } +#endif + } + //EditorUtility.SetDirty(myTarget); + } + } + + private void DrawControls() + { + GUILayout.BeginHorizontal(); + EditorGUILayout.LabelField("Spacing", defaultLabel, GUILayout.MaxWidth(75)); + EditorGUILayout.PropertyField(spacing, GUIContent.none); + GUILayout.EndHorizontal(); + +#if MODULAR_3D_TEXT + if (!myTarget.GetComponent()) +#endif + { + EditorGUILayout.Space(5); + EditorGUILayout.PropertyField(autoItemSize); + MText_Editor_Methods.HorizontalField(lineSpacingStyle, "Line Spacing Style", "", FieldSize.large); + } + MText_Editor_Methods.HorizontalField(verticalOverflow, "Vertical Overflow", "", FieldSize.large); + } + + private void DrawAlignment() + { + Color originalColor = GUI.color; + + GUILayout.BeginHorizontal(); + + if (IsHorizontallyLeft()) + GUI.color = toggledOnButtonColor; + else + GUI.color = toggledOffButtonColor; + if (LeftButton(EditorGUIUtility.IconContent("d_align_horizontally_left"))) + { + Undo.RecordObject(myTarget, "Update layout"); + if (myTarget.Anchor == Alignment.UpperCenter || myTarget.Anchor == Alignment.UpperRight) + myTarget.Anchor = Alignment.UpperLeft; + if (myTarget.Anchor == Alignment.MiddleCenter || myTarget.Anchor == Alignment.MiddleRight) + myTarget.Anchor = Alignment.MiddleLeft; + if (myTarget.Anchor == Alignment.LowerCenter || myTarget.Anchor == Alignment.LowerRight) + myTarget.Anchor = Alignment.LowerLeft; + EditorUtility.SetDirty(myTarget); + } + + if (IsHorizontallyCentered()) + GUI.color = toggledOnButtonColor; + else + GUI.color = toggledOffButtonColor; + if (MidButton(EditorGUIUtility.IconContent("d_align_horizontally_center"))) + { + Undo.RecordObject(myTarget, "Update layout"); + if (myTarget.Anchor == Alignment.UpperLeft || myTarget.Anchor == Alignment.UpperRight) + myTarget.Anchor = Alignment.UpperCenter; + if (myTarget.Anchor == Alignment.MiddleLeft || myTarget.Anchor == Alignment.MiddleRight) + myTarget.Anchor = Alignment.MiddleCenter; + if (myTarget.Anchor == Alignment.LowerLeft || myTarget.Anchor == Alignment.LowerRight) + myTarget.Anchor = Alignment.LowerCenter; + EditorUtility.SetDirty(myTarget); + } + + if (IsHorizontallyRight()) + GUI.color = toggledOnButtonColor; + else + GUI.color = toggledOffButtonColor; + if (RightButton(EditorGUIUtility.IconContent("d_align_horizontally_right"))) + { + Undo.RecordObject(myTarget, "Update layout"); + if (myTarget.Anchor == Alignment.UpperLeft || myTarget.Anchor == Alignment.UpperCenter) + myTarget.Anchor = Alignment.UpperRight; + if (myTarget.Anchor == Alignment.MiddleLeft || myTarget.Anchor == Alignment.MiddleCenter) + myTarget.Anchor = Alignment.MiddleRight; + if (myTarget.Anchor == Alignment.LowerLeft || myTarget.Anchor == Alignment.LowerCenter) + myTarget.Anchor = Alignment.LowerRight; + EditorUtility.SetDirty(myTarget); + } + + GUI.color = originalColor; + + GUILayout.EndHorizontal(); + + GUILayout.BeginHorizontal(); + + if (IsVerticallyUp()) + GUI.color = toggledOnButtonColor; + else + GUI.color = toggledOffButtonColor; + if (LeftButton(EditorGUIUtility.IconContent("d_align_vertically_top"))) + { + Undo.RecordObject(myTarget, "Update layout"); + if (myTarget.Anchor == Alignment.MiddleLeft || myTarget.Anchor == Alignment.LowerLeft) + myTarget.Anchor = Alignment.UpperLeft; + if (myTarget.Anchor == Alignment.MiddleCenter || myTarget.Anchor == Alignment.LowerCenter) + myTarget.Anchor = Alignment.UpperCenter; + if (myTarget.Anchor == Alignment.MiddleRight || myTarget.Anchor == Alignment.LowerRight) + myTarget.Anchor = Alignment.UpperRight; + EditorUtility.SetDirty(myTarget); + } + + if (IsVerticallyMiddle()) + GUI.color = toggledOnButtonColor; + else + GUI.color = toggledOffButtonColor; + if (MidButton(EditorGUIUtility.IconContent("d_align_vertically_center"))) + { + Undo.RecordObject(myTarget, "Update layout"); + if (myTarget.Anchor == Alignment.UpperLeft || myTarget.Anchor == Alignment.LowerLeft) + myTarget.Anchor = Alignment.MiddleLeft; + if (myTarget.Anchor == Alignment.UpperCenter || myTarget.Anchor == Alignment.LowerCenter) + myTarget.Anchor = Alignment.MiddleCenter; + if (myTarget.Anchor == Alignment.UpperRight || myTarget.Anchor == Alignment.LowerRight) + myTarget.Anchor = Alignment.MiddleRight; + EditorUtility.SetDirty(myTarget); + } + + if (IsVerticallyBottom()) + GUI.color = toggledOnButtonColor; + else + GUI.color = toggledOffButtonColor; + if (RightButton(EditorGUIUtility.IconContent("d_align_vertically_bottom"))) + { + Undo.RecordObject(myTarget, "Update layout"); + if (myTarget.Anchor == Alignment.UpperLeft || myTarget.Anchor == Alignment.MiddleLeft) + myTarget.Anchor = Alignment.LowerLeft; + if (myTarget.Anchor == Alignment.UpperCenter || myTarget.Anchor == Alignment.MiddleCenter) + myTarget.Anchor = Alignment.LowerCenter; + if (myTarget.Anchor == Alignment.UpperRight || myTarget.Anchor == Alignment.MiddleRight) + myTarget.Anchor = Alignment.LowerRight; + EditorUtility.SetDirty(myTarget); + } + + GUI.color = originalColor; + + //EditorGUILayout.LabelField(GUIContent.none, GUILayout.MaxWidth(1.5f), GUILayout.MinWidth(1.5f)); + + //var verticalJustice = Resources.Load("Justice Vertical") as Texture; + + //GUIContent verticalJusticeContent; + + //if (verticalJustice) + // verticalJusticeContent = new GUIContent(verticalJustice, "Vertical Justice.\nTry to fill the full height with content."); + //else + // verticalJusticeContent = new GUIContent("Justice Horizontal"); + + //if (myTarget.JusticeVertical) + // GUI.color = toggledOnButtonColor; + //else + // GUI.color = toggledOffButtonColor; + + //if (LeftButton(verticalJusticeContent)) + //{ + // myTarget.JusticeVertical = !myTarget.JusticeVertical; + //} + + //if (myTarget.JusticeVertical) + //{ + // EditorGUILayout.LabelField(GUIContent.none, GUILayout.MinWidth(1), GUILayout.MaxWidth(1)); + // EditorGUILayout.LabelField(new GUIContent("%", "Justice will be only be applied if the elements hold equal/more than the % height"), GUILayout.MinWidth(15), GUILayout.MaxWidth(15)); + // EditorGUILayout.PropertyField(JusticeVerticalPercent, GUIContent.none, GUILayout.MinWidth(50), GUILayout.MaxWidth(50)); + //} + //else + //{ + //EditorGUILayout.LabelField(GUIContent.none, GUILayout.MinWidth(1), GUILayout.MaxWidth(1)); + //EditorGUILayout.LabelField(GUIContent.none, GUILayout.MinWidth(15), GUILayout.MaxWidth(15)); + //EditorGUILayout.LabelField(GUIContent.none, GUILayout.MinWidth(50), GUILayout.MaxWidth(50)); + //} + GUILayout.EndHorizontal(); + GUILayout.Space(5); + + GUILayout.BeginHorizontal(); + JusticeHorizontal(); + GUILayout.EndHorizontal(); + + GUI.color = originalColor; + } + + private void JusticeHorizontal() + { + GUIContent content; + + if (justiceHorizontalTexture) + content = new GUIContent(justiceHorizontalTexture, "Horizontal Justice.\nTry to fill the full width with content."); + else + content = new GUIContent("Justice Horizontal"); + + if (myTarget.JusticeHorizontal) + GUI.color = toggledOnButtonColor; + else + GUI.color = toggledOffButtonColor; + + if (MidButton(content)) + { + Undo.RecordObject(myTarget, "Update layout"); + myTarget.JusticeHorizontal = !myTarget.JusticeHorizontal; + } + + if (myTarget.JusticeHorizontal) + { + GUI.color = toggledOnButtonColor; + EditorGUILayout.LabelField(new GUIContent("%", "Justice will be only be applied if the elements hold equal/more than the % width"), GUILayout.MinWidth(15), GUILayout.MaxWidth(15)); + EditorGUILayout.PropertyField(justiceHorizontalPercent, GUIContent.none, GUILayout.MinWidth(50), GUILayout.MaxWidth(50)); + } + else + { + EditorGUILayout.LabelField(GUIContent.none, GUILayout.MinWidth(15), GUILayout.MaxWidth(15)); + EditorGUILayout.LabelField(GUIContent.none, GUILayout.MinWidth(50), GUILayout.MaxWidth(50)); + } + } + + private bool IsHorizontallyLeft() + { + if (myTarget.Anchor == Alignment.UpperLeft || myTarget.Anchor == Alignment.MiddleLeft || myTarget.Anchor == Alignment.LowerLeft) + return true; + return false; + } + + private bool IsHorizontallyCentered() + { + if (myTarget.Anchor == Alignment.UpperCenter || myTarget.Anchor == Alignment.MiddleCenter || myTarget.Anchor == Alignment.LowerCenter) + return true; + return false; + } + + private bool IsHorizontallyRight() + { + if (myTarget.Anchor == Alignment.UpperRight || myTarget.Anchor == Alignment.MiddleRight || myTarget.Anchor == Alignment.LowerRight) + return true; + return false; + } + + private bool IsVerticallyUp() + { + if (myTarget.Anchor == Alignment.UpperLeft || myTarget.Anchor == Alignment.UpperCenter || myTarget.Anchor == Alignment.UpperRight) + return true; + return false; + } + + private bool IsVerticallyMiddle() + { + if (myTarget.Anchor == Alignment.MiddleLeft || myTarget.Anchor == Alignment.MiddleCenter || myTarget.Anchor == Alignment.MiddleRight) + return true; + return false; + } + + private bool IsVerticallyBottom() + { + if (myTarget.Anchor == Alignment.LowerLeft || myTarget.Anchor == Alignment.LowerCenter || myTarget.Anchor == Alignment.LowerRight) + return true; + return false; + } + + private void DrawSize() + { + if (myTarget.GetComponent()) + return; + + float labelWidth = EditorGUIUtility.labelWidth; + + GUILayout.BeginHorizontal(); + + EditorGUIUtility.labelWidth = 50; + EditorGUILayout.PropertyField(width); + EditorGUILayout.PropertyField(height); + GUILayout.EndHorizontal(); + + EditorGUIUtility.labelWidth = labelWidth; + } + + private void DrawDebug() + { + GUILayout.BeginVertical(EditorStyles.helpBox); + EditorGUI.indentLevel = 1; + + GUILayout.BeginVertical(EditorStyles.toolbar); + showDebug.target = EditorGUILayout.Foldout(showDebug.target, "Debug", true, foldOutStyle); + GUILayout.EndVertical(); + + if (EditorGUILayout.BeginFadeGroup(showDebug.faded)) + { + //DrawUILine(blueFaded); + EditorGUI.indentLevel = 1; + EditorGUILayout.PropertyField(lines); + EditorGUILayout.PropertyField(bounds); + + GUILayout.Space(5); + } + EditorGUILayout.EndFadeGroup(); + GUILayout.EndVertical(); + } + + private void FindProperties() + { + autoItemSize = soTarget.FindProperty("autoItemSize"); + + //justiceHorizontal = soTarget.FindProperty("_justiceHorizontal"); + //justiceVertical = soTarget.FindProperty("_justiceVertical"); + justiceHorizontalPercent = soTarget.FindProperty("_justiceHorizontalPercent"); + //JusticeVerticalPercent = soTarget.FindProperty("_justiceVerticalPercent"); + spacing = soTarget.FindProperty("_spacing"); + width = soTarget.FindProperty("_width"); + height = soTarget.FindProperty("_height"); + lines = soTarget.FindProperty("lines"); + bounds = soTarget.FindProperty("bounds"); + lineSpacingStyle = soTarget.FindProperty("_lineSpacingStyle"); + verticalOverflow = soTarget.FindProperty("_verticalOverflow"); + elementUpdater = soTarget.FindProperty("elementUpdater"); + + alwaysUpdateInPlayMode = soTarget.FindProperty("alwaysUpdateInPlayMode"); + alwaysUpdateBounds = soTarget.FindProperty("alwaysUpdateBounds"); + + showSceneViewGizmo = soTarget.FindProperty("showSceneViewGizmo"); + + showDebug = new AnimBool(false); + showDebug.valueChanged.AddListener(Repaint); + } + + private void GenerateStyle() + { +#if MODULAR_3D_TEXT + if (EditorGUIUtility.isProSkin) + { + if (settings) + openedFoldoutTitleColor = settings.openedFoldoutTitleColor_darkSkin; + } + else + { + if (settings) + openedFoldoutTitleColor = settings.openedFoldoutTitleColor_lightSkin; + } +#endif + + if (toggleStyle == null) + { + toggleStyle = new GUIStyle(GUI.skin.button); + toggleStyle.margin = new RectOffset(0, 0, toggleStyle.margin.top, toggleStyle.margin.bottom); + } + + if (foldOutStyle == null) + { + foldOutStyle = new GUIStyle(EditorStyles.foldout) + { + overflow = new RectOffset(-10, 0, 3, 0), + padding = new RectOffset(15, 0, -3, 0), + fontStyle = FontStyle.Bold + }; + foldOutStyle.onNormal.textColor = openedFoldoutTitleColor; + } + + if (defaultLabel == null) + { + defaultLabel = new GUIStyle(EditorStyles.whiteMiniLabel) + { + fontStyle = FontStyle.Italic, + fontSize = 12 + }; + defaultLabel.normal.textColor = ThemeBasedLabelColor(); + } + + EditorStyles.popup.fontSize = 11; + EditorStyles.popup.fixedHeight = 18; + } + + + private Color ThemeBasedLabelColor() + { + if (EditorGUIUtility.isProSkin) + return new Color(0.9f, 0.9f, 0.9f, 0.75f); + else + return new Color(0.1f, 0.1f, 0.1f, 0.75f); + } + + + private bool LeftButton(GUIContent content) + { + bool clicked = false; + Rect rect = GUILayoutUtility.GetRect(20, 20); + + GUI.BeginGroup(rect); + if (GUI.Button(new Rect(0, 0, rect.width + toggleStyle.border.right, rect.height), content, toggleStyle)) + clicked = true; + + GUI.EndGroup(); + return clicked; + } + + private bool MidButton(GUIContent content) + { + bool clicked = false; + Rect rect = GUILayoutUtility.GetRect(20, 20); + + GUI.BeginGroup(rect); + if (GUI.Button(new Rect(-toggleStyle.border.left, 0, rect.width + toggleStyle.border.left + toggleStyle.border.right, rect.height), content, toggleStyle)) + clicked = true; + GUI.EndGroup(); + return clicked; + } + + private bool RightButton(GUIContent content) + { + bool clicked = false; + Rect rect = GUILayoutUtility.GetRect(20, 20); + + GUI.BeginGroup(rect); + if (GUI.Button(new Rect(-toggleStyle.border.left, 0, rect.width + toggleStyle.border.left, rect.height), content, toggleStyle)) + clicked = true; + GUI.EndGroup(); + return clicked; + } + } +} \ No newline at end of file diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Editor/GridLayoutGroupEditor.cs.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Editor/GridLayoutGroupEditor.cs.meta new file mode 100644 index 00000000..e8eae46e --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Editor/GridLayoutGroupEditor.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 94169001ec1b9f14da13c5409a4edd74 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Editor/GridLayoutGroupEditor.cs + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Editor/LayoutElementEditor.cs b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Editor/LayoutElementEditor.cs new file mode 100644 index 00000000..e57cad42 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Editor/LayoutElementEditor.cs @@ -0,0 +1,109 @@ +using TinyGiantStudio.EditorHelpers; +using UnityEditor; +using UnityEngine; + + +namespace TinyGiantStudio.Layout +{ + [CustomEditor(typeof(LayoutElement))] + public class LayoutElementEditor : Editor + { + LayoutElement myTarget; + SerializedObject soTarget; + + SerializedProperty autoCalculateSize; + + SerializedProperty width; + SerializedProperty height; + + SerializedProperty xOffset; + SerializedProperty yOffset; + SerializedProperty zOffset; + + SerializedProperty ignoreElement; + SerializedProperty lineBreak; + SerializedProperty space; + + + void OnEnable() + { + myTarget = (LayoutElement)target; + soTarget = new SerializedObject(target); + + FindProperties(); + } + public override void OnInspectorGUI() + { + soTarget.Update(); + GenerateStyle(); + EditorGUI.BeginChangeCheck(); + + if (myTarget.ignoreElement || myTarget.lineBreak || myTarget.space) + GUI.enabled = false; + + MText_Editor_Methods.ItalicHorizontalField(autoCalculateSize, "Auto Calculate Size", "", FieldSize.large); + GUILayout.Space(10); + + if (myTarget.autoCalculateSize) + GUI.enabled = false; + + GUILayout.BeginHorizontal(); + MText_Editor_Methods.HorizontalField(height, "Height", "", FieldSize.tiny); + GUILayout.FlexibleSpace(); + MText_Editor_Methods.HorizontalField(width, "Width", "", FieldSize.tiny); + GUILayout.FlexibleSpace(); + GUILayout.EndHorizontal(); + + GUI.enabled = true; + if (myTarget.ignoreElement || myTarget.lineBreak || myTarget.space) + GUI.enabled = false; + + GUILayout.BeginVertical(); + GUILayout.Label("Offset"); + EditorGUI.indentLevel = 2; + MText_Editor_Methods.HorizontalField(xOffset, "X", "", FieldSize.tiny); + MText_Editor_Methods.HorizontalField(yOffset, "Y", "", FieldSize.tiny); + MText_Editor_Methods.HorizontalField(zOffset, "Z", "", FieldSize.tiny); + GUILayout.EndHorizontal(); + + GUILayout.Space(10); + EditorGUI.indentLevel = 0; + GUI.enabled = true; + MText_Editor_Methods.HorizontalField(ignoreElement, "Ignore Element", "Ignores this element in layout group.", FieldSize.extraLarge); + if (myTarget.ignoreElement) + GUI.enabled = false; + MText_Editor_Methods.HorizontalField(lineBreak, "LineBreak", "Used in Grid layout.\nEnds current line and moves everything after it to next one.", FieldSize.extraLarge); + MText_Editor_Methods.HorizontalField(space, "Space", "Used in Grid layout.", FieldSize.extraLarge); + + + if (EditorGUI.EndChangeCheck()) + { + if (soTarget.ApplyModifiedProperties()) + { + EditorUtility.SetDirty(myTarget); + } + } + } + + void GenerateStyle() + { + + } + + void FindProperties() + { + autoCalculateSize = soTarget.FindProperty("autoCalculateSize"); + + width = soTarget.FindProperty("width"); + height = soTarget.FindProperty("height"); + + xOffset = soTarget.FindProperty("xOffset"); + yOffset = soTarget.FindProperty("yOffset"); + zOffset = soTarget.FindProperty("zOffset"); + + ignoreElement = soTarget.FindProperty("ignoreElement"); + lineBreak = soTarget.FindProperty("lineBreak"); + space = soTarget.FindProperty("space"); + } + } +} \ No newline at end of file diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Editor/LayoutElementEditor.cs.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Editor/LayoutElementEditor.cs.meta new file mode 100644 index 00000000..fe57630c --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Editor/LayoutElementEditor.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 1012e2a46d4c30a46ab12520d6276d43 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Editor/LayoutElementEditor.cs + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Editor/LayoutsMenuItem.cs b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Editor/LayoutsMenuItem.cs new file mode 100644 index 00000000..cce94dbd --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Editor/LayoutsMenuItem.cs @@ -0,0 +1,62 @@ +using UnityEditor; +using UnityEngine; + +namespace TinyGiantStudio.Layout +{ + public class LayoutsMenuItem : MonoBehaviour //monobehaviour is required for destroy immediate/instantiate etc. + { + [UnityEditor.MenuItem("GameObject/3D Object/Tiny Giant Studio/Layouts/Grid", false, 30001)] + static void CreateGrid(MenuCommand menuCommand) + { + // Create a custom game object + GameObject go = new GameObject("Grid Layout (M3D)"); + go.AddComponent(); + + // Ensure it gets reparented if this was a context click (otherwise does nothing) + GameObjectUtility.SetParentAndAlign(go, menuCommand.context as GameObject); + // Register the creation in the undo system + Undo.RegisterCreatedObjectUndo(go, "Create " + go.name); + Selection.activeObject = go; + } + [UnityEditor.MenuItem("GameObject/3D Object/Tiny Giant Studio/Layouts/Circular", false, 30002)] + static void CreateCircle(MenuCommand menuCommand) + { + // Create a custom game object + GameObject go = new GameObject("Circular Layout (M3D)"); + go.AddComponent(); + + // Ensure it gets reparented if this was a context click (otherwise does nothing) + GameObjectUtility.SetParentAndAlign(go, menuCommand.context as GameObject); + // Register the creation in the undo system + Undo.RegisterCreatedObjectUndo(go, "Create " + go.name); + Selection.activeObject = go; + } + [UnityEditor.MenuItem("GameObject/3D Object/Tiny Giant Studio/Layouts/Linear", false, 30003)] + static void CreateLinearLayout(MenuCommand menuCommand) + { + // Create a custom game object + GameObject go = new GameObject("Linear Layout (M3D)"); + go.AddComponent().alignment = LinearLayoutGroup.Alignment.HorizontalMiddle; + + // Ensure it gets reparented if this was a context click (otherwise does nothing) + GameObjectUtility.SetParentAndAlign(go, menuCommand.context as GameObject); + // Register the creation in the undo system + Undo.RegisterCreatedObjectUndo(go, "Create " + go.name); + Selection.activeObject = go; + } + + [UnityEditor.MenuItem("GameObject/3D Object/Tiny Giant Studio/Layouts/3D Volume", false, 30001)] + static void CreateVolumeLayout(MenuCommand menuCommand) + { + // Create a custom game object + GameObject go = new GameObject("Volume Layout (M3D)"); + go.AddComponent(); + + // Ensure it gets reparented if this was a context click (otherwise does nothing) + GameObjectUtility.SetParentAndAlign(go, menuCommand.context as GameObject); + // Register the creation in the undo system + Undo.RegisterCreatedObjectUndo(go, "Create " + go.name); + Selection.activeObject = go; + } + } +} \ No newline at end of file diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Editor/LayoutsMenuItem.cs.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Editor/LayoutsMenuItem.cs.meta new file mode 100644 index 00000000..0cec319a --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Editor/LayoutsMenuItem.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 9e89237dd518ea34fb201b5e59ad0ffc +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Editor/LayoutsMenuItem.cs + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Editor/LinearLayoutGroupEditor.cs b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Editor/LinearLayoutGroupEditor.cs new file mode 100644 index 00000000..81b64533 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Editor/LinearLayoutGroupEditor.cs @@ -0,0 +1,332 @@ +using UnityEditor; +using UnityEditor.AnimatedValues; +using UnityEngine; +using TinyGiantStudio.Modules; + +#if MODULAR_3D_TEXT + +using TinyGiantStudio.Text; + +#endif + +using TinyGiantStudio.EditorHelpers; + +namespace TinyGiantStudio.Layout +{ + [CustomEditor(typeof(LinearLayoutGroup))] + public class LinearLayoutGroupEditor : Editor + { +#if MODULAR_3D_TEXT + private static AssetSettings settings; +#endif + + private LinearLayoutGroup myTarget; + private SerializedObject soTarget; + + private SerializedProperty autoItemSize; + private SerializedProperty spacing; + private SerializedProperty width; + private SerializedProperty overflow; + private SerializedProperty addCharacterWidthWhenCaclulatingOverflow; + private SerializedProperty alignment; + private SerializedProperty elementUpdater; + + private SerializedProperty alwaysUpdateInPlayMode; + private SerializedProperty alwaysUpdateBounds; + + private SerializedProperty randomizeRotations; + private SerializedProperty minimumRandomRotation; + private SerializedProperty maximumRandomRotation; + + private SerializedProperty bounds; + + private AnimBool showDebug; + + private static GUIStyle foldOutStyle = null; + private static GUIStyle toggleStyle = null; + + private static Color openedFoldoutTitleColor = new Color(124 / 255f, 170 / 255f, 239 / 255f, 0.9f); + + private LinearLayoutGroup.Alignment secondaryAlignment; + + private void OnEnable() + { + myTarget = (LinearLayoutGroup)target; + soTarget = new SerializedObject(target); + +#if MODULAR_3D_TEXT + if (!settings) + settings = StaticMethods.VerifySettings(settings); +#endif + FindProperties(); + } + + public override void OnInspectorGUI() + { + GenerateStlye(); + secondaryAlignment = myTarget.secondaryAlignment; + EditorGUI.BeginChangeCheck(); + + Alignment(); + + EditorGUILayout.Space(5); +#if MODULAR_3D_TEXT + if (!myTarget.gameObject.GetComponent()) + EditorGUILayout.PropertyField(autoItemSize); +#endif + EditorGUILayout.PropertyField(spacing); + if (myTarget.alignment == LinearLayoutGroup.Alignment.HorizontalMiddle || myTarget.alignment == LinearLayoutGroup.Alignment.Left || myTarget.alignment == LinearLayoutGroup.Alignment.Right) + { + EditorGUILayout.PropertyField(overflow); + if (myTarget.overflow != Overflow.overflow) + EditorGUILayout.PropertyField(addCharacterWidthWhenCaclulatingOverflow); + } +#if MODULAR_3D_TEXT + if (myTarget.alignment == LinearLayoutGroup.Alignment.HorizontalMiddle || myTarget.alignment == LinearLayoutGroup.Alignment.Left || myTarget.alignment == LinearLayoutGroup.Alignment.Right) + { + if (!myTarget.gameObject.GetComponent()) + { + if (myTarget.overflow != Overflow.overflow) + EditorGUILayout.PropertyField(width); + } + else + { + if (myTarget.gameObject.GetComponent().autoFontSize || myTarget.overflow != Overflow.overflow) + EditorGUILayout.PropertyField(width); + } + } +#else + if (myTarget.overflow != Overflow.overflow) + EditorGUILayout.PropertyField(width); +#endif + + EditorGUILayout.Space(5); + EditorGUILayout.PropertyField(randomizeRotations); + if (myTarget.randomizeRotations) + { + EditorGUILayout.PropertyField(minimumRandomRotation); + EditorGUILayout.PropertyField(maximumRandomRotation); + } + + EditorGUILayout.Space(5); + if (ModuleDrawer.ElementUpdatersExist()) + ModuleDrawer.ElementUpdaterContainerList("Element Updater", "", myTarget.elementUpdater, elementUpdater, soTarget); + + EditorGUILayout.Space(5); + MText_Editor_Methods.ItalicHorizontalField(alwaysUpdateInPlayMode, "Always update in playmode", "For performance, it's better to leave it to false and call UpdateLayout() after making changes.\nTurn this on if you are in a hurry or testing stuff.", FieldSize.gigantic); + MText_Editor_Methods.ItalicHorizontalField(alwaysUpdateBounds, "Always update bounds", "For performance, it's better to leave it to false and call GetAllChildBounds() when a bound(size of an element) changes", FieldSize.gigantic); + EditorGUILayout.Space(5); + + DebugFoldout(); + if (EditorGUI.EndChangeCheck()) + { + //soTarget.ApplyModifiedProperties(); + LinearLayoutGroup.Alignment anchor = myTarget.alignment; + if (soTarget.ApplyModifiedProperties()) + { + myTarget.rotationChanged = true; + +#if MODULAR_3D_TEXT + if (myTarget.GetComponent()) + { + if (anchor != myTarget.alignment) + { + myTarget.GetComponent().CleanUpdateText(); + } + else + { + //if (!myTarget.GetComponent().ShouldItCreateChild()) + { + myTarget.GetComponent().CleanUpdateText(); + } + } + } +#endif + } + //EditorUtility.SetDirty(myTarget); + + if (secondaryAlignment != myTarget.secondaryAlignment) + { + Undo.RecordObject(myTarget, "Update secondary alignment"); + myTarget.secondaryAlignment = secondaryAlignment; +#if MODULAR_3D_TEXT + if (myTarget.GetComponent()) + { + myTarget.GetComponent().CleanUpdateText(); + } +#endif + } + } + } + + private static Color toggledOnButtonColor = Color.white; + private static Color toggledOffButtonColor = Color.gray; + + private void Alignment() + { + EditorGUILayout.PropertyField(alignment, GUIContent.none); + + if (myTarget.alignment == LinearLayoutGroup.Alignment.Left || myTarget.alignment == LinearLayoutGroup.Alignment.HorizontalMiddle || myTarget.alignment == LinearLayoutGroup.Alignment.Right) + { + GUILayout.BeginHorizontal(); + Color originalColor = GUI.color; + + if (myTarget.secondaryAlignment == LinearLayoutGroup.Alignment.Top) + GUI.color = toggledOnButtonColor; + else + GUI.color = toggledOffButtonColor; + if (LeftButton(EditorGUIUtility.IconContent("d_align_vertically_top"))) + { + //Undo.RecordObject(myTarget, "Changed secondary alignment"); + secondaryAlignment = LinearLayoutGroup.Alignment.Top; + //myTarget.secondaryAlignment = LinearLayoutGroup.Alignment.Top; + //if (myTarget.GetComponent()) + //{ + // myTarget.GetComponent().CleanUpdateText(); + //} + } + + if (myTarget.secondaryAlignment == LinearLayoutGroup.Alignment.VerticleMiddle) + GUI.color = toggledOnButtonColor; + else + GUI.color = toggledOffButtonColor; + if (MidButton(EditorGUIUtility.IconContent("d_align_vertically_center"))) + { + //Undo.RecordObject(myTarget, "Changed secondary alignment"); + secondaryAlignment = LinearLayoutGroup.Alignment.VerticleMiddle; + //myTarget.secondaryAlignment = LinearLayoutGroup.Alignment.VerticleMiddle; + //if (myTarget.GetComponent()) + //{ + // myTarget.GetComponent().CleanUpdateText(); + //} + } + + if (myTarget.secondaryAlignment == LinearLayoutGroup.Alignment.Bottom) + GUI.color = toggledOnButtonColor; + else + GUI.color = toggledOffButtonColor; + if (RightButton(EditorGUIUtility.IconContent("d_align_vertically_bottom"))) + { + //Undo.RecordObject(myTarget, "Changed secondary alignment"); + secondaryAlignment = LinearLayoutGroup.Alignment.Bottom; + //myTarget.secondaryAlignment = LinearLayoutGroup.Alignment.Bottom; + //if (myTarget.GetComponent()) + //{ + // myTarget.GetComponent().CleanUpdateText(); + //} + } + GUILayout.EndHorizontal(); + GUI.color = originalColor; + } + } + + private static void GenerateStlye() + { +#if MODULAR_3D_TEXT + if (EditorGUIUtility.isProSkin) + { + if (settings) + openedFoldoutTitleColor = settings.openedFoldoutTitleColor_darkSkin; + } + else + { + if (settings) + openedFoldoutTitleColor = settings.openedFoldoutTitleColor_lightSkin; + } +#endif + if (foldOutStyle == null) + { + foldOutStyle = new GUIStyle(EditorStyles.foldout) + { + overflow = new RectOffset(-10, 0, 3, 0), + padding = new RectOffset(15, 0, -3, 0), + fontStyle = FontStyle.Bold + }; + foldOutStyle.onNormal.textColor = openedFoldoutTitleColor; + } + + if (toggleStyle == null) + { + toggleStyle = new GUIStyle(GUI.skin.button); + toggleStyle.margin = new RectOffset(0, 0, toggleStyle.margin.top, toggleStyle.margin.bottom); + } + } + + private void DebugFoldout() + { + GUILayout.BeginVertical(EditorStyles.helpBox); + EditorGUI.indentLevel = 1; + GUILayout.BeginVertical(EditorStyles.toolbar); + showDebug.target = EditorGUILayout.Foldout(showDebug.target, "Debug", true, foldOutStyle); + GUILayout.EndVertical(); + if (EditorGUILayout.BeginFadeGroup(showDebug.faded)) + { + EditorGUILayout.PropertyField(bounds); + } + EditorGUILayout.EndFadeGroup(); + GUILayout.EndVertical(); + } + + private bool LeftButton(GUIContent content) + { + bool clicked = false; + Rect rect = GUILayoutUtility.GetRect(20, 20); + + GUI.BeginGroup(rect); + if (GUI.Button(new Rect(0, 0, rect.width + toggleStyle.border.right, rect.height), content, toggleStyle)) + clicked = true; + + GUI.EndGroup(); + return clicked; + } + + private bool MidButton(GUIContent content) + { + bool clicked = false; + Rect rect = GUILayoutUtility.GetRect(20, 20); + + GUI.BeginGroup(rect); + if (GUI.Button(new Rect(-toggleStyle.border.left, 0, rect.width + toggleStyle.border.left + toggleStyle.border.right, rect.height), content, toggleStyle)) + clicked = true; + GUI.EndGroup(); + return clicked; + } + + private bool RightButton(GUIContent content) + { + bool clicked = false; + Rect rect = GUILayoutUtility.GetRect(20, 20); + + GUI.BeginGroup(rect); + if (GUI.Button(new Rect(-toggleStyle.border.left, 0, rect.width + toggleStyle.border.left, rect.height), content, toggleStyle)) + clicked = true; + GUI.EndGroup(); + return clicked; + } + + private void FindProperties() + { + autoItemSize = soTarget.FindProperty("autoItemSize"); + spacing = soTarget.FindProperty("spacing"); + width = soTarget.FindProperty("width"); + overflow = soTarget.FindProperty("overflow"); + addCharacterWidthWhenCaclulatingOverflow = soTarget.FindProperty("addCharacterWidthWhenCaclulatingOverflow"); + + randomizeRotations = soTarget.FindProperty("randomizeRotations"); + minimumRandomRotation = soTarget.FindProperty("_minimumRandomRotation"); + maximumRandomRotation = soTarget.FindProperty("maximumRandomRotation"); + + alignment = soTarget.FindProperty("alignment"); + + alwaysUpdateInPlayMode = soTarget.FindProperty("alwaysUpdateInPlayMode"); + alwaysUpdateBounds = soTarget.FindProperty("alwaysUpdateBounds"); + + elementUpdater = soTarget.FindProperty("elementUpdater"); + + bounds = soTarget.FindProperty("bounds"); + + showDebug = new AnimBool(false); + showDebug.valueChanged.AddListener(Repaint); + } + } +} \ No newline at end of file diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Editor/LinearLayoutGroupEditor.cs.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Editor/LinearLayoutGroupEditor.cs.meta new file mode 100644 index 00000000..5ceae377 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Editor/LinearLayoutGroupEditor.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 87ef9c375a8559b4d8b48297f88c144a +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Editor/LinearLayoutGroupEditor.cs + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Editor/VolumeLayoutGroupEditor.cs b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Editor/VolumeLayoutGroupEditor.cs new file mode 100644 index 00000000..d09d5e5e --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Editor/VolumeLayoutGroupEditor.cs @@ -0,0 +1,589 @@ +using UnityEditor; +using UnityEditor.AnimatedValues; +using UnityEngine; +using TinyGiantStudio.Modules; + +#if MODULAR_3D_TEXT +using TinyGiantStudio.Text; +#endif +using TinyGiantStudio.EditorHelpers; + +namespace TinyGiantStudio.Layout +{ + [CustomEditor(typeof(VolumeLayoutGroup))] + public class VolumeLayoutGroupEditor : Editor + { +#if MODULAR_3D_TEXT + public AssetSettings settings; +#endif + + VolumeLayoutGroup myTarget; + SerializedObject soTarget; + + SerializedProperty autoItemSize; + //SerializedProperty justiceHorizontal; + SerializedProperty justiceHorizontalPercent; + //SerializedProperty justiceVertical; + //SerializedProperty JusticeVerticalPercent; + SerializedProperty spacing; + SerializedProperty width; + SerializedProperty height; + SerializedProperty depth; + + SerializedProperty lines; + SerializedProperty bounds; + SerializedProperty lineSpacingStyle; + SerializedProperty verticalOverflow; + SerializedProperty elementUpdater; + + SerializedProperty alwaysUpdateInPlayMode; + SerializedProperty alwaysUpdateBounds; + SerializedProperty showSceneViewGizmo; + + //style + static GUIStyle areaTitle = null; + static GUIStyle toggleStyle = null; + static GUIStyle foldOutStyle = null; + static GUIStyle defaultLabel = null; + + AnimBool showDebug; + + static Color openedFoldoutTitleColor = new Color(124 / 255f, 170 / 255f, 239 / 255f, 0.9f); + static Color toggledOnButtonColor = Color.white; + static Color toggledOffButtonColor = Color.gray; + + Texture justiceHorizontalTexture; + + + + void OnEnable() + { + myTarget = (VolumeLayoutGroup)target; + soTarget = new SerializedObject(target); + + FindProperties(); + +#if MODULAR_3D_TEXT + if (!settings) + settings = StaticMethods.VerifySettings(settings); +#endif + + justiceHorizontalTexture = EditorGUIUtility.Load("Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Utility/Editor Icons/Justice Horizontal.png") as Texture; + + + if (myTarget.gameObject.GetComponentInParent()) + { + if (!myTarget.gameObject.GetComponent()) + myTarget.gameObject.AddComponent(); + } + else + { + if (myTarget.gameObject.GetComponent()) + MText_Editor_Methods.RemoveRectTransform(myTarget.gameObject); + } + } + + public override void OnInspectorGUI() + { + soTarget.Update(); + GenerateStyle(); + EditorGUI.BeginChangeCheck(); + + EditorGUILayout.Space(6); + DrawAlignment(); + EditorGUILayout.Space(6); + DrawSize(); + DrawControls(); + + EditorGUILayout.Space(5); + if (ModuleDrawer.ElementUpdatersExist()) + ModuleDrawer.ElementUpdaterContainerList("Element Updater", "", myTarget.elementUpdater, elementUpdater, soTarget); + EditorGUILayout.Space(5); + MText_Editor_Methods.ItalicHorizontalField(alwaysUpdateInPlayMode, "Always update in playmode", "For performance, it's better to leave it to false and call UpdateLayout() after making changes.\nTurn this on if you are in a hurry or testing stuff.", FieldSize.gigantic); + MText_Editor_Methods.ItalicHorizontalField(alwaysUpdateBounds, "Always update bounds", "For performance, it's better to leave it to false and call GetAllChildBounds() when a bound(size of an element) changes", FieldSize.gigantic); + MText_Editor_Methods.ItalicHorizontalField(showSceneViewGizmo, "Show Scene View Gizmo", "", FieldSize.gigantic); + + EditorGUILayout.Space(15); + DrawDebug(); + + if (EditorGUI.EndChangeCheck()) + { + Alignment anchor = myTarget.Anchor; + if (soTarget.ApplyModifiedProperties()) + { +#if MODULAR_3D_TEXT + if (myTarget.GetComponent()) + { + if (anchor != myTarget.Anchor) + { + myTarget.GetComponent().CleanUpdateText(); + } + else + { + //if (!myTarget.GetComponent().ShouldItCreateChild()) + { + myTarget.GetComponent().CleanUpdateText(); + } + } + } +#endif + } + //EditorUtility.SetDirty(myTarget); + } + } + + void DrawControls() + { + GUILayout.BeginHorizontal(); + EditorGUILayout.LabelField("Spacing", defaultLabel, GUILayout.MaxWidth(75)); + EditorGUILayout.PropertyField(spacing, GUIContent.none); + GUILayout.EndHorizontal(); + +#if MODULAR_3D_TEXT + if (!myTarget.GetComponent()) +#endif + { + EditorGUILayout.Space(5); + EditorGUILayout.PropertyField(autoItemSize); + MText_Editor_Methods.HorizontalField(lineSpacingStyle, "Line Spacing Style", "", FieldSize.large); + } + MText_Editor_Methods.HorizontalField(verticalOverflow, "Vertical Overflow", "", FieldSize.large); + } + + void DrawAlignment() + { + DrawXandYalignment(); + DrawZalignment(); + } + + void DrawXandYalignment() + { + Color originalColor = GUI.color; + + GUILayout.BeginVertical(EditorStyles.helpBox); + GUILayout.BeginVertical(EditorStyles.toolbar); + GUILayout.Label("Alignment X and Y", areaTitle); + GUILayout.EndVertical(); + + GUILayout.BeginHorizontal(); + + if (IsHorizontallyLeft()) + GUI.color = toggledOnButtonColor; + else + GUI.color = toggledOffButtonColor; + if (LeftButton(EditorGUIUtility.IconContent("d_align_horizontally_left"))) + { + Undo.RecordObject(myTarget, "Update layout"); + if (myTarget.Anchor == Alignment.UpperCenter || myTarget.Anchor == Alignment.UpperRight) + myTarget.Anchor = Alignment.UpperLeft; + if (myTarget.Anchor == Alignment.MiddleCenter || myTarget.Anchor == Alignment.MiddleRight) + myTarget.Anchor = Alignment.MiddleLeft; + if (myTarget.Anchor == Alignment.LowerCenter || myTarget.Anchor == Alignment.LowerRight) + myTarget.Anchor = Alignment.LowerLeft; + EditorUtility.SetDirty(myTarget); + } + + + if (IsHorizontallyCentered()) + GUI.color = toggledOnButtonColor; + else + GUI.color = toggledOffButtonColor; + if (MidButton(EditorGUIUtility.IconContent("d_align_horizontally_center"))) + { + Undo.RecordObject(myTarget, "Update layout"); + if (myTarget.Anchor == Alignment.UpperLeft || myTarget.Anchor == Alignment.UpperRight) + myTarget.Anchor = Alignment.UpperCenter; + if (myTarget.Anchor == Alignment.MiddleLeft || myTarget.Anchor == Alignment.MiddleRight) + myTarget.Anchor = Alignment.MiddleCenter; + if (myTarget.Anchor == Alignment.LowerLeft || myTarget.Anchor == Alignment.LowerRight) + myTarget.Anchor = Alignment.LowerCenter; + EditorUtility.SetDirty(myTarget); + } + + + if (IsHorizontallyRight()) + GUI.color = toggledOnButtonColor; + else + GUI.color = toggledOffButtonColor; + if (RightButton(EditorGUIUtility.IconContent("d_align_horizontally_right"))) + { + Undo.RecordObject(myTarget, "Update layout"); + if (myTarget.Anchor == Alignment.UpperLeft || myTarget.Anchor == Alignment.UpperCenter) + myTarget.Anchor = Alignment.UpperRight; + if (myTarget.Anchor == Alignment.MiddleLeft || myTarget.Anchor == Alignment.MiddleCenter) + myTarget.Anchor = Alignment.MiddleRight; + if (myTarget.Anchor == Alignment.LowerLeft || myTarget.Anchor == Alignment.LowerCenter) + myTarget.Anchor = Alignment.LowerRight; + EditorUtility.SetDirty(myTarget); + } + + GUI.color = originalColor; + + GUILayout.EndHorizontal(); + + + + GUILayout.BeginHorizontal(); + + if (IsVerticallyUp()) + GUI.color = toggledOnButtonColor; + else + GUI.color = toggledOffButtonColor; + if (LeftButton(EditorGUIUtility.IconContent("d_align_vertically_top"))) + { + Undo.RecordObject(myTarget, "Update layout"); + if (myTarget.Anchor == Alignment.MiddleLeft || myTarget.Anchor == Alignment.LowerLeft) + myTarget.Anchor = Alignment.UpperLeft; + if (myTarget.Anchor == Alignment.MiddleCenter || myTarget.Anchor == Alignment.LowerCenter) + myTarget.Anchor = Alignment.UpperCenter; + if (myTarget.Anchor == Alignment.MiddleRight || myTarget.Anchor == Alignment.LowerRight) + myTarget.Anchor = Alignment.UpperRight; + EditorUtility.SetDirty(myTarget); + } + + + if (IsVerticallyMiddle()) + GUI.color = toggledOnButtonColor; + else + GUI.color = toggledOffButtonColor; + if (MidButton(EditorGUIUtility.IconContent("d_align_vertically_center"))) + { + Undo.RecordObject(myTarget, "Update layout"); + if (myTarget.Anchor == Alignment.UpperLeft || myTarget.Anchor == Alignment.LowerLeft) + myTarget.Anchor = Alignment.MiddleLeft; + if (myTarget.Anchor == Alignment.UpperCenter || myTarget.Anchor == Alignment.LowerCenter) + myTarget.Anchor = Alignment.MiddleCenter; + if (myTarget.Anchor == Alignment.UpperRight || myTarget.Anchor == Alignment.LowerRight) + myTarget.Anchor = Alignment.MiddleRight; + EditorUtility.SetDirty(myTarget); + } + + + if (IsVerticallyBottom()) + GUI.color = toggledOnButtonColor; + else + GUI.color = toggledOffButtonColor; + if (RightButton(EditorGUIUtility.IconContent("d_align_vertically_bottom"))) + { + Undo.RecordObject(myTarget, "Update layout"); + if (myTarget.Anchor == Alignment.UpperLeft || myTarget.Anchor == Alignment.MiddleLeft) + myTarget.Anchor = Alignment.LowerLeft; + if (myTarget.Anchor == Alignment.UpperCenter || myTarget.Anchor == Alignment.MiddleCenter) + myTarget.Anchor = Alignment.LowerCenter; + if (myTarget.Anchor == Alignment.UpperRight || myTarget.Anchor == Alignment.MiddleRight) + myTarget.Anchor = Alignment.LowerRight; + EditorUtility.SetDirty(myTarget); + } + + + GUI.color = originalColor; + + + GUILayout.EndHorizontal(); + GUILayout.Space(5); + + GUILayout.BeginHorizontal(); + JusticeHorizontal(); + GUILayout.EndHorizontal(); + + GUI.color = originalColor; + GUILayout.EndVertical(); + } + void DrawZalignment() + { + Color originalColor = GUI.color; + + GUILayout.BeginVertical(EditorStyles.helpBox); + GUILayout.BeginVertical(EditorStyles.toolbar); + GUILayout.Label("Alignment Z axis", areaTitle); + GUILayout.EndVertical(); + + GUILayout.BeginHorizontal(); + + if (myTarget.DepthAlignment == DepthAlignment.front) + GUI.color = toggledOnButtonColor; + else + GUI.color = toggledOffButtonColor; + if (LeftButton(EditorGUIUtility.IconContent("d_align_horizontally_left"))) + { + Undo.RecordObject(myTarget, "Update layout"); + myTarget.DepthAlignment = DepthAlignment.front; + EditorUtility.SetDirty(myTarget); + } + + + if (myTarget.DepthAlignment == DepthAlignment.middle) + GUI.color = toggledOnButtonColor; + else + GUI.color = toggledOffButtonColor; + if (MidButton(EditorGUIUtility.IconContent("d_align_horizontally_center"))) + { + Undo.RecordObject(myTarget, "Update layout"); + myTarget.DepthAlignment = DepthAlignment.middle; + EditorUtility.SetDirty(myTarget); + } + + + if (myTarget.DepthAlignment == DepthAlignment.back) + GUI.color = toggledOnButtonColor; + else + GUI.color = toggledOffButtonColor; + if (RightButton(EditorGUIUtility.IconContent("d_align_horizontally_right"))) + { + Undo.RecordObject(myTarget, "Update layout"); + myTarget.DepthAlignment = DepthAlignment.back; + EditorUtility.SetDirty(myTarget); + } + + GUI.color = originalColor; + + GUILayout.EndHorizontal(); + + GUILayout.Space(5); + + GUI.color = originalColor; + GUILayout.EndVertical(); + } + void JusticeHorizontal() + { + GUIContent content; + + if (justiceHorizontalTexture) + content = new GUIContent(justiceHorizontalTexture, "Horizontal Justice.\nTry to fill the full width with content."); + else + content = new GUIContent("Justice Horizontal"); + + if (myTarget.JusticeHorizontal) + GUI.color = toggledOnButtonColor; + else + GUI.color = toggledOffButtonColor; + + if (MidButton(content)) + { + Undo.RecordObject(myTarget, "Update layout"); + myTarget.JusticeHorizontal = !myTarget.JusticeHorizontal; + } + + if (myTarget.JusticeHorizontal) + { + GUI.color = toggledOnButtonColor; + EditorGUILayout.LabelField(new GUIContent("%", "Justice will be only be applied if the elements hold equal/more than the % width"), GUILayout.MinWidth(15), GUILayout.MaxWidth(15)); + EditorGUILayout.PropertyField(justiceHorizontalPercent, GUIContent.none, GUILayout.MinWidth(50), GUILayout.MaxWidth(50)); + } + else + { + EditorGUILayout.LabelField(GUIContent.none, GUILayout.MinWidth(15), GUILayout.MaxWidth(15)); + EditorGUILayout.LabelField(GUIContent.none, GUILayout.MinWidth(50), GUILayout.MaxWidth(50)); + } + } + + bool IsHorizontallyLeft() + { + if (myTarget.Anchor == Alignment.UpperLeft || myTarget.Anchor == Alignment.MiddleLeft || myTarget.Anchor == Alignment.LowerLeft) + return true; + return false; + } + bool IsHorizontallyCentered() + { + if (myTarget.Anchor == Alignment.UpperCenter || myTarget.Anchor == Alignment.MiddleCenter || myTarget.Anchor == Alignment.LowerCenter) + return true; + return false; + } + bool IsHorizontallyRight() + { + if (myTarget.Anchor == Alignment.UpperRight || myTarget.Anchor == Alignment.MiddleRight || myTarget.Anchor == Alignment.LowerRight) + return true; + return false; + } + + bool IsVerticallyUp() + { + if (myTarget.Anchor == Alignment.UpperLeft || myTarget.Anchor == Alignment.UpperCenter || myTarget.Anchor == Alignment.UpperRight) + return true; + return false; + } + bool IsVerticallyMiddle() + { + if (myTarget.Anchor == Alignment.MiddleLeft || myTarget.Anchor == Alignment.MiddleCenter || myTarget.Anchor == Alignment.MiddleRight) + return true; + return false; + } + bool IsVerticallyBottom() + { + if (myTarget.Anchor == Alignment.LowerLeft || myTarget.Anchor == Alignment.LowerCenter || myTarget.Anchor == Alignment.LowerRight) + return true; + return false; + } + + + + + + + + private void DrawSize() + { + float labelWidth = EditorGUIUtility.labelWidth; + + GUILayout.BeginHorizontal(); + + EditorGUIUtility.labelWidth = 35; + EditorGUILayout.PropertyField(width, GUILayout.MinWidth(60)); + GUILayout.Space(5); + EditorGUIUtility.labelWidth = 45; + EditorGUILayout.PropertyField(height, GUILayout.MinWidth(70)); + GUILayout.Space(5); + EditorGUIUtility.labelWidth = 37; + EditorGUILayout.PropertyField(depth, GUILayout.MinWidth(62)); + GUILayout.EndHorizontal(); + + EditorGUIUtility.labelWidth = labelWidth; + } + + + void DrawDebug() + { + GUILayout.BeginVertical(EditorStyles.helpBox); + EditorGUI.indentLevel = 1; + + GUILayout.BeginVertical(EditorStyles.toolbar); + showDebug.target = EditorGUILayout.Foldout(showDebug.target, "Debug", true, defaultLabel); + GUILayout.EndVertical(); + + if (EditorGUILayout.BeginFadeGroup(showDebug.faded)) + { + //DrawUILine(blueFaded); + EditorGUI.indentLevel = 1; + EditorGUILayout.PropertyField(lines); + EditorGUILayout.PropertyField(bounds); + + GUILayout.Space(5); + } + EditorGUILayout.EndFadeGroup(); + GUILayout.EndVertical(); + } + + void FindProperties() + { + autoItemSize = soTarget.FindProperty("autoItemSize"); + + //justiceHorizontal = soTarget.FindProperty("_justiceHorizontal"); + //justiceVertical = soTarget.FindProperty("_justiceVertical"); + justiceHorizontalPercent = soTarget.FindProperty("_justiceHorizontalPercent"); + //JusticeVerticalPercent = soTarget.FindProperty("_justiceVerticalPercent"); + spacing = soTarget.FindProperty("_spacing"); + width = soTarget.FindProperty("_width"); + height = soTarget.FindProperty("_height"); + depth = soTarget.FindProperty("_depth"); + lines = soTarget.FindProperty("lines"); + bounds = soTarget.FindProperty("bounds"); + lineSpacingStyle = soTarget.FindProperty("_lineSpacingStyle"); + verticalOverflow = soTarget.FindProperty("_verticalOverflow"); + elementUpdater = soTarget.FindProperty("elementUpdater"); + + alwaysUpdateInPlayMode = soTarget.FindProperty("alwaysUpdateInPlayMode"); + alwaysUpdateBounds = soTarget.FindProperty("alwaysUpdateBounds"); + showSceneViewGizmo = soTarget.FindProperty("showSceneViewGizmo"); + + + showDebug = new AnimBool(false); + showDebug.valueChanged.AddListener(Repaint); + } + + void GenerateStyle() + { +#if MODULAR_3D_TEXT + if (EditorGUIUtility.isProSkin) + { + if (settings) + openedFoldoutTitleColor = settings.openedFoldoutTitleColor_darkSkin; + } + else + { + if (settings) + openedFoldoutTitleColor = settings.openedFoldoutTitleColor_lightSkin; + } +#endif + + if (toggleStyle == null) + { + toggleStyle = new GUIStyle(GUI.skin.button); + toggleStyle.margin = new RectOffset(0, 0, toggleStyle.margin.top, toggleStyle.margin.bottom); + } + + if (foldOutStyle == null) + { + foldOutStyle = new GUIStyle(EditorStyles.foldout) + { + overflow = new RectOffset(-10, 0, 3, 0), + padding = new RectOffset(15, 0, -3, 0), + fontStyle = FontStyle.Bold + }; + foldOutStyle.onNormal.textColor = openedFoldoutTitleColor; + } + + if (defaultLabel == null) + { + defaultLabel = new GUIStyle(EditorStyles.whiteMiniLabel) + { + fontStyle = FontStyle.Italic, + fontSize = 12 + }; + defaultLabel.normal.textColor = ThemeBasedLabelColor(); + } + + if (areaTitle == null) + { + areaTitle = new GUIStyle(EditorStyles.centeredGreyMiniLabel) + { + fontStyle = FontStyle.BoldAndItalic, + fontSize = 12, + }; + areaTitle.normal.textColor = ThemeBasedLabelColor(); + } + } + private Color ThemeBasedLabelColor() + { + if (EditorGUIUtility.isProSkin) + return new Color(0.9f, 0.9f, 0.9f, 0.75f); + else + return new Color(0.1f, 0.1f, 0.1f, 0.75f); + } + bool LeftButton(GUIContent content) + { + bool clicked = false; + Rect rect = GUILayoutUtility.GetRect(20, 20); + + GUI.BeginGroup(rect); + if (GUI.Button(new Rect(0, 0, rect.width + toggleStyle.border.right, rect.height), content, toggleStyle)) + clicked = true; + + GUI.EndGroup(); + return clicked; + } + bool MidButton(GUIContent content) + { + bool clicked = false; + Rect rect = GUILayoutUtility.GetRect(20, 20); + + + GUI.BeginGroup(rect); + if (GUI.Button(new Rect(-toggleStyle.border.left, 0, rect.width + toggleStyle.border.left + toggleStyle.border.right, rect.height), content, toggleStyle)) + clicked = true; + GUI.EndGroup(); + return clicked; + } + bool RightButton(GUIContent content) + { + bool clicked = false; + Rect rect = GUILayoutUtility.GetRect(20, 20); + + + GUI.BeginGroup(rect); + if (GUI.Button(new Rect(-toggleStyle.border.left, 0, rect.width + toggleStyle.border.left, rect.height), content, toggleStyle)) + clicked = true; + GUI.EndGroup(); + return clicked; + } + } +} \ No newline at end of file diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Editor/VolumeLayoutGroupEditor.cs.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Editor/VolumeLayoutGroupEditor.cs.meta new file mode 100644 index 00000000..32ce50eb --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Editor/VolumeLayoutGroupEditor.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: a13306138407f8049b474d4c95f6a008 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Editor/VolumeLayoutGroupEditor.cs + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/ElementUpdaters.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/ElementUpdaters.meta new file mode 100644 index 00000000..639618f4 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/ElementUpdaters.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8a7f639d75bfba34d92111cffdb2b818 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/ElementUpdaters/AnimatedElementUpdater.cs b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/ElementUpdaters/AnimatedElementUpdater.cs new file mode 100644 index 00000000..d2543363 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/ElementUpdaters/AnimatedElementUpdater.cs @@ -0,0 +1,99 @@ +using TinyGiantStudio.Modules; +using UnityEngine; + +namespace TinyGiantStudio.Layout +{ + // 1 = duration + // 2 = position move curve + + + [CreateAssetMenu(menuName = "Tiny Giant Studio/Modular 3D Layouts/Element Updater/Animated")] + public class AnimatedElementUpdater : LayoutElementModule + { + public override void UpdateLocalTransform(Transform transform, VariableHolder[] variableHolders, Vector3 localPosition, Quaternion localRotation) + { + if (Application.isPlaying) + { + AddAnimatorIfRequired(transform); + + LayoutElementAnimator elementAnimator = transform.gameObject.GetComponent(); + + if (elementAnimator.targetPosition != localPosition) + { + elementAnimator.NewTargetLocalPosition(variableHolders, localPosition); + + //if (elementAnimator.targetRotation != localRotation) + elementAnimator.NewTargetLocalRotation(variableHolders, localRotation); + } + } + else + { + if (transform.localPosition != localPosition) //This is to avoid unnecessary marking things as changed in scene hierarchy + transform.localPosition = localPosition; + + if (transform.localRotation != localRotation) //This is to avoid unnecessary marking things as changed in scene hierarchy + transform.localRotation = localRotation; + } + } + public override void UpdateLocalPosition(Transform transform, VariableHolder[] variableHolders, Vector3 localPosition) + { + if (transform.localPosition != localPosition) //This is to avoid unnecessary marking things as changed in scene hierarchy + { + if (Application.isPlaying) + { + AddAnimatorIfRequired(transform); + transform.gameObject.GetComponent().NewTargetLocalPosition(variableHolders, localPosition); + } + else + { + transform.localPosition = localPosition; + } + } + } + public override void UpdateLocalRotation(Transform transform, VariableHolder[] variableHolders, Quaternion localRotation) + { + if (transform.localRotation != localRotation) //This is to avoid unnecessary marking things as changed in scene hierarchy + { + if (Application.isPlaying) + { + AddAnimatorIfRequired(transform); + transform.gameObject.GetComponent().NewTargetLocalRotation(variableHolders, localRotation); + } + else + { + transform.localRotation = localRotation; + } + } + } + + + + public override void UpdateWorldTransform(Transform transform, VariableHolder[] variableHolders, Vector3 position, Quaternion rotation) + { + transform.SetPositionAndRotation(position, rotation); + } + public override void UpdateWorldPosition(Transform transform, VariableHolder[] variableHolders, Vector3 position) + { + transform.position = position; + } + public override void UpdateWorldRotation(Transform transform, VariableHolder[] variableHolders, Quaternion rotation) + { + transform.rotation = rotation; + } + + + void AddAnimatorIfRequired(Transform transform) + { + if (!transform.gameObject.GetComponent()) + transform.gameObject.AddComponent(); + } + + + + + public override string VariableWarnings(VariableHolder[] variableHolders) + { + return null; + } + } +} \ No newline at end of file diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/ElementUpdaters/AnimatedElementUpdater.cs.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/ElementUpdaters/AnimatedElementUpdater.cs.meta new file mode 100644 index 00000000..43b1fa3b --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/ElementUpdaters/AnimatedElementUpdater.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 1016cff7a4bef0d46a3c19b6413b2222 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/ElementUpdaters/AnimatedElementUpdater.cs + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/ElementUpdaters/BaseLayoutElementUpdater.cs b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/ElementUpdaters/BaseLayoutElementUpdater.cs new file mode 100644 index 00000000..e7363562 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/ElementUpdaters/BaseLayoutElementUpdater.cs @@ -0,0 +1,52 @@ +using TinyGiantStudio.Modules; +using UnityEngine; + +namespace TinyGiantStudio.Layout +{ + [CreateAssetMenu(menuName = "Tiny Giant Studio/Modular 3D Layouts/Element Updater/Flat")] + public class BaseLayoutElementUpdater : LayoutElementModule + { + public override void UpdateLocalTransform(Transform transform, VariableHolder[] variableHolders, Vector3 localPosition, Quaternion localRotation) + { + if (transform.localPosition != localPosition) //This is to avoid unnecessary marking things as changed in scene hierarchy + transform.localPosition = localPosition; + + if (transform.localRotation != localRotation) //This is to avoid unnecessary marking things as changed in scene hierarchy + transform.localRotation = localRotation; + } + public override void UpdateWorldTransform(Transform transform, VariableHolder[] variableHolders, Vector3 position, Quaternion rotation) + { + transform.SetPositionAndRotation(position, rotation); + } + public override void UpdateLocalPosition(Transform transform, VariableHolder[] variableHolders, Vector3 localPosition) + { + if (transform.localPosition != localPosition) //This is to avoid unnecessary marking things as changed in scene hierarchy + transform.localPosition = localPosition; + } + public override void UpdateWorldPosition(Transform transform, VariableHolder[] variableHolders, Vector3 position) + { + transform.position = position; + } + public override void UpdateLocalRotation(Transform transform, VariableHolder[] variableHolders, Quaternion localRotation) + { + if (transform.localRotation != localRotation) //This is to avoid unnecessary marking things as changed in scene hierarchy + transform.localRotation = localRotation; + } + public override void UpdateWorldRotation(Transform transform, VariableHolder[] variableHolders, Quaternion rotation) + { + transform.rotation = rotation; + } + + + + + + + + + public override string VariableWarnings(VariableHolder[] variableHolders) + { + return null; + } + } +} \ No newline at end of file diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/ElementUpdaters/BaseLayoutElementUpdater.cs.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/ElementUpdaters/BaseLayoutElementUpdater.cs.meta new file mode 100644 index 00000000..0285ffc1 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/ElementUpdaters/BaseLayoutElementUpdater.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 9874342bdf7f7c04382bb1befebfb05e +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/ElementUpdaters/BaseLayoutElementUpdater.cs + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/ElementUpdaters/LayoutElementAnimator.cs b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/ElementUpdaters/LayoutElementAnimator.cs new file mode 100644 index 00000000..ca39ab88 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/ElementUpdaters/LayoutElementAnimator.cs @@ -0,0 +1,105 @@ +using TinyGiantStudio.Modules; +using UnityEngine; + +namespace TinyGiantStudio.Layout +{ + [DisallowMultipleComponent] + public class LayoutElementAnimator : MonoBehaviour + { + bool settingPosition = false; + public float moveDuration; + public Vector3 startingPosition; + public Vector3 targetPosition; + public AnimationCurve positionAnimationCurve; + + bool settingRotation = false; + public float rotateDuration; + public Quaternion startingRotation; + public Quaternion targetRotation; + public AnimationCurve rotationAnimationCurve; + + public float positionTimer = 0; + public float rotationTimer = 0; + + void Update() + { + if (settingPosition) + { + if (positionTimer < moveDuration) + { + float perc = positionTimer / moveDuration; + transform.localPosition = Vector3.LerpUnclamped(startingPosition, targetPosition, positionAnimationCurve.Evaluate(perc)); + } + else + { + transform.localPosition = targetPosition; + settingPosition = false; + } + } + + if (settingRotation) + { + if (rotationTimer < rotateDuration) + { + if (!IsNaN(startingRotation) && !IsNaN(targetRotation)) + { + float perc = rotationTimer / moveDuration; + var currentRotation = Quaternion.LerpUnclamped(startingRotation, targetRotation, rotationAnimationCurve.Evaluate(perc)); + if (!IsNaN(currentRotation)) + transform.localRotation = currentRotation; + } + } + else + { + transform.localRotation = targetRotation; + settingRotation = false; + } + } + + if (!settingRotation && !settingPosition) + this.enabled = false; + + + positionTimer += Time.deltaTime; + rotationTimer += Time.deltaTime; + } + + public void NewTargetLocalPosition(VariableHolder[] variableHolders, Vector3 newTargetPosition) + { + if (targetPosition == newTargetPosition) + return; + + targetPosition = newTargetPosition; + positionTimer = 0; + startingPosition = transform.localPosition; + moveDuration = variableHolders[0].floatValue; + positionAnimationCurve = variableHolders[1].animationCurve; + + settingPosition = true; + + this.enabled = true; + } + public void NewTargetLocalRotation(VariableHolder[] variableHolders, Quaternion target) + { + if (targetRotation == target) + return; + + rotationTimer = 0; + startingRotation = transform.localRotation; + targetRotation = target; + rotateDuration = variableHolders[2].floatValue; + rotationAnimationCurve = variableHolders[3].animationCurve; + + settingRotation = true; + + this.enabled = true; + } + + private bool IsNaN(Quaternion q) + { + //return q.x == 0 && q.y == 0 && q.z == 0; + return float.IsNaN(q.x) && float.IsNaN(q.y) && float.IsNaN(q.z); + } + + } +} \ No newline at end of file diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/ElementUpdaters/LayoutElementAnimator.cs.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/ElementUpdaters/LayoutElementAnimator.cs.meta new file mode 100644 index 00000000..99aad995 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/ElementUpdaters/LayoutElementAnimator.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: bc4d5f6f1fb2e2345b7354c0c66be568 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/ElementUpdaters/LayoutElementAnimator.cs + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/ElementUpdaters/LayoutElementModule.cs b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/ElementUpdaters/LayoutElementModule.cs new file mode 100644 index 00000000..157c2866 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/ElementUpdaters/LayoutElementModule.cs @@ -0,0 +1,15 @@ +using TinyGiantStudio.Modules; +using UnityEngine; + +namespace TinyGiantStudio.Layout +{ + public abstract class LayoutElementModule : ModuleCore + { + public abstract void UpdateLocalTransform(Transform target, VariableHolder[] variableHolders, Vector3 localPosition, Quaternion localRotation); + public abstract void UpdateWorldTransform(Transform target, VariableHolder[] variableHolders, Vector3 position, Quaternion rotation); + public abstract void UpdateLocalPosition(Transform target, VariableHolder[] variableHolders, Vector3 localPosition); + public abstract void UpdateWorldPosition(Transform target, VariableHolder[] variableHolders, Vector3 position); + public abstract void UpdateLocalRotation(Transform target, VariableHolder[] variableHolders, Quaternion localRotation); + public abstract void UpdateWorldRotation(Transform target, VariableHolder[] variableHolders, Quaternion rotation); + } +} \ No newline at end of file diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/ElementUpdaters/LayoutElementModule.cs.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/ElementUpdaters/LayoutElementModule.cs.meta new file mode 100644 index 00000000..a89ef903 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/ElementUpdaters/LayoutElementModule.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 1c3386a33f3628247911b8bb92a5c138 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/ElementUpdaters/LayoutElementModule.cs + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/ElementUpdaters/LayoutElementModuleContainer.cs b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/ElementUpdaters/LayoutElementModuleContainer.cs new file mode 100644 index 00000000..63779e86 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/ElementUpdaters/LayoutElementModuleContainer.cs @@ -0,0 +1,12 @@ +using TinyGiantStudio.Modules; + +namespace TinyGiantStudio.Layout +{ + + [System.Serializable] + public class LayoutElementModuleContainer + { + public LayoutElementModule module; + public VariableHolder[] variableHolders; + } +} \ No newline at end of file diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/ElementUpdaters/LayoutElementModuleContainer.cs.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/ElementUpdaters/LayoutElementModuleContainer.cs.meta new file mode 100644 index 00000000..8962998d --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/ElementUpdaters/LayoutElementModuleContainer.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 41791388c9a20a64382c5ce4fd9ab4d4 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/ElementUpdaters/LayoutElementModuleContainer.cs + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/ElementUpdaters/LayoutElementNavmeshController.cs b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/ElementUpdaters/LayoutElementNavmeshController.cs new file mode 100644 index 00000000..658374fb --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/ElementUpdaters/LayoutElementNavmeshController.cs @@ -0,0 +1,98 @@ +using TinyGiantStudio.Modules; +using UnityEngine; +using UnityEngine.AI; + +namespace TinyGiantStudio.Layout +{ + [DisallowMultipleComponent] + public class LayoutElementNavmeshController : MonoBehaviour + { + //bool settingPosition = false; + public Vector3 startingPosition; + public Vector3 targetPosition; + + public float gravitationalAcceleration = 10; + + void Update() + { + if (transform.position != targetPosition) + { + ////GetComponent().AddForce((targetPosition - transform.position) * gravitationalAcceleration * Time.deltaTime); + //Vector3 direction = targetPosition - transform.position; + //GetComponent().AddForceAtPosition(direction.normalized, transform.position); + } + + //if (settingPosition) + //{ + // //if (timer < moveDuration) + // //{ + // // float perc = timer / moveDuration; + // // GetComponent().velocity += gravitationalAcceleration * Time.fixedTime * (targetPosition - transform.position); + // // transform.localPosition = Vector3.LerpUnclamped(startingPosition, targetPosition, positionAnimationCurve.Evaluate(perc)); + // //} + // //else + // //{ + // // transform.localPosition = targetPosition; + // // settingPosition = false; + // //} + //} + + //if (settingRotation) + //{ + // if (timer < rotateDuration) + // { + // if (!IsNaN(startingRotation) && !IsNaN(targetRotation)) + // { + // float perc = timer / moveDuration; + // transform.localRotation = Quaternion.LerpUnclamped(startingRotation, targetRotation, rotationAnimationCurve.Evaluate(perc)); ; + // } + // } + // else + // { + // transform.localRotation = targetRotation; + // settingRotation = false; + // } + //} + + //if (!settingRotation && !settingPosition) + // this.enabled = false; + + + //timer += Time.deltaTime; + } + + public void NewTargetLocalPosition(VariableHolder[] variableHolders, Vector3 target) + { + if (targetPosition == target) + return; + + NavMesh.avoidancePredictionTime = 2.5f; + NavMesh.pathfindingIterationsPerFrame = 1000; + + + //GetComponent().avoidancePriority = Random.Range(50, 100); + GetComponent().obstacleAvoidanceType = ObstacleAvoidanceType.HighQualityObstacleAvoidance; + GetComponent().SetDestination(targetPosition); + } + public void NewTargetLocalRotation(VariableHolder[] variableHolders, Quaternion target) + { + //if (targetRotation == target) + // return; + + //timer = 0; + //startingRotation = transform.localRotation; + //targetRotation = target; + //rotateDuration = variableHolders[2].floatValue; + //rotationAnimationCurve = variableHolders[3].animationCurve; + + //settingRotation = true; + + //this.enabled = true; + } + + private bool IsNaN(Quaternion q) + { + return q.x == 0 && q.y == 0 && q.z == 0; + } + } +} \ No newline at end of file diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/ElementUpdaters/LayoutElementNavmeshController.cs.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/ElementUpdaters/LayoutElementNavmeshController.cs.meta new file mode 100644 index 00000000..6ce77912 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/ElementUpdaters/LayoutElementNavmeshController.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 047ca61faa35e5242bd3e9199ba484ac +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/ElementUpdaters/LayoutElementNavmeshController.cs + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/ElementUpdaters/LayoutElementPhysicsController.cs b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/ElementUpdaters/LayoutElementPhysicsController.cs new file mode 100644 index 00000000..47d4eea3 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/ElementUpdaters/LayoutElementPhysicsController.cs @@ -0,0 +1,100 @@ +using TinyGiantStudio.Modules; +using UnityEngine; + +namespace TinyGiantStudio.Layout +{ + [DisallowMultipleComponent] + public class LayoutElementPhysicsController : MonoBehaviour + { + //bool settingPosition = false; + public Vector3 startingPosition; + public Vector3 targetPosition; + + public float gravitationalAcceleration = 10; + + void Update() + { + if (transform.position != targetPosition) + { + GetComponent().linearVelocity += gravitationalAcceleration * Time.fixedTime * (targetPosition - transform.position); + ////GetComponent().AddForce((targetPosition - transform.position) * gravitationalAcceleration * Time.deltaTime); + //Vector3 direction = targetPosition - transform.position; + //GetComponent().AddForceAtPosition(direction.normalized, transform.position); + } + + //if (settingPosition) + //{ + // //if (timer < moveDuration) + // //{ + // // float perc = timer / moveDuration; + // // GetComponent().velocity += gravitationalAcceleration * Time.fixedTime * (targetPosition - transform.position); + // // transform.localPosition = Vector3.LerpUnclamped(startingPosition, targetPosition, positionAnimationCurve.Evaluate(perc)); + // //} + // //else + // //{ + // // transform.localPosition = targetPosition; + // // settingPosition = false; + // //} + //} + + //if (settingRotation) + //{ + // if (timer < rotateDuration) + // { + // if (!IsNaN(startingRotation) && !IsNaN(targetRotation)) + // { + // float perc = timer / moveDuration; + // transform.localRotation = Quaternion.LerpUnclamped(startingRotation, targetRotation, rotationAnimationCurve.Evaluate(perc)); ; + // } + // } + // else + // { + // transform.localRotation = targetRotation; + // settingRotation = false; + // } + //} + + //if (!settingRotation && !settingPosition) + // this.enabled = false; + + + //timer += Time.deltaTime; + } + + public void NewTargetLocalPosition(VariableHolder[] variableHolders, Vector3 target) + { + if (targetPosition == target) + return; + + //timer = 0; + startingPosition = transform.localPosition; + targetPosition = target; + //moveDuration = variableHolders[0].floatValue; + //positionAnimationCurve = variableHolders[1].animationCurve; + + //settingPosition = true; + + this.enabled = true; + } + public void NewTargetLocalRotation(VariableHolder[] variableHolders, Quaternion target) + { + //if (targetRotation == target) + // return; + + //timer = 0; + //startingRotation = transform.localRotation; + //targetRotation = target; + //rotateDuration = variableHolders[2].floatValue; + //rotationAnimationCurve = variableHolders[3].animationCurve; + + //settingRotation = true; + + //this.enabled = true; + } + + private bool IsNaN(Quaternion q) + { + return q.x == 0 && q.y == 0 && q.z == 0; + } + } +} \ No newline at end of file diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/ElementUpdaters/LayoutElementPhysicsController.cs.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/ElementUpdaters/LayoutElementPhysicsController.cs.meta new file mode 100644 index 00000000..81ae296b --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/ElementUpdaters/LayoutElementPhysicsController.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: e91b61cafad9a284883a87f67a687245 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/ElementUpdaters/LayoutElementPhysicsController.cs + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/ElementUpdaters/NavMeshElementUpdater.cs b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/ElementUpdaters/NavMeshElementUpdater.cs new file mode 100644 index 00000000..1ba2c37d --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/ElementUpdaters/NavMeshElementUpdater.cs @@ -0,0 +1,103 @@ +using TinyGiantStudio.Modules; +using UnityEngine; + +namespace TinyGiantStudio.Layout +{ + // 1 = duration + // 2 = position move curve + + + [CreateAssetMenu(menuName = "Tiny Giant Studio/Modular 3D Layouts/Element Updater/Navmesh")] + public class NavMeshElementUpdater : LayoutElementModule + { + public override void UpdateLocalTransform(Transform transform, VariableHolder[] variableHolders, Vector3 localPosition, Quaternion localRotation) + { + if (transform.localPosition != localPosition) //This is to avoid unnecessary marking things as changed in scene hierarchy + { + if (Application.isPlaying) + { + AddAnimatorIfRequired(transform); + transform.gameObject.GetComponent().NewTargetLocalPosition(variableHolders, localPosition); + } + else + { + transform.localPosition = localPosition; + } + } + + if (transform.localRotation != localRotation) //This is to avoid unnecessary marking things as changed in scene hierarchy + { + if (Application.isPlaying) + { + AddAnimatorIfRequired(transform); + transform.gameObject.GetComponent().NewTargetLocalRotation(variableHolders, localRotation); + } + else + { + transform.localRotation = localRotation; + } + } + } + public override void UpdateLocalPosition(Transform transform, VariableHolder[] variableHolders, Vector3 localPosition) + { + + if (transform.localPosition != localPosition) //This is to avoid unnecessary marking things as changed in scene hierarchy + { + if (Application.isPlaying) + { + AddAnimatorIfRequired(transform); + transform.gameObject.GetComponent().NewTargetLocalPosition(variableHolders, localPosition); + } + else + { + transform.localPosition = localPosition; + } + } + } + public override void UpdateLocalRotation(Transform transform, VariableHolder[] variableHolders, Quaternion localRotation) + { + if (transform.localRotation != localRotation) //This is to avoid unnecessary marking things as changed in scene hierarchy + { + if (Application.isPlaying) + { + AddAnimatorIfRequired(transform); + transform.gameObject.GetComponent().NewTargetLocalRotation(variableHolders, localRotation); + } + else + { + transform.localRotation = localRotation; + } + } + } + + + + public override void UpdateWorldTransform(Transform transform, VariableHolder[] variableHolders, Vector3 position, Quaternion rotation) + { + transform.SetPositionAndRotation(position, rotation); + } + public override void UpdateWorldPosition(Transform transform, VariableHolder[] variableHolders, Vector3 position) + { + transform.position = position; + } + public override void UpdateWorldRotation(Transform transform, VariableHolder[] variableHolders, Quaternion rotation) + { + transform.rotation = rotation; + } + + + void AddAnimatorIfRequired(Transform transform) + { + if (!transform.gameObject.GetComponent()) + transform.gameObject.AddComponent(); + } + + + + + public override string VariableWarnings(VariableHolder[] variableHolders) + { + return null; + } + } +} \ No newline at end of file diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/ElementUpdaters/NavMeshElementUpdater.cs.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/ElementUpdaters/NavMeshElementUpdater.cs.meta new file mode 100644 index 00000000..5eb3f7ca --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/ElementUpdaters/NavMeshElementUpdater.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 9a96d9826294ad948a7e36a927b4e8e2 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/ElementUpdaters/NavMeshElementUpdater.cs + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/ElementUpdaters/PhysicsElementUpdater.cs b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/ElementUpdaters/PhysicsElementUpdater.cs new file mode 100644 index 00000000..a48161fe --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/ElementUpdaters/PhysicsElementUpdater.cs @@ -0,0 +1,103 @@ +using TinyGiantStudio.Modules; +using UnityEngine; + +namespace TinyGiantStudio.Layout +{ + // 1 = duration + // 2 = position move curve + + + [CreateAssetMenu(menuName = "Tiny Giant Studio/Modular 3D Layouts/Element Updater/Physics")] + public class PhysicsElementUpdater : LayoutElementModule + { + public override void UpdateLocalTransform(Transform transform, VariableHolder[] variableHolders, Vector3 localPosition, Quaternion localRotation) + { + if (transform.localPosition != localPosition) //This is to avoid unnecessary marking things as changed in scene hierarchy + { + if (Application.isPlaying) + { + AddAnimatorIfRequired(transform); + transform.gameObject.GetComponent().NewTargetLocalPosition(variableHolders, localPosition); + } + else + { + transform.localPosition = localPosition; + } + } + + if (transform.localRotation != localRotation) //This is to avoid unnecessary marking things as changed in scene hierarchy + { + if (Application.isPlaying) + { + AddAnimatorIfRequired(transform); + transform.gameObject.GetComponent().NewTargetLocalRotation(variableHolders, localRotation); + } + else + { + transform.localRotation = localRotation; + } + } + } + public override void UpdateLocalPosition(Transform transform, VariableHolder[] variableHolders, Vector3 localPosition) + { + + if (transform.localPosition != localPosition) //This is to avoid unnecessary marking things as changed in scene hierarchy + { + if (Application.isPlaying) + { + AddAnimatorIfRequired(transform); + transform.gameObject.GetComponent().NewTargetLocalPosition(variableHolders, localPosition); + } + else + { + transform.localPosition = localPosition; + } + } + } + public override void UpdateLocalRotation(Transform transform, VariableHolder[] variableHolders, Quaternion localRotation) + { + if (transform.localRotation != localRotation) //This is to avoid unnecessary marking things as changed in scene hierarchy + { + if (Application.isPlaying) + { + AddAnimatorIfRequired(transform); + transform.gameObject.GetComponent().NewTargetLocalRotation(variableHolders, localRotation); + } + else + { + transform.localRotation = localRotation; + } + } + } + + + + public override void UpdateWorldTransform(Transform transform, VariableHolder[] variableHolders, Vector3 position, Quaternion rotation) + { + transform.SetPositionAndRotation(position, rotation); + } + public override void UpdateWorldPosition(Transform transform, VariableHolder[] variableHolders, Vector3 position) + { + transform.position = position; + } + public override void UpdateWorldRotation(Transform transform, VariableHolder[] variableHolders, Quaternion rotation) + { + transform.rotation = rotation; + } + + + void AddAnimatorIfRequired(Transform transform) + { + if (!transform.gameObject.GetComponent()) + transform.gameObject.AddComponent(); + } + + + + + public override string VariableWarnings(VariableHolder[] variableHolders) + { + return null; + } + } +} \ No newline at end of file diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/ElementUpdaters/PhysicsElementUpdater.cs.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/ElementUpdaters/PhysicsElementUpdater.cs.meta new file mode 100644 index 00000000..e899cea1 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/ElementUpdaters/PhysicsElementUpdater.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 0fde9b90f291fe74dba12608b3483f44 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/ElementUpdaters/PhysicsElementUpdater.cs + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Layout Types.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Layout Types.meta new file mode 100644 index 00000000..86cbe42a --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Layout Types.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4b98528d56d62654d8354f007ec92ef7 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Layout Types/CircularLayoutGroup.cs b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Layout Types/CircularLayoutGroup.cs new file mode 100644 index 00000000..9b60276c --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Layout Types/CircularLayoutGroup.cs @@ -0,0 +1,259 @@ +using System.Collections.Generic; +using UnityEngine; +#if UNITY_EDITOR +using UnityEditor; +#endif +#if MODULAR_3D_TEXT +#endif + +namespace TinyGiantStudio.Layout +{ + [HelpURL("https://ferdowsur.gitbook.io/layout-system/layout-group/circular-layout-group")] + [AddComponentMenu("Tiny Giant Studio/Layout/Circular Layout Group (M3D)", 30003)] + public class CircularLayoutGroup : LayoutGroup + { + public Direction direction; + public enum Direction + { + left, + right + } + + /// + /// Uses style if set to false + /// + public bool useAngle; + public Vector3 angle; + + public Style style; + public enum Style + { + style1, + style2, + style3, + style4, + style5 + } + + public float spread = 360; + public float radius = 5; + public float radiusDecreaseRate = 0; + + //private float angle; + private int totalActiveChildCount; + private float xPos; + private float yPos; + + + + + + + public override void UpdateLayout(int startRepositioningFrom = 0) + { + totalActiveChildCount = TotalActiveChildCount(); + if (totalActiveChildCount == 0) + return; + + if (!Application.isPlaying || alwaysUpdateBounds || bounds == null || TotalActiveChildCount() != bounds.Length) + bounds = GetAllChildBounds(); + + //bounds = GetAllChildBounds(); + float totalSize = TotalYSize(bounds); + + float angle = 0; + float currentRadius = radius; + + for (int i = 0; i < transform.childCount; i++) + { + if (transform.GetChild(i).gameObject.activeSelf) + { + float toAdd = (spread) * (Size(bounds[i], totalSize)) / 2; + + if (direction == Direction.left) + angle += toAdd; + else + angle -= toAdd; + + + xPos = Mathf.Sin(Mathf.Deg2Rad * angle) * currentRadius; + yPos = Mathf.Cos(Mathf.Deg2Rad * angle) * currentRadius; + + if (i >= startRepositioningFrom) + { + Vector3 targetPosition = new Vector3(xPos, yPos, 0); + Quaternion targetRotation = GetRotation(angle, i); + + targetPosition = RemoveNaNErrorIfAny(targetPosition); + + SetLocalPositionRotation(targetPosition, targetRotation, transform.GetChild(i)); + } + + if (direction == Direction.left) + angle += toAdd; + else + angle -= toAdd; + + currentRadius -= radiusDecreaseRate; + } + } + } + + private void SetLocalPositionRotation(Vector3 position, Quaternion rotation, Transform target) + { + if (elementUpdater != null) + { + if (elementUpdater.module) + { + elementUpdater.module.UpdateLocalTransform(target, elementUpdater.variableHolders, position, rotation); + return; + } + } + + if (target.localPosition != position)//This is to avoid unnecessary marking things as changed in scene hierarchy + target.localPosition = position; + if (target.localRotation != rotation)//This is to avoid unnecessary marking things as changed in scene hierarchy + target.localRotation = rotation; + } + + public override List GetPositions(List meshLayouts) + { + if (meshLayouts.Count == 0) + return null; + Bounds[] bounds = GetAllChildBounds(meshLayouts); + float totalSize = TotalYSize(bounds); + + float angle = 0; + float currentRadius = radius; + + for (int i = 0; i < meshLayouts.Count; i++) + { + float toAdd = (spread) * (Size(bounds[i], totalSize)) / 2; + + if (direction == Direction.left) + angle += toAdd; + else + angle -= toAdd; + + + xPos = Mathf.Sin(Mathf.Deg2Rad * angle) * currentRadius; + yPos = Mathf.Cos(Mathf.Deg2Rad * angle) * currentRadius; + + meshLayouts[i].position = new Vector3(xPos, yPos, 0); + meshLayouts[i].rotation = GetRotation(angle, i); + + if (direction == Direction.left) + angle += toAdd; + else + angle -= toAdd; + + currentRadius -= radiusDecreaseRate; + } + + return meshLayouts; + } + + private float Size(Bounds myBound, float totalBound) + { + return myBound.size.y / totalBound; + } + + float TotalYSize(Bounds[] bounds) + { + float y = 0; + + for (int i = 0; i < bounds.Length; i++) + { + y += bounds[i].size.y; + } + + return y; + } + + + + private Quaternion GetRotation(float angle, int i) + { + if (!useAngle) + return GetRotationFromStyle(angle, i); + else + return GetRotationFromFlatRotation(angle); + } + private Quaternion GetRotationFromFlatRotation(float rotation) + { + return Quaternion.Euler(rotation - angle.x, angle.y, angle.z); + } + private Quaternion GetRotationFromStyle(float angle, int i) + { + if (float.IsNaN(angle)) + angle = 0; + + //centered + if (style == Style.style1) + return Quaternion.Euler(angle - 90, 90, 0); + else if (style == Style.style2) + return Quaternion.Euler(angle + 90, 90, 0); + else if (style == Style.style3) + return Quaternion.Euler(angle + 90, 90, 90); + else if (style == Style.style4) + return Quaternion.Euler(angle - 90, 90, 90); + else + { + Vector3 toTargetVector; + if (transform.childCount > i) + toTargetVector = Vector3.zero - transform.GetChild(i).localPosition; + else + toTargetVector = Vector3.zero; + + float zRotation = Mathf.Atan2(toTargetVector.y, toTargetVector.x) * Mathf.Rad2Deg; + return Quaternion.Euler(new Vector3(0, 0, zRotation)); + } + } + + public void SetDirectionLeft() + { + direction = Direction.left; + Debug.Log(direction); + } + + public void SetDirectionRight() + { + direction = Direction.right; + Debug.Log(direction); + + } +#if UNITY_EDITOR + //private void OnDrawGizmos() + new void OnDrawGizmosSelected() + { + if (!showSceneViewGizmo) + return; + + base.OnDrawGizmosSelected(); + + Handles.matrix = transform.localToWorldMatrix; + Gizmos.color = new Color(0.75f, 0.75f, 1f, 0.9f); + + int totalItems = Mathf.RoundToInt(radius * 10); + if (totalItems < 10) + totalItems = 10; + + float gizmoAngle = -(spread / 2); + List points = new List(); + + for (int i = 0; i <= totalItems; i++) + { + float xPos = Mathf.Sin(Mathf.Deg2Rad * gizmoAngle) * radius; + float yPos = Mathf.Cos(Mathf.Deg2Rad * gizmoAngle) * radius; + + Vector3 newPos = new Vector3(xPos, yPos, 0); + points.Add(newPos); + + gizmoAngle += (spread / totalItems); + + } + Handles.DrawAAPolyLine(5, points.ToArray()); + } +#endif + } +} \ No newline at end of file diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Layout Types/CircularLayoutGroup.cs.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Layout Types/CircularLayoutGroup.cs.meta new file mode 100644 index 00000000..28ea1421 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Layout Types/CircularLayoutGroup.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 6c0b6c9cac700554daac7e5c90317cd0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: b8706c1453128964184845d57412da66, type: 3} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Layout Types/CircularLayoutGroup.cs + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Layout Types/GridLayoutGroup.cs b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Layout Types/GridLayoutGroup.cs new file mode 100644 index 00000000..6cc3c5de --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Layout Types/GridLayoutGroup.cs @@ -0,0 +1,1445 @@ +using System; +using System.Collections.Generic; +using UnityEngine; + +#if MODULAR_3D_TEXT + +using TinyGiantStudio.Text; + +#endif + +namespace TinyGiantStudio.Layout +{ + [HelpURL("https://ferdowsur.gitbook.io/layout-system/layout-group/grid-layout-group")] + [AddComponentMenu("Tiny Giant Studio/Layout/Grid Layout Group (M3D)", 30001)] + public class GridLayoutGroup : LayoutGroup + { + #region Variable declaration + + [SerializeField] + private Alignment _anchor = Alignment.MiddleCenter; + + public Alignment Anchor + { + get { return _anchor; } + set + { + _anchor = value; + if (!UpdateTextIfRequired()) + UpdateLayout(); + } + } + + [Tooltip("Elements will be split to fill the entire width")] + [SerializeField] + private bool _justiceHorizontal = false; + + public bool JusticeHorizontal + { + get { return _justiceHorizontal; } + set + { + _justiceHorizontal = value; + if (!UpdateTextIfRequired()) + UpdateLayout(); + } + } + + [Tooltip("Justice will be only be applied if the elements hold equal/more than the % width")] + [SerializeField] + private float _justiceHorizontalPercent = 70; + + public float JusticeHorizontalPercent + { + get { return _justiceHorizontalPercent; } + set + { + _justiceHorizontalPercent = value; + if (!UpdateTextIfRequired()) + UpdateLayout(); + } + } + + [Tooltip("Elements will be split to fill the entire width")] + [SerializeField] + private bool _justiceVertical = false; + + public bool JusticeVertical + { + get { return _justiceVertical; } + set + { + _justiceVertical = value; + if (!UpdateTextIfRequired()) + UpdateLayout(); + } + } + + [Tooltip("Justice will be only be applied if the elements hold equal/more than the % height")] + [SerializeField] + private float _justiceVerticalPercent = 70; + + public float JusticeVerticalPercent + { + get { return _justiceVerticalPercent; } + set + { + _justiceVerticalPercent = value; + if (!UpdateTextIfRequired()) + UpdateLayout(); + } + } + + [SerializeField] + private Vector2 _spacing = new Vector2(5, 5); + + /// + /// This will always return _spacing/100 + /// + public Vector2 Spacing + { + get { return _spacing / 100; } + set + { + _spacing = value; + + if (!UpdateTextIfRequired()) + UpdateLayout(); + } + } + + [SerializeField] + private float _width = 23; + + /// + /// If this is attached to a rect transform, this gets the recttransform width + /// + public float Width + { + get { return _width; } + set + { + _width = value; + + if (!UpdateTextIfRequired()) + UpdateLayout(); + } + } + + [SerializeField] + private float _height = 4; + + public float Height + { + get { return _height; } + set + { + _height = value; + + if (!UpdateTextIfRequired()) + UpdateLayout(); + } + } + + [SerializeField] + private Overflow _verticalOverflow; + + public Overflow VerticalOverflow + { + get { return _verticalOverflow; } + set + { + _verticalOverflow = value; + + if (!UpdateTextIfRequired()) + UpdateLayout(); + } + } + + [SerializeField] + private LineSpacingStyle _lineSpacingStyle = LineSpacingStyle.maximum; + + /// + /// Is not used for texts + /// + public LineSpacingStyle MyLineSpacingStyle + { + get { return _lineSpacingStyle; } + set + { + _lineSpacingStyle = value; + + if (!UpdateTextIfRequired()) + UpdateLayout(); + } + } + + //#if UNITY_EDITOR + // private readonly float depth = 0f; + //#endif + + private int currentLine = 0; + private int currentLetter; + private int currentWord; +#if MODULAR_3D_TEXT + private Modular3DText text; +#endif + + public List lines = new List(); + + /// + /// Only accurate when UpdateLayout is called for all child objects. + /// Doesn't auto update for any other methods. + /// + public float totalVerticalSpaceTaken; + #endregion Variable declaration + + public override void UpdateLayout(int startRepositioningFrom = 0) + { + totalVerticalSpaceTaken = 0; + + if (transform.childCount == 0) + return; + + if (GetComponent() != null) + _width = GetComponent().rect.width; + + if (!Application.isPlaying || alwaysUpdateBounds || TotalActiveChildCount() != bounds.Length) + bounds = GetAllChildBounds(); + lines = GetLines(); + + GetLayoutInformations(out float lineHeight, out int maxLine, out float y, out float z); + + for (int lineCount = 0; lineCount < lines.Count; lineCount++)//for each line + { + ProcessLine(ref lineHeight, ref y, lineCount, out float justiceXMultiplier, out float x); + + y -= (Spacing.y + lineHeight) / 2; + for (int i = 0; i < lines[lineCount].gameObjects.Count; i++) //for each char on the line + { + if (lineCount >= maxLine) + { + lines[lineCount].gameObjects[i].SetActive(false); + continue; + } + + Bounds bound = GetBound(lines[lineCount].gameObjects[i].transform); + + float spaceX = ((Spacing.x + bound.size.x) / 2) * justiceXMultiplier; + x += spaceX; + + Vector3 targetPos = new Vector3(x - bound.center.x, y, z); + + if (i >= startRepositioningFrom) + SetLocalPosition(lineCount, i, targetPos); + + x += spaceX; + } + + y -= (Spacing.y + lineHeight) / 2; + totalVerticalSpaceTaken += (Spacing.y + lineHeight); + } + } + + public void UpdateLayout(int startRepositioningFrom = 0, bool updateBounds = true) + { + totalVerticalSpaceTaken = 0; + + if (transform.childCount == 0) + return; + + if (GetComponent() != null) + _width = GetComponent().rect.width; + + if (updateBounds) + { + if (!Application.isPlaying || alwaysUpdateBounds || TotalActiveChildCount() != bounds.Length) + bounds = GetAllChildBounds(); + } + lines = GetLines(); + + GetLayoutInformations(out float lineHeight, out int maxLine, out float y, out float z); + + for (int lineCount = 0; lineCount < lines.Count; lineCount++)//for each line + { + ProcessLine(ref lineHeight, ref y, lineCount, out float justiceXMultiplier, out float x); + + y -= (Spacing.y + lineHeight) / 2; + for (int i = 0; i < lines[lineCount].gameObjects.Count; i++) //for each char on the line + { + if (lineCount >= maxLine) + { + lines[lineCount].gameObjects[i].SetActive(false); + continue; + } + + Bounds bound = GetBound(lines[lineCount].gameObjects[i].transform); + + float spaceX = ((Spacing.x + bound.size.x) / 2) * justiceXMultiplier; + x += spaceX; + + Vector3 targetPos = new Vector3(x - bound.center.x, y, z); + + if (i >= startRepositioningFrom) + SetLocalPosition(lineCount, i, targetPos); + + x += spaceX; + } + + y -= (Spacing.y + lineHeight) / 2; + totalVerticalSpaceTaken += (Spacing.y + lineHeight); + } + } + + private void SetLocalPosition(int lineCount, int i, Vector3 targetPos) + { + if (elementUpdater != null) + { + if (elementUpdater.module != null) + { + elementUpdater.module.UpdateLocalPosition(lines[lineCount].gameObjects[i].transform, elementUpdater.variableHolders, targetPos); + return; + } + } + + if (targetPos != lines[lineCount].gameObjects[i].transform.localPosition) //This is to avoid unnecessary marking things as changed in scene hierarchy + lines[lineCount].gameObjects[i].transform.localPosition = targetPos; + } + + /// + /// Used by Text only + /// + /// + /// + public override List GetPositions(List meshLayouts) + { + if (meshLayouts.Count == 0) + return null; + + if (GetComponent() != null) + _width = GetComponent().rect.width; + + bounds = GetAllChildBounds(meshLayouts); + lines = GetLines(bounds, meshLayouts, Spacing.x); + GetLayoutInformations(out float lineHeight, out int maxLine, out float y, out float z); + + for (int lineCount = 0; lineCount < lines.Count; lineCount++) //for each line + { + ProcessLine(ref lineHeight, ref y, lineCount, out float justiceXMultiplier, out float x); + + y -= (Spacing.y + lineHeight) / 2; + for (int i = 0; i < lines[lineCount].meshLayouts.Count; i++) //for each char on the line + { + if (lineCount >= maxLine) + { + lines[lineCount].meshLayouts[i].mesh = null; + continue; + } + + Bounds bound = GetBound(lines[lineCount].meshLayouts[i]); + + float spaceX = ((Spacing.x + bound.size.x) / 2) * justiceXMultiplier; + x += spaceX; + + Vector3 targetPos = new Vector3(x - bound.center.x, y, z); + + //if (targetPos != lines[lineCount].gameObjects[i].transform.localPosition) + lines[lineCount].meshLayouts[i].position = targetPos; + + x += spaceX; + } + y -= (Spacing.y + lineHeight) / 2; + } + + return meshLayouts; + } + /// + /// Used by Text only + /// + /// + /// + public List GetPositions(List meshLayouts, out float totalVerticalSpaceTaken, out float totalHorizontalSpaceTaken) + { + totalVerticalSpaceTaken = 0; + totalHorizontalSpaceTaken = 0; + + if (meshLayouts.Count == 0) + return null; + + if (GetComponent() != null) + _width = GetComponent().rect.width; + + bounds = GetAllChildBounds(meshLayouts); + lines = GetLines(bounds, meshLayouts, Spacing.x); + GetLayoutInformations(out float lineHeight, out int maxLine, out float y, out float z); + + for (int lineCount = 0; lineCount < lines.Count; lineCount++) //for each line + { + ProcessLine(ref lineHeight, ref y, lineCount, out float justiceXMultiplier, out float x); + + y -= (Spacing.y + lineHeight) / 2; + for (int i = 0; i < lines[lineCount].meshLayouts.Count; i++) //for each char on the line + { + if (lineCount >= maxLine) + { + lines[lineCount].meshLayouts[i].mesh = null; + continue; + } + + Bounds bound = GetBound(lines[lineCount].meshLayouts[i]); + + float spaceX = ((Spacing.x + bound.size.x) / 2) * justiceXMultiplier; + x += spaceX; + + Vector3 targetPos = new Vector3(x - bound.center.x, y, z); + + //if (targetPos != lines[lineCount].gameObjects[i].transform.localPosition) + lines[lineCount].meshLayouts[i].position = targetPos; + + x += spaceX; + + totalHorizontalSpaceTaken += (spaceX * 2f); + } + y -= (Spacing.y + lineHeight) / 2; + + totalVerticalSpaceTaken += (Spacing.y + lineHeight); + } + return meshLayouts; + } + /// + /// Used by Text only + /// + /// + /// + public List GetPositions(List meshLayouts, float widthChangeRate, float heightChangeRate) + { + if (meshLayouts.Count == 0) + return null; + + if (GetComponent() != null) + _width = GetComponent().rect.width; + + bounds = GetAllChildBounds(meshLayouts); + lines = GetLines(bounds, meshLayouts, (widthChangeRate * Spacing.x)); + +#if MODULAR_3D_TEXT + text = GetComponent(); +#endif + float lineHeight = GetLineHeight(); + int maxLine; + + if (VerticalOverflow == Overflow.wrap) + maxLine = Mathf.FloorToInt(Height / lineHeight); + else + maxLine = lines.Count; + + float y = -StartingY(lineHeight, maxLine, heightChangeRate); + float z = 0; + + //y *= heightChangeRate; + float yToModifyBy = (Spacing.y + lineHeight) * heightChangeRate / 2f; + //Debug.Log(((Spacing.y + lineHeight) / 2f) + " replaced by " + yToModifyBy + " for yToModifyBy"); + //Debug.Log(yToModifyBy); + for (int lineCount = 0; lineCount < lines.Count; lineCount++) //for each line + { + ProcessLine(ref lineHeight, ref y, lineCount, out float justiceXMultiplier, out float x); + + y -= yToModifyBy; + for (int i = 0; i < lines[lineCount].meshLayouts.Count; i++) //for each char on the line + { + if (lineCount >= maxLine) + { + lines[lineCount].meshLayouts[i].mesh = null; + continue; + } + + Bounds bound = GetBound(lines[lineCount].meshLayouts[i]); + + float spaceX = (((widthChangeRate * Spacing.x) + bound.size.x) / 2) * justiceXMultiplier; + x += spaceX; + + Vector3 targetPos = new Vector3(x - bound.center.x, y, z); + + //if (targetPos != lines[lineCount].gameObjects[i].transform.localPosition) + lines[lineCount].meshLayouts[i].position = targetPos; + + x += spaceX; + } + y -= yToModifyBy; + } + + return meshLayouts; + } + + public void GetLayoutInformations(out float lineHeight, out int maxLine, out float y, out float z) + { +#if MODULAR_3D_TEXT + text = GetComponent(); +#endif + lineHeight = GetLineHeight(); + + if (VerticalOverflow == Overflow.wrap) + maxLine = Mathf.FloorToInt(Height / lineHeight); + else + maxLine = lines.Count; + + y = -StartingY(lineHeight, maxLine); + z = 0; + } + + private void ProcessLine(ref float ySpace, ref float y, int lineCount, out float justiceXMultiplier, out float x) + { + float spaceRequired = GetXSpaceRequired(lines[lineCount]); + justiceXMultiplier = GetJusticeXMultiplier(spaceRequired); + + if (lines[lineCount].meshLayouts.Count > 0) + x = StartingX(lines[lineCount].meshLayouts, spaceRequired); + else + x = StartingX(lines[lineCount].gameObjects, spaceRequired); + +#if MODULAR_3D_TEXT + if (!text && MyLineSpacingStyle == LineSpacingStyle.individual) //Mesh layout is only called by text, so this isn't required +#else + if (MyLineSpacingStyle == LineSpacingStyle.individual) //Mesh layout is only called by text, so this isn't required +#endif + { + ySpace = GetSpecificLineMaxYSpace(lines[lineCount].gameObjects); +#if UNITY_EDITOR + lines[lineCount].individualYSpace = ySpace; +#endif + } + } + + private float GetLineHeight(float yMultiplier = 1) + { +#if MODULAR_3D_TEXT + if (MyLineSpacingStyle == LineSpacingStyle.maximum || text) +#else + if (MyLineSpacingStyle == LineSpacingStyle.maximum) +#endif + return GetMaxYSpace(bounds); + else if (MyLineSpacingStyle == LineSpacingStyle.average) + return GetAverageYSpace(bounds); + + //individual + return 1; + } + + private float GetMaxYSpace(Bounds[] bounds) + { +#if MODULAR_3D_TEXT + if (text) + if (text.Font) + return text.Font.lineHeight * text.FontSize.y / (Mathf.Clamp(text.Font.unitPerEM, 0.0001f, 1000000) * 8); +#endif + + float maxY = 0; + + for (int i = 0; i < bounds.Length; i++) + { + if (bounds[i].size.y > maxY) + { + if (!IgnoreChildBoundAndLineBreak(bounds, i)) + { + maxY = bounds[i].size.y; + } + } + } + + return maxY; + } + + private float GetJusticeXMultiplier(float spaceRequired) + { + if (ApplyHorizontalJustice(spaceRequired)) + return Width / spaceRequired; + + return 1; + } + + /// + /// Used by 3d Text only when single mesh is used + /// + /// + /// + private List GetLines(Bounds[] bounds, List meshLayouts, float spacingX) + { + List lines = new List(); + + Line line = new Line(); + lines.Add(line); + + float x = 0; + + currentLetter = 0; + currentWord = 0; + currentLine = 0; + + bool checkedIfFits = false; //This checks if a word in text is already tested to fit. + + for (int i = 0; i < bounds.Length; i++) + { +#if MODULAR_3D_TEXT + IsThisAnewWord(text, ref checkedIfFits); +#else + IsThisAnewWord(ref checkedIfFits); +#endif + ///New line + if (ItsALineBreak(meshLayouts, lines, ref currentLine, ref x, i)) + { + currentLetter = 0; + currentWord++; + continue; + } + +#if UNITY_EDITOR + lines[currentLine].widthIfNextObjectWasHere = x + Spacing.x + bounds[i].size.x; +#endif + + //Get current line number + //Will it be new line if current object is added + if ((float)Math.Round(x + spacingX + bounds[i].size.x, 5) > Width) //New line + { + x = bounds[i].size.x + spacingX; + Line newLine = new Line(); + lines.Add(newLine); + +#if MODULAR_3D_TEXT + MoveWordToNextLine(meshLayouts, bounds, lines, currentLine, ref x, text, currentWord, ref checkedIfFits, i); +#else + MoveWordToNextLine(meshLayouts, bounds, lines, currentLine, ref x, currentWord, ref checkedIfFits, i); +#endif + currentLine++; + } + else + { + x += bounds[i].size.x + spacingX; +#if UNITY_EDITOR + if (x != 0) + lines[currentLine].width = x; +#endif + } + + lines[currentLine].meshLayouts.Add(meshLayouts[i]); + currentLetter++; + } + +#if MODULAR_3D_TEXT + if (text) + lines = RemoveUnnecessarySpacesFromMeshLayouts(lines); +#endif + if (lines.Count > 0) + { + //remove empty first line + if (lines[0].gameObjects.Count == 0 && lines[0].meshLayouts.Count == 0) + lines.RemoveAt(0); + + if (lines.Count > 0) //this is because if the only text is space and the line is removed, there are no lines and returns null error + { + //remove empty last line + if (lines[lines.Count - 1].gameObjects.Count == 0 && lines[lines.Count - 1].meshLayouts.Count == 0) + lines.RemoveAt(lines.Count - 1); + } + } + + return lines; + } + + /// + /// Used in all cases except when text has single mesh turned on + /// + /// + /// + private List GetLines() + { + List lines = new List(); + + Line line = new Line(); + lines.Add(line); + + float x = 0; + + currentLetter = 0; + currentWord = 0; + currentLine = 0; + + bool checkedIfFits = false; + + for (int i = 0; i < transform.childCount; i++) + { +#if MODULAR_3D_TEXT + if (text) + if (!text.characterObjectList.Contains(transform.GetChild(i).gameObject)) + continue; + IsThisAnewWord(text, ref checkedIfFits); +#else + IsThisAnewWord(ref checkedIfFits); +#endif + + ///New line + if (ItsALineBreak(lines, ref currentLine, ref x, i)) + { + currentLetter = 0; + currentWord++; + continue; + } + +#if MODULAR_3D_TEXT + if (!text && IgnoreChildBound(bounds, i)) +#else + if (IgnoreChildBound(bounds, i)) +#endif + continue; + +#if UNITY_EDITOR + lines[currentLine].widthIfNextObjectWasHere = x + Spacing.x + bounds[i].size.x; +#endif + //Get current line number + //Will it be new line if current object is added + //Debug.Log((float)Math.Round(x + Spacing.x + bounds[i].size.x, 5)); + if ((float)Math.Round(x + Spacing.x + bounds[i].size.x, 5) > Width) //New line + { + x = bounds[i].size.x + Spacing.x; + Line nline = new Line(); + lines.Add(nline); + //Debug.Log(text.wordArray[word] + " word for: " + currentLetter + " letter for: " + transform.GetChild(i), transform.GetChild(i)); +#if MODULAR_3D_TEXT + MoveWordToNextLine(bounds, lines, currentLine, ref x, text, currentLetter, currentWord, ref checkedIfFits, i); +#else + MoveWordToNextLine(bounds, lines, currentLine, ref x, currentLetter, currentWord, ref checkedIfFits, i); +#endif + + currentLine++; + } + else // in the same line + { + x += bounds[i].size.x + Spacing.x; +#if UNITY_EDITOR + lines[currentLine].width = x; +#endif + } + + lines[currentLine].gameObjects.Add(transform.GetChild(i).gameObject); + currentLetter++; + } + +#if MODULAR_3D_TEXT + if (text) + lines = RemoveUnnecessarySpaces(lines); +#endif + if (lines.Count > 0) + { + //remove empty first line + if (lines[0].gameObjects.Count == 0 && lines[0].meshLayouts.Count == 0) + lines.RemoveAt(0); + + if (lines.Count > 0) + { + //remove empty last line + if (lines[lines.Count - 1].gameObjects.Count == 0) + lines.RemoveAt(lines.Count - 1); + } + } + + return lines; + } + + #region Pos + + private float StartingX(List meshlayouts, float spaceRequired) + { + if (Anchor == Alignment.UpperLeft || Anchor == Alignment.MiddleLeft || Anchor == Alignment.LowerLeft) + return (-Width / 2) - Spacing.x / 2; + else if (Anchor == Alignment.UpperRight || Anchor == Alignment.MiddleRight || Anchor == Alignment.LowerRight) + { + if (!ApplyHorizontalJustice(spaceRequired)) + return (Width / 2) - GetXSpaceRequired(meshlayouts) + Spacing.x / 2; + else + return (-Width / 2) - Spacing.x / 2; + } + else + { + if (!ApplyHorizontalJustice(spaceRequired)) + return -GetXSpaceRequired(meshlayouts) / 2; + else + return (-Width / 2) - Spacing.x / 2; + } + } + + private float StartingX(List gameObjects, float spaceRequired) + { + if (Anchor == Alignment.UpperLeft || Anchor == Alignment.MiddleLeft || Anchor == Alignment.LowerLeft) + return (-Width / 2) - Spacing.x / 2; + else if (Anchor == Alignment.UpperRight || Anchor == Alignment.MiddleRight || Anchor == Alignment.LowerRight) + { + if (!ApplyHorizontalJustice(spaceRequired)) + return (Width / 2) - GetXSpaceRequired(gameObjects) + Spacing.x / 2; + else + return (-Width / 2) - Spacing.x / 2; + } + else + { + if (!ApplyHorizontalJustice(spaceRequired)) + return -GetXSpaceRequired(gameObjects) / 2; + else + return (-Width / 2) - Spacing.x / 2; + } + } + + private float GetXSpaceRequired(Line line) + { + if (line.gameObjects.Count > 0) + return GetXSpaceRequired(line.gameObjects); + else + return GetXSpaceRequired(line.meshLayouts); + } + + private float GetXSpaceRequired(List targets) + { + float width = 0; + + for (int i = 0; i < targets.Count; i++) + { + width += GetBound(targets[i].transform).size.x + Spacing.x; + } + + return width; + } + + private float GetXSpaceRequired(List targets) + { + float width = 0; + + for (int i = 0; i < targets.Count; i++) + { + width += GetBound(targets[i]).size.x + Spacing.x; + } + + return width; + } + + /// + /// + /// + /// + /// Spacing Y selected in the inspector + /// + /// + private float StartingY(float ySpace, float maxLines) + { + if (IsUpperAlignment()) + return StartingYforUpperAlignment(); + else if (IsMiddleAlignment()) + return StartingYforMiddleAlignment(ySpace, maxLines); + else // (Anchor == Alignment.LowerLeft || Anchor == Alignment.LowerCenter || Anchor == Alignment.LowerRight) + return StartingYforLowerAlignment(ySpace, maxLines); + } + + /// + /// + /// + /// + /// Spacing Y selected in the inspector + /// + /// + private float StartingY(float ySpace, float maxLines, float heightChangeRate) + { + if (IsUpperAlignment()) + return StartingYforUpperAlignment(heightChangeRate); //TODO + else if (IsMiddleAlignment()) + return StartingYforMiddleAlignment(ySpace, maxLines); + else // (Anchor == Alignment.LowerLeft || Anchor == Alignment.LowerCenter || Anchor == Alignment.LowerRight) + return StartingYforLowerAlignment(ySpace, maxLines); //TODO + } + + private float StartingYforUpperAlignment() + { + return (-Height / 2) - (Spacing.y / 2); + } + private float StartingYforUpperAlignment(float heightChangeRate) + { + return (-Height / 2) - ((Spacing.y * heightChangeRate) / 2); + } + + private float StartingYforMiddleAlignment(float ySpace, float maxLines) + { +#if MODULAR_3D_TEXT + if (text || MyLineSpacingStyle != LineSpacingStyle.individual) +#else + if (MyLineSpacingStyle != LineSpacingStyle.individual) +#endif + return -(maxLines * (Spacing.y + ySpace)) / 2; + + return -GetTotalYSpaceTakenByCheckingEachLineIndividually(maxLines) / 2; + } + + private float StartingYforLowerAlignment(float ySpace, float maxLines) + { +#if MODULAR_3D_TEXT + if (text || MyLineSpacingStyle != LineSpacingStyle.individual) +#else + if (MyLineSpacingStyle != LineSpacingStyle.individual) +#endif + { + float ySize = maxLines * (Spacing.y + ySpace); + return (Height / 2) - ySize + Spacing.y / 2; + } + + return (Height / 2) - GetTotalYSpaceTakenByCheckingEachLineIndividually(maxLines) + Spacing.y / 2; + } + + private float GetTotalYSpaceTakenByCheckingEachLineIndividually(float maxLines) + { + float ySpaceTaken = 0; + //for (int i = 0; i < lines.Count; i++) + for (int i = 0; i < maxLines; i++) + { + ySpaceTaken += GetSpecificLineMaxYSpace(lines[i].gameObjects) + Spacing.y; + } + return ySpaceTaken; + } + + /// + /// Isn't used by text + /// + /// + /// + private float GetAverageYSpace(Bounds[] bounds) + { + float totalY = 0; + float totalElements = 0; + + for (int i = 0; i < bounds.Length; i++) + { + if (!IgnoreChildBoundAndLineBreak(bounds, i)) + { + totalY += bounds[i].size.y; + totalElements++; + } + } + + return totalY / totalElements; + } + + /// + /// Isn't used by text + /// + /// + /// + private float GetSpecificLineMaxYSpace(List itemsInLine) + { + float maxY = 0; + + for (int i = 0; i < itemsInLine.Count; i++) + { + Bounds bound = GetBound(itemsInLine[i].transform); + if (bound.size.y > maxY) + { + if (!IgnoreChildBoundAndLineBreak(bounds, i)) + { + maxY = bound.size.y; + } + } + } + + return maxY; + } + + private bool IsUpperAlignment() => Anchor == Alignment.UpperLeft || Anchor == Alignment.UpperCenter || Anchor == Alignment.UpperRight; + + private bool IsMiddleAlignment() => Anchor == Alignment.MiddleLeft || Anchor == Alignment.MiddleCenter || Anchor == Alignment.MiddleRight; + + #endregion Pos + + private bool ApplyHorizontalJustice(float spaceRequired) + { + if (!JusticeHorizontal) + { + return false; + } + else + { + if ((spaceRequired / Width) * 100 >= JusticeHorizontalPercent) + return true; + else + return false; + } + } + + /// + /// For text when combine mesh is on + /// + /// + /// + /// + /// + /// + /// + private bool ItsALineBreak(List meshLayouts, List lines, ref int currentLine, ref float x, int i) + { + if (meshLayouts[i].lineBreak) + { + lines[currentLine].meshLayouts.Add(meshLayouts[i]); + + x = 0; + Line nline = new Line(); + lines.Add(nline); + currentLine++; + + return true; + } + return false; + } + + /// + /// For text when combine mesh is on + /// + /// + /// + /// + /// + /// + private bool ItsALineBreak(List lines, ref int currentLine, ref float x, int i) + { + if (transform.GetChild(i).GetComponent()) + { + if (transform.GetChild(i).GetComponent().lineBreak) + { + lines[currentLine].gameObjects.Add(transform.GetChild(i).gameObject); + + x = 0; + Line nline = new Line(); + lines.Add(nline); + currentLine++; + + return true; + } + } + return false; + } + +#if MODULAR_3D_TEXT + + private void IsThisAnewWord(Modular3DText text, ref bool checkedIfFits) +#else + void IsThisAnewWord(ref bool checkedIfFits) +#endif + { +#if MODULAR_3D_TEXT + if (text) + { + if (text.wordArray != null) + { + if (text.wordArray.Length > currentWord) + { + if (text.wordArray[currentWord] == string.Empty) + { + currentLetter = 0; + currentWord++; + checkedIfFits = false; + } + } + if (text.wordArray.Length > currentWord) + { + if (currentLetter >= text.wordArray[currentWord].Length) + { + currentLetter = 0; + currentWord++; + checkedIfFits = false; + } + } + } + } +#endif + } + +#if MODULAR_3D_TEXT + + private void MoveWordToNextLine(List meshLayouts, Bounds[] bounds, List lines, int currentLine, ref float x, Modular3DText text, int word, ref bool checkedIfFits, int i) +#else + void MoveWordToNextLine(List meshLayouts, Bounds[] bounds, List lines, int currentLine, ref float x, int word, ref bool checkedIfFits, int i) +#endif + { +#if MODULAR_3D_TEXT + if (text) + { + if (currentLetter > 0) + { + //Debug.Log("Current letter number: " + letter); + if (checkedIfFits == false) + { +#if UNITY_EDITOR + lines[currentLine].editorNote = "Checking if fits"; +#endif + if (WordIsntTooBigForOneLine(bounds, text, i, word, currentLetter)) + { +#if UNITY_EDITOR + lines[currentLine].editorNote = "Word isn't too big"; +#endif + List temp = new List(); + + //if the a letter of a word is pushed to a new line, + //scroll through all previous letters in current word + //and add them to the new line + for (int j = currentLetter; j >= 0; j--) + { + if (lines[currentLine].meshLayouts.Count > 0) + { + MeshLayout g = lines[currentLine].meshLayouts[lines[currentLine].meshLayouts.Count - 1]; + lines[currentLine].meshLayouts.Remove(g); + x += bounds[i - j].size.x + Spacing.x; //add the size of the letters for new word's calculation + temp.Add(g); + } + } + for (int k = temp.Count - 1; k >= 0; k--) + { + lines[currentLine + 1].meshLayouts.Add(temp[k]); + } + } + else + { + //Debug.Log("Word too big to fit"); + } + } + } + } +#endif + } + +#if MODULAR_3D_TEXT + + private void MoveWordToNextLine(Bounds[] bounds, List lines, int currentLine, ref float x, Modular3DText text, int letter, int word, ref bool checkedIfFits, int i) +#else + void MoveWordToNextLine(Bounds[] bounds, List lines, int currentLine, ref float x, int letter, int word, ref bool checkedIfFits, int i) +#endif + { +#if MODULAR_3D_TEXT + if (text) + { + //Debug.Log(letter + " letter " + transform.GetChild(i) + " is on new line"); + if (letter > 0) + { + if (checkedIfFits == false) + { + if (WordIsntTooBigForOneLine(bounds, text, i, word, letter)) + { + List temp = new List(); + + //if the a letter of a word is pushed to a new line, + //scroll through all previous letters in current word + //and add them to the new line + for (int j = letter; j >= 0; j--) + { + if (lines[currentLine].gameObjects.Count > 0) + { + GameObject g = lines[currentLine].gameObjects[lines[currentLine].gameObjects.Count - 1]; + lines[currentLine].gameObjects.Remove(g); + x += bounds[i - j].size.x + Spacing.x; + temp.Add(g); + } + } + + for (int k = temp.Count - 1; k >= 0; k--) + { + lines[currentLine + 1].gameObjects.Add(temp[k]); + } + } + + checkedIfFits = true; + } + } + } +#endif + } + + /// + /// Bool because the updatelayout is called by update text + /// If returns true, the layout has already been updated + /// + /// + private bool UpdateTextIfRequired() + { +#if MODULAR_3D_TEXT + if (GetComponent()) + { + if (!GetComponent().ShouldItCreateChild()) + { + GetComponent().CleanUpdateText(); + return true; + } + } +#endif + return false; + } + +#if MODULAR_3D_TEXT + + /// + /// If the word is too big to fit in a single line + /// + /// + /// + /// + /// + /// + /// + private bool WordIsntTooBigForOneLine(Bounds[] bounds, Modular3DText text, int currentChildNumber, int word, int letter) +#else + bool WordIsntTooBigForOneLine(Bounds[] bounds, int currentChildNumber, int word, int letter) +#endif + { +#if MODULAR_3D_TEXT + if (text.wordArray == null) + return false; + + if (word >= text.wordArray.Length) + { + //Debug.Log("word index:" + word + " | Text's word array length: " + text.wordArray.Length); + return true; + } + + int wordStartsAtChildIndex = currentChildNumber - letter; + int wordEndssAtChildIndex = currentChildNumber - letter + text.wordArray[word].Length - 1; + + //Debug.Log("word starts at index: " + wordStartsAtChildIndex + " word ends at index:" + wordEndssAtChildIndex); + + float x = 0; + for (int i = wordStartsAtChildIndex; i <= wordEndssAtChildIndex; i++) + { + if (bounds.Length <= i) + { + return false; + } + + if (bounds.Length > i) + x += bounds[i].size.x; + + if (x > Width) + { + return false; + } + } +#endif + return true; + } + + private List RemoveUnnecessarySpacesFromMeshLayouts(List lines) + { + for (int i = 0; i < lines.Count; i++) + { + Line currentLine = lines[i]; + if (currentLine.meshLayouts.Count > 0) + { + if (i != 0 && currentLine.meshLayouts[0].mesh == null) + { + currentLine.meshLayouts.RemoveAt(0); + } + + if (currentLine.meshLayouts.Count > 1) + { + int lastIndex = currentLine.meshLayouts.Count - 1; + MeshLayout meshLayout = currentLine.meshLayouts[lastIndex]; + + if (meshLayout.mesh == null) + { + currentLine.meshLayouts.RemoveAt(lastIndex); + } + else if (meshLayout.lineBreak) + { + currentLine.meshLayouts.RemoveAt(lastIndex); + lastIndex--; + if (lastIndex > 0) + { + if (currentLine.meshLayouts[lastIndex].mesh == null) + { + currentLine.gameObjects.RemoveAt(lastIndex); + } + } + } + } + } + else + { + lines.RemoveAt(i); + i--; + } + } + + return lines; + } + + private List RemoveUnnecessarySpaces(List lines) + { + for (int i = 0; i < lines.Count; i++) + { + Line currentLine = lines[i]; + if (currentLine.gameObjects.Count > 0) //should never be 0. Just incase + { + LayoutElement firstElement = currentLine.gameObjects[0].GetComponent(); + if (firstElement) + { + if (firstElement.space) + { + currentLine.gameObjects.RemoveAt(0); + } + } + + if (currentLine.gameObjects.Count > 1) + { + int lastIndex = currentLine.gameObjects.Count - 1; + LayoutElement lastElement = currentLine.gameObjects[lastIndex].GetComponent(); + + if (lastElement) + { + //if (lines[i].gameObjects[lastIndex].name == "Space") + if (lastElement.space) + { + currentLine.gameObjects.RemoveAt(lastIndex); + } + else if (lastElement.lineBreak) + { + currentLine.gameObjects.RemoveAt(lastIndex); + lastIndex--; + if (lastIndex > 0) + { + LayoutElement newLastElement = currentLine.gameObjects[lastIndex].GetComponent(); + if (newLastElement) + { + if (newLastElement.space) + { + currentLine.gameObjects.RemoveAt(lastIndex); + } + } + } + } + } + } + } + else + { + lines.RemoveAt(i); + i--; + } + } + + return lines; + } + +#if UNITY_EDITOR + + /// + /// Draws the width and height + /// + //void OnDrawGizmos() + private new void OnDrawGizmosSelected() + { + if (!showSceneViewGizmo) + return; + + base.OnDrawGizmosSelected(); + + if (GetComponent()) return; + + Gizmos.matrix = transform.localToWorldMatrix; + Gizmos.color = new Color(1, 1, 1, 0.75f); + + Gizmos.DrawWireCube(Vector3.zero, new Vector3(Width + 0.1f, Height + 0.1f, 0.006f)); + } + +#endif + } + + /// + /// Where the anchor of the text is placed. + /// + public enum Alignment + { + // + // Summary: + // Text is anchored in upper left corner. + UpperLeft = 0, + + // + // Summary: + // Text is anchored in upper side, centered horizontally. + UpperCenter = 1, + + // + // Summary: + // Text is anchored in upper right corner. + UpperRight = 2, + + // + // Summary: + // Text is anchored in left side, centered vertically. + MiddleLeft = 3, + + // + // Summary: + // Text is centered both horizontally and vertically. + MiddleCenter = 4, + + // + // Summary: + // Text is anchored in right side, centered vertically. + MiddleRight = 5, + + // + // Summary: + // Text is anchored in lower left corner. + LowerLeft = 6, + + // + // Summary: + // Text is anchored in lower side, centered horizontally. + LowerCenter = 7, + + // + // Summary: + // Text is anchored in lower right corner. + LowerRight = 8, + } + + [Serializable] + public class Line + { + public List gameObjects = new List(); + public List meshLayouts = new List(); +#if UNITY_EDITOR + + /// + /// Editor only + /// + [Tooltip("Editor only. Not included in build")] + public float width; + + /// + /// Editor only + /// + [Tooltip("Editor only. Not included in build")] + public float individualYSpace; + + /// + /// Editor only + /// + [Tooltip("Editor only. Not included in build")] + public float widthIfNextObjectWasHere; + + /// + /// Editor only + /// + [Tooltip("Editor only. Not included in build")] + public string editorNote; + +#endif + } + + public enum LineSpacingStyle + { + maximum, + average, + individual + } + + +} \ No newline at end of file diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Layout Types/GridLayoutGroup.cs.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Layout Types/GridLayoutGroup.cs.meta new file mode 100644 index 00000000..b0fd09d6 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Layout Types/GridLayoutGroup.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 6d022da6541fe6144a0948571cfad5a1 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Layout Types/GridLayoutGroup.cs + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Layout Types/LinearLayoutGroup.cs b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Layout Types/LinearLayoutGroup.cs new file mode 100644 index 00000000..236fb549 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Layout Types/LinearLayoutGroup.cs @@ -0,0 +1,788 @@ +using System.Collections.Generic; +using TinyGiantStudio.Text; +using UnityEngine; + +#if MODULAR_3D_TEXT +#endif + +namespace TinyGiantStudio.Layout +{ + [HelpURL("https://ferdowsur.gitbook.io/layout-system/layout-group/linear-layout-group")] + [AddComponentMenu("Tiny Giant Studio/Layout/Linear Layout Group (M3D)", 30003)] + public class LinearLayoutGroup : LayoutGroup + { + #region Variable Declaration + + public float spacing = 0; + public Alignment alignment = Alignment.HorizontalMiddle; + public Alignment secondaryAlignment = Alignment.VerticleMiddle; + + private bool startLoopFromEnd = true; + + public bool randomizeRotations = false; + + [SerializeField] private Vector3 _minimumRandomRotation = Vector3.zero; + + public Vector3 MinimumRandomRotation + { + get { return _minimumRandomRotation; } + set + { + if (_minimumRandomRotation != value) + { + rotationChanged = true; + } + + _minimumRandomRotation = value; + } + } + + public Vector3 maximumRandomRotation = Vector3.zero; + public bool rotationChanged = false; + + public enum Alignment + { + Top, + VerticleMiddle, + Bottom, + Left, + HorizontalMiddle, + Right + } + + public float totalSpaceTaken; + + public Overflow overflow; + public float width = 20; + + [Tooltip("If enabled, will try to cut off characters that are slightly over the border due to their width")] + public bool addCharacterWidthWhenCaclulatingOverflow = false; + + #endregion Variable Declaration + + protected override void Update() + { + if (Application.isPlaying && !alwaysUpdateInPlayMode) + { + this.enabled = false; + return; + } + + if (TotalActiveChildCount() == 0) + return; + +#if MODULAR_3D_TEXT + if (GetComponent()) + { + if (GetComponent().combineMeshInEditor) + return; + } + else + UpdateLayout(); +#endif + } + + public override void UpdateLayout(int startRepositioningFrom = 0) + { + if (TotalActiveChildCount() == 0) + return; + + if (!Application.isPlaying || alwaysUpdateBounds || TotalActiveChildCount() != bounds.Length) + bounds = GetAllChildBounds(); + + float x = 0; + float y = 0; + + GetStartingPosition(ref x, ref y, bounds, spacing); + //GetPositionValuesAccordingToSelectedLayout(ref x, ref y, bounds); + + startLoopFromEnd = StartLoopFromEnd(); + + if (startLoopFromEnd) + { + for (int i = transform.childCount - 1; i >= 0; i--) + { + if (IgnoreChildBound(bounds, i)) + continue; + + SetChildPosition(ref x, ref y, i, bounds[i], startRepositioningFrom); + } + } + else + { + for (int i = 0; i < transform.childCount; i++) + { + if (IgnoreChildBound(bounds, i)) + continue; + + SetChildPosition(ref x, ref y, i, bounds[i], startRepositioningFrom); + } + } + rotationChanged = false; + + if (alignment == Alignment.HorizontalMiddle) + totalSpaceTaken = Mathf.Abs(x * 2); + else + totalSpaceTaken = Mathf.Abs(x); + } + + public void UpdateLayout(bool ignoreOverflowSettings) + { + int startRepositioningFrom = 0; + + if (TotalActiveChildCount() == 0) + return; + + if (!Application.isPlaying || alwaysUpdateBounds || TotalActiveChildCount() != bounds.Length) + bounds = GetAllChildBounds(); + + float x = 0; + float y = 0; + + GetStartingPosition(ref x, ref y, bounds, spacing, true); + //GetPositionValuesAccordingToSelectedLayout(ref x, ref y, bounds); + + startLoopFromEnd = StartLoopFromEnd(); + + if (startLoopFromEnd) + { + for (int i = transform.childCount - 1; i >= 0; i--) + { + if (IgnoreChildBound(bounds, i)) + continue; + + SetChildPosition(ref x, ref y, i, bounds[i], startRepositioningFrom, ignoreOverflowSettings); + } + } + else + { + for (int i = 0; i < transform.childCount; i++) + { + if (IgnoreChildBound(bounds, i)) + continue; + + SetChildPosition(ref x, ref y, i, bounds[i], startRepositioningFrom, ignoreOverflowSettings); + } + } + rotationChanged = false; + + if (alignment == Alignment.HorizontalMiddle) + totalSpaceTaken = Mathf.Abs(x * 2); + else + totalSpaceTaken = Mathf.Abs(x); + } + + /// + /// This is used by Auto Size feature of the 3D Text + /// + /// + public void UpdateLayoutDoNotUpdateBounds(int startRepositioningFrom = 0) + { + if (TotalActiveChildCount() == 0) + return; + + //if (!Application.isPlaying || alwaysUpdateBounds || TotalActiveChildCount() != bounds.Length) + // bounds = GetAllChildBounds(); + + float x = 0; + float y = 0; + GetStartingPosition(ref x, ref y, bounds, spacing); + //GetPositionValuesAccordingToSelectedLayout(ref x, ref y, bounds); + + startLoopFromEnd = StartLoopFromEnd(); + + if (startLoopFromEnd) + { + for (int i = transform.childCount - 1; i >= 0; i--) + { + if (IgnoreChildBound(bounds, i)) + continue; + + SetChildPosition(ref x, ref y, i, bounds[i], startRepositioningFrom); + } + } + else + { + for (int i = 0; i < transform.childCount; i++) + { + if (IgnoreChildBound(bounds, i)) + continue; + + SetChildPosition(ref x, ref y, i, bounds[i], startRepositioningFrom); + } + } + rotationChanged = false; + + if (alignment == Alignment.HorizontalMiddle) + totalSpaceTaken = Mathf.Abs(x * 2); + else + totalSpaceTaken = Mathf.Abs(x); + } + + /// + /// Same as UpdateLayout but for combined meshes + /// + /// + /// + public override List GetPositions(List meshLayouts) + { + if (meshLayouts.Count == 0) + return null; + + //Bounds[] bounds = GetAllChildBounds(meshLayouts); //commented out on June, why was it using local variable? + bounds = GetAllChildBounds(meshLayouts); + + float x = 0; + float y = 0; + + GetStartingPosition(ref x, ref y, bounds, spacing); + startLoopFromEnd = StartLoopFromEnd(); + + if (startLoopFromEnd) + { + for (int i = meshLayouts.Count - 1; i >= 0; i--) + { + meshLayouts[i] = SetMeshPosition(ref x, ref y, bounds[i], meshLayouts[i], spacing); + if (randomizeRotations) meshLayouts[i].rotation.eulerAngles = GetRandomRotation(MinimumRandomRotation, maximumRandomRotation); + } + } + else + { + for (int i = 0; i < meshLayouts.Count; i++) + { + meshLayouts[i] = SetMeshPosition(ref x, ref y, bounds[i], meshLayouts[i], spacing); + if (randomizeRotations) meshLayouts[i].rotation.eulerAngles = GetRandomRotation(MinimumRandomRotation, maximumRandomRotation); + } + } + rotationChanged = false; + + return meshLayouts; + } + + /// + /// This is used by auto size of Text to check the width of text + /// Same as UpdateLayout but for combined meshes + /// + /// + /// + public List GetPositions(List meshLayouts, out float totalSpaceTaken, bool ignoreOverflowSetting = true) + { + totalSpaceTaken = 0; + + if (meshLayouts.Count == 0) + return null; + + //Bounds[] bounds = GetAllChildBounds(meshLayouts); //commented out on June, why was it using local variable? + bounds = GetAllChildBounds(meshLayouts); + + float x = 0; + float y = 0; + + GetStartingPosition(ref x, ref y, bounds, spacing, ignoreOverflowSetting); + startLoopFromEnd = StartLoopFromEnd(); + + if (startLoopFromEnd) + { + for (int i = meshLayouts.Count - 1; i >= 0; i--) + { + meshLayouts[i] = SetMeshPosition(ref x, ref y, bounds[i], meshLayouts[i], spacing, true); + if (randomizeRotations) meshLayouts[i].rotation.eulerAngles = GetRandomRotation(MinimumRandomRotation, maximumRandomRotation); + } + } + else + { + for (int i = 0; i < meshLayouts.Count; i++) + { + meshLayouts[i] = SetMeshPosition(ref x, ref y, bounds[i], meshLayouts[i], spacing, true); + if (randomizeRotations) meshLayouts[i].rotation.eulerAngles = GetRandomRotation(MinimumRandomRotation, maximumRandomRotation); + } + } + rotationChanged = false; + + if (alignment == Alignment.HorizontalMiddle) + totalSpaceTaken = Mathf.Abs(x * 2); + else + totalSpaceTaken = Mathf.Abs(x); + + return meshLayouts; + } + + /// + /// Same as UpdateLayout but for combined meshes + /// + /// + /// + public List GetPositions(List meshLayouts, float modifiedSpacing) + { + if (meshLayouts.Count == 0) + return null; + + bounds = GetAllChildBounds(meshLayouts); + + float x = 0; + float y = 0; + + GetStartingPosition(ref x, ref y, bounds, modifiedSpacing); + startLoopFromEnd = StartLoopFromEnd(); + + if (startLoopFromEnd) + { + for (int i = meshLayouts.Count - 1; i >= 0; i--) + { + meshLayouts[i] = SetMeshPosition(ref x, ref y, bounds[i], meshLayouts[i], modifiedSpacing); + if (randomizeRotations) meshLayouts[i].rotation.eulerAngles = GetRandomRotation(MinimumRandomRotation, maximumRandomRotation); + } + } + else + { + for (int i = 0; i < meshLayouts.Count; i++) + { + meshLayouts[i] = SetMeshPosition(ref x, ref y, bounds[i], meshLayouts[i], modifiedSpacing); + if (randomizeRotations) meshLayouts[i].rotation.eulerAngles = GetRandomRotation(MinimumRandomRotation, maximumRandomRotation); + } + } + rotationChanged = false; + + return meshLayouts; + } + + private MeshLayout SetMeshPosition(ref float x, ref float y, Bounds bound, MeshLayout meshLayout, float modifiedSpacing, bool ignoreOverlow = false) + { + float toAddX = 0; + float toAddY = 0; + + if (alignment == Alignment.Bottom || alignment == Alignment.VerticleMiddle) + { + toAddY -= (modifiedSpacing / 2) + (bound.size.y) / 2; + y -= bound.center.y; + } + else if (alignment == Alignment.Top) + { + toAddY += (modifiedSpacing / 2) + (bound.size.y) / 2; + y -= bound.center.y; + } + else if (alignment == Alignment.Left) + { + toAddX += (modifiedSpacing / 2) + (bound.size.x) / 2; + x -= bound.center.x; + } + else if (alignment == Alignment.Right || alignment == Alignment.HorizontalMiddle) + { + toAddX -= (modifiedSpacing / 2) + (bound.size.x) / 2; + + x -= bound.center.x; + } + x += toAddX; + y += toAddY; + + if (!ignoreOverlow && overflow == Overflow.wrap) + { + if (alignment == Alignment.HorizontalMiddle) + { + if (addCharacterWidthWhenCaclulatingOverflow) + { + if (x + (meshLayout.width / 2) > width / 2) + meshLayout.mesh = null; + } + else + { + if (x > width / 2) + meshLayout.mesh = null; + } + } + else if (alignment == Alignment.Right) + { + if (addCharacterWidthWhenCaclulatingOverflow) + { + if (x + (meshLayout.width / 2f) > 0) + meshLayout.mesh = null; + } + else + { + if (x > 0) + meshLayout.mesh = null; + } + } + else if (alignment == Alignment.Left) + { + if (addCharacterWidthWhenCaclulatingOverflow) + { + if (x + (meshLayout.width / 2f) > width) + meshLayout.mesh = null; + } + else + { + if (x > width) + meshLayout.mesh = null; + } + } + } + + meshLayout.position = RemoveNaNErrorIfAny(new Vector3(x, y, 0)); + + //transform.GetChild(i).localPosition = RemoveNaNErrorIfAny(new Vector3(x, y, 0)); + + if (alignment == Alignment.Bottom || alignment == Alignment.VerticleMiddle || alignment == Alignment.Top) + { + y += bound.center.y; + } + else if (alignment == Alignment.Left || alignment == Alignment.HorizontalMiddle || alignment == Alignment.Right) + { + x += bound.center.x; + } + x += toAddX; + y += toAddY; + + return meshLayout; + } + + private void SetChildPosition(ref float x, ref float y, int i, Bounds bound, int startRepositioningFrom, bool ignoreOverflowSettings = false) + { + float toAddX = 0; + float toAddY = 0; + + if (alignment == Alignment.Bottom || alignment == Alignment.VerticleMiddle) + { + toAddY -= (spacing / 2) + (bound.size.y) / 2; + y -= bound.center.y; + } + else if (alignment == Alignment.Top) + { + toAddY += (spacing / 2) + (bound.size.y) / 2; + y -= bound.center.y; + } + else if (alignment == Alignment.Left) + { + toAddX += (spacing / 2) + (bound.size.x) / 2; + x -= bound.center.x; + } + else if (alignment == Alignment.Right || alignment == Alignment.HorizontalMiddle) + { + toAddX -= (spacing / 2) + (bound.size.x) / 2; + + x -= bound.center.x; + } + + x += toAddX; + y += toAddY; + + if (!ignoreOverflowSettings && overflow == Overflow.wrap) + { + if (alignment == Alignment.HorizontalMiddle) + { + if (addCharacterWidthWhenCaclulatingOverflow) + { + if (x + bound.extents.x > width / 2) + transform.GetChild(i).gameObject.SetActive(false); + } + else + { + if (x > width / 2) + transform.GetChild(i).gameObject.SetActive(false); + } + } + else if (alignment == Alignment.Right) + { + if (addCharacterWidthWhenCaclulatingOverflow) + { + if (x + bound.extents.x > 0) + transform.GetChild(i).gameObject.SetActive(false); + } + else + { + if (x > 0) + transform.GetChild(i).gameObject.SetActive(false); + } + } + else if (alignment == Alignment.Left) + { + if (addCharacterWidthWhenCaclulatingOverflow) + { + if (x + bound.extents.x > width) + transform.GetChild(i).gameObject.SetActive(false); + } + else + { + if (x > width) + transform.GetChild(i).gameObject.SetActive(false); + } + } + } + + Vector3 targetPosition = RemoveNaNErrorIfAny(new Vector3(x, y, 0)); + if (i >= startRepositioningFrom) + SetLocalPosition(transform.GetChild(i), targetPosition); + + if (alignment == Alignment.Bottom || alignment == Alignment.VerticleMiddle || alignment == Alignment.Top) + { + y += bound.center.y; + } + else if (alignment == Alignment.Left || alignment == Alignment.HorizontalMiddle || alignment == Alignment.Right) + { + x += bound.center.x; + } + + x += toAddX; + y += toAddY; + } + + private void SetLocalPosition(Transform target, Vector3 targetPosition) + { + if (Application.isPlaying && elementUpdater.module) + { + if (!randomizeRotations) + elementUpdater.module.UpdateLocalPosition(target, elementUpdater.variableHolders, targetPosition); + else + elementUpdater.module.UpdateLocalTransform(target, elementUpdater.variableHolders, targetPosition, GetRandomQuaternionRotation(MinimumRandomRotation, maximumRandomRotation)); + } + else + { + if (target.localPosition != targetPosition) + { + target.localPosition = targetPosition; + + if (randomizeRotations) + { + target.localEulerAngles = GetRandomRotation(MinimumRandomRotation, maximumRandomRotation); + } + } + else if (rotationChanged && randomizeRotations) + { + target.localEulerAngles = GetRandomRotation(MinimumRandomRotation, maximumRandomRotation); + } + } + } + + private Vector3 GetRandomRotation(Vector3 min, Vector3 max) + { + float x = Random.Range(min.x, max.x); + float y = Random.Range(min.y, max.y); + float z = Random.Range(min.z, max.z); + + return new Vector3(x == float.NaN ? 0 : x, y == float.NaN ? 0 : y, z == float.NaN ? 0 : z); + } + + private Quaternion GetRandomQuaternionRotation(Vector3 min, Vector3 max) + { + float x = Random.Range(min.x, max.x); + float y = Random.Range(min.y, max.y); + float z = Random.Range(min.z, max.z); + + return Quaternion.Euler(x == float.NaN ? 0 : x, y == float.NaN ? 0 : y, z == float.NaN ? 0 : z); + } + + private void GetStartingPosition(ref float x, ref float y, Bounds[] bounds, float currentSpacing, bool ignoreOverflowSetting = false) + { + switch (alignment) + { + case Alignment.Top: + y = -currentSpacing / 2; //This neutralizes the spacing for the starting character + break; + + case Alignment.VerticleMiddle: + for (int i = 0; i < bounds.Length; i++) + { + if (bounds[i].size == Vector3.zero) + continue; + + y += bounds[i].size.y + currentSpacing; + } + + y /= 2; + break; + + case Alignment.Bottom: + y = currentSpacing / 2; //This neutralizes the spacing for the last character + break; + + case Alignment.Left: + x = -currentSpacing / 2; + break; + + case Alignment.HorizontalMiddle: + for (int i = 0; i < bounds.Length; i++) + { + if (i < transform.childCount && transform.GetChild(i)) + if (transform.GetChild(i).GetComponent()) + if (transform.GetChild(i).GetComponent().ignoreElement) + continue; + + if (bounds[i].size == Vector3.zero) + continue; + + x += bounds[i].size.x + currentSpacing; + } + + if (!ignoreOverflowSetting && overflow == Overflow.wrap) + { + if (x > width) + x -= (width - x); + } + + x /= 2; + break; + + case Alignment.Right: + + x = (currentSpacing / 2); + if (!ignoreOverflowSetting && overflow == Overflow.wrap) + { + float spaceRequired = 0; + + for (int i = 0; i < bounds.Length; i++) + { + if (i < transform.childCount && transform.GetChild(i)) + if (transform.GetChild(i).GetComponent()) + if (transform.GetChild(i).GetComponent().ignoreElement) + continue; + + if (bounds[i].size == Vector3.zero) + continue; + + spaceRequired += bounds[i].size.x + currentSpacing; + } + + if (spaceRequired > width) + { + x = (spaceRequired - width); + } + } + + break; + + default: + break; + } + + if (alignment == Alignment.Left || alignment == Alignment.HorizontalMiddle || alignment == Alignment.Right) + { + if (secondaryAlignment == Alignment.Top) + y = (MaxBoundHeight(bounds) / 2); + //y = (-spacing / 2); + else if (secondaryAlignment == Alignment.Bottom) + y = (-MaxBoundHeight(bounds) / 2); + //y = spacing / 2; + } + } + + private float MaxBoundHeight(Bounds[] allBounds) + { + float y = 0; + foreach (Bounds bounds in allBounds) + if (bounds.size.y > y) + y = bounds.size.y; + + return y; + } + + ///// + ///// Legacy. Use GetStartingPosition + ///// + ///// + ///// + ///// + //private void GetPositionValuesAccordingToSelectedLayout(ref float x, ref float y, Bounds[] bounds) + //{ + // if (alignment == Alignment.Bottom) + // { + // y = spacing / 2; + // } + // else if (alignment == Alignment.VerticleMiddle) + // { + // for (int i = 0; i < bounds.Length; i++) + // { + // if (bounds[i].size == Vector3.zero) + // continue; + + // y += bounds[i].size.y + spacing; + // } + + // y /= 2; + // } + // else if (alignment == Alignment.Top) + // { + // y = -spacing / 2; + // } + // else if (alignment == Alignment.Left) + // { + // x = -spacing / 2; + // } + // else if (alignment == Alignment.HorizontalMiddle) + // { + // for (int i = 0; i < bounds.Length; i++) + // { + // if (i < transform.childCount && transform.GetChild(i)) + // if (transform.GetChild(i).GetComponent()) + // if (transform.GetChild(i).GetComponent().ignoreElement) + // continue; + + // if (bounds[i].size == Vector3.zero) + // continue; + + // x += bounds[i].size.x + spacing; + // } + + // x /= 2; + // } + // else if (alignment == Alignment.Right) + // { + // x = (spacing / 2); + // } + //} + + private bool StartLoopFromEnd() + { + if (alignment == Alignment.Top) return true; + else if (alignment == Alignment.VerticleMiddle) return false; + else if (alignment == Alignment.Bottom) return false; + else if (alignment == Alignment.Left) return false; + else if (alignment == Alignment.HorizontalMiddle) return true; + else if (alignment == Alignment.Right) return true; + + return false; //this never happens + } + +#if UNITY_EDITOR + + /// + /// Draws the width and height + /// + //void OnDrawGizmos() + private new void OnDrawGizmosSelected() + { + if (!showSceneViewGizmo) + return; + + base.OnDrawGizmosSelected(); + +#if MODULAR_3D_TEXT + if (!gameObject.GetComponent()) + { + if (overflow == Overflow.overflow) + return; + } + else + { + if (!gameObject.GetComponent().autoFontSize && overflow == Overflow.overflow) + return; + } +#else + if (overflow == Overflow.overflow) + return; +#endif + + Gizmos.matrix = transform.localToWorldMatrix; + Gizmos.color = new Color(0, 1, 0, 0.75f); + + Vector3 offset = Vector3.zero; + if (alignment == LinearLayoutGroup.Alignment.Right) + offset = new Vector3(-width / 2f, 0, 0); + else if (alignment == LinearLayoutGroup.Alignment.Left) + offset = new Vector3(width / 2f, 0, 0); + + Gizmos.DrawWireCube(offset, new Vector3(width, 0.1f, 0.001f)); + } + +#endif + } +} \ No newline at end of file diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Layout Types/LinearLayoutGroup.cs.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Layout Types/LinearLayoutGroup.cs.meta new file mode 100644 index 00000000..33cd38e0 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Layout Types/LinearLayoutGroup.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 5df32dbccdd55304ca945caebee56de9 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Layout Types/LinearLayoutGroup.cs + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Layout Types/VolumeLayoutGroup.cs b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Layout Types/VolumeLayoutGroup.cs new file mode 100644 index 00000000..e25fceec --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Layout Types/VolumeLayoutGroup.cs @@ -0,0 +1,1296 @@ +using System; +using System.Collections.Generic; +using UnityEngine; +#if MODULAR_3D_TEXT +using TinyGiantStudio.Text; +#endif + +namespace TinyGiantStudio.Layout +{ + //[HelpURL("https://ferdowsur.gitbook.io/layout-system/layout-group/grid-layout-group")] + [AddComponentMenu("Tiny Giant Studio/Layout/Volume Layout Group (M3D)", 30001)] + public class VolumeLayoutGroup : LayoutGroup + { + #region Variable declaration + + [SerializeField] + private Alignment _anchor = Alignment.MiddleCenter; + public Alignment Anchor + { + get { return _anchor; } + set + { + _anchor = value; + if (!UpdateTextIfRequired()) + UpdateLayout(); + } + } + + [SerializeField] + private DepthAlignment _depthAlignment = DepthAlignment.middle; + public DepthAlignment DepthAlignment + { + get { return _depthAlignment; } + set + { + _depthAlignment = value; + if (!UpdateTextIfRequired()) + UpdateLayout(); + } + } + + [Tooltip("Elements will be split to fill the entire width")] + [SerializeField] + private bool _justiceHorizontal = false; + public bool JusticeHorizontal + { + get { return _justiceHorizontal; } + set + { + _justiceHorizontal = value; + if (!UpdateTextIfRequired()) + UpdateLayout(); + } + } + + [Tooltip("Justice will be only be applied if the elements hold equal/more than the % width")] + [SerializeField] + private float _justiceHorizontalPercent = 70; + public float JusticeHorizontalPercent + { + get { return _justiceHorizontalPercent; } + set + { + _justiceHorizontalPercent = value; + if (!UpdateTextIfRequired()) + UpdateLayout(); + } + } + + [Tooltip("Elements will be split to fill the entire width")] + [SerializeField] + private bool _justiceVertical = false; + public bool JusticeVertical + { + get { return _justiceVertical; } + set + { + _justiceVertical = value; + if (!UpdateTextIfRequired()) + UpdateLayout(); + } + } + + [Tooltip("Justice will be only be applied if the elements hold equal/more than the % height")] + [SerializeField] + private float _justiceVerticalPercent = 70; + public float JusticeVerticalPercent + { + get { return _justiceVerticalPercent; } + set + { + _justiceVerticalPercent = value; + if (!UpdateTextIfRequired()) + UpdateLayout(); + } + } + + [SerializeField] + private Vector3 _spacing = new Vector3(5, 5, 5); + /// + /// This will always return _spacing/100 + /// + public Vector3 Spacing + { + get { return _spacing / 100; } + set + { + _spacing = value; + + if (!UpdateTextIfRequired()) + UpdateLayout(); + } + } + + + + + + [SerializeField] + private float _width = 23; + public float Width + { + get + { + if (GetComponent()) + return GetComponent().sizeDelta.x; + return _width; + } + set + { + _width = value; + + if (!UpdateTextIfRequired()) + UpdateLayout(); + } + } + + [SerializeField] + private float _height = 4; + public float Height + { + get { return _height; } + set + { + _height = value; + + if (!UpdateTextIfRequired()) + UpdateLayout(); + } + } + + [SerializeField] float _depth = 4; + public float Depth + { + get { return _depth; } + set + { + _depth = value; + + if (!UpdateTextIfRequired()) + UpdateLayout(); + } + } + + + + + [SerializeField] + private LineSpacingStyle _lineSpacingStyle = LineSpacingStyle.maximum; + /// + /// Is not used for texts + /// + public LineSpacingStyle MyLineSpacingStyle + { + get { return _lineSpacingStyle; } + set + { + _lineSpacingStyle = value; + + if (!UpdateTextIfRequired()) + UpdateLayout(); + } + } + + + int currentLine = 0; + int currentLetter; + int currentWord; +#if MODULAR_3D_TEXT + Modular3DText text; +#endif + + public List lines = new List(); + #endregion Variable Declaration + + + + + + + public override void UpdateLayout(int startRepositioningFrom = 0) + { + if (transform.childCount == 0) + return; + +#if MODULAR_3D_TEXT + text = GetComponent(); +#endif + + bounds = GetAllChildBounds(); + lines = GetLines(); + + GetInitialYSpaceInformation(out float oneLineHeight, out int totalAmountOfLineInOneZposition, out float oneLineDepth); + + float y = StartingY(oneLineHeight, totalAmountOfLineInOneZposition); //Starting Y is taken everytime depth changes + float z = StartingZ(oneLineDepth, totalAmountOfLineInOneZposition); + + int currentLineNumberInCurrentZposition = 0; + + for (int currentLineNumber = 0; currentLineNumber < lines.Count; currentLineNumber++)//for each line + { + ProcessThisLine(ref oneLineHeight, currentLineNumber, out float justiceXMultiplier, out float x); + + if (ThisLineDoesntFitsInCurrentZposition(totalAmountOfLineInOneZposition, currentLineNumberInCurrentZposition)) + { + currentLineNumberInCurrentZposition = 0; + GetYandZpositionForNewDepth(oneLineHeight, totalAmountOfLineInOneZposition, currentLineNumber, ref y, ref z, oneLineDepth); + } + + + + + y -= (Spacing.y + oneLineHeight) / 2; + for (int i = 0; i < lines[currentLineNumber].gameObjects.Count; i++) //for each char on the line + { + Bounds bound = GetBound(lines[currentLineNumber].gameObjects[i].transform); + + float spaceX = ((Spacing.x + bound.size.x) / 2) * justiceXMultiplier; + x += spaceX; + + Vector3 targetPos = new Vector3(x - bound.center.x, y, z); + + if (i >= startRepositioningFrom) + SetLocalPosition(currentLineNumber, i, targetPos); + + x += spaceX; + } + y -= (Spacing.y + oneLineHeight) / 2; + + + currentLineNumberInCurrentZposition++; + } + } + + private void GetYandZpositionForNewDepth(float oneLineHeight, int totalAmountOfLineInOneZposition, int lineCount, ref float y, ref float z, float oneLineDepth) + { + if (lines.Count - lineCount > totalAmountOfLineInOneZposition) //more than what can fit in one depth is left + { + y = StartingY(oneLineHeight, totalAmountOfLineInOneZposition); + z += Spacing.z + oneLineDepth; + } + else + { + y = StartingY(oneLineHeight, lines.Count - lineCount); + z += Spacing.z + oneLineDepth; + } + } + + + + /// + /// Used by Text only + /// + /// + /// + public override List GetPositions(List meshLayouts) + { + if (meshLayouts.Count == 0) + return null; + +#if MODULAR_3D_TEXT + text = GetComponent(); +#endif + + bounds = GetAllChildBounds(meshLayouts); + lines = GetLines(bounds, meshLayouts); + + GetInitialYSpaceInformation(out float oneLineHeight, out int totalAmountOfLineInOneZposition, out float oneLineDepth); + + float y = StartingY(oneLineHeight, totalAmountOfLineInOneZposition); //Starting Y is taken everytime depth changes + float z = StartingZ(oneLineDepth, totalAmountOfLineInOneZposition); + + int currentLineNumberInCurrentZposition = 0; + for (int currentLineNumber = 0; currentLineNumber < lines.Count; currentLineNumber++) //for each line + { + ProcessThisLine(ref oneLineHeight, currentLineNumber, out float justiceXMultiplier, out float x); + + if (ThisLineDoesntFitsInCurrentZposition(totalAmountOfLineInOneZposition, currentLineNumberInCurrentZposition)) + { + currentLineNumberInCurrentZposition = 0; + GetYandZpositionForNewDepth(oneLineHeight, totalAmountOfLineInOneZposition, currentLineNumber, ref y, ref z, oneLineDepth); + } + + + + y -= (Spacing.y + oneLineHeight) / 2; + for (int i = 0; i < lines[currentLineNumber].meshLayouts.Count; i++) //for each char on the line + { + Bounds bound = GetBound(lines[currentLineNumber].meshLayouts[i]); + + float spaceX = ((Spacing.x + bound.size.x) / 2) * justiceXMultiplier; + x += spaceX; + + + Vector3 targetPos = new Vector3(x - bound.center.x, y, z); + + //if (targetPos != lines[lineCount].gameObjects[i].transform.localPosition) + lines[currentLineNumber].meshLayouts[i].position = targetPos; + + x += spaceX; + } + y -= (Spacing.y + oneLineHeight) / 2; + + + + currentLineNumberInCurrentZposition++; + } + + return meshLayouts; + } + + + + + #region Methods only called once for each layout update + void ProcessThisLine(ref float thisLineHeight, int lineCount, out float justiceXMultiplier, out float x) + { + float spaceRequired = GetXSpaceRequired(lines[lineCount]); + justiceXMultiplier = GetJusticeXMultiplier(spaceRequired); + + if (lines[lineCount].meshLayouts.Count > 0) + x = StartingX(lines[lineCount].meshLayouts, spaceRequired); + else + x = StartingX(lines[lineCount].gameObjects, spaceRequired); + +#if MODULAR_3D_TEXT + if (!text && MyLineSpacingStyle == LineSpacingStyle.individual) //Mesh layout is only called by text, so this isn't required +#else + if (MyLineSpacingStyle == LineSpacingStyle.individual) //Mesh layout is only called by text, so this isn't required +#endif + { + thisLineHeight = GetSpecificLineMaxYSpace(lines[lineCount].gameObjects); +#if UNITY_EDITOR + lines[lineCount].individualYSpace = thisLineHeight; +#endif + } + } + void GetInitialYSpaceInformation(out float oneLineHeight, out int totalAmountOfLineInOneZaxis, out float oneLineDepth) + { + oneLineHeight = GetLineHeight(); + + + //Get how many lines will fit. + float totalYspaceTakenByAllLines = lines.Count * (Spacing.y + oneLineHeight); + + if (totalYspaceTakenByAllLines > Height) + totalAmountOfLineInOneZaxis = Mathf.FloorToInt(Height / (Spacing.y + oneLineHeight)); + else + totalAmountOfLineInOneZaxis = lines.Count; + + + oneLineDepth = GetZspacing(); + } + #endregion + + + + + + void SetLocalPosition(int lineCount, int i, Vector3 targetPos) + { + if (elementUpdater.module) + { + elementUpdater.module.UpdateLocalPosition(lines[lineCount].gameObjects[i].transform, elementUpdater.variableHolders, targetPos); + } + else + { + if (targetPos != lines[lineCount].gameObjects[i].transform.localPosition) //This is to avoid unnecessary marking things as changed in scene hierarchy + lines[lineCount].gameObjects[i].transform.localPosition = targetPos; + } + } + + + + + + + + + + + + float GetLineHeight() + { +#if MODULAR_3D_TEXT + if (MyLineSpacingStyle == LineSpacingStyle.maximum || text) +#else + if (MyLineSpacingStyle == LineSpacingStyle.maximum) +#endif + return GetMaxYSpace(bounds); + else if (MyLineSpacingStyle == LineSpacingStyle.average) + return GetAverageYSpace(bounds); + + //individual + return 1; + } + float GetMaxYSpace(Bounds[] bounds) + { +#if MODULAR_3D_TEXT + if (text) + if (text.Font) + return text.Font.lineHeight * text.FontSize.y / (Mathf.Clamp(text.Font.unitPerEM, 0.0001f, 1000000) * 8); +#endif + + float maxY = 0; + + for (int i = 0; i < bounds.Length; i++) + { + if (bounds[i].size.y > maxY) + { + if (!IgnoreChildBoundAndLineBreak(bounds, i)) + { + maxY = bounds[i].size.y; + } + } + } + + return maxY; + } + + float GetJusticeXMultiplier(float spaceRequired) + { + if (ApplyHorizontalJustice(spaceRequired)) + return Width / spaceRequired; + + return 1; + } + + /// + /// Used by 3d Text only when single mesh is used + /// + /// + /// + List GetLines(Bounds[] bounds, List meshLayouts) + { + List lines = new List(); + + Line line = new Line(); + lines.Add(line); + + float x = 0; + + currentLetter = 0; + currentWord = 0; + currentLine = 0; + + bool checkedIfFits = false; //This checks if a word in text is already tested to fit. + + for (int i = 0; i < bounds.Length; i++) + { +#if MODULAR_3D_TEXT + IsThisAnewWord(text, ref checkedIfFits); +#else + IsThisAnewWord(ref checkedIfFits); +#endif + ///New line + if (ItsALineBreak(meshLayouts, lines, ref currentLine, ref x, i)) + { + currentLetter = 0; + currentWord++; + continue; + } + +#if UNITY_EDITOR + lines[currentLine].widthIfNextObjectWasHere = x + Spacing.x + bounds[i].size.x; +#endif + + //Debug.Log("current word number:" + currentWord); + + //Get current line number + //Willl it be new line if current object is added + if ((float)Math.Round(x + Spacing.x + bounds[i].size.x, 5) > Width) //New line + { + x = bounds[i].size.x + Spacing.x; + Line newLine = new Line(); + lines.Add(newLine); + +#if MODULAR_3D_TEXT + MoveWordToNextLine(meshLayouts, bounds, lines, currentLine, ref x, text, currentWord, ref checkedIfFits, i); +#else + MoveWordToNextLine(meshLayouts, bounds, lines, currentLine, ref x, currentWord, ref checkedIfFits, i); +#endif + //Debug.Log(" New line "); + currentLine++; + } + else + { + x += bounds[i].size.x + Spacing.x; +#if UNITY_EDITOR + if (x != 0) + lines[currentLine].width = x; +#endif + } + + lines[currentLine].meshLayouts.Add(meshLayouts[i]); + currentLetter++; + } + +#if MODULAR_3D_TEXT + if (text) + lines = RemoveUnnecessarySpacesFromMeshLayouts(lines); +#endif + if (lines.Count > 0) + { + //remove empty first line + if (lines[0].gameObjects.Count == 0 && lines[0].meshLayouts.Count == 0) + lines.RemoveAt(0); + + if (lines.Count > 0) //this is because if the only text is space and the line is removed, there are no lines and returns null error + { + //remove empty last line + if (lines[lines.Count - 1].gameObjects.Count == 0 && lines[lines.Count - 1].meshLayouts.Count == 0) + lines.RemoveAt(lines.Count - 1); + } + } + + + return lines; + } + + /// + /// Used in all cases except when text has single mesh turned on + /// + /// + /// + List GetLines() + { + List lines = new List(); + + Line line = new Line(); + lines.Add(line); + + float x = 0; + + currentLetter = 0; + currentWord = 0; + currentLine = 0; + + bool checkedIfFits = false; + + for (int i = 0; i < transform.childCount; i++) + { +#if MODULAR_3D_TEXT + if (text) + if (!text.characterObjectList.Contains(transform.GetChild(i).gameObject)) + continue; + IsThisAnewWord(text, ref checkedIfFits); +#else + IsThisAnewWord(ref checkedIfFits); +#endif + + ///New line + if (ItsALineBreak(lines, ref currentLine, ref x, i)) + { + currentLetter = 0; + currentWord++; + continue; + } + +#if MODULAR_3D_TEXT + if (!text && IgnoreChildBound(bounds, i)) +#else + if (IgnoreChildBound(bounds, i)) +#endif + continue; + + +#if UNITY_EDITOR + lines[currentLine].widthIfNextObjectWasHere = x + Spacing.x + bounds[i].size.x; +#endif + //Get current line number + //Willl it be new line if current object is added + //Debug.Log((float)Math.Round(x + Spacing.x + bounds[i].size.x, 5)); + if ((float)Math.Round(x + Spacing.x + bounds[i].size.x, 5) > Width) //New line + { + x = bounds[i].size.x + Spacing.x; + Line nline = new Line(); + lines.Add(nline); + //Debug.Log(text.wordArray[word] + " word for: " + currentLetter + " letter for: " + transform.GetChild(i), transform.GetChild(i)); +#if MODULAR_3D_TEXT + MoveWordToNextLine(bounds, lines, currentLine, ref x, text, currentLetter, currentWord, ref checkedIfFits, i); +#else + MoveWordToNextLine(bounds, lines, currentLine, ref x, currentLetter, currentWord, ref checkedIfFits, i); +#endif + + currentLine++; + } + else // in the same line + { + x += bounds[i].size.x + Spacing.x; +#if UNITY_EDITOR + lines[currentLine].width = x; +#endif + } + + lines[currentLine].gameObjects.Add(transform.GetChild(i).gameObject); + currentLetter++; + } + + +#if MODULAR_3D_TEXT + if (text) + lines = RemoveUnnecessarySpaces(lines); +#endif + if (lines.Count > 0) + { + //remove empty first line + if (lines[0].gameObjects.Count == 0 && lines[0].meshLayouts.Count == 0) + lines.RemoveAt(0); + + if (lines.Count > 0) + { + //remove empty last line + if (lines[lines.Count - 1].gameObjects.Count == 0) + lines.RemoveAt(lines.Count - 1); + } + } + + return lines; + } + + + + + #region Position + + #region X space stuff + float StartingX(List meshlayouts, float spaceRequired) + { + if (Anchor == Alignment.UpperLeft || Anchor == Alignment.MiddleLeft || Anchor == Alignment.LowerLeft) + return (-Width / 2) - Spacing.x / 2; + + else if (Anchor == Alignment.UpperRight || Anchor == Alignment.MiddleRight || Anchor == Alignment.LowerRight) + { + if (!ApplyHorizontalJustice(spaceRequired)) + return (Width / 2) - GetXSpaceRequired(meshlayouts) + Spacing.x / 2; + else + return (-Width / 2) - Spacing.x / 2; + } + else + { + if (!ApplyHorizontalJustice(spaceRequired)) + return -GetXSpaceRequired(meshlayouts) / 2; + else + return (-Width / 2) - Spacing.x / 2; + } + } + + float StartingX(List gameObjects, float spaceRequired) + { + if (Anchor == Alignment.UpperLeft || Anchor == Alignment.MiddleLeft || Anchor == Alignment.LowerLeft) + return (-Width / 2) - Spacing.x / 2; + + else if (Anchor == Alignment.UpperRight || Anchor == Alignment.MiddleRight || Anchor == Alignment.LowerRight) + { + if (!ApplyHorizontalJustice(spaceRequired)) + return (Width / 2) - GetXSpaceRequired(gameObjects) + Spacing.x / 2; + else + return (-Width / 2) - Spacing.x / 2; + } + + else + { + if (!ApplyHorizontalJustice(spaceRequired)) + return -GetXSpaceRequired(gameObjects) / 2; + else + return (-Width / 2) - Spacing.x / 2; + } + } + + float GetXSpaceRequired(Line line) + { + if (line.gameObjects.Count > 0) + return GetXSpaceRequired(line.gameObjects); + else + return GetXSpaceRequired(line.meshLayouts); + } + + float GetXSpaceRequired(List targets) + { + float width = 0; + + for (int i = 0; i < targets.Count; i++) + { + width += GetBound(targets[i].transform).size.x + Spacing.x; + } + + return width; + } + + float GetXSpaceRequired(List targets) + { + float width = 0; + + for (int i = 0; i < targets.Count; i++) + { + width += GetBound(targets[i]).size.x + Spacing.x; + } + + return width; + } + #endregion X space stuff + + #region Y space stuff + /// + /// + /// + /// + /// Spacing Y selected in the inspector + /// + /// + float StartingY(float ySpace, float maxLines) + { + if (IsUpperAlignment()) + return -StartingYforUpperAlignment(); + + else if (IsMiddleAlignment()) + return -StartingYforMiddleAlignment(ySpace, maxLines); + + else // (Anchor == Alignment.LowerLeft || Anchor == Alignment.LowerCenter || Anchor == Alignment.LowerRight) + return -StartingYforLowerAlignment(ySpace, maxLines); + + } + float StartingYforUpperAlignment() + { + return (-Height / 2) - (Spacing.y / 2); + } + float StartingYforMiddleAlignment(float ySpace, float maxLines) + { +#if MODULAR_3D_TEXT + if (text || MyLineSpacingStyle != LineSpacingStyle.individual) +#else + if (MyLineSpacingStyle != LineSpacingStyle.individual) +#endif + { + //float ySize = maxLines * (Spacing.y + ySpace); + + return -(maxLines * (Spacing.y + ySpace)) / 2; + } + return -GetTotalYSpaceTakenByCheckingEachLineIndividually(maxLines) / 2; + } + + float StartingYforLowerAlignment(float ySpace, float maxLines) + { +#if MODULAR_3D_TEXT + if (text || MyLineSpacingStyle != LineSpacingStyle.individual) +#else + if (MyLineSpacingStyle != LineSpacingStyle.individual) +#endif + { + float ySize = maxLines * (Spacing.y + ySpace); + + return (Height / 2) - ySize + Spacing.y / 2; + } + + return (Height / 2) - GetTotalYSpaceTakenByCheckingEachLineIndividually(maxLines) + Spacing.y / 2; + } + + float GetTotalYSpaceTakenByCheckingEachLineIndividually(float maxLines) + { + float ySpaceTaken = 0; + //for (int i = 0; i < lines.Count; i++) + for (int i = 0; i < maxLines; i++) + { + ySpaceTaken += GetSpecificLineMaxYSpace(lines[i].gameObjects) + Spacing.y; + } + return ySpaceTaken; + } + + /// + /// Isn't used by text + /// + /// + /// + float GetAverageYSpace(Bounds[] bounds) + { + float totalY = 0; + float totalElements = 0; + + for (int i = 0; i < bounds.Length; i++) + { + if (!IgnoreChildBoundAndLineBreak(bounds, i)) + { + totalY += bounds[i].size.y; + totalElements++; + } + } + + return totalY / totalElements; + } + /// + /// Isn't used by text + /// + /// + /// + float GetSpecificLineMaxYSpace(List itemsInLine) + { + float maxY = 0; + + for (int i = 0; i < itemsInLine.Count; i++) + { + Bounds bound = GetBound(itemsInLine[i].transform); + if (bound.size.y > maxY) + { + if (!IgnoreChildBoundAndLineBreak(bounds, i)) + { + maxY = bound.size.y; + } + } + } + + return maxY; + } + #endregion Y space stuff + + float GetZspacing() + { + return GetAverageZSpace(); + } + float GetAverageZSpace() + { + float totalZ = 0; + float totalElements = 0; + + for (int i = 0; i < bounds.Length; i++) + { + if (i < transform.childCount) + { + if (!IgnoreChildBoundAndLineBreak(bounds, i)) + { + totalZ += bounds[i].size.z; + totalElements++; + } + } + } + + return totalZ / totalElements; + } + float StartingZ(float oneLineDepth, int totalAmountOfLineInOneZposition) + { + if (DepthAlignment == DepthAlignment.front) + return (-Depth / 2) + (oneLineDepth / 2); + else if (DepthAlignment == DepthAlignment.middle) + return (-TotalZspaceTaken(oneLineDepth, totalAmountOfLineInOneZposition) / 2) + (Spacing.z + oneLineDepth) / 2; + else + { + float zSize = TotalZspaceTaken(oneLineDepth, totalAmountOfLineInOneZposition); + return (Depth / 2) - zSize + (Spacing.z + oneLineDepth / 2); + } + } + + private float TotalZspaceTaken(float oneLineDepth, int totalAmountOfLineInOneZposition) + { + return (Mathf.CeilToInt((float)lines.Count / totalAmountOfLineInOneZposition) * (Spacing.z + oneLineDepth)); + } + + + bool IsUpperAlignment() => Anchor == Alignment.UpperLeft || Anchor == Alignment.UpperCenter || Anchor == Alignment.UpperRight; + bool IsMiddleAlignment() => Anchor == Alignment.MiddleLeft || Anchor == Alignment.MiddleCenter || Anchor == Alignment.MiddleRight; + + #endregion Pos + + + bool ApplyHorizontalJustice(float spaceRequired) + { + if (!JusticeHorizontal) + { + return false; + } + else + { + if ((spaceRequired / Width) * 100 >= JusticeHorizontalPercent) + return true; + else + return false; + } + } + + /// + /// For text when combine mesh is on + /// + /// + /// + /// + /// + /// + /// + bool ItsALineBreak(List meshLayouts, List lines, ref int currentLine, ref float x, int i) + { + if (meshLayouts[i].lineBreak) + { + lines[currentLine].meshLayouts.Add(meshLayouts[i]); + + x = 0; + Line nline = new Line(); + lines.Add(nline); + currentLine++; + + return true; + } + return false; + } + + /// + /// For text when combine mesh is on + /// + /// + /// + /// + /// + /// + bool ItsALineBreak(List lines, ref int currentLine, ref float x, int i) + { + if (transform.GetChild(i).GetComponent()) + { + if (transform.GetChild(i).GetComponent().lineBreak) + { + lines[currentLine].gameObjects.Add(transform.GetChild(i).gameObject); + + x = 0; + Line nline = new Line(); + lines.Add(nline); + currentLine++; + + return true; + } + } + return false; + } + + + + + +#if MODULAR_3D_TEXT + void IsThisAnewWord(Modular3DText text, ref bool checkedIfFits) +#else + void IsThisAnewWord(ref bool checkedIfFits) +#endif + { +#if MODULAR_3D_TEXT + if (text) + { + if (text.wordArray != null) + { + if (text.wordArray.Length > currentWord) + { + if (text.wordArray[currentWord] == string.Empty) + { + currentLetter = 0; + currentWord++; + checkedIfFits = false; + } + } + if (text.wordArray.Length > currentWord) + { + if (currentLetter >= text.wordArray[currentWord].Length) + { + currentLetter = 0; + currentWord++; + checkedIfFits = false; + } + } + } + } +#endif + } +#if MODULAR_3D_TEXT + void MoveWordToNextLine(List meshLayouts, Bounds[] bounds, List lines, int currentLine, ref float x, Modular3DText text, int word, ref bool checkedIfFits, int i) +#else + void MoveWordToNextLine(List meshLayouts, Bounds[] bounds, List lines, int currentLine, ref float x, int word, ref bool checkedIfFits, int i) +#endif + { +#if MODULAR_3D_TEXT + if (text) + { + if (currentLetter > 0) + { + //Debug.Log("Current letter number: " + letter); + if (checkedIfFits == false) + { +#if UNITY_EDITOR + lines[currentLine].editorNote = "Checking if fits"; +#endif + if (WordIsntTooBigForOneLine(bounds, text, i, word, currentLetter)) + { +#if UNITY_EDITOR + lines[currentLine].editorNote = "Word isn't too big"; +#endif + List temp = new List(); + + //if the a letter of a word is pushed to a new line, + //scroll through all previous letters in current word + //and add them to the new line + for (int j = currentLetter; j >= 0; j--) + { + if (lines[currentLine].meshLayouts.Count > 0) + { + MeshLayout g = lines[currentLine].meshLayouts[lines[currentLine].meshLayouts.Count - 1]; + lines[currentLine].meshLayouts.Remove(g); + x += bounds[i - j].size.x + Spacing.x; //add the size of the letters for new word's calculation + temp.Add(g); + } + } + for (int k = temp.Count - 1; k >= 0; k--) + { + lines[currentLine + 1].meshLayouts.Add(temp[k]); + } + } + else + { + //Debug.Log("Word too big to fit"); + } + } + } + } +#endif + } +#if MODULAR_3D_TEXT + void MoveWordToNextLine(Bounds[] bounds, List lines, int currentLine, ref float x, Modular3DText text, int letter, int word, ref bool checkedIfFits, int i) +#else + void MoveWordToNextLine(Bounds[] bounds, List lines, int currentLine, ref float x, int letter, int word, ref bool checkedIfFits, int i) +#endif + { +#if MODULAR_3D_TEXT + if (text) + { + //Debug.Log(letter + " letter " + transform.GetChild(i) + " is on new line"); + if (letter > 0) + { + if (checkedIfFits == false) + { + if (WordIsntTooBigForOneLine(bounds, text, i, word, letter)) + { + List temp = new List(); + + //if the a letter of a word is pushed to a new line, + //scroll through all previous letters in current word + //and add them to the new line + for (int j = letter; j >= 0; j--) + { + if (lines[currentLine].gameObjects.Count > 0) + { + GameObject g = lines[currentLine].gameObjects[lines[currentLine].gameObjects.Count - 1]; + lines[currentLine].gameObjects.Remove(g); + x += bounds[i - j].size.x + Spacing.x; + temp.Add(g); + } + } + + for (int k = temp.Count - 1; k >= 0; k--) + { + lines[currentLine + 1].gameObjects.Add(temp[k]); + } + } + + checkedIfFits = true; + } + } + } +#endif + } + + /// + /// Bool because the updatelayout is called by update text + /// If returns true, the layout has already been updated + /// + /// + bool UpdateTextIfRequired() + { +#if MODULAR_3D_TEXT + if (GetComponent()) + { + if (!GetComponent().ShouldItCreateChild()) + { + GetComponent().CleanUpdateText(); + return true; + } + } +#endif + return false; + } + +#if MODULAR_3D_TEXT + /// + /// If the word is too big to fit in a single line + /// + /// + /// + /// + /// + /// + /// + bool WordIsntTooBigForOneLine(Bounds[] bounds, Modular3DText text, int currentChildNumber, int word, int letter) +#else + bool WordIsntTooBigForOneLine(Bounds[] bounds, int currentChildNumber, int word, int letter) +#endif + { +#if MODULAR_3D_TEXT + if (text.wordArray == null) + return false; + + + if (word >= text.wordArray.Length) + { + //Debug.Log("word index:" + word + " | Text's word array length: " + text.wordArray.Length); + return true; + } + + int wordStartsAtChildIndex = currentChildNumber - letter; + int wordEndssAtChildIndex = currentChildNumber - letter + text.wordArray[word].Length - 1; + + //Debug.Log("word starts at index: " + wordStartsAtChildIndex + " word ends at index:" + wordEndssAtChildIndex); + + float x = 0; + for (int i = wordStartsAtChildIndex; i <= wordEndssAtChildIndex; i++) + { + if (bounds.Length <= i) + { + return false; + } + + if (bounds.Length > i) + x += bounds[i].size.x; + + if (x > Width) + { + return false; + } + } +#endif + return true; + } +#if MODULAR_3D_TEXT + private List RemoveUnnecessarySpacesFromMeshLayouts(List lines) + { + for (int i = 0; i < lines.Count; i++) + { + Line currentLine = lines[i]; + if (currentLine.meshLayouts.Count > 0) + { + if (i != 0 && currentLine.meshLayouts[0].mesh == null) + { + currentLine.meshLayouts.RemoveAt(0); + } + + + if (currentLine.meshLayouts.Count > 1) + { + int lastIndex = currentLine.meshLayouts.Count - 1; + MeshLayout meshLayout = currentLine.meshLayouts[lastIndex]; + + if (meshLayout.mesh == null) + { + currentLine.meshLayouts.RemoveAt(lastIndex); + } + else if (meshLayout.lineBreak) + { + currentLine.meshLayouts.RemoveAt(lastIndex); + lastIndex--; + if (lastIndex > 0) + { + if (currentLine.meshLayouts[lastIndex].mesh == null) + { + currentLine.gameObjects.RemoveAt(lastIndex); + } + } + } + } + } + else + { + lines.RemoveAt(i); + i--; + } + } + + return lines; + } + + private List RemoveUnnecessarySpaces(List lines) + { + for (int i = 0; i < lines.Count; i++) + { + Line currentLine = lines[i]; + if (currentLine.gameObjects.Count > 0) //should never be 0. Just incase + { + LayoutElement firstElement = currentLine.gameObjects[0].GetComponent(); + if (firstElement) + { + if (firstElement.space) + { + currentLine.gameObjects.RemoveAt(0); + } + } + + + if (currentLine.gameObjects.Count > 1) + { + int lastIndex = currentLine.gameObjects.Count - 1; + LayoutElement lastElement = currentLine.gameObjects[lastIndex].GetComponent(); + + if (lastElement) + { + //if (lines[i].gameObjects[lastIndex].name == "Space") + if (lastElement.space) + { + currentLine.gameObjects.RemoveAt(lastIndex); + } + else if (lastElement.lineBreak) + { + currentLine.gameObjects.RemoveAt(lastIndex); + lastIndex--; + if (lastIndex > 0) + { + LayoutElement newLastElement = currentLine.gameObjects[lastIndex].GetComponent(); + if (newLastElement) + { + if (newLastElement.space) + { + currentLine.gameObjects.RemoveAt(lastIndex); + } + } + } + } + } + + + } + } + else + { + lines.RemoveAt(i); + i--; + } + } + + return lines; + } + +#endif + + + + bool ThisLineDoesntFitsInCurrentZposition(int totalAmountOfLineInOneZposition, int currentLineNumberInCurrentZposition) => currentLineNumberInCurrentZposition + 1 > totalAmountOfLineInOneZposition; + + + + +#if UNITY_EDITOR + /// + /// Draws the width and height + /// + new void OnDrawGizmosSelected() + { + if (!showSceneViewGizmo) + return; + + base.OnDrawGizmosSelected(); + + Gizmos.matrix = transform.localToWorldMatrix; + Gizmos.color = new Color(1, 1, 1, 0.75f); + + Gizmos.DrawWireCube(Vector3.zero, new Vector3(Width, Height, Depth)); + } +#endif + } + + public enum DepthAlignment + { + front, + middle, + back + } + +} \ No newline at end of file diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Layout Types/VolumeLayoutGroup.cs.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Layout Types/VolumeLayoutGroup.cs.meta new file mode 100644 index 00000000..51aa2622 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Layout Types/VolumeLayoutGroup.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 0c40a7643b91d2d4fb506cc5e65f1fa4 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: b8706c1453128964184845d57412da66, type: 3} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Layout Types/VolumeLayoutGroup.cs + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/LayoutElement.cs b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/LayoutElement.cs new file mode 100644 index 00000000..7c798ef3 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/LayoutElement.cs @@ -0,0 +1,55 @@ +using UnityEngine; + +namespace TinyGiantStudio.Layout +{ + /// + /// Instead of directly assigning positions/rotations, using Layout Elements open up the possibility to use tweening library of your choice or your own methods to animate movements. + /// + [DisallowMultipleComponent] + [HelpURL("https://ferdowsur.gitbook.io/layout-system/layout-element")] + public class LayoutElement : MonoBehaviour + { + [Tooltip("Ignores this element in layout group")] + public bool ignoreElement; + + [Tooltip("This is overwritten on texts")] + public bool autoCalculateSize = false; + + //TODO: Custom editor to make these read only when autocalculate size is open + public float width = 1; + + public float height = 1; + + [HideInInspector] + public float depth = 0.01f; //TODO + + public float xOffset = 0; + public float yOffset = 0; + public float zOffset = 0; + + [Tooltip("Used in Grid layout.\nEnds current line and moves everything after it to next one.")] + public bool lineBreak = false; + + public bool space = false; + + //public void OnDrawGizmosSelected() + //{ + // if (!gameObject.activeSelf) + // return; + + // if (space || lineBreak || ignoreElement) + // return; + + // Gizmos.color = new Color(0.25f, 0, 0, 1f); + // Vector3 lossyScale = transform.lossyScale; + + // Gizmos.matrix = Matrix4x4.TRS(transform.position, transform.rotation, Vector3.one); + // Gizmos.DrawWireCube(Multiply(new Vector3(xOffset, yOffset, zOffset), lossyScale), Multiply(new Vector3(width, height, depth), lossyScale)); + + // Vector3 Multiply(Vector3 first, Vector3 second) + // { + // return new Vector3(first.x * second.x, first.y * second.y, first.z * second.z); + // } + //} + } +} \ No newline at end of file diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/LayoutElement.cs.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/LayoutElement.cs.meta new file mode 100644 index 00000000..2317ad83 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/LayoutElement.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 4883034b4f4b03243ae2559b4fa469fe +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/LayoutElement.cs + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/LayoutGroup.cs b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/LayoutGroup.cs new file mode 100644 index 00000000..f4564f44 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/LayoutGroup.cs @@ -0,0 +1,227 @@ +using System.Collections.Generic; +using UnityEngine; + +#if MODULAR_3D_TEXT + +using TinyGiantStudio.Text; + +#endif + +namespace TinyGiantStudio.Layout +{ + /// + /// + [DisallowMultipleComponent] + [ExecuteAlways] + [HelpURL("https://ferdowsur.gitbook.io/modular-3d-text/layout-group")] + public abstract class LayoutGroup : MonoBehaviour + { + [Tooltip("This is an experimental feature. In text, this bool is ignored, turn it on from the text itself. \nIf the child element has a Layout Element component attached, this value is derived by that layout element component.")] + public bool autoItemSize = true; + + [Tooltip("For performance, it's better to leave it to false and call UpdateLayout() after making changes.\n" + + "Turn this on if you are in a hurry or testing stuff.")] + public bool alwaysUpdateInPlayMode = false; + + [Tooltip("For performance, it's better to leave it to false and call GetAllChildBounds() when a bound(size of an element) changes")] + public bool alwaysUpdateBounds = false; + + public LayoutElementModuleContainer elementUpdater; + + [Tooltip("Auto updated with the layout. Visible for debugging purposes.")] + public Bounds[] bounds; + + public bool showSceneViewGizmo = true; + + [ExecuteInEditMode] + protected virtual void Update() + { + if (Application.isPlaying && !alwaysUpdateInPlayMode) + { + this.enabled = false; + return; + } + + if (TotalActiveChildCount() == 0) + return; + +#if MODULAR_3D_TEXT + if (GetComponent()) + if (GetComponent().combineMeshInEditor) + return; +#endif + UpdateLayout(); + } + + public abstract void UpdateLayout(int startRepositioningFrom = 0); + + /// + /// Used to retrieve appropriate positions of meshes without needing to place them on scene for single mesh + /// + public abstract List GetPositions(List meshLayouts); + + public int TotalActiveChildCount() + { + int child = 0; + + for (int i = 0; i < transform.childCount; i++) + { + if (transform.GetChild(i).gameObject.activeSelf) + child++; + } + + return child; + } + + public Bounds GetBound(Transform target) + { + LayoutElement element = target.GetComponent(); + + if (element) + if (element.autoCalculateSize) + return MeshBaseSize.CheckMeshScaledSize(target); + else + return new Bounds(new Vector3(element.xOffset, element.yOffset, element.zOffset), new Vector3(element.width, element.height, element.depth)); + + if (autoItemSize) + return MeshBaseSize.CheckMeshScaledSize(target); + else + return new Bounds(Vector3.zero, Vector3.one); + } + + public Bounds GetBound(MeshLayout meshLayout) + { + return new Bounds(new Vector3(meshLayout.xOffset, meshLayout.yOffset, meshLayout.zOffset), new Vector3(meshLayout.width, meshLayout.height, meshLayout.depth)); + } + + public Bounds[] GetAllChildBounds() + { + Bounds[] bounds = new Bounds[transform.childCount]; + for (int i = 0; i < transform.childCount; i++) + { + bounds[i] = GetBound(transform.GetChild(i)); + } + return bounds; + } + + public Bounds[] GetAllChildBounds(List meshLayouts) + { + Bounds[] bounds = new Bounds[meshLayouts.Count]; + for (int i = 0; i < meshLayouts.Count; i++) + { + bounds[i] = GetBound(meshLayouts[i]); + } + return bounds; + } + + public bool IgnoreChildBound(Bounds[] bounds, int i) + { + //Added the guard clause because someone was having an error with transform.GetChild(i) in the IgnoreChildBoundAndLineBreak() method. Which is weird. Requires further investigation + if (i < 0 || i >= transform.childCount) + return true; + + if (transform.GetChild(i).GetComponent()) + if (transform.GetChild(i).GetComponent().ignoreElement == true) + return true; + + //Added this just in case. Not required. Requires further investigation + if (i >= bounds.Length) + return true; + + return !transform.GetChild(i).gameObject.activeSelf || bounds[i].size == Vector3.zero; + } + + public bool IgnoreChildBoundAndLineBreak(Bounds[] bounds, int i) + { + //Added the guard clause because someone was having an error with transform.GetChild(i). Which is weird. Requires further investigation + if (i < 0 || i >= transform.childCount) + return true; + + if (transform.GetChild(i).GetComponent()) + if (transform.GetChild(i).GetComponent().ignoreElement == true || transform.GetChild(i).GetComponent().lineBreak == true) + return true; + + //Added this just in case. Not required. Requires further investigation + if (i >= bounds.Length) + return true; + + return !transform.GetChild(i).gameObject.activeSelf || bounds[i].size == Vector3.zero; + } + + public Vector3 RemoveNaNErrorIfAny(Vector3 vector3) + { + if (float.IsNaN(vector3.x)) + vector3.x = 0; + if (float.IsNaN(vector3.y)) + vector3.y = 0; + if (float.IsNaN(vector3.z)) + vector3.z = 0; + + return vector3; + } + + //#if MODULAR_3D_TEXT + + // /// + // /// Safely dispose of the mesh from memory + // /// + // /// + // /// + // public MeshLayout ClearMeshLayout(MeshLayout meshLayout) + // { + // DestroyMesh(meshLayout.mesh); + // meshLayout.mesh = null; + // return meshLayout; + // } + + //#endif + + ///// + ///// This is used to destroy meshes + ///// + ///// + //public void DestroyMesh(Mesh mesh) + //{ + // if (mesh == null) return; + + // string assetPath = AssetDatabase.GetAssetPath(mesh); + // if (string.IsNullOrEmpty(assetPath)) + // { + // if (Application.isPlaying) Destroy(mesh); + // else DestroyImmediate(mesh); + // } + //} + + /// + /// Draws each element bound. + /// This is public so that this can be optionally called. + /// + public void OnDrawGizmosSelected() + { + if (!showSceneViewGizmo) + return; + + Gizmos.color = new Color(0.25f, 0, 0, 1f); + Vector3 lossyScale = transform.lossyScale; + + foreach (Transform child in transform) + { + if (!child.gameObject.activeSelf) + continue; + if (child.TryGetComponent(out var layoutElement)) + { + if (layoutElement.space || layoutElement.lineBreak || layoutElement.ignoreElement) + continue; + } + Bounds bound = GetBound(child); + Gizmos.matrix = Matrix4x4.TRS(child.position, transform.rotation, Vector3.one); + Gizmos.DrawWireCube(Multiply(bound.center, lossyScale), Multiply(bound.size, lossyScale)); + } + } + + private Vector3 Multiply(Vector3 first, Vector3 second) + { + return new Vector3(first.x * second.x, first.y * second.y, first.z * second.z); + } + } +} \ No newline at end of file diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/LayoutGroup.cs.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/LayoutGroup.cs.meta new file mode 100644 index 00000000..00bc7b9f --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/LayoutGroup.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: c116f29359c5aa74595a36aeaf9ffc91 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/LayoutGroup.cs + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/MeshBaseSize.cs b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/MeshBaseSize.cs new file mode 100644 index 00000000..835752c0 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/MeshBaseSize.cs @@ -0,0 +1,195 @@ +using UnityEngine; + +namespace TinyGiantStudio.Layout +{ + public class MeshBaseSize : MonoBehaviour + { + //Commented out because it's unused + //public static Bounds CheckMeshSize(Transform target, Transform relativeTo) + //{ + // Bounds bound = CheckMeshSize(target); + // bound.center = -target.position; + // return bound; + //} + + public static Bounds CheckMeshSize(Transform target) + { + var currentRotation = target.localRotation; + target.localRotation = Quaternion.Euler(Vector3.zero); + + Bounds newBounds = new Bounds(Vector3.zero, Vector3.zero); + + var meshFilters = target.GetComponentsInChildren(); + for (int i = 0; i < meshFilters.Length; ++i) + { + Transform filterTransform = meshFilters[i].transform; + + if (!meshFilters[i].sharedMesh) + continue; + + Bounds bounds = meshFilters[i].sharedMesh.bounds; + + Vector3 scaleFixer = Divide(filterTransform.lossyScale, target.lossyScale); + + bounds.size = Multiply(bounds.size, scaleFixer); + //bounds.center = Multiply(bounds.center, scaleFixer); + + if (i == 0) + { + newBounds = bounds; + } + else + { + bounds.center += filterTransform.localPosition; + newBounds.Encapsulate(bounds); + } + } + + + newBounds.size = Multiply(newBounds.size, target.lossyScale); + newBounds.center = Multiply(newBounds.center, target.lossyScale); + //newBounds.size = new Vector3((target.localScale.x / target.lossyScale.x) * newBounds.size.x, (target.localScale.y / target.lossyScale.y) * newBounds.size.y, (target.localScale.z / target.lossyScale.z) * newBounds.size.z); + + target.localRotation = currentRotation; + //Debug.Log(newBounds); + return newBounds; + } + + + /// + /// + /// + /// + /// + public static Bounds CheckMeshScaledSize(Transform target) + { + var currentRotation = target.localRotation; + target.localRotation = Quaternion.Euler(Vector3.zero); + + Bounds newBounds = new Bounds(Vector3.zero, Vector3.zero); + + //newBounds = GetBoundsFromMeshFilters(target, newBounds); + newBounds = GetBoundsFromEverything(target, newBounds); + + newBounds.size = Multiply(newBounds.size, target.localScale); + newBounds.center = Multiply(newBounds.center, target.localScale); + + target.localRotation = currentRotation; + + return newBounds; + } + + + private static Bounds GetBoundsFromEverything(Transform target, Bounds newBounds) + { + var meshFilters = target.GetComponentsInChildren(); + if (meshFilters.Length != 0) + { + for (int i = 0; i < meshFilters.Length; ++i) + { + Transform filterTransform = meshFilters[i].transform; + + if (!meshFilters[i].sharedMesh) + continue; + + Bounds bounds = meshFilters[i].sharedMesh.bounds; + + Vector3 scaleFixer = Divide(filterTransform.lossyScale, target.lossyScale); + + bounds.size = Multiply(bounds.size, scaleFixer); + //bounds.center = Multiply(bounds.center, scaleFixer); + + if (i == 0) + { + newBounds = bounds; + } + else + { + bounds.center += filterTransform.localPosition; + newBounds.Encapsulate(bounds); + } + } + } + else + { + if (target.GetComponent()) + { + var v = new Vector3[4]; + target.GetComponent().GetLocalCorners(v); + + Vector3 min = Vector3.positiveInfinity; + Vector3 max = Vector3.negativeInfinity; + + foreach (var vector3 in v) + { + min = Vector3.Min(min, vector3); + max = Vector3.Max(max, vector3); + } + + //Bounds bounds = new Bounds(); + newBounds.SetMinMax(min, max); + } + } + return newBounds; + } + private static Bounds GetBoundsFromMeshFilters(Transform target, Bounds newBounds) + { + var meshFilters = target.GetComponentsInChildren(); + for (int i = 0; i < meshFilters.Length; ++i) + { + Transform filterTransform = meshFilters[i].transform; + + if (!meshFilters[i].sharedMesh) + continue; + + Bounds bounds = meshFilters[i].sharedMesh.bounds; + + Vector3 scaleFixer = Divide(filterTransform.lossyScale, target.lossyScale); + + bounds.size = Multiply(bounds.size, scaleFixer); + //bounds.center = Multiply(bounds.center, scaleFixer); + + if (i == 0) + { + newBounds = bounds; + } + else + { + bounds.center += filterTransform.localPosition; + newBounds.Encapsulate(bounds); + } + } + + return newBounds; + } + + public static Bounds CheckMeshSize(Mesh mesh) + { + if (!mesh) + return new Bounds(Vector3.zero, Vector3.zero); + + return mesh.bounds; + } + + + + + private static Vector3 Divide(Vector3 first, Vector3 second) + { + return new Vector3(NanFixed(first.x / second.x), NanFixed(first.y / second.y), NanFixed(first.z / second.z)); + } + private static Vector3 Multiply(Vector3 first, Vector3 second) + { + return new Vector3(NanFixed(first.x * second.x), NanFixed(first.y * second.y), NanFixed(first.z * second.z)); + } + + static float NanFixed(float value) + { + if (float.IsNaN(value)) + { + return 1; + } + return value; + } + } +} \ No newline at end of file diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/MeshBaseSize.cs.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/MeshBaseSize.cs.meta new file mode 100644 index 00000000..47bdc5ee --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/MeshBaseSize.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 64a17aaf0d938c444840c8085386ac7c +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/MeshBaseSize.cs + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/MeshLayout.cs b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/MeshLayout.cs new file mode 100644 index 00000000..f643c802 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/MeshLayout.cs @@ -0,0 +1,37 @@ +using UnityEngine; + +namespace TinyGiantStudio.Layout +{ + /// + /// This is used by Modular3DText to create combined meshes without instantiating objects. + /// This holds the desired position of the element like layout element + /// + [System.Serializable] + public class MeshLayout + { + public Mesh mesh; + public Vector3 position; + public Quaternion rotation = Quaternion.identity; + + public float xOffset = 0; + public float yOffset = 0; + public float zOffset = 0; + + public float width = 0; + public float height = 0; + public float depth = 0; + + public bool lineBreak; + public bool space; + + public MeshLayout(Mesh newMesh) + { + mesh = newMesh; + } + + public MeshLayout() + { + + } + } +} \ No newline at end of file diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/MeshLayout.cs.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/MeshLayout.cs.meta new file mode 100644 index 00000000..b9923298 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/MeshLayout.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 84fe312ef4333b7489851c4bd2efa78c +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/MeshLayout.cs + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Overflow.cs b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Overflow.cs new file mode 100644 index 00000000..e232e655 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Overflow.cs @@ -0,0 +1,8 @@ +namespace TinyGiantStudio.Layout +{ + public enum Overflow + { + overflow, + wrap + } +} \ No newline at end of file diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Overflow.cs.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Overflow.cs.meta new file mode 100644 index 00000000..ccf1e69e --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Overflow.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 3db2ec9179f55934c85c72440b1dd2f4 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Scripts/Overflow.cs + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Utility.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Utility.meta new file mode 100644 index 00000000..b70e942e --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Utility.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 129c414dba5bc0940be8b60cdd831c61 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Utility/Editor Icons.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Utility/Editor Icons.meta new file mode 100644 index 00000000..549461d5 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Utility/Editor Icons.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e350bc54028553140a7ac320d6c5d33c +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Utility/Editor Icons/Icon_Left.png b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Utility/Editor Icons/Icon_Left.png new file mode 100644 index 00000000..c0b49c4f --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Utility/Editor Icons/Icon_Left.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f87bccda2e09a55d538ebb47bc38d2e90b29fcda7f9284524a52d7265594bbac +size 579 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Utility/Editor Icons/Icon_Left.png.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Utility/Editor Icons/Icon_Left.png.meta new file mode 100644 index 00000000..297552a2 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Utility/Editor Icons/Icon_Left.png.meta @@ -0,0 +1,116 @@ +fileFormatVersion: 2 +guid: a88f9b106ecce8142aa2e29d8c6eeb34 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 32 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 32 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Utility/Editor Icons/Icon_Left.png + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Utility/Editor Icons/Icon_Right.png b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Utility/Editor Icons/Icon_Right.png new file mode 100644 index 00000000..bc0d8c3f --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Utility/Editor Icons/Icon_Right.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b74865eed1e35e92718525742bfad8e054d99321028b6c939f6875e2c6f79e81 +size 593 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Utility/Editor Icons/Icon_Right.png.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Utility/Editor Icons/Icon_Right.png.meta new file mode 100644 index 00000000..d23f0b7d --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Utility/Editor Icons/Icon_Right.png.meta @@ -0,0 +1,116 @@ +fileFormatVersion: 2 +guid: 8c074b70afccb17428242e143f6495dd +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 32 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 32 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Utility/Editor Icons/Icon_Right.png + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Utility/Editor Icons/Justice Horizontal.png b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Utility/Editor Icons/Justice Horizontal.png new file mode 100644 index 00000000..3d8501c9 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Utility/Editor Icons/Justice Horizontal.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f17c6896f251d7ebbd49ad76e3d38870849d91289168298c59e3e4e6aa1be5ff +size 122 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Utility/Editor Icons/Justice Horizontal.png.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Utility/Editor Icons/Justice Horizontal.png.meta new file mode 100644 index 00000000..4c203169 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Utility/Editor Icons/Justice Horizontal.png.meta @@ -0,0 +1,136 @@ +fileFormatVersion: 2 +guid: 81a4f589d72984e42b80876e5e546171 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: iPhone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Utility/Editor Icons/Justice + Horizontal.png + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Utility/Editor Icons/Justice Vertical.png b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Utility/Editor Icons/Justice Vertical.png new file mode 100644 index 00000000..e60af369 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Utility/Editor Icons/Justice Vertical.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a41b0b590926de3debec47a148d477f7a6b393d73a0704f9ddb9b04ae47fd658 +size 116 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Utility/Editor Icons/Justice Vertical.png.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Utility/Editor Icons/Justice Vertical.png.meta new file mode 100644 index 00000000..d98ace5c --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Utility/Editor Icons/Justice Vertical.png.meta @@ -0,0 +1,136 @@ +fileFormatVersion: 2 +guid: f3cf69af09514f84f91e8abbdff93e4d +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: iPhone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Utility/Editor Icons/Justice + Vertical.png + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Utility/Editor Icons/Layout Group.png b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Utility/Editor Icons/Layout Group.png new file mode 100644 index 00000000..58641057 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Utility/Editor Icons/Layout Group.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:66e451856005dd445cb991e94e90298ccd5a53dfee7f6e273de329f78bcf0609 +size 59610 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Utility/Editor Icons/Layout Group.png.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Utility/Editor Icons/Layout Group.png.meta new file mode 100644 index 00000000..3f5ae9ab --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Utility/Editor Icons/Layout Group.png.meta @@ -0,0 +1,143 @@ +fileFormatVersion: 2 +guid: b8706c1453128964184845d57412da66 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMasterTextureLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Server + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Layouts/Utility/Editor Icons/Layout + Group.png + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text.meta new file mode 100644 index 00000000..f4b2d9ed --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f3aef0dd8a57b124f9129f9fe34a6497 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/3D Text UI Controls.inputactions b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/3D Text UI Controls.inputactions new file mode 100644 index 00000000..285fc95d --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/3D Text UI Controls.inputactions @@ -0,0 +1,603 @@ +{ + "name": "3D Text UI Controls", + "maps": [ + { + "name": "UI", + "id": "272f6d14-89ba-496f-b7ff-215263d3219f", + "actions": [ + { + "name": "Navigate", + "type": "PassThrough", + "id": "c95b2375-e6d9-4b88-9c4c-c5e76515df4b", + "expectedControlType": "Vector2", + "processors": "", + "interactions": "", + "initialStateCheck": false + }, + { + "name": "Submit", + "type": "Button", + "id": "7607c7b6-cd76-4816-beef-bd0341cfe950", + "expectedControlType": "Button", + "processors": "", + "interactions": "", + "initialStateCheck": false + }, + { + "name": "Cancel", + "type": "Button", + "id": "15cef263-9014-4fd5-94d9-4e4a6234a6ef", + "expectedControlType": "Button", + "processors": "", + "interactions": "", + "initialStateCheck": false + }, + { + "name": "Point", + "type": "PassThrough", + "id": "32b35790-4ed0-4e9a-aa41-69ac6d629449", + "expectedControlType": "Vector2", + "processors": "", + "interactions": "", + "initialStateCheck": true + }, + { + "name": "Click", + "type": "PassThrough", + "id": "3c7022bf-7922-4f7c-a998-c437916075ad", + "expectedControlType": "Button", + "processors": "", + "interactions": "", + "initialStateCheck": true + }, + { + "name": "ScrollWheel", + "type": "PassThrough", + "id": "0489e84a-4833-4c40-bfae-cea84b696689", + "expectedControlType": "Vector2", + "processors": "", + "interactions": "", + "initialStateCheck": false + }, + { + "name": "MiddleClick", + "type": "PassThrough", + "id": "dad70c86-b58c-4b17-88ad-f5e53adf419e", + "expectedControlType": "Button", + "processors": "", + "interactions": "", + "initialStateCheck": false + }, + { + "name": "RightClick", + "type": "PassThrough", + "id": "44b200b1-1557-4083-816c-b22cbdf77ddf", + "expectedControlType": "Button", + "processors": "", + "interactions": "", + "initialStateCheck": false + }, + { + "name": "TrackedDevicePosition", + "type": "PassThrough", + "id": "24908448-c609-4bc3-a128-ea258674378a", + "expectedControlType": "Vector3", + "processors": "", + "interactions": "", + "initialStateCheck": false + }, + { + "name": "TrackedDeviceOrientation", + "type": "PassThrough", + "id": "9caa3d8a-6b2f-4e8e-8bad-6ede561bd9be", + "expectedControlType": "Quaternion", + "processors": "", + "interactions": "", + "initialStateCheck": false + }, + { + "name": "Tab", + "type": "Button", + "id": "1c362373-5c2b-476f-965b-9bcfc2c52188", + "expectedControlType": "Button", + "processors": "", + "interactions": "", + "initialStateCheck": false + } + ], + "bindings": [ + { + "name": "Gamepad", + "id": "809f371f-c5e2-4e7a-83a1-d867598f40dd", + "path": "2DVector", + "interactions": "", + "processors": "", + "groups": "", + "action": "Navigate", + "isComposite": true, + "isPartOfComposite": false + }, + { + "name": "up", + "id": "14a5d6e8-4aaf-4119-a9ef-34b8c2c548bf", + "path": "/leftStick/up", + "interactions": "", + "processors": "", + "groups": ";Gamepad", + "action": "Navigate", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "up", + "id": "9144cbe6-05e1-4687-a6d7-24f99d23dd81", + "path": "/rightStick/up", + "interactions": "", + "processors": "", + "groups": ";Gamepad", + "action": "Navigate", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "down", + "id": "2db08d65-c5fb-421b-983f-c71163608d67", + "path": "/leftStick/down", + "interactions": "", + "processors": "", + "groups": ";Gamepad", + "action": "Navigate", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "down", + "id": "58748904-2ea9-4a80-8579-b500e6a76df8", + "path": "/rightStick/down", + "interactions": "", + "processors": "", + "groups": ";Gamepad", + "action": "Navigate", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "left", + "id": "8ba04515-75aa-45de-966d-393d9bbd1c14", + "path": "/leftStick/left", + "interactions": "", + "processors": "", + "groups": ";Gamepad", + "action": "Navigate", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "left", + "id": "712e721c-bdfb-4b23-a86c-a0d9fcfea921", + "path": "/rightStick/left", + "interactions": "", + "processors": "", + "groups": ";Gamepad", + "action": "Navigate", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "right", + "id": "fcd248ae-a788-4676-a12e-f4d81205600b", + "path": "/leftStick/right", + "interactions": "", + "processors": "", + "groups": ";Gamepad", + "action": "Navigate", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "right", + "id": "1f04d9bc-c50b-41a1-bfcc-afb75475ec20", + "path": "/rightStick/right", + "interactions": "", + "processors": "", + "groups": ";Gamepad", + "action": "Navigate", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "", + "id": "fb8277d4-c5cd-4663-9dc7-ee3f0b506d90", + "path": "/dpad", + "interactions": "", + "processors": "", + "groups": ";Gamepad", + "action": "Navigate", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "Joystick", + "id": "e25d9774-381c-4a61-b47c-7b6b299ad9f9", + "path": "2DVector", + "interactions": "", + "processors": "", + "groups": "", + "action": "Navigate", + "isComposite": true, + "isPartOfComposite": false + }, + { + "name": "up", + "id": "3db53b26-6601-41be-9887-63ac74e79d19", + "path": "/stick/up", + "interactions": "", + "processors": "", + "groups": "Joystick", + "action": "Navigate", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "down", + "id": "0cb3e13e-3d90-4178-8ae6-d9c5501d653f", + "path": "/stick/down", + "interactions": "", + "processors": "", + "groups": "Joystick", + "action": "Navigate", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "left", + "id": "0392d399-f6dd-4c82-8062-c1e9c0d34835", + "path": "/stick/left", + "interactions": "", + "processors": "", + "groups": "Joystick", + "action": "Navigate", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "right", + "id": "942a66d9-d42f-43d6-8d70-ecb4ba5363bc", + "path": "/stick/right", + "interactions": "", + "processors": "", + "groups": "Joystick", + "action": "Navigate", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "Keyboard", + "id": "ff527021-f211-4c02-933e-5976594c46ed", + "path": "2DVector", + "interactions": "", + "processors": "", + "groups": "", + "action": "Navigate", + "isComposite": true, + "isPartOfComposite": false + }, + { + "name": "up", + "id": "563fbfdd-0f09-408d-aa75-8642c4f08ef0", + "path": "/w", + "interactions": "", + "processors": "", + "groups": "Keyboard&Mouse", + "action": "Navigate", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "up", + "id": "eb480147-c587-4a33-85ed-eb0ab9942c43", + "path": "/upArrow", + "interactions": "", + "processors": "", + "groups": "Keyboard&Mouse", + "action": "Navigate", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "down", + "id": "2bf42165-60bc-42ca-8072-8c13ab40239b", + "path": "/s", + "interactions": "", + "processors": "", + "groups": "Keyboard&Mouse", + "action": "Navigate", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "down", + "id": "85d264ad-e0a0-4565-b7ff-1a37edde51ac", + "path": "/downArrow", + "interactions": "", + "processors": "", + "groups": "Keyboard&Mouse", + "action": "Navigate", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "left", + "id": "74214943-c580-44e4-98eb-ad7eebe17902", + "path": "/a", + "interactions": "", + "processors": "", + "groups": "Keyboard&Mouse", + "action": "Navigate", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "left", + "id": "cea9b045-a000-445b-95b8-0c171af70a3b", + "path": "/leftArrow", + "interactions": "", + "processors": "", + "groups": "Keyboard&Mouse", + "action": "Navigate", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "right", + "id": "8607c725-d935-4808-84b1-8354e29bab63", + "path": "/d", + "interactions": "", + "processors": "", + "groups": "Keyboard&Mouse", + "action": "Navigate", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "right", + "id": "4cda81dc-9edd-4e03-9d7c-a71a14345d0b", + "path": "/rightArrow", + "interactions": "", + "processors": "", + "groups": "Keyboard&Mouse", + "action": "Navigate", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "", + "id": "9e92bb26-7e3b-4ec4-b06b-3c8f8e498ddc", + "path": "*/{Submit}", + "interactions": "", + "processors": "", + "groups": "Keyboard&Mouse;Gamepad;Touch;Joystick;XR", + "action": "Submit", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "82627dcc-3b13-4ba9-841d-e4b746d6553e", + "path": "*/{Cancel}", + "interactions": "", + "processors": "", + "groups": "Keyboard&Mouse;Gamepad;Touch;Joystick;XR", + "action": "Cancel", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "c52c8e0b-8179-41d3-b8a1-d149033bbe86", + "path": "/position", + "interactions": "", + "processors": "", + "groups": "Keyboard&Mouse", + "action": "Point", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "e1394cbc-336e-44ce-9ea8-6007ed6193f7", + "path": "/position", + "interactions": "", + "processors": "", + "groups": "Keyboard&Mouse", + "action": "Point", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "5693e57a-238a-46ed-b5ae-e64e6e574302", + "path": "/touch*/position", + "interactions": "", + "processors": "", + "groups": "Touch", + "action": "Point", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "4faf7dc9-b979-4210-aa8c-e808e1ef89f5", + "path": "/leftButton", + "interactions": "", + "processors": "", + "groups": ";Keyboard&Mouse", + "action": "Click", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "8d66d5ba-88d7-48e6-b1cd-198bbfef7ace", + "path": "/tip", + "interactions": "", + "processors": "", + "groups": ";Keyboard&Mouse", + "action": "Click", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "47c2a644-3ebc-4dae-a106-589b7ca75b59", + "path": "/touch*/press", + "interactions": "", + "processors": "", + "groups": "Touch", + "action": "Click", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "bb9e6b34-44bf-4381-ac63-5aa15d19f677", + "path": "/trigger", + "interactions": "", + "processors": "", + "groups": "XR", + "action": "Click", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "38c99815-14ea-4617-8627-164d27641299", + "path": "/scroll", + "interactions": "", + "processors": "", + "groups": ";Keyboard&Mouse", + "action": "ScrollWheel", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "24066f69-da47-44f3-a07e-0015fb02eb2e", + "path": "/middleButton", + "interactions": "", + "processors": "", + "groups": ";Keyboard&Mouse", + "action": "MiddleClick", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "4c191405-5738-4d4b-a523-c6a301dbf754", + "path": "/rightButton", + "interactions": "", + "processors": "", + "groups": ";Keyboard&Mouse", + "action": "RightClick", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "7236c0d9-6ca3-47cf-a6ee-a97f5b59ea77", + "path": "/devicePosition", + "interactions": "", + "processors": "", + "groups": "XR", + "action": "TrackedDevicePosition", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "23e01e3a-f935-4948-8d8b-9bcac77714fb", + "path": "/deviceRotation", + "interactions": "", + "processors": "", + "groups": "XR", + "action": "TrackedDeviceOrientation", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "effb2f91-332b-43e5-82ad-2a7a3c2d6a23", + "path": "/tab", + "interactions": "", + "processors": "", + "groups": "", + "action": "Tab", + "isComposite": false, + "isPartOfComposite": false + } + ] + } + ], + "controlSchemes": [ + { + "name": "Keyboard&Mouse", + "bindingGroup": "Keyboard&Mouse", + "devices": [ + { + "devicePath": "", + "isOptional": false, + "isOR": false + }, + { + "devicePath": "", + "isOptional": false, + "isOR": false + } + ] + }, + { + "name": "Gamepad", + "bindingGroup": "Gamepad", + "devices": [ + { + "devicePath": "", + "isOptional": false, + "isOR": false + } + ] + }, + { + "name": "Touch", + "bindingGroup": "Touch", + "devices": [ + { + "devicePath": "", + "isOptional": false, + "isOR": false + } + ] + }, + { + "name": "Joystick", + "bindingGroup": "Joystick", + "devices": [ + { + "devicePath": "", + "isOptional": false, + "isOR": false + } + ] + }, + { + "name": "XR", + "bindingGroup": "XR", + "devices": [ + { + "devicePath": "", + "isOptional": false, + "isOR": false + } + ] + } + ] +} \ No newline at end of file diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/3D Text UI Controls.inputactions.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/3D Text UI Controls.inputactions.meta new file mode 100644 index 00000000..5062a8d4 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/3D Text UI Controls.inputactions.meta @@ -0,0 +1,21 @@ +fileFormatVersion: 2 +guid: 40bc6dd3dcc19c743a66ce4527683ead +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 8404be70184654265930450def6a9037, type: 3} + generateWrapperCode: 0 + wrapperCodePath: + wrapperClassName: MText_UI_Control + wrapperCodeNamespace: TinyGiantStudio.Text +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/3D Text UI Controls.inputactions + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Artworks.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Artworks.meta new file mode 100644 index 00000000..6fbd486f --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Artworks.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8ff4387f0e907c1418c2d61f54435470 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Artworks/TGS_BackgroundGradient.png b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Artworks/TGS_BackgroundGradient.png new file mode 100644 index 00000000..872b56f8 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Artworks/TGS_BackgroundGradient.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:34de9ee8194232db46278c8e7ed292f634a684a7ef308ed0b27c7fb0c2d19776 +size 1545417 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Artworks/TGS_BackgroundGradient.png.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Artworks/TGS_BackgroundGradient.png.meta new file mode 100644 index 00000000..d99410cf --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Artworks/TGS_BackgroundGradient.png.meta @@ -0,0 +1,130 @@ +fileFormatVersion: 2 +guid: f5b75a37d28893649bfcc9ec11e05d77 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMasterTextureLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Server + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Artworks/TGS_BackgroundGradient.png + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts.meta new file mode 100644 index 00000000..da0fcec9 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: cf7612555776bec41986d10bb2a92e19 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Amarante Regular.asset b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Amarante Regular.asset new file mode 100644 index 00000000..45175916 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Amarante Regular.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a42c27d4fadf7a3983dd9ca44507b7addb550e23ae924743ffe182ba0c6277b2 +size 157664 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Amarante Regular.asset.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Amarante Regular.asset.meta new file mode 100644 index 00000000..d07d936e --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Amarante Regular.asset.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: a3829b95fe542634ab30c08f9c59d12d +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Amarante Regular.asset + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Amatic SC Bold.asset b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Amatic SC Bold.asset new file mode 100644 index 00000000..50f0e155 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Amatic SC Bold.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e98e63f8842f2cdf7eabd41c0fe32dd825e6824fa03d3878bd9642821ee1cca7 +size 165728 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Amatic SC Bold.asset.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Amatic SC Bold.asset.meta new file mode 100644 index 00000000..5b55e4a1 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Amatic SC Bold.asset.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: 44a452057dfed6a4882cfc9c32e40083 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Amatic SC Bold.asset + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Amatic SC Regular.asset b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Amatic SC Regular.asset new file mode 100644 index 00000000..b45aca50 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Amatic SC Regular.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:166b9529a4d1b35f340bf922f4ef353fc843675f444a2d68c24219096c5f3ea3 +size 160428 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Amatic SC Regular.asset.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Amatic SC Regular.asset.meta new file mode 100644 index 00000000..0018a0b8 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Amatic SC Regular.asset.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: 5daa23a60c1d1b3498f41386cd9abb6f +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Amatic SC Regular.asset + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Audiowide Regular.asset b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Audiowide Regular.asset new file mode 100644 index 00000000..2d83e168 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Audiowide Regular.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6f78752076fd86897d5a3dbeb84ff0c05ac8a28053baf79d44d14500d2ab993d +size 56420 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Audiowide Regular.asset.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Audiowide Regular.asset.meta new file mode 100644 index 00000000..16877716 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Audiowide Regular.asset.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: 20e0900824699f04a8d91b7cb473c020 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Audiowide Regular.asset + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Bahianita Regular.asset b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Bahianita Regular.asset new file mode 100644 index 00000000..d1e07ab8 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Bahianita Regular.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:feaeabedf45701be59866c148e6a11ab89285da75ba93f56487393e4fb6bcc81 +size 151424 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Bahianita Regular.asset.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Bahianita Regular.asset.meta new file mode 100644 index 00000000..e26c178e --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Bahianita Regular.asset.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: 02da5fce35e4fb444b7dfffeccebef38 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Bahianita Regular.asset + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Bangers.asset b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Bangers.asset new file mode 100644 index 00000000..401aacf9 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Bangers.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:773ea7da8758273a76bd2fec63813f71d700fd437a268ae31d5d715efaa6ce4f +size 49968 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Bangers.asset.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Bangers.asset.meta new file mode 100644 index 00000000..b5a31ece --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Bangers.asset.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: bb2a57af50b6840409677a8bc6779871 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Bangers.asset + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Barrio Regular.asset b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Barrio Regular.asset new file mode 100644 index 00000000..70e01ff6 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Barrio Regular.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fa2a30b1751c2773db442a9b5c47521ca7926d9f3b8e1a092cf2e65c7a87488e +size 229916 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Barrio Regular.asset.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Barrio Regular.asset.meta new file mode 100644 index 00000000..00fbb235 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Barrio Regular.asset.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: 8c2bcfb24caa1c2489b694f7d7c1cd55 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Barrio Regular.asset + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Berkshire Swash Regular.asset b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Berkshire Swash Regular.asset new file mode 100644 index 00000000..342e5fe4 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Berkshire Swash Regular.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:461a452950b5fdc04080dd05c806cdde82497363998d0ac4405dc8b5aadda7c7 +size 61764 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Berkshire Swash Regular.asset.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Berkshire Swash Regular.asset.meta new file mode 100644 index 00000000..547a514c --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Berkshire Swash Regular.asset.meta @@ -0,0 +1,16 @@ +fileFormatVersion: 2 +guid: a7215fde10652cd49b5d5d8a501f2184 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Berkshire Swash + Regular.asset + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Bigelow Rules Regular.asset b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Bigelow Rules Regular.asset new file mode 100644 index 00000000..4f964cd3 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Bigelow Rules Regular.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4be33b1f9a846c68a6059bbbd12622efae608a9a7828709d93636d4358498b51 +size 66564 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Bigelow Rules Regular.asset.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Bigelow Rules Regular.asset.meta new file mode 100644 index 00000000..b70ebebf --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Bigelow Rules Regular.asset.meta @@ -0,0 +1,16 @@ +fileFormatVersion: 2 +guid: f9b81179112c6a34c894068127884f79 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Bigelow Rules + Regular.asset + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Blackout Midnight.asset b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Blackout Midnight.asset new file mode 100644 index 00000000..a59cfe6c --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Blackout Midnight.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aefc92122c370be304da916fd15c3ffe476efa643d10724fa9e2aa3b8f41df9a +size 20152 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Blackout Midnight.asset.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Blackout Midnight.asset.meta new file mode 100644 index 00000000..2989c88c --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Blackout Midnight.asset.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: 0e9221478779a5f4c83163db6f376864 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Blackout Midnight.asset + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Blackout Sunrise.asset b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Blackout Sunrise.asset new file mode 100644 index 00000000..40c8b6b1 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Blackout Sunrise.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6085998614ba84b6ab8d083b195c68d0d91d781649b9070272e5196009f5f5f6 +size 52956 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Blackout Sunrise.asset.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Blackout Sunrise.asset.meta new file mode 100644 index 00000000..38a96b58 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Blackout Sunrise.asset.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: a6e39831ee3f4004ba50401b8f5fbb5c +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Blackout Sunrise.asset + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Bungee Hairline.asset b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Bungee Hairline.asset new file mode 100644 index 00000000..0919ac44 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Bungee Hairline.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e5ee9baf31de59f61e72bb4ae40a2013292fee0d01531633275e0af32a60859d +size 122736 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Bungee Hairline.asset.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Bungee Hairline.asset.meta new file mode 100644 index 00000000..ee3ebdcd --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Bungee Hairline.asset.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: 09d8e6b80e5531e458ea9a44cb86efea +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Bungee Hairline.asset + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Bungee Inline.asset b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Bungee Inline.asset new file mode 100644 index 00000000..7b9f9965 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Bungee Inline.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d7deb8ca48ce605eaf5a5e86d4d4cf146ac2d3eac483ea4420b29ebaebdce8e7 +size 183144 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Bungee Inline.asset.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Bungee Inline.asset.meta new file mode 100644 index 00000000..f00a28f4 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Bungee Inline.asset.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: e19ae0fd9b1202d419baa6f1be728c27 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Bungee Inline.asset + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Bungee Outline.asset b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Bungee Outline.asset new file mode 100644 index 00000000..75fd2c35 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Bungee Outline.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:12e30f2100d952fe330e97bacb5d933a1adbf496247052f8e6f6f2c6e1339e8e +size 244724 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Bungee Outline.asset.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Bungee Outline.asset.meta new file mode 100644 index 00000000..7eb4e126 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Bungee Outline.asset.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: e3a01be49edac9949b5417d370627f38 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Bungee Outline.asset + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Bungee.asset b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Bungee.asset new file mode 100644 index 00000000..e9128884 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Bungee.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:47c5c76d3c7e4c4a963ee8a7644f7cc9aada01bb72a738031cf358c8aa5063d8 +size 133912 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Bungee.asset.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Bungee.asset.meta new file mode 100644 index 00000000..c01fb8fa --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Bungee.asset.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: b3eef0d5e6b1e9d4fbc94f2c0246c368 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Bungee.asset + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Codystar Light.asset b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Codystar Light.asset new file mode 100644 index 00000000..3ffd108e --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Codystar Light.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a4065e24bd9b151ad5c41912116c6e47f05710c6948f23f4bdf929c2f0f97d7b +size 109168 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Codystar Light.asset.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Codystar Light.asset.meta new file mode 100644 index 00000000..605ad917 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Codystar Light.asset.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: ce269754075613a4a8994222d43223f9 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Codystar Light.asset + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Codystar.asset b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Codystar.asset new file mode 100644 index 00000000..9c9980bf --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Codystar.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6704049e4f216b658a77616d5460b42c9eb4dad949551e6d454432d0f4bc7f67 +size 114160 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Codystar.asset.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Codystar.asset.meta new file mode 100644 index 00000000..cfd1b14e --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Codystar.asset.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: 2068781a69627464d9989c1de8510814 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Codystar.asset + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Creepster.asset b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Creepster.asset new file mode 100644 index 00000000..84872bd3 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Creepster.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ad14e63c3aacb219f3020a9f647c9bc6211554712f2ccfc7d39be8b1fbeec1b7 +size 66908 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Creepster.asset.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Creepster.asset.meta new file mode 100644 index 00000000..5a828a0e --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Creepster.asset.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: a2a43d0ef8e49a8429126b802b5f73a3 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Creepster.asset + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Englebert.asset b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Englebert.asset new file mode 100644 index 00000000..9cc30f6e --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Englebert.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:10220dd8eaba426db20cc04793fe7b8dc0992aed34e9f2b38d38eec65c2f04c5 +size 61060 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Englebert.asset.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Englebert.asset.meta new file mode 100644 index 00000000..5aec4d81 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Englebert.asset.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: b15f8400649bf9d40953320427e426e9 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Englebert.asset + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Fanwood Text Italic.asset b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Fanwood Text Italic.asset new file mode 100644 index 00000000..619b40d2 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Fanwood Text Italic.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3a0f270a8938d587afed8f6fd656b1cd32a252d82ab27e081399065958456607 +size 102524 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Fanwood Text Italic.asset.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Fanwood Text Italic.asset.meta new file mode 100644 index 00000000..904be6c4 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Fanwood Text Italic.asset.meta @@ -0,0 +1,16 @@ +fileFormatVersion: 2 +guid: 19bc4487743d6ce47a7b258d6106fbaf +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Fanwood Text + Italic.asset + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Fanwood Text.asset b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Fanwood Text.asset new file mode 100644 index 00000000..e3cddcf8 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Fanwood Text.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3d8c1a531a6525323bd617ea98f4b7ee2fece9f995ed79d2e42fbd7875d80ad8 +size 124132 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Fanwood Text.asset.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Fanwood Text.asset.meta new file mode 100644 index 00000000..551986ab --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Fanwood Text.asset.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: 84440dbd0f49af04585f2883b3822391 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Fanwood Text.asset + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Faster One.asset b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Faster One.asset new file mode 100644 index 00000000..98c8df49 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Faster One.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:725ef5020fa703504ae7074fe610f258a323d7271b8fdf46107f5f0745d7386c +size 52136 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Faster One.asset.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Faster One.asset.meta new file mode 100644 index 00000000..9beaa1d0 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Faster One.asset.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: e4e51bead4d87044da4fd1849f9066ae +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Faster One.asset + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Flavors Regular.asset b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Flavors Regular.asset new file mode 100644 index 00000000..f030ddc1 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Flavors Regular.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7f6228063b5fbd66bcd6fa3b17a90e05939ef2337111428ba7167433664ba4ea +size 193584 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Flavors Regular.asset.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Flavors Regular.asset.meta new file mode 100644 index 00000000..67dff3e9 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Flavors Regular.asset.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: 215cb1598b239f7409d0da4f4109df53 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Flavors Regular.asset + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Fondamento Regular.asset b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Fondamento Regular.asset new file mode 100644 index 00000000..d6342143 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Fondamento Regular.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:71a176b6656e1548f3826b0cefb3e5f7af4a1ad340ceb32578512c55936a6b32 +size 92964 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Fondamento Regular.asset.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Fondamento Regular.asset.meta new file mode 100644 index 00000000..393a42e1 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Fondamento Regular.asset.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: f6b4104890685534ba38ab78aa87b16b +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Fondamento Regular.asset + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Fondamento-Italic.asset b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Fondamento-Italic.asset new file mode 100644 index 00000000..f5899ee6 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Fondamento-Italic.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7e2098e9301343a78e227b9954845b693c148b60250e7d55fa28f133595892c2 +size 73520 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Fondamento-Italic.asset.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Fondamento-Italic.asset.meta new file mode 100644 index 00000000..db22f75c --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Fondamento-Italic.asset.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: dc822139db76a9c44bad2735547d0ce1 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Fondamento-Italic.asset + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Freckle Face.asset b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Freckle Face.asset new file mode 100644 index 00000000..a523da31 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Freckle Face.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c03b1c732e4db4dc4d2d7d5cfc6e91a987648d9f74f84de959a2ea5d54a08d60 +size 115908 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Freckle Face.asset.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Freckle Face.asset.meta new file mode 100644 index 00000000..6016f757 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Freckle Face.asset.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: fb3bff0afd4fd5a42a7d379302600709 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Freckle Face.asset + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Frijole.asset b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Frijole.asset new file mode 100644 index 00000000..167831a0 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Frijole.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ce6d595982c3a1d0699cfc8c31779c06197eab20993a98565b499c3452472c70 +size 235436 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Frijole.asset.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Frijole.asset.meta new file mode 100644 index 00000000..290a067a --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Frijole.asset.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: 5b25ef83d7ddd21489712d2642531288 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Frijole.asset + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Germania One.asset b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Germania One.asset new file mode 100644 index 00000000..f7cac88f --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Germania One.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:20ef725447308089af65576ffe5da2a338b98babac33a252e5cc95b317572804 +size 39220 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Germania One.asset.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Germania One.asset.meta new file mode 100644 index 00000000..12438686 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Germania One.asset.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: b03479dd2f44f2d48997090de2913a9a +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Germania One.asset + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Goudy Bookletter 1911.asset b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Goudy Bookletter 1911.asset new file mode 100644 index 00000000..77f8657b --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Goudy Bookletter 1911.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:56f65e78fc0c6fd6b7993cf003bbbfaf7209e4054953e6f3bea104d34e31620a +size 75020 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Goudy Bookletter 1911.asset.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Goudy Bookletter 1911.asset.meta new file mode 100644 index 00000000..c37484c1 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Goudy Bookletter 1911.asset.meta @@ -0,0 +1,16 @@ +fileFormatVersion: 2 +guid: 3d69ceaf9611030489d42639bc7d4998 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Goudy Bookletter + 1911.asset + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Indie Flower.asset b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Indie Flower.asset new file mode 100644 index 00000000..6ea76af3 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Indie Flower.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ee67ddbb9e4b53b2cdfcb0a25478a90903a9f69b68b561f45a2da0bc241b8e30 +size 64096 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Indie Flower.asset.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Indie Flower.asset.meta new file mode 100644 index 00000000..52d0c1d7 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Indie Flower.asset.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: a49e4b80aa60a7144851589a14459a0b +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Indie Flower.asset + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/League Gothic Condensed Italic Regular.asset b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/League Gothic Condensed Italic Regular.asset new file mode 100644 index 00000000..c85cb96b --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/League Gothic Condensed Italic Regular.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4f703beee528e04d796a46a7fd9fbe9436b71019f5c6d4470d4bd6a66f4924a9 +size 62588 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/League Gothic Condensed Italic Regular.asset.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/League Gothic Condensed Italic Regular.asset.meta new file mode 100644 index 00000000..f4a34a08 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/League Gothic Condensed Italic Regular.asset.meta @@ -0,0 +1,16 @@ +fileFormatVersion: 2 +guid: 54eccff808187e54fa862a8e8f3c327d +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/League Gothic + Condensed Italic Regular.asset + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/League Gothic Condensed Regular.asset b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/League Gothic Condensed Regular.asset new file mode 100644 index 00000000..4c0f333a --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/League Gothic Condensed Regular.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6ecfefafe54614776efe2f98455d4eca7566a5c6a0d68d88a5a1ddce45ff81c4 +size 48964 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/League Gothic Condensed Regular.asset.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/League Gothic Condensed Regular.asset.meta new file mode 100644 index 00000000..108a1f0d --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/League Gothic Condensed Regular.asset.meta @@ -0,0 +1,16 @@ +fileFormatVersion: 2 +guid: a71aa36d5c98db448ad76654759d379f +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/League Gothic + Condensed Regular.asset + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/League Gothic Italic Regular.asset b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/League Gothic Italic Regular.asset new file mode 100644 index 00000000..f8a7870a --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/League Gothic Italic Regular.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f85265a3e846d444681b02fdd364be9afd8ff68edf8834d83ce3aa6eac5389e8 +size 60712 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/League Gothic Italic Regular.asset.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/League Gothic Italic Regular.asset.meta new file mode 100644 index 00000000..a864ada9 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/League Gothic Italic Regular.asset.meta @@ -0,0 +1,16 @@ +fileFormatVersion: 2 +guid: 78d2bde9b0117084fa694e4487b894e2 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/League Gothic + Italic Regular.asset + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/League Gothic Regular.asset b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/League Gothic Regular.asset new file mode 100644 index 00000000..b80ec75c --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/League Gothic Regular.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5dd868b5294fd51f9d9794fff39d94aaedd1cadeaf9fe8ef5bfbd064240e1e2e +size 49304 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/League Gothic Regular.asset.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/League Gothic Regular.asset.meta new file mode 100644 index 00000000..8a1d5453 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/League Gothic Regular.asset.meta @@ -0,0 +1,16 @@ +fileFormatVersion: 2 +guid: f8e657c0b9afebc4384dca552b31d499 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/League Gothic + Regular.asset + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/League Gothic SemiCondensed Regular.asset b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/League Gothic SemiCondensed Regular.asset new file mode 100644 index 00000000..55083c75 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/League Gothic SemiCondensed Regular.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d7ff0514082ca6c069ab4909a430c3a228c6549faad5adf35e170d3f131574c8 +size 49384 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/League Gothic SemiCondensed Regular.asset.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/League Gothic SemiCondensed Regular.asset.meta new file mode 100644 index 00000000..2c6fe24d --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/League Gothic SemiCondensed Regular.asset.meta @@ -0,0 +1,16 @@ +fileFormatVersion: 2 +guid: 509eb2f790aa0fc429a532f93ced66c9 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/League Gothic + SemiCondensed Regular.asset + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/League Mono Bold.asset b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/League Mono Bold.asset new file mode 100644 index 00000000..110d25ab --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/League Mono Bold.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d80a6c3cceb615ec05e466ae1c8b0a2e86447202ebef0765428c7bc3cd14ccd2 +size 74340 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/League Mono Bold.asset.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/League Mono Bold.asset.meta new file mode 100644 index 00000000..2fd6ad58 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/League Mono Bold.asset.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: a7782ad01983ba9409476b5a06ed17e9 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/League Mono Bold.asset + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/League Mono Condensed Bold.asset b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/League Mono Condensed Bold.asset new file mode 100644 index 00000000..3e9205d3 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/League Mono Condensed Bold.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:561ee394a00bf795076072c9e6057e8c0ee9c16257a2e0e7efe5148eb93d9fa7 +size 73512 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/League Mono Condensed Bold.asset.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/League Mono Condensed Bold.asset.meta new file mode 100644 index 00000000..dd4365c9 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/League Mono Condensed Bold.asset.meta @@ -0,0 +1,16 @@ +fileFormatVersion: 2 +guid: b4da1d0f39e7d3c42a7238fda6ba5675 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/League Mono Condensed + Bold.asset + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/League Mono Condensed.asset b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/League Mono Condensed.asset new file mode 100644 index 00000000..03ba35d3 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/League Mono Condensed.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:12ed467d87a03b309f01ab30f42af23af5e20337643436fe76e83559ab56dfb6 +size 74848 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/League Mono Condensed.asset.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/League Mono Condensed.asset.meta new file mode 100644 index 00000000..da911232 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/League Mono Condensed.asset.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: b3d766a1c1bdbad4787a79f377cd4db1 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/League Mono Condensed.asset + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/League Mono Regular.asset b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/League Mono Regular.asset new file mode 100644 index 00000000..9ff9ff39 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/League Mono Regular.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bb4489e886c91eb244e6b7473f6451286805315481b02738739a74213f94c406 +size 74212 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/League Mono Regular.asset.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/League Mono Regular.asset.meta new file mode 100644 index 00000000..66f25910 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/League Mono Regular.asset.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: db1a9f856a9335c4f9939586bd116cd0 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/League Mono Regular.asset + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/League Spartan Regular.asset b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/League Spartan Regular.asset new file mode 100644 index 00000000..21922f74 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/League Spartan Regular.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:09eb5bbf8505cb03f4d8d29fbf4dfe23aa8ab8d4e20bc12914f2dcab22dccf55 +size 44472 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/League Spartan Regular.asset.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/League Spartan Regular.asset.meta new file mode 100644 index 00000000..802c4015 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/League Spartan Regular.asset.meta @@ -0,0 +1,16 @@ +fileFormatVersion: 2 +guid: cb1b188926b81de44b7a2ce90e2bdc6f +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/League Spartan + Regular.asset + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Linden Hill Regular.asset b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Linden Hill Regular.asset new file mode 100644 index 00000000..d4766b60 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Linden Hill Regular.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:797c9273528d51fbadc847ee5415f32cf4fea16e43afcdd5d2771623dbd52023 +size 130216 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Linden Hill Regular.asset.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Linden Hill Regular.asset.meta new file mode 100644 index 00000000..55caaae9 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Linden Hill Regular.asset.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: 00731ef6f0c898f4dbba5bd6d53b25fd +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Linden Hill Regular.asset + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Lobster Regular.asset b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Lobster Regular.asset new file mode 100644 index 00000000..c9e3fe99 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Lobster Regular.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0cad049f92f90e133188be290fac0767d2714ac4eebc61be967ef38f39ef9176 +size 405488 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Lobster Regular.asset.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Lobster Regular.asset.meta new file mode 100644 index 00000000..405d4033 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Lobster Regular.asset.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: ac7064ab4fd65ef4f874bf8655c9d5c1 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Lobster Regular.asset + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Marcellus.asset b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Marcellus.asset new file mode 100644 index 00000000..0b03e172 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Marcellus.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cb748c1961c355accc6b35f92a1a375c37015bed0250bd86c983c664d5a078b0 +size 52672 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Marcellus.asset.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Marcellus.asset.meta new file mode 100644 index 00000000..f779c7a8 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Marcellus.asset.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: a4ee23a95de4c8c44a7ba74f1e53931e +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Marcellus.asset + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/McLaren.asset b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/McLaren.asset new file mode 100644 index 00000000..58b6940f --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/McLaren.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0ba27ba7bddc06cdfbe104749356d9a2505b6a9ce94fbd01a7ef235934624193 +size 61932 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/McLaren.asset.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/McLaren.asset.meta new file mode 100644 index 00000000..ea579553 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/McLaren.asset.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: aa6966c6588bd174b934ee43e39c5567 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/McLaren.asset + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Medula One.asset b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Medula One.asset new file mode 100644 index 00000000..972e3b7d --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Medula One.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:633c76cbba04ee6168462a93600df825408130b733595a1da347ac08dfdebb54 +size 41132 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Medula One.asset.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Medula One.asset.meta new file mode 100644 index 00000000..97e3c5fa --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Medula One.asset.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: 2bfd4361661d5d84b8797ed6cb845f42 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Medula One.asset + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models.meta new file mode 100644 index 00000000..df801775 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9b6646f8f705c084e9104282ba9780d8 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Amarante Regular.obj b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Amarante Regular.obj new file mode 100644 index 00000000..7284f58a --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Amarante Regular.obj @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:19b13e8a173a9d7ab8062fdab5bbded2da4ed5f86670cf6523cd51be62629831 +size 2748514 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Amarante Regular.obj.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Amarante Regular.obj.meta new file mode 100644 index 00000000..882cad45 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Amarante Regular.obj.meta @@ -0,0 +1,111 @@ +fileFormatVersion: 2 +guid: 8413c4934a63076428afb809f7bc03f1 +ModelImporter: + serializedVersion: 20300 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 0 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + bakeAxisConversion: 0 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVMarginMethod: 1 + secondaryUVMinLightmapResolution: 40 + secondaryUVMinObjectScale: 1 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 0 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + addHumanoidExtraRootOnlyWhenUsingAvatar: 0 + remapMaterialsIfMaterialImportModeIsNone: 1 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Amarante + Regular.obj + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Amatic SC Bold.obj b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Amatic SC Bold.obj new file mode 100644 index 00000000..e39d55bc --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Amatic SC Bold.obj @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9cd6674cc0dd748a749b5413299d5df398d6f8e1e617d15a28e107d6c1d9feaa +size 3596919 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Amatic SC Bold.obj.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Amatic SC Bold.obj.meta new file mode 100644 index 00000000..c652d189 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Amatic SC Bold.obj.meta @@ -0,0 +1,105 @@ +fileFormatVersion: 2 +guid: 7f33228acdee76440b157f899e957869 +ModelImporter: + serializedVersion: 19301 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 0 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 0 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Amatic + SC Bold.obj + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Amatic SC Regular.obj b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Amatic SC Regular.obj new file mode 100644 index 00000000..8cdd2c88 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Amatic SC Regular.obj @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9bd5d2e223d214718657ce82ee2b27edd498ab2c0d46ffc882604389793f9343 +size 4071924 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Amatic SC Regular.obj.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Amatic SC Regular.obj.meta new file mode 100644 index 00000000..1e8a8870 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Amatic SC Regular.obj.meta @@ -0,0 +1,105 @@ +fileFormatVersion: 2 +guid: b8f0be218b4c39f40bdbb2b9148004ca +ModelImporter: + serializedVersion: 19301 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 0 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 0 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Amatic + SC Regular.obj + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Audiowide Regular.obj b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Audiowide Regular.obj new file mode 100644 index 00000000..d6443194 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Audiowide Regular.obj @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cafb32441906e40622b35c864d3a0c85e836c09cd6f23f77fc4418e437c694a4 +size 2192298 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Audiowide Regular.obj.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Audiowide Regular.obj.meta new file mode 100644 index 00000000..b81f21a7 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Audiowide Regular.obj.meta @@ -0,0 +1,105 @@ +fileFormatVersion: 2 +guid: 361a8b41479a70f45a45515e6aa5359a +ModelImporter: + serializedVersion: 19301 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 0 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 0 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Audiowide + Regular.obj + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Bahianita Regular.obj b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Bahianita Regular.obj new file mode 100644 index 00000000..04d7d238 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Bahianita Regular.obj @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1da816f3128679233ab331327682584fa06ddba20949eb66d91e71645343d561 +size 1056958 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Bahianita Regular.obj.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Bahianita Regular.obj.meta new file mode 100644 index 00000000..7e6a90a1 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Bahianita Regular.obj.meta @@ -0,0 +1,105 @@ +fileFormatVersion: 2 +guid: 2b182ea02886cfd4e94370299d38fd21 +ModelImporter: + serializedVersion: 19301 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 0 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 0 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Bahianita + Regular.obj + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Bangers.obj b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Bangers.obj new file mode 100644 index 00000000..57533d8b --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Bangers.obj @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2e19085ad7dc47423394202fec99af31c91b90071a1688721137e785c7fb1b3a +size 2217653 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Bangers.obj.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Bangers.obj.meta new file mode 100644 index 00000000..d128c17d --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Bangers.obj.meta @@ -0,0 +1,104 @@ +fileFormatVersion: 2 +guid: 9e64527c247aa6845b199f28b38f6afb +ModelImporter: + serializedVersion: 19301 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 0 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 0 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Bangers.obj + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Barrio Regular.obj b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Barrio Regular.obj new file mode 100644 index 00000000..02cc06ce --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Barrio Regular.obj @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a9b0d314f3350e92b7c4a73172c164a18cb5f1014eedcb9a65b796747e5f598e +size 5246666 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Barrio Regular.obj.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Barrio Regular.obj.meta new file mode 100644 index 00000000..23a0d85d --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Barrio Regular.obj.meta @@ -0,0 +1,105 @@ +fileFormatVersion: 2 +guid: 98765db39647cf64faa433c2f085164d +ModelImporter: + serializedVersion: 19301 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 0 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 0 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Barrio + Regular.obj + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Berkshire Swash Regular.obj b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Berkshire Swash Regular.obj new file mode 100644 index 00000000..2eb436d8 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Berkshire Swash Regular.obj @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:716a17c7c670021206f176110b83edcfb98e07382ce33fd8c903a015b9f39fd9 +size 5377656 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Berkshire Swash Regular.obj.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Berkshire Swash Regular.obj.meta new file mode 100644 index 00000000..d71d65a2 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Berkshire Swash Regular.obj.meta @@ -0,0 +1,105 @@ +fileFormatVersion: 2 +guid: 7f5889b58c5ef284b98d9316754d8d64 +ModelImporter: + serializedVersion: 19301 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 0 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 0 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Berkshire + Swash Regular.obj + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Bigelow Rules Regular.obj b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Bigelow Rules Regular.obj new file mode 100644 index 00000000..9c768b1f --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Bigelow Rules Regular.obj @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b5012450605bc78fb6e6b3aa40964df260ad565565a335b73e6cbefc3aba246f +size 4382009 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Bigelow Rules Regular.obj.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Bigelow Rules Regular.obj.meta new file mode 100644 index 00000000..f33702f3 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Bigelow Rules Regular.obj.meta @@ -0,0 +1,105 @@ +fileFormatVersion: 2 +guid: e12509fbfcb8f3746a3d81c7b484eb65 +ModelImporter: + serializedVersion: 19301 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 0 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 0 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Bigelow + Rules Regular.obj + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Blackout Midnight.obj b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Blackout Midnight.obj new file mode 100644 index 00000000..b8c9b968 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Blackout Midnight.obj @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:32bf2a01e5fa1d9db68ef6bfa9483dd5b4e08ac62690394d1ad143c9a243fb31 +size 1239502 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Blackout Midnight.obj.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Blackout Midnight.obj.meta new file mode 100644 index 00000000..0bec6f4a --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Blackout Midnight.obj.meta @@ -0,0 +1,105 @@ +fileFormatVersion: 2 +guid: 6359710acd6bf584794bdeca587f6927 +ModelImporter: + serializedVersion: 19301 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 0 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 0 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Blackout + Midnight.obj + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Blackout Sunrise.obj b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Blackout Sunrise.obj new file mode 100644 index 00000000..09dcba6a --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Blackout Sunrise.obj @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ab5cc3dbcbafa2d208134c5234f60fa2797dbb0fff1cf8be2ca500e41ec7a99f +size 2764342 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Blackout Sunrise.obj.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Blackout Sunrise.obj.meta new file mode 100644 index 00000000..6b602fc3 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Blackout Sunrise.obj.meta @@ -0,0 +1,105 @@ +fileFormatVersion: 2 +guid: 10aff0ef732b91b4bb8127b92a362d6f +ModelImporter: + serializedVersion: 19301 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 0 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 0 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Blackout + Sunrise.obj + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Bungee Hairline.obj b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Bungee Hairline.obj new file mode 100644 index 00000000..6d63c252 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Bungee Hairline.obj @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:768170c32aa5575f2b864c04ab9fd0bb89b23337d650a525dd09aa9cbec05a65 +size 1743959 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Bungee Hairline.obj.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Bungee Hairline.obj.meta new file mode 100644 index 00000000..193286db --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Bungee Hairline.obj.meta @@ -0,0 +1,105 @@ +fileFormatVersion: 2 +guid: 2d15aa81bdd5b4c44a4884a42170d526 +ModelImporter: + serializedVersion: 19301 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 0 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 0 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Bungee + Hairline.obj + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Bungee Inline.obj b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Bungee Inline.obj new file mode 100644 index 00000000..66350ceb --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Bungee Inline.obj @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f80283c35b13030c16a126b48c51f69b0cb93be494070d5b6bb21097e315e50e +size 4671887 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Bungee Inline.obj.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Bungee Inline.obj.meta new file mode 100644 index 00000000..9eb1d27b --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Bungee Inline.obj.meta @@ -0,0 +1,105 @@ +fileFormatVersion: 2 +guid: 413da46cbc317c84c8cfaefba9c97ce6 +ModelImporter: + serializedVersion: 19301 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 0 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 0 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Bungee + Inline.obj + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Bungee Outline.obj b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Bungee Outline.obj new file mode 100644 index 00000000..a8fe3be6 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Bungee Outline.obj @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:56614ee940a050bc680d0782b7884f71bf45461a40a1211792b076eb0520b94d +size 7629432 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Bungee Outline.obj.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Bungee Outline.obj.meta new file mode 100644 index 00000000..7e771fc6 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Bungee Outline.obj.meta @@ -0,0 +1,105 @@ +fileFormatVersion: 2 +guid: 6d4a18cb041f97240919311fd2715e10 +ModelImporter: + serializedVersion: 19301 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 0 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 0 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Bungee + Outline.obj + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Bungee.obj b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Bungee.obj new file mode 100644 index 00000000..8bbadabd --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Bungee.obj @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:55ade0646299441e544b4f24179cf283175e5b0e57a7f0345cc8595b6ef73f3a +size 2807270 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Bungee.obj.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Bungee.obj.meta new file mode 100644 index 00000000..18675d25 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Bungee.obj.meta @@ -0,0 +1,104 @@ +fileFormatVersion: 2 +guid: b2f62fcb9d2d6be47a8c734538a20ecb +ModelImporter: + serializedVersion: 19301 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 0 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 0 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Bungee.obj + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Codystar Light.obj b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Codystar Light.obj new file mode 100644 index 00000000..8d2498a6 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Codystar Light.obj @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9d625e2cb7e316a1004c7c897d1204b1d880103052453ec47cbbd05a8b4d083d +size 20110290 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Codystar Light.obj.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Codystar Light.obj.meta new file mode 100644 index 00000000..1c9a9dc4 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Codystar Light.obj.meta @@ -0,0 +1,105 @@ +fileFormatVersion: 2 +guid: 8bf5d93e902ebe446865629acc5b83ce +ModelImporter: + serializedVersion: 19301 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 0 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 0 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Codystar + Light.obj + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Codystar.obj b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Codystar.obj new file mode 100644 index 00000000..e023f2c3 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Codystar.obj @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:75fa11927ccd9acdbf2197cde0717d1976c11c55e7ce11003f6873c656211fac +size 21954687 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Codystar.obj.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Codystar.obj.meta new file mode 100644 index 00000000..dc1c5ae6 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Codystar.obj.meta @@ -0,0 +1,104 @@ +fileFormatVersion: 2 +guid: 3f9798a9d9c56114ea26475f2ed16a04 +ModelImporter: + serializedVersion: 19301 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 0 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 0 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Codystar.obj + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Creepster.obj b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Creepster.obj new file mode 100644 index 00000000..c10f651f --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Creepster.obj @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:082fe663ab1f41c0bc544407acf716e98f1de13d84af48b3e7d2c340006a4019 +size 7839349 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Creepster.obj.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Creepster.obj.meta new file mode 100644 index 00000000..8b5381eb --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Creepster.obj.meta @@ -0,0 +1,104 @@ +fileFormatVersion: 2 +guid: b3f870a4b35c5754d8d02309466a520c +ModelImporter: + serializedVersion: 19301 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 0 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 0 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Creepster.obj + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Englebert.obj b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Englebert.obj new file mode 100644 index 00000000..de86562d --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Englebert.obj @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:53ecc72ad46e5e6e16c8e86a63f64eea348a1c594eef35bb3773ccca7b77e09a +size 3113092 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Englebert.obj.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Englebert.obj.meta new file mode 100644 index 00000000..6b0a16a0 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Englebert.obj.meta @@ -0,0 +1,110 @@ +fileFormatVersion: 2 +guid: 672def0adb676234396608bf9cbdcb1e +ModelImporter: + serializedVersion: 20300 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 0 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + bakeAxisConversion: 0 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVMarginMethod: 1 + secondaryUVMinLightmapResolution: 40 + secondaryUVMinObjectScale: 1 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 0 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + addHumanoidExtraRootOnlyWhenUsingAvatar: 1 + remapMaterialsIfMaterialImportModeIsNone: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Englebert.obj + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Fanwood Text Italic.obj b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Fanwood Text Italic.obj new file mode 100644 index 00000000..599adeba --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Fanwood Text Italic.obj @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:11f2a1a31a8246e6b15c8b61c116ae1fe6121f92de891779acba48cd9cb842e3 +size 4914819 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Fanwood Text Italic.obj.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Fanwood Text Italic.obj.meta new file mode 100644 index 00000000..8494e0c9 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Fanwood Text Italic.obj.meta @@ -0,0 +1,105 @@ +fileFormatVersion: 2 +guid: 55a36187c3c7b4f4bb162e2c2df03606 +ModelImporter: + serializedVersion: 19301 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 0 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 0 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Fanwood + Text Italic.obj + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Fanwood Text.obj b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Fanwood Text.obj new file mode 100644 index 00000000..fa179ac2 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Fanwood Text.obj @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4961c6da481e5f4ada9cddcc8824cc0ee2a6c219020ae2cf80cbd0c21af83966 +size 4961238 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Fanwood Text.obj.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Fanwood Text.obj.meta new file mode 100644 index 00000000..eaa630b8 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Fanwood Text.obj.meta @@ -0,0 +1,105 @@ +fileFormatVersion: 2 +guid: dd9de27759643244e9fb0ead50b94e82 +ModelImporter: + serializedVersion: 19301 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 0 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 0 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Fanwood + Text.obj + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Faster One.obj b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Faster One.obj new file mode 100644 index 00000000..a517943c --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Faster One.obj @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1c97bd63b3d81e8af27822cf6e595de51a4b34d09d557589ff280c8edf0d5f7f +size 2483651 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Faster One.obj.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Faster One.obj.meta new file mode 100644 index 00000000..30726a32 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Faster One.obj.meta @@ -0,0 +1,105 @@ +fileFormatVersion: 2 +guid: 6fc94d0f06909e245b1e39550aaa2243 +ModelImporter: + serializedVersion: 19301 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 0 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 0 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Faster + One.obj + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Flavors Regular.obj b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Flavors Regular.obj new file mode 100644 index 00000000..ee177fab --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Flavors Regular.obj @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:99da3d490193d9db8e4b2f2365ab0c85e8301622f534e022e86157030a45e917 +size 28226294 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Flavors Regular.obj.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Flavors Regular.obj.meta new file mode 100644 index 00000000..d239e246 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Flavors Regular.obj.meta @@ -0,0 +1,105 @@ +fileFormatVersion: 2 +guid: df51daa7de088aa49a889c6bf67951ff +ModelImporter: + serializedVersion: 19301 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 0 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 0 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Flavors + Regular.obj + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Fondamento Regular.obj b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Fondamento Regular.obj new file mode 100644 index 00000000..275d465c --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Fondamento Regular.obj @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e217741390c495591afe8e3e9252aa697f1bf77dcf6c5d6b3f3b09d7cbd63625 +size 3314636 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Fondamento Regular.obj.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Fondamento Regular.obj.meta new file mode 100644 index 00000000..84a5f035 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Fondamento Regular.obj.meta @@ -0,0 +1,105 @@ +fileFormatVersion: 2 +guid: 6ee10022bbf4ae94fb3694784cebf2cf +ModelImporter: + serializedVersion: 19301 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 0 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 0 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Fondamento + Regular.obj + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Fondamento-Italic.obj b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Fondamento-Italic.obj new file mode 100644 index 00000000..04a65431 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Fondamento-Italic.obj @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1d0a472441164f6f1f44f41a4aee62e88a9a694482485f3437f5d619ea683c56 +size 3380240 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Fondamento-Italic.obj.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Fondamento-Italic.obj.meta new file mode 100644 index 00000000..0ecd1123 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Fondamento-Italic.obj.meta @@ -0,0 +1,104 @@ +fileFormatVersion: 2 +guid: 93d382c084a52584f8a6a4708cc4dbe3 +ModelImporter: + serializedVersion: 19301 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 0 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 0 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Fondamento-Italic.obj + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Freckle Face.obj b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Freckle Face.obj new file mode 100644 index 00000000..9ba49d41 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Freckle Face.obj @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d5488eaa4784fc18c5e26dbe861abc3ca30fa4ec47ce56b1c37645e66d5fb079 +size 12848139 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Freckle Face.obj.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Freckle Face.obj.meta new file mode 100644 index 00000000..61c29d99 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Freckle Face.obj.meta @@ -0,0 +1,105 @@ +fileFormatVersion: 2 +guid: 90e2cc6778532ef41900923d7fae1119 +ModelImporter: + serializedVersion: 19301 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 0 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 0 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Freckle + Face.obj + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Frijole.obj b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Frijole.obj new file mode 100644 index 00000000..00767f25 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Frijole.obj @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f836a9c4e6e8982e1b4831d8fa72f9a1265077998d0ba8db1616f6891b9365e0 +size 40514900 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Frijole.obj.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Frijole.obj.meta new file mode 100644 index 00000000..9a4e06ca --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Frijole.obj.meta @@ -0,0 +1,104 @@ +fileFormatVersion: 2 +guid: 0013fb87ad36ef648ac5b0c48908f431 +ModelImporter: + serializedVersion: 19301 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 0 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 0 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Frijole.obj + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Germania One.obj b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Germania One.obj new file mode 100644 index 00000000..929afe29 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Germania One.obj @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6158c1c12d6867cb857ddcf8a9515365783f7a3b5882fc7cdf318c0437b8e6b2 +size 2089620 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Germania One.obj.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Germania One.obj.meta new file mode 100644 index 00000000..0ba0b2bc --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Germania One.obj.meta @@ -0,0 +1,105 @@ +fileFormatVersion: 2 +guid: c916371800557c84d891e6e216c1ca68 +ModelImporter: + serializedVersion: 19301 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 0 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 0 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Germania + One.obj + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Goudy Bookletter 1911.obj b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Goudy Bookletter 1911.obj new file mode 100644 index 00000000..9ccb0867 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Goudy Bookletter 1911.obj @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3545c3bc25b76eb97c68e3205f6a29302b673aae71759fb9c90d4cd2faec20b8 +size 5440443 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Goudy Bookletter 1911.obj.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Goudy Bookletter 1911.obj.meta new file mode 100644 index 00000000..eb60ca01 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Goudy Bookletter 1911.obj.meta @@ -0,0 +1,105 @@ +fileFormatVersion: 2 +guid: bbeb196f61112b94496ee6af8e5e77e8 +ModelImporter: + serializedVersion: 19301 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 0 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 0 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Goudy + Bookletter 1911.obj + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Indie Flower.obj b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Indie Flower.obj new file mode 100644 index 00000000..a4ff34ab --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Indie Flower.obj @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:93d3d823147396552d21ee895d1754ea7bac010ec9b4593068f043ecec17c3c8 +size 6135148 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Indie Flower.obj.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Indie Flower.obj.meta new file mode 100644 index 00000000..bc267da8 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Indie Flower.obj.meta @@ -0,0 +1,105 @@ +fileFormatVersion: 2 +guid: 1f272df94d7e70748baa3e8281189585 +ModelImporter: + serializedVersion: 19301 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 0 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 0 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Indie + Flower.obj + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/League Gothic Condensed Italic Regular.obj b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/League Gothic Condensed Italic Regular.obj new file mode 100644 index 00000000..f306ab68 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/League Gothic Condensed Italic Regular.obj @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2070ef379ad6ddef349281942b747a97a1db8607c3abafff2ca07563d1623312 +size 1776967 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/League Gothic Condensed Italic Regular.obj.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/League Gothic Condensed Italic Regular.obj.meta new file mode 100644 index 00000000..cb41cc28 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/League Gothic Condensed Italic Regular.obj.meta @@ -0,0 +1,105 @@ +fileFormatVersion: 2 +guid: a9739fe32f4404045b83139c2c45fdbc +ModelImporter: + serializedVersion: 19301 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 0 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 0 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/League + Gothic Condensed Italic Regular.obj + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/League Gothic Condensed Regular.obj b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/League Gothic Condensed Regular.obj new file mode 100644 index 00000000..36ee4a63 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/League Gothic Condensed Regular.obj @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d0812948c70ff523d9d65a974241412c622c076f02e79941d28619617caabbac +size 1664167 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/League Gothic Condensed Regular.obj.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/League Gothic Condensed Regular.obj.meta new file mode 100644 index 00000000..f44c5753 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/League Gothic Condensed Regular.obj.meta @@ -0,0 +1,105 @@ +fileFormatVersion: 2 +guid: 9a597a0cde22e6046915bd49b87a0c93 +ModelImporter: + serializedVersion: 19301 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 0 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 0 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/League + Gothic Condensed Regular.obj + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/League Gothic Italic Regular.obj b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/League Gothic Italic Regular.obj new file mode 100644 index 00000000..bd2191e3 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/League Gothic Italic Regular.obj @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b92f9b05389ed46960005b3d4f8e14155ef039989090928e08e3ce1e611b4281 +size 1778204 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/League Gothic Italic Regular.obj.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/League Gothic Italic Regular.obj.meta new file mode 100644 index 00000000..12ccd206 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/League Gothic Italic Regular.obj.meta @@ -0,0 +1,105 @@ +fileFormatVersion: 2 +guid: 59f4ff54ffaab594ab85e7deccd5512b +ModelImporter: + serializedVersion: 19301 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 0 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 0 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/League + Gothic Italic Regular.obj + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/League Gothic Regular.obj b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/League Gothic Regular.obj new file mode 100644 index 00000000..c880d832 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/League Gothic Regular.obj @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:df98c08136b6fad7a1ed6bcf6f65dc82962664d210c7e3f7b520263a37c1635a +size 1642251 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/League Gothic Regular.obj.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/League Gothic Regular.obj.meta new file mode 100644 index 00000000..aa3c68ef --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/League Gothic Regular.obj.meta @@ -0,0 +1,105 @@ +fileFormatVersion: 2 +guid: 0af2117af82a19740b9a323b86b2c806 +ModelImporter: + serializedVersion: 19301 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 0 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 0 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/League + Gothic Regular.obj + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/League Gothic SemiCondensed Regular.obj b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/League Gothic SemiCondensed Regular.obj new file mode 100644 index 00000000..57313ab1 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/League Gothic SemiCondensed Regular.obj @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b783d277b98a401c2e71018bf60d257e701f9e4c597d1f1fd4d44afca73cf15b +size 1659044 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/League Gothic SemiCondensed Regular.obj.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/League Gothic SemiCondensed Regular.obj.meta new file mode 100644 index 00000000..ca592614 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/League Gothic SemiCondensed Regular.obj.meta @@ -0,0 +1,105 @@ +fileFormatVersion: 2 +guid: 6458fc58e5ce7f8469c5d7206d36c2dd +ModelImporter: + serializedVersion: 19301 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 0 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 0 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/League + Gothic SemiCondensed Regular.obj + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/League Mono Bold.obj b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/League Mono Bold.obj new file mode 100644 index 00000000..ec6cdb3a --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/League Mono Bold.obj @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:46aa60450c4aec142adaa75ad7fff123056448c234100214009ab4da8e6d26f9 +size 1678699 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/League Mono Bold.obj.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/League Mono Bold.obj.meta new file mode 100644 index 00000000..0bf7604a --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/League Mono Bold.obj.meta @@ -0,0 +1,105 @@ +fileFormatVersion: 2 +guid: b361b7f169290a44a991ab4946bf6d7f +ModelImporter: + serializedVersion: 19301 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 0 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 0 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/League + Mono Bold.obj + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/League Mono Condensed Bold.obj b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/League Mono Condensed Bold.obj new file mode 100644 index 00000000..23010644 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/League Mono Condensed Bold.obj @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:895f68530e3386c94f6ff63aa41793fc50334fea79a60fb6b5ee984cb5f90311 +size 1635041 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/League Mono Condensed Bold.obj.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/League Mono Condensed Bold.obj.meta new file mode 100644 index 00000000..d98eb85c --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/League Mono Condensed Bold.obj.meta @@ -0,0 +1,105 @@ +fileFormatVersion: 2 +guid: 96b160454df9a354683785dd3765d9c7 +ModelImporter: + serializedVersion: 19301 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 0 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 0 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/League + Mono Condensed Bold.obj + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/League Mono Condensed.obj b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/League Mono Condensed.obj new file mode 100644 index 00000000..f9bac87f --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/League Mono Condensed.obj @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:53718f4bec3b2efcd6e1e918c12cff7083b8c8039234436738fe51deb64f1f33 +size 1657404 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/League Mono Condensed.obj.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/League Mono Condensed.obj.meta new file mode 100644 index 00000000..cf632961 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/League Mono Condensed.obj.meta @@ -0,0 +1,105 @@ +fileFormatVersion: 2 +guid: 832e057ccc91a894b8d7b065240b95ca +ModelImporter: + serializedVersion: 19301 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 0 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 0 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/League + Mono Condensed.obj + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/League Mono Regular.obj b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/League Mono Regular.obj new file mode 100644 index 00000000..4d73a799 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/League Mono Regular.obj @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c1d9ebc6e848c0d151e81697fa8a9fdbb90ba63e7049bd46801fd0a6c2f83b90 +size 1719662 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/League Mono Regular.obj.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/League Mono Regular.obj.meta new file mode 100644 index 00000000..5a194969 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/League Mono Regular.obj.meta @@ -0,0 +1,105 @@ +fileFormatVersion: 2 +guid: c7c8aeacaa72ecd499166f19df163689 +ModelImporter: + serializedVersion: 19301 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 0 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 0 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/League + Mono Regular.obj + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/League Spartan Regular.obj b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/League Spartan Regular.obj new file mode 100644 index 00000000..93d73ee4 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/League Spartan Regular.obj @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e0501eb438aa469e2c3428667d50234cb6a03c2873c54b631d62683390711b8e +size 1501440 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/League Spartan Regular.obj.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/League Spartan Regular.obj.meta new file mode 100644 index 00000000..034c483a --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/League Spartan Regular.obj.meta @@ -0,0 +1,105 @@ +fileFormatVersion: 2 +guid: 8306d1744dcebcc418b26ec573d6b070 +ModelImporter: + serializedVersion: 19301 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 0 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 0 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/League + Spartan Regular.obj + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Linden Hill Regular.obj b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Linden Hill Regular.obj new file mode 100644 index 00000000..f8e5de00 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Linden Hill Regular.obj @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:39e5a039f91438af8e3a76401760d2bffc854a076467ff2e09de0fbcd647d629 +size 3438649 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Linden Hill Regular.obj.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Linden Hill Regular.obj.meta new file mode 100644 index 00000000..14eff373 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Linden Hill Regular.obj.meta @@ -0,0 +1,105 @@ +fileFormatVersion: 2 +guid: 72ae88a459633664fbdd00154ea3b582 +ModelImporter: + serializedVersion: 19301 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 0 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 0 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Linden + Hill Regular.obj + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Lobster Regular.obj b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Lobster Regular.obj new file mode 100644 index 00000000..0a00219d --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Lobster Regular.obj @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:13d8900b219a5606e41de66a9d3adef240b10c339b0937af64f56b0ff6baf8a7 +size 2593899 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Lobster Regular.obj.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Lobster Regular.obj.meta new file mode 100644 index 00000000..a822c15a --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Lobster Regular.obj.meta @@ -0,0 +1,105 @@ +fileFormatVersion: 2 +guid: c4ccd934e6327c945b5df589e4a6fd66 +ModelImporter: + serializedVersion: 19301 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 0 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 0 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Lobster + Regular.obj + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Marcellus.obj b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Marcellus.obj new file mode 100644 index 00000000..86c61ed2 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Marcellus.obj @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dae77fd4b7b0d840aa2c34e6a6f2974fc0d4c71268233d05637de303cc6be944 +size 3649584 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Marcellus.obj.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Marcellus.obj.meta new file mode 100644 index 00000000..b0094d1a --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Marcellus.obj.meta @@ -0,0 +1,104 @@ +fileFormatVersion: 2 +guid: f19481f04d5607b49a0dd2431b4b400f +ModelImporter: + serializedVersion: 19301 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 0 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 0 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Marcellus.obj + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/McLaren.obj b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/McLaren.obj new file mode 100644 index 00000000..532e88ea --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/McLaren.obj @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e2321e7028070e4b6578c83e80dca716db3dd5ea0abd1615a2dc47cf548aa9d6 +size 2845006 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/McLaren.obj.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/McLaren.obj.meta new file mode 100644 index 00000000..d4a832f1 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/McLaren.obj.meta @@ -0,0 +1,104 @@ +fileFormatVersion: 2 +guid: 4d3ed19a5c58b2a4184e48aeac047b6c +ModelImporter: + serializedVersion: 19301 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 0 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 0 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/McLaren.obj + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Medula One.obj b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Medula One.obj new file mode 100644 index 00000000..17d0fd5e --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Medula One.obj @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bedd4d10aaf6b9682667421ecdd66a5008d0a9a4f9061b111c833f765f2e1a9f +size 2277833 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Medula One.obj.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Medula One.obj.meta new file mode 100644 index 00000000..1fd38b22 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Medula One.obj.meta @@ -0,0 +1,105 @@ +fileFormatVersion: 2 +guid: 8398b238f0e0fed45b63e358871040eb +ModelImporter: + serializedVersion: 19301 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 0 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 0 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Medula + One.obj + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Monoton.obj b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Monoton.obj new file mode 100644 index 00000000..b84bb81e --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Monoton.obj @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c14c46c5dff0fe8394e22f49c1b2ae7cd1eb7e39905298ab093d0e95c8432178 +size 5456774 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Monoton.obj.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Monoton.obj.meta new file mode 100644 index 00000000..3a6094ff --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Monoton.obj.meta @@ -0,0 +1,104 @@ +fileFormatVersion: 2 +guid: 5ed9c462fb607d34a9371dada0657eeb +ModelImporter: + serializedVersion: 19301 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 0 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 0 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Monoton.obj + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Mouse Memoirs.obj b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Mouse Memoirs.obj new file mode 100644 index 00000000..98f8b23f --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Mouse Memoirs.obj @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9db5a5011dfa65b3eef6d954bd057b5a51d21f994fc06e5b99d7b1ee39906177 +size 3388118 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Mouse Memoirs.obj.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Mouse Memoirs.obj.meta new file mode 100644 index 00000000..19c33ce3 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Mouse Memoirs.obj.meta @@ -0,0 +1,105 @@ +fileFormatVersion: 2 +guid: 12699dd5bd1c85c4aaf6141d0dc9412d +ModelImporter: + serializedVersion: 19301 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 0 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 0 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Mouse + Memoirs.obj + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Mystery Quest.obj b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Mystery Quest.obj new file mode 100644 index 00000000..96717d2d --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Mystery Quest.obj @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:13dc1d7ebb05212ccfbbb239cfff5c13929d74811483d3cfcbd212a1b1d832a6 +size 6381513 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Mystery Quest.obj.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Mystery Quest.obj.meta new file mode 100644 index 00000000..bd65ea94 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Mystery Quest.obj.meta @@ -0,0 +1,105 @@ +fileFormatVersion: 2 +guid: 453b61f8c00e2e24496c1b2968958c8e +ModelImporter: + serializedVersion: 19301 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 0 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 0 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Mystery + Quest.obj + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Nanum Brush Script.obj b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Nanum Brush Script.obj new file mode 100644 index 00000000..1789e4ed --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Nanum Brush Script.obj @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3ab86e25d308acf1a6ecf2a0bf96799e3a013faa48386a674883e02aae3a1219 +size 5628184 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Nanum Brush Script.obj.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Nanum Brush Script.obj.meta new file mode 100644 index 00000000..34a93fbf --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Nanum Brush Script.obj.meta @@ -0,0 +1,105 @@ +fileFormatVersion: 2 +guid: 110516fe5d9849a4a88561f661e33684 +ModelImporter: + serializedVersion: 19301 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 0 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 0 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Nanum + Brush Script.obj + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Nosifer.obj b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Nosifer.obj new file mode 100644 index 00000000..e87cf8b0 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Nosifer.obj @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:58620a003779ca95b5aaeca9c1c41017a73e02154f209b062628ee7bb03117a8 +size 5090885 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Nosifer.obj.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Nosifer.obj.meta new file mode 100644 index 00000000..7aa950f5 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Nosifer.obj.meta @@ -0,0 +1,104 @@ +fileFormatVersion: 2 +guid: cc549bccf64f8984d8ba0e00d42bbb44 +ModelImporter: + serializedVersion: 19301 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 0 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 0 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Nosifer.obj + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Nova Cut.obj b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Nova Cut.obj new file mode 100644 index 00000000..0a6a772b --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Nova Cut.obj @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:376ba91428cb48c254c2cc1389eb84a7609a098d11a2210652fc92ac7306c270 +size 1393203 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Nova Cut.obj.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Nova Cut.obj.meta new file mode 100644 index 00000000..a0530c08 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Nova Cut.obj.meta @@ -0,0 +1,104 @@ +fileFormatVersion: 2 +guid: c7cafe40f46fdcf419c98d6f61377e5a +ModelImporter: + serializedVersion: 19301 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 0 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 0 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Nova Cut.obj + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Orbitron-Black.obj b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Orbitron-Black.obj new file mode 100644 index 00000000..610a4615 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Orbitron-Black.obj @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:faa646fa6b38a65341c2e26f3eddb5b33fdb4cd4cb0097484291e6379db5b555 +size 969437 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Orbitron-Black.obj.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Orbitron-Black.obj.meta new file mode 100644 index 00000000..7e443626 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Orbitron-Black.obj.meta @@ -0,0 +1,104 @@ +fileFormatVersion: 2 +guid: 428803812fd54594b96d43c53cc06364 +ModelImporter: + serializedVersion: 19301 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 0 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 0 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Orbitron-Black.obj + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Orbitron-Bold.obj b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Orbitron-Bold.obj new file mode 100644 index 00000000..36a4b3ab --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Orbitron-Bold.obj @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b08506ef14961e88ec04c9fad50b16d5b7afe82dd37f5b05dac2e9788cdb582c +size 1162512 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Orbitron-Bold.obj.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Orbitron-Bold.obj.meta new file mode 100644 index 00000000..5a1e1419 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Orbitron-Bold.obj.meta @@ -0,0 +1,104 @@ +fileFormatVersion: 2 +guid: d98b16ee87fe81449a3d52003e574c73 +ModelImporter: + serializedVersion: 19301 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 0 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 0 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Orbitron-Bold.obj + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Orbitron-Light.obj b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Orbitron-Light.obj new file mode 100644 index 00000000..71345134 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Orbitron-Light.obj @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:320f79ceb03b1599191bff16ed6a97f0678874ac0513a84c6ceee803fa936a74 +size 1325688 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Orbitron-Light.obj.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Orbitron-Light.obj.meta new file mode 100644 index 00000000..b87efa0a --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Orbitron-Light.obj.meta @@ -0,0 +1,104 @@ +fileFormatVersion: 2 +guid: 5d73a74916957f34893e8648028075b7 +ModelImporter: + serializedVersion: 19301 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 0 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 0 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Orbitron-Light.obj + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Oregano Italic.obj b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Oregano Italic.obj new file mode 100644 index 00000000..a2997dd4 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Oregano Italic.obj @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:44647a2adee79c9a5fcf3ef7f777343e1fb19b8bb11b0468baad6becf115915a +size 9572293 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Oregano Italic.obj.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Oregano Italic.obj.meta new file mode 100644 index 00000000..bbd18988 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Oregano Italic.obj.meta @@ -0,0 +1,105 @@ +fileFormatVersion: 2 +guid: 9142f3ca3312d604aa398bce1138f14c +ModelImporter: + serializedVersion: 19301 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 0 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 0 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Oregano + Italic.obj + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Oregano.obj b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Oregano.obj new file mode 100644 index 00000000..87bc8d5a --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Oregano.obj @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:526b464dbb1b3737847f523e8c6ff2be38569c705b732c1a1737a13c1c9edda3 +size 8977207 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Oregano.obj.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Oregano.obj.meta new file mode 100644 index 00000000..3c64c9f5 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Oregano.obj.meta @@ -0,0 +1,104 @@ +fileFormatVersion: 2 +guid: 3fb2991b136bbb74cb3cd8b80e388f0f +ModelImporter: + serializedVersion: 19301 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 0 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 0 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Oregano.obj + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Original Surfer.obj b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Original Surfer.obj new file mode 100644 index 00000000..83e332ec --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Original Surfer.obj @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:966c7acd4f6849ea3c683d776ad3cb0b6dc9f6f28559480f8e26ee6a99410eab +size 3529236 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Original Surfer.obj.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Original Surfer.obj.meta new file mode 100644 index 00000000..869fef62 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Original Surfer.obj.meta @@ -0,0 +1,105 @@ +fileFormatVersion: 2 +guid: 3185834c80450e243952e531ec658dc2 +ModelImporter: + serializedVersion: 19301 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 0 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 0 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Original + Surfer.obj + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Peralta.obj b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Peralta.obj new file mode 100644 index 00000000..f9a10d5e --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Peralta.obj @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ed2e3a2d52b2874f8895b44fa76ddd22cbb74821d8c3fc7a6f60c84b3fe19847 +size 3145245 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Peralta.obj.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Peralta.obj.meta new file mode 100644 index 00000000..8ed43a70 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Peralta.obj.meta @@ -0,0 +1,104 @@ +fileFormatVersion: 2 +guid: d8f498152def511409c0d151be8b7909 +ModelImporter: + serializedVersion: 19301 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 0 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 0 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Peralta.obj + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Permanent Marker Regular.obj b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Permanent Marker Regular.obj new file mode 100644 index 00000000..57014e9a --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Permanent Marker Regular.obj @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:88a32f93d623b5c0134b331aa213c1f9ef176f47c9dec28d9c8cddf4399c9ad1 +size 9052348 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Permanent Marker Regular.obj.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Permanent Marker Regular.obj.meta new file mode 100644 index 00000000..34529eac --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Permanent Marker Regular.obj.meta @@ -0,0 +1,105 @@ +fileFormatVersion: 2 +guid: b9da42802ecb5b54ca29d767a53731fc +ModelImporter: + serializedVersion: 19301 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 0 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 0 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Permanent + Marker Regular.obj + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Playball.obj b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Playball.obj new file mode 100644 index 00000000..b14782ac --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Playball.obj @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9eec17fb921708011a44c3a058729486dadcd03d2abc92b04459d89659c8b9ae +size 3177149 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Playball.obj.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Playball.obj.meta new file mode 100644 index 00000000..ea56db60 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Playball.obj.meta @@ -0,0 +1,104 @@ +fileFormatVersion: 2 +guid: d13876a0e0ba3924e9b55f28fed30995 +ModelImporter: + serializedVersion: 19301 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 0 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 0 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Playball.obj + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Press Start 2P Regular.obj b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Press Start 2P Regular.obj new file mode 100644 index 00000000..5b0b4931 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Press Start 2P Regular.obj @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2d1e68dccab1b3848bf9fd7c4f44f5ca74f00d4bbcd045ded0c824b766e4ccb5 +size 1091225 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Press Start 2P Regular.obj.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Press Start 2P Regular.obj.meta new file mode 100644 index 00000000..5d88f86a --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Press Start 2P Regular.obj.meta @@ -0,0 +1,105 @@ +fileFormatVersion: 2 +guid: 4f7ccc62963dea741adc5eb07bc81d97 +ModelImporter: + serializedVersion: 19301 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 0 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 0 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Press + Start 2P Regular.obj + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Prociono Regular.obj b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Prociono Regular.obj new file mode 100644 index 00000000..70f8462b --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Prociono Regular.obj @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:556b533b5c4935a5d0d4d92454f0da5b508b893b3b7444ca21e8efcf48aa7d8a +size 3146121 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Prociono Regular.obj.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Prociono Regular.obj.meta new file mode 100644 index 00000000..67faa6ba --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Prociono Regular.obj.meta @@ -0,0 +1,105 @@ +fileFormatVersion: 2 +guid: c8b7b3efe63ded8458e8a54be3ee3ece +ModelImporter: + serializedVersion: 19301 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 0 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 0 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Prociono + Regular.obj + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Raleway.obj b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Raleway.obj new file mode 100644 index 00000000..3861e24d --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Raleway.obj @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:786ded04267f5ac984c297e4882bd4809b6ccd4eb48a1ed090f4a15aede8cdee +size 1979322 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Raleway.obj.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Raleway.obj.meta new file mode 100644 index 00000000..5b33bded --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Raleway.obj.meta @@ -0,0 +1,104 @@ +fileFormatVersion: 2 +guid: 71c7b3a32c6fccf498970f876b844f3e +ModelImporter: + serializedVersion: 19301 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 0 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 0 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Raleway.obj + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Reggae One Regular.obj b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Reggae One Regular.obj new file mode 100644 index 00000000..1c08ff08 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Reggae One Regular.obj @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4ede671024bb393764a5fae79a2af5419f4d478d8f69103a97021df1454db9bc +size 1720163 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Reggae One Regular.obj.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Reggae One Regular.obj.meta new file mode 100644 index 00000000..cbcf7b91 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Reggae One Regular.obj.meta @@ -0,0 +1,105 @@ +fileFormatVersion: 2 +guid: 3cef044dff7a8ce45a6bdafdc4ed0d30 +ModelImporter: + serializedVersion: 19301 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 0 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 0 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Reggae + One Regular.obj + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Ribeye Marrow.obj b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Ribeye Marrow.obj new file mode 100644 index 00000000..4f908574 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Ribeye Marrow.obj @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ce5692d53660fd1cd7563fa798ebcf5fdd1d161b2f56d83c8cb0be2a38adbcb1 +size 5244077 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Ribeye Marrow.obj.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Ribeye Marrow.obj.meta new file mode 100644 index 00000000..c16c31b9 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Ribeye Marrow.obj.meta @@ -0,0 +1,105 @@ +fileFormatVersion: 2 +guid: 2aac67efbeba87342a23b60548c15ff5 +ModelImporter: + serializedVersion: 19301 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 0 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 0 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Ribeye + Marrow.obj + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Righteous.obj b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Righteous.obj new file mode 100644 index 00000000..a9c73710 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Righteous.obj @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6f9ba46a8f27ec910e2777a45ade6fe752bcaf82a3dd1d658dd6b2cabe55fc29 +size 2215821 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Righteous.obj.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Righteous.obj.meta new file mode 100644 index 00000000..78f7439b --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Righteous.obj.meta @@ -0,0 +1,104 @@ +fileFormatVersion: 2 +guid: 819acdc74d712df45b9d576bfa366928 +ModelImporter: + serializedVersion: 19301 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 0 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 0 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Righteous.obj + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Rounded Mplus 1c Bold.obj b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Rounded Mplus 1c Bold.obj new file mode 100644 index 00000000..5b57eafc --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Rounded Mplus 1c Bold.obj @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ff8bc14b849b5ad7fb9e7f85a1f72c1574bd7127d738d420c20945c825a2af38 +size 2611859 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Rounded Mplus 1c Bold.obj.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Rounded Mplus 1c Bold.obj.meta new file mode 100644 index 00000000..24e1d8bb --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Rounded Mplus 1c Bold.obj.meta @@ -0,0 +1,105 @@ +fileFormatVersion: 2 +guid: f5592d90bcd719b4fb9bcc19ee1df827 +ModelImporter: + serializedVersion: 19301 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 0 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 0 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Rounded + Mplus 1c Bold.obj + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Rounded Mplus 1c ExtraBold.obj b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Rounded Mplus 1c ExtraBold.obj new file mode 100644 index 00000000..40844d93 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Rounded Mplus 1c ExtraBold.obj @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7f9e121fb1d77aa8015cb34fc977a887ebe29b823d72fe2380e72fa08c5695fe +size 2630049 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Rounded Mplus 1c ExtraBold.obj.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Rounded Mplus 1c ExtraBold.obj.meta new file mode 100644 index 00000000..20b252bd --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Rounded Mplus 1c ExtraBold.obj.meta @@ -0,0 +1,105 @@ +fileFormatVersion: 2 +guid: e1903958c5aff134b9d8812c6f893c3d +ModelImporter: + serializedVersion: 19301 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 0 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 0 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Rounded + Mplus 1c ExtraBold.obj + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Rounded Mplus 1c Light.obj b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Rounded Mplus 1c Light.obj new file mode 100644 index 00000000..f3dcb718 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Rounded Mplus 1c Light.obj @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:df618c735c043198dc274dfe1c0825edd8809bf9da7d2830af62863397bbb5c2 +size 2460687 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Rounded Mplus 1c Light.obj.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Rounded Mplus 1c Light.obj.meta new file mode 100644 index 00000000..2fc9ccae --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Rounded Mplus 1c Light.obj.meta @@ -0,0 +1,105 @@ +fileFormatVersion: 2 +guid: 1561942ea0a7f95449c0bbce1274af18 +ModelImporter: + serializedVersion: 19301 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 0 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 0 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Rounded + Mplus 1c Light.obj + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Rounded Mplus 1c.obj b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Rounded Mplus 1c.obj new file mode 100644 index 00000000..20172020 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Rounded Mplus 1c.obj @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:90bfd0799a0f449f9ea21700a8360667998de95eae94e324b813ef1f932c7e75 +size 2470232 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Rounded Mplus 1c.obj.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Rounded Mplus 1c.obj.meta new file mode 100644 index 00000000..a75af23f --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Rounded Mplus 1c.obj.meta @@ -0,0 +1,105 @@ +fileFormatVersion: 2 +guid: 97f8e30163e868942ba3fb742107eec2 +ModelImporter: + serializedVersion: 19301 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 0 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 0 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Rounded + Mplus 1c.obj + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Rum Raisin.obj b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Rum Raisin.obj new file mode 100644 index 00000000..fb8d6fa1 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Rum Raisin.obj @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:574f6bf4c6711986f88e412487f3c4c94cf613997c27338b3499612ee0cac3d8 +size 4535291 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Rum Raisin.obj.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Rum Raisin.obj.meta new file mode 100644 index 00000000..b6083906 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Rum Raisin.obj.meta @@ -0,0 +1,104 @@ +fileFormatVersion: 2 +guid: bc7a302fc987dbc4aab898405f3c74de +ModelImporter: + serializedVersion: 19301 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 0 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 0 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Rum Raisin.obj + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Sedgwick Ave Display Regular.obj b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Sedgwick Ave Display Regular.obj new file mode 100644 index 00000000..ac2bdd82 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Sedgwick Ave Display Regular.obj @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d00d441af2da07276ebcc52b671bded5edaae8182674989f705e19d742b6c459 +size 4169744 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Sedgwick Ave Display Regular.obj.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Sedgwick Ave Display Regular.obj.meta new file mode 100644 index 00000000..1da8d2a4 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Sedgwick Ave Display Regular.obj.meta @@ -0,0 +1,105 @@ +fileFormatVersion: 2 +guid: c17a7e158b6481b4ba2a2d52e166dcf4 +ModelImporter: + serializedVersion: 19301 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 0 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 0 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Sedgwick + Ave Display Regular.obj + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Sedgwick Ave Regular.obj b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Sedgwick Ave Regular.obj new file mode 100644 index 00000000..f1519548 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Sedgwick Ave Regular.obj @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a6485359179d7547df8de7171e92084b6ad11fdf381e6972f5bfdf343ac0a9fa +size 3967260 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Sedgwick Ave Regular.obj.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Sedgwick Ave Regular.obj.meta new file mode 100644 index 00000000..5955b554 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Sedgwick Ave Regular.obj.meta @@ -0,0 +1,105 @@ +fileFormatVersion: 2 +guid: 052f7dd1e6b203741ab18c5f138f3dd5 +ModelImporter: + serializedVersion: 19301 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 0 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 0 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Sedgwick + Ave Regular.obj + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Sevillana.obj b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Sevillana.obj new file mode 100644 index 00000000..a0766c3e --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Sevillana.obj @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d9398351386d36af878470b4f74ccd0c9f1903d6edbd0305b9668aa28c0731a9 +size 5995737 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Sevillana.obj.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Sevillana.obj.meta new file mode 100644 index 00000000..f9e8ac00 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Sevillana.obj.meta @@ -0,0 +1,104 @@ +fileFormatVersion: 2 +guid: 9672a5ca341c4e54b9b2b4d3de96a21e +ModelImporter: + serializedVersion: 19301 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 0 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 0 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Sevillana.obj + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Shadows Into Light.obj b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Shadows Into Light.obj new file mode 100644 index 00000000..bd3eb1a8 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Shadows Into Light.obj @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:024e6994cdca4e4d9e3c6fbfc14e2f9c8cba0fafadbdce27d86753cc19a5d1d9 +size 3841912 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Shadows Into Light.obj.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Shadows Into Light.obj.meta new file mode 100644 index 00000000..135818e1 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Shadows Into Light.obj.meta @@ -0,0 +1,105 @@ +fileFormatVersion: 2 +guid: f17c8294d54426d46a1ef5dd4a9b1e39 +ModelImporter: + serializedVersion: 19301 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 0 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 0 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Shadows + Into Light.obj + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Shojumaru.obj b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Shojumaru.obj new file mode 100644 index 00000000..3362b010 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Shojumaru.obj @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:701b52dd8b36fd373f133e20911500aa7a5fd8bab927b47623d52b0672884d35 +size 4770689 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Shojumaru.obj.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Shojumaru.obj.meta new file mode 100644 index 00000000..4082991b --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Shojumaru.obj.meta @@ -0,0 +1,104 @@ +fileFormatVersion: 2 +guid: 8261c96e2011dd241b1c88f4362e1f2a +ModelImporter: + serializedVersion: 19301 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 0 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 0 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Shojumaru.obj + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Single Day Regular.obj b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Single Day Regular.obj new file mode 100644 index 00000000..009ab647 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Single Day Regular.obj @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:22b3a891333cc9d2cd8140577cc5d15798ce20372eff93782177455d9bf9a883 +size 4532706 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Single Day Regular.obj.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Single Day Regular.obj.meta new file mode 100644 index 00000000..05f7e322 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Single Day Regular.obj.meta @@ -0,0 +1,105 @@ +fileFormatVersion: 2 +guid: 012823b43d04bb64d9afeeb13031f857 +ModelImporter: + serializedVersion: 19301 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 0 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 0 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Single + Day Regular.obj + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Sniglet-ExtraBold.obj b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Sniglet-ExtraBold.obj new file mode 100644 index 00000000..f2861bb9 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Sniglet-ExtraBold.obj @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7bdc4967631a4408bd11664138f6ef4a3c836e8986b3afeab5e871d4b010c8d3 +size 3913482 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Sniglet-ExtraBold.obj.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Sniglet-ExtraBold.obj.meta new file mode 100644 index 00000000..86115bca --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Sniglet-ExtraBold.obj.meta @@ -0,0 +1,104 @@ +fileFormatVersion: 2 +guid: 3c0cb3f291da70345a969f57bf5382c6 +ModelImporter: + serializedVersion: 19301 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 0 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 0 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Sniglet-ExtraBold.obj + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Sniglet-Regular.obj b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Sniglet-Regular.obj new file mode 100644 index 00000000..2dd21732 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Sniglet-Regular.obj @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d73e9000a2778e644c3a629f5b30951f0b93ab38c550991c9dd8a790bdaa19f4 +size 2951978 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Sniglet-Regular.obj.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Sniglet-Regular.obj.meta new file mode 100644 index 00000000..ba430632 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Sniglet-Regular.obj.meta @@ -0,0 +1,104 @@ +fileFormatVersion: 2 +guid: bc9f1277d35ca32479af5df81cfe655b +ModelImporter: + serializedVersion: 19301 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 0 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 0 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Sniglet-Regular.obj + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Srisakdi Bold.obj b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Srisakdi Bold.obj new file mode 100644 index 00000000..faf7c387 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Srisakdi Bold.obj @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1d46990a8f3cffd6155413fa201eb81a81d313fbf59581a6ce1cacbea081b934 +size 3737377 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Srisakdi Bold.obj.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Srisakdi Bold.obj.meta new file mode 100644 index 00000000..6bab6864 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Srisakdi Bold.obj.meta @@ -0,0 +1,105 @@ +fileFormatVersion: 2 +guid: 672bd6ee77563944497fd7e739a52b6a +ModelImporter: + serializedVersion: 19301 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 0 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 0 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Srisakdi + Bold.obj + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Srisakdi Regular.obj b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Srisakdi Regular.obj new file mode 100644 index 00000000..9100234e --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Srisakdi Regular.obj @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:42ced7c596d31b36eb461195508c87805a5632fc5fe69cafc13eac139bbf0ced +size 3762879 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Srisakdi Regular.obj.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Srisakdi Regular.obj.meta new file mode 100644 index 00000000..e623c4ce --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Srisakdi Regular.obj.meta @@ -0,0 +1,105 @@ +fileFormatVersion: 2 +guid: 2b62e44a93aea56469b8dbc3552bd5c3 +ModelImporter: + serializedVersion: 19301 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 0 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 0 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Srisakdi + Regular.obj + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Stint Ultra Condensed.obj b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Stint Ultra Condensed.obj new file mode 100644 index 00000000..f5944885 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Stint Ultra Condensed.obj @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e63f0595b6a13c35989150066badd62af131c1025287ce2e094dc23d413c0f72 +size 2422044 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Stint Ultra Condensed.obj.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Stint Ultra Condensed.obj.meta new file mode 100644 index 00000000..39b05d71 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Stint Ultra Condensed.obj.meta @@ -0,0 +1,105 @@ +fileFormatVersion: 2 +guid: 2bc10d3f7e5c51b49b6f30a87571e95d +ModelImporter: + serializedVersion: 19301 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 0 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 0 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Stint + Ultra Condensed.obj + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Trade Winds.obj b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Trade Winds.obj new file mode 100644 index 00000000..dfacbe66 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Trade Winds.obj @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4948cfbad4f6226b3dfa17c89fc5711a80a194644900994ae55944e0ccabe234 +size 13559131 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Trade Winds.obj.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Trade Winds.obj.meta new file mode 100644 index 00000000..0d2f5827 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Trade Winds.obj.meta @@ -0,0 +1,105 @@ +fileFormatVersion: 2 +guid: de7a2adb7c4d78749acef3261852aff9 +ModelImporter: + serializedVersion: 19301 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 0 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 0 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/Trade + Winds.obj + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/ZCOOL QingKe HuangYou Regular.obj b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/ZCOOL QingKe HuangYou Regular.obj new file mode 100644 index 00000000..dba5de8b --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/ZCOOL QingKe HuangYou Regular.obj @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9eb9163099200414bb28b0647948493d80274b84a7e7d0d47fc9be26cdae387d +size 2630885 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/ZCOOL QingKe HuangYou Regular.obj.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/ZCOOL QingKe HuangYou Regular.obj.meta new file mode 100644 index 00000000..3e6e8710 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/ZCOOL QingKe HuangYou Regular.obj.meta @@ -0,0 +1,105 @@ +fileFormatVersion: 2 +guid: fd29e5630879cca40b6229742e80c108 +ModelImporter: + serializedVersion: 19301 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 0 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 0 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/ZCOOL + QingKe HuangYou Regular.obj + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/ZCOOL XiaoWei Regular.obj b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/ZCOOL XiaoWei Regular.obj new file mode 100644 index 00000000..e74b562a --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/ZCOOL XiaoWei Regular.obj @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bf6b2fd9857603157f33f9cbbb13000e0b025e830c3c161411890a148c916ad2 +size 1942140 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/ZCOOL XiaoWei Regular.obj.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/ZCOOL XiaoWei Regular.obj.meta new file mode 100644 index 00000000..ebfea78e --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/ZCOOL XiaoWei Regular.obj.meta @@ -0,0 +1,105 @@ +fileFormatVersion: 2 +guid: 5c2fca79e3cca62439234d853b361189 +ModelImporter: + serializedVersion: 19301 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 0 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 0 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Models/ZCOOL + XiaoWei Regular.obj + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Monoton.asset b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Monoton.asset new file mode 100644 index 00000000..b8f78f7d --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Monoton.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:523d289f0c23c0945787860eaa53e35f7ca5f4c8a5c0a2c3b249c308f70c1597 +size 61148 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Monoton.asset.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Monoton.asset.meta new file mode 100644 index 00000000..8f60dddf --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Monoton.asset.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: 408b775de2ac26f40839cf95727b6247 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Monoton.asset + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Mouse Memoirs.asset b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Mouse Memoirs.asset new file mode 100644 index 00000000..a1337020 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Mouse Memoirs.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e10ae85d8e46f7d470eb65f27ae2c9e1bc25f405dcea1b0b859382c1a35d366a +size 63232 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Mouse Memoirs.asset.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Mouse Memoirs.asset.meta new file mode 100644 index 00000000..47645d39 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Mouse Memoirs.asset.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: ffd9be3dc563ee8489bd724da29d14f0 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Mouse Memoirs.asset + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Mystery Quest.asset b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Mystery Quest.asset new file mode 100644 index 00000000..297b6100 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Mystery Quest.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3ae5e6cb3812caddd9dcf65b4ffc98338f00a9d6e41d2679e4fc18c5fbf3508e +size 49696 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Mystery Quest.asset.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Mystery Quest.asset.meta new file mode 100644 index 00000000..08ff9c54 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Mystery Quest.asset.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: b05c2d57572cac6449b3af4153225e9e +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Mystery Quest.asset + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Nanum Brush Script.asset b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Nanum Brush Script.asset new file mode 100644 index 00000000..3e69394b --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Nanum Brush Script.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ffece2472408585446f4a1dd6ff2ba2731375c85e4dfa694354002e7c399ee0e +size 3440996 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Nanum Brush Script.asset.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Nanum Brush Script.asset.meta new file mode 100644 index 00000000..b0a3aa03 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Nanum Brush Script.asset.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: 7bb3dd4d28b242d4ba3275aebf28313d +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Nanum Brush Script.asset + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Nosifer.asset b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Nosifer.asset new file mode 100644 index 00000000..27e090ff --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Nosifer.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1a2960ca798984c2e66f10fa64c4689a4fc722011f8644161ef41b0c4877a24e +size 51576 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Nosifer.asset.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Nosifer.asset.meta new file mode 100644 index 00000000..888c6f62 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Nosifer.asset.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: e2ff18f13b22d034995e5a329f1494e8 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Nosifer.asset + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Nova Cut.asset b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Nova Cut.asset new file mode 100644 index 00000000..185d3cc2 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Nova Cut.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2ab6875daf8f4abdff991e38d56e4a2288796487c50c328348d40414afeba03f +size 101512 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Nova Cut.asset.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Nova Cut.asset.meta new file mode 100644 index 00000000..19396397 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Nova Cut.asset.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: f1fa301e19c334b469ad4cd568dd91e4 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Nova Cut.asset + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Orbitron-Black.asset b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Orbitron-Black.asset new file mode 100644 index 00000000..d3dfed4d --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Orbitron-Black.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:776761b74e83f8a78592e0ff7adf7e5439f7773b1e8eef8ffcdf187dd337b927 +size 44368 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Orbitron-Black.asset.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Orbitron-Black.asset.meta new file mode 100644 index 00000000..483a058a --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Orbitron-Black.asset.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: 648431516921e154ea55f5b2e47b6179 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Orbitron-Black.asset + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Orbitron-Bold.asset b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Orbitron-Bold.asset new file mode 100644 index 00000000..723037fc --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Orbitron-Bold.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9295b7deaa4f3cd626b6bef6b36ac7942a587ccec5090265b3566c04b78e66d3 +size 45856 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Orbitron-Bold.asset.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Orbitron-Bold.asset.meta new file mode 100644 index 00000000..62e075b6 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Orbitron-Bold.asset.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: 1cc26de5d3bc74a408cf178ffc2c8a00 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Orbitron-Bold.asset + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Orbitron-Light.asset b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Orbitron-Light.asset new file mode 100644 index 00000000..0ffb22f1 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Orbitron-Light.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d5402097e2d828dc2644b993b91067d5cb7890300e7f5d5030346e3f549e7461 +size 47060 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Orbitron-Light.asset.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Orbitron-Light.asset.meta new file mode 100644 index 00000000..47762d71 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Orbitron-Light.asset.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: 341f32467d0d6cb4c94cae608cb919aa +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Orbitron-Light.asset + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Oregano Italic.asset b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Oregano Italic.asset new file mode 100644 index 00000000..a3a38e7a --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Oregano Italic.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:82e5f361016cb6c0848c6267755aa07e707e754581230ca04788e2c511f7be3b +size 92692 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Oregano Italic.asset.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Oregano Italic.asset.meta new file mode 100644 index 00000000..ba176d21 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Oregano Italic.asset.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: 74421708031f343468119d87c9924aaa +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Oregano Italic.asset + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Oregano.asset b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Oregano.asset new file mode 100644 index 00000000..449a3826 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Oregano.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4530a1c3ea9dbadc4f5b86a91f477139924b5e931338c587394b17a08c324630 +size 86796 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Oregano.asset.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Oregano.asset.meta new file mode 100644 index 00000000..ca7d4bb3 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Oregano.asset.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: a7ed0ee8752ee4742a66815f3b54b47d +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Oregano.asset + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Original Surfer.asset b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Original Surfer.asset new file mode 100644 index 00000000..edcbea5b --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Original Surfer.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b3c49c003eada16334e5dd5dd63957ae47b5535801b60be3a95c48d5255bda84 +size 65136 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Original Surfer.asset.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Original Surfer.asset.meta new file mode 100644 index 00000000..d115869c --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Original Surfer.asset.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: 4669b02b535de4a45aa69023a0205cdf +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Original Surfer.asset + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Peralta.asset b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Peralta.asset new file mode 100644 index 00000000..8ea0d0da --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Peralta.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:af7647d7cc147cadf345e8632a9433a56c3d8554d775e99bb93b23a73a6b34f4 +size 66752 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Peralta.asset.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Peralta.asset.meta new file mode 100644 index 00000000..682a6e35 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Peralta.asset.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: c1807432f28d2a44991af86bfa11c9b9 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Peralta.asset + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Permanent Marker Regular.asset b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Permanent Marker Regular.asset new file mode 100644 index 00000000..527780bc --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Permanent Marker Regular.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8f0da34d479cf53293659a2d569f70e1e7194bbcdf095814efa0cfa58cd868ea +size 76036 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Permanent Marker Regular.asset.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Permanent Marker Regular.asset.meta new file mode 100644 index 00000000..e28d53fb --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Permanent Marker Regular.asset.meta @@ -0,0 +1,16 @@ +fileFormatVersion: 2 +guid: 0b933f78b4e42544f820b51c5927e3ee +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Permanent Marker + Regular.asset + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Playball.asset b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Playball.asset new file mode 100644 index 00000000..9766a591 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Playball.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ef275e0848598d9231c0ce6cced79266b5aea15a9df7d51f46fa0de79ab0335b +size 51612 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Playball.asset.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Playball.asset.meta new file mode 100644 index 00000000..7d3896f0 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Playball.asset.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: 239572c06052c794fa06bf1c7e738c68 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Playball.asset + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Press Start 2P Regular.asset b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Press Start 2P Regular.asset new file mode 100644 index 00000000..e93c7042 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Press Start 2P Regular.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b9ccd3b89cebbbc2aea9d8f28876ea4b6002838e745b8fa27955687cb9747503 +size 124816 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Press Start 2P Regular.asset.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Press Start 2P Regular.asset.meta new file mode 100644 index 00000000..c75f7b26 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Press Start 2P Regular.asset.meta @@ -0,0 +1,16 @@ +fileFormatVersion: 2 +guid: 7f6361271127181468ed0669f6f265d8 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Press Start 2P + Regular.asset + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Prociono Regular.asset b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Prociono Regular.asset new file mode 100644 index 00000000..c276eb48 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Prociono Regular.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a7ddbca4d824b52195d15873956ed3baa7e5d521c1774be30e67d3b3f52f42cf +size 64872 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Prociono Regular.asset.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Prociono Regular.asset.meta new file mode 100644 index 00000000..17e327b4 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Prociono Regular.asset.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: 2723c1f72059eab48901d32adfff8a0c +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Prociono Regular.asset + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Raleway.asset b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Raleway.asset new file mode 100644 index 00000000..db1b26b2 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Raleway.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f4c9048c9cfa968581cd5d34c76f84aa76e5fbd55f8de05606d8cf28caeb7511 +size 187312 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Raleway.asset.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Raleway.asset.meta new file mode 100644 index 00000000..8bdfddc5 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Raleway.asset.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: 6546bbac5f9ab9643b4638b87df041b2 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Raleway.asset + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Reggae One Regular.asset b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Reggae One Regular.asset new file mode 100644 index 00000000..fd219688 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Reggae One Regular.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f1aed0badcf76170da18a047af5d81848fa089dbb0350ebc1d4e5dd97539514b +size 2150748 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Reggae One Regular.asset.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Reggae One Regular.asset.meta new file mode 100644 index 00000000..58044238 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Reggae One Regular.asset.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: 2ebf24360d201d14fbcd067ee6711a20 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Reggae One Regular.asset + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Ribeye Marrow.asset b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Ribeye Marrow.asset new file mode 100644 index 00000000..2dbbe856 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Ribeye Marrow.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0ffe6f4ce2228d22c9bf904fa62c1d210805e933ae4fae10df8b9a1d8398b560 +size 93648 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Ribeye Marrow.asset.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Ribeye Marrow.asset.meta new file mode 100644 index 00000000..c416c933 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Ribeye Marrow.asset.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: 3250a562e6c8b864497d9b4c31990afc +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Ribeye Marrow.asset + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Righteous.asset b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Righteous.asset new file mode 100644 index 00000000..ba921f5c --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Righteous.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b1b7231b7a1e0d653c46eb8cbfda44cc46bb842b43233e89e470ab378bb1cc99 +size 46048 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Righteous.asset.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Righteous.asset.meta new file mode 100644 index 00000000..de574111 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Righteous.asset.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: c306f01d90d38714f88fb926ff738816 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Righteous.asset + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Rounded Mplus 1c Bold.asset b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Rounded Mplus 1c Bold.asset new file mode 100644 index 00000000..a59110b3 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Rounded Mplus 1c Bold.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:787462b3186c0564f82d888c78f1dbafbe3b786d1fabb0a6c7c853c10e1bc495 +size 3542116 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Rounded Mplus 1c Bold.asset.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Rounded Mplus 1c Bold.asset.meta new file mode 100644 index 00000000..398fcc43 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Rounded Mplus 1c Bold.asset.meta @@ -0,0 +1,16 @@ +fileFormatVersion: 2 +guid: db77b938927bd344182b9b966d4e7172 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Rounded Mplus + 1c Bold.asset + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Rounded Mplus 1c ExtraBold.asset b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Rounded Mplus 1c ExtraBold.asset new file mode 100644 index 00000000..c9f3ec2f --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Rounded Mplus 1c ExtraBold.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4266d85007e4a60efcaeaf7e430d847b3dc128e5b687f5f89dce638e6587115d +size 3627812 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Rounded Mplus 1c ExtraBold.asset.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Rounded Mplus 1c ExtraBold.asset.meta new file mode 100644 index 00000000..abe0ca35 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Rounded Mplus 1c ExtraBold.asset.meta @@ -0,0 +1,16 @@ +fileFormatVersion: 2 +guid: ed22a6a46f7438645a7665c1f3fbc135 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Rounded Mplus + 1c ExtraBold.asset + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Rounded Mplus 1c Light.asset b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Rounded Mplus 1c Light.asset new file mode 100644 index 00000000..97a4f7f9 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Rounded Mplus 1c Light.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:953578b81126f95a4685bbe73ffac06781e71bae5a3d68b89ea56f15ee5e4cd8 +size 3294688 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Rounded Mplus 1c Light.asset.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Rounded Mplus 1c Light.asset.meta new file mode 100644 index 00000000..2c4cdedf --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Rounded Mplus 1c Light.asset.meta @@ -0,0 +1,16 @@ +fileFormatVersion: 2 +guid: 7875ee31c1233bd469ef512b3e380ac3 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Rounded Mplus + 1c Light.asset + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Rounded Mplus 1c.asset b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Rounded Mplus 1c.asset new file mode 100644 index 00000000..efb2f9e2 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Rounded Mplus 1c.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:96796cc05477e6e384fdb8e2789dabdf0b423d92c4358db03c3df1adbdb5b649 +size 3389612 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Rounded Mplus 1c.asset.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Rounded Mplus 1c.asset.meta new file mode 100644 index 00000000..12d4a9f5 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Rounded Mplus 1c.asset.meta @@ -0,0 +1,16 @@ +fileFormatVersion: 2 +guid: 587f579a95a2d3442a4bc54fee5788e7 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Rounded Mplus + 1c.asset + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Rum Raisin.asset b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Rum Raisin.asset new file mode 100644 index 00000000..b9466fc7 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Rum Raisin.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5ffc1ddc9057401196ec89e857bc534d0afdc9fad3a136728cc48bd0e7050b45 +size 69136 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Rum Raisin.asset.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Rum Raisin.asset.meta new file mode 100644 index 00000000..f8ac2f13 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Rum Raisin.asset.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: 403c6c6d4fbbdf0489435ff19aca45be +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Rum Raisin.asset + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Sedgwick Ave Display Regular.asset b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Sedgwick Ave Display Regular.asset new file mode 100644 index 00000000..4b256264 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Sedgwick Ave Display Regular.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b610929e802c99a4ec7130ad24e5d5d334236cce0d8656880d99fe4083d1bca6 +size 148960 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Sedgwick Ave Display Regular.asset.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Sedgwick Ave Display Regular.asset.meta new file mode 100644 index 00000000..f7241028 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Sedgwick Ave Display Regular.asset.meta @@ -0,0 +1,16 @@ +fileFormatVersion: 2 +guid: c2b42af3ca10f3f4a856f5e2dc48c31f +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Sedgwick Ave + Display Regular.asset + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Sedgwick Ave Regular.asset b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Sedgwick Ave Regular.asset new file mode 100644 index 00000000..6b0026e9 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Sedgwick Ave Regular.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eab90d037f4dcff8004f251eda2f4cc10adf8ce2a4122c79b6200227f6c863eb +size 154136 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Sedgwick Ave Regular.asset.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Sedgwick Ave Regular.asset.meta new file mode 100644 index 00000000..062f5d38 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Sedgwick Ave Regular.asset.meta @@ -0,0 +1,16 @@ +fileFormatVersion: 2 +guid: 41240aa15bd42dd439dc3685f91b3bb6 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Sedgwick Ave + Regular.asset + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Sevillana.asset b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Sevillana.asset new file mode 100644 index 00000000..dcfff148 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Sevillana.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:15313fe18942144d1140c8260316f5d037e9aed43a89447ebef765502a25b406 +size 150892 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Sevillana.asset.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Sevillana.asset.meta new file mode 100644 index 00000000..20ab0a82 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Sevillana.asset.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: 0d5120db5d9c5b34a96828b4e66bde5f +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Sevillana.asset + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Shadows Into Light.asset b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Shadows Into Light.asset new file mode 100644 index 00000000..42025f01 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Shadows Into Light.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e299843ea2db4359a8b3cfd2be94e228591ebec24430ddf3da3ddc87343abec4 +size 43916 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Shadows Into Light.asset.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Shadows Into Light.asset.meta new file mode 100644 index 00000000..fd09149a --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Shadows Into Light.asset.meta @@ -0,0 +1,16 @@ +fileFormatVersion: 2 +guid: 93a9eeabf59f0af4691236b8e9909be3 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Shadows Into + Light.asset + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Shojumaru.asset b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Shojumaru.asset new file mode 100644 index 00000000..d8731ba0 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Shojumaru.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7f6df6469044385873b37b8d628cf5ce5a982f6a890a28c54fa7b8ce412a8d46 +size 78692 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Shojumaru.asset.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Shojumaru.asset.meta new file mode 100644 index 00000000..4431ead1 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Shojumaru.asset.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: 82ac9550f4b0dce4b8ca64a97458c09f +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Shojumaru.asset + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Single Day Regular.asset b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Single Day Regular.asset new file mode 100644 index 00000000..cd9e0092 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Single Day Regular.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9c630ec0c6687b7d48b9ce49698b93c67c797f6b151194927accc0f3eea0f383 +size 824272 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Single Day Regular.asset.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Single Day Regular.asset.meta new file mode 100644 index 00000000..c59b7ead --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Single Day Regular.asset.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: 063404557ed5b22408df8b2376d3ac8f +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Single Day Regular.asset + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Sniglet-ExtraBold.asset b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Sniglet-ExtraBold.asset new file mode 100644 index 00000000..97a88b2b --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Sniglet-ExtraBold.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0099cfc8190e996f200c6253c2996f78115e8c12754dd8d771322ecf5d6c7a99 +size 55572 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Sniglet-ExtraBold.asset.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Sniglet-ExtraBold.asset.meta new file mode 100644 index 00000000..9940a827 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Sniglet-ExtraBold.asset.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: f51af64e349dc5a47854a77843ca6ac6 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Sniglet-ExtraBold.asset + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Sniglet-Regular.asset b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Sniglet-Regular.asset new file mode 100644 index 00000000..f5cca9d4 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Sniglet-Regular.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:325e0b8bcf1d6d1de6d30d8453ef782e52165d35050f7bf9929eac42a7160c7f +size 49896 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Sniglet-Regular.asset.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Sniglet-Regular.asset.meta new file mode 100644 index 00000000..0c8b2db7 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Sniglet-Regular.asset.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: c087d2d50d836f84dab93a0c3241b049 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Sniglet-Regular.asset + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Srisakdi Bold.asset b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Srisakdi Bold.asset new file mode 100644 index 00000000..360a5225 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Srisakdi Bold.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ac3bbed2c710ca09cc090b5a6e5ac50b352c8b67e4520d23f0a572f3105344e5 +size 106120 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Srisakdi Bold.asset.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Srisakdi Bold.asset.meta new file mode 100644 index 00000000..66726dee --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Srisakdi Bold.asset.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: 6d61be090d73ef94eabd0cb9cf29c17c +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Srisakdi Bold.asset + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Srisakdi Regular.asset b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Srisakdi Regular.asset new file mode 100644 index 00000000..4035371f --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Srisakdi Regular.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c465cb9a9097809e031821ebe1a58156c4ab5faedaa2f663cdf1951a0f91f075 +size 106252 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Srisakdi Regular.asset.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Srisakdi Regular.asset.meta new file mode 100644 index 00000000..22d6992d --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Srisakdi Regular.asset.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: 29d5801c640b0814a9a0f5a77cbb93df +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Srisakdi Regular.asset + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Stint Ultra Condensed.asset b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Stint Ultra Condensed.asset new file mode 100644 index 00000000..c276fc63 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Stint Ultra Condensed.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ecfd19e203dc5d4359f0f033893afab3ff8980bb1f8f94b5bea73120515b5998 +size 46792 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Stint Ultra Condensed.asset.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Stint Ultra Condensed.asset.meta new file mode 100644 index 00000000..25dec7a3 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Stint Ultra Condensed.asset.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: 724b2d6d1116dd546827871e1592772e +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Stint Ultra Condensed.asset + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Trade Winds.asset b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Trade Winds.asset new file mode 100644 index 00000000..14b8a993 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Trade Winds.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d2d0ac6d33d72bc25952d5865c2ceae1501124f2c0b3a7473e7906057134d995 +size 94884 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Trade Winds.asset.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Trade Winds.asset.meta new file mode 100644 index 00000000..3892553b --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Trade Winds.asset.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: 0e966e483b2dee14292bb10e450731da +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/Trade Winds.asset + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/ZCOOL QingKe HuangYou Regular.asset b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/ZCOOL QingKe HuangYou Regular.asset new file mode 100644 index 00000000..dfd109db --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/ZCOOL QingKe HuangYou Regular.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3318ca6add52bfdaf2cde9c6b4a619b3892fd132b0a3c046e48e3fe7306c83a7 +size 8320944 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/ZCOOL QingKe HuangYou Regular.asset.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/ZCOOL QingKe HuangYou Regular.asset.meta new file mode 100644 index 00000000..5ee87030 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/ZCOOL QingKe HuangYou Regular.asset.meta @@ -0,0 +1,16 @@ +fileFormatVersion: 2 +guid: 242d6975b62448c4d9c146f14d9844ec +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/ZCOOL QingKe + HuangYou Regular.asset + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/ZCOOL XiaoWei Regular.asset b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/ZCOOL XiaoWei Regular.asset new file mode 100644 index 00000000..c6cd8cee --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/ZCOOL XiaoWei Regular.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d8e84808ebdb0b2d841415976124cb44633a6e828834f5290f3c26d76d4f957a +size 6311052 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/ZCOOL XiaoWei Regular.asset.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/ZCOOL XiaoWei Regular.asset.meta new file mode 100644 index 00000000..f9505c3d --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/ZCOOL XiaoWei Regular.asset.meta @@ -0,0 +1,16 @@ +fileFormatVersion: 2 +guid: fc745b80eda657c4a9c5763681222ff3 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Fonts/ZCOOL XiaoWei + Regular.asset + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Models.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Models.meta new file mode 100644 index 00000000..f5e8f561 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Models.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 587040ddbaff85f4eb86e2f4b4492351 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Models/ProgressBar Handle.prefab b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Models/ProgressBar Handle.prefab new file mode 100644 index 00000000..c28eae4a --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Models/ProgressBar Handle.prefab @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:372dc382e290f95dce07b75ce1cbc9043eba6a80d730dc5c9173daba6f0eb63e +size 2339 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Models/ProgressBar Handle.prefab.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Models/ProgressBar Handle.prefab.meta new file mode 100644 index 00000000..a4d8bf38 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Models/ProgressBar Handle.prefab.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: 43f05ee27d5e62a4bbc3178fe96879a5 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Models/ProgressBar + Handle.prefab + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts.meta new file mode 100644 index 00000000..67f207fe --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0615596c555786341b0970d45eeb634a +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Button.cs b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Button.cs new file mode 100644 index 00000000..03d7ed72 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Button.cs @@ -0,0 +1,829 @@ +using UnityEngine; +using UnityEngine.Events; +using System.Collections.Generic; +using UnityEngine.Serialization; +#if UNITY_EDITOR +using UnityEditor; +#endif +using TinyGiantStudio.Modules; + + + +namespace TinyGiantStudio.Text +{ + /// + /// The component for 3D buttons. + /// + [DisallowMultipleComponent] + [AddComponentMenu("Tiny Giant Studio/Modular 3D Text/Button", order: 20002)] + [HelpURL("https://ferdowsur.gitbook.io/modular-3d-text/ui/button")] + public class Button : MonoBehaviour + { + #region Variable Declaration + /// + /// Used to load default values. + /// + public AssetSettings settings = null; + + /// + /// This is the state that appears when a UI element enters the normal state from selected. + /// This is used instead of normal because a UI element can be "normal" state by default when the game starts. + /// + [FormerlySerializedAs("onUnselect")] + public UnityEvent unselectEvent = new UnityEvent(); + /// + /// Mouse hover on the item or selected item via keyboard/controller in a list. + /// + [FormerlySerializedAs("onSelect")] + public UnityEvent selectedEvent = new UnityEvent(); + /// + /// While the mouse/keyboard/controller button is pressed down or touch held down, the module or event is constantly called. + /// + [FormerlySerializedAs("whileBeingClicked")] + public UnityEvent beingPressedEvent = new UnityEvent(); + /// + /// When the user releases the key. In other words, the frame when the button/key or touch being pressed is complete. + /// + [FormerlySerializedAs("onClick")] + public UnityEvent pressCompleteEvent = new UnityEvent(); + + public bool interactable = true; + [Tooltip("Mouse or touch can select this")] + public bool interactableByMouse = true; + + [SerializeField] private Modular3DText _text; + public Modular3DText Text + { + get + { + return _text; + } + set + { + if (_text != value) + { + _text = value; + UpdateStyle(); + } + } + } + + + [SerializeField] private Renderer _background; + /// + /// The background is assigned to the button. The button can change material depending on Style. + /// + public Renderer Background + { + get + { + return _background; + } + set + { + if (_background != value) + { + _background = value; + UpdateStyle(); + } + } + } + + #region Module + /// + /// If set to false, disables all modules from this button. Modules are called when entering a style for the first time. + /// + public bool useModules = true; + + /// + /// Unselect is the state that appears when a UI element enters the normal state from selected. + /// + [FormerlySerializedAs("unSelectModuleContainers ")] + public List unSelectedModuleContainers = new List(); + /// + /// Unselect is the state that appears when a UI element enters the normal state from selected. + /// + [FormerlySerializedAs("applyUnSelectModuleContainers")] + public bool applyUnSelectedModuleContainers = true; + + /// + /// Selected is the state when Mouse hovers on a UI item or it is selected via keyboard/controller by scrolling in a list. + /// + [FormerlySerializedAs("onSelectModuleContainers")] + public List selectedModuleContainers = new List(); + /// + /// Selected is the state when Mouse hovers on a UI item or it is selected via keyboard/controller by scrolling in a list. + /// + [FormerlySerializedAs("applyOnSelectModuleContainers")] + public bool applySelectModuleContainers = true; + + /// + /// Being pressed is while the mouse click or touch is held down, the module or event is constantly called. + /// + [FormerlySerializedAs("onPressModuleContainers")] + public List beingPressedModuleContainers = new List(); + /// + /// Being pressed is while the mouse click or touch is held down, the module or event is constantly called. + [FormerlySerializedAs("applyOnPressModuleContainers")] + public bool applyBeingPressedModuleContainers = true; + + /// + /// When the user releases the key. + /// + [FormerlySerializedAs("onClickModuleContainers")] + public List pressCompleteModuleContainers = new List(); + /// + /// When the user releases the key. + /// + [FormerlySerializedAs("applyOnClickModuleContainers")] + public bool applyPressCompleteModuleContainers = true; + #endregion Module + + + #region Style variables + public bool useStyles = true; + + [SerializeField] private Vector3 _normalTextSize = new Vector3(8, 8, 1); + public Vector3 NormalTextSize + { + get + { + return _normalTextSize; + } + set + { + if (_normalTextSize != value) + { + _normalTextSize = value; + UpdateStyle(); + } + + } + } + [SerializeField] private Material _normalTextMaterial = null; + public Material NormalTextMaterial + { + get + { + return _normalTextMaterial; + } + set + { + if (_normalTextMaterial != value) + { + _normalTextMaterial = value; + UpdateStyle(); + } + } + } + + [SerializeField] private Material _normalBackgroundMaterial = null; + public Material NormalBackgroundMaterial + { + get + { + return _normalBackgroundMaterial; + } + set + { + if (_normalBackgroundMaterial != value) + { + _normalBackgroundMaterial = value; + UpdateStyle(); + } + } + } + + public bool useSelectedVisual = true; + + [SerializeField] private Vector3 _selectedTextSize = new Vector3(8.2f, 8.2f, 1); + public Vector3 SelectedTextSize + { + get + { + return _selectedTextSize; + } + set + { + if (_selectedTextSize != value) + { + _selectedTextSize = value; + UpdateStyle(); + } + } + } + + [SerializeField] private Material _selectedTextMaterial = null; + public Material SelectedTextMaterial + { + get + { + return _selectedTextMaterial; + } + set + { + if (_selectedTextMaterial != value) + { + _selectedTextMaterial = value; + UpdateStyle(); + } + } + } + + [SerializeField] private Material _selectedBackgroundMaterial = null; + public Material SelectedBackgroundMaterial + { + get + { + return _selectedBackgroundMaterial; + } + set + { + if (_selectedBackgroundMaterial != value) + { + _selectedBackgroundMaterial = value; + UpdateStyle(); + } + } + } + + + public bool usePressedVisual = true; + + [SerializeField] private Vector3 _pressedTextSize = new Vector3(8.5f, 8.5f, 1); + public Vector3 PressedTextSize + { + get + { + return _pressedTextSize; + } + set + { + if (_pressedTextSize != value) + { + _pressedTextSize = value; + UpdateStyle(); + } + } + } + + [SerializeField] private Material _pressedTextMaterial = null; + public Material PressedTextMaterial + { + get + { + return _pressedTextMaterial; + } + set + { + if (_pressedTextMaterial != value) + { + _pressedTextMaterial = value; + UpdateStyle(); + } + } + } + + + [SerializeField] private Material _pressedBackgroundMaterial = null; + public Material PressedBackgroundMaterial + { + get + { + return _pressedBackgroundMaterial; + } + set + { + if (_pressedBackgroundMaterial != value) + { + _pressedBackgroundMaterial = value; + UpdateStyle(); + } + } + } + public float holdPressedVisualFor = 0.15f; + + + + #region Disabled + [SerializeField] private bool _useDisabledVisual = true; + public bool UseDisabledVisual + { + get { return _useDisabledVisual; } + set { _useDisabledVisual = value; UpdateStyle(); } + } + + [SerializeField] Vector3 _disabledTextSize = new Vector3(8, 8, 8); + public Vector3 DisabledTextSize + { + get { return _disabledTextSize; } + set { _disabledTextSize = value; UpdateStyle(); } + } + + [SerializeField] Material _disabledTextMaterial = null; + public Material DisabledTextMaterial + { + get { return _disabledTextMaterial; } + set { _disabledTextMaterial = value; UpdateStyle(); } + } + + [SerializeField] Material _disabledBackgroundMaterial = null; + public Material DisabledBackgroundMaterial + { + get { return _disabledBackgroundMaterial; } + set { _disabledBackgroundMaterial = value; UpdateStyle(); } + } + #endregion Disabled + + + public bool isSelected = false; + #endregion Style + + + +#if UNITY_EDITOR + [HideInInspector] public bool hideOverwrittenVariablesFromInspector = true; +#endif + + float switchBackVisualTime; + + #endregion Variable Declaration + + + + + + private void Awake() + { + this.enabled = false; + } + + + + public void UpdateStyle() + { + if (!interactable) + DisabledButtonVisualUpdate(); + else if (isSelected) + SelectedButtonVisualUpdate(); + else + UnselectedButtonVisualUpdate(); + } + + /// + /// Call this to select this button + /// + public void SelectButton() + { + List parentList = StaticMethods.GetParentList(transform); + if (parentList) + { + int childNumber = transform.GetSiblingIndex(); + if (childNumber != parentList.selectedItem) + parentList.UnselectItem(parentList.selectedItem); + parentList.SelectItem(childNumber); + } + + SelectedButtonVisualUpdate(); + SelectedButtonModuleUpdate(); + selectedEvent.Invoke(); + } + public void SelectedButtonVisualUpdate() + { + isSelected = true; + var applyOnSelectStyle = ApplyOnSelectStyle(); + + if (applyOnSelectStyle.Item1) + { + ApplyeStyle(applyOnSelectStyle.Item3.SelectedTextSize, applyOnSelectStyle.Item3.SelectedTextMaterial, applyOnSelectStyle.Item3.SelectedBackgroundMaterial); + } + else if (applyOnSelectStyle.Item2) + { + ApplyeStyle(SelectedTextSize, SelectedTextMaterial, SelectedBackgroundMaterial); + } + } + public void SelectedButtonModuleUpdate() + { + (bool, bool, List) applyModules = ApplyOnSelectModule(); + + //list modules + if (applyModules.Item1) + CallModules(applyModules.Item3.selectedModuleContainers); + //self modules + if (applyModules.Item2) + CallModules(selectedModuleContainers); + } + + /// + /// Call this to unselect a button + /// + public void UnselectButton() + { + UnselectedButtonVisualUpdate(); + + if (Application.isPlaying) + { + UnselectButtonModuleUpdate(); + unselectEvent.Invoke(); + } + } + public void UnselectedButtonVisualUpdate() + { + isSelected = false; + + //apply from list + if (ApplyNormalStyle().Item1) + { + List parent = StaticMethods.GetParentList(transform); + ApplyeStyle(parent.NormalTextSize, parent.NormalTextMaterial, parent.NormalBackgroundMaterial); + } + else if (ApplyNormalStyle().Item2) + { + ApplyeStyle(NormalTextSize, NormalTextMaterial, NormalBackgroundMaterial); + } + } + public void UnselectButtonModuleUpdate() + { + (bool, bool, List) applyModules = ApplyUnSelectModule(); + + //list modules + if (applyModules.Item1) + CallModules(applyModules.Item3.unSelectedModuleContainers); + //self modules + if (applyModules.Item2) + CallModules(unSelectedModuleContainers); + } + + /// + /// Used everywhere except list + /// + public void PressButton() + { + List parentList = StaticMethods.GetParentList(transform); + if (parentList) + { + parentList.PresstItem(transform.GetSiblingIndex()); + } + else + { + switchBackVisualTime = Time.time + holdPressedVisualFor; + Invoke(nameof(ReturnToNormalVisualAfterPressing), holdPressedVisualFor); + } + PressButtonVisualUpdate(); + pressCompleteEvent.Invoke(); + PressCompleteButtonModuleUpdate(); + } + void ReturnToNormalVisualAfterPressing() + { + if (Time.time <= switchBackVisualTime) + { + if (isSelected) + SelectedButtonVisualUpdate(); + else + UnselectedButtonVisualUpdate(); + } + } + + /// + /// This is called from list. This avoids recursion. + /// + public void PressButtonDontCallList() + { + PressButtonVisualUpdate(); + PressCompleteButtonModuleUpdate(); + pressCompleteEvent.Invoke(); + } + + //Difference between PressButtonClick() & PressButtonVisualUpdate() is that PressButtonVisualUpdate() automatically returns to selected visual + //used by List + public void PressButtonVisualUpdate() + { + //item 1 = apply parentstyle, item2 = apply selfstyle, item3 = list + var applyPressedStyle = ApplyPressedStyle(); + + if (applyPressedStyle.Item1) + { + ApplyeStyle(applyPressedStyle.Item3.PressedTextSize, applyPressedStyle.Item3.PressedTextMaterial, applyPressedStyle.Item3.PressedBackgroundMaterial); + } + else if (applyPressedStyle.Item2) + { + ApplyeStyle(PressedTextSize, PressedTextMaterial, PressedBackgroundMaterial); + } + } + + + public void ButtonBeingPressed() + { + beingPressedEvent.Invoke(); + BeingPressedButtonModuleUpdate(); + } + public void PressCompleted() + { + if (isSelected) + { + pressCompleteEvent.Invoke(); + PressCompleteButtonModuleUpdate(); + } + + if (isSelected) + SelectedButtonVisualUpdate(); + else + UnselectedButtonVisualUpdate(); + } + + public void PressCompleteButtonModuleUpdate() + { + (bool, bool, List) applyModules = ApplyOnClickModule(); + + //list modules + if (applyModules.Item1) + CallModules(applyModules.Item3.pressCompleteModuleContainers); + //self modules + if (applyModules.Item2) + CallModules(pressCompleteModuleContainers); + } + public void BeingPressedButtonModuleUpdate() + { + (bool, bool, List) applyModules = ApplyOnPresstModule(); + + //list modules + if (applyModules.Item1) + CallModules(applyModules.Item3.beingPressedModuleContainers); + //self modules + if (applyModules.Item2) + CallModules(beingPressedModuleContainers); + } + + public void DisabledButtonVisualUpdate() + { + //item1 : false = apply from parent & //true = apply from self. item2 = parent + var applyDisabledStyle = ApplyDisabledStyle(); + + //Apply from parent + if (applyDisabledStyle.Item1) + ApplyeStyle(applyDisabledStyle.Item3.DisabledTextSize, applyDisabledStyle.Item3.DisabledTextMaterial, applyDisabledStyle.Item3.DisabledBackgroundMaterial); + //Apply self + else if (applyDisabledStyle.Item2) + ApplyeStyle(DisabledTextSize, DisabledTextMaterial, DisabledBackgroundMaterial); + //Dont do anything + } + + + private void ApplyeStyle(Vector3 fontSize, Material fontMat, Material backgroundMat) + { + //if (!useStyles) + // return; + + if (Text) + { + Text.FontSize = fontSize; + Text.Material = fontMat; +#if UNITY_EDITOR + if (Application.isPlaying) + Text.UpdateText(); +#else + Text.UpdateText(); +#endif + } + + if (Background) + { + Background.material = backgroundMat; + } + } + + /// + /// Call this to set the button as Uninteractable + /// + public void Uninteractable() + { + interactable = false; + DisabledButtonVisualUpdate(); + } + /// + /// Call this to set the button as Interactable + /// + public void Interactable() + { + interactable = true; + UnselectedButtonVisualUpdate(); + } + + + + + //these checks are public for the editorscript only + #region Check if style should be applied from here + //first is apply from list + public (bool, bool) ApplyNormalStyle() + { + List list = StaticMethods.GetParentList(transform); + if (list) + { + if (list.UseStyle && list.UseNormalItemVisual) + { + return (true, false); + } + } + //don't apply from list + if (useStyles) + return (false, true); + + //don't get style + return (false, false); + } + /// + /// + /// + /// Apply from perent, apply from self, list + public (bool, bool, List) ApplyOnSelectStyle() + { + //get style from parent list + List list = StaticMethods.GetParentList(transform); + if (list) + { + if (list.UseStyle && list.UseSelectedItemVisual) + { + return (true, false, list); + } + } + //get style from itself + if (useStyles && useSelectedVisual) + return (false, true, null); + + //don't get style + return (false, false, null); + } + //item1 = parent, item2 = self + public (bool, bool, List) ApplyPressedStyle() + { + //get style from parent list + List list = StaticMethods.GetParentList(transform); + if (list) + { + if (list.UseStyle && list.UsePressedItemVisual) + return (true, false, list); + } + //get style from itself + if (useStyles && usePressedVisual) + return (false, true, null); + + return (false, false, null); + } + + /// + /// Item 1 = apply from parent + /// Item 2 = apply from self + /// + /// + //false = apply from parent & //true = apply from self + public (bool, bool, List) ApplyDisabledStyle() + { + List list = StaticMethods.GetParentList(transform); + if (list) + { + if (list.UseStyle && list.UseDisabledItemVisual) + return (true, false, list); + } + if (useStyles && UseDisabledVisual) + return (false, true, null); + + return (false, false, null); + } + #endregion Check if style should be applied ends here + + + + private void CallModules(List moduleContainers) + { + if (!gameObject.activeInHierarchy) + return; + + if (moduleContainers.Count > 0) + { + for (int i = 0; i < moduleContainers.Count; i++) + { + if (moduleContainers[i].module) + StartCoroutine(moduleContainers[i].module.ModuleRoutine(gameObject, moduleContainers[i].variableHolders)); + } + } + } + + #region Check if Module should be applied from here + public (bool, bool, List) ApplyUnSelectModule() + { + bool applySelfModules = false; + bool applyListModule = false; + List list = StaticMethods.GetParentList(transform); + if (list) + { + if (list.useModules && list.applySelectedModuleContainers) + applyListModule = true; + if (list.ignoreChildModules || list.ignoreChildUnSelectedModuleContainers) + return (applyListModule, applySelfModules, list); + } + + if (useModules && applyUnSelectedModuleContainers) + applySelfModules = true; + + return (applyListModule, applySelfModules, list); + } + public (bool, bool, List) ApplyOnPresstModule() + { + bool applySelfModules = false; + bool applyListModule = false; + List list = StaticMethods.GetParentList(transform); + if (list) + { + if (list.useModules && list.applyBeingPressedModuleContainers) + applyListModule = true; + if (list.ignoreChildModules || list.ignoreChildBeingPressedModuleContainers) + return (applyListModule, applySelfModules, list); + } + if (useModules && applyBeingPressedModuleContainers) + applySelfModules = true; + + return (applyListModule, applySelfModules, list); + } + public (bool, bool, List) ApplyOnClickModule() + { + bool applySelfModules = false; + bool applyListModule = false; + List list = StaticMethods.GetParentList(transform); + if (list) + { + if (list.useModules && list.applyPressCompleteModuleContainers) + applyListModule = true; + if (list.ignoreChildModules || list.ignoreChildPressCompleteModuleContainers) + return (applyListModule, applySelfModules, list); + } + if (useModules && applyBeingPressedModuleContainers) + applySelfModules = true; + + return (applyListModule, applySelfModules, list); + } + public (bool, bool, List) ApplyOnSelectModule() + { + bool applySelfModules = false; + bool applyListModule = false; + List list = StaticMethods.GetParentList(transform); + if (list) + { + if (list.useModules && list.applySelectedModuleContainers) + applyListModule = true; + if (list.ignoreChildModules || list.ignoreChildSelectedModuleContainers) + return (applyListModule, applySelfModules, list); + } + + if (useModules && applySelectModuleContainers) + applySelfModules = true; + + return (applyListModule, applySelfModules, list); + } + #endregion Check if Module should be applied ends here + + public void EmptyEffect(List moduleList, Module module = null) + { +#if UNITY_EDITOR + if (!Application.isPlaying) + Undo.RecordObject(this, "Update button"); +#endif + ModuleContainer moduleContainer = new ModuleContainer + { + module = module + }; + moduleList.Add(moduleContainer); + } + +#if UNITY_EDITOR + /// + /// Editor only + /// + public void LoadDefaultSettings() + { + if (settings == null) + settings = StaticMethods.VerifySettings(null); + + if (settings) + { + NormalTextSize = settings.defaultButtonNormalTextSize; + NormalTextMaterial = settings.defaultButtonNormalTextMaterial; + NormalBackgroundMaterial = settings.defaultButtonNormalBackgroundMaterial; + + SelectedTextSize = settings.defaultButtonSelectedTextSize; + SelectedTextMaterial = settings.defaultButtonSelectedTextMaterial; + SelectedBackgroundMaterial = settings.defaultButtonSelectedBackgroundMaterial; + + PressedTextSize = settings.defaultButtonPressedTextSize; + PressedTextMaterial = settings.defaultButtonPressedTextMaterial; + PressedBackgroundMaterial = settings.defaultButtonPressedBackgroundMaterial; + + DisabledTextSize = settings.defaultButtonDisabledTextSize; + DisabledTextMaterial = settings.defaultButtonDisabledTextMaterial; + DisabledBackgroundMaterial = settings.defaultButtonDisabledBackgroundMaterial; + + } + } +#endif + } +} \ No newline at end of file diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Button.cs.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Button.cs.meta new file mode 100644 index 00000000..a8e98b0d --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Button.cs.meta @@ -0,0 +1,37 @@ +fileFormatVersion: 2 +guid: e3c8ebf863e545c4fb467a57d58a2e9e +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: + - settings: {fileID: 11400000, guid: 7a64f8f739022fd45b6c0af2d6729473, type: 2} + - _text: {instanceID: 0} + - _background: {instanceID: 0} + - _normalTextMaterial: {fileID: 2100000, guid: 323309279f3626a4ba74c611555546c5, + type: 2} + - _normalBackgroundMaterial: {fileID: 2100000, guid: 36ed2e46e752ade4e80ac1daa11593ce, + type: 2} + - _selectedTextMaterial: {fileID: 2100000, guid: 323309279f3626a4ba74c611555546c5, + type: 2} + - _selectedBackgroundMaterial: {fileID: 2100000, guid: b2b6c5f04ab123a49941855cbdf9a358, + type: 2} + - _pressedTextMaterial: {fileID: 2100000, guid: 323309279f3626a4ba74c611555546c5, + type: 2} + - _pressedBackgroundMaterial: {fileID: 2100000, guid: 3d8563705655a4245b274398956f938f, + type: 2} + - _disabledTextMaterial: {fileID: 2100000, guid: c958ce690de9a0841b7b2d7f597ac79a, + type: 2} + - _disabledBackgroundMaterial: {fileID: 2100000, guid: b1b4721719ff98b4abf45943c7e47451, + type: 2} + executionOrder: 0 + icon: {fileID: 2800000, guid: 08799c2d4ac203d4abfea66f06ee0b33, type: 3} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Button.cs + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Character.cs b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Character.cs new file mode 100644 index 00000000..c930082a --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Character.cs @@ -0,0 +1,30 @@ +using UnityEngine; + +namespace TinyGiantStudio.Text +{ + [System.Serializable] + public class Character + { + public char character; + public GameObject prefab; + public Mesh meshPrefab; + + public int glyphIndex; + /// + /// Named advance in typeface. Can't rename here because it would break a lot of existing fonts + /// https://learn.microsoft.com/en-us/typography/opentype/spec/hmtx + /// Name: advanceWidth + /// + public float spacing = 700; //to-do: shouldn't this be atleast a int? //note: this is calculated AFTER multiplied by EM in some cases. Why? This is why its a flot + /// + /// https://learn.microsoft.com/en-us/typography/opentype/spec/hmtx + /// Name: lsb + /// + public int leftSideBearing = 0; //not implemented + + public Vector3 offset; + public float xOffset; + public float yOffset; + public float zOffset; + } +} diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Character.cs.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Character.cs.meta new file mode 100644 index 00000000..0c6d78d4 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Character.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: cea1480ea0161cd43abae7364bdf3666 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Character.cs + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Core Text.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Core Text.meta new file mode 100644 index 00000000..e7ff6fd9 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Core Text.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 82d6f21bb82503c4a90d050f861c9446 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Core Text/CharacterCleanUp.cs b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Core Text/CharacterCleanUp.cs new file mode 100644 index 00000000..7aed4c6a --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Core Text/CharacterCleanUp.cs @@ -0,0 +1,228 @@ +using System.Collections.Generic; +using UnityEditor; +using UnityEngine; + +namespace TinyGiantStudio.Text +{ + /// + /// Under construction. This will handle all the destroy object calls for modular 3d text in the future + /// To-do: destroy calls on OnDestroy should be re factored to use this class + /// + public class CharacterCleanUp + { + private readonly Modular3DText text; + + public CharacterCleanUp(Modular3DText myText) + { + text = myText; + } + + /// + /// This destroys child objects for characters that are replaced by new ones or removed from text. + /// + /// + internal void DeleteReplacedChars(int startingFrom) + { + int toDeleteCount = text.characterObjectList.Count - startingFrom; + + text.Logger.LogToDeleteCharacters(toDeleteCount); + + List olderCharactersToDelete = GetOlderCharactersToDelete(startingFrom); + + foreach (GameObject child in olderCharactersToDelete) + { + if (child) + text.Logger.LogDeletedCharacters(child.name); + else + text.Logger.LogDeletedCharacters("Null"); + + DestroyObject(child); + } + } + +#if UNITY_EDITOR + + /// + /// Once in a while, due to domain reloads while the delay calls to create 3D meshes is + /// running, It gets called again and the older call to create characters still create them. + /// Resulting in multiple objects for the same character. This is to clean them up + /// + internal void CleanupChildObjectsThatNoLongerExistsInCurrentText() + { + for (int i = text._allCharacterObjectList.Count - 1; i >= 0; i--) + { + if (text._allCharacterObjectList[i] == null) + { + text._allCharacterObjectList.Remove(text._allCharacterObjectList[i]); + continue; + } + + //to-do:Shouldn't this be opposite + if (!text.characterObjectList.Contains(text._allCharacterObjectList[i])) + { + GameObject obj = text._allCharacterObjectList[i]; + EditorApplication.delayCall += () => + { + CleanUpDelete(obj); + }; + } + } + + if (!text.hideLettersInHierarchyInEditMode && !Application.isPlaying) + { + try + { + foreach (Transform child in text.transform) + { + child.hideFlags = HideFlags.None; + } + } + catch + { + } + } + } + + /// + /// This will do a blanket removal of all child objects that aren't referenced in Text. + /// + internal void CleanUpChildObjectsThatArentCharacterObject() + { + if (Application.isPlaying) + return; + + List childs = new List(); + foreach (Transform child in text.transform) + childs.Add(child.gameObject); + + foreach (GameObject child in childs) + { + if (!text.characterObjectList.Contains(child)) + DestroyObject(child); + } + } + +#endif + +#if UNITY_EDITOR + + private void CleanUpDelete(GameObject obj) + { + try { Object.DestroyImmediate(obj); } + catch { } + } + +#endif + + private List GetOlderCharactersToDelete(int startingFrom) + { + List toDelete = new List(); + for (int i = startingFrom; i < text.characterObjectList.Count; i++) + { + //if (text.characterObjectList[i] != null) + toDelete.Add(text.characterObjectList[i]); + } + return toDelete; + } + + private void DestroyObject(GameObject obj) + { + if (text.characterObjectList.Contains(obj)) + text.characterObjectList.Remove(obj); + + if (obj == null) return; + +#if UNITY_EDITOR + if (Application.isPlaying) + { + RunTimeDestroy(obj); + } + else + { + if (!PrefabUtility.IsPartOfAnyPrefab(obj)) + Undo.DestroyObjectImmediate(obj); //if this causes error, please contact support and undo comment from the code below + else + obj.SetActive(false); + } +#else + RunTimeDestroy(obj); +#endif + } + + private void RunTimeDestroy(GameObject obj) + { + if (text.gameObject.activeInHierarchy) + DestroyObjectRuntime(obj); + else + RunTimeDestroyObjectOnDisabledText(obj); + } + + private void DestroyObjectRuntime(GameObject obj) + { + obj.transform.SetParent(null); + + if (obj.name != "Space" && text.useModules) + { + float delay = GetDestroyDelay(); + + obj.GetComponent().StopAllCoroutines(); + + for (int i = 0; i < text.deletingModules.Count; i++) + { + if (text.deletingModules[i].module) + { + if (text.startDeletingModuleFromChar) + obj.GetComponent().StartCoroutine(text.deletingModules[i].module.ModuleRoutine(obj, text.deletingModules[i].variableHolders)); + else + text.StartCoroutine(text.deletingModules[i].module.ModuleRoutine(obj, text.deletingModules[i].variableHolders)); + } + } + + if (obj.GetComponent() != null) + { + if (obj.GetComponent().sharedMesh != null) + { + if (text.generatedMeshes.Contains(obj.GetComponent().sharedMesh)) + { + Object.Destroy(obj.GetComponent().sharedMesh, delay); + text.generatedMeshes.Remove(obj.GetComponent().sharedMesh); + } + } + } + Object.Destroy(obj, delay); + } + else + { + if (text.combineMeshDuringRuntime) + { + if (obj.GetComponent() != null) + if (obj.GetComponent().sharedMesh != null) + Object.Destroy(obj.GetComponent().sharedMesh); + } + else + { + if (obj.GetComponent() != null) + { + if (obj.GetComponent().sharedMesh != null) + { + if (text.generatedMeshes.Contains(obj.GetComponent().sharedMesh)) + { + Object.Destroy(obj.GetComponent().sharedMesh); + text.generatedMeshes.Remove(obj.GetComponent().sharedMesh); + } + } + } + } + + Object.Destroy(obj); + } + } + + private float GetDestroyDelay() + { + return !text.customDeleteAfterDuration && text.deletingModules.Count > 0 ? text.GetDeleteDurationFromEffects() : text.customDeleteAfterDuration ? text.deleteAfter : 0; + } + + private void RunTimeDestroyObjectOnDisabledText(GameObject obj) => Object.Destroy(obj); + } +} \ No newline at end of file diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Core Text/CharacterCleanUp.cs.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Core Text/CharacterCleanUp.cs.meta new file mode 100644 index 00000000..58ee5870 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Core Text/CharacterCleanUp.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 9c27ed2570a42ae4fb02278d523e612f +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Core Text/CharacterCleanUp.cs + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Core Text/DebugLogger.cs b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Core Text/DebugLogger.cs new file mode 100644 index 00000000..bd3d5585 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Core Text/DebugLogger.cs @@ -0,0 +1,83 @@ +using UnityEngine; +using UnityEngine.Windows; + +namespace TinyGiantStudio.Text +{ + public class DebugLogger + { + private readonly Modular3DText text; //assigned by constructor + + /// + /// Constructor + /// + /// + public DebugLogger(Modular3DText myText) + { + text = myText; + } + + private bool LoggingTurnedOn() + { + if (!text.debugLogs) return false; + + if (Application.isPlaying && !text.runTimeLogging) return false; + + if (!Application.isPlaying && !text.editorTimeLogging) return false; + + return true; + } + + public void LogToDeleteCharacters(int toDeleteCount) + { + if (LoggingTurnedOn() && text.logDeletedCharacters) + Debug.Log("To delete : " + toDeleteCount + " chars on " + text.gameObject, text); + } + + public void LogDeletedCharacters(string name) + { + if (LoggingTurnedOn() && text.logDeletedCharacters) + Debug.Log("Destroy object is being called on " + name + " for being unused character object", text); + } + + public void LogTextUpdate(string oldText, string newText) + { + if (LoggingTurnedOn() && text.logTextUpdates) + { + Debug.Log("Old Text is \"" + oldText + "\"" + " new Text is \"" + newText + "\"", text.gameObject); + + foreach (char c in newText) + { + int asciiCode = (int)c; // Get ASCII code of the character + Debug.Log($"Character: '{c}', ASCII Code: {asciiCode}"); + } + } + } + + public void LogFontUpdate(Font oldFont, Font newFont) + { + if (LoggingTurnedOn() && text.logFontUpdates) + Debug.Log("Old Font is \"" + oldFont.name + "\"" + " new Font is \"" + newFont.name + "\"", text.gameObject); + } + + public void LogMaterialUpdate(Material oldFont, Material newFont) + { + if (LoggingTurnedOn() && text.logMaterialUpdates) + Debug.Log("Old Material is \"" + oldFont.name + "\"" + " new Material is \"" + newFont.name + "\"", text.gameObject); + } + + /// + /// Checking if + /// + /// + /// + public void LogSingleMeshStatus(bool usingSingleMesh) + { + if (LoggingTurnedOn() && text.logSingleMeshStatus) + { + bool hasChildObjects = text.transform.childCount > 0; + bool hasMeshFilter = text.GetComponent() != null; + Debug.Log(text.gameObject.name + " is using single mesh : " + usingSingleMesh + " has child objects : " + hasChildObjects + " has mesh filter :" + hasMeshFilter); + } + } + } +} \ No newline at end of file diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Core Text/DebugLogger.cs.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Core Text/DebugLogger.cs.meta new file mode 100644 index 00000000..b1c37415 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Core Text/DebugLogger.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 6ba37254d84dcfa41bf2f4a7e8447252 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Core Text/DebugLogger.cs + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Core Text/DelayCallCharacterCleanUp.cs b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Core Text/DelayCallCharacterCleanUp.cs new file mode 100644 index 00000000..6ebbe030 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Core Text/DelayCallCharacterCleanUp.cs @@ -0,0 +1,65 @@ +using UnityEngine; +#if UNITY_EDITOR +using UnityEditor; +#endif + +namespace TinyGiantStudio.Text +{ + /// + /// Apologies for my poor explanation: + /// + /// Inside the editor, Unity doesn't let certain tasks to be done on the same frame the script calls them. + /// So, they have to created with EditorApplication.delayCall. + /// A lot of things can cause issues with this. + /// For example: if the script reloads while a task is on delay call, the reloaded script isn't the one that called the delay call. + /// This can result in leftover letter getting created but no text that they belong to. (Usually as a copy). + /// This is super rare but can be annoying if it happens + /// + /// This script handles this issue. + /// + + [ExecuteAlways] + public class DelayCallCharacterCleanUp : MonoBehaviour + { +#if UNITY_EDITOR + public Modular3DText text; + public bool textContainsThis = false; //this is for debugging + + [ExecuteAlways] + void Start() + { + if (Application.isPlaying) + return; + + if (text == null) + EditorApplication.delayCall += () => DestroyImmediate(gameObject); + else + { + if (text._allCharacterObjectList.Contains(gameObject)) + { + textContainsThis = true; + DestroyImmediate(this); + } + else + EditorApplication.delayCall += () => DestroySelf(); + } + } + void DestroySelf() + { + if (!this) + return; + if (!gameObject) + return; + + try //editor only + { + DestroyImmediate(gameObject); + } + catch + { + + } + } +#endif + } +} \ No newline at end of file diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Core Text/DelayCallCharacterCleanUp.cs.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Core Text/DelayCallCharacterCleanUp.cs.meta new file mode 100644 index 00000000..e5d6e830 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Core Text/DelayCallCharacterCleanUp.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 314a02e25073e2144924c7d0a3500d38 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Core Text/DelayCallCharacterCleanUp.cs + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Core Text/MeshPostProcessing.cs b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Core Text/MeshPostProcessing.cs new file mode 100644 index 00000000..acce00e0 --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Core Text/MeshPostProcessing.cs @@ -0,0 +1,79 @@ +using UnityEngine; + +namespace TinyGiantStudio.Text +{ + public class MeshPostProcessing : MonoBehaviour + { + public static Mesh PostProcess(Mesh mesh, MeshPostProcess meshPostProcess) + { + if (mesh == null) return null; + + mesh.RecalculateNormals(); + switch (meshPostProcess) + { + case MeshPostProcess.projectUV: //because it is the default one + return mesh; + + case MeshPostProcess.wrapUV: + return WrapUV(mesh); + + default: + break; + } + + return mesh; + } + + public static Mesh WrapUV(Mesh mesh) + { + if (!Application.isPlaying) + mesh = Instantiate(mesh); + + Vector3[] vertexs = mesh.vertices; + int[] tris = mesh.triangles; + Vector2[] uvs = new Vector2[vertexs.Length]; + + int i; + for (i = 0; i < tris.Length; i += 3) + { + Vector3 a = vertexs[tris[i]]; + Vector3 b = vertexs[tris[i + 1]]; + Vector3 c = vertexs[tris[i + 2]]; + Vector3 side1 = b - a; + Vector3 side2 = c - a; + Vector3 N = Vector3.Cross(side1, side2); + + N = new Vector3(Mathf.Abs(N.normalized.x), Mathf.Abs(N.normalized.y), Mathf.Abs(N.normalized.z)); + + if (N.x > N.y && N.x > N.z) + { + uvs[tris[i]] = new Vector2(vertexs[tris[i]].z, vertexs[tris[i]].y); + uvs[tris[i + 1]] = new Vector2(vertexs[tris[i + 1]].z, vertexs[tris[i + 1]].y); + uvs[tris[i + 2]] = new Vector2(vertexs[tris[i + 2]].z, vertexs[tris[i + 2]].y); + } + else if (N.y > N.x && N.y > N.z) + { + uvs[tris[i]] = new Vector2(vertexs[tris[i]].x, vertexs[tris[i]].z); + uvs[tris[i + 1]] = new Vector2(vertexs[tris[i + 1]].x, vertexs[tris[i + 1]].z); + uvs[tris[i + 2]] = new Vector2(vertexs[tris[i + 2]].x, vertexs[tris[i + 2]].z); + } + else if (N.z > N.x && N.z > N.y) + { + uvs[tris[i]] = new Vector2(vertexs[tris[i]].x, vertexs[tris[i]].y); + uvs[tris[i + 1]] = new Vector2(vertexs[tris[i + 1]].x, vertexs[tris[i + 1]].y); + uvs[tris[i + 2]] = new Vector2(vertexs[tris[i + 2]].x, vertexs[tris[i + 2]].y); + } + } + + mesh.uv = uvs; + mesh.RecalculateTangents(); + return mesh; + } + } + + public enum MeshPostProcess + { + projectUV, + wrapUV + } +} \ No newline at end of file diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Core Text/MeshPostProcessing.cs.meta b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Core Text/MeshPostProcessing.cs.meta new file mode 100644 index 00000000..b95a9faa --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Core Text/MeshPostProcessing.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: d187935e20f30c14195e2492d9236c8e +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 247241 + packageName: Modular 3D Text - In-Game 3D UI System + packageVersion: 4.9.2 + assetPath: Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Core Text/MeshPostProcessing.cs + uploadId: 877966 diff --git a/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Core Text/Modular3DText.cs b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Core Text/Modular3DText.cs new file mode 100644 index 00000000..e093830e --- /dev/null +++ b/Assets/Plugins/Tiny Giant Studio/Modular 3D Text/Scripts/Core Text/Modular3DText.cs @@ -0,0 +1,1764 @@ +using System.Collections; +using System.Collections.Generic; +using System.Text.RegularExpressions; +using UnityEngine; +using System; +using System.Linq; + +#if UNITY_EDITOR + +using System.Reflection; +using UnityEditor; + +#endif + +using TinyGiantStudio.Layout; +using TinyGiantStudio.Modules; + +namespace TinyGiantStudio.Text +{ + [SelectionBase] + [DisallowMultipleComponent] + [RequireComponent(typeof(TextUpdater))] + [AddComponentMenu("Tiny Giant Studio/Modular 3D Text/3D Text", order: 200)] + [HelpURL("https://ferdowsur.gitbook.io/modular-3d-text/text/modular-3d-text")] + public class Modular3DText : MonoBehaviour + { + #region Variable Declaration + + #region Main Variables + + //[TextArea] //creates unnecessary space at top in custom inspector + [SerializeField] private string _text = string.Empty; + + /// + /// Text or any property changes trigger an automatic update of the mesh at the end of the frame. This avoids wasting resources on needless calculations when multiple properties change in the same frame. + /// This behavior can be modified in the Advanced setting. + /// + public string Text + { + get { return _text; } + set + { + if (_text != value) + { + Logger.LogTextUpdate(oldText, value); + + if (value != null) + _text = value; + else + _text = string.Empty; //if the new value is null, set text to empty string + + SetTextDirty(); + } + } + } + + /// + /// This is used to check which letters need to be recreated/replaced by comparing to new text. + /// + public string oldText; + + private string processedText; + + /// + /// List of words in the text + /// + public string[] wordArray; + + /// + /// Contains a list of all the character gameObject created by Text + /// + public List characterObjectList = new List(); + + private List objectsPendingModulesApply = new List(); //I am not sure why visual studio suggesting to make it readonly. It won't work as readonly + +#if UNITY_EDITOR + + /// + /// EDITOR ONLY! + /// This holds all the reference for the all characters created to crosscheck if any characters are left over. + /// This is due to unity editor not being able to delete/create without play mode on + /// + public List _allCharacterObjectList = new List(); + +#endif + public List generatedMeshes = new List(); + + //Creation settings-------------------------------------------------------------------------------------- + public bool autoSaveMesh = false; + + //Main Settings------------------------------------------------------------------------------------------ + [SerializeField] private Font _font = null; + + public Font Font + { + get { return _font; } + set + { + if (_font != value) + { + Logger.LogFontUpdate(_font, value); + + oldText = ""; + _font = value; + SetTextDirty(); + } + } + } + + [SerializeField] private Material _material; + + public Material Material + { + get { return _material; } + set + { + if (_material != value) + { + Logger.LogMaterialUpdate(_material, value); + + oldText = ""; + _material = value; + SetTextDirty(); + } + } + } + + [SerializeField] private Vector3 _fontSize = new Vector3(8, 8, 1); + + /// + /// Assigning a new font size recreates the entire text. This is to avoid interfering with anything any module or usercreated code is doing. + /// + public Vector3 FontSize + { + get { return _fontSize; } + set + { + if (_fontSize != value) + { + oldText = ""; + _fontSize = value; + SetTextDirty(); + } + } + } + + [SerializeField] private bool _capitalize = false; + + /// + /// If both Capitalize and LowerCase are true, Capitalize is applied + /// + public bool Capitalize + { + get { return _capitalize; } + set + { + if (_capitalize != value) + { + _capitalize = value; SetTextDirty(); + } + } + } + + [SerializeField] private bool _lowercase = false; + + /// + /// If both Capitalize and LowerCase are true, Capitalize is applied + /// + public bool LowerCase + { + get { return _lowercase; } + set + { + if (_lowercase != value) + { + _lowercase = value; + SetTextDirty(); + } + } + } + + [SerializeField] private bool _autoLetterSize = false; + + /// + /// If turned on, instead of using the predetermined size of each letter, their size is taken from the size they take in the render view. + /// Please remember, this is letter size, this doesn't modify the font size. + /// + public bool AutoLetterSize + { + get { return _autoLetterSize; } + set + { + if (_autoLetterSize != value) + { + oldText = string.Empty; + _autoLetterSize = value; + SetTextDirty(); + } + } + } + + [SerializeField] private float _wordSpacing = 1; + + public float WordSpacing + { + get { return _wordSpacing; } + set + { + if (_wordSpacing != value) + { + oldText = string.Empty; + _wordSpacing = value; + SetTextDirty(); + } + } + } + + //Spawn effects + public bool useModules = true; + + /// + /// If true, the adding module uses MonoBehavior attached to the character created to run its coroutine. This way, if the text is deactivated, the module isn't interrupted. + /// + public bool startAddingModuleFromChar = false; + + public List addingModules = new List(); + + /// + /// If true, the deleting module uses MonoBehavior attached to the char to run the coroutine. This way, if the text is deactivated, the module isn't interrupted. + /// + public bool startDeletingModuleFromChar = true; + + public List deletingModules = new List(); + + /// + /// If set to true, deleteAfter float is used to determine when to delete a character. + /// + public bool customDeleteAfterDuration = false; + + public float deleteAfter = 1; + + public bool applyModuleOnNewCharacter = true; + + [Tooltip("If turned on, adding modules will be automatically called when a prefab with existing text is instantiated on Start() instead of only when a new character is added.")] + public bool applyModulesOnStart = false; + + [Tooltip("If turned on, adding modules will be automatically called when a prefab with existing text is enabled instead of only when a new character is added")] + public bool applyModulesOnEnable = false; + + private bool applyModuleFromStartOrEnable = false; + + //advanced settings----------------------------------------------------------------------------------------------- + [Tooltip("When text is updated, old characters are moved to their correct position if their position is moved by something like a module.")] + public bool destroyChildObjectsWithGameObject = true; + + public bool repositionOldCharacters = true; + public bool reApplyModulesToOldCharacters = false; + //public bool activateChildObjects = true; + + public bool singleInPrefab = true; + public bool combineMeshInEditor = true; + public bool combineMeshDuringRuntime = false; + + [Tooltip("Don't let letters show up in hierarchy in play mode. They are still there but not visible.")] + public bool hideLettersInHierarchyInPlayMode = false; + + [Tooltip("If combine mesh is turned off")] + public bool hideLettersInHierarchyInEditMode = false; + + [Tooltip("Breaks prefab connection while saving prefab location, can replace prefab at that location with a click")] + public bool canBreakOutermostPrefab = false; + + //bool reconnectingPrefab = false; + + /// + /// Where the prefab is saved. + ///
This is only for some edge cases that can be enabled via advanced settings.
+ ///
+ public string assetPath = string.Empty; + + /// + /// Where the mesh is saved if mesh save is turned on + /// + public List meshPaths = new List(); + + private bool createChilds; + public bool updateTextOncePerFrame = false; + private bool runningRoutine = false; + [SerializeField] private List extraLinesCreatedBecauseOfTooManyVerticies = new List(); + + /// + /// Named UV Remapping in the inspector for now, since that's the only thing it dictates for now. + /// Dictates if additional post-processing is done on the mesh. + /// Project UV is default which means no additional calculation is done. + /// Wrap UV tries to wrap the texture around the mesh. + /// Additional post-processing types might be added in the future. + /// + public MeshPostProcess meshPostProcess; + + /// + /// Changes mesh index format from 16 to 32 when set to true. + /// index format 16-bit takes less memory and bandwidth. + /// Even if it is on, it doesn't change the index format if it is not needed. + /// + public bool useIncreasedVertexCountForCombinedMesh = true; + + #endregion Main Variables + + #region remember inspector layout/ Editor Stuff + +#if UNITY_EDITOR + + /// + /// This is for editor scripts. Don't use them + /// This is used by TextUpdater to update the text in-case text style was updated in prefab. + /// This makes sure it doesn't update a tons unnecessarily + /// + [HideInInspector] public bool updatedAfterStyleUpdateOnPrefabInstances = true; + + /// + /// Editor only. Do not use it on your script + /// + [HideInInspector] public bool hideOverwrittenVariablesFromInspector = true; + + //settings to generate secondary UV via advanced settings + /// + /// Editor Only + /// + public float secondaryUV_hardAngle = 88.0f; + /// + /// Editor Only + /// + public float secondaryUV_angleError = 0.08f; + /// + /// Editor Only + /// + public float secondaryUV_areaError = 0.15f; + /// + /// Editor Only + /// + public float secondaryUV_packMargin = 0.005f; + +#endif + + #region Logging + + private DebugLogger _logger; + + internal DebugLogger Logger + { + get + { + if (_logger == null) + _logger = new DebugLogger(this); + return _logger; + } + } + + public bool debugLogs = false; + public bool runTimeLogging = false; + public bool editorTimeLogging = false; + + public bool logTextUpdates = false; + public bool logFontUpdates = false; + public bool logMaterialUpdates = false; + public bool logDeletedCharacters = false; + public bool logSingleMeshStatus = false; + + #endregion Logging + + #endregion remember inspector layout/ Editor Stuff + + #region Scripts + + private CharacterCleanUp _characterCleanUp; + + internal CharacterCleanUp CharacterCleanUp + { + get + { + if (_characterCleanUp == null) + _characterCleanUp = new CharacterCleanUp(this); + return _characterCleanUp; + } + } + + #endregion Scripts + + #endregion Variable Declaration + + #region Unity Stuff + + private void Start() + { + ////applyModuleFromStartOrEnable to make sure both start and OnEnable don't call at once + ///Since on enable is already calling it, no need to update the text twice by calling it in update + if (!applyModulesOnEnable && applyModulesOnStart && !applyModuleFromStartOrEnable) + { + applyModuleFromStartOrEnable = true; + CleanUpdateText(); + } + } + + private void OnEnable() + { + if (applyModulesOnEnable && !applyModuleFromStartOrEnable) //applyModuleFromStartOrEnable to make sure both start and onenable don't call at once + { + applyModuleFromStartOrEnable = true; + CleanUpdateText(); + } + else if (runningRoutine) + UpdateText(); + + runningRoutine = false; + } + + private void OnDisable() + { + if (runningRoutine) + { + UpdateText(); + } + } + + private void OnDestroy() + { + if (!gameObject.scene.isLoaded) + return; + + if (GetComponent() != null) + if (GetComponent().sharedMesh) + DestroyMesh(GetComponent().sharedMesh); + + if (!destroyChildObjectsWithGameObject) + return; + + for (int i = characterObjectList.Count - 1; i > -1; --i) + { + DestroyObject(characterObjectList[i]); + } + } + + #endregion Unity Stuff + + /// + /// Marks the text as dirty, needs to be cleaned up/Updated + /// + private void SetTextDirty() + { +#if UNITY_EDITOR + //Editor mode + if (!Application.isPlaying) + { + UpdateText(); + //This is because sometimes when list/button updates text style, it doesn't mark the scene as dirty + EditorApplication.delayCall += () => SetEditorDirtyToSaveChanges(); //todo: don't set dirty on awake when a prefab is opened but no changes + } + //Play mode + else + { + if (gameObject.activeInHierarchy && updateTextOncePerFrame) + { + if (!runningRoutine) + { + runningRoutine = true; + StartCoroutine(UpdateRoutine()); + } + } + else + { + UpdateText(); + } + } +#else + if (gameObject.activeInHierarchy && updateTextOncePerFrame) + { + if (!runningRoutine) + { + runningRoutine = true; + StartCoroutine(UpdateRoutine()); + } + } + else + { + UpdateText(); + } +#endif + } + +#if UNITY_EDITOR + + private void SetEditorDirtyToSaveChanges() + { + if (!this) + return; + if (!gameObject) + return; + + EditorUtility.SetDirty(this); + EditorUtility.SetDirty(gameObject); + + var scene = UnityEngine.SceneManagement.SceneManager.GetActiveScene(); + UnityEditor.SceneManagement.EditorSceneManager.MarkSceneDirty(scene); + } + +#endif + + /// + /// The purpose of this coroutine is to make sure that texts aren't updated too many times in a single frame. But the downside is, it makes the text update after the end of the frame + /// + /// + private IEnumerator UpdateRoutine() + { + yield return new WaitForEndOfFrame(); + UpdateText(); + runningRoutine = false; + } + + /// + /// This will completely remove the old letters and create the complete text. + ///

+ ///
Other methods of updating text will try to only update the ones that need to be updated
+ ///
Example: Adding the 'e' at the end of the existing text "nam" will try to add only 'e' without touching the other text unnecessarily.
+ ///
+ [ContextMenu("CleanUpdateText")] + public void CleanUpdateText() + { + oldText = ""; + UpdateText(); + } + + public void UpdateText(string newText) + { + Text = newText; + } + + /// + /// Updates the text instantly with the number as text. + /// + /// The Text + public void UpdateText(float number) + { + Text = number.ToString(); + } + + /// + /// Updates the text instantly with the number as text. + /// + /// The Text + public void UpdateText(int number) + { + Text = number.ToString(); + } + + public void UpdateText() + { +#if UNITY_EDITOR + ///in case of something like build is started the exact frame after update text is called, + ///the delayed call calls to update text when the scene doesn't exist(?) and gives a null reference just once. Has mo impact. Just looks ugly + if (!this) + return; +#endif + if (!Font) + return; + + for (int i = 0; i < extraLinesCreatedBecauseOfTooManyVerticies.Count; i++) + { + DestroyObject(extraLinesCreatedBecauseOfTooManyVerticies[i]); + } + extraLinesCreatedBecauseOfTooManyVerticies.Clear(); + + processedText = ProcessText(); + //This block is for the layout system + string delimiterChars = "([ \r\n])"; + wordArray = Regex.Split(processedText, delimiterChars); + + //TODO + //This gives a better result but needs gridlayout group script to be refactored for this + //string delimiterChars = "[^ \r\n]+|[ \r\n]"; + //wordArray = Regex.Matches(processedText, delimiterChars) + // .Cast() + // .Select(m => m.Value) + // .ToArray(); + + int newCharacterStartsFrom = NewCharacterStartsFrom(); + int startCreatingCharacterFromIndex = 0; + int startapplyingModulesFromIndex = newCharacterStartsFrom; + + createChilds = ShouldItCreateChild(); + + Logger.LogSingleMeshStatus(!createChilds); + + if (createChilds) + { + //text had combined mesh before + if (GetComponent()) + { + DestroyMeshRenderAndMeshFilter(); + } + else + { + startCreatingCharacterFromIndex = newCharacterStartsFrom; + if (!autoFontSize) + { + if (!TryGetComponent(out var gridLayout)) + { + if (!TryGetComponent(out var linearLayoutGroup)) + { + autoFontSize = false; + } + } + } + //if (autoFontSize) startCreatingCharacterFromIndex = 0; + } + } + + oldText = processedText; + + CharacterCleanUp.DeleteReplacedChars(startCreatingCharacterFromIndex); + + if (!createChilds) + { + CreateSingleMesh(); + } + else + { + CreateNewChacracters(startCreatingCharacterFromIndex, startapplyingModulesFromIndex); + + UpdateChildrenPositions(startCreatingCharacterFromIndex); + + ApplyAllPendingModules(); + +#if UNITY_EDITOR + if (!Application.isPlaying) + EditorApplication.delayCall += () => CharacterCleanUp.CleanupChildObjectsThatNoLongerExistsInCurrentText(); + //EditorApplication.delayCall += () => CheckLeftOversInEditorAndCleanUp(); + + RemoveBlink(); //This is used remove a single frame in editor where texts would show up even if the gameobject was disabled +#endif + } +#if UNITY_EDITOR + CharacterCleanUp.CleanUpChildObjectsThatArentCharacterObject(); + + if (!createChilds && autoSaveMesh) + { + SaveMeshAsAsset(false); + } +#endif + } + + private void UpdateChildrenPositions(int startCreatingCharacterFromIndex) + { + if (GetComponent()) + { + if (repositionOldCharacters) + { + if (autoFontSize) + { + if (TryGetComponent(out var linearLayoutGroup)) + { + if ( + linearLayoutGroup.alignment == LinearLayoutGroup.Alignment.HorizontalMiddle + || linearLayoutGroup.alignment == LinearLayoutGroup.Alignment.Left + || linearLayoutGroup.alignment == LinearLayoutGroup.Alignment.Right + ) + { + linearLayoutGroup.UpdateLayout(true); + + float multiplier = linearLayoutGroup.width / linearLayoutGroup.totalSpaceTaken; + var correctedFontSize = GetChildSize(multiplier); + + float widthChangeRate = correctedFontSize.x / FontSize.x; + float heightChangeRate = correctedFontSize.y / FontSize.y; + _fontSize = correctedFontSize; + + //Modify the scale first. + for (int i = 0; i < transform.childCount; i++) + { + Vector3 size = transform.GetChild(i).localScale; + size.x *= widthChangeRate; + size.y *= heightChangeRate; + transform.GetChild(i).localScale = size; + } + + for (int i = 0; i < linearLayoutGroup.bounds.Length; i++) + { + Vector3 size = linearLayoutGroup.bounds[i].size; + size.x *= widthChangeRate; + //size.y *= heightChangeRate; + linearLayoutGroup.bounds[i].size = size; + } + linearLayoutGroup.UpdateLayoutDoNotUpdateBounds(); + } + else + { + linearLayoutGroup.UpdateLayout(0); + } + } + else + if (TryGetComponent(out var gridLayoutGroup)) + { + gridLayoutGroup.UpdateLayout(); + + float totalVerticalSpaceTaken = gridLayoutGroup.totalVerticalSpaceTaken; + + bool tooBig = false; + bool tooSmall = false; + if (totalVerticalSpaceTaken > (gridLayoutGroup.Height + sizeGraceAmount)) + tooBig = true; + else if (totalVerticalSpaceTaken < (gridLayoutGroup.Height - sizeGraceAmount)) + tooSmall = true; + + Vector3 newFontSize; + float widthChangeRate; + float heightChangeRate; + int loopBreaker = 0; + while (tooBig && loopBreaker < maxIterationTimes) + { + loopBreaker++; + newFontSize = new Vector3( + Mathf.Clamp(FontSize.x - fontSizeIterationAmount, minFontSize.x, maxFontSize.x), + Mathf.Clamp(FontSize.y - fontSizeIterationAmount, minFontSize.y, maxFontSize.y), + Mathf.Clamp(FontSize.z, minFontSize.z, maxFontSize.z)); + + widthChangeRate = newFontSize.x / FontSize.x; + heightChangeRate = newFontSize.y / FontSize.y; + + foreach (Transform child in transform) + { + Vector3 size = child.localScale; + size.x *= widthChangeRate; + size.y *= heightChangeRate; + child.localScale = size; + + if (child.TryGetComponent(out var layoutElement)) + { + layoutElement.width *= widthChangeRate; + layoutElement.height *= heightChangeRate; + } + } + //for (int i = 0; i < transform.childCount; i++) + //{ + // Vector3 size = transform.GetChild(i).localScale; + // size.x *= widthChangeRate; + // size.y *= heightChangeRate; + // transform.GetChild(i).localScale = size; + + //} + + for (int i = 0; i < gridLayoutGroup.bounds.Length; i++) + { + Vector3 size = gridLayoutGroup.bounds[i].size; + size.x *= widthChangeRate; + size.y *= heightChangeRate; + gridLayoutGroup.bounds[i].size = size; + } + _fontSize = newFontSize; + + gridLayoutGroup.UpdateLayout(0, false); + totalVerticalSpaceTaken = gridLayoutGroup.totalVerticalSpaceTaken; + + if (totalVerticalSpaceTaken > gridLayoutGroup.Height + sizeGraceAmount) + tooBig = true; + else + tooBig = false; + } + + while (tooSmall && loopBreaker < maxIterationTimes) + { + loopBreaker++; + newFontSize = new Vector3( + Mathf.Clamp(FontSize.x + fontSizeIterationAmount, minFontSize.x, maxFontSize.x), + Mathf.Clamp(FontSize.y + fontSizeIterationAmount, minFontSize.y, maxFontSize.y), + Mathf.Clamp(FontSize.z, minFontSize.z, maxFontSize.z)); + + widthChangeRate = newFontSize.x / FontSize.x; + heightChangeRate = newFontSize.y / FontSize.y; + + foreach (Transform child in transform) + { + Vector3 size = child.localScale; + size.x *= widthChangeRate; + size.y *= heightChangeRate; + child.localScale = size; + + if (child.TryGetComponent(out var layoutElement)) + { + layoutElement.width *= widthChangeRate; + layoutElement.height *= heightChangeRate; + } + } + + for (int i = 0; i < gridLayoutGroup.bounds.Length; i++) + { + Vector3 size = gridLayoutGroup.bounds[i].size; + size.x *= widthChangeRate; + size.y *= heightChangeRate; + gridLayoutGroup.bounds[i].size = size; + } + _fontSize = newFontSize; + + gridLayoutGroup.UpdateLayout(0, false); + totalVerticalSpaceTaken = gridLayoutGroup.totalVerticalSpaceTaken; + + if (totalVerticalSpaceTaken < gridLayoutGroup.Height - sizeGraceAmount) + tooSmall = true; + else + tooSmall = false; + } + } + } + else + GetComponent().UpdateLayout(0); + } + else + { + GetComponent().UpdateLayout(startCreatingCharacterFromIndex); + } + } + } + + public bool autoFontSize = false; + public Vector3 minFontSize = new Vector3(1, 1, 1); + public Vector3 maxFontSize = new Vector3(10, 10, 10); + + //for grid layout auto font size + public float sizeGraceAmount = 0.5f; + + public float fontSizeIterationAmount = 0.25f; + public int maxIterationTimes = 1000; + + private void CreateSingleMesh() + { + if (processedText.Length == 0) + { + if (GetComponent()) + { + if (GetComponent().sharedMesh != null) + { + if (Application.isPlaying) + DestroyMesh(GetComponent().sharedMesh); + else + DestroyImmediate(GetComponent().sharedMesh); + } + } + + return; + } + + if (!TryGetComponent(out var layoutGroup)) + return; + + List meshLayouts = new List(); + + for (int i = 0; i < processedText.Length; i++) + { + if (i == 0) + meshLayouts.Add(GetCharacterObject.GetMeshLayout(processedText[i], this, meshPostProcess)); + else + meshLayouts.Add(GetCharacterObject.GetMeshLayout(processedText[i - 1], processedText[i], this, meshPostProcess)); + } + + List combinedMeshes; + + LinearLayoutGroup linearLayoutGroup = GetComponent(); + GridLayoutGroup gridLayoutGroup = GetComponent(); + + if (autoFontSize && linearLayoutGroup) + { + meshLayouts = linearLayoutGroup.GetPositions(meshLayouts, out float totalSpaceTaken, true); + float multiplier = linearLayoutGroup.width / totalSpaceTaken; + Vector3 correctedFontSize = GetChildSize(multiplier); + _fontSize = correctedFontSize; + + float widthChangeRate = correctedFontSize.x / FontSize.x; + + for (int i = 0; i < meshLayouts.Count; i++) + { + meshLayouts[i].width *= widthChangeRate; + } + + meshLayouts = linearLayoutGroup.GetPositions(meshLayouts, linearLayoutGroup.spacing * multiplier); + combinedMeshes = MeshCombiner.CombinedMesh(meshLayouts, correctedFontSize, useIncreasedVertexCountForCombinedMesh); + } + else if (autoFontSize && gridLayoutGroup) + { + meshLayouts = gridLayoutGroup.GetPositions(meshLayouts, out float totalVerticalSpaceTaken, out float totalHorizontalSpaceTaken); + + bool tooBig = false; + bool tooSmall = false; + if (totalVerticalSpaceTaken > (gridLayoutGroup.Height + sizeGraceAmount)) + tooBig = true; + else if (totalVerticalSpaceTaken < (gridLayoutGroup.Height - sizeGraceAmount)) + tooSmall = true; + + Vector3 newFontSize = FontSize; + float widthChangeRate = 1; + float heightChangeRate = 1; + int loopBreaker = 0; + while (tooBig && loopBreaker < maxIterationTimes) + { + loopBreaker++; + newFontSize = new Vector3( + Mathf.Clamp(FontSize.x - fontSizeIterationAmount, minFontSize.x, maxFontSize.x), + Mathf.Clamp(FontSize.y - fontSizeIterationAmount, minFontSize.y, maxFontSize.y), + Mathf.Clamp(FontSize.z, minFontSize.z, maxFontSize.z)); + + widthChangeRate = newFontSize.x / FontSize.x; + heightChangeRate = newFontSize.y / FontSize.y; + + for (int i = 0; i < meshLayouts.Count; i++) + { + meshLayouts[i].xOffset *= widthChangeRate; + meshLayouts[i].width *= widthChangeRate; + meshLayouts[i].height *= heightChangeRate; + } + _fontSize = newFontSize; + + meshLayouts = gridLayoutGroup.GetPositions(meshLayouts, out totalVerticalSpaceTaken, out totalHorizontalSpaceTaken); + + if (totalVerticalSpaceTaken > gridLayoutGroup.Height + sizeGraceAmount) + tooBig = true; + else + tooBig = false; + } + + while (tooSmall && loopBreaker < maxIterationTimes) + { + loopBreaker++; + newFontSize = new Vector3( + Mathf.Clamp(FontSize.x + fontSizeIterationAmount, minFontSize.x, maxFontSize.x), + Mathf.Clamp(FontSize.y + fontSizeIterationAmount, minFontSize.y, maxFontSize.y), + Mathf.Clamp(FontSize.z, minFontSize.z, maxFontSize.z)); + + widthChangeRate = newFontSize.x / FontSize.x; + heightChangeRate = newFontSize.y / FontSize.y; + + for (int i = 0; i < meshLayouts.Count; i++) + { + meshLayouts[i].xOffset *= widthChangeRate; + meshLayouts[i].width *= widthChangeRate; + meshLayouts[i].height *= heightChangeRate; + } + _fontSize = newFontSize; + + meshLayouts = gridLayoutGroup.GetPositions(meshLayouts, out totalVerticalSpaceTaken, out totalHorizontalSpaceTaken); + + if (totalVerticalSpaceTaken < gridLayoutGroup.Height - sizeGraceAmount) + tooSmall = true; + else + tooSmall = false; + } + + //for (int i = 0; i < gridLayoutGroup.bounds.Length; i++) + //{ + // Vector3 size = gridLayoutGroup.bounds[i].size; + // size.x *= widthChangeRate; + // size.y *= heightChangeRate; + // gridLayoutGroup.bounds[i].size = size; + + // Vector3 center = gridLayoutGroup.bounds[i].center; + // center.x *= widthChangeRate; + // center.y *= heightChangeRate; + // gridLayoutGroup.bounds[i].center = center; + //} + + combinedMeshes = MeshCombiner.CombinedMesh(meshLayouts, newFontSize, useIncreasedVertexCountForCombinedMesh); + } + else + { + meshLayouts = layoutGroup.GetPositions(meshLayouts); + combinedMeshes = MeshCombiner.CombinedMesh(meshLayouts, FontSize, useIncreasedVertexCountForCombinedMesh); + } + + for (int i = 0; i < generatedMeshes.Count; i++) + { + if (generatedMeshes[i] != null) + { + if (Application.isPlaying) + DestroyMesh(generatedMeshes[i]); + else + DestroyImmediate(generatedMeshes[i]); + } + } + generatedMeshes.Clear(); + + ApplyCombinedMesh(combinedMeshes); + } + + private void ApplyCombinedMesh(List combinedMeshes) + { +#if UNITY_EDITOR + if (Application.isPlaying) + { + if (!GetComponent()) + gameObject.AddComponent(); + } + else + { + if (!GetComponent()) + Undo.AddComponent(gameObject); + } +#else + if (!GetComponent()) + gameObject.AddComponent(); +#endif + +#if UNITY_EDITOR + if (!Application.isPlaying) + Undo.RecordObject(GetComponent(), "Update text"); +#endif + if (GetComponent().sharedMesh != null) + { + if (Application.isPlaying) + DestroyMesh(GetComponent().sharedMesh); + else + DestroyImmediate(GetComponent().sharedMesh); + + //GetComponent().sharedMesh = null; + } + + GetComponent().mesh = combinedMeshes[0]; + + if (combinedMeshes.Count > 1) + { + for (int i = 1; i < combinedMeshes.Count; i++) + { + if (combinedMeshes[i] == null) + continue; + + GameObject obj = new GameObject("Extra text " + i, typeof(MeshFilter), typeof(MeshRenderer), typeof(LayoutElement)); + obj.transform.SetParent(transform, false); + + //obj.transform.localPosition = Vector3.zero; + //obj.transform.rotation = Quaternion.identity; + //obj.transform.localScale = Vector3.one; + + obj.GetComponent().sharedMesh = combinedMeshes[i]; + obj.GetComponent().material = Material; + + extraLinesCreatedBecauseOfTooManyVerticies.Add(obj); + } + } + +#if UNITY_EDITOR + if (Application.isPlaying) + { + if (!GetComponent()) + gameObject.AddComponent(); + } + else + { + if (!GetComponent()) + Undo.AddComponent(gameObject); + + Undo.RecordObject(GetComponent(), "Text update"); + } +#else + if (!GetComponent()) + gameObject.AddComponent(); +#endif + + GetComponent().material = Material; + } + +#if UNITY_EDITOR + + /// + /// This is used remove a single frame in editor where texts would show up even if the gameobject was disabled + /// Problem: Characters creator for deactivated texts get created, set the text as parent and gets activated. + /// The characters get deactivated in hierarchy next frame because the parent is deactivated + /// But, Since it takes a single frame, the characters appear in editor for a frame causing a blink affect + /// + /// So, they are manually disabled + /// + private void RemoveBlink() + { + if (!Application.isPlaying) + { + if (!transform.gameObject.activeInHierarchy) + { + for (int i = 0; i < characterObjectList.Count; i++) + { + GameObject t = characterObjectList[i]; + t.SetActive(false); + EditorApplication.delayCall += () => DeactivateObject(t); + } + } + } + } + + private void DeactivateObject(GameObject gObj) + { + if (gObj) + gObj.SetActive(true); + } + +#endif + + private void CreateNewChacracters(int newCharStartsFrom, int startapplyingModulesFromIndex) + { + for (int i = newCharStartsFrom; i < processedText.Length; i++) + { + bool applyModuleNow = ApplyModuleToThisCharacterNow(i, startapplyingModulesFromIndex); + //bool applyModuleNow = false; + //if (i >= startapplyingModulesFromIndex) + // applyModuleNow = true; + + if (i > 0) + CreateThisChar(processedText[i - 1], processedText[i], applyModuleNow); + else + CreateThisChar(processedText[i], applyModuleNow); + } + applyModuleFromStartOrEnable = false; + } + + private bool ApplyModuleToThisCharacterNow(int currentCharacterIndex, int startApplyingModulesFromIndex) + { + if (!useModules) //Completely stops modules + return false; + + if (currentCharacterIndex < startApplyingModulesFromIndex) //Old character repositioning, don't apply module + return false; + + if (applyModuleFromStartOrEnable) //Running modules on start/enable + return true; + + if (applyModuleOnNewCharacter) //Running modules on new character + return true; + + return false; + } + + private string ProcessText() + { + if (Capitalize) + return Text.ToUpper(); + else if (LowerCase) + return Text.ToLower(); + + return Text; + } + + /// + /// This is used when mesh will no longer be combined. + /// + private void DestroyMeshRenderAndMeshFilter() + { +#if UNITY_EDITOR + if (!EditorApplication.isPlaying) + { + if (GetComponent() != null) + Undo.DestroyObjectImmediate(GetComponent()); + if (GetComponent() != null) + Undo.DestroyObjectImmediate(GetComponent()); + } + else + { + if (GetComponent() != null) + Destroy(GetComponent()); + if (GetComponent() != null) + { + if (GetComponent().sharedMesh) + DestroyMesh(GetComponent().sharedMesh); + + Destroy(GetComponent()); + } + } +#else + if (GetComponent() != null) + Destroy(GetComponent()); + if (GetComponent() != null) + { + if (GetComponent().sharedMesh) + Destroy(GetComponent().sharedMesh); + + Destroy(GetComponent()); + } +#endif + } + + /// + /// True = Create child objects + /// + /// + public bool ShouldItCreateChild() + { + bool createChilds = false; + +#if UNITY_EDITOR + if (!EditorApplication.isPlaying) + { + if (!combineMeshInEditor) + { + if (!this) + return true; + + //not a prefab instance or prefab instance and single in prefab + if (!PrefabUtility.IsPartOfPrefabInstance(gameObject) || (PrefabUtility.IsPartOfPrefabInstance(gameObject) && !singleInPrefab)) + { + createChilds = true; + } + else if (canBreakOutermostPrefab && PrefabBreakable()) + { + RemovePrefabConnection(); + createChilds = true; + } + } + } + else if (!combineMeshDuringRuntime) + { + createChilds = true; + } +#else + if (!combineMeshDuringRuntime) + { + createChilds = true; + } +#endif + return createChilds; + } + + private int NewCharacterStartsFrom() + { + int newCharStartsFrom = 0; + if (oldText == null)//this happens when text is created runtime + { + return 0; + } + + //Auto Size and not combined mesh has a bug with linear layout updating incorrectly. This is a temporary fix + if (autoFontSize && (!combineMeshInEditor || !combineMeshDuringRuntime) && GetComponent()) + return 0; + + for (int i = 0; i < processedText.Length; i++) + { + if (oldText.Length < i)//this can only happen inc edge cases like a clean new download without removing the text scripts in scene that was unopned after deletion of the asset + return i; + + //less character than before + if (i >= oldText.Length) + { + return (newCharStartsFrom); + } + + //character got replaced + if (processedText[i] != oldText[i]) + { + return (newCharStartsFrom); + } + + newCharStartsFrom++; + } + return newCharStartsFrom; + } + + private void DestroyObject(GameObject obj) + { + if (!obj) + return; + + if (characterObjectList.Contains(obj)) + characterObjectList.Remove(obj); + +#if UNITY_EDITOR + if (Application.isPlaying) + { + if (gameObject.activeInHierarchy) + DestroyObjectRuntime(obj); + else + RunTimeDestroyObjectOnDisabledText(obj); + } + else + { + if (!PrefabUtility.IsPartOfAnyPrefab(obj)) + Undo.DestroyObjectImmediate(obj); //if this causes error, please contact support and undo comment from the code below + } +#else + if (gameObject.activeInHierarchy) + DestroyObjectRuntime(obj); + else + RunTimeDestroyObjectOnDisabledText(obj); +#endif + } + + private void DestroyObjectRuntime(GameObject obj) + { +#if UNITY_EDITOR + if (debugLogs) + Debug.Log("RunTimeDestroyObjectRoutine is being called for : " + obj + " chars on " + gameObject, this); +#endif + obj.transform.SetParent(null); + + if (obj.name != "Space" && useModules) + { + float delay = !customDeleteAfterDuration && deletingModules.Count > 0 ? GetDeleteDurationFromEffects() : customDeleteAfterDuration ? deleteAfter : 0; + + obj.GetComponent().StopAllCoroutines(); + + for (int i = 0; i < deletingModules.Count; i++) + { + if (deletingModules[i].module) + { + if (startDeletingModuleFromChar) + obj.GetComponent().StartCoroutine(deletingModules[i].module.ModuleRoutine(obj, deletingModules[i].variableHolders)); + else + StartCoroutine(deletingModules[i].module.ModuleRoutine(obj, deletingModules[i].variableHolders)); + } + } + + if (obj.GetComponent() != null) + { + if (obj.GetComponent().sharedMesh != null) + { + if (generatedMeshes.Contains(obj.GetComponent().sharedMesh)) + { + Destroy(obj.GetComponent().sharedMesh, delay); + generatedMeshes.Remove(obj.GetComponent().sharedMesh); + } + } + } + Destroy(obj, delay); + } + else + { + if (combineMeshDuringRuntime) + { + if (obj.GetComponent() != null) + if (obj.GetComponent().sharedMesh != null) + DestroyMesh(obj.GetComponent().sharedMesh); + } + else + { + if (obj.GetComponent() != null) + { + if (obj.GetComponent().sharedMesh != null) + { + if (generatedMeshes.Contains(obj.GetComponent().sharedMesh)) + { + DestroyMesh(obj.GetComponent().sharedMesh); + generatedMeshes.Remove(obj.GetComponent().sharedMesh); + } + } + } + } + + Destroy(obj); + } + } + + public float GetDeleteDurationFromEffects() + { + float max = 0; + for (int i = 0; i < deletingModules.Count; i++) + { + float duration = 0; + + if (deletingModules[i] == null) + continue; + + if (deletingModules[i].module != null) + { + if (deletingModules[i].module.variableHolders == null) + continue; + + if (deletingModules[i].module.variableHolders.Length == 0) + continue; + + if (deletingModules[i].variableHolders.Length == 0) + continue; + + if (deletingModules[i].variableHolders[0] == null) + continue; + + if (deletingModules[i].module.variableHolders[0].variableName == "Delay" || deletingModules[i].module.variableHolders[0].variableName == "Duration") + { + duration += deletingModules[i].variableHolders[0].floatValue; + } + + if (deletingModules[i].module.variableHolders.Length > 1) + { + if (deletingModules[i].module.variableHolders[1].variableName == "Delay" || deletingModules[i].module.variableHolders[1].variableName == "Duration") + { + duration += deletingModules[i].variableHolders[1].floatValue; + } + } + } + + if (duration > max) + max = duration; + } + return max; + } + + private void RunTimeDestroyObjectOnDisabledText(GameObject obj) => Destroy(obj); + + private void CreateThisChar(char previousChar, char currentChar, bool applyModule) + { + if (!this) + return; + + GameObject obj = GetCharacterObject.GetObject(previousChar, currentChar, this, meshPostProcess); + AddCharacterToList(obj); + obj.transform.SetParent(transform); + ApplyStyle(obj); + + if (Application.isPlaying && applyModule) + objectsPendingModulesApply.Add(obj); + //ApplyEffects(obj); + + //if (!saveObjectInScene) + // obj.hideFlags = HideFlags.DontSave; +#if UNITY_EDITOR + if (Application.isPlaying) + Undo.RecordObject(obj, "Update text"); +#endif + obj.SetActive(true); + } + + /// + /// This is for the first character only + /// + /// + /// + private void CreateThisChar(char currentChar, bool applyModule) + { + if (!this) + return; + + GameObject obj = GetCharacterObject.GetObject(currentChar, this, meshPostProcess); + AddCharacterToList(obj); + obj.transform.SetParent(transform); + ApplyStyle(obj); + + if (Application.isPlaying && applyModule) + objectsPendingModulesApply.Add(obj); + //ApplyEffects(obj); + + //if (!saveObjectInScene) + // obj.hideFlags = HideFlags.DontSave; +#if UNITY_EDITOR + if (Application.isPlaying) + Undo.RecordObject(obj, "Update text"); +#endif + obj.SetActive(true); + } + + private void AddCharacterToList(GameObject obj) => characterObjectList.Add(obj); + + private void ApplyAllPendingModules() + { + for (int i = 0; i < objectsPendingModulesApply.Count; i++) + { + ApplyEffects(objectsPendingModulesApply[i]); + } + objectsPendingModulesApply.Clear(); + } + + private void ApplyEffects(GameObject obj) + { + if (obj == null) + return; + + if (!gameObject.activeInHierarchy || !useModules) + return; + if (obj.name != "space") + { + for (int i = 0; i < addingModules.Count; i++) + { + if (addingModules[i].module) + { + if (startAddingModuleFromChar) + obj.GetComponent().StartCoroutine(addingModules[i].module.ModuleRoutine(obj, addingModules[i].variableHolders)); + else + StartCoroutine(addingModules[i].module.ModuleRoutine(obj, addingModules[i].variableHolders)); + } + } + } + } + + private void ApplyStyle(GameObject obj) + { + if (obj.GetComponent()) + { + if (obj.GetComponent().model) + { + obj.GetComponent().model.material = Material; + } + } + if (obj.GetComponent()) + { + if (!obj.GetComponent()) + obj.AddComponent(); + + obj.GetComponent().material = Material; + } + + obj.transform.localScale = FontSize; + //obj.transform.localScale = GetChildSize(); + obj.transform.localRotation = Quaternion.identity; + +#if UNITY_EDITOR + if (EditorApplication.isPlaying) + obj.layer = gameObject.layer; + else + { + try + { + EditorApplication.delayCall += () => SetLayer(obj); + } + catch + { + } + } +#else + SetLayer(obj); +#endif + } + + //private Vector3 GetChildSize() => new Vector3(FontSize.x , FontSize.y , FontSize.z); + private Vector3 GetChildSize(float multiplier) + { + return new Vector3( + Mathf.Clamp(FontSize.x * multiplier, minFontSize.x, maxFontSize.x), + Mathf.Clamp(FontSize.y * multiplier, minFontSize.y, maxFontSize.y), + Mathf.Clamp(FontSize.z * multiplier, minFontSize.z, maxFontSize.z)); + } + + private void SetLayer(GameObject obj) + { + if (!this) + return; + + if (obj) + obj.layer = gameObject.layer; + } + + //TODO: Remove + /// + /// Please use the method NewEffect, this will be removed at a later date. + /// + /// + public void EmptyEffect(List moduleList) + { +#if UNITY_EDITOR + if (!Application.isPlaying) + Undo.RecordObject(this, "Update text"); +#endif + ModuleContainer module = new ModuleContainer(); + moduleList.Add(module); + } + + public void NewEffect(List moduleList, Modules.Module newModule = null) + { +#if UNITY_EDITOR + if (!Application.isPlaying) + Undo.RecordObject(this, "Update text"); +#endif + ModuleContainer moduleContainter = new ModuleContainer + { + module = newModule + }; + moduleList.Add(moduleContainter); + } + + #region Utility + + /// + /// This is used by a static method to destroy meshes + /// + /// + public void DestroyMesh(Mesh mesh) + { + if (mesh == null) return; + + if (Application.isPlaying) Destroy(mesh); + else DestroyImmediate(mesh); + } + +#if UNITY_EDITOR + + public bool PrefabBreakable() + { + if (!EditorApplication.isPlaying) + { + if (PrefabUtility.IsPartOfPrefabInstance(gameObject)) + { + if (!PrefabUtility.IsOutermostPrefabInstanceRoot(gameObject)) + return false; + if (PrefabUtility.IsPartOfVariantPrefab(gameObject)) + return false; + } + return true; + } + else + { + return true; + } + } + + public void ReconnectPrefabs() + { + //reconnectingPrefab = true; + PrefabUtility.SaveAsPrefabAssetAndConnect(gameObject, assetPath, InteractionMode.AutomatedAction); + } + + public void SaveMeshAsAsset(bool saveAsDifferent) + { + if (!EditorApplication.isPlaying) + { + bool canceledAction = false; + + //gets save path from explorer + if (!HasSavePath() || saveAsDifferent) + { + canceledAction = GetPaths(); + } + if (!canceledAction) + SaveAsset(); + } + } + + private void RemovePrefabConnection() + { + assetPath = AssetDatabase.GetAssetPath(PrefabUtility.GetCorrespondingObjectFromSource(gameObject)); + PrefabUtility.UnpackPrefabInstance(gameObject, PrefabUnpackMode.Completely, InteractionMode.AutomatedAction); + } + + private void SaveAsset() + { + if (GetComponent()) + { + if (meshPaths.Count == 0) + return; + + //not trying to overwrite with same mesh + if (AssetDatabase.LoadAssetAtPath(meshPaths[0], typeof(Mesh)) == GetComponent().sharedMesh) + { + //Debug.Log("The current mesh is already the asset at selected location. No need to overwrite."); + } + else + { + if (!GetComponent().sharedMesh) + return; + + AssetDatabase.CreateAsset(GetComponent().sharedMesh, meshPaths[0]); + AssetDatabase.SaveAssets(); + } + } + + for (int i = 0; i < characterObjectList.Count; i++) + { + if (characterObjectList[i]) + { + if (!characterObjectList[i].GetComponent()) + break; + + //not trying to overwrite with same mesh + if (AssetDatabase.LoadAssetAtPath(meshPaths[i], typeof(Mesh)) == characterObjectList[i].GetComponent().sharedMesh) + { + //Debug.Log("The current mesh is already the asset at selected location. No need to overwrite."); + } + else + { + AssetDatabase.CreateAsset(characterObjectList[i].GetComponent().sharedMesh, meshPaths[i + 1]); //path i+1 because 0 is taken by main object + AssetDatabase.SaveAssets(); + } + } + } + } + + private bool HasSavePath() + { + if (meshPaths.Count > 0) + { + if (string.IsNullOrEmpty(meshPaths[0])) + { + return false; + } + return true; + } + return false; + } + + private bool GetPaths() + { + meshPaths.Clear(); + for (int i = 0; i < characterObjectList.Count + 1; i++) + { + string meshNumber; + if (i == 0) meshNumber = string.Empty; + else meshNumber = "mesh " + i; + + string path = EditorUtility.SaveFilePanel("Save Separate Mesh" + i + " Asset", "Assets/", name + meshNumber, "asset"); + + if (string.IsNullOrEmpty(path)) + return true; + else + path = FileUtil.GetProjectRelativePath(path); + + meshPaths.Add(path); + } + return false; + } + +#endif + + #endregion Utility + + #region Text in Button/List + + /// + /// Used by editor to write the values overwritten info message in the info box and hide property in inspector + /// + /// + public bool DoesStyleInheritFromAParent() + { + if (transform.parent) + { + Button button = transform.parent.gameObject.GetComponent