UDN
Search public documentation:
SettingUpWeaponsKR
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
UE3 홈 > 게임플레이 엘리먼트 > 웨폰 셋업하기
웨폰 셋업하기
문서 변경내역: James Golding, Laurent Delayen 작성; Jeff Wilson 수정; 홍성진 번역.
무기 모델링 - 셋업과 리깅(Rigging)
어떤 무기의 1인칭 메시에 대한 스켈레톤을 셋업하는 방법은 적절한 애니메이션을 셋업하는 데 필요한 것에 따라 달라지게 됩니다. 일반적으로 플레이어가 무기를 쥐는 위치에 루트 본이, 총구 섬광(muzzle flash)이 튀는 곳에 자식 본이 위치하게 됩니다. 총구 섬광이나 다른 효과에 바로 본이 쓰이지는 않으나, 그 위의 소켓이 사용되기에 제대로 위치를 잡아줘야 소켓 셋업이 훨씬 쉬워지게 됩니다.
3인칭 메시에 대해서는, 1인칭 모드에서의 무기 애니메이션 대부분은 3인칭에서 불필요하여 생략되기에 아마도 스켈레톤이 훨씬 간단해 질 겁니다. 무기가 쥐어지는 자주 쓰는 손에 루트 본을 놓아야 할 겁니다. 자식 본은 반대쪽 손 무기 쥐는 위치에 놓으면, 특정 무기에 대해서나 게임에서 일반적으로 지원하고자 할 경우에 좋겠습니다. 1인칭 메시와 마찬가지로, 자식 본은 총구 섬광 위치에 두는 게 좋습니다.
무기 스켈레톤의 예는 이와 같습니다:
아마도 스크립트를 통해 바로 접근하게 될 본이나 소켓용으로 사용할 이름은 미리 결정해 두는 게 바람직하겠으며, 아니면 프로그래머를 통해 사용되는 본 이름을 지정할 수 있는 기능을 꼭 넣어 달라고 하시기 바랍니다.
무기 내보내기
무기 가져오기 및 셋업
그 무기용 텍스처와 머티리얼도 가져와야 하며, 셋업한 뒤 스켈레탈 메시에 할당해야 합니다. 애님셋 에디터의 파일 메뉴에서 새 애님셋... 을 선택하고 패키지, 그룹(옵션), 이름을 지정하면 무기용 애님셋을 새로 만들 수 있습니다.
그리고서 다시 애님셋 에디터의 파일 메뉴에서 PSA 가져오기... 를 선택하여 무기용 애니메이션을 포함하는 .PSA 파일을 무기의 애님셋으로 가져와야합니다.
.FBX 파일 포맷의 경우는 여기서 FBX 애니메이션 가져오기... 를 대신 선택해야 애니메이션을 가져올 수 있겠습니다.
소켓 셋업하기
소켓은 전에도 말씀드렸듯이 총구 섬광은 물론 무기에 필요할 수도 있는 부가 효과용 부착점으로 사용됩니다. 소켓은 본질적으로 특정한 본을 부모로 두는 위치 입력기(locator)로, 이름을 짓고 오프셋 값을 받으며 자체 회전값도 주어집니다. 이를 통해 쉽게 특정 위치에 아이템을 스폰시키거나 부착할 수 있게 됩니다. 소켓은 언리얼 에디터 내부의 애님셋 에디터를 통해 스켈레탈 메시에 추가됩니다. 소켓 매니저를 열려면 툴바에 있는
버튼을 누르시면 됩니다.
버튼으로는 메시에서 사용 가능한 본이 전부 나열되는 대화창이 새로 뜨게 됩니다.
메시의 총신 끝에 추가된 본을 선택하고 OK 를 누르십시오. 새 소켓에 코드내 식별용으로 사용될 이름을 지을 수 있는 대화창이 또 뜨게 됩니다.
이름을 입력하고 OK 를 누르면 새 소켓이 생깁니다. 애님셋 에디터의 미리보기 패널과 소켓 매니저의 소켓 목록에 나타날 것입니다.
발사체 만들기
발사체는 무기 발사의 물리적 표현입니다. 언리얼에서 발사체의 시각적 요소는 단순히 파티클 시스템입니다. 발사체에 대한 파티클 시스템 만들기는 다른 파티클 시스템 만들기와 비슷한 단순 작업입니다. 본질적으로, 발사체가 날아가는 모양이 어땠으면 좋겠는지 재생성하는 파티클 시스템을 셋업하고 싶을 겁니다. 원하는 효과를 내기 위해 필요한 수만큼의 에미터를 구성하여 파티클 시스템을 만들 수 있습니다. 발사체 파티클 시스템의 몇 가지 예제는 아래와 같습니다:
총구 섬광 셋업하기
총구 섬광은 현실에서 총을 발사할 때 볼 수 있는 섬광처럼, 무기의 총신에서 방출되는 발사체를 시뮬레이션하기 위해 사용됩니다. 언리얼의 무기 시스템은 총구 섬광의 시각 요소로써 파티클 시스템을 사용합니다. 발사체와 마찬가지로 총구 섬광에 대한 파티클 시스템은 원하는 효과를 내는 데 필요한 수만큼의 에미터로 구성할 수 있습니다. 총구 섬광 파티클 시스템의 몇 가지 예제는 아래와 같습니다:
프로그래머용
- 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 클래스 자체는 물론 사용되는 발사체 클래스를 포함한 여러 클래스에 많이 있습니다. 일반적으로 사용되는 파라미터나 코드측의 무기 함수등에 대한 설명은 Weapons Technical Guide KR 페이지를 참고하십시오.유용한 콘솔 명령
무기 튜닝에 아주 쓸만한 언리얼 엔진 기능 중 하나는,editactor 콘솔 명령입니다. 무기를 사용하면서 콘솔에 editactor class=weapon 명령을 치면 속성창이 뜹니다. 여기서 무기를 사용하면서 볼 수 있는 파라미터를 거의 전부 만져볼 수 있으며, 반복처리를 매우 빠르게 할 수 있습니다.
