Gol*_*rol 9 json textures blender scenejs
动机
我正在尝试使用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"我需要从代码中删除的属性结束,以使其加载.
我实际上是scenejs-pycollada的作者.让我看看我是否可以帮助你:)
我看到你正在使用SceneJS的0.8版本......事情已经变得不稳定了,所以从我的个人仓库中从github和scenejs-pycollada中拉出SceneJS的2.0分支实际上是最容易的.我基本上将SceneJS 0.9作为第一个版本的scenejs-pycollada,但该版本从未正式发布.此外,从长远来看,如果你现在切换,你将不必重写所有内容......
有问题的Windows编译也是一个很大的荆棘,我真的希望numpy开发人员能为你修复这个窗户.一旦SceneJS 2.0发布,我将发布一个正式版的scenejs-pycollada,它包含了windows的所有必要依赖项.
因此,请随意评论此答案或更新您的问题.我会试着留意它.
PS或者,如果你真的很沮丧我实际上有一个第二个搅拌机出口商在 https://github.com/rehno-lindeque/Blender-WebGL-exporter,但我不建议使用这个 - 它已经过时了.唯一的其他scenejs collada出口商很久以前就被弃用了.
PPS还有一些示例和一些测试模型在scenejs-pycollada本身.如果您只是想要一个快速模型,请查看https://github.com/rehno-lindeque/scenejs-pycollada/tree/master/example,虽然不可否认它不是最漂亮的模型.
PPPS实际上Amy Rose模型不适合你的原因之一是因为scenejs-pycollada还不支持多种材料.我今晚很快就会为此增加一些支持.