问题标签 [objloader]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
reactjs - 为什么 OBJLoader 不能与 three.js 一起使用?es6
我想用three.js 加载一个对象“.obj”。
我的代码:
错误 :
所以我使用这个包 我添加了这一行import OBJLoader from 'three-obj-loader';
但是什么都没有......我仍然有这个导入的相同错误!
更多细节:https ://github.com/SolenneD/earth-react
Scene.js和Satellite.js (这是第一个版本,所以没有这段代码,但有一个纹理 .obj)
感谢帮助。
three.js - Three.js - 将带有 TextGeometry 的场景导出到 OBJ/GLTF 然后由 OBJ/GLTF Loader 加载
我在 Three.js 中的导入/导出场景有问题 我的对象很少(使用 OBJLoader 加载的模型,使用 TextGeometry 生成的文本)。我能够使用 OBjExporter/GLTFExporter 将其导出到字符串定义,但是当我尝试再次加载它时,它将文本加载到 BufferGeometry 而不是 TextGeometry。是否可以加载具有适当几何形状的所有场景网格?或者也许它可以解析几何?我知道我可以保存没有文本的场景(以不同的定义存储文本参数然后再次生成它),但我想避免它。我期待着您的帮助。谢谢。
代码示例:
1. 将场景导出到 OBJ 的功能
- 从 OBJ 字符串导入的函数
graphics - 在我的光线追踪器中加载后翻转法线
我正在使用 C++ 开发路径/光线追踪器。我现在正在加载 obj 文件。但是有些对象在加载后会翻转法线。我无法弄清楚这种行为来自何处或如何解决它。
请参阅图片以更好地理解该问题。
显示当前行为的图像:
首先,我认为这是表面后面的法线的问题。但是在基于表面法线渲染颜色之后。很明显,法线在某些情况下是翻转的。
这是我加载模型的非常基本的代码。
在此之后,模型被插入到网格结构中以进行更快的交叉测试。
可能需要添加的是用于插入法线的代码
固定的
我修复了这个问题。它不在我的 OBJ 加载器中。该模型是从搅拌机中导出的,并且在导出时应用了所有修改器,但是在导出到 .obj 文件后,Solidify 导致一些背面与正面剪辑。删除此修饰符后,一切都恢复了“正常”(只是一个有趣的双关语来完成这个答案)
javascript - OBJLoader 和 OrbitControls 中的“THREE.OBJLoader 不是构造函数”和“Unexpected token {”
我正在尝试将 OBJ 3D 模型显示为可以使用 Three.js 与 OrbitControls 一起移动的线框。我是three.js的新手,所以如果我遗漏了一些“明显”的东西,我深表歉意。
我已经能够使用 OrbitControls 将立方体显示为线框。在不同的设置中,我能够将 OBJ 3D 模型显示为线框。因此,该问题与 3D 模型无关。
当我尝试将两种方法混合在一起时,就会出现问题。
我试图通过两种方式解决这个问题:
- 我试图将 OBJLoader 插入到多维数据集环境中。(最有希望)
- 我尝试将 OrbitControls 添加到工作但不可移动的线框 OBJ 环境中。(根本没用)
大多数其他答案都集中在脚本的顺序上:是的,我试图以各种可能的方式将three.min.js
, OrbitControls.js
,OBJLoader.js
和我的主要工作model.js
转变为有序和无序。
这是我的代码:
以下是经过 3 天的搜索和尽我所能尝试后无法修复的错误:
OrbitControls.js:9
:Uncaught SyntaxError: Unexpected token {
OBJLoader.js:5
:Uncaught SyntaxError: Unexpected token {
Uncaught TypeError: THREE.OBJLoader is not a constructor at model.js:23
这些错误似乎源于 THREE.js 文件本身,我觉得这很奇怪。我的想法和文档都没有了。
我正在使用 MAMP 运行它,但也尝试上传到服务器以查看问题是否与本地文件或类似文件有关。
javascript - 如何防止 Three.js OBJLoader 将我的 obj 的所有部分合并到 1 个网格中?
好吧,我已经在这个问题上停留了一段时间,所以我在这里。
我有一个.obj
由我的一位同事创建的文件,我需要将其加载到 three.js 场景中。我需要能够更改所述对象的各个部分的材料和纹理。只有当我尝试.obj
在 three.js 中加载它并记录我加载的对象时,我才注意到它被合并到 1 个网格中。
我一直在寻找这个问题的答案,但我什至没有找到和我有同样问题的人。我目前正在加载.obj
,它是.mtl
这样的:
我使用的 OBJLoader 是 Three.js OBJLoader,而不是 OBJLoader2。生成的日志输出如下:
如您所见,Group 只有 1 个子 Mesh。该网格本身没有更多的孩子。问题是我需要重新纹理对象的某些部分,因为它只有 1 个网格,并且说网格只能有 1 个纹理,据我所知,我不知道如何进行。我缺少一些 Three.js 的基本概念吗?
编辑:
经过一番搜索,我们发现出了什么问题:显然我的同事只在.obj
文件中定义了一个组。我们修复了.obj
文件,现在我确实得到了不同的网格。
three.js - MTLLoader 没有在我加载的对象上显示纹理
我是 ThreeJS 的新手,还在学习。我有一个地球球体 3d 对象,我将其加载到我的场景中,并且我还有一个 mtl 文件,我根据文档加载了它,但是在我渲染场景之后,地球仪看起来仍然没有纹理。我认为它只显示几何。
尝试在 Blender 中加载地球,那里的纹理看起来不错,但在浏览器中却不一样。
});
我想找到一种方法来展示地球的纹理,这样我就可以继续我的项目了。
three.js - 如何禁用三个通知消息?
我想禁用 console.log 之类的THREE.WebGLRenderer: Context Lost
,
OBJLoader: 1.8330078125ms
等等。你有什么建议吗?
three.js - 对于 Three.js 程序,“无法设置未定义的属性 'getStrokeStyle'”是什么意思?
我正在使用 SVGloader 加载 SVG,以便将其映射到我的 OBJ 文件上。但是当将它的 url 提供给 svg 文件时,它会产生一个错误
TypeError:无法设置未定义的属性“getStrokeStyle”
我正在使用 Angular 8 并使用 THREE.js 渲染一个 Obj 文件。我想加载一个 svg 并将其映射到 obj 文件以向该文件添加纹理,但正如我在上面所说的那样,它正在生成一个错误,我不知道如何解决它。
这是代码文件。
svg - 如何在 Three.js 中的 OBJ 文件上应用 SVG 纹理
我在我的一个项目中使用Threejs,我使用 OBJ 加载器渲染了一个对象文件,并将对象显示在屏幕上。但我不知道如何将SVG 图像映射到该对象,如何在该对象文件上应用纹理。请帮助我这是我当前的代码。我是这个平台的新手,对 THREE.js 了解不多,我看过一些例子,但对我来说并不奏效。我最近的帖子中的一个人告诉我如何在对象上应用材料,但它对我不起作用。
当我申请材料时,我得到了这个错误。
ERROR TypeError: Cannot set property 'map' of undefined
这是我的完整代码文件。
javascript - three.js - 当我试图加载一个对象时,颜色不会出现
我在加载 three.js 中的对象时遇到问题。正如我所说,颜色不会出现,物体是黑白的!
这是我的代码:
入门(我不确定这部分是否正常,所以我把它放在这里。)
加载对象
对不起,如果它太长了。
也许目标文件已损坏。如果是这样,那我该如何解决?
编辑:那是因为灯光反射吗?