英雄无敌7吧 关注:20,429贴子:202,585
  • 14回复贴,共1

基于虚幻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
          回复
            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
                        回复
                          对mod制作有一定了解,或希望参与相关工作的老玩家,我建了一个群699714170,希望大家加进来互相交流mod制作相关工作,本人只有三维模型和简单的编程基础,对于更多的工作还需要学习。
                          不懂mod制作,但是希望参加mod测试的玩家也可以加入。


                          IP属地:湖北22楼2018-01-31 01:22
                          回复
                            WOT系列历来是灵车漂移,车组成员都是不存在的,但是英雄无敌世界里灵车漂移就不太像样。
                            就算是魔力驱动不用装弹,至少也得有个花仙子(Pixie育碧官方是这么翻译的么?)给施个法,或者干脆参照历史图纸上几个成员,这样更好。
                            现在能搞到的人物模型,最多的就是XPS(xnalara)模型,从不同的游戏导出,被很多同人爱好者用来渲染同人作品。本人在国外论坛跑了很长时间,搞到了在3dsmax中导入相应模型的脚本,支持8~2018之间所有版本,可以导入骨骼和权重(之前的先导blender再转入3dmax的方法会丢权重),如需工具,可在官网说自己是学生拿三年免费(跟专业人士比,咱们都是学生)。
                            链接放在这层,如果坏了请回复。


                            IP属地:湖北23楼2018-02-01 19:20
                            收起回复
                              使用方法:
                              打开3dmax,在上面的MaxScript菜单中,选择“运行脚本(runscript)”


                              之后打开之前下载的脚本,会弹出相应的导入对话框
                              我们主要注意其中三个部分

                              Single mesh:选中后会将模型作为一个网格对象导入(但不会焊接重叠顶点,实际上仍然是分开的),不选则将不相连的部分作为不同网格对象导入。
                              Scale:导入时的缩放比例
                              Import:设置了上面两个之后,点击Import,选择模型导入,此步骤花费时间较长。
                              因为现在网上流传的模型中光荣Tecmo公司出的最多,所以用他们的模型作为例子(虽然画风和SU-5略有不搭)

                              可以看到模型和骨骼都正常导入了,但是骨骼过多,无法导入HOMM3,可精简骨骼结构后,添加动画导入。
                              这个工具是我找到的骨骼权重导入最完整的工具,但材质略有bug,需要手动修复。以光荣Tecmo系列游戏导出的模型而言,其环境光参数导入时为灰色,需手动全部调为黑色。
                              虽然画风不太搭,但之后我会发把这个模型放在之前那个车上当射手的教程。


                              IP属地:湖北24楼2018-02-01 19:33
                              收起回复