70

我使用了 3D iphone (.pod) 模型,它在 PVRShammon 中正确显示。

但是当我将该 3D 模型导入 isgl3D 时,它无法正确显示纹理图像,图像仅覆盖了带有一些线条和三角形的对象的某些区域。


_cameraController = [[Isgl3dDemoCameraController alloc] initWithCamera:self.camera andView:self];
_cameraController.orbit = 10;
_cameraController.theta = 20;
_cameraController.phi = 0;
_cameraController.doubleTapEnabled = NO;


Isgl3dPODImporter * podImporter = [Isgl3dPODImporter podImporterWithFile:@"iPhone5Spod.pod"];
[podImporter printPODInfo];
[podImporter buildSceneObjects];


Isgl3dTextureMaterial *material2 = [[[Isgl3dTextureMaterial alloc] 
                                         initWithTextureFile:@"DiffuseBody2.jpg"  
                                         shininess:0.0  
                                         precision:Isgl3dTexturePrecisionHigh  
                                         repeatX:YES  
                                         repeatY:YES] autorelease];


mesh2 = [podImporter meshAtIndex:4];
node2 = [self.scene createNodeWithMesh: mesh2 andMaterial:material2];
mesh2.normalizationEnabled = YES;
node2.position = iv3(0, 0, 0);
node2.rotationY = 180;
[podImporter addMeshesToScene:self.scene];


Isgl3dLight * light  = [Isgl3dLight lightWithHexColor:@"FFFFFF" diffuseColor:@"FFFFFF" specularColor:@"FFFFFF" attenuation:0.000];
light.lightType = DirectionalLight;
[light setDirection:-1 y:-1 z:0];


[self setSceneAmbient:[Isgl3dColorUtil rgbString:[podImporter ambientColor]]];
[self schedule:@selector(tick:)];

欲了解更多信息,请查看图片。 在 isgl3D 视图中输出图像

4

1 回答 1

1

这只是我的两分钱。您的纹理是否符合 isgl3D 要求?

来自 isgl3D 教程 3 - 纹理映射 http://isgl3d.com/tutorials/4/tutorial_3_texture_mapping

对于标准图像文件,图像大小必须是 2 的系数:例如 64x128、256x32 等。对于 pvr 纹理,图像文件也必须是方形的:例如 64x64、256x256 等。

希望这有帮助。

于 2015-10-04T00:28:20.350 回答