Thanks for being a part of WWDC25!

How did we do? We’d love to know your thoughts on this year’s conference. Take the survey here

SceneKit SCNMorpher Supports SCNGeometry with Some SCNLevelOfDetail

In my project, I have several nodes (SCNNode) with some levels of detail (SCNLevelOfDetail) and everything works correctly, but when I add animation using morphing (SCNMorpher), the animation works correctly but without the levels of detail. Note: the entire scene is created in Autodesk 3D Studio Max and then exported in (.ASE) format.

The goal is to make animations using morphing that have some levels of detail.

Does anyone know if SCNMorpher supports geometry with some levels of detail?

I appreciate any information about this case.

Thanks everyone!!!

Part of the code I use to load geometries (SCNGeometry) with some levels of detail (SCNLevelOfDetail) using morphing (SCNMorpher).

node.morpher = [SCNMorpher new];

SCNGeometry *geometry = [self geometryWithMesh:mesh];
NSMutableArray <SCNLevelOfDetail*> *mutLevelOfDetail = [NSMutableArray arrayWithCapacity:self.mutLevelsOfDetail.count];

for (int i = 0; i < self.mutLevelsOfDetail.count; i++) {
    ASCGeomObject *geomObject = self.mutLevelsOfDetail[i];
    SCNGeometry *geometry = [self geometryWithMesh:geomObject.mesh.mutMeshAnimation[i]];
    
    [mutLevelOfDetail addObject:[SCNLevelOfDetail levelOfDetailWithGeometry:geometry worldSpaceDistance:geomObject.worldSpaceDistance]];
}

geometry.levelsOfDetail = mutLevelOfDetail;
node.morpher.targets = [node.morpher.targets arrayByAddingObject:geometry];
Answered by DTS Engineer in 830491022

I inquired with our SceneKit engineering team and here's what they had to say:

A node's geometry can have multiple LODs, and each LOD should be able to have morph targets.

Reading your code we think that you want to specify LODs on the morph targets themselves but that is not supported.

if being able to specify LODs on morph targets is something you'd like to be able to do using our APIs, won't you please consider filing an enhancement request using Feedback Assistant. Once you file the request, please post the FeedBack number here.

If you're not familiar with how to file enhancement requests, take a look at Bug Reporting: How and Why?

I inquired with our SceneKit engineering team and here's what they had to say:

A node's geometry can have multiple LODs, and each LOD should be able to have morph targets.

Reading your code we think that you want to specify LODs on the morph targets themselves but that is not supported.

if being able to specify LODs on morph targets is something you'd like to be able to do using our APIs, won't you please consider filing an enhancement request using Feedback Assistant. Once you file the request, please post the FeedBack number here.

If you're not familiar with how to file enhancement requests, take a look at Bug Reporting: How and Why?

@DTS Engineer

Thank you for your reply!!!

Here is the Feedback number informing the suggestion for improvement FB17088705.

So I'll be waiting.

Thanks again!!!

SceneKit SCNMorpher Supports SCNGeometry with Some SCNLevelOfDetail
 
 
Q