动机
我正在尝试使用WebGL创建一个小型演示应用程序.我选择使用SceneJS,因为它似乎是一个简单的框架,并且足以满足此目的.
我已经下载了几个.blend模型(Amy Rose等)并使用Blender将它们导出为Collada(.dae)文件.然后我使用scenejs-pycollada将它们转换为json模型.
我只花了几个小时让scenejs-pycollada转换器工作.如果您以前从未使用过Python,那么显然让这些Python依赖项在Windows中运行并不容易.;)
问题
但现在我被困(再次).我的问题是模型没有任何纹理或材料.
我使用了SceneJS 的Seymour Plane示例.我转换的模型几乎看不到.它是黑色的,似乎不响应场景中的灯光.如果我将平面和模型加载在一起,我可以看到模型被加载,因为它的手臂和腿伸出了飞机.
现在我按照了几个教程,让我将纹理导出为PNG图像.然后我修改了JSON模型中的纹理文件名以匹配文件名,但它没有帮助.
所以我希望有人可以帮我找到一种方法将Blender模型(或其他常见的3D模型)导出为SceneJS使用的JSON格式,包括纹理.
只要它工作,在SceneJS中加载模型的任何其他方法也会这样做.
如果有一个免费下载身体/图形JSON模型的链接,这将有助于现在,但我宁愿了解它是如何工作的.:)
我正在使用
我的工作流程
在Blender中,我将模型导出到Collada(*.dae)文件,然后使用scenejs-pycollada将它们转换为Raw JSON.这给了我一个JSON文件,里面有两个对象.第一个似乎是场景,第二个是模型.我保留第二个并将其放在SceneJS示例代码中使用的Javascript变量中.该模型以, "type": "library", "parent": "Scene"
我需要从代码中删除的属性结束,以使其加载.
我正在考虑坚持一个特定的框架来为我的学术课程工作,但只是基于我应该证明的结果.我想绘制所有三个框架的图形,其中顶点数是一个轴而FPS(阈值是60)是在另一个轴上.这是否足以在obj,collada,json等格式中采用单个预定义模型并将其加载到三个框架中?然后将帧速率和顶点数记录到某个外部文件,然后使用数据绘制图表,根据Performance参数报告三者中的最佳框架.但是我正在寻找所有这些框架的一些样板代码来加载不同的模型(可以用于我的图中的顶点维数)并将每秒的帧速率记录到外部文件.这是我一直在想的方法.但不能' 在互联网上找到很多帮助.我希望有人可以帮助我吗?