动机
我正在尝试使用WebGL创建一个小型演示应用程序。我选择使用SceneJS,因为它似乎是一个简单的框架,并足以满足这个目的。
我已经下载了几个.blend模型(艾米·罗斯等),并使用Blender将它们导出为一个Collada (.dae)文件。然后,我使用将它们转换为json模型。
我只是花了几个小时让鱼腥草转换器开始工作。显然,如果您以前从未使用过Python,那么让这些Python依赖项在Windows中工作并不是那么容易。;)
问题
但现在我又被困住了。我的问题是,模型没有任何纹理或材料。
我使用了西摩平面实例 of SceneJS。我改装的模型几乎看不见。它是黑色的,似乎对现场的灯光没有反应。如果我把飞机和模型放在一起,我可以看到模型是装载的,因为它的手臂和腿伸出了飞机。
现在,我学习了几个教程,这些教程允许我将纹理导出为PNG图像。然后,我修改了JSON模型中的纹理文件名,使其与文件名相匹配,但没有帮助。
因此,我希望有人能帮助我找到一种方法,将混合器模型(或其他常见的3D模型)导出到SceneJS使用的JSON格式,包括纹理。
在SceneJS中加载模型的任何其他方法也会这样做,只要它能工作。
如果一个人有一个免费下载身体/图形JSON模型的链接,这对目前是有帮助的,但我更愿意了解它是如何工作的。)
我在用
我的工作流
在Blender中,我将模型导出到Collada (*.dae)文件,然后使用将它们转换为原始JSON。这给了我一个包含两个对象的JSON文件。第一个似乎是现场,第二个似乎是模型。我保留第二个变量,并将其放入SceneJS示例代码中使用的Javascript变量中。该模型以属性, "type": "library", "parent": "Scene"结束,我需要从代码中删除这些属性,以使其完全加载。
发布于 2011-10-10 22:45:33
实际上,我是一位名为的作者。让我看看我能不能帮你:)
我看你用的是0.8版的SceneJS.事情一直在变化,因此从我的来自github的SceneJS的2.0分支中提取个人回购和scenejs实际上可能是最容易的。我的目标基本上是针对SceneJS的第一个版本scenejs 0.9,但该版本从未正式发布。而且,从长远来看,如果你现在换个位置,你就不用重写所有东西了.
有问题的windows编译也是一个很大的问题,我真希望numpy开发者能帮你解决这个问题。一旦SceneJS 2.0发布,我将发布一个官方版本的scenejs,它附带了windows所需的所有依赖项。
因此,请随时评论这个答案或更新您的问题。我会尽力监视它的。
或者,如果你真的很沮丧,我实际上在https://github.com/rehno-lindeque/Blender-WebGL-exporter有第二个搅拌机出口商,但我不建议使用这个-它是非常过时的。其他唯一的scenejs collada出口商在很久以前就遭到了反对。
在本身也有一些例子和一些测试模型。如果你只想要一个快速的模型来玩,可以看看https://github.com/rehno-lindeque/scenejs-pycollada/tree/master/example,虽然这不是有史以来最漂亮的模型。
事实上,艾米·罗斯的模型不适合你的原因之一是因为还不支持多种材料。我今晚很快就会为这件事增加支持。
https://stackoverflow.com/questions/7705733
复制相似问题