android加载obj文件,android – 从SD卡Rajawali解析.obj模型

博客内容涉及如何解决在从原始文件夹而非SD卡读取_obj3D模型文件时遇到的错误。文章指出需要在_obj文件中更改路径,并确保_mtl和_jpg纹理文件在同一目录下。同时,提到了在mtl文件中更新纹理引用,以及在代码中解析模型的步骤。错误提示表明材质文件中的纹理引用无法正确解析。解决方案包括重命名纹理文件和修改材质文件内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如果你能够从你的原始文件夹中读取obj文件

LoaderOBJ objParser = new LoaderOBJ(mContext.getResources(),mTextureManager,R.raw.camero_obj);

而不是从您的SD卡,您必须在文件中进行以下更改:

在你的obj文件中,必须在你的SD卡中保存为_obj(所以对于同一位置的_jpg和_mtl)

在你的情况下:

mtllib 1c_mtl

v -0.7526 14.5146 0.171602

v -0.7922 14.5792 0.075402

v -0.4998 14.7082 0.457802

v -0.5409 14.7486 0.393002

v -0.5358 14.5862 0.414902

以下是mtl文件

newmtl Texture0

illum 0

Kd 0.7 0.7 0.7

Ks 0 0 0

Ka 0 0 0

newmtl Texture1

illum 0

Kd 0.7 0.7 0.7

Ks 0 0 0

Ka 0 0 0

map_Kd parse_jpg

记得将纹理jpg重命名为_jpg

你收到错误的地方:

@H_404_34@

ERROR: 0:13: ‘.’ : Syntax error: Syntax error

在此之后,请按照您的代码进行解析:

private Object3D Object;

LoaderOBJ objParser = new LoaderOBJ(this,"Load/1c_obj");

try {

objParser.parse();

Object = objParser.getParsedObject();

getCurrentScene().addChild(Object);

} catch (ParsingException e) {

e.printStackTrace();

}

你得到的错误

@H_404_34@

E/Rajawali﹕ [org.rajawali3d.materials.Material] Could not compile

fragment shader:

它无法从材料文件中读取纹理文件,为此您可以在材料文件中执行上述更改.

有关自定义材质或顶点着色器的更多详细信息,请参阅Rajawail文档和示例

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值