2016-11-15 17 views
-1

は私のコードです:変更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

ありがとうございますが変更はありません –

関連する問題