??xml version="1.0" encoding="utf-8" standalone="yes"?>
其实在差不多三年前历时很短的一D?D开发经历里参考过q玩意,对照War3ArtTools的工具集及相兛_能,实现了一套我们需要的术制作工具Q包括模型导出插件、专用材质编辑插件、模型预览插Ӟ不过当时q未涉及到粒?Partical)与带?Ribbon)?/font>
闲话说Q让我们来看看War3ArtTools里空间都有哪些东西吧?/font>
q是War3ArtTools的工具集列表Q当焉此之外还有一pdf文加几个max model和tga texture samples。应该来_有了q套工具Q再加上War3本n强大的EditorQ完全可以做Z个全新的Mod来?/font>
War3ModelExp.dle 模型导出工具
War3bmtls.dlt 材质~辑工具
War3Preview.dlu 模型预览工具
War3UserProp.dlu 自定义属性编辑工?/font>
War3BlizardPart.dlo _子~辑工具
War3Ribbon.dlo 带子~辑工具
要想在Max中ؓWar3制作模型Q首先第一步要定的是比例问题。文中也是一开始就说明了,War3中一个单位等于Max中一qinch(也就?.0254c?Q一个农民的w高?0个单?也就?.778c?Q这L来也是按照现实比例来q行设计的。然后约定了最高的建筑物大Uؓ300个单?U等?.62c?Q一个寻路块(Pathing Cell)宽度?2单位Q而一个地形块(Terrain Cell)宽度?28单位?/font>
另外在Max中做好的模型原点是导出的对象的原点Q编辑器和游戏中会始l以原点位置来摆攑֯象。所以一般情况下我们会把原点讑֜人物的脚底下Q徏{物的话也就要设在地板上?/font>
然后是模型的初始朝向QWar3要求在Max中制作时Q前视图中的模型应该正对着你?/font>
使用工具集中的预览工P可以随时在制作的q程中看到游戏中的效果,q个工具对美术来说相当方便,不需要先导出Q再启动游戏~辑器加载导出的模型。而且即ɘq样做了Q有时候游戏编辑器中看到的效果与最l的游戏效果也还是有差异。这是War3ArtTools的模型预览工L外观Q?/font>
对脓囑֒材质的要?/strong>
贴图必须使用Diffuse Color Map Channal, 只能使用24bit?2bit的tga文gQ文件大必L2的整数次q,最大支?12 * 512的脓图,长宽(或宽?比例最大不能超q?:1?/font>
在脓囄alpha通道上可以绘制团队颜?Team Color)Q或者ؓ模型创徏透明区域。白?1)为完全不透明Q黑?0)为完全透明?/font>
材质cd只支持自定义的Warcraft IIIcd和合材质类型。一个Geometry只支持一张材质,但可以用组合材质来实现多层效果?/font>
在材质工L参数讄中也做了一些规则限Ӟ比如某些参数必须使用哪些,{等。然后还有一些War3自定义的材质属性,用来实现游戏Ҏ需求,比如Replaceable Texture, Unshadered, No Depth Set, No Depth Test, 2-Sided, UnFogged, UnSelectable{等?/font>
制作动画序列
War3使用Max Track View中的”Note track” Key来定义动d列的相关属性,比如长度、时间、是不是循环播放、动d现的概率{等Q一?ds max文g包含了该模型所有的动画序列。比如一?#8221;Note track” key可能是这LQ?/font>
“Stand – 2”
rantity 3
上面?#8221;Stand – 2”是动画名,War3ArtTools对动d也做了一定的规则限制。动d׃个或多个q格分隔的单词构成Q如果有多个部分Q则必须用引号将动画名括h。完整的动画名包括主名和ơ名Q比?#8221;Stand Ready”?/font>
引擎内部有一套动dU匹配规则,用来选择最合适的动画q行播放。比如一个对象进入攻击行为,q时要播放攻d画,在两ơ攻dM间会有一个暂停,q时引擎会查询这个模型是否有”Stand Ready”动画序列Q如果有播放,如果没有则会回退?#8221;Stand”动画序列Q引擎内的动画规则包括各U各样可能的动画l合?/font>
“Note track”的参C有一Move SpeedQ定义了unit的移动速度。一般的对象Ud速度?50~400个单位之_也就?.35~10.16c之_也是人的正常跑步速度。这个参数在War3中只是给预览工具用的Q游戏中不会使用q个数据?/font>
Ud速度的调整关pdunitUd时是否会出现滑步Q这个速度与动LN度之间要协调好。比如一个unitQ根据其模型的大基本上可以定q个模型每跨Z步所Ud的距,也就是步长,假设为xQ这样在l定的移动速度s之下Q便可以计算ZU内需要跨出s/x步,q个步数包括了左右两只脚的步数。然后再Ҏ动画播放帧速率Q在Max中默认ؓ30帧每U,便可以计出一个跨步动作需要在几之内播完Q也是动画的播N度应该有多快?/font>
以后在游戏过E中如果惌加快或减慢unit的移动速度Q不仅是加减其位Uȝ变化速度Q还要让动画播放速度也做相应比例的改变,也就是让q个unit的动d一U内不是播放30帧,q样来避免出现滑步现象?/font>
然后q有一个Rarity参数。当相同的动dU出现多个时Q可以用此数值来表示该动d现的概率。也是一个休闲站立动作美术可能做了好几种Q程序在播放的时候会随机选择一U来播,随机选择的依据就从这个Rarity参数来?/font>
War3使用的MDX模型因ؓ实现的比较早Q所以对动作制作斚w的限制比较多Q一些较新的技术都不能使用Q比如IK与bipped动画?/font>
另外每个unit必须有两个骨|bone_head和bone_chestQWar3~辑器会用到q两个骨|cM的,turreted buildings必须有bone_turret骨骼?/font>
Position/Rotation/Scale控制器必M用Bezier, Linear或TCBQƈ且Rotation控制器两个关键之间的角度差必须于90度?/font>
挂蝲点设|?/strong>
挂蝲点制作时是l定了一个box在骨gQ这个box不需要设|材质,但需要在自定义属性编辑面板上标注为Attachment Point。这些box不会被渲染,在它们上也不应该有动L据?/font>
与骨骼类|挂蝲点也有一些是必须定义的,如下所C:
相对于目前越来越复杂的MMO来说QWar3的挂载点信息q是比较的?/font>
模型的优?/strong>
War3ArtTools定义了一个表|指导模型制作者对各种cd的模型其面数Q脓囑֤,骨骼数和带动ȝGeoset数量做了规定?/font>
其他
每个unit模型可以带一个头像模型,只需要在名称后加一个_Portrait卛_Q另外头像模型上必须带一个摄像机?/font>
物件可以成l,q样在War3~辑器中刷小物g的时候可以随机的刷出各种物g来,只要在命名时其名称设ؓ一P同时在后面加上数字即可,如ModelName0.mdx, ModelName1.mdx, ……
动画列表
如前面所_War3中有一套动L换规则,每个unit和building也都定义了一些动dQ有些是必须要有的,有些是可选的Q美术在制作的时候必要有的可以先做Q可选动d以在后期慢慢加入Q下表是几个动画名及其描qͼ
可替换的贴图ID
TeamColor
用于昄团队颜色Q通常情况下,一?#8221;underpainting”贴图被应用于模型的一部分或者整个模型上Qƈ且这个脓图被讄为Team ColorQ然后模型的Skin再被附加一层带alpha“I洞”的脓图,通过q些“I洞”把下面的Team Color昄出来?/font>
Team Glow
用Billboard实现的,可以让英雄单位或英雄所带的武器发光的一U脓图方式?/font>
Trees
被标CؓTree的可替换贴图在游戏中会被替换为适合当前tileset的Tree贴图?/font>
注:以上内容大部分未l验证,属于个h理解Q小心被误导