当模型文件换了电脑、挪了磁盘,或者直接打包发给同事之后,在Enscape里经常会碰到一类情况:原来好好的材质突然变成了纯色,凹凸细节直接消失,墙面上本来该有的贴图也变成了一片空白。碰到贴图不显示这种事,先别急着把Enscape卸了重装,因为多数时候问题并不出在软件本身,而是那些材质里引用的图片文件被移动过位置,或者原先挂载的共享目录现在访问不到了,导致材质编辑器里Albedo、Normal、Roughness这几类贴图的路径直接失效了。Enscape本身是支持在常见的建模软件里,通过它自带的材质编辑器去补充PBR贴图的,但前提是那些贴图文件本身在磁盘上还得能被正常访问,否则编辑器里看到的就全是空的槽位。
一、贴图不显示时应该怎么处理
遇到贴图不显示的情况,先把问题的范围判断一下:是只有某几个材质变得不对劲,还是整个项目里的材质全都丢失了。如果只是单个材质出问题,那多半是它引用的贴图槽位,或者那张图片文件本身出了状况;要是整套材质都消失了,那就得重点去查文件路径和共享目录是不是已经连不上了。
1、打开材质编辑器去检查贴图槽位
在当前的建模软件里,把【Enscape Material Editor】这个面板调出来,然后用吸管或者列表选中那个显示异常的材质。先看最基础的那张贴图,也就是Albedo基础颜色贴图,看看槽位里还有没有图;接着再去检查Normal法线贴图、Roughness粗糙度贴图、Height高度贴图和Opacity透明度贴图这几个槽位,看看它们是不是也都空掉了。按照Chaos官方给出的说明,Albedo负责的是物体表面的基础颜色,Normal用来模拟表面那些细小的凹凸细节,Roughness控制的是反射的清晰程度,这几张贴图只要缺了一张,表现出来的效果就会差很多。
2、重新把丢失的图片文件指定一遍
如果在贴图槽位那里,预览图已经变成了空白,或者路径栏里还指着旧电脑上的那个盘符,那就要点一下槽位旁边的文件选择按钮,去本地磁盘里重新把那张图片找到并选上。如果材质已经变成一片纯色,那就优先把Albedo贴图补回来;要是表面颜色看上去大差不差,但原本该有的纹理起伏全没了,那就再去补Normal或者Height贴图;要是发现反光效果跟以前不一样,那就检查一下Roughness贴图是不是还在,或者有没有被错挂到了别的槽位上。
二、材质路径丢失了该怎么找回来
当贴图文件的路径已经丢了以后,重点不是急着从零开始做一套新材质,而是先把当初用的那些原始图片文件找到,然后再进材质编辑器里,把断掉的路径一项一项重新接回去。只要原始图片还在,补路径就比重新调参数快得多。
1、先到原项目附近的文件夹里找一找
可以优先去这几个地方搜一下图片的文件名:跟项目文件放在同一级的目录、团队公用的材质库目录、软件自动生成的Imported Textures目录,还有旧电脑上当初存放贴图的那个磁盘位置。Chaos官方的资料里提到过,导入材质的时候,那些贴图文件会被收进Imported Textures文件夹里,而且受支持的这些建模平台,并不会把贴图文件本身直接嵌在项目文件里面。这也就是说,项目文件能正常打开,并不代表贴图一定跟着一起过来了,这一点在迁移文件时特别容易被忽视。
2、进到编辑器里按材质逐个重新关联
等把原始图片在磁盘上的位置确定以后,不要一次只补一张图,像木材、石材、瓷砖、金属这一类材质,往往同时用到好几张贴图,只补一张的话效果还是不对。回到材质编辑器,把那个材质的Albedo、Normal、Roughness还有其它需要用到的图片,一张一张地重新走一遍文件选择,把它们指向刚才找到的正确位置。都关联好之后,别忘了再核对一下纹理的缩放尺寸和旋转角度,有时候贴图虽然已经恢复了,但比例跟当初不一致,表面看上去还是会显得怪怪的,比如砖缝宽窄不对,或者木纹变形,这些细节参数也要一并确认。
3、Revit的用户还要去补充一下搜索路径
如果用的是Revit,可以把【文件】→【选项】打开,在材质贴图搜索路径那一项里,把团队共用的材质目录重新加进渲染路径列表。Autodesk在关于Enscape渲染时材质丢失的处理建议里也提到了,如果碰到找不到贴图的情况,可以在Revit的选项里把自定义材质和系统材质对应的渲染路径补上,这样软件在启动渲染时就能多一个备选的查找位置,不用每次都靠人工去找。
三、怎样避免贴图路径再次丢失
等把丢失的贴图路径全部修复完以后,还需要把存放贴图的方式固定下来,把目录管理的规矩立好,否则下一次换电脑、换同事重新打开项目时,同样的一堆空白材质还是会卷土重来,前面的时间就白花了。
1、建一个统一的材质文件夹
不要把贴图东一张西一张地放在电脑桌面、系统下载目录,或者某个临时的个人文件夹里面,这些地方换台电脑根本找不到。可以按项目来建立一个专门存放材质贴图的【textures】目录,文件夹里面再按wood、stone、metal这种类别去分类存放,这样不管项目挪到哪里,只要带着整个项目文件夹一起走,贴图跟模型之间的相对位置就不会乱。如果是团队里好几个人一起用这套材质库,那就把材质库放到一个大家都能访问到的稳定共享目录下,所有人的工程都指向同一个源头,就不会出现甲有乙没有的情况了。
2、把共享目录的权限和路径统一一下
Chaos官方的建议是,把Enscape材质放在团队成员都能访问的共享网络文件夹里,而且要让每个人的Imported Texture Path都指向这同一个位置。共享目录一般设成只读模式就够了,这样可以防止有人在不经意间把原本好好的贴图文件给删掉,或者随手用一张同名但内容不同的图片覆盖掉原来的文件,导致所有人渲染出来效果都不一样。
3、交付前做一次换机检查
在项目快要交付、需要把模型发给甲方或者放到另一台演示电脑上的时候,提前用另一台电脑把模型打开一次,专门去检查几个常用视角里的那些核心材质,比如墙面、地面、主要家具还有玻璃,看看它们是不是都能正常显示,贴图有没有变白或者变纯色。如果发现哪张贴图没有跟过来,就趁着还在手上的时候,赶紧把路径补齐。等到正式汇报前才发现材质全白,那个时候再去翻找原始文件,时间上往往就比较被动了。
总结
关于Enscape里材质贴图不显示该怎么办,以及材质路径丢失以后怎么找回来,排查的大致顺序可以这样走:先把【Enscape Material Editor】打开,去检查每个失效材质的各个贴图槽位,再确认这些槽位引用的图片文件在磁盘上是不是还存在,如果没了就按Albedo、Normal、Roughness的顺序重新关联好;如果是Revit项目,还要把材质贴图的搜索路径补进软件选项里。等全部修复完以后,把所有的贴图文件集中放到一个固定的项目目录或者团队共享目录里去,以后项目再换电脑或者交给别人的时候,材质就能稳很多,也能省下不少重做和返工的时间。
