New 3D text technology for Unity 5.0

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)

In shader outer edge AA attempt… (Seem doable)

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

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)

Impact TTF ascii set: Reflection + textured extrusion (with a little AO)

Zoomed in

sschaem is the creator of that package, I believe :slight_smile:

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
1663632--104107--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
1667234--104409--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.
1663632--104111--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…

Interaction with a game object to show correct z depth processing (Dx9 unlit)

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)

the 3d type looks great and sounds efficient. I would love to see this in Unity 5 / asset store.

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.

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!

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

https://www.youtube.com/watch?v=93ZRJNwJHqg

@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.

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 :slight_smile:

TextMesh Pro : surface shader example




Smooth LOD : done in the fragment shader. So no CPU usage or allocation, and no geometry shader needed.

1667322--104412--slabc1.jpg

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)

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)

video

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.

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.

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.

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 :slight_smile:

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.