如何从Speedtree导入植物到cryengine(普通版)
cryengine5吧
全部回复
仅看楼主
level 13
首先, 要注意请使用speedtree game indie 版本, 注意千万别选错版本选成比如什么cinema版本了, 那样就会少了LOD功能
2021年10月28日 03点10分 1
level 13
本文要用的资源如下, 防删留空, 见回复.
2021年10月28日 03点10分 2
本文所有资源在第27楼
2021年10月28日 06点10分
level 13
在用之前, 先设置一下LOD. LOD是游戏里面常用的技术, 主要是为了节约系统资源而设计的, 当物体在远处时我们会切换到它的低模, 也就是面数较少但形状大致不变的那个模型, 然后渲染的结果没啥区别.
在树的渲染窗口点击鼠标右键, 出现左边的菜单. 点选Enabled 选项, 在Number 一栏里写上3, 说明我们使用三个等级的LOD, 当然你如果喜欢也可以选更少或更多, 或干脆不用LOD.
2021年10月28日 03点10分 3
level 13
我这里要做的是椰子树, 直接使用sample文件里面的palm 棕榈树, 稍微改改, 主要是改下分支的宽度, 树叶数量和大小, 树干的半径变化. 还有一些没那么重要的部分比如分支的初始角度等, 至于椰子和上面那些包裹树干的网状物就忽略好了. 具体的流程省略, 这方面大神很多, 我就不班门弄斧误人子弟贻笑大方了.
最后大概是这样, LOD0的面数在21000左右, 光是树叶就有19000面, 对于游戏来说, 算是比较多的了. 如果不是这棵椰子树的树叶是由模型表现, 如果换成其它树叶, 用透明通道表现的话, 可能仅仅需要几百上千面就好了, 甚至如果像游戏通用做法那样直接用大片枝叶贴图当成树干和树叶, 可能仅仅只需要几个到十几个面就够了, 所以不要学我.
2021年10月28日 03点10分 4
level 13
由于日常被吞, 改图片发布
2021年10月28日 03点10分 6
level 13
拖入图片, 然后感觉自动计算得还行? 直接点Export 导出吧! 反正树叶的Normal 什么的也不明显, 我甚至觉得你可以干脆不要, 反正这玩意基本也没人仔细看. 哦对了, 如果你用JPEG 格式的话, 在speedtree 里面会有预览哟, 不过用PNG 也没事
话说我们这里的分辨率依旧选择1024*1024 , 因为如果是长方形的图片的话, Cryengine 可能不认这个图片, 所以我们还是选择方形的.
2021年10月28日 04点10分 7
实际上, 这里的Diffuse 贴图如果数值设定是正确的话, 我们可以直接使用. 如果对方只提供Base Color 贴图的话, 我们需要在PS 里给它加上一层AO贴图, 并把AO贴图的混合方式选择正片叠底
2021年10月28日 04点10分
level 13
当然我们在这里只是查看一下效果, 以及给模型设置一下贴图而已, 真正的成品效果在Speedtree 里是显示不出来的.
2021年10月28日 04点10分 8
level 13
现在我们可以看到树叶出现了, 我这里没选Specular , 因为我觉得没必要, 如果你非要在这里看效果的话,可以选一下Specular 贴图.
接着我们快速设置一下树叶, 它们现在都长一个样, 就很假, 调整一下就好多了
2021年10月28日 04点10分 9
level 13
我们这里不进行详细的设置, 因为这里的效果跟我们最后的效果是不一样的, 我们最多也就是调整一下amount的数值大小, 让三个贴图的比例变化一下而已.
还有一个办法是使用一个新材质, 两个都差不多, 随意选择, 反正最后都是到Cryengine 里面赋予不同材质
如果你有更好的方案请自由发挥
2021年10月28日 04点10分 10
level 13
接下来我们做树干, 树干图片依旧是回SA中处理, 导出的时候可以这样选, 因为我们不需要透明通道
然后是这样
2021年10月28日 04点10分 11
level 13
我们给每一个部件都赋予一个材质, 以备不时之需
我们观察一下LOD, 顺便可以调整一下LOD的显示方案,
接下来我们就可以导出了, 选择File - Export to game 快捷键Ctrl +E , 选择FBX. 千万不要选择Lumberyard, 虽然这个引擎是Cryengine 魔改版本, 但是它的资产已经和Cryengine 的不通用了, 虽然看着后缀名好像都好像.....
有图为证
请注意Scale 这一项最好填100
2021年10月28日 04点10分 12
level 13
上楼补图
我们得到一个fbx文件, 这个文件现在还不能直接用, 我们进入3D软件进行处理, 至于你用什么软件我觉得无所谓, 只要遵循基本的FBX 文件的处理方式就行, 不管你用3dmax , maya , blender( 这个FBX文件的导出似乎有点问题) , Clarisse , 还是别的. 我这里用maya.
你看, 这里的模型层级关系是这个样子的, 如果你直接拖入这个FBX 到CE 里, 它会显示没有mesh , 因为现在这个文件是一个组的关系, 我们要将它变成父子关系, 把 LOD0 当成父级, 像第二张图那样.
2021年10月28日 04点10分 13
level 13
这里的命名按理来说是有规则的, 官方建议我们使用类似 $lod0_name, $lod1_name, $lod2_name 这种名称, 这样似乎可以让CE自动识别LOD的次序(当然我们可以自己选), 而且ce是不区分大小写, 所以一律全小写. 但是由于这里, maya不支持$这个符号做命名, 然后大写的字母也没有冲突, 所以我就没改了, 如果你有需要, 请自己改. (通常项目文件过多时需要)
通常我们游戏中会需要一个proxy 碰撞代理, 如果这个代理是用于射击类游戏, 那么就要做复杂一些, 因为做弹痕, 和breakable 可破坏类场景的时候需要较高精度的碰撞检测, 方法可以是直接在模型软件里提取一下树干的面. 如果不需要高精度的碰撞检测, 那就自己随便做一个贴合的盒子就行.
我们来制作proxy 模型, 这里我拉了一个盒子, 然后我把盒子的中心点放在它的底部, 并且将它的位置拉到0,0,0的位置, 养成一个好习惯, 在导出之前我们给它Freezen 一下位置, 当然, 如果是带骨骼的, 就需要另说了, 我们这里不做带骨骼的植物 ( 通常是灌木和草这种可以被拨弄的植物才需要骨骼) (可能以后会在完整项目制作中讲)
proxy 碰撞模型也如这样连接, 不过你需要给它单独指定一个材质, 就像树干和树叶材质不同那样, 它的材质也需要单独指定. 在MAYA 里面, 使用Phong 材质球最贴切于CE的材质.
直接导出, 我这里是导出当前选择.
2021年10月28日 04点10分 14
level 13
打开CE, 打开Level, 我这里选择之前的test , 打开Tools - Asset Browser ,
在文件夹Assets - Objects 新建一个文件夹 tree (请注意摆放位置避免混淆), 将我们处理过的FBX文件丢进去, 可以看到出现了一个模型和一个材质球(上面写着replace me).
双击模型, 打开这个界面 (其实是fbx importer), 把我们之前的两个LOD改一下它们对应的级别. 把proxy 的模型改成Physics proxy, 最关键的是把Material 选项卡里的, proxy_m 改成 proxy (no draw ), 也就是我们之前在三维软件(我这里是Maya ) 里赋予给proxy 的材质球.
很关键的一步, 点击按钮保存.
由于我重装了电脑, 原先的文件丢失, 所以用另一个代替
2021年10月28日 04点10分 15
level 13
接下来我们处理贴图, 打开PS或者别的什么能处理图层的软件, 我这里先说椰子树, 然后再说带透明通道树叶的问题, 椰子树叶由于是由模型表现出来的, 用高面数换来了不需要透明通道, 所以我们的Diffuse 贴图不需要特殊处理, 反之则要加一个通道. 所以我们只需要处理我们的ddna 贴图, 就是normal 贴图, 但是由于树叶, 树干等物体的粗糙度也不会有人纠结 (不会真有人纠结吧) ,所以这个贴图你要是懒的话也可以不处理, 直接丢进去就行了, 于是, 我们就直接丢树叶和树干的diffuse 和normal贴图进去就好了.
就像这样, 当然, 请一定要注意了, 一定要放在你找得到的地方, 请一定要注意摆放问题, 不然后期找起来真是头疼.
2021年10月28日 04点10分 16
1 2 尾页