0

ISGL3D フレームワークを使用して、POD ファイルの 3D オブジェクト (使用して Blender からエクスポート) を iPad にインポートしようとしています。エラーは発生しませんでしたが、私の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;}

_podImporter カメラを使用せずに 3d オブジェクトだけを追加しようとしましたが、3d オブジェクトが見つからないという例外が発生しました。助けてください、ありがとう!

4

1 に答える 1

0

問題を見つけるのにしばらく時間がかかりました:

私はこのコードを逃しました:

[_podImporter buildSceneObjects];

したがって、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:)];

} 自己を返す;}

于 2013-04-25T16:59:10.363 に答える