如何从gwt-g3d(http://code.google.com/p/gwt-g3d/)中的JSON字符串创建网格(StaticMesh实例)?
答案 0 :(得分:1)
如果JSON字符串是静态的,您可以将其作为ExternalMeshResource加载(请参阅http://code.google.com/p/gwt-g3d/source/browse/trunk/gwt-g3d-test/src/gwt/g3d/test/client/Lesson14Demo.java了解如何使用此资源)。
如果没有,您可以使用JSONParser.parse(jsonString)
获取JSON值对象,然后执行类似
Float32Array.create(jsonObj.get(fieldName).isArray().getJavaScriptObject().<JsArrayNumber>cast());
获取可以传递给TypeArray
的{{1}}。上面的StaticMesh
取决于你的json字符串对象。例如,如果你的json看起来像:
fieldName
那么你的{
"vertexPositions" : [0, 1, 2, ...]
"vertexNormals" : [0, 1, 0, ...]
"indices" : [0, 1, 2, ...]
}
可以是“vertexPositions”,“vertexNormals”和“indices”。 (请注意,indices数组通常是fieldName
类型而不是Uint16Array
)。有关详细信息,请参阅implementation of AbstractMeshResource