找回密码
 点一下
查看: 4038|回复: 7

【数据教程】模型的武器发射效果的挂起相关

[复制链接]
发表于 2010-7-6 14:54:47 | 显示全部楼层 |阅读模式
这篇文章主要写的是关于模型的武器发射效果的挂起的~~拖了很久的一篇文章的说。(在此特别感谢Walter的调查
最近比较忙,而且我自己还没完全的掌握,只能给大家写写初级的分析了。借用空军上校戴旭的一句话~希望能成为大家的思想点火者。让大家能在一些简单、粗糙的基础上,更快的,更好的成长。

另外,贝塔测试的P2阶段和正式版推出都要来了,估计会开放很多新的技术,以及会让之前接触到的技术有进一步的深入理解的说。
大家一起加油,嗯嗯。我们的QQ群:74822124,欢迎大家来溜达~作为技术讨论用。

还有的是,最近重新看了看我之前写的一些教程,里面小的错误还是挺多的,抽空再一一修正吧。懒自当头照~哎~

下面便正式开始介绍吧。




模型的武器发射效果的挂起 = 武器发射效果在模型挂起位置的设定 = 武器发射时的效果在模型的哪个附加点上挂起(显示在模型的什么位置上)。
→武器发射附加点 = Marauder的左右手分;Thor的双手和肩部等。(猜想:雷兽的多重炮台的正确做法也是这个相关的。)

武器发射效果的挂起和下面几个类有关,对于这几个类之间的关联,我也画了张图,这就是我的理解,大家一起分析下~
关联结构.jpg




对上图进行一下具体的说明~

在M3文件中有着关于附加点AttachPoint的定义,从而在ModelData类中定义模型时,便可以定义这些附加点。
<CModel id="Thor" parent="Unit" Race="Terran">
  <Occlusion value="Show"/>
  <ScaleMax value="0.650000,0.650000,0.650000"/>
  <ScaleMin value="0.650000,0.650000,0.650000"/>
  <SelectionRadius value="1.8457"/>
  →<AttachProps Id="Ref_Weapon 05">
    <Keys index="SetA" value="0"/>
  </AttachProps>
  →<AttachProps Id="Ref_Weapon 07">
    <Keys index="SetA" value="0"/>
  </AttachProps>
  →<AttachProps Id="Ref_Weapon 15">
    <Keys index="SetA" value="1"/>
  </AttachProps>
  →<AttachProps Id="Ref_Weapon 16">
    <Keys index="SetA" value="1"/>
  </AttachProps>
  →<AttachProps Id="Ref_Weapon 17">
    <Keys index="SetA" value="1"/>
  </AttachProps>
  →<AttachProps Id="Ref_Weapon 18">
    <Keys index="SetA" value="1"/>
  </AttachProps>
  →<AttachProps Id="Ref_Target" SquibType="Metal" RadiusTarget="0.8"/>
  <Radius value="1.400000"/>
  <TechPurchaseCamera value="Star2CameraHigher16"/>
  <ShadowRadius value="1.8457"/>
</CModel>

M3文件的结构相关简单说明:
M3文件结构简介.JPG

在ModelData类中定义了的附加点之后,还要在AttachMethodData类中对附加点进行使用方法的声明。
→<CAttachMethodPattern id="AMPatternMarauder">
  <Keyword value="Weapon"/>
  <Driver value="MarauderLM"/>
  <Base value="RollingIndex"/>
 </CAttachMethodPattern>

最后则是核心的部分,在ActorData类的武器的发射效果中,把发射位置和已经定义好的附加点使用方法进行关联。
<CActorAction id="ThorAAAttack" parent="GenericAttack" effectImpact="ThorAADamage" effectLaunch="ThorAALaunchMissile">
  →<LaunchAttachQuery Methods="AMFilterWeaponSetA1 AMPatternThorAA"/>
  <LaunchAssets Sound="Thor_AntiAirAttackLaunch"/>
  <ImpactMap index="None" Sound="Thor_AntiAirAttackImpact"/>
</CActorAction>





对于模型的武器发射效果的挂起的相关类中很多节点我也不是很明白,还在测试中,大家可以自己看看。
----------------------------------------------
ActorData::CActorAction

AttachMethodData::CAttachMethodFilter
AttachMethodData::CAttachMethodPattern
AttachMethodData::CAttachMethodProximity
AttachMethodData::CAttachMethodNodeOccupancy

ModelData::CModel
----------------------------------------------

CActorAction相关的结构整理了一下,大家随便看看,之后可以自己去测试的说。
附加点相关-ActorAction.JPG   

评分

参与人数 1威望 +4 收起 理由
Renee + 4 ~~234

查看全部评分

发表于 2010-7-6 16:42:31 | 显示全部楼层
沙发,水点钱
回复

使用道具 举报

发表于 2010-7-6 19:57:35 | 显示全部楼层
话说最近收不收家具费
回复

使用道具 举报

发表于 2010-7-7 11:13:42 | 显示全部楼层
不错
回复

使用道具 举报

发表于 2010-7-8 09:41:03 | 显示全部楼层
这个SC2,好像非常难啊。
回复

使用道具 举报

 楼主| 发表于 2010-7-8 12:56:38 | 显示全部楼层

回 4楼(masdsyr318) 的帖子

不好意思...可能是比较复杂,但也是我说的不太简单明了的说~之后慢慢改进
最近有一些模型组合相关的地图,之后考虑写一个用Actor来控制模型与模型之间组合相关的教程。
回复

使用道具 举报

发表于 2010-7-9 13:06:48 | 显示全部楼层
眼花
回复

使用道具 举报

发表于 2011-5-21 23:13:17 | 显示全部楼层
<CAttachMethodPattern id="AMPatternMarauder">
  <Keyword value="Weapon"/>
  <Driver value="MarauderLM"/>
  <Base value="RollingIndex"/>
 </CAttachMethodPattern>
楼主这个例子举错了吧 应该是Thor的 弄成了Marauder的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 点一下

本版积分规则

Archiver|移动端|小黑屋|地精研究院

GMT+8, 2024-9-28 08:18 , Processed in 0.265501 second(s), 25 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表