英雄无敌7吧 关注:20,429贴子:202,517

基于虚幻3引擎游戏的通用(?)模型导入教程

只看楼主收藏回复

一楼喂熊


IP属地:湖北1楼2018-01-27 16:00回复
    众所周知土豆缺钱放了HOMM,不过HOMM7直接上的UR3,甚至包含内置编辑器,这为我们的MOD制作提供了不少方便。
    下面以WOT模型为例,从模型从另一游戏导出到在HOMM7中生成相应单位做一个完整的教程
    注:奥多比全家桶和3Dmax啥的的正版价格过高,所以此贴就别提版权问题了。。。


    IP属地:湖北2楼2018-01-27 16:04
    收起回复
      一、目标模型导出
      自行百度相应程序的模型导出方法,对不同程序而言不尽相同,但至少要找到能带贴图UV导出3Dsmax/Maya/Blender三种常用工具能打开的格式,需注意常见的Xnalara模型和MMD用模型导出的骨骼不兼容UR3,需要自己绑骨骼刷权重,新手建议做“硬”东西(比如车辆,机械等),分零件绑定骨骼就可以,做人体等“软”模型需要刷权重,要慢慢积攒经验。(导白模自己上贴图不推荐,除非经验丰富时间充裕)


      IP属地:湖北3楼2018-01-27 16:10
      回复
        总而言之,我从WOT里导出了SU-5的模型(因为只有这辆车我知道人该坐哪):
        导出文件有
        Chassis.obj——显然是履带或者什么类似物
        Hull.obj——显然是车体
        Turrent.obj——炮塔
        Gun.obj——管子
        下面,以Hull.obj为例使用3DsMax进行一些微调(版本不重要,只要兼容你需要的插件,越新越好用)
        在很多情况下,导入模型的材质和贴图是错误或不全的,例如此次导出的模型仅有漫反射贴图

        渲染效果一片模糊,惨不忍睹

        按照贴图名称,自行调整材质

        之后发现部分地方迷之透明,可以直接看到模型背面,判断为法线方向错误
        操作:添加修改器‘壳’,加一个0厚度的壳之后转换为面片焊接所有点
        完工


        IP属地:湖北5楼2018-01-27 17:54
        收起回复
          先鸽一会,造奇观去


          IP属地:湖北6楼2018-01-27 19:04
          回复
            奇观误国


            IP属地:浙江来自iPhone客户端7楼2018-01-27 22:21
            回复
              🍉前排


              IP属地:安徽来自Android客户端8楼2018-01-27 22:32
              收起回复
                WOT的导出系统设计有毒,不兼容坦克履带UV贴图的导出,我在这方面还手残。。。
                所以
                “在失去土豆的维护后,HOMM的世界正处于崩塌的边缘,无数蠹虫(BUG)正在从虚空中撕裂这个世界。
                同是土豆的弃子,猎杀潜航世界线的小胡子向此世界线援助了一批缴获的SU-5型火炮,但履带补给被BUG吞噬。
                经过精灵族的不懈努力,使用精灵古树橡胶制造的履带(黑色漫反射,低高光强度,低光泽度,无贴图,无凹凸)已投入使用,现可使用SU-5作为攻城武器。”
                就这么写描述吧,履带就是黑的了(这教程好失败)


                IP属地:湖北9楼2018-01-27 23:57
                回复
                  将所有涉及到的贴图使用PS打开,自行决定是否修改,保存为TGA格式
                  (UR3对TGA的兼容最好,几乎不兼容DDS)
                  将模型的所有组件组装在一个max文件里

                  但为了确保兼容性,最好把所有的组件组装到一个object里面:

                  选中其中一个组件,在右侧“修改”列表中选择“附加”,多次附加使最终只剩下一个物件即可
                  注意:对UV的修改,可动组件的区分处理,模型顶点改动等在合并前执行,合并后执行会相对而言麻烦很多。
                  (具体的3dmax用法在这不细讲,但这里只涉及其中一部分较为基础的操作,靠搜索引擎解决剩下的问题难度不大。以后要是有时间可能会加上一点教程)


                  IP属地:湖北10楼2018-01-28 00:19
                  回复
                    要做地图装饰物模型的到这里就可以导出了。
                    剩下的模型要是一动不动那就真成铁王八了,而要让3D模型动起来需要绑骨刷权重。
                    对这一套完全不熟悉的萌新不要导生物模型,导点弩炮投石机战车啥的硬东西,这些东西的特点是一个组件要么不动,要么全动,没有人体身上的关节,武器中的链锤,马鞭等柔性结构需要费力刷权重
                    此次以SU-5为例,这车上面能动的组件如下:
                    车体——骨骼中心,可旋转/移动,静息状态可发生晃动(非常微小,不仔细观察难以察觉的晃动甚至压根不晃动都行,除非你做的是蒸汽朋克)
                    悬挂系统与小轮子——围绕圆心旋转
                    履带——一般的骨骼模型事实上不太适合解决履带的运动,不要试图给每片履带加骨骼,不如让贴图去动(UR3如何实现我还没确定,而且这次做的是不会动的攻城武器,并且履带没贴图看不出来转不转),建议大家优先玩轮式
                    炮塔——横向转动,观测仪纵向转动
                    管子——纵向转动,后座
                    分别部署相应的骨骼:

                    骨骼的外形并不重要,唯一重要的是起始点位置,被绑定到该骨骼的所有模型部分都会以此点为基准,随着骨骼的移动和朝向改变自身移动和朝向。
                    对于非生物而言,只要在需要的位置(如炮塔中心,炮管转轴等)插几根骨骼,并用链接工具设定父子关系即可。

                    (先点子骨骼,然后拖到父骨骼上,场景复杂的情况下也可以用选择菜单)
                    在父骨骼发生移动时,子骨骼会随之发生移动,子骨骼无法自由移动,但可以自由旋转。
                    在需要子骨骼进行移动而非旋转的情况下,在主菜单的动画→骨骼工具→对象属性中,去掉“启用骨骼”的勾
                    去掉后子骨骼可以自由移动,但当父骨骼移动时,将以其为参照物发生移动。
                    因为是攻城武器,所以行走机构就不做相应的骨骼了,设置四个骨骼
                    车身——炮塔——炮身——开炮后座部分
                    如下

                    这样的骨骼在UR3中是可以使用的。


                    IP属地:湖北11楼2018-01-28 03:52
                    回复
                      之后打开UR3引擎,看我们需要实现哪些动画效果,在此以弩炮为例:

                      可见,需要实现以下动画:
                      攻击(使用技能和攻击是同一动画)
                      向左小角度转向,攻击
                      向左大角度转向,攻击
                      上面两个的镜像
                      被攻击
                      被打爆
                      闲着乱晃
                      我们以最后一个“闲置”为例,简述将模型和动作导入UR3引擎并适配HOMM7的流程:
                      没成员的车并不需要什么的闲置动画,可以直接将空动画导出:
                      把场景中的辅助光照啥的删了,只留下模型和骨骼,导出为FBX格式,版本选择FBX2013,别的自行按需求选择
                      之后在HOMM7地图编辑器的UR3编辑器模式,使用Content Browser 导入刚才导出的FBX文件,起一个没用过的包名:

                      类型选“骨骼模型”,再把下面的“导入材质”勾上,OK


                      IP属地:湖北12楼2018-01-28 04:32
                      回复
                        模型导入完成后,还要在3DsMAX中制作相应的动画导入,在此以向左转小角度攻击为例:
                        打开原来的模型,大致想好一个不显得突兀也不干扰战斗节奏的动画时间,在此为4秒(默认速度),默认为每秒30帧(和显示器帧率无关,自动补间),即一共120帧(图是改前截的)。
                        之后,分析动画流程:方向机35帧→高低机30帧→身管后座15帧(车体后座25帧)→方向机35帧→高低机30帧
                        高低机与方向机动作重叠20帧,身管后座动作前后间隔5帧
                        新版本的3DsMax默认动画补间为贝塞尔曲线,可以防止线性动作看上去很假的问题,用旧版的请手动修改关键帧类型。
                        关键帧插入方式:对于简单动作而言,打开“设置关键点”模式

                        (自动关键点不只是在移动时自动打点,其动作记录为相对记录,有基础活用很方便,第一次用容易鬼畜)
                        拖动时间滑块在动作开始帧点击“钥匙图标”设置关键点,在结束帧设置关键点,在动作达到最大的时间,旋转/位移骨骼实现动作,设置关键点
                        如果动作不美观,可以再手动加入一些关键点。
                        以身管后座为例
                        预计在50帧开始动画,53帧动作最大,65帧结束动画
                        首先插入动作前后的帧,可用确保不会影响其他位置(不考虑微小的曲线干扰,帧的影响范围只能延续到左右的帧)

                        之后插入动作最大的帧,注意一定先拖时间滑块再修改,修改后一定插帧,否则修改会被取消

                        动画关键帧插入时要注意:从最末端的组件开始插入关键帧:例如先插入炮管后座相关的关键帧,不然炮管带仰角的时候再调会麻烦一点。
                        注:类似于这种“位移”而非“旋转”的骨骼,在导入UR3后要在动作浏览器中去掉“骨骼仅能旋转”的勾(后面说导入的时候再具体说)
                        之后再加上其他骨骼的动作,就是这样了


                        IP属地:湖北15楼2018-01-28 17:26
                        收起回复
                          在导出动画时,设置注意


                          IP属地:湖北16楼2018-01-28 17:35
                          回复

                            我不清楚这算违了什么规,不过就这样吧

                            大小不太合适,这个修改配置文件就可以,暂时就这样了,下周再往上加东西改贴图


                            IP属地:湖北18楼2018-01-28 21:36
                            回复
                              想学
                              想把6的恶魔淫洲中立怪加入7


                              IP属地:广东19楼2018-01-29 15:04
                              回复