cryengine5吧 关注:655贴子:2,094

如何从Speedtree导入植物到cryengine(普通版)

只看楼主收藏回复

首先, 要注意请使用speedtree game indie 版本, 注意千万别选错版本选成比如什么cinema版本了, 那样就会少了LOD功能


IP属地:海南1楼2021-10-28 11:52回复
    叫我黑姐、瓦尔基里丶奈洛、李白的青鸟. . . 被楼主禁言,将不能再进行回复
    本文要用的资源如下, 防删留空, 见回复.


    IP属地:海南2楼2021-10-28 11:53
    收起回复
      2025-05-18 07:06:36
      广告
      在用之前, 先设置一下LOD. LOD是游戏里面常用的技术, 主要是为了节约系统资源而设计的, 当物体在远处时我们会切换到它的低模, 也就是面数较少但形状大致不变的那个模型, 然后渲染的结果没啥区别.
      在树的渲染窗口点击鼠标右键, 出现左边的菜单. 点选Enabled 选项, 在Number 一栏里写上3, 说明我们使用三个等级的LOD, 当然你如果喜欢也可以选更少或更多, 或干脆不用LOD.


      IP属地:海南3楼2021-10-28 11:54
      回复
        我这里要做的是椰子树, 直接使用sample文件里面的palm 棕榈树, 稍微改改, 主要是改下分支的宽度, 树叶数量和大小, 树干的半径变化. 还有一些没那么重要的部分比如分支的初始角度等, 至于椰子和上面那些包裹树干的网状物就忽略好了. 具体的流程省略, 这方面大神很多, 我就不班门弄斧误人子弟贻笑大方了.
        最后大概是这样, LOD0的面数在21000左右, 光是树叶就有19000面, 对于游戏来说, 算是比较多的了. 如果不是这棵椰子树的树叶是由模型表现, 如果换成其它树叶, 用透明通道表现的话, 可能仅仅需要几百上千面就好了, 甚至如果像游戏通用做法那样直接用大片枝叶贴图当成树干和树叶, 可能仅仅只需要几个到十几个面就够了, 所以不要学我.


        IP属地:海南4楼2021-10-28 11:55
        回复
          由于日常被吞, 改图片发布



          IP属地:海南6楼2021-10-28 11:58
          回复
            拖入图片, 然后感觉自动计算得还行? 直接点Export 导出吧! 反正树叶的Normal 什么的也不明显, 我甚至觉得你可以干脆不要, 反正这玩意基本也没人仔细看. 哦对了, 如果你用JPEG 格式的话, 在speedtree 里面会有预览哟, 不过用PNG 也没事


            话说我们这里的分辨率依旧选择1024*1024 , 因为如果是长方形的图片的话, Cryengine 可能不认这个图片, 所以我们还是选择方形的.


            IP属地:海南7楼2021-10-28 12:01
            收起回复



              当然我们在这里只是查看一下效果, 以及给模型设置一下贴图而已, 真正的成品效果在Speedtree 里是显示不出来的.


              IP属地:海南8楼2021-10-28 12:02
              回复
                现在我们可以看到树叶出现了, 我这里没选Specular , 因为我觉得没必要, 如果你非要在这里看效果的话,可以选一下Specular 贴图.

                接着我们快速设置一下树叶, 它们现在都长一个样, 就很假, 调整一下就好多了



                IP属地:海南9楼2021-10-28 12:06
                回复
                  2025-05-18 07:00:36
                  广告
                  我们这里不进行详细的设置, 因为这里的效果跟我们最后的效果是不一样的, 我们最多也就是调整一下amount的数值大小, 让三个贴图的比例变化一下而已.
                  还有一个办法是使用一个新材质, 两个都差不多, 随意选择, 反正最后都是到Cryengine 里面赋予不同材质
                  如果你有更好的方案请自由发挥


                  IP属地:海南10楼2021-10-28 12:11
                  回复
                    接下来我们做树干, 树干图片依旧是回SA中处理, 导出的时候可以这样选, 因为我们不需要透明通道

                    然后是这样


                    IP属地:海南11楼2021-10-28 12:14
                    回复
                      我们给每一个部件都赋予一个材质, 以备不时之需

                      我们观察一下LOD, 顺便可以调整一下LOD的显示方案,


                      接下来我们就可以导出了, 选择File - Export to game 快捷键Ctrl +E , 选择FBX. 千万不要选择Lumberyard, 虽然这个引擎是Cryengine 魔改版本, 但是它的资产已经和Cryengine 的不通用了, 虽然看着后缀名好像都好像.....
                      有图为证


                      请注意Scale 这一项最好填100


                      IP属地:海南12楼2021-10-28 12:21
                      回复
                        上楼补图


                        我们得到一个fbx文件, 这个文件现在还不能直接用, 我们进入3D软件进行处理, 至于你用什么软件我觉得无所谓, 只要遵循基本的FBX 文件的处理方式就行, 不管你用3dmax , maya , blender( 这个FBX文件的导出似乎有点问题) , Clarisse , 还是别的. 我这里用maya.
                        你看, 这里的模型层级关系是这个样子的, 如果你直接拖入这个FBX 到CE 里, 它会显示没有mesh , 因为现在这个文件是一个组的关系, 我们要将它变成父子关系, 把 LOD0 当成父级, 像第二张图那样.



                        IP属地:海南13楼2021-10-28 12:24
                        回复
                          这里的命名按理来说是有规则的, 官方建议我们使用类似 $lod0_name, $lod1_name, $lod2_name 这种名称, 这样似乎可以让CE自动识别LOD的次序(当然我们可以自己选), 而且ce是不区分大小写, 所以一律全小写. 但是由于这里, maya不支持$这个符号做命名, 然后大写的字母也没有冲突, 所以我就没改了, 如果你有需要, 请自己改. (通常项目文件过多时需要)
                          通常我们游戏中会需要一个proxy 碰撞代理, 如果这个代理是用于射击类游戏, 那么就要做复杂一些, 因为做弹痕, 和breakable 可破坏类场景的时候需要较高精度的碰撞检测, 方法可以是直接在模型软件里提取一下树干的面. 如果不需要高精度的碰撞检测, 那就自己随便做一个贴合的盒子就行.
                          我们来制作proxy 模型, 这里我拉了一个盒子, 然后我把盒子的中心点放在它的底部, 并且将它的位置拉到0,0,0的位置, 养成一个好习惯, 在导出之前我们给它Freezen 一下位置, 当然, 如果是带骨骼的, 就需要另说了, 我们这里不做带骨骼的植物 ( 通常是灌木和草这种可以被拨弄的植物才需要骨骼) (可能以后会在完整项目制作中讲)

                          proxy 碰撞模型也如这样连接, 不过你需要给它单独指定一个材质, 就像树干和树叶材质不同那样, 它的材质也需要单独指定. 在MAYA 里面, 使用Phong 材质球最贴切于CE的材质.


                          直接导出, 我这里是导出当前选择.


                          IP属地:海南14楼2021-10-28 12:26
                          回复
                            打开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 的材质球.
                            很关键的一步, 点击按钮保存.


                            由于我重装了电脑, 原先的文件丢失, 所以用另一个代替


                            IP属地:海南15楼2021-10-28 12:39
                            回复
                              2025-05-18 06:54:36
                              广告
                              接下来我们处理贴图, 打开PS或者别的什么能处理图层的软件, 我这里先说椰子树, 然后再说带透明通道树叶的问题, 椰子树叶由于是由模型表现出来的, 用高面数换来了不需要透明通道, 所以我们的Diffuse 贴图不需要特殊处理, 反之则要加一个通道. 所以我们只需要处理我们的ddna 贴图, 就是normal 贴图, 但是由于树叶, 树干等物体的粗糙度也不会有人纠结 (不会真有人纠结吧) ,所以这个贴图你要是懒的话也可以不处理, 直接丢进去就行了, 于是, 我们就直接丢树叶和树干的diffuse 和normal贴图进去就好了.
                              就像这样, 当然, 请一定要注意了, 一定要放在你找得到的地方, 请一定要注意摆放问题, 不然后期找起来真是头疼.


                              IP属地:海南16楼2021-10-28 12:41
                              回复