본문 바로가기

블루프린팅/7. 화면 UI

(5)          글쓰기    
[CH7 UI] 타깃제거 카운터 증가 이제 타깃 실런더가 파괴 될대 마다 카운터를 1씩 증가시켜 보겠습니다. 1. BP_CylinderTarget 블루프린트를 오픈합니다. 2. Destroy노드 이전에 새로운 노드를 추가할 것입니다. 현재 인스턴스가 제거되면 아무것도 못하기 때문이죠. 3. Spawn Emitter at Location과 DestroyActor 노드 사이의 링크를 끊은후 4. 빈 그래프 공간에 Get Player Character노드를 추가후 Return Value출력핀에서 와이어를 끓어 BP_FirstPersonCharacter에 형변환 노드를 추가한다. 5. As BP형변환 출력핀에서 Get TargetEliminated노드를 추가하고 출력핀에 Increment Int노드를 추가한다. 6. 형변환과 DestroyActor..
[CH7.UI] 탄약카운터 감소 탄약 카운터 감소 플레이어가 총을 발사할 때 탄약 카운터가 감소하도록 플레이어 발사 로직을 수정해야 한다. 다음 단계를 따른다. 1. 콘텐츠 브라우저에서 콘텐츠> FirstPerson>Blueprints폴더에 접근하고 BP_Rifle 블루프린트를 더블 클릭한다. 저는 V5.2라서 그런지 BP_Weapon_Component를 선택했습니다. 2. Projectile Spawn Logic 코멘트 블록에 포함된 큰 일련의 노드들을 찾는다. 블록의 오른쪽끝에 Play Sound at Location이 있습니다.. 이 노드의 출력은 Montage Play와 연결되어 있는데 이 연결을 ALT+좌클릭으로 끊습니다. 3. Player Sound 출력핀을 끌어 BP_FirstPersonCharacter형변환노드를 추가하고..
[07화면UI] UI값을 플레이어 변수에 연결 현재 UI는 표시만 되지 변수와 연결되어 있지 않다. 다시 이전의 HUD 위젯 블루프린트를 열어 바인딩을 생성해서 변수나 함수를 위젯에 묶는 기능을 제공한다. 체력 바인딩 만들기 1. 콘텐츠드로워 FirstPerson>UI폴더에서 HUD 위젯블루프린트를 더블클릭한다. 2. 하이라키패널에서 PlayerStats Bar오브젝트 아래 자식인 Health Bar오브젝트를 클릭한다. 3. 디테일패널의 프로그레스 카테고리에서 퍼센트필드 옆 바인드 버튼을 클릭하고 바인딩생성한다. 4. UMG에디터가 디자이너뷰에서 그래프뷰로 전환된다. 새로운 함수가 생성돼 미터와PlayerHealth 변수간의 연결을 스크립트로 작성할 수 있다. 빈 그래프 공간을 우클릭하고 Get Player character 노드를 추가한다. 5. ..
[07화면UI] 탄약과 타깃 제거 카운트 만들기 탄약과 타깃 제거 카운트는 Text값으로 표시할것입니다. 1. 하이라키의 PlayerStats를 최소화한다. 2. 팔레트> PANEL>가로박스를 끌어서 하이라키의 Canvas의 자식으로 만든다. 이름을 WeaponStats로 한다. Detail의 Ankors 풀다운메뉴에서 우상을 골른다 그런 기준점이 우상으로 바뀐다. 포지션은 다음과 같이 설정한다. 3. Common>Text를 WeaponStats로 드래그한다. 이름을 AmmonLabel로 변경한다. 콘텐츠Text를 "Ammo:" 4. Common>Text를 WeaponStats로 드래그한다. 이름을 AmmonLeft로 변경한다. 콘텐츠Test를 30으로 한다. 5. 팔레트> PANEL>가로박스를 끌어서 하이라키의 Canvas의 자식으로 만든다. 이름을..
[07화면UI] UMG를 사용해 간단한 UI미터 만들기 언리얼 모션 그래픽 UI 디자이너를 사용해 UI 요소를 만들것이다. UMG를 사용해 간단한 UI미터 만들기 플레이어 변수에 UI값 연결 탄약과 제거된 타깃 추적 UMG를 사용해 간단한 UI미터 만들기 이 절에서는 UMG에디터를 사용하는 법을 배운다. UMG는 시작적 UI 저작 도구이다. 1. FirstPerson>BluePrint폴더에서 FirstPersonCharacter 블루프린트를 더블 클릭한다. 2. 내 블루프린트 패널에서 변수+를 눌러 PlayerHealth로 이름 바꾸고 Float 타입으로 변경한다. 3. 동일하게 PlayerStemina라는 두 번째 플로트 변수를 만든다. 4. 3번째 변수는 PlayerCurrentAmmo로 이름짓고 타입은 Integer다. 5. 4번째 변수는 Targets..