blender导出fbx后贴图变粉红是因贴图路径断开或未嵌入,需先打包外部数据并另存为,再导出时勾选“嵌入媒体”、路径模式设为“复制”,并确保勾选“材质”和“纹理”。

Blender导出模型后贴图变粉红、材质全灰、Unity里只显示空白网格——这不是模型坏了,而是贴图路径断开或未随模型一并导出。你手头的.blend文件里明明有贴图,但FBX打开就是空的,问题就卡在导出前那几步没做对。
确认贴图是否已打包进.blend文件
先别急着导出,先看贴图还在不在工程里:打开Blender → 顶部菜单栏【文件】→【外部数据】→【报告缺失文件】。如果列表里出现红色路径,说明Blender已经找不到这些图了。
若报告为空,继续执行:【文件】→【外部数据】→【打包所有外部数据】→ 点击【保存】。这一步会把所有PNG/JPG/TGA贴图真正塞进.blend文件内部,哪怕你删掉原贴图文件夹,工程也能正常显示。
【必须做】打包后务必另存为新文件(Ctrl+Shift+S),否则打包不生效。直接点“保存”只会覆盖旧文件,而旧文件里没打包,下次打开还是丢贴图。
导出FBX时强制嵌入贴图
选中要导出的模型 → 【文件】→【导出】→【FBX (.fbx)】→ 弹出面板后重点设置以下三项:
① 勾选【嵌入媒体】(Embed Textures)——这是防止贴图丢失最硬核的一关,不勾它,FBX就只记路径不带图;
② 【路径模式】选【复制】(Copy)——让Blender自动把贴图文件拷贝到FBX同目录下,双保险;
③ 【包含】区域勾选【材质】和【纹理】——漏掉任一个,Unity就收不到材质定义或贴图引用。
导出完成后,用文本编辑器打开生成的FBX文件(拖进去即可),搜索关键词“embedded texture”。如果看到类似“embedded texture: brick_normal.png”的行,说明贴图已成功塞进去了。
修复已导出却丢贴图的FBX(应急补救)
方法一:回Blender重导(推荐)
打开原始.blend文件 → 确认已打包 → 按上一节设置重新导出 → 替换旧FBX。这是最稳的解法,耗时2分钟,比在Unity里调半天强。
方法二:手动在Unity里重建材质
把原始贴图文件全部复制到Unity项目的Assets文件夹下(保持原有子目录结构)→ 在Project窗口右键FBX →【Reimport】→ 若仍无贴图,展开FBX下的Materials文件夹 → 逐个点击.mat文件 → Inspector里找到Albedo/Metallic/Normal等槽位 → 手动拖入对应贴图。注意:贴图命名必须与Blender里节点名完全一致(大小写、下划线都不能错)。
方法三:改用GLB格式导出(跨引擎更稳)
【文件】→【导出】→【glTF 2.0 (.glb/.gltf)】→ 勾选【将图像嵌入.glb】→ 导出。GLB是单文件封装格式,贴图、材质、动画全捆在一起,Unity/Unreal/WebGL通吃,且无需额外设置路径模式。











