没有纹理的 ThreeJs 和 Blender 模型

Posted

技术标签:

【中文标题】没有纹理的 ThreeJs 和 Blender 模型【英文标题】:ThreeJs and Blender model without texture 【发布时间】:2014-06-04 00:52:43 【问题描述】:

我是 Blender 和 ThreeJs 的新手,在询问之前进行了很多搜索。我使用 Blender 创建了一个模型并将其作为 .dae 进行了 esport,因此我可以将其加载到 html 画布中。问题是只加载模型而不加载纹理。我做错了什么,或者是加载程序以某种方式导致了问题?

示例如下: http://provasitimek.herobo.com/firstImport2.html

和代码: https://github.com/MarcinKwiatkowski1988/learningThreeJs/tree/master/ThreeJs_and_blender

附言。搅拌机版本是 2.70(所以问题可能出在这里?)

PS2:所以,经过多次尝试,这是我的结论:

    要获取对象的颜色,您必须选择 Blender 渲染器而不是 Cycles 渲染器 导出到文件 .dae 并不重要,应该使用所有选项(或者至少我没有发现使用不同选项导出的文件之间有任何差异) 如果您使用 Blender 渲染器和任何基本材质(Basic、Lambert、Phong),您只能获得在 threeJs 中渲染的对象的颜色:因此,例如,如果您在搅拌机上对您的对象应用透明度,您将不会在threeJs上的渲染对象上看到它

以我目前的水平(两周前我刚开始学习threeJs和搅拌机),这是我能提供的。希望像@mrdoob 这样具有更高技能的人能找出问题所在

【问题讨论】:

您正在链接到一个已有一年历史的库版本。您还会抛出控制台错误。升级到当前版本的three.js,然后重试。 我从 mrdoob 获取了最后三个分钟,应该是最后一个:github.com/mrdoob/three.js/blob/master/build/three.min.js 现在连模型都无法工作... 【参考方案1】:

THREE.js 在您实际制作网格之前不会将模型和纹理配对。分别导出模型和纹理,分别加载并调用

new THREE.Mesh(blenderGeometry,blenderTexure)

【讨论】:

感谢您的建议,但您确定吗?我做了其他测试,似乎一个正在工作 - provasitimek.herobo.com/firstImport3.html 问题是我不知道为什么这个工作而其他人没有,因为提取方式相同并且threeJs代码相同:/ 我所知道的是,很多人在导入配对资产时遇到了麻烦,而共识是单独进行。如果您能弄清楚这两个示例之间的区别,这将是开始传播的好信息 由于代码完全相同,并且我以相同的方式导入文件,因此问题必须出在使用搅拌机构造对象:/无论如何,如果我弄清楚了,我肯定会传播消息

以上是关于没有纹理的 ThreeJs 和 Blender 模型的主要内容,如果未能解决你的问题,请参考以下文章

将操作从Blender操作编辑器导出到ThreeJS

blender导出threejs设置

将模型从 Blender 导出到 Three.js 时没有纹理

Three.js 导出没有纹理的 Blender 模型

ThreeJS功能解读——粒子和粒子系统

Blender 2.6 JSON导出器,纹理坐标麻烦