模型&动作


关于贴图、动画、模型的修改教程。在学此教程时,请先确认自己已经学会了用AOE3ED提取单位的tactics文件。教程所提到的单位xml、Ainm XML、动画xml为protoy中的<animfile>xxxx\xxxx.xml</animfile>所调用的xml文件,除MOD的单位可能不需要提取外,亚洲王朝原版的动画xml必须用AOE3ED在Art文件夹的Art5.bar、Art4.bar、Art3.bar、Art2.bar、Art1.bar提取,优先提取Art5.bar,然后是Art4.bar,最后是Art3.bar、Art2.bar、Art1.bar。(注: Art3.bar、Art2.bar、Art1.bar这三个文件没有优先顺序。)





在整个圣典中,我对animfile的研究是最少的,因为这个文件比较复杂,语句也不像protoy、techtreey那样规范,而且数量太多,没法总结所有语句,所以我只是随便整理一下语句,并解释下语句作用,具体的需要你自己去理解,如果你修改几次后应该也懂的差不多了。
拿一般的单位来说,语句结构如下:

<animfile>
	<definebone>xxxxxxx</definebone>
定义骨骼,某些情况下的attach要在此处定义骨骼才能附加到对应骨骼位置处。(我不清楚是自定义还是调用内部数据,又或者两种情况都有可能。)
	<attachment>
附件(武器、枪、剑、背包之类的),利用attach语句附加在模型上
		attachname1
自定义附件名称
		<include>xxxxx\xxxxxx\xxxxxxxx.xml</include>
引用anim xml文件路径(例如你引用一棵树,当成剑使用,那么武器就变成一棵树了)
	</attachment>
	<attachment>
附件,利用attach语句附加在模型上
		attachname2
自定义附件名称
		<component>
部件,(在anim会调用到)
			componentname
自定义部件名称
			<assetreference type="GrannyModel">
调用gr2模型
				<file>xxxxx\xxxxx\xxxxxxxx</file>
被调用的gr2模型路径。注:没有.gr2后缀名。
			</assetreference>
		</component>
		<anim>
anim动作
			Idle
在附件的动作一般为Idle
			<component>componentname</component>
调用部件“componentname”,然后这个动作或调用componentname定义的模型
		</anim>
	</attachment>
	<attachment>
附件,利用attach语句附加在模型上
		attachname3
自定义附件名称
		<component>
部件
			componentname
自定义部件名称
			<assetreference type="ParticleSystem">
调用粒子系统
				<file>xxxxxx\xxxxxxxx\xxxxxxxxx.particle</file>
被调用的粒子文件路径,注:要有后缀名.particle
			</assetreference>
		</component>
		<anim>
anim动作
			Idle
在附件的动作一般为Idle
			<component>componentname</component>
调用部件“componentname”,然后这个动作或调用componentname定义的模型
		</anim>
	</attachment>
	<component>
部件(在anim会调用到)
		componentname
自定义部件名称
		<logic type="xxxxx">
根据不同的设定,设置不同模型,有Civ国家,Culture文化,Tech要求改良科技等,具体点击此处:logic
			<none>
默认模型
				<logic type="LowPoly">
根据游戏画质不同,设置不同模型
					<normal>
低画质以上
						<assetreference type="GrannyModel">
调用gr2模型
							<file>xxx\xxxxx\xxxxxxx</file>
被调用的gr2模型路径
						</assetreference>
			
			<attach a="attachname1" frombone="xx" tobone="xx" syncanims="1"/>
这里可以附加一个附件,低画质那里不附加,那么只有低画质以上才会有这个附件
					</normal>
					<lowpoly>
低画质
						<assetreference type="GrannyModel">
							<file>xxx\xxxxx\xxxxxxx</file>
						</assetreference>
					</lowpoly>
				</logic>
根据游戏画质不同,设置不同模型--结束标语
			</none>
默认模型--结束标语
			<xxxxxxxxx>
文化、国家、科技等设定
				<logic type="LowPoly">
此处不再解释语句
					<normal>
						<assetreference type="GrannyModel">
							<file>xxx\xxxxx\xxxxxxx</file>
						</assetreference>
					</normal>
					<lowpoly>
						<assetreference type="GrannyModel">
							<file>xxx\xxxxx\xxxxxxx</file>
						</assetreference>
					</lowpoly>
				</logic>
			</xxxxxxxxx>
文化、国家、科技等设定--结束标语
		</logic>
根据不同的设定,设置不同模型--结束标语
		<decal>
单位底部的贴图(单位--圆圈、建筑--方形、英雄--五角星)
			<effecttype>default</effecttype>
			<texture isfakeshadow="1">xxxxx\xxxxx</texture>
作用不明
			<selectedtexture>xxxxx\xxxxx</selectedtexture>
选取该单位时底部的贴图
			<noncinematictexture>xxxxx\xxxxx</noncinematictexture>
无论是否选取单位都会显示的底部贴图
			<width>1.0</width>
贴图宽度,根据html css瞎说定律,横的为宽度
			<height>1.0</height>
贴图高度,根据html css瞎说定律,竖的为高度
		</decal>
		<attach a="attachname1" frombone="xxxxx" tobone="yyyyy" syncanims="1"/>
在任意位置都可以使用attach附件部件的,这里将附件名为“attachname1”的附件从骨骼“xxxxx”到骨骼“yyyyy”上附加在模型上
	</component>
	<anim>
动作,会被tactics调用到
		animname1
动作名称
		<assetreference type="GrannyAnim">
调用gr2模型(动作)
			<file>xxxxxx\xxxxxxxx\xxxxxxxxxx</file>
被调用gr2模型(动作)文件路径
		</assetreference>
		<component>componentname</component>
调用部件名称为“componentname”的部件,既然被调用了,那么部件的附件也会一起被调用
		<attach a="attachname2" frombone="xxxxxx" tobone="xxxxxx" syncanims="1"/>
附件可以添加在任何地方,添加在anim中就只有这个anim才会出现这个附件,其他anim不会出现
	</anim>
	<anim>
		animname2
动作名称
		<assetreference type="GrannyAnim">
如果连续添加多个gr2模型(动作),执行的时候会随机出现其中一个。例如某些单位死亡的时候会有不同的动作就是这样定义的。
			<file>xxxxxx\xxxxxxxx\xxxxxxxxxx</file>
		</assetreference>
		<assetreference type="GrannyAnim">
			<file>xxxxxx\xxxxxxxx\xxxxxxxxxx</file>
		</assetreference>
		<assetreference type="GrannyAnim">
			<file>xxxxxx\xxxxxxxx\xxxxxxxxxx</file>
		</assetreference>
		<component>componentname</component>
		<attach a="attachname2" frombone="xxxxxx" tobone="xxxxxx" syncanims="1"/>
	</anim>
	<anim>
		animname3
动作名称
		<assetreference type="GrannyAnim">
调用gr2模型(动作)
			<file>xxxxxx\xxxxxxxx\xxxxxxxxxx</file>
被调用gr2模型(动作)文件路径
			<tag type="Attack">X.00</tag>
对指定单位执行一次攻击,造成一次伤害。X.00为延迟时间
			<tag type="SpecificSoundSet" checkvisible="1" set="Soundsetname">X.00</tag>
执行这个anim会调用soundsets.xml、soundsetsx.xml、soundsetsy.xml里面定义的语音,例如开枪声。X.00为延迟时间。
			<tag type="Particles" particlename="XXXXXXXX">X.00</tag>
调用粒子效果,粒子效果必须在art1.bar\effects\particlesets.xml、art4.bar\effects\particlesets_xpack.xml、art5.bar\effects\particlesets_ypack.xml三个文件其中一个定义,否则无法调用及生效。至于这三个xml文件,你打开就懂了,但是打开后,里面调用的粒子文件是怎样构成的,你自己研究,我也没有什么教程。X.00为延迟时间。
		</assetreference>
		<component>componentname</component>
		<attach a="attachname2" frombone="xxxxxx" tobone="xxxxxx" syncanims="1"/>
	</anim>
	<anim>
		animname3
		<assetreference type="GrannyAnim">
			<file>xxxxxx\xxxxxxxx\xxxxxxxxxx</file>
			<tag type="Attack">0.10</tag>
每执行一次anim,每次都合计执行4次攻击,造成4次伤害。(管炮、格林机枪、诸葛弩就是这种)
			<tag type="Attack">0.20</tag>
			<tag type="Attack">0.30</tag>
			<tag type="Attack">0.40</tag>
			<tag type="SpecificSoundSet" checkvisible="1" set="Soundsetname">0.10</tag>
合计调用两次语音
			<tag type="SpecificSoundSet" checkvisible="1" set="Soundsetname">X.30</tag>
		</assetreference>
		<component>componentname</component>
		<attach a="attachname2" frombone="xxxxxx" tobone="xxxxxx" syncanims="1"/>
	</anim>
</animfile>





上面已经解释过了,attachment是附件,有两种方法可以定义,一种是用include引用其他anim xml文件,理论上可以在那个xml继续用include再引用anim xml(无限引用,一个xml关联了无限个xml)
	<attachment>
		attachname
		<include>xxxxx\xxxxxx\xxxxxxxx.xml</include>
	</attachment>

另一种方法是将另一个anim xml的内容直接写在了attachment里面,相信你在上面也看见某个attachment的结构与整个xml结构大部分都是相同的。


attachment定义的附件要用attach语句附加在gr2模型下面或者component部件中。
<attach a="attachname" frombone="xxxxxx" tobone="xxxxxx" syncanims="1"/>
<attach a="你在attachment定义的附件名称" frombone="从某个骨骼" tobone="到某个骨骼" syncanims="1"/>

在component部件内附加的任何附件都会在每一个anim动作附加上这个附件,因为每一个anim都会调用一个component部件,那些附加在部件的附件自然会附加在anim里面。
比如后面的教程会讲到给殖民地民兵添加采集资源后,无论是打猎,还是砍树,或是挖矿都会带着一把枪,这就是每一个anim都会调用一个component部件所造成的——————那把枪附加在了component部件里面。具体请看:8-7 殖民地民兵采集资源

至于attach两个bone,我也不太清楚是从哪里定义的,有可能是内部主程序定义,也有可能是从gr2文件(3dsmax的骨骼名称)定义,你想引用某些骨骼就必须在xml顶部用<definebone>xxxxxxx</definebone>定义这个骨骼。不过也有例外,像ATTACHPOINT就不需要在<definebone>xxxxxxx</definebone>定义,所以我真的是无法理解这里,只能说如果你attach后,附件没有出现在正常的位置,检查语句有没有任何错误,那么就要去考虑是不是没有在<definebone>xxxxxxx</definebone>定义的那个骨骼的问题了。
比如英国探险家attach了一个帽子,法国探险家attach了一个背包
<definebone>Bip01_AttachLt</definebone> <definebone>Bip01_AttachRt</definebone> <definebone>bip01 Prop1</definebone> <definebone>bip01 Prop2</definebone> <definebone>bone_hat</definebone> <definebone>Bip01 Head</definebone> <definebone>bone_backpack</definebone> <definebone>bone_fur</definebone> <definebone>bone_gun</definebone> <!-- 省略其他语句 --> <attachment> british_hat <component> british_hat <assetreference type="GrannyModel"> <file>units\explorers\b_explorer_hat</file> </assetreference> </component> <anim> Idle <component>british_hat</component> </anim> </attachment> <attachment> french_backpack <component> french_backpack <assetreference type="GrannyModel"> <file>units\explorers\f_explorer_backpack</file> </assetreference> </component> <anim> Idle <component>french_backpack</component> </anim> </attachment> <component> ModelComp <logic type="Civ"> <british> <logic type="LowPoly"> <normal> <assetreference type="GrannyModel"> <file>units\explorers\b_explorer</file> </assetreference> <attach a="british_hat" frombone="bone_hat" tobone="Bip01 Head" syncanims="0"/> </normal> <lowpoly> <assetreference type="GrannyModel"> <file>units\explorers\lp_b_explorer</file> </assetreference> </lowpoly> </logic> </british> <french> <logic type="LowPoly"> <normal> <assetreference type="GrannyModel"> <file>units\explorers\f_explorer</file> </assetreference> <attach a="french_backpack" frombone="bone_backpack" tobone="SPINE1" syncanims="0"/> </normal> <lowpoly> <assetreference type="GrannyModel"> <file>units\explorers\lp_f_explorer</file> </assetreference> </lowpoly> </logic> </french> </logic> <!-- 省略其他语句 --> </component>
当我把 <definebone>bone_hat</definebone> <definebone>Bip01 Head</definebone> <definebone>bone_backpack</definebone> 删掉后,如下图所示:

可以看见帽子与背包都错位了,这就是没有在顶部定义<definebone>xxxxx</definebone>的原因,不过你也看见了,法国探险家的背包有个tobone="SPINE1",整个xml文件并没有定义这个,但是法国探险家的背包位置正确,也就是说不一定需要用definebone定义,当出现attach错位后可以去考虑是不是没有在definebone定义的原因。



对于初学者我还是建议你去复制原有的anim语句,例如给村民制作移植一个背包之类的,然后再理解语句,再接着是创新。

















************************************************************************************************************************


返回表格

			<logic type="LowPoly">低画质设定(我不知道是着色器还是高多边形模型,你有兴趣的话自己试一下)
				<normal>低画质以上画质显示的模型
					<assetreference type="GrannyModel">
						<file>调用gr2模型文件</file>
					</assetreference>
				</normal>
				<lowpoly>低画质显示的模型
					<assetreference type="GrannyModel">
						<file>调用gr2模型文件</file>
					</assetreference>
				</lowpoly>
			</logic>

随机选择(模型组理论上无数量上限。)
	<logic type="Variation">
		<v0>
		</v0>
		<v1>
		</v1>
	</logic>
破坏过程(数字小的一组为破坏时的外貌,大的一组为正常状态。)
	<logic type="Destruction">
		<p1>
		</p1>
		<p99>
		</p99>
	</logic>
建造进程(可根据情况增减过程。)
	<logic type="BuildingCompletion">
		<p0>
		</p0>
		<p33>
		</p33>
		<p66>
		</p66>
		<p100>
		</p100>
	</logic>








根据文化不同,设定不同模型(Culture文化可替换为Tech科技或Civ文明。):none指默认,例如下面的文化只设定了none与Chinese,那么除了Chinese其他国家都是none

<logic type="Culture"> <none> </none> <Chinese> </Chinese> </logic>

根据国家不同,定义不同的模型:none指默认,例如下面的国家只设定了none、Chinese与french,那么除了Chinese与french,其他国家都是none

<logic type="civ"> <none> </none> <Chinese> </Chinese> <french> </french> </logic>

改良科技后,变成不同的的模型:none依然是默认,未改良某科技都是none

<logic type="Tech"> <none> </none> <xxxxxxxxx> </xxxxxxxxx> </logic> 几个logic可以任意嵌套: <logic type="Culture"> <none> <logic type="Tech"> <none> <logic type="civ"> <none> </none> <Chinese> </Chinese> <french> </french> </logic> </none> <xxxxxxxxx> <logic type="Variation"> <v0> </v0> <v1> </v1> </logic> </xxxxxxxxx> </logic> </none> <Chinese> <logic type="Tech"> <none> </none> <xxxxxxxxx> </xxxxxxxxx> </logic> </Chinese> </logic> ************************************************************************************************************************

下面的动作来自林墓怪人整理的资料:

快给我向林墓怪人大佬表示感谢。 步兵死亡动作 <assetreference type="GrannyAnim"> <file>animation_library\villager\villager_male_death1</file> <tag type="SpecificSoundSet" checkvisible="1" set="RagdollImpact">0.46</tag> </assetreference> <assetreference type="GrannyAnim"> <file>animation_library\villager\villager_female_death1</file> <tag type="SpecificSoundSet" checkvisible="1" set="RagdollImpact">0.46</tag> </assetreference> <assetreference type="GrannyAnim"> <file>animation_library\range\volley\volley_kneeling_deathbyrangedB</file> <tag type="SpecificSoundSet" checkvisible="1" set="RagdollImpact">0.40</tag> </assetreference> <assetreference type="GrannyAnim"> <file>animation_library\range\cover\cover_death</file> <tag type="SpecificSoundSet" checkvisible="1" set="RagdollImpact">0.80</tag> <tag type="SpecificSoundSet" checkvisible="1" set="RagdollImpact">1.10</tag> </assetreference> <assetreference type="GrannyAnim"> <file>animation_library\range\volley\volley_kneeling_deathbyrangedA</file> <tag type="SpecificSoundSet" checkvisible="1" set="RagdollImpact">0.30</tag> </assetreference> <assetreference type="GrannyAnim"> <file>animation_library\range\volley\volley_kneeling_deathbyrangedB</file> <tag type="SpecificSoundSet" checkvisible="1" set="RagdollImpact">0.40</tag> </assetreference> <assetreference type="GrannyAnim"> <file>animation_library\range\volley\volley_kneeling_deathbyrangedC</file> <tag type="SpecificSoundSet" checkvisible="1" set="RagdollImpact">0.60</tag> <tag type="SpecificSoundSet" checkvisible="1" set="RagdollImpact">1.20</tag> </assetreference> <assetreference type="GrannyAnim"> <file>animation_library\shared\human_sword_death_a</file> <tag type="SpecificSoundSet" checkvisible="1" set="RagdollImpact">0.87</tag> </assetreference> <assetreference type="GrannyAnim"> <file>animation_library\shared\human_death_generic_a</file> <tag type="SpecificSoundSet" checkvisible="1" set="RagdollImpact">1.20</tag> </assetreference> <assetreference type="GrannyAnim"> <file>animation_library\shared\human_death_shot_back_a</file> <tag type="SpecificSoundSet" checkvisible="1" set="RagdollImpact">0.85</tag> </assetreference> <assetreference type="GrannyAnim"> <file>animation_library\shared\human_death_shot_front_a</file> <tag type="SpecificSoundSet" checkvisible="1" set="RagdollImpact">0.56</tag> </assetreference> <assetreference type="GrannyAnim"> <file>animation_library\mercs\samurai\samurai_death_sword</file> <tag type="SpecificSoundSet" checkvisible="1" set="RagdollImpact">0.26</tag> </assetreference> <assetreference type="GrannyAnim"> <file>animation_library\mercs\samurai\samurai_death_musket</file> <tag type="SpecificSoundSet" checkvisible="1" set="RagdollImpact">0.58</tag> </assetreference> <assetreference type="GrannyAnim"> <file>units\asians\indians\urumi\urumi_rangeDeath00</file> <tag type="SpecificSoundSet" checkvisible="1" set="RagdollImpact">0.59</tag> </assetreference> <assetreference type="GrannyAnim"> <file>units\asians\indians\urumi\urumi_rangeDeath01</file> <tag type="SpecificSoundSet" checkvisible="1" set="RagdollImpact">0.82</tag> </assetreference> <assetreference type="GrannyAnim"> <file>animation_library\explorer\Knockout</file> <tag type="SpecificSoundSet" checkvisible="1" set="RagdollImpact">0.62</tag> <tag type="SpecificSoundSet" checkvisible="1" set="RagdollImpact">0.31</tag> </assetreference> <assetreference type="GrannyAnim"> <file>animation_library\range\death_kneeling_rifleman_A</file> <tag type="SpecificSoundSet" checkvisible="1" set="RagdollImpact">0.50</tag> <tag type="SpecificSoundSet" checkvisible="1" set="RagdollImpact">1.60</tag> </assetreference> <assetreference type="GrannyAnim"> <file>animation_library\range\death_standing_rifleman_A</file> <tag type="SpecificSoundSet" checkvisible="1" set="RagdollImpact">0.51</tag> </assetreference> <assetreference type="GrannyAnim"> <file>animation_library\range\death_standing_rifleman_B</file> <tag type="SpecificSoundSet" checkvisible="1" set="RagdollImpact">0.18</tag> </assetreference> <assetreference type="GrannyAnim"> <file>animation_library\range\death_standing_rifleman_C</file> <tag type="SpecificSoundSet" checkvisible="1" set="RagdollImpact">0.73</tag> </assetreference> 骑兵死亡动作 <assetreference type="GrannyAnim"> <file>animation_library\cavalry\sword_deathA</file> </assetreference> <assetreference type="GrannyAnim"> <file>animation_library\cavalry\sword_deathB</file> </assetreference> <assetreference type="GrannyAnim"> <file>animation_library\cavalry\sword_deathC</file> </assetreference> <assetreference type="GrannyAnim"> <file>animation_library\cavalry\oprichnik_deathA</file> </assetreference> <assetreference type="GrannyAnim"> <file>animation_library\cavalry\oprichnik_deathB</file> </assetreference> <assetreference type="GrannyAnim"> <file>animation_library\cavalry\oprichnik_deathC</file> </assetreference> ———————————————————————————————————————————————————— ———————————————————————————————————————————————————— 射击动作 <assetreference type="GrannyAnim"> <file>animation_library\range\volley\volley_standing_fire</file> <tag type="Attack">0.48</tag> <tag type="SpecificSoundSet" checkvisible="1" set="MusketShot">0.48</tag> <tag type="Particles" particlename="musketshot">0.48</tag> </assetreference> 半蹲射击 <assetreference type="GrannyAnim"> <file>animation_library\range\volley\volley_kneeling_fire</file> <tag type="Attack">0.46</tag> <tag type="SpecificSoundSet" checkvisible="1" set="RifleShot">0.46</tag> <tag type="Particles" particlename="musketshot">0.46</tag> </assetreference> ———————————————————————————————————————————————————— ———————————————————————————————————————————————————— 一般动作 齐射模式 <assetreference type="GrannyAnim"> <file>animation_library\range\volley\volley_standing_idle</file> </assetreference> 半蹲动作 <assetreference type="GrannyAnim"> <file>animation_library\range\volley\volley_kneeling_reload</file> </assetreference> <assetreference type="GrannyAnim"> <file>animation_library\range\defend\defend_idle</file> </assetreference> <assetreference type="GrannyAnim"> <file>animation_library\range\defend\defend_boredA</file> </assetreference> 火枪兵无聊动作 <assetreference type="GrannyAnim"> <file>animation_library\range\volley\volley_standing_boredA</file> </assetreference> <assetreference type="GrannyAnim"> <file>animation_library\range\defend\defend_boredA</file> </assetreference> <assetreference type="GrannyAnim"> <file>animation_library\range\cover\cover_bored</file> </assetreference> <assetreference type="GrannyAnim"> <file>animation_library\range\charge\charge_bored</file> </assetreference> 散兵无聊动作 <assetreference type="GrannyAnim"> <file>animation_library\range\bored_rifleman_A</file> </assetreference> <assetreference type="GrannyAnim"> <file>animation_library\range\bored_rifleman_B</file> </assetreference> <assetreference type="GrannyAnim"> <file>animation_library\range\bored_rifleman_C</file> </assetreference> 掷弹兵无聊动作 <assetreference type="GrannyAnim"> <file>animation_library\range\bored_grenadier_A</file> </assetreference> <assetreference type="GrannyAnim"> <file>animation_library\range\bored_grenadier_B</file> </assetreference> 弩兵无聊动作 <assetreference type="GrannyAnim"> <file>animation_library\shared\human_crossbow_bored_a</file> </assetreference> 日本武士无聊动作 <assetreference type="GrannyAnim"> <file>animation_library\mercs\samurai\samurai_bored</file> </assetreference> <assetreference type="GrannyAnim"> <file>animation_library\mercs\samurai\samurai_boredB</file> </assetreference> <assetreference type="GrannyAnim"> <file>animation_library\mercs\samurai\samurai_defend_bored</file> </assetreference> 枪兵无聊动作 <assetreference type="GrannyAnim"> <file>animation_library\infantry\Cover\pikemen_cover_bored</file> </assetreference> <assetreference type="GrannyAnim"> <file>animation_library\infantry\Defend\pikemen_defend_bored</file> </assetreference> <assetreference type="GrannyAnim"> <file>animation_library\infantry\Defend\pikemen_defend_boredB</file> </assetreference> <assetreference type="GrannyAnim"> <file>animation_library\infantry\Charge\pikemen_charge_bored</file> </assetreference> 弓兵无聊动作 <assetreference type="GrannyAnim"> <file>units\asians\japanese\monk\volley_standing_boredA</file> </assetreference> <assetreference type="GrannyAnim"> <file>units\asians\japanese\monk\volley_standing_boredB</file> </assetreference> <assetreference type="GrannyAnim"> <file>animation_library\range\defend\longbow_defend_combat_idle</file> </assetreference> <assetreference type="GrannyAnim"> <file>animation_library\range\volley\longbow_volley_standing_boredA</file> </assetreference> <assetreference type="GrannyAnim"> <file>animation_library\range\volley\longbow_volley_standing_boredB</file> </assetreference> *************************************************************************************************

~~~~~~~~~~~~~~我是华丽丽的分割线~~~~~~~~~~~~~~


gr2查看器下载:

gr2查看器 百度网盘:https://pan.baidu.com/s/1Oc3Z9ZHiaULAOYUQvBSTeA;提取码:odw9
如果链接失效了,请来我们的QQ群85442352,内部群347551328下载。
gr2查看器的作用是什么,顾名思义,用来查看gr2文件。
为什么我的gr2查看器打开gr2显示的是空白?之前打开其他gr2文件没有贴图但是有模型,是我的电脑出现问题了吗?

这种问题该说什么好呢?在大佬看来看不见就是看不见,为什么一定要有模型图像才行?萌新总是喜欢问这种没意义的问题。
事实上能给你打开gr2文件已经很不错了,你还想怎样呢,难道那个图像能给你编辑?









单位模型之类的修改很困难


如果你想什么都问人你还是放弃吧。(适当问大佬还是可以的)

先弄懂什么是模型文件>>>>>>>>>>模型文件的格式是gr2

我们目前能使用3dsmax8.0导出gr2模型。

win10使用3dsmax打开或保存文件时候卡死怎么办?>>>>>>>>>>可怜的孩子,重做吧,3dsmax8.0是XP系统的软件,能在win10运行已经很不错了,记住这个教训,不要再点这个会卡死的地方(打开、保存时顶部的路径不能点,点了就卡死,你可以使用返回上一级的按钮寻找你要保存的位置。另外保存的时候,不要在保存对话框内对文件按右键,否则后果自负)。

win10打不开3dsmax8.0怎么办?>>>>>>>>>>安装虚拟机,虚拟机安装XP系统。

怎样使用3dsmax8.0?>>>>>>>>>>那是你的事情,与我无关,我只能告诉你导出gr2文件。

导出gr2文件怎样使用?>>>>>>>>>>单位动画xml有个file就是调用gr2模型的路径。

xml调用gr2模型
主要模型是omponent的file调用的gr2模型
次要模型是attachment(利用attach附加在主要模型上面)
attachment可以直接调用gr2模型,也可以调用另一个xml(由另一个xml调用gr2模型)
3dsmax是软件
3dsmax8.0导出gr2模型

如果发现单位模型没有附加物件例如abus的炮,连枷骑兵的连枷,那么这些物件就是在主要模型的gr2里面了;到现在我们还没有办法去修改。

gr2绑定骨骼(蒙皮);我这里有max模型,没有任何教程,你只能仿照这个模型进行蒙皮,具体需要你自己体会。