将substance painter 的贴图转到 CryEngine 里的方法
cryengine5吧
全部回复
仅看楼主
level 13
在 Crytek 官方的ytb频道里面, 我们已经见识到了如何在Photoshop 和substance designer中制作并导出贴图至Cryengine, 在这里我尝试一下SP的工作流程.
PS: 找了半天没找到相应教程, 所以自己动手做了, 水平不高, 将就着看吧.
实时更新, 勿插楼.
2021年02月26日 16点02分 1
level 13
1. 首先先确定, 我们要做的是一张很简单的无缝沙地贴图. 在网上找到了一张还算不错的高清沙子图片, 重要的是免费! 免费! 免费! 重要的事情说三遍.
(图位) 原图太大传不上来
由于某些原因, 我这里不好用手绘板, 所以我打算直接在PS 里面修出效果.
然后导入PS中, 稍微修整, 用仿制图章把不清楚的地方抹成清楚的, 把边边角角再用对应位置擦一下, 新的图片制作好啦!
(图位) 新图太大传不上来
2021年02月26日 16点02分 2
期间还制作了黑白的alpha图片, 其实无所谓. 如果这是PS的工作流程, 那么直接就可以在PS 里完成了, 但这是SP 的流程, 适用于需要手绘贴图的那些道具模型
2021年02月26日 16点02分
level 13
2. 打开 substance painter, 在这里我偷了个懒, 直接使用了SP 自带的样例文件, 位置如下
这个文件制作无缝贴图很方便, 推荐给大家哦!
在开始之前, 我们先看看 substance painter 里面关于渲染的设定和 cryengine 有何不同
2021年02月26日 16点02分 3
level 13
3. 首先是色彩空间的问题, 涉及到是否存在 gamma 校正的问题, 据我了解, substance painter 和 cryengine 都是经过了 gamma 校正的, 所以这个问题不存在.
其次, 在默认的情况下, 这个样例文件是基于金属和粗糙度贴图的那套 PBR 流程制作的, 而我们的 cryengine 则是用了反光贴图加 gloss 贴图的那套叫啥 BR 还是啥的流程来着的, 所以我们要注意这个区别, 做出相应的处理.
处理的办法有两种, 一种是进入就对着色器进行修改, 并且修改整个的工作流程, 让我们在 specular 的那套工作流程下制作. 另一种是直接进去按照默认的 PBR 流程进行制作, 在导出的时候再转换贴图通道, 变成
正确的
贴图格式.
我们这里使用第一种.
2021年02月26日 17点02分 4
level 13
4. 在右上角的着色器设置里面, 我们选择 non-pbr-spec-gloss ,其它设置可以不动.
在下面的 置换 & 曲面细分 里面, 我个人建议能开多高开多高, 看你的机器性能而定.
2021年02月26日 17点02分 5
level 13
5. 然后在纹理集设置里面选择我们需要的通道, 如果你的这个窗口被关了, 在 窗口 - Views - Texture Set纹理集设置 那里打开.
然后把不需要的通道统统关闭, 打开我们需要的通道, 如同我这样
PS: 我们这里需要高度贴图的原因是因为CE 里面也有这个设定
2021年02月26日 17点02分 6
level 13
上面忘了, 如果你需要更大的分辨率, 像我这样的话, 就再把贴图大小再设置一下
其它的我感觉无所谓, 有需要的话你可以改一下底下通道的色彩空间
2021年02月26日 17点02分 7
level 13
6. 然后就是一顿乱怼, 为了不影响阅读效率, 我就放到最后再发.
怼成如图的效果, 我觉得还行?
实际上中间有部分插图是我后面才补截的... 怕说明不详细
2021年02月26日 18点02分 8
在这里我先说明一下, 我们在制作的时候不要太注重于 SP 里面的效果和引擎的效果差别很大这个问题, 因为渲染的结果不光是受到物体本身贴图的影响的, 最后的效果实际上还包含了其它的一些东西, 如图我们可以看到, 其实本身 SP 里面的环境是一个HDR的贴图, 它甚至还自带了光源
2021年02月26日 18点02分
SP里面物体的渲染, 是会受到这个环境贴图的影响的, 换个天空球可能就会变一点颜色. 而到了 cryengine 里面, 物体的色彩和阴影什么的又会受到关卡环境的影响, 所以完全一样几乎是不可能的! 我这里甚至还会专门选用颜色比较强烈的贴图, 因为这些到了游戏引擎里面, 都是可以调的! 明艳点调整的空间更大!
2021年02月26日 18点02分
level 13
7. 做完之后, 我们对其进行导出.
在导出之前, 我们先来看看导出的贴图是怎样的. 打开输出模板 ,选择CryEngine
可以看到, 原先的设置下, 只会导出三个贴图, 少了一个我们需要的高度贴图.
所以我们自己得改一个我们需要的输出模板.
复制CryEngine , 点击 Gray 按钮增加新通道, 将 Height 拖动到 Gr 卡片上, 选择 Gray Channel , 再顺便把导出的名字改一下, 到时候好分辨
最后的效果
PS: 这个之前我也不懂来着的, 搞了好久才懂
2021年02月26日 18点02分 9
level 13
剩下的明天再发
2021年02月26日 18点02分 10
level 13
顺嘴提一句, 看到窗口右下角的转换贴图了没有? 这就是第二种方法, 即按照默认的工作流程, 最后由程序转换贴图.
如图
至于选哪个我是觉得无所谓, 但是下次别说什么开始后就改不了了, 只要你想改, 还是随时都可以改的
2021年02月26日 18点02分 11
当然, 在日常的工作中, 为了方便起见, 我还是建议你选择默认的工作流程的, 因为第一个是方便理解, 容易制作, 第二个就是这个是默认的, 不需要你乱改
2021年02月26日 18点02分
level 13
8. 回到初始界面, 调整好设置, 我们选择导出, 如果你十分纠结的话, 你可以点选导出场景配置, 会生成一个包含你着色器各项设定的JSON文件, 可以自行查看.
我这里选的是PNG , 因为我觉得它带alpha通道会比较合适, 但是我怀疑JPG也能带.
不过我们这里的图片实际上不太需要透明通道, 所以其实无所谓, 你可以选你自己喜欢的
导出之后, 我们拥有了四张贴图, 分别以 diff , ddna , height , spec 为名称
2021年02月27日 08点02分 12
在这里我的spec贴图做得不太好, 你可以做一个更好的
2021年02月27日 08点02分
level 13
9. 让我们来创建一个新的项目, 然后创建一个新的关卡地图, 如图, 注意贴图选择4K
打开Terrian Editor 地形编辑器, 选择 Import HeightMap... , 把我们蓄谋已久, 哦不, 提前准备的高度图导入进去, 制作的办法自己寻找, 在这里你不弄也行, 反正不是什么成品, 只是熟悉流程
请注意红框位置, 为了方便浏览, 我们打开相机高速运动和地形碰撞, 这样可以让我们更好观察, 对了,相机速度可以像我之前说的在偏好设置里面调, 也可以在这里调, 非手动的方式是在你按住WASD的时候, 滚动鼠标滚轮, 你可以自己试一下, 不过用这种方法的话, 最好还是把偏好设置里面的 Movement 移动速度调低
我选了一个环形山的位置进行操作
2021年02月27日 08点02分 13
level 13
补发上面heightmap的图片
10. 接下来就是常规操作, 为了方便理解, 我这里发一下步骤.
打开Asset Browser 资产浏览器, 这个很常用,
打开Material Editor 材质编辑器, 注意下面那个不带图标的是旧版的, 用起来可能比较顺手, 但是我这里用这个就太卡了, 我用的是新版的.
打开Environment Editor 环境编辑器, 待会我们调光线要用, 顺便讲讲为什么如果有新光追会很好用
还有就是刚才就要打开的Terrain Editor 地形编辑器, 待会还要涂涂改改
进入Asset Browser , 可以看到有两个最高级文件夹, 一个叫Asset , 一个叫Engine ,.
请注意一下, 上面那个文件夹是你当前的项目文件夹里的, 底下那个是引擎通用的, 我们这里选择的是上面那个, 反正下面那个我们也加不了东西.
在texture 文件夹里创建一个新文件夹, 命名为test, 然后打开我们的贴图存放文件夹, 我这里是输出文件夹因为我没动过它们, 框选所有贴图, 拖放进我们的Asset Browser 里的 test 文件夹内, 稍作等待
可以看到导入了四张贴图, 我们可以右键点击任意一个, 选择Open in File Explore 来查看它们在电脑中的位置, 或者选择Delete 删除, 前提是它们最好不要被某个材质球使用到了.
进入Material Editor 材质编辑器或者Asset Browser 资产浏览器, 如图选择创建一个新材质, 我们这里命名为sand ,当然存放位置最好有条理一点, 不要像我现在这样
2021年02月27日 09点02分 14
level 13
11. 我们的 sand 球现在还不能用, 因为它现在没有贴图, 种类也不对, 按如下设置我们给它修改阴影种类成 Terrain Layer , 这样它就可以作用于我们的地形上了.
贴图我们选择相应的贴图, 我们之前已经给它们设置好了后缀, 让我们很容易分辨谁是谁, normal 贴图这里我们选择ddna 后缀的贴图. Detail 贴图可以给我们带来更多细节纹理, 这里我们不弄, 如果有需要的话, 你可以使用程序化纹理的制作方式来制作它, 这里我们不讲
如图, 我们设置成这样, 这时候没有预览图没有关系, 不是你坏了
请注意保存, 注意一下左上角红框的位置, 那个 sand 后面带了个星号, 这是这个材质球没保存的原因, 在 cryengine 里面, 场景. 材质. 环境模板的保存都是分开的, 需要分别保存.
保存完后我们回到 Terrain Editor 地形编辑器, 选择 Paint , 选择 Create Layer 新建一个层, 我们双击它的名称, 改名为 test , 点击下面的 paint 按钮, 随便在地形上画两笔
然后就可以调整我们的 sand 材质球参数了
如果你觉得比例尺不明确, 可以在上面丢一个模型上去, 这里有一个官方的模型, 大小为一个单位长度, 在地图上显示为2x2个棋盘格, 这里我们创建地图时选择的是一米为单位,所以这是一立方米的模型, 可以用它做参考.
2021年02月27日 10点02分 15
1 2 尾页