首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将3D模型转换为SceneJS JSON,包括纹理

将3D模型转换为SceneJS JSON,包括纹理
EN

Stack Overflow用户
提问于 2011-10-09 18:50:39
回答 1查看 5.3K关注 0票数 9

动机

我正在尝试使用WebGL创建一个小型演示应用程序。我选择使用SceneJS,因为它似乎是一个简单的框架,并足以满足这个目的。

我已经下载了几个.blend模型(艾米·罗斯等),并使用Blender将它们导出为一个Collada (.dae)文件。然后,我使用将它们转换为json模型。

我只是花了几个小时让鱼腥草转换器开始工作。显然,如果您以前从未使用过Python,那么让这些Python依赖项在Windows中工作并不是那么容易。;)

问题

但现在我又被困住了。我的问题是,模型没有任何纹理或材料。

我使用了西摩平面实例 of SceneJS。我改装的模型几乎看不见。它是黑色的,似乎对现场的灯光没有反应。如果我把飞机和模型放在一起,我可以看到模型是装载的,因为它的手臂和腿伸出了飞机。

现在,我学习了几个教程,这些教程允许我将纹理导出为PNG图像。然后,我修改了JSON模型中的纹理文件名,使其与文件名相匹配,但没有帮助。

因此,我希望有人能帮助我找到一种方法,将混合器模型(或其他常见的3D模型)导出到SceneJS使用的JSON格式,包括纹理。

在SceneJS中加载模型的任何其他方法也会这样做,只要它能工作。

如果一个人有一个免费下载身体/图形JSON模型的链接,这对目前是有帮助的,但我更愿意了解它是如何工作的。)

我在用

  • Windows 7家庭高级64位
  • Python2.7 (Windows 32位) 我选择了32位版本,因为它似乎更好地支持库和更多可用的安装程序。起初,我把32位和64位混为一谈,这给我带来了麻烦,但现在一切似乎都正常了(除了纹理,也就是说)。
  • 搅拌机2.59
  • SceneJS 0.8.0

我的工作流

在Blender中,我将模型导出到Collada (*.dae)文件,然后使用将它们转换为原始JSON。这给了我一个包含两个对象的JSON文件。第一个似乎是现场,第二个似乎是模型。我保留第二个变量,并将其放入SceneJS示例代码中使用的Javascript变量中。该模型以属性, "type": "library", "parent": "Scene"结束,我需要从代码中删除这些属性,以使其完全加载。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 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,虽然这不是有史以来最漂亮的模型。

事实上,艾米·罗斯的模型不适合你的原因之一是因为还不支持多种材料。我今晚很快就会为这件事增加支持。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7705733

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档