본문 바로가기

게임프로젝트/슈팅게임

(5)          글쓰기    
배경 만들기 M_Background 머터리얼을 만듭니다. 모드를 UnLit으로 합니다 그럼 EmmisiveColor만 남습니다. 이유는 배경이 조명과 반사되지 않게 하기 위해서입니다.언리얼의 텍스쳐를 이용했습니다. 교재에서는 우주그림을 찾아 사용했네요  플레이시 배경의 그림자가 눈에 거슬린다면 DirectionalLight의 CastShadows를 꺼줍니다.
충돌처리 Collision 액터들의 충돌처리를 해줍니다.BP_Bullet을 열고 Box Collision을 추가하고 root로 해줍니다. Shape Extent를 조정해 박스를 싸줍니다. BP_Enemy를 열고 역시 BoxCollisoin을 추가하고 루트로 만들고 사이즈롤 설정합니다.BP_Ship을 열고 같은 작업을 해줍니다.Project Setting의 Engine>Collision 카타고리에서 ObjectChannels의 NewObjectChannel을 3개 만듭니다.BP_Bullet열고  Box컴포넌트를 선택후 Collision Presets를 Custom ObjectType을 Bullet, Responses를 Enemy만 Overlap으로하고 나머지는 Ignore로 합니다. QueryOnly로도 문제 없지만 나중을 위해  ..
Enemy, Factory 제작하기 액터를 부모로  BP_Enemy를 제작합니다.Cube를 컴포넌트로 넣어주고 speed 변수를 float로 추가하고 BP_Bullet을 블루프린트를 복사해 옵니다.Speed노드를 우클릭후 Create variable speed 해주어도 변수가 만들어 집니다. 컴파일후 디폴트값을 150으로 합니다.Ship이 총알을 Spawn했듯이 적을 Spawn할 Manager가 필요합니다. Actor를 부모로 BP_EnemyFactory 블루프린트를 만듭니다. 화면에 표시할게 없으므로 컴포넌트를 추가할 필요는 없습니다. 변수를 만들고 컴파일후 delayTime 디폴트를 5초로 합니다.발사할 위치를 정하기 위해 Arrow를 추가하고 아래로 향하게 회전시켜줍니다.정해진 시간마다 적을 생성하기 위해서는 타이머가 필요합니다. T..
슈팅게임 - 총알발사 액터를 부모로 BP_Bullet을 만듭니다.컴포넌트로 큐브를 추가하고스케일을 조정합니다.speed변수를 float로 만들고 컴파일후 디폴트를 200으로 합니다. 다음과 같이 블루프린트를 입력합니다.노드를 잘보면 입력을 받았을때는 입력 벡터를 기준으로 날라 갔지만 지금은 총알 스스로 앞으로 나가기 위해 forward 벡터값을 활용합니다. BP_bullet을 레벨에 플레이어와 겹치지 않게 옆으로 배치하고 플레이해보면 혼자 앞으로 움직입니다 언리얼은 x방향이 forward입니다. 실제 총알은 위로 날라가야 하므로 이건 나중에 설정하겠습니다.레벨의 BP_Bullet는 지워줍니다. 총알발사 입력때 생성해서 날라가게 해주겠습니다. 총알을 발사하기 위한 인풋액션이 필요합니다. IA_ShipFire를 만들어주겠습니다 ..
Enhancement Input Blueprint, Pawn 이동 인생언리얼5가 새로 나와 한번 따라해보왔다. 이영호선생님 책은 쉽고 깔끔하게 쓰는것 같다.뉴레벨을 만들고 베이직을 선택하고 LV_Shooting을 저장합니다.키보드의 입력을 받기위해서 언리얼은 EnhancedInput System을 마련했다.Input Folder를 만들고 우선 InputAction을 만들어보자. 이름은 thirdPerson폴더의 이름과 다르게 하기위해 IA_ShipMoveValue Type을 Axis2D로 하자. InputAction의 변수 타입정도만 맞추면 되는것 같다.실제 키보드 맵핑을 할 InputMappingContext를 만들자WASD버튼을 누르면서 키보드 아이콘을  클릭하면 설정되고  비페이비어를 설정하자. 인풋이 XYZ로 들어오기 때문에 Y를 받기위해 Swizzle(벡터요소..