[Bf-usd] Edit/Create Preliminary_Text in Blender

Thomas Kumlehn pixelpartner at icloud.com
Wed Apr 20 10:39:12 CEST 2022


My 2c,

I make heavy use of the preliminary_ schemes Apple added to USD for use in their XR realtime engine AR Quick Look.
Not by using RealityComposer, but by creating compatible .usda files with my own tools. I also think of RealityComposer (beta since 2019) more as a proof of concept and to inspire us developers (like it did for my tool chain).
I built them for AR product configurators like https://kreativekk.de/Swivel.html <https://kreativekk.de/Swivel.html> but many other interactive experiences can be done in a similar way.

Apple’s idea behind Preliminary_Text:
Let’s re-create text meshes at load time on the XR device to keep USDZ file sizes low.

A WYSIWYG text editor for Preliminary_Text inside Blender would be very helpful, indeed.

For sure these schemes will be supported by ARQL for several years, but I expect Apple to bring non-preliminary and many more of them this summer (June 6) at WWDC22.
In addition to many more schemes related to user interactivity I’m also expecting realtime displacement maps on both polyMeshes AND SubD patch based surfaces, based on leaks and sample USD files out of Apple’s internal MayaUSD plugin and their ObjectCapture framework.
RigidBody Physics Simulation description schemes have been documented in a white paper written by Pixar, NVIDIA and Apple and I expect this to be also supported soon as well.
Also overdue are character animation techniques to also be supported for realtime and my guess is - they won’t use the USDSkelAnim as used by Pixar.

I wouldn’t be surprised to see SwiftUI come to the mix as well.

In conclusion: I suggest to learn about Apple’s specific „dialect“ and use of USD for the coming 6 weeks and then learn about the myriad of new features/changes and then talk again after WWDC (the developer conference).

Best wishes

Thomas Kumlehn
pixelpartner at icloud.com



> Am 19.04.2022 um 19:26 schrieb bf-usd-request at blender.org:
> 
> Send Bf-usd mailing list submissions to
> 	bf-usd at blender.org
> 
> To subscribe or unsubscribe via the World Wide Web, visit
> 	https://lists.blender.org/mailman/listinfo/bf-usd
> or, via email, send a message with subject or body 'help' to
> 	bf-usd-request at blender.org
> 
> You can reach the person managing the list at
> 	bf-usd-owner at blender.org
> 
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of Bf-usd digest..."
> 
> 
> Today's Topics:
> 
>   1. Support for Preliminary_Text (John Harrison)
>   2. Re: Support for Preliminary_Text (Charles Wardlaw)
>   3. Re: Support for Preliminary_Text (John Harrison)
> 
> 
> ----------------------------------------------------------------------
> 
> Message: 1
> Date: Fri, 15 Apr 2022 17:55:22 -0700
> From: John Harrison <johnnhe4 at yahoo.com>
> To: bf-usd at blender.org
> Subject: [Bf-usd] Support for Preliminary_Text
> Message-ID: <30CD12A5-A72E-4257-9F5E-1AED81DADDCF at yahoo.com>
> Content-Type: text/plain; charset="utf-8"
> 
> Hi, I’m a software developer (never contributed to blender) motivated (possibly?) to implement USD export support for one of Apple’s schema additions, namely Preliminary_Text: https://developer.apple.com/documentation/arkit/usdz_schemas_for_ar/preliminary_text <https://developer.apple.com/documentation/arkit/usdz_schemas_for_ar/preliminary_text>
> 
> My motivation is to allow a designer to create a USD file with text that contains the text attributes, not the final mesh (though I supposed it could do both). This would allow software to pull the attributes from the USD file at runtime, including xForm, material, font-family, etc., and use these attributes to render dynamic text at runtime with the same text attributes the designer intended. Think 3D user interface where text may change based on a view model.
> 
> Apple is thinking along these lines but, after diving into their tools, there seems to be more concept than implementation. They are pushing Reality Composer but I find it more a broken toy than a tool, so I am turning to blender.
> 
> Thoughts? Questions?
> 
> Best,
> John Harrison
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL: <http://lists.blender.org/pipermail/bf-usd/attachments/20220415/ae8a81fb/attachment-0001.htm>
> 
> ------------------------------
> 
> Message: 2
> Date: Tue, 19 Apr 2022 11:35:46 -0400
> From: Charles Wardlaw <cwardlaw at imageworks.com>
> To: Blender USD Workgroup <bf-usd at blender.org>
> Subject: Re: [Bf-usd] Support for Preliminary_Text
> Message-ID:
> 	<CAOOMb3do2ZTj+4j-b9SQg0GmVNkMRh2zznFf-ysgkHmAFYZZVQ at mail.gmail.com>
> Content-Type: text/plain; charset="utf-8"
> 
> Hi John,
> 
> That sounds like a neat addition.  Reading over their description, a few
> questions come to mind:
> 
> - How large is a "point" in DCC units?  Can this be specified somehow?
> - Is the text intended to be converted to polygons for rendering, or is it
> intended to be displayed in a resolution-independent way like an SDF font?
> - If the text is intended to be converted to polygons, how does the author
> specify subdivision or font spline to polygon conversion?
> - How do I specify or override properties on a per-character level?
> - Are width and height in scene units, as is depth?
> 
> 
> ~ Charles
> 
> 
> 
> 
> On Tue, Apr 19, 2022 at 7:51 AM John Harrison via Bf-usd <bf-usd at blender.org>
> wrote:
> 
>> Hi, I’m a software developer (never contributed to blender) motivated
>> (possibly?) to implement USD export support for one of Apple’s schema
>> additions, namely Preliminary_Text:
>> https://developer.apple.com/documentation/arkit/usdz_schemas_for_ar/preliminary_text
>> 
>> My motivation is to allow a designer to create a USD file with text that
>> contains the text *attributes*, not the final mesh (though I supposed it
>> could do both). This would allow software to pull the attributes from the
>> USD file at runtime, including xForm, material, font-family, etc., and use
>> these attributes to render dynamic text at runtime with the same text
>> *attributes* the designer intended. Think 3D user interface where text
>> may change based on a view model.
>> 
>> Apple is thinking along these lines but, after diving into their tools,
>> there seems to be more concept than implementation. They are pushing
>> Reality Composer but I find it more a broken toy than a tool, so I am
>> turning to blender.
>> 
>> Thoughts? Questions?
>> 
>> Best,
>> John Harrison
>> _______________________________________________
>> Bf-usd mailing list
>> Bf-usd at blender.org
>> List details, subscription details or unsubscribe:
>> https://lists.blender.org/mailman/listinfo/bf-usd
>> 
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL: <http://lists.blender.org/pipermail/bf-usd/attachments/20220419/da154e2a/attachment-0001.htm>
> 
> ------------------------------
> 
> Message: 3
> Date: Tue, 19 Apr 2022 10:26:01 -0700
> From: John Harrison <johnnhe4 at yahoo.com>
> To: Blender USD Workgroup <bf-usd at blender.org>
> Subject: Re: [Bf-usd] Support for Preliminary_Text
> Message-ID: <30015457-5C8F-4222-9E64-21888F1F9839 at yahoo.com>
> Content-Type: text/plain; charset="utf-8"
> 
> Great questions Charles, here are my thoughts in the same order as your questions (learning as I go here):
> 
> - Apple specifies a default point size of 144 in their docs (https://developer.apple.com/documentation/arkit/usdz_schemas_for_ar/preliminary_text/pointsize <https://developer.apple.com/documentation/arkit/usdz_schemas_for_ar/preliminary_text/pointsize>). My guess is Apple assumes the traditional 1/72” point unit, which multiplies nicely to 144 and would result in Apple choosing a default size of 2”. Now Blender has no such notion of point size for fonts, leading to your question about how blender would specify this. One suggestion is to have Blender convert on export, such that it measures the height in designer units, converts to inches, then divides by 72.
> - Resolution-independent would be great, but not sure how that would work. I think this is a separate issue from exporting though, seems like a rendering engine effort?
> - I suppose the designer would leave that up to the rendering engine as well, but maybe you are considering use-cases I am not thinking of?
> - Right. It seems like this isn’t called out at all in the Apple docs. Maybe they expect a separate `def` for heterogenous characters?
> - No idea. The docs refer to USD’s notion of a “stage unit”, but honestly having wdith/height makes no sense to me - seems like the runtime should figure this out. The doc also states, "The runtime ignores this value if `wrapMode` is singleLine.” I would (without understanding more) not export width/height at all and see what issues it causes
> 
> - John
> 
>> On Apr 19, 2022, at 8:35 AM, Charles Wardlaw <cwardlaw at imageworks.com> wrote:
>> 
>> Hi John,
>> 
>> That sounds like a neat addition.  Reading over their description, a few questions come to mind:
>> 
>> - How large is a "point" in DCC units?  Can this be specified somehow?
>> - Is the text intended to be converted to polygons for rendering, or is it intended to be displayed in a resolution-independent way like an SDF font?
>> - If the text is intended to be converted to polygons, how does the author specify subdivision or font spline to polygon conversion?
>> - How do I specify or override properties on a per-character level?
>> - Are width and height in scene units, as is depth?
>> 
>> 
>> ~ Charles
>> 
>> 
>> 
>> 
>> On Tue, Apr 19, 2022 at 7:51 AM John Harrison via Bf-usd <bf-usd at blender.org <mailto:bf-usd at blender.org>> wrote:
>> Hi, I’m a software developer (never contributed to blender) motivated (possibly?) to implement USD export support for one of Apple’s schema additions, namely Preliminary_Text: https://developer.apple.com/documentation/arkit/usdz_schemas_for_ar/preliminary_text <https://developer.apple.com/documentation/arkit/usdz_schemas_for_ar/preliminary_text>
>> 
>> My motivation is to allow a designer to create a USD file with text that contains the text attributes, not the final mesh (though I supposed it could do both). This would allow software to pull the attributes from the USD file at runtime, including xForm, material, font-family, etc., and use these attributes to render dynamic text at runtime with the same text attributes the designer intended. Think 3D user interface where text may change based on a view model.
>> 
>> Apple is thinking along these lines but, after diving into their tools, there seems to be more concept than implementation. They are pushing Reality Composer but I find it more a broken toy than a tool, so I am turning to blender.
>> 
>> Thoughts? Questions?
>> 
>> Best,
>> John Harrison
>> _______________________________________________
>> Bf-usd mailing list
>> Bf-usd at blender.org <mailto:Bf-usd at blender.org>
>> List details, subscription details or unsubscribe:
>> https://lists.blender.org/mailman/listinfo/bf-usd <https://lists.blender.org/mailman/listinfo/bf-usd>
> 
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL: <http://lists.blender.org/pipermail/bf-usd/attachments/20220419/1dcb6419/attachment.htm>
> 
> ------------------------------
> 
> Subject: Digest Footer
> 
> Bf-usd mailing list
> Bf-usd at blender.org
> https://lists.blender.org/mailman/listinfo/bf-usd
> 
> 
> ------------------------------
> 
> End of Bf-usd Digest, Vol 15, Issue 1
> *************************************

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.blender.org/pipermail/bf-usd/attachments/20220420/c0464c1a/attachment-0001.htm>


More information about the Bf-usd mailing list