Three.js ObjectLoader 能够加载纹理吗?

2024-01-21

Three.js 版本 0.0.70,blender 版本 2.73a

我有一个场景导出自blender to 三.js json格式使用新的io_three (not io_three_mesh)出口商。

我可以使用以下命令将场景导入到 Three.js 中ObjectLoader:

var objectLoader = new THREE.ObjectLoader();
objectLoader.load('assets/models/exportedScene.json', function(imported) {
    scene.add(imported);
});

不幸的是,没有纹理应用于对象,仅应用于材质。 正如我所见exportedScene.json文件中,文件中有关于纹理的信息:

"images": [{
    "url": "blue.jpg",
    "uuid": "DFE5BBBF-601B-48EA-9C05-B9CB9C07D92E",
    "type": "Geometry",
    "name": "blue.jpg"
}],
"materials": [{
    "color": 200962,
    "specular": 5066061,
    "shininess": 8,
    "ambient": 200962,
    "depthTest": true,
    "depthWrite": true,
    "name": "partitionMat",
    "emissive": 0,
    "uuid": "A705A33F-68C1-489C-A702-89A0140247AB",
    "blending": "NormalBlending",
    "vertexColors": false,
    "map": "73277351-6CCF-4E84-A9F0-D275A101D842",
    "type": "MeshPhongMaterial"
}],
"textures": [{
    "minFilter": "LinearMipMapLinearFilter",
    "wrap": ["RepeatWrapping","RepeatWrapping"],
    "magFilter": "LinearFilter",
    "mapping": "UVMapping",
    "image": "DFE5BBBF-601B-48EA-9C05-B9CB9C07D92E",
    "repeat": [1,1],
    "name": "carpetTexture",
    "anisotropy": 1.0,
    "uuid": "73277351-6CCF-4E84-A9F0-D275A101D842",
    "type": "Geometry"
}],

但正如我之前所说,没有应用任何纹理。 我尝试使用 js 脚本将纹理文件放置在 html 附近,但它不起作用。

也许我最初的方法不正确,我应该导入类似于http://trijs.org/examples/webgl_loader_obj.html http://threejs.org/examples/webgl_loader_obj.html?然而,这是关于使用 ObjLoader (而不是 ObjectLoader),我不确定它是否正确。


查看 dev 分支。最近有针对即将发布的 r71 版本的纹理支持的承诺。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Three.js ObjectLoader 能够加载纹理吗? 的相关文章

  • 在透明背景的 flutter 上播放视频

    我在 Blender 上做了一些复杂的 3D 动画 我想在 flutter 上播放它们 问题是 当我将动画导出到视频并将其放在我的 flutter 应用程序上时 透明背景消失了 我使用 video player 在 flutter 上播放视
  • 我认为 *.DDS 文件应该能够快速加载?

    好的 所以我正在尝试权衡使用各种不同纹理压缩技术的利弊 我 99 999 的时间都在使用 DirectX 为 Windows 机器编写 2D 精灵游戏 到目前为止 我已经研究了带有 alpha 修剪的纹理打包 SpriteSheets 这似
  • Three.js :face4 生成三角形而不是正方形

    我正在尝试使用 tree js 自定义几何图形生成一个正方形 但是这段代码 var cubeGeo new THREE Geometry cubeGeo vertices push new THREE Vector3 25 25 25 cu
  • 如何在 Three.js 场景中包含 OVRManager?

    我创建了几个 Three js Javascript 演示应用程序 正在我的新 Oculus Go 中进行试验 我正在尝试让 Go 控制器在我的应用程序中执行某些操作 根据 Oculus 开发人员中心的说法 最好的办法是将 OVRManag
  • 当 OpenGL 中同时绑定 1D 和 2D 纹理时,正确的行为是什么?

    假设你有这样的东西 glBindTexture GL TEXTURE 2D my2dTex glBindTexture GL TEXTURE 1D my1dTex glBegin 正确的 OpenGL 行为是什么 要绘制一维纹理 二维纹理还
  • 渲染 ThreeJS 应用程序第一帧时的性能问题

    目前 当我渲染以下内容时 我的 ThreeJS 应用程序的性能受到很大影响第一帧 它会导致 Edge 和 IE 11 浏览器冻结 5 秒 并弹出窗口指示 此窗口没有响应 这可能会吓到我的用户 使用 Chrome 的性能分析器 问题似乎来自几
  • 三.js环境光意想不到的效果

    在下面的代码中 我渲染了一些立方体并使用点光源和环境光照亮它们 然而 当设置为 0xffffff 时 AmbientLight 会将侧面的颜色更改为白色 无论其指定的颜色如何 奇怪的是 点光源按预期工作 我怎样才能使环境光表现得像点光 因为
  • 在 Three.js 中从 Web Worker 加载纹理

    当将大纹理图像应用到网格上一段明显的时间时 Three js 会锁定浏览器的主线程 让我们考虑以下示例 var texLoader new THREE TextureLoader texLoader load someLargeTextur
  • 尝试渲染 SDL_Texture 时 C++ SDL2 错误:无效纹理

    我正在尝试制作一个简单的游戏 当我尝试渲染我的SDL Texture 我收到一个莫名其妙的错误 我已经将一切设置正确 我能够成功地清除屏幕SDL RenderClear 并且我的纹理不为空 因此它应该已正确创建 但是当我尝试打电话给rend
  • 使用文件 API 将资源加载到 Three.js 中

    我想创建导入 3D 模型以在浏览器中查看的功能 方法是使用File API http www html5rocks com en tutorials file dndfiles Three js 加载器在我托管的文件上运行良好 我的理解是加
  • 如何在react-三纤维中提取并播放动画

    嗯 我有 gltf 动画模型 我成功加载模型 但无法播放嵌入的动画 我想知道是否可以以任何方式解决它 顺便说一句 我正在反应中工作 先感谢您 在这里您可以找到型号https drive google com file d 1ZVyklaQu
  • 如何在 React Native 中渲染自定义 3D 对象

    我已经成功使用 Three js expo Three 和 expo gl 在 React Native 中配置了红色立方体的 3D 渲染 但我想让用户渲染他们自己可能拥有的自定义 3D 对象 obj 或 mtl 扩展名 但我不确定如何让他
  • Tween JS 基础知识之三个 JS 立方体

    我是 Tween JS 的新手 尝试使用 Tween 制作一个向右移动的简单动画 下面是我在 init 函数中的代码 我使用的是三个 JS var geometry new THREE CylinderGeometry 200 200 20
  • glDeleteTextures在Windows上似乎没有释放纹理内存,有没有解决办法?

    我的 openGL 应用程序内存不足 遇到一些问题 我正在尝试找出我的问题 为此 我创建了一个小型测试程序 它基本上只是从调用 glDeleteTextures 的文件中加载一个巨大的纹理 然后再次加载它 如果我在 OSX 上运行这个测试程
  • OrbitControls 和 dat.gui 文本不起作用

    我正在使用 Three js 和 dat gui 以及text财产 另外 我的场景中有 OrbitControls cameraControl new THREE OrbitControls camera cameraControl upd
  • 如何在多采样纹理上渲染帧缓冲区对象?

    我目前有一个使用多个通道的渲染引擎 其中图像的各个部分在纹理上渲染 然后使用着色器进行组合 它有效 现在我想激活多重采样 我在这里读到 http www opengl org wiki Framebuffer Object Examples
  • Three.js:为相机添加灯光

    我想移动和旋转相机 但将点光源保持在相对于相机的相同位置 我读过很多帖子 说您可以将灯光对象添加到相机而不是场景中 就像这样 pointLight new THREE PointLight 0xffffff pointLight posit
  • 进行亚像素平移时,2D 纹理会扭曲

    我想知道一个理论推理为什么这是可能的 几何体的平移与纹理映射有何关系 我只能在进行子像素平移时注意到这种效果 如果通过整个像素平移 纹理看起来很好 我正在使用正交投影 GL CLAMP TO EDGE GL NEAREST 片段着色器是hi
  • 如何使用OpenGL数组纹理?

    我正在尝试在OpenGL中使用精灵表 通过数组纹理实现它这就是我加载纹理的方式 QImage image image load C QtProjects project images spritesheet png png const un
  • 三个 JS Orbitcontrols 设置目标而不用 LookAt

    我正在尝试制作一个用于构建模型的 3D 查看器 我们已加载模型并尝试与模型进行某种交互 因此 我们使用 OrbiControls 来旋转 平移和缩放模型 我们希望在查看器中具有这样的行为 当用户单击并拖动 从而旋转 时 旋转中心位于用户单击

随机推荐