ThreeJS – 动态更换fbx模型的某个子Mesh现有的纹理贴图为指定的纹理贴图
原创文章,作者:StubbornHuang,如若转载,请注明出处:《ThreeJS – 动态更换fbx模型的某个子Mesh现有的纹理贴图为指定的纹理贴图》https://www.stubbornhuang.com/1125/
1 动态更换fbx模型的指定纹理贴图
在使用ThreeJS中的FBXLoader的过程中,我们在有的时候只需要Fbx模型的网格信息,而每个网格的纹理我们想自己动态的指定,这在OpenGL中很简单,在ThreeJS同样也是非常简单。
动态更换子mesh中纹理贴图可参考以下代码:
var fbxModelfilepath = './example.fbx';
var fbxLoader = new THREE.FBXLoader();
fbxLoader.load(fbxModelfilepath,function(fbxObject){
fbxObject.traverse(function(child){
if(child instanceof THREE.Mesh)
{
if(child.name.indexOf("Body") != -1)
{
// 如果贴图格式为tga则使用THREE.TGALoader
// var loader = new THREE.TGALoader();
// 如果贴图格式为其他普通格式,则使用Three.TextureLoader
var loader = new Three.TextureLoader();
loader.load(
'./Resource/body.png', // 本地路径的图片
// 加载完贴图后的回调函数
function (texture) {
child.material.map = texture;
child.material.needsUpdate = true;
console.log("身体贴图更新完毕");
},
// 目前不支持加载贴图过程中的回调函数
undefined,
// 加载出错时候的回调函数
function (err) {
console.error('An error happened.');
}
);
}
}
});
scene.add(fbxObject);
});
当前分类随机文章推荐
全站随机文章推荐
- 资源分享 - 深度学习入门之Pytorch(廖星宇著)PDF下载
- FFmpeg - 通过h264编码的视频文件开始很清晰后面逐渐模糊
- Windows - 虚拟按键Virtual-Key Codes大全
- 资源分享 - Fundamentals of Computer Graphics, Fourth Edition高清英文PDF下载
- OpenCV - 打开摄像头并对摄像头获取的每一帧图像进行Canny算子边缘化提取操作
- 常用的三维图形库以及软件所使用的坐标系以及旋转正方向
- C++11/std::condition_variable - 生产者消费者模型
- C++ - std::string输出双引号到字符串
- Modern OpenGL - GLSL着色语言2:GLSL入口函数和GLSL中的变量
- 矩阵 - 行主序矩阵与列主序矩阵