原创文章,转载请注明出处。

打包之后Mesh没有材质问题

  • 前言
  • 解决方案
    • 1>先确认资源是否被Cook
    • 2>确认你的材质所处的路径是不是有中文
    • 3>材质的Usage守则,确认你的资源是什么类型,再去对应材质的Usage是否匹配
    • 4>加载外部的Pak没有材质

前言

UE4在打包之后有时候会遇到Material丢失的问题(都是DefuaultMaterial灰色材质),编辑器下运行是正常的,如果你也遇到了,那么可以在这里停留一下看看有没有你想要的答案。

解决方案

1>先确认资源是否被Cook

先确认你的材质是否有被引用,其实这个目的是要确认你的资源是否被Cook,也就是确认其是否被打到了你的Pak里面。
如何确认:
看下面的图片,对应转成你自己项目的Saved/Cooked/…… 目录下,找到你的那个丢失材质的名字,看看里面有没有。

到这里的话,你应该就能确认是不是没有被Cook了。
如果没有,按照下面的确认一下,如果有的话,就不用看这个标题了。
其实这个引用关系确认,不单适用于材质丢失,其他的任意uasset都有可能没有被cook上。
首先引擎cook资源是下面的原则
1)你要打包的umap里面所有被引用到的资源都统统会被cook,都是静态的在umap里面存好的,比如你在代码里写的动态的Load一个资源,这个时候其实是这个资源打包时候引擎是不知道引用关系的。所以需要按照下面步骤指定一下
2)指定额外要cook的目录,在项目设置Packaging->Additional Asset Directories to Cook路径数组中指定的,在这里添加上之后你的资源就会被Cook到了。
并注意挨着的下面还有一个Directories to never cook(这个路径代表指你不想cook的路径添加到这里),当然你用的的资源确认也不能在这个路径里面出现

如果是你资源没有被Cook,那么按照上面步骤操作完再打包看看。

2>确认你的材质所处的路径是不是有中文

在4.25引擎版本中,对中文资源支持不友好,像4.26.2就没事。比如UMG上给Image设置一张图片(中文图片或图片处于中文路径中),发现设置不上,英文的就可以。
我只是发现4.25下中文有问题,当然你确认一下你当前使用的引擎版本是不是也存在这样的问题。
如果存在的话,再看你的材质是不是在中文路径里,如果是,那么基本上将其放到英文路径里面问题就好了。

还是最好用英文,一是规范,二是减少出错找问题的时间。

3>材质的Usage守则,确认你的资源是什么类型,再去对应材质的Usage是否匹配

每个UMaterial上都有个Usage的属性数组,这个数据决定了你的材质可以被应用到哪些UE的类型上
(比如是否能应该到Skeletal Mesh骨骼网格/Instanced Static Meshes静态网格实例等等)如下

原理其实就是你这个材质会应用到哪些UE的类型上,如果你这个材质Usage上面没有选InstanceStaticMesh但是你用到了InstanceStaticMesh上,那么就会出现没有材质的情况。

如果你也是类似情况,不妨打开材质看一下usage这里。

比如下图的小汽车打包后就是没有材质的,资源也被cook了,也没有中文路径。但是就是材质属性之勾选了Skeletal Mesh,但是我是通过Brush将车刷到场景中的,这个类型其实是AInstancedFoliageActor,其实就是常用的刷植被的功能。最终对应到的是InstanceStaticMesh上,所以我在汽车的每个材质球的Usage中增加了InstanceStaticMesh的选项。再打包效果就对了。

4>加载外部的Pak没有材质

这片文章中介绍了加载单独的Pak内没有材质的情况

谢谢,创作不易,大侠请留步… 动起可爱的双手,来个关注再走呗
ღ( ´・ᴗ・` )比心<( ̄︶ ̄)>

UE4 打包之后Mesh没有材质问题相关推荐

  1. ue4打包问题的巧妙解决——二分回退大法!

    ue4打包问题的巧妙解决--二分回退大法! 参考文章: (1)ue4打包问题的巧妙解决--二分回退大法! (2)https://www.cnblogs.com/wzj998/p/6985016.htm ...

  2. UE4打包项目部署到Quest遇到的问题

    UE4打包android项目时的环境设置在4.24是个分水岭.官方给出了为虚幻4.25和更高版本设置Android开发环境的方法.如果你直接用4.24之后的版本打包,从没有用早期版本打包,可能不会遇到 ...

  3. UE4打包成APK的详细教程(普通安卓应用,VR全景应用尚在探索中,之后若解决会更新)

    因为打包apk的学习过程中没有看到有哪篇文档是把全部流程完整描述出来的(就是给完完全全纯小白的博客,对官方文档的理解也不深的情况下)(也可能是我没搜到过吧)在没理解透的情况下走了很多弯路,这个过程确实 ...

  4. UE4 用C++构建自定义材质 完成视频抠像

    众所周知,UE4中的材质可以保存成资产,可以在材质编辑器中打开,通过设置材质表达式以及调用材质函数进行编辑.编辑完成后,可以设置在组件上,或者在蓝图中调用. 现在老板告诉你:我不想管理那么多材质文件, ...

  5. UE4:打包项目前设置

    UE4版本:4.18.2 更新时间:2018.01.09 一.打包之前要烘培好 二.ProjectSetting设置: 1.设置路径:2.取消勾选"Project->Packaging ...

  6. UE4打包导出文件打开没反应

    UE4项目正常打包,打包过程也很顺利,结果exe文件打不开.这在以前的项目中都是没有出现的情况(很奇怪,挠头~)在项目设置里修改设置再导出无果:就连默认的Minimal_Default地图导出也不能运 ...

  7. UE4打包----图文傻瓜版

    一.使用UFE打包 UFE(Unreal Frontend):虚幻前端,简化加快游戏开发及测试任务的工具,它可以用来准备游戏构建,将游戏部署到设备上并进行启动 测试版本:4.18为例 注意:UE4官方 ...

  8. UE4开发七:UE4打包

    一.使用UFE打包 UFE(Unreal Frontend):虚幻前端,简化加快游戏开发及测试任务的工具,它可以用来准备游戏构建,将游戏部署到设备上并进行启动 测试版本:4.18为例 注意:UE4官方 ...

  9. VS单步调试UE4打包的exe游戏

    运行后单步调试游戏 1. 打包windows平台游戏.为了方便调试,最好选择选择Debug版本,禁止代码优化. 2. 直接运行游戏,接着打开任务管理器,选择正在运行游戏的游戏,并选择调试. 3. 选择 ...

  10. UE4打包后视频或者其他资源未打包进去

    本篇博客只是浅谈下打包的时候很多人会遗漏的一个问题,就是在UE4编辑器中运行的时候,一切正常,但是打包出来缺有的资源丢失了,其实就是通常没有打包进去导致的.这是因为有时候我们的项目可能使用了非虚幻引擎 ...

最新文章

  1. H3C 多区域MSTP配置
  2. 小米路由器mini改打印服务器_如何把家里的闲置路由器用起来
  3. 传对象与传串_简单介绍
  4. hadoop安装详细步骤_推荐一个超详细的Hadoop安装教程,已有32万次阅读
  5. 计算机怎样辅助英语听力教学方法有哪些,计算机辅助教学在英语听力中的运用.doc...
  6. linux使用openssl查看文件的md5数值
  7. Qt工作笔记-对主事件循环的进一步认识
  8. python书籍推荐:Head First Python(中文版)
  9. HDU 1158 Employment Planning【DP】
  10. python中怎么定义二维数组_如何在Python中定义二维数组
  11. java保留字详解_保留字
  12. 【转】对程序中常出现的EINT、DINT、ERTM、DRTM的理解
  13. psutil:系统、进程,信息都在我的掌握之中
  14. 基于android的外卖在线订餐系统app
  15. idea maven项目导入下载好的jar包
  16. LaTeX调整公式中部分字号及行距
  17. vue 禁止input输入框输入特殊字符和汉字
  18. java拼图游戏系统总体方案_基于JAVA的拼图游戏的设计与实现(含录像)
  19. POI生成word文档,图片显示为空白或不显示
  20. 学计算机为什么上岗之前要培训,浙江公务员面试模拟题华图解析

热门文章

  1. 考研基础高等数学笔记
  2. 铺捉factoryreset的事件 ---转载
  3. 再战高端智能电动化,错失先机的长安能靠华为“翻盘”?
  4. RocketMq中MessageQueue的分配
  5. (原博客转移)诺基亚手机成板砖无法开机后,强刷修复手机系统的方法!本人亲测
  6. 使用ffmpeg破解m3u8加密视频文件
  7. linux 运维安全,运维安全有哪些分类呢?linux学习线路图
  8. 算法4-中兴捧月杯热身赛1素数判断-热身赛2亲和串-热身赛3旅游路线-
  9. 如何面对大容量的数据存储
  10. 天正CAD启动时显示服务器名称为空,如何解决天正建筑2014启动时出现error