改变SCNScene规模

时间:2016-11-15 19:16:12

标签: ios objective-c scenekit scnscene

我正在尝试使用SCNNode缩小我的对象。这是我的代码:

 SCNScene * scene = [SCNScene sceneNamed:@"ship.dae"];
    SCNNode *node = [SCNNode node];

   //This line doesn't do anything ! 
    node.scale  = SCNVector3Make(11, 11, 11);

    [scene.rootNode addChildNode:node];


    // set the scene to the view
    _myView.scene = scene;
    _myView.allowsCameraControl = YES;
    _myView.autoenablesDefaultLighting = YES;
    _myView.backgroundColor = [UIColor whiteColor];

但问题是对象的规模根本没有变化!怎么了?

2 个答案:

答案 0 :(得分:0)

使用[SCNNode node],您将创建一个与场景和船舶无关的新节点。在下一行中,缩放该节点的(不存在的)几何。

改为缩放场景的rootNode

如果您的.dae不仅包含您要扩展的船只,请使用[scene.rootNode childNodeWithName:shipNodeName recursively:YES]搜索包含该船的节点。

答案 1 :(得分:0)

JörgKirchhof的回答是正确的。在SceneKit编辑器中查看该船。场景图的顶部节点是您想要的节点。对于Apple的示例代码,它是“发货”。

SceneKit Editor Scene Graph

你的第二行-printf没有任何意义,因为它只是一个空节点。将该行替换为下面的行。

find www/*.html -type f -exec sh -c 'echo $(basename $1)' find-sh {} \;