UDN
Search public documentation:
SettingUpWeaponsJP
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
武器のセットアップ
武器をモデリングする - セットアップとリグ
特定の武器の 1 人称メッシュのために骨格をどのように設定するかという問題は、望ましいアニメーションをセットアップするために何が必要となるかという問題に依存します。通常、武器は、ルートボーンをプレイヤーが武器を握る位置に置き、子ボーンを銃口フラッシュが位置するところに置きます。このボーンは、銃口フラッシュや他のエフェクトのために直接使用されることはなく、それらに基づくソケットが使用されることになります。正しい位置にそれらを置くことによって、ソケットのセットアップがかなり容易になります。
3 人称メッシュについては、骨格はおそらくかなり単純になります。なぜなら、1 人称で武器をビューする場合に用いられるアニメーションのほとんどが、3 人称では必要なくなり、省略されるからです。ルートボーンは、利き手で武器を握る位置に置かれる必要があります。子ボーンは、特定の武器に望ましい場合やゲームで通常サポートされている場合に、空いた手が武器を握るであろう位置に置くことができます。子ボーンは、1 人称メッシュの場合と同様に、銃口フラッシュが位置する場所に置くことができます。
武器の骨格の例を以下に示します。
スクリプトを通じて直接アクセスされるボーンやソケットを使用するには、先に命名スキームを決定するのが望ましい。あるいは、プログラマーが、使用するボーンの名前を指定できるようにするとよいでしょう。
武器のエクスポート
武器のインポートとセットアップ
武器のためのテクスチャとマテリアルも、インポートおよびセットアップし、骨格メッシュに割り当てる必要があります。AnimSet エディタで、[File] (ファイル)メニューから武器のための新たな AnimSet を作成することができます。それには、 New AnimSet... (新たな AnimSet ...)を選択し、さらに、 Package (パッケージ)およびGroup (グループ - オプション)、Name (名前)を供給します。
次に、その武器のためのあらゆるアニメーションを含む .PSA ファイルを、武器の AnimSet にインポートします。それには、 Import PSA... (PSA をインポート...)を、再度 AnimSet エディタの [File] (ファイル)メニューから選びます。
.FBX ファイルファーマットを使用している場合は、上記に換えて、 Import FBX Animation... (FBX アニメーションをインポート...)を選択することによって、アニメーションをインポートします。
ソケットのセットアップ
ソケットの用途についてはすでに触れましたが、銃口フラッシュならびに武器に必要となる追加エフェクトのためのアタッチメントポイントとして使われます。ソケットは、本質的に特定のボーンを親にもつロケーターです。これは、名前をつけることができ、さらにオフセットすることが可能で、独自の回転を持つようにすることができます。これによって、特定の位置にアイテムをアタッチしたりスポーンしたりすることが容易にできるようになります。 ソケットは、AnimSet エディタを通じて、UnrealEd の内部で骨格メッシュに追加します。ツールバー内にある
ボタンを押して、Socket Manager(ソケットマネージャ)を開きます。
ボタンを押すと、新たなダイアログが開き、メッシュ内で利用可能なすべてのボーンがリスト表示されます。
メッシュの銃身の先端に追加するボーンを選択し、 OK を押します。これによって別のダイアログが開くので、この新たなソケットに名前を付けることができます。名前は、コード内でソケットを特定するのに使用します。
名前を入力して [OK] を押すと、新たなソケットが追加されます。この新たなソケットは、AnimSet エディタのプレビューペインの中に表示されるとともに、Socket Manager のリストにも表示されます。
発射物の作成
発射物 (projectile)とは、武器の発砲を物理的に表現したものです。Unreal における発射物のビジュアルコンポーネントは、パーティクルシステムにすぎません。発射物のためのパーティクルシステムを作成するプロセスは単純で、他のパーティクルシステムを作成する場合と同様です。基本的には、発射物が空中でどのように見えるのか表現するために、パーティクルシステムをセットアップする必要があります。パーティクルシステムは、望ましいエフェクトを得るのに必要となる数のエミッタで構成することができます。 次に示されているのは、発射物のパーティクルシステムの例です。
銃口フラッシュをセットアップする
銃口フラッシュは、武器の銃身から射出される発射物を模倣するために使用されます。このフラッシュは、現実に銃が発砲した時に見えるものと似ています。Unreal の武器システムでは、パーティクルシステムが銃口フラッシュのビジュアルコンポーネントとして使用されます。発射物の場合と同様に、銃口フラッシュのためのパーティクルシステムも、望ましい視覚効果を得るのに必要な数のエミッタから構成することができます。 以下に、銃口フラッシュのパーティクル システムの例をあげます。
プログラマーのために
- 1 人称メッシュの名前。
- アニメーションセットの名前。
- ピックアップメッシュの名前。
- (武器の)所持動作、および、装着、収納、発砲のサウンドの名前。
- 発射物パーティクル システムの名前(発射物を射出する場合)。
- 銃口フラッシュのパーティクル システムの名前。
- 照準のテクスチャおよび座標の名前。
スクリプト ファイルを作成する
以下では、武器のためのごく基本的な UnrealScript .uc ファイルの中に、必要な情報をすべて入れる方法について記述しています。 MyWeapon.uc
class MyWeapon extends UTWeapon;
defaultproperties
{
Begin Object class=AnimNodeSequence Name=MeshSequenceA
bCauseActorAnimEnd=true
End Object
// Weapon SkeletalMesh
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
// Pickup SkeletalMesh
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)
}
武器を調整する
武器の機能を制御するパラメータは多数あります。これらのパラメータが置かれている場所は、Weapon クラス自体を含むいくつかのクラスの中、また使用しいるあらゆる発射物のためのクラスの中です。よく使用されるパラメータに関する解説、および、コード側における武器の機能様態に関する解説は、 Weapon (武器) テクニカルガイド のページで入手可能です。役に立つコンソールコマンド
Unreal Engine においては、武器を調整するのに役立つ機能として、editactor (アクタの編集)コンソールコマンドがあります。Weapon 使用中に、コンソールで editactor class=weapon とタイプすることによって、プロパティウィンドウが現れます。これによって、Weapon を使用する時に、ほぼあらゆるパラメータ値を調整することが可能になり、イタレーションも非常にスムーズになります。
