2016-11-15 3 views
-1

Ich versuche, meine Aufgabe absteuernd SCNNode hier verwendet, ist mein Code:ändern SCNScene Skala

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

Aber das Problem ist Gegenstand der Waage überhaupt nicht ändern! Was ist falsch ?

Antwort

0

Die Antwort von Jörg Kirchhof ist richtig. Sieh dir das Schiff im SceneKit Editor an. Der oberste Knoten des Szenengraphen ist der gewünschte Knoten. Im Fall von Apples Beispielcode ist es "ship".

SceneKit Editor Scene Graph

Ihre zweite Zeile SCNNode *node = [SCNNode node]; macht keinen Sinn, dass Fall, weil es nur ein leerer Knoten ist. Ersetzen Sie diese Zeile durch die Zeile darunter.

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

Mit [SCNNode node] erstellen Sie einen neuen Knoten, der nichts mit der Szene und dem Schiff zu tun hat. In der nächsten Zeile skalieren Sie die (nicht vorhandene) Geometrie dieses Knotens.

Skalieren Sie stattdessen die rootNode Ihrer Szene.

Wenn Ihre .dae mehr als nur das Schiff enthält, das Sie skalieren wollten, suchen Sie nach dem Knoten, der das Schiff enthält, indem Sie [scene.rootNode childNodeWithName:shipNodeName recursively:YES] verwenden.

+0

Danke aber nichts geändert –