Make subdivision surfaces work in Reality Composer Pro

Information is light on the new subdivision support for USD models in RealityKit, and I have been unable so far to get one of my models to actually subdivide within Reality Composer Pro or Quick Look (or when viewing on Vision Pro).

I've exported a few test models from Houdini and verified that it contains ' uniform token subdivisionScheme = "catmullClark"'. I've started with some very lightweight, basic meshes.

But, when viewing, they simply look like polygonal meshes. There's no 'subdividing' occurring at runtime when viewing the models.

Is there a trick to getting them to actually smooth-out?

Answered by DTS Engineer in 809368022

Requirements for using subdivision surfaces are listed on this document:

https://developer.apple.com/documentation/realitykit/validating-usd-files

it says:

RealityKit supports subdivision on objects using a USD preview surface shader, starting with visionOS 2, macOS 15, iOS 18, and iPadOS 18. Objects with custom MaterialX materials use standard polygonal meshes.

Please verify your setup is compatible for using subdivision surfaces.

Requirements for using subdivision surfaces are listed on this document:

https://developer.apple.com/documentation/realitykit/validating-usd-files

it says:

RealityKit supports subdivision on objects using a USD preview surface shader, starting with visionOS 2, macOS 15, iOS 18, and iPadOS 18. Objects with custom MaterialX materials use standard polygonal meshes.

Please verify your setup is compatible for using subdivision surfaces.

Thanks for replying. Using a preview surface, yes. See attached image – shows a snippet of the usda specifying subdivision of catmul clark.

Note the Reality Composer Pro screen – the object is jagged. (Whereas if I render the same asset in Houdini Karma w/ subdivision on, it is smooth – so the topology is clean.)

Hello Gregory,
Also, please verify that you are using the "Physically Based" Shader (as selected in the Materials tab in Reality Composer Pro). Subdivision surfaces are not supported with custom materials at this time.

Accepted Answer

Here's an example showing the correct material settings:

Super helpful thread. How could we enable this programmatically via swift?

noticed reality composer pro has these settings we can enable for an asset.

Make subdivision surfaces work in Reality Composer Pro
 
 
Q