3

设计师提供了在Cinema 4D中创建的两个 DAE 文件

这两种资产在 Cinema 4D 中的大小相当。两个 DAE 文件都是使用相同的导出过程生成的。

但是,将 DAE 文件导入 SceneKit 场景会产生不同的结果。

Chango.dae 以“正常”大小导入,边界框约为 3x4x3。

Tiki.dae 以大约 155x325x140 的边界框导入巨大的尺寸。它在 C4D 内部的尺寸约为 122x283x142。

问题:

1) 你如何确保资产“适合”到 SceneKit 场景中?您是应该使用 SCNNode 的“缩放”属性来缩小资产,还是应该要求设计人员制作一定大小的资产?在SpriteKitUIKit中,这很简单。资产大小与其屏幕大小直接相关(例如,20x20 图标会占用多少屏幕空间,具体取决于分辨率)。但是,模拟是SceneKit什么?如果您希望资产适合 1x1x1 SCNNode,您要求设计师制作资产的尺寸是多少?

2)如果你的资产对于一个场景来说太大了,你如何缩小它?UIKit例如,您可以缩放图像以适应 a之UIView类的东西ScaleAspectFit。似乎没有SCNNode. 使用 SCNNode 的scale属性会改变外观,但不会改变资源的边界框。甚至改变外观也不精确。例如,对于 Tiki.dae,资产的原始高度(如边界框所示)为 324.36。但是,如果将 Y 比例设置为 0.01,则高度不会变为 ~3.24。它变得小于 3,您可以通过将其舒适地安装在高度为 3(半径为 1.5)的球体中来证明这一点。

4

1 回答 1

5

如果您打开 Collada 文件,您会发现在一种情况下距离以米表示:

昌高大

<unit name="meter"/>

在另一种情况下,它们以厘米表示:

提基科

<unit meter="0.01" name="centimeter"/>

所以值在一个文件中1表示 1m,在另一个文件中表示 1cm。这是一个资产问题,您可能可以在 Cinema 4D 中修复,或者通过手动编辑 Collada 文件。您还可以使用convertUnitsToMeters选项在加载时转换单位。

于 2016-09-07T10:38:58.647 回答