1
\$\begingroup\$

A designer provided the attached two DAE files created in Cinema 4D. The characters in these DAE files are to be integrated into an iOS game.

Both assets are of comparable size inside of Cinema 4D. Both DAE files were produced with the same export process.

Importing the DAE files into a SceneKit scene, however, produces different results.

Chango.dae imports at a "normal" size with a bounding box of ~3x4x3.

Tiki.dae imports at a huge size with a bounding box of ~155x325x140. Its dimensions inside Cinema 4D is 122x283x142.

Questions:

1) How do you make sure assets "fit" into a SceneKit scene? Are you supposed to scale down assets with the "scale" property of the SCNNode, or are you supposed to ask the designer to make the asset of a certain size? In SpriteKit and UIKit, this is straightforward. The asset size correlates directly to its screen size (e.g., 20x20 icon takes about that much screen space depending on resolution). However, what's the analog for SceneKit? If you want an asset to fit into a 1x1x1 SCNNode, what size do you ask the designer to make the asset?

2) If your asset is too large for a scene, how do you scale it down? In UIKit, for instance, you can scale an image to fit a UIView with something like ScaleAspectFit. There doesn't seem to be an analog for a SCNNode. Using the SCNNode's scale property changes the appearance, but doesn't change the asset's bounding box. And even changing the appearance isn't precise. For instance, with Tiki.dae, the original height of the asset (as shown by the bounding box) is 324.36. If you set the Y-scale to 0.01, however, the height doesn't become ~3.24. It becomes smaller than 3, which you can prove by fitting it comfortably within a sphere of height 3 (radius of 1.5).

\$\endgroup\$
1
\$\begingroup\$

You can always click on your .dae in the Scene Graph View, then adjust the scale in the Node Inspector. I'm using the same workflow from C4D to Xcode and I have to shrink things down to something absurdly small like x: 0.0001 y: 0.0001 z: 0.0001 so there must be something I'm missing too.

\$\endgroup\$
1
  • \$\begingroup\$ Doesn't the exporter have a scaling feature? \$\endgroup\$
    – Sidar
    Oct 14 '17 at 17:50

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.