2016-11-15 3 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örg Kirchhof의 답변이 옳습니다. SceneKit Editor에서 배를보십시오. 장면 그래프의 맨 위 노드는 원하는 노드입니다. Apple의 샘플 코드의 경우 "ship"입니다.

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

고맙지 만 변경 사항 없음 –