
three.js加载gltf模型并更换材质贴图遇到了一个问题
three.js
JavaScript 3D Library.
项目地址:https://gitcode.com/gh_mirrors/th/three.js

·
如题,在加载了gltf模型后,想要更换模型中的某个网格的贴图,在使用了官方的方法后,发现材质贴图似乎不匹配原有的网格,以下是不匹配的效果:
更换材质贴图的代码(未修改前):
//纹理贴图加载器TextureLoader
const texLoader = new THREE.TextureLoader();
//src是贴图地址
var texture = texLoader.load(src)
obj.material.map = texture;
原始效果:
贴图材质目标效果(拿blender做测试的效果):
更换后不匹配的效果:
three.js
JavaScript 3D Library.
项目地址:https://gitcode.com/gh_mirrors/th/three.js
修改代码后,达到的目标效果:
和blender测试的效果基本一致。
下面贴修改后的代码:
//纹理贴图加载器TextureLoader
const texLoader = new THREE.TextureLoader();
//src是贴图地址
var texture = texLoader.load(src)
//以下几个有影响
texture.colorSpace = obj.material.map.colorSpace
texture.flipY = obj.material.map.flipY
texture.repeat = obj.material.map.repeat
texture.wrapS = obj.material.map.wrapS
texture.wrapT = obj.material.map.wrapT
//下面几个不确定,注释了也没影响
texture.name = obj.material.map.name
texture.userData = obj.material.map.userData
texture.version = obj.material.map.version
obj.material.map = texture;
可以看到,就是在替换texture时将texture的部分属性保持和原来的texture属性一致即可。
这是一种方法,如果有更好的方法,欢迎评论留言!
推荐内容
阅读全文
AI总结




JavaScript 3D Library.
最近提交(Master分支:12 天前 )
f636bf1f
5 小时前
7f74cfa8
* Added new Rapier physics examples
* Delete attribute when using Rapier debugger
* Added screenshots
* Restored jsDocs to RapierPhysics.js
* Updated files.json
* added exception
* Updates for Michael
* Refactored debugger as RapierHelper
* Removed unused imports from RapierPhysics.js
* Update RapierPhysics.js
* Update RapierPhysics.js
Fix code style.
* Refactored physics_rapier_joints.html to not use getBody.
* Removed getBody from RapierPhysics.js
* Update RapierPhysics.js
* Update RapierPhysics.js
* Refactored access to the RigidBody
* Update physics_rapier_vehicle_controller.html
---------
Co-authored-by: Michael Herzog <michael.herzog@human-interactive.org> 6 小时前
更多推荐
相关推荐
查看更多
three.js

JavaScript 3D Library.
three.js

JavaScript 3D Library.
Cesium与Three.js集成示例

Cesium 与 Three.js 集成示例欢迎来到 Cesium 与 Three.js 集成的示范项目!本仓库提供了将行业领先的三维地球库 Cesium(版本 1.88)与强大的 3D 图形库 Three.js(版本 r135)相结合的实例代码
热门开源项目
活动日历
查看更多
直播时间 2025-03-13 18:32:35

全栈自研企业级AI平台:Java核心技术×私有化部署实战
直播时间 2025-03-11 18:35:18

从0到1:Go IoT 开发平台的架构演进与生态蓝图
直播时间 2025-03-05 14:35:37

国产工作流引擎 终结「996」开发困局!
直播时间 2025-02-25 14:38:13

免费开源宝藏 ShopXO,电商系统搭建秘籍大公开!
直播时间 2025-02-18 14:31:04

从数据孤岛到数据智能 - 企业级数据管理利器深度解析
所有评论(0)