Search Unity

  1. Looking for a job or to hire someone for a project? Check out the re-opened job forums.
    Dismiss Notice
  2. Unity 2020 LTS & Unity 2021.1 have been released.
    Dismiss Notice
  3. Good news ✨ We have more Unite Now videos available for you to watch on-demand! Come check them out and ask our experts any questions!
    Dismiss Notice

Modular 3D Text - Complete ingame ui sytem

Discussion in 'Assets and Asset Store' started by Ferdowsur, Feb 4, 2020.

  1. yumeng1022

    yumeng1022

    Joined:
    Dec 4, 2019
    Posts:
    15
    Hi Ferdowsur,
    Thank you for your detail information about the asset.
    There is one question :
    does you plan to support "Dynamic creation of 3D text" and Bevel feather just show in VText Pro Asset Video:

    and hope these mentioned feature can support multi language , such as Chinese characters . etc...

    Can make it happen in further ?
     
  2. Ferdowsur

    Ferdowsur

    Joined:
    Feb 7, 2017
    Posts:
    115
    Hi,
    Thank you for your interest.
    Sorry, I am not sure exactly what dynamic font creation means. Sounds like a vague marketing term than describing anything specific. English isn't my first language, I could be wrong. Looking at the video & comparing to m3dText, what is missing is

    1. Mesh "Quality" bar:
    Current version tries to use the lowest vertex count possible without deforming it. This gives the best performance and a common practice for anything regarding Games. I don't see any value in increasing vertex count.
    Note: You CAN control detail density when creating fonts in Modular 3d Text. Lowering the smoothing angel will give you a more low poly look.
    upload_2020-8-10_19-56-26.png
    Edit: On second check, looks like I was wrong they actually did use high vertex count for quality. I am not aware of the reasoning for this choice instead of just using smoothing angle.

    2. Bavel:
    Apologies for not understanding what you meant by bavel before. The way the asset is written, bavel/outline like that isn't possible. I currently have no plan to add it. By giving up on stuff like that, it's possible to achieve stuff like this:
    I don't have a dedicated video for it, but basically, you can drop any fancy shader you find on the text and have it work.



    3. Animation Curved text:
    I thought about adding something like that but actually forgot :( I already implemented Circular texts but will try to apply a curve to it now. I will look into it and will reply(24/48hours) if I can create it ASAP. To be honest, the problem with creating new positioning systems is making sure they work with all modules.


    I don't how they have a setting for stuff like shadow caster since they work differently for each pipeline/render mode. Straight up won't work in some situations. But I don't know if they even support other render pipelines besides the default one. I don't own that asset so I don't know, it's just a guess.
    You can simply put any material you want with Modular 3D Text. I personally think that simplifies things.

    Oh and there are no difference in features between Languages. You can use everything for Chinese same as English.


    If I missed anything you have questions about, don't hesitate to ask. :)
     
    Last edited: Aug 10, 2020
    firstuser likes this.
  3. yumeng1022

    yumeng1022

    Joined:
    Dec 4, 2019
    Posts:
    15
    Hi Ferdowsur, Thank you for your detailed information for it.
    Very appreciate.
     
    Ferdowsur likes this.
  4. StefanJV

    StefanJV

    Joined:
    Jun 2, 2020
    Posts:
    9
    Hi good day. Will I be able to directly change the meshes of the letters during runtime? For example, if I have a word in my scene with some UI, I want to dynamically change the mesh (i.e. change vertices) based on the UI input. Will that be possible?

    Thanks.
    (Asset looks great btw)
     
    Last edited: Sep 16, 2020
  5. Ferdowsur

    Ferdowsur

    Joined:
    Feb 7, 2017
    Posts:
    115
    Hi,
    I am not sure what kind of vertex change you mean, but the texts are normal meshes. You can use them as a single mesh for the entire text or individual letter meshes. Whatever you can do to a cube or other meshes, you can do it to them.

    You can also remove the "modular 3d text" component and they will be okay. You just won't be update the text without the component :D

    If you want more info, feel free to ask :)
     
  6. StefanJV

    StefanJV

    Joined:
    Jun 2, 2020
    Posts:
    9
    That's great to hear.
    Would it be possible to somehow apply intersection with two 3d letters?

    Example:
     

    Attached Files:

    Last edited: Sep 17, 2020
  7. Ferdowsur

    Ferdowsur

    Joined:
    Feb 7, 2017
    Posts:
    115
    Hi,
    Sorry, with the text asset can't connect letters like this.
     
  8. Ferdowsur

    Ferdowsur

    Joined:
    Feb 7, 2017
    Posts:
    115
    Last edited: Sep 21, 2020
    shyamarama likes this.
  9. Ferdowsur

    Ferdowsur

    Joined:
    Feb 7, 2017
    Posts:
    115
    Version 1.6.11
    1. Option to hide letters in hierarchy.
    2. Inspectors now remember their layout. Improves ease of use greatly.
    3. Import settings for included fonts updated to remove unnecessary materials
    4. Toggle script refactored - Toggle scene bug-fix - Slider handle script refactored
    5. Slider value range events now check value range events first to avoid error
    6. Slider handle gives a warning when a slider isn't assigned
    7. Slider right to left bug-fix
    8. Check added to remove duplicates from character range of font creation
    9. Fixed a bug where free layout items were moving when selected
    10. Fixed a bug where first item selected event was called even if a list wasn't active
     
    shyamarama likes this.
  10. RogueCode

    RogueCode

    Joined:
    Apr 3, 2013
    Posts:
    226
    Hey @Ferdowsur, any idea why my spaces are so big? Font doesn't seem to matter
    upload_2020-11-25_0-22-13.png

    This one is about the smallest, but still bigger than I'd expect
    upload_2020-11-25_0-23-1.png

    And also, why do some letters have more space after them than others? For instance "g" here:
    upload_2020-11-25_0-23-41.png

    Seems to be the same in your first pictures:
    upload_2020-11-25_0-26-18.png
     
    Last edited: Nov 25, 2020
  11. Ferdowsur

    Ferdowsur

    Joined:
    Feb 7, 2017
    Posts:
    115
    upload_2020-11-25_10-46-53.png
    Hi,
    You can select the font and modify empty space spacing.
     
  12. mattxreality

    mattxreality

    Joined:
    Dec 11, 2018
    Posts:
    35
    @Ferdowsur I had this same problem and updated the Modular 3D Text asset, but that didn't work. After reviewing the compiler error, I found the problem to be an error in how the #if statement was framing the internal if statement. Here is a screenshot of the fix: upload_2020-11-28_12-7-2.png
     
    Ferdowsur likes this.
  13. Ferdowsur

    Ferdowsur

    Joined:
    Feb 7, 2017
    Posts:
    115
    Hi,
    Thank you very much for the initiative and sharing your solution. It's very helpful and deeply appreciated.

    I think there was an issue with the update. The bug-fix was live on 26th.

    [Unfortunately, due to recent surge in asset updates due to Covid, it takes a bit for unity to verify and approve it. The bugged version was live on the store for a bit more than 2 days and some people already downloaded it by than. My apologies for that.]
     
    mattxreality likes this.
  14. Ferdowsur

    Ferdowsur

    Joined:
    Feb 7, 2017
    Posts:
    115
    Version 1.6.2
    1. Better spacing
    2. Tool-tip improvement
     
  15. Ferdowsur

    Ferdowsur

    Joined:
    Feb 7, 2017
    Posts:
    115
    Version 1.6.4
    1. Font creator naming convention changed. Will avoid the rare occasions where illegal character names could cause errors
    2. Fallback fonts added.
    3. Local scale is applied properly now
    4. Undo properly updates texts now
    5. - Fixed a bug with font creation failing for certain countries that use comma instead of dot for decimal separator. Fixed thanks to Alexander Shimanov!
     
  16. mizan15

    mizan15

    Joined:
    Aug 2, 2020
    Posts:
    2
    How can I make each letter as a child of Text (M3D) like a sample scene?
     
  17. Ferdowsur

    Ferdowsur

    Joined:
    Feb 7, 2017
    Posts:
    115
    Hi,
    Under Advanced settings, turn off combine mesh in Editor
    upload_2021-1-7_18-42-10.png

    Edit:
    The setting has been moved and renamed for easier understanding
    upload_2021-1-23_3-32-25.png
     
    Last edited: Jan 22, 2021
  18. Ferdowsur

    Ferdowsur

    Joined:
    Feb 7, 2017
    Posts:
    115
    Version 1.6.6
    • Fixed a bug where a chance to have unnecessary error log popping up when editing prefab in prefab asset window.
    • Combined meshes are no longer needed to be saved to persist between scenes. They are automatically created if missing
     
  19. pez

    pez

    Joined:
    Jul 6, 2013
    Posts:
    36
    Hi just got the asset yesterday & am liking it so far!

    I wanted to make a UI list in 'free' alignment mode, so it's shaped more like a grid, but noticed that the on selected move doesn't work on things with free alignment.

    I see that you had this as a bug but not sure if it's a fix for the same bug that I'd actually want?

    Also noticed that the move on selected doesn't work if "auto select the first item" is ticked off.

    And 1 more thing with move on selected. It'd be nice if the button moved back to normal position when the mouse has nothing selected, but it only moves back when something else in the list is selected. The material visuals change to normal when the mouse is selecting nothing, just not the move position.

    Thanks,
     
  20. Ferdowsur

    Ferdowsur

    Joined:
    Feb 7, 2017
    Posts:
    115
    Hi,
    Glad to hear you are liking the asset!

    You can attach the script below to the button
    https://drive.google.com/file/d/1b1IYEr_6clbPJX1UwjuYQkUJzvRXWuus/view?usp=sharing
    and call the moveForward moveBackword methods to animate them.

    upload_2021-2-22_12-6-51.png

    My goal with Free alignment is my code not having any effect on positioning of the list elements. The UI should have been hidden. Fixed it in the new version.

    Fixed "auto select the first item" bug in the new update.

    Added an option on Raycast selector for that unselecting button from a list on mouse unhover.
    upload_2021-2-22_12-36-38.png

    Update 1.6.7
    - Font changes are instantly applied in current scene
    - Disallow multiple elements added
    - Option in Raycast selector to unselect button from list when not hovering
    - Fixed a bug where animation was not trigerring if AutoSelect first item wasn't selected

    Unity usually approves asset update within 24h but can take upto 2-3 days.
    Edit: The update is live
     
    Last edited: Feb 22, 2021
  21. pez

    pez

    Joined:
    Jul 6, 2013
    Posts:
    36
    Awesome stuff thank you!
     
  22. pez

    pez

    Joined:
    Jul 6, 2013
    Posts:
    36
    Just tried to update & it says the current version is 1.6.6
    I can see on the store page that it has your changes listed as the current version though?

    Maybe Unity just hasn't updated the package yet.
     
  23. Ferdowsur

    Ferdowsur

    Joined:
    Feb 7, 2017
    Posts:
    115
    That seems weird. Maybe browser cache? I am not sure if that supposed to work like that.

    If you are seeing just in package manager, Deleting the cached asset should work.
    you can delete the downloaded version from the Asset Store cache folder (e.g., C:\Users\[user]\AppData\Roaming\Unity\Asset Store-5.x on Windows) so you can download it again in your current Unity version

    Credit

    Edit: This issue has been fixed in some Unity versions
     
    Last edited: Mar 14, 2021
  24. Ferdowsur

    Ferdowsur

    Joined:
    Feb 7, 2017
    Posts:
    115
    Version 1.6.8
    upload_2021-3-16_0-23-14.png
    - New UI element: Horizontal Selector
    - Code cleanup​
     
  25. ad12345

    ad12345

    Joined:
    Oct 24, 2015
    Posts:
    6
    Hey Ferdowsur,

    I like using the asset, but I'm having a big problem - can you help?

    I went to move some of the text I made, and it wouldn't budge. Then I tried to delete the text, and it only deleted from the hierarchy, but stayed in the scene - frozen. I can't change it or hide it at all, and it stays throughout. The only way to get rid of the frozen text is to delete the whole asset from the project. I tried reimporting the asset (Version 1.6.8) but soon as I did - the frozen text appeared again - and I still can't do a thing to it.

    Can you please help? I'd really like to use your asset, but it this phantom text means I can't :(
     
  26. Ferdowsur

    Ferdowsur

    Joined:
    Feb 7, 2017
    Posts:
    115
    Hi,
    Sorry about the issue :(

    To remove the existing errors,
    1. Download the attached script, https://drive.google.com/file/d/1u1vkE7T2zFklqMtmfTEuAcCu5IdkE9Vf/view?usp=sharing
    2. Attach it to any object in scene.
    3. In inspector, right click on the name of the script to open the Context menu,
    upload_2021-3-20_10-56-43.png
    4. Click show.
    This will make all hidden objects visible in scene.

    I implemented a fix in 1.6.8 that should have removed any chance of these happening. If new texts do it again at 1.6.8 or later versions, please let me know. Thanks.
     
    ad12345 likes this.
  27. Woolleyj20

    Woolleyj20

    Joined:
    Feb 21, 2021
    Posts:
    2
    Hi! I just bought your asset to play around with as I'm learning Unity. I was going over your sample scenes trying to navigate the code and figure out how it was done. One thing I can't figure out for the damage popups sample scene is how you get the text to appear in random locations. I was hoping you could give a little insight into which section of the code or scripts is controlling that. Thanks!
     
  28. Ferdowsur

    Ferdowsur

    Joined:
    Feb 7, 2017
    Posts:
    115
    The SampleScene_Cursor script calls the
    Code (CSharp):
    1. statusToolTip.ShowToolTip("-" + damage.ToString(), style, hit.point, Quaternion.Euler(0, 0, 0), true);
    The status tool-tip handles the rest.
    You can set text style, randomization amount etc. in the Status tool tip script.
     
  29. Woolleyj20

    Woolleyj20

    Joined:
    Feb 21, 2021
    Posts:
    2
    Ah, I think I'm understand it now. That StatusToolTip class is super userful, I have the feeling I'll reuse it, with some modifications. Another quick question, the background of a button is just a mesh, correct, which can be replaced with virtually anything you'd want?
     
  30. Ferdowsur

    Ferdowsur

    Joined:
    Feb 7, 2017
    Posts:
    115
    Yes. You can modify it anyway you want.
     
  31. ad12345

    ad12345

    Joined:
    Oct 24, 2015
    Posts:
    6
    Thanks so much! That helped immensely :)
     
    Ferdowsur likes this.
  32. Ferdowsur

    Ferdowsur

    Joined:
    Feb 7, 2017
    Posts:
    115
    Happy to help!
     
  33. qnet

    qnet

    Joined:
    Sep 28, 2015
    Posts:
    3
    Hello
    Does it support Russian?
     
  34. Ferdowsur

    Ferdowsur

    Joined:
    Feb 7, 2017
    Posts:
    115
    Hi,
    Since I don't know Russian, I can't confirm 100%.

    1. I created a font with Unicode 0400-04FF from a font named Troika.
    2. Wrote "testing font support"in Google translate, typed the translated russian in the asset,
    upload_2021-3-22_10-57-13.png

    3. Looks like everything is working.
     
  35. ad12345

    ad12345

    Joined:
    Oct 24, 2015
    Posts:
    6
    Hi,

    Is there any more info/a tutorial on the modules?

    For example, I want to have text slowly 'grow from zero to original' (works great) but then after 10 seconds fall due to gravity, so I tried different combos of this, but I can't seem to make a delayed fall work? It seems to want to fall immediately or not at all.

    (I added a rigidbody component as well so it would detect gravity)

    upload_2021-3-25_9-44-4.png upload_2021-3-25_9-44-45.png

    Thanks :)
     
  36. Ferdowsur

    Ferdowsur

    Joined:
    Feb 7, 2017
    Posts:
    115
    Hi,
    You can checkout about Modules from here:
    https://ferdowsur.gitbook.io/tinygiantstudios/#modules-effects

    You seem to have Add and remove rigid-body at the same time in Adding modules. They will conflict with each other give unexpected behaviors.
    You don't need to add any rigid body to the Text itself. The modules will take care of it.

    To achieve the effect you are looking for, add
    1. Grow
    2. Add Gravity.

    If you are not using pooling, don't use remove rigid-body/gravity since the objects are getting destroyed anyway and not reused.

    upload_2021-3-26_15-36-29.png
     
  37. Ferdowsur

    Ferdowsur

    Joined:
    Feb 7, 2017
    Posts:
    115
    The example module setup will,
    1. Make the letter grow from 0 scale to the font size you set in the text in 1 second.
    2. Add gravity will add gravity to your character after one second.

    There is a Countdown sample scene included with different kinds of setup. You can take a look there to get different effects.
     
  38. ad12345

    ad12345

    Joined:
    Oct 24, 2015
    Posts:
    6
    Thank you for your help! Appreciate it.
     
    Ferdowsur likes this.
  39. SpaceRay

    SpaceRay

    Joined:
    Feb 26, 2014
    Posts:
    427
    I really love your asset and I can not thank you enough and congratulate you for making it, and for all the new things you are adding, awesome and very good, and now is even easier

    BUT I really miss very much the lost scene where it was available all the letters in the floor that was on the first version, as shown here below as it had the awesome and excelent two colors fonts, and you could make your own alphabets with the other fonts included in the floor, and so I could see all the letters very well, fast and easy.

    Please, could you be so kind to include this again, I think I have a previous version where this was available, but I think it would be really great and useful if this could be available again.

    Of course that I DO NOT want at all that you could make a preview of the 50 fonts you may have and this is NOT my intention, JUST ONLY A FEW 5 or 7 as it was shown on the scene of the screenshot below, because is not needed as you can later if wanted create your own alphabets just changing the font

    Thanks very much and wish you all the best.

     
    Last edited: Apr 1, 2021
  40. SpaceRay

    SpaceRay

    Joined:
    Feb 26, 2014
    Posts:
    427
    Please, could there be some possible way to make that the created text could have optionally an outline or 3D side border material that would be just a little outside of the front of the main letter ? as shown here below as example 3d text with side border.jpg

    As shown in the screenshot above here, I know that you can already have a double color font, mixing two fonts together (one flat white and the extruded red), and you have shown above also that you have a font that has an EMPTY inside and only the outer edges, so what I think that there could be a possible way to make a combination of this one with another similar font that could fit inside it.

    If this could be possible, then you could have some more luxury letters, if you could add a gold or silver material to the outer border as shown here below Gold_Luxury_edges.jpg
    and would be interesting and great to be able to have a double material letter that could stand out and be better if wanted than a single material letter.

    I do not mean at all to make an outline border to every font you have, just only ONE font (well 2 fonts, one inside and another as the edge outline) that could be like these 2 examples shown here with this option of outline with 2 materials.

    I this could give an even more optional dimension and even more flexibility and if wanted give more style and a little more luxury if you wanted to have it.

    Thanks very much and really many people can buy and use your asset.
     
  41. SpaceRay

    SpaceRay

    Joined:
    Feb 26, 2014
    Posts:
    427
    I do not know why the awesome and excelent scene that was showing the text on the floor has been removed, I mean the one that is shown in the screenshot here above,

    So, in case you may want to test the whole alphabet and see all the letters of any font included in the asset, you can use the following text to make it

    Copy this alphabet text and paste it in Inspector

    ABCDEFGHIJKLMNOPQRSTUVWXYZ
    abcdefghijklmnopqrstuvwxyz
    1234567890.,:;-^ ́ ̈*+@\Şş %&()=ż?

    As far as I have seen, there are two ways with the current example scenes

    SCENE 01 - TEXT

    1 - Go to scene 01 - Text and play the scene to be runtime
    2 - on hierarchy go to select the Modular 3D Text object and on inspector paste the above text with the alphabet
    3 - You can change the font that you want to test it below in the Main settings.
    4 - Adjust the camera angle or view if the text does not fit inside

    SCENE 06 - FONTS

    You can test it also with tthis one where you can change the fonts with the arrows instead of in inspector

    1 - Go to scene 01 - Text and play the scene to be runtime
    2 - on hierarchy go to select the INPUT FIELD, open it and select the "Text" object and on inspector paste the above text with the alphabet
    3 - You can change the font that you want to test it with the arrows available in the scene
    4 - Adjust the camera angle or view if the text does not fit inside
     
  42. Ferdowsur

    Ferdowsur

    Joined:
    Feb 7, 2017
    Posts:
    115
    Hi @SpaceRay,
    Thanks for the compliment.

    The characters on the floor was removed because of the reason you have guessed already, there were too many fonts to display in single scene. Instead of couple of fonts, in new/current Fonts scene: Scene-06, you can type your stuff and navigate through all the included fonts to see how they would look.

    If you would like to have the original scene you shared, here is the original HDRP package:
    https://drive.google.com/file/d/1IHBTxc8p4wIM07wbkhMvfaa8J7r-alsR/view?usp=sharing
    This also includes most of the images/videos included in the Asset store. I am not sure if all of the scenes are properly setup since I just took a screenshot and forgot about them but most should work without a hassle with minimal modification.
    If you need help with that, feel free to give me a knock. Happy to help.


    Sorry but can't add new features for outline styling options like that at the moment. Something similar which should give you the look you are looking for is in my current to-do list but need to do some refactoring to make it easier for both me and the user to handle the code side of the asset.

    My current first priority at the moment is to make it easier to code for people. The ideal goal is to make the public variables same/similar as Unity text/Textmesh pro.
     
  43. Ferdowsur

    Ferdowsur

    Joined:
    Feb 7, 2017
    Posts:
    115
    Update Version 1.6.9
    • Input String has been renamed to input field to match with Unity's UI.
    • Toggle's "active" variable has been renamed to "isOn" to match with Unity's UI.
    • Toggle's active & inactive item is game-object now, instead of a list.
    • Fixed a bug where in Editor mode, texts might not update properly via input field.
    • Added an option in Text to enable editor only console logs for debugging.
    • Directly setting the text of Input field will automatically update it.
    • All codes from slider handle has been moved to slider. Handle is no longer required to update slider.
    • Input field will automatically update if you set the text.
    • Toggle will automatically update if you set the IsOn property.
    • Code refactoring and added more comments.
    • Modular 3D Text now has a text-anchor variable that behaves exactly same as unity text's text anchor. The previous variables have been marked obsolete.
     
  44. qnet

    qnet

    Joined:
    Sep 28, 2015
    Posts:
    3
    hello
    Is it possible to bend the text in the right direction
    Like here
     

    Attached Files:

  45. Ferdowsur

    Ferdowsur

    Joined:
    Feb 7, 2017
    Posts:
    115
    upload_2021-4-13_16-41-43.png

    This is the setting you need to achieve something like that.
     
  46. qnet

    qnet

    Joined:
    Sep 28, 2015
    Posts:
    3
    thank you very much
     
unityunity