2013-04-24 3 views
0

Я пытаюсь импортировать 3D-объект POD-файла (экспорт из Blender using) в свой ipad с использованием фреймворков ISGL3D. Я не получил никаких ошибок, но мой ipad показывает только черный экран. Я пытаюсь отлаживать строки за строкой, и похоже, это проблема с камерой.Файл isgl3d pod не отображается в iPad

Вот мой код в HelloWorldView:

- (id) init { 

if ((self = [super init])) { 

    container = [[self.scene createNode] retain]; 

    // Import pod data 
    _podImporter = [Isgl3dPODImporter podImporterWithFile:@"ee.pod"]; 
    Isgl3dLight * light = [Isgl3dLight lightWithHexColor:@"000000" diffuseColor:@"FFFFFF" specularColor:@"FFFFFF" attenuation:0.001]; 
    light.position = iv3(0, 0, 2); 
    light.renderLight = YES; 
    [container addChild:light]; 
///Problem seems to start from below 
    [self.camera removeFromParent]; 
    self.camera = [_podImporter cameraAtIndex:0]; 
    [self.scene addChild:self.camera]; 


    role01 = [_podImporter meshNodeWithName:@"Sphere"]; 
    [vound addChild:role01]; 

    [self schedule:@selector(tick:)]; 
} 
return self;} 

Я пытался добавить только 3d объект с вне камеры _podImporter и я получаю исключение, что он не может найти мой 3d объект. Пожалуйста, помогите и спасибо!

ответ

0

Взял меня некоторое время, чтобы выяснить проблему:

Я пропустил этот код:

[_podImporter buildSceneObjects]; 

So правильный код, чтобы получить podImporter работать в

- (id) init { 

if ((self = [super init])) { 

container = [[self.scene createNode] retain]; 

// Import pod data 
_podImporter = [Isgl3dPODImporter podImporterWithFile:@"ee.pod"]; 

[_podImporter buildSceneObjects];///<--- Put it here or anywhere before the camera code 

Isgl3dLight * light = [Isgl3dLight lightWithHexColor:@"000000" diffuseColor:@"FFFFFF" specularColor:@"FFFFFF" attenuation:0.001]; 
light.position = iv3(0, 0, 2); 
light.renderLight = YES; 
[container addChild:light]; 
[self.camera removeFromParent]; 
self.camera = [_podImporter cameraAtIndex:0]; 
[self.scene addChild:self.camera]; 


role01 = [_podImporter meshNodeWithName:@"Sphere"]; 
[vound addChild:role01]; 

[self schedule:@selector(tick:)]; 

} return self;}

Смежные вопросы