2016-11-15 69 views
-1

我試圖縮減使用SCNNode這裏我的目標是我的代碼:變化SCNScene規模

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]; 

但問題是對象的規模並沒有改變!哪裏不對 ?

回答

0

JörgKirchhof的答案是正確的。在SceneKit編輯器中查看該船。場景圖的頂部節點是您想要的節點。在Apple的示例代碼中,它是「發貨」。

SceneKit Editor Scene Graph

你的第二個行SCNNode *node = [SCNNode node];沒有任何意義上講,它這種情況下,因爲它只是一個空的節點。用下面的行替換該行。

SCNNode *node = [scene.rootNode childNodeWithName:@"ship" recursively:YES]; 
0

[SCNNode node]您正在創建一個與場景和船無關的新節點。在下一行中,縮放該節點的(不存在的)幾何圖形。

而是縮放場景的rootNode

如果您的.dae包含的不止是您打算按比例縮放的船,請使用[scene.rootNode childNodeWithName:shipNodeName recursively:YES]搜索包含該船的節點。

+0

謝謝,但沒有任何改變 –