Search Unity

New 3D text technology for Unity 5.0

Discussion in 'General Discussion' started by sschaem, Jun 12, 2014.

?

Is this something you could leverage in a future Unity 5.0 project?

  1. Yes

    73.8%
  2. No

    6.2%
  3. This is sorcery!

    20.0%
  1. sschaem

    sschaem

    Joined:
    Feb 14, 2014
    Posts:
    148
    Just testing the water to see if there is enough community interest in this.

    In short, 3D font that doesn't use the CPU for tessellation, guarantied to never do any run-time allocation (on the CPU or GPU), offer 'infinite' dynamic LOD and uses very little system/GPU memory. (and you get features like ambient occlusion, volumetric effects & boolean operations, bevel/extrusion, ...)

    Those are bold statements, but its working.

    I pre-computed this font offline, https://www.google.com/fonts/specimen/Luckiest Guy,
    into a 256k cross platform asset (the full ASCII set for that font, about 2K per character object).
    You can check the unity statistic box to see the run-time GPU vram usage and the number of vertices, etc..

    Please fill the survey or give me your thoughts so I know where to take this.
    The ultimate goal is to integrate the technology into Text Mesh Pro (currently in beta on the asset store)

    So thats what I got so far with the proof of concept (Rendered in dx9 mode using Unity Free)
    proof3.jpg

    proof2.jpg

    proof5.jpg

    In shader outer edge AA attempt... (Seem doable)
    proof5aa.jpg
     
    Last edited: Jun 12, 2014
  2. ImpossibleRobert

    ImpossibleRobert

    Joined:
    Oct 10, 2013
    Posts:
    527
    I think your idea is great but there has just been a release of a hughly awaited textmesh replacement with tons of features: http://u3d.as/content/stephan-bouchard/text-mesh-pro/7CF

    So in case you continue I'd recommend to have an answer to the big question: What is your added value?

    PS: One could be price
     
  3. sschaem

    sschaem

    Joined:
    Feb 14, 2014
    Posts:
    148
    If there is enough interest, the end goal would be to actually add this technology to text mesh pro.

    The added value would be to turn font files into volumetric objects that you can manipulate in your scene as you would any other model.

    So I started this thread to see if its worth the R&D involved to make it a finished feature, and to also show what is now possible with Unity 5.0 (I cannot complete this with Unity 4.x... )

    A quick texturing test. (Unity free / only ambient lighting)
    proof8.jpg
     
    Last edited: Jun 13, 2014
  4. sschaem

    sschaem

    Joined:
    Feb 14, 2014
    Posts:
    148
    Impact TTF ascii set: Reflection + textured extrusion (with a little AO)
    proof9a.jpg

    Zoomed in
    proof9b.jpg
     
  5. superpig

    superpig

    Drink more water! Unity Technologies

    Joined:
    Jan 16, 2011
    Posts:
    4,657
  6. sschaem

    sschaem

    Joined:
    Feb 14, 2014
    Posts:
    148
    Almost, I was involved in the shader code primarily. Creator : http://forum.unity3d.com/members/stephan-b.36363/

    Example of the fake AO (no light or textures, just ambient). Its fast to compute
    proof11.jpg
    (For anyone reading this thread backward: this % character is stored in 2KByte of GPU memory. The volumetric spline reconstruction is done in the fragment shader)

    A try at applying a function on the extrusion. Simple inset
    proof10e.jpg
    All images are done by tweaking the material, so all changes are realtime & dynamic. Morphing is possible.

    Another function for the extrusion. Still no geometry shader used, but notice the ribs on the $ and { sign.
    proof10f.jpg

    Literally scratching the surface on this rendering technique.

    I will post whatever I come-up with until the poll end, or give me some ideas on what to try next...
     
    Last edited: Jun 15, 2014
  7. sschaem

    sschaem

    Joined:
    Feb 14, 2014
    Posts:
    148
    Interaction with a game object to show correct z depth processing (Dx9 unlit)
    withz3.jpg

    Why is this of any interest ? Because a character is rendered using 8 vertices,
    and its the fragment shader task to reconstruct the shape from compressed volumetric information.
    So we are shifting pipeline work, we now generate geometry in the fragment shader.
    The dx9 pixel shader is tasjed with the geometry, so no need for a geometry shader or CPU for tessellation, and since its done per pixel, you get perfect LOD.

    Two mode could be available:

    Mode 1) As a billboard, being alpha blended (support AA for free ,in unity render 'fastest' render mode, as shown earlier)
    Mode 2) Output depth for full scene integration (like above)
     
    Last edited: Jun 16, 2014
  8. jamesbrown1999

    jamesbrown1999

    Joined:
    Apr 28, 2014
    Posts:
    1
    the 3d type looks great and sounds efficient. I would love to see this in Unity 5 / asset store.
     
  9. sschaem

    sschaem

    Joined:
    Feb 14, 2014
    Posts:
    148
    Thank you for sharing your interest, its very much appreciated.

    I see so many asset being orphaned because of lack of interest.
    In a way we need mini 'kickstarter' like campaign for the asset store, so asset published match what developer need/want.
     
    Last edited: Jun 16, 2014
  10. AnomalusUndrdog

    AnomalusUndrdog

    Joined:
    Jul 3, 2009
    Posts:
    1,553
    There's already a plugin for such a thing (text as 3d models) but definitely not as polished as this. This is something I wanted for a long time cause I wanted to use 3d text for a certain cinematic effect.

    Let us know how this turns out!
     
  11. sschaem

    sschaem

    Joined:
    Feb 14, 2014
    Posts:
    148
    Do you have a some specific visual style that you are looking for your 3d text?

    I should know wednesday/thursday (when this poll automatically closes) if this is a viable feature to work on.

    A 360 video showing some ribbed extrusion
     
  12. AnomalusUndrdog

    AnomalusUndrdog

    Joined:
    Jul 3, 2009
    Posts:
    1,553
    @sschaem: Simple really, I want to use it for a serif font, with some dark metallic, reflective material (which looks like, as the video shows, it's possible), floating in 3d space during some in-game cutscene.

    I even have this crazy idea of having the GUI in my game to all be completely 3d models, text included.
     
  13. sschaem

    sschaem

    Joined:
    Feb 14, 2014
    Posts:
    148
    A big turn off for developer is aliasing when using 3D into a UI, I think thats why you dont see it more often.

    If you need minimal perspective, the current asset TextMesh Pro (asset store) might be able to handle the look you want. The text does integrate in your scene, but ... its thin as paper :)

    TextMesh Pro : surface shader example
    metal3b.jpg
    Chrome2.jpg
    0light.jpg
    3light.jpg
     
    Last edited: Jun 17, 2014
  14. sschaem

    sschaem

    Joined:
    Feb 14, 2014
    Posts:
    148
    Smooth LOD : done in the fragment shader. So no CPU usage or allocation, and no geometry shader needed.

    slabc1.jpg slabc.jpg slabc2.jpg

     
    Last edited: Jun 18, 2014
  15. sschaem

    sschaem

    Joined:
    Feb 14, 2014
    Posts:
    148
    Some more eye candy before the poll closes: Self soft shadowing test.

    (All my screen grab and video are done with Unity Free and using dx9 shaders)

    shadow2b.jpg

    volume.jpg
     
    Last edited: Jun 18, 2014
  16. sschaem

    sschaem

    Joined:
    Feb 14, 2014
    Posts:
    148
    A few hours left for the poll, so here is the latest experiment to swing the votes.

    Vote yes if you think you can leverage this dynamic text rendering tech,
    or no if I should work on something else.

    Now.... would it help, or hurt me, if I can make this work in Unity 4.x and on all ios devices?

    (Self soft shadowing . And as always, single pass, dx9 , Unity free)
    shadow2c.jpg

    video
     
    Last edited: Jun 19, 2014
  17. StarManta

    StarManta

    Joined:
    Oct 23, 2006
    Posts:
    8,775
    I for one really want this, and I've been on the lookout for a good TextMesh replacement.

    If you can commit to including this in a future release of TMP (whatever version of Unity it's for), and without cost above the current Asset Store price, I'll buy this plugin ASAP.
     
  18. sschaem

    sschaem

    Joined:
    Feb 14, 2014
    Posts:
    148
    I decided to putt this work on the back burner for now,
    and even if this made sense to fully develop as a product, it never was my intention to offer it for free on the asset store.
     
  19. sschaem

    sschaem

    Joined:
    Feb 14, 2014
    Posts:
    148
    Thanks to all of you that took the time to cast a vote on this ! your feedback was invaluable.

    And now that the poll as ended, I decided to find something else to work on.
    In the end it came down to the fact that the work to make this volumetric text technology a finished product is to much for a niche asset.
     
    Last edited: Jun 19, 2014
  20. Stephan-B

    Stephan-B

    Joined:
    Feb 23, 2011
    Posts:
    2,269
    This 3D Text Rendering technique is exploratory (ie still research) and most likely reliant on hopefully getting access to more per Vertex Streams in 5.0. Once we know for certain that we will have access to the functionality with need (in 5.0 from a technical stand point) then we can again re-visit the level of interest in this.

    In terms of a replacement for Text Mesh, that is what TextMesh Pro was designed for and it certainly offers a substantial amount of additional features and functionality and massive visual quality improvement and flexibility over the original TextMesh (aka. 3D text) note: which is confusing since it is a 2D mesh living in 3D space but not 3D Text :)

    In terms of TextMesh Pro, I am super excited about the response thus far. I am certainly super busy adding some of the features that some users have request but mostly adding new features that I think would be great for all users. With Unity 4.6 also coming along, I am also working in parallel to make sure TextMesh Pro will work nicely with Unity 4.6 and the new UGUI + all the goodies it will bring.

    Again this thread was about exploring interest in this potential 3D Text Rendering Technique to get a feel for interest level and determine how time should be allocated to this now or perhaps later.
     
    Last edited: Jun 19, 2014
  21. StarManta

    StarManta

    Joined:
    Oct 23, 2006
    Posts:
    8,775
    I didn't mean for free, I just meant that if I bought TMP now, I wouldn't have to pay again. Not "for free", but rather included in the cost of TMP as the next version of it.
     
  22. Stephan-B

    Stephan-B

    Joined:
    Feb 23, 2011
    Posts:
    2,269
    Given that TextMesh Pro was released less than 30 days ago and it is still in Beta, it is too early to be talking about what version 2.0 might include and whether or not it would be a free or paid upgrade. The focus right now is on making the best possible tool for the users and adding whatever features I feel is necessary to live up to expectations to make TextMesh Pro a great and successful product.

    In terms of this tech, I personally think it is really cool and I certainly want it but there are technical issue to overcome and we will need Unity 5.0 and then who knows what potential issue we might run into. It is too early to commit to including it as I don't want to make promises that I may not be able to deliver on. I hope you understand.
     
  23. KyryloKuzyk

    KyryloKuzyk

    Joined:
    Nov 4, 2013
    Posts:
    1,142
    So. What about this great feature?
     
  24. Stephan-B

    Stephan-B

    Joined:
    Feb 23, 2011
    Posts:
    2,269
    This is something that could probably be released (initial implementation) within the next 30 days or so. Please see the following post and included links.
     
  25. M0rrigan

    M0rrigan

    Joined:
    May 29, 2015
    Posts:
    29
    Hello @Stephan-B , the 3D text feature has not been included in Text Mesh Pro, is that correct?