Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Dynamic 使用three.js进行材质预览_Dynamic_Three.js_Preview - Fatal编程技术网

Dynamic 使用three.js进行材质预览

Dynamic 使用three.js进行材质预览,dynamic,three.js,preview,Dynamic,Three.js,Preview,我正在研究一种在浏览器中显示材质的方法。 将有一个(或多个)几何体,我想选择一些路径并将3个纹理从磁盘上的文件夹加载到几何体 因此,在每个文件夹中都会有一个颜色贴图、一个镜面反射贴图和一个法线贴图 在我的浏览器的左侧,应该是带有几何体的WebGL场景。在右边应该有一些区域,我可以选择路径并加载纹理文件夹 我不熟悉three.js,我的问题是: 使用three.js,这可能吗?有没有办法在浏览器中加载纹理?我可以在几何体上放置一个镜面反射、一个法线和一个颜色贴图吗?是的。请参见下载中“示例”文件夹

我正在研究一种在浏览器中显示材质的方法。 将有一个(或多个)几何体,我想选择一些路径并将3个纹理从磁盘上的文件夹加载到几何体

因此,在每个文件夹中都会有一个颜色贴图、一个镜面反射贴图和一个法线贴图

在我的浏览器的左侧,应该是带有几何体的WebGL场景。在右边应该有一些区域,我可以选择路径并加载纹理文件夹

我不熟悉
three.js
,我的问题是:

使用
three.js
,这可能吗?有没有办法在浏览器中加载纹理?我可以在几何体上放置一个镜面反射、一个法线和一个颜色贴图吗?

是的。请参见下载中“示例”文件夹中的示例,其中许多示例具有纹理、法线贴图和镜面反射贴图


材质预览可以像任何其他类型的“普通场景”一样是自己的场景。

嗨,雅库,谢谢你的快速回复。我下载了一个blender导出的示例,并用从blender导出的几何体替换了现有几何体。这个很好用。但是,当我试图用等级库、颜色和法线贴图复制另一个示例的纹理部分并将它们插入到我的文件中时,它不起作用。当我在三的纹理搅拌器出口时,有什么特别的东西要考虑吗?JS. @ USE2524500可能是另一个问题的主题吗?你到底尝试了什么,它是如何不起作用的?您是否遇到错误,浏览器是否获得了正确的路径并实际下载了文件?与其他几何图形相比,搅拌机导出不应有任何特殊之处,除了可能存在的UV坐标相关问题。不管怎样,你可以先试试用三种方法创建的简单几何体。试着先让颜色和规格正常工作,然后再处理法线贴图,因为这可能更难正常工作(或者改用bumb贴图)。仅使用具有二维功能的纹理。@user2524500在您的用例中,仅使用
scene.OverrideMatary=mypreviewmaterial可能更容易
强制所有几何体使用预览材质。var jsonLoader=new THREE.jsonLoader();加载(“models/teapot.js”,addmodeltosene);var环境光=新的三个环境光(0x111111);场景。添加(环境光);}函数addModelToScene(几何体,材质){var material=new THREE.meshfaceMeterial(材质);android=new THREE.Mesh(几何体,材质);android.scale.set(10,10,10);scene.add(android);}这是示例中定义材质的部分,但是,当我想要更改某些内容并添加贴图时,几何体在浏览器中将不可见。