UDN
Search public documentation:
SettingUpWeaponsCH
English Translation
日本語訳
한국어
Interested in the Unreal Engine?
Visit the Unreal Technology site.
Looking for jobs and company info?
Check out the Epic games site.
Questions about support via UDN?
Contact the UDN Staff
日本語訳
한국어
Interested in the Unreal Engine?
Visit the Unreal Technology site.
Looking for jobs and company info?
Check out the Epic games site.
Questions about support via UDN?
Contact the UDN Staff
设置武器
武器建模 - 创建及骨架绑定
您如何设置任何特定武器的第一人称网格物体的骨架是由设置期望的动画所需要的东西来决定的。一般,武器有一个跟骨骼,它位于玩家紧握武器的地方,还有一个小骨骼,它位于枪口火焰的地方。这个骨骼不直接用于附加枪口火焰及其它特效,而是使用基于这些骨骼的插槽来进行附加,把这些骨骼放到正确的位置上会使得设置插槽变得非常容易。
对于第三人称网格物体,骨架或许更加的简单,因为在第三人称方式中跳过了在第一人称中武器所使用的大部分动画,因为它不需要那些动画。根骨骼应该放在主要手紧握武器的地方。子骨骼可以放置在辅助手握住武器的地方,一般如果对特定的武器需要这样的设置或者在您的游戏中支持这样的设置时,那么可以这么做。对于第一人称方式,子骨骼可以放在枪口火焰的位置。
下面显示了一个有关武器骨架的示例:
武器导出
武器导入及设置
同时也要导入武器的贴图及材质,并设置它们把它们分配给那个静态网格物体。在AnimSet(动画集)编辑器中,您可以通过从File(文件)菜单中选择 New AnimSet(新建动画集)... ,然后提供包、组(可选)及名称,从而为武器创建一个新的动画集,
然后,通过再次从动画集编辑器中的 File(文件)菜单中选择 Import PSA(导入PSA)... 来把包含那个武器的所有动画的.PSA文件导入到武器的动画集中。
如果您使用的是 .FBX文件格式,那么这里您应该选择 Import FBX Animation(导入FBX 动画)... 来导入您的动画。
设置插槽
前面提到的插槽可以用作为枪口火焰以及武器所需要的任何其它特效的附加点。插槽从本质上讲连接特定骨骼的定位器,您可以命名它、偏移它并让它们自己旋转。这为在特定的位置处附加或产生武器项提供了一种简单的方式。 插槽是通过动画集编辑器来添加到虚幻编辑器中的骨架网格物体上的。请按下工具条上的
按钮来打开插槽管理器。
将打开一个列出了网格物体中所有骨骼的新的对话框。
选中那个添加到枪管网格物体尖端的骨骼,然后按下 确定 。这��会弹出另一个对话框,那里您可以给插槽赋予一个名称,以便可以在代码中识别它。
一旦您输入了名称,按下 OK 便可以添加新的插槽。它将出现在动画集编辑器的预览面板和插槽管理器的插槽列表中。
创建射弹
射弹是武器开火的物理呈现。Unreal中射弹的视觉效果组件是粒子系统。创建射弹的粒子系统是个非常简单的过程,和制作其它任何粒子系统类似。从本质上讲,您就是要创建一个您希望射弹在战斗中呈现的效果的粒子系统。这个粒子系统可由任意多个发射器做成,只要这些是获得理想的效果所需要的。 射弹粒子系统的一些示例如下所示:
创建枪口火焰
枪口火焰用于模仿射弹射出武器的炮筒的效果,就像在现实生活当枪开火时你所看到的火焰那样。Unreal中的武器系统使用粒子系统作为枪口火焰的可视化组件。和射弹一样,只要可以满足获得期望效果的需要,枪口火焰的粒子系统可以有任意多个发射器组成。 枪口火焰粒子系统的一些示例如下所示:
写给程序员
- 第一人称网格物体的名称。
- 动画集的名称。
- 拾取物网格物体的名称。
- 拾取物、装备、放下物及开火声音的名称。
- 射弹粒子系统的名称(如果开火发射射弹)。
- 枪口火焰粒子系统的名称。
- 瞄准线贴图和坐标的名称。
创建脚本文件
这里是如何把所有需要的信息输入到您的武器的非常基本的 UnrealScript .uc文件中的示例: MyWeapon.uc
class MyWeapon extends UTWeapon;
defaultproperties
{
Begin Object class=AnimNodeSequence Name=MeshSequenceA
bCauseActorAnimEnd=true
End Object
// 武器骨架网格物体
Begin Object Name=FirstPersonMesh
SkeletalMesh=SkeletalMesh'WP_LinkGun.Mesh.SK_WP_Linkgun_1P'
AnimSets(0)=AnimSet'WP_LinkGun.Anims.K_WP_LinkGun_1P_Base'
Animations=MeshSequenceA
Scale=0.9
FOV=60.0
End Object
// 拾取物骨架网格物体
Begin Object Name=PickupMesh
SkeletalMesh=SkeletalMesh'WP_LinkGun.Mesh.SK_WP_LinkGun_3P'
End Object
WeaponFireTypes(0)=EWFT_Projectile
WeaponProjectiles(0)=class'UTProj_LinkPlasma'
WeaponEquipSnd=SoundCue'A_Weapon_Link.Cue.A_Weapon_Link_RaiseCue'
WeaponPutDownSnd=SoundCue'A_Weapon_Link.Cue.A_Weapon_Link_LowerCue'
WeaponFireSnd(0)=SoundCue'A_Weapon_Link.Cue.A_Weapon_Link_FireCue'
WeaponFireSnd(1)=SoundCue'A_Weapon_Link.Cue.A_Weapon_Link_AltFireCue'
PickupSound=SoundCue'A_Pickups.Weapons.Cue.A_Pickup_Weapons_Link_Cue'
MuzzleFlashSocket=MuzzleFlashSocket
MuzzleFlashPSCTemplate=ParticleSystem'WP_LinkGun.Effects.P_FX_LinkGun_MF_Primary'
CrosshairImage=Texture2D'UI_HUD.HUD.UTCrossHairs'
CrossHairCoordinates=(U=384,V=0,UL=64,VL=64)
}
调整武器
有很多可以控制武器功能的参数,可以在很多类中找到,其中包括武器类本身以及所以用的任何射弹。在武器技术指南页面提供了一些常用的参数的解释以及武器在代码侧是如何工作的介绍。一些有用的控制台命令
其中对于调整武器来说非常有用的一个虚幻引擎的功能是editactor 控制台命令。当使用武器是,您可以在控制台输入 editactor class=weapon ,然后将会弹出一个属性窗口。当使用武器时,这允许您几乎可以调整所有参数,从而使得迭代非常地快。
