java.lang.NumberFormatException:空字符串-OBJ模型加载器
我想将OBJ模型加载到OpenGL中。但是我在获取模型数据时遇到问题,当我读取文件时,我得到以下错误:java.lang.NumberFormatException:空字符串-OBJ模型加载器,java,regex,opengl,models,Java,Regex,Opengl,Models,我想将OBJ模型加载到OpenGL中。但是我在获取模型数据时遇到问题,当我读取文件时,我得到以下错误: Exception in thread "main" java.lang.NumberFormatException: empty String at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1011) at java.lang.Float.valueOf(Float.java:417
Exception in thread "main" java.lang.NumberFormatException: empty String
at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1011)
at java.lang.Float.valueOf(Float.java:417)
at game.trippylizard.OBJLoader.loadModel(OBJLoader.java:18)
at game.trippylizard.MainScreen.<init>(MainScreen.java:39)
at game.trippylizard.MainScreen.main(MainScreen.java:71)
有人能告诉我怎么解决这个问题吗
另外,我对regex和这种格式有点陌生。似乎您的模型顶点定义行在“v”指令后包含多个空格。 你期望这样:
"v -1.0 1.0 1.0"
但该模型包含以下内容:
"v -1.0 1.0 1.0"
所以你的代码不能处理这种情况
试着像这样解析:
String arr[] = line.substring(2).trim().split(" ");
float x = Float.parseFloat(arr[0]);
float y = Float.parseFloat(arr[1]);
float z = Float.parseFloat(arr[2]);
m.vertices.add(new Vector3f(x,y,z));
请提供您的输入样本。您的输入可能不是有效的浮点或分析错误。请在OBJLoader类的代码中指出第18行。
String arr[] = line.substring(2).trim().split(" ");
float x = Float.parseFloat(arr[0]);
float y = Float.parseFloat(arr[1]);
float z = Float.parseFloat(arr[2]);
m.vertices.add(new Vector3f(x,y,z));