전체 글 124

[한빛미디어] 한 권으로 배우는 게임 프로그래밍

책정보  · 저자 : 박태준, 박효재, 윤하연· 출간 : 2024/10/28 · 페이지 : 336p 게임 프로그래밍의 필수 지식을 한권으로 마스터!게임 개발 입문자에게 추천 드리는 서적입니다. 효율적이고, 확장성 있는 게임을 만들기 위해서는 다양한 분야에 깊이 있는 이해와 체계적인 접근이 필요합니다. "한 권으로 배우는 게임 프로그래밍" 은 제목 그대로 다양한 분야에 대한 지식을 게임에 적합하게 정리하여 둔 책으로, 게임 프로그래밍의 핵심 개념과 기술들을 실용적으로 다룹니다. 이 책의 차별점은 단순히 코드와 이론을 나열하는 것이 아니라 실제 프로젝트에 적용할 수 있는 게임의 본질을 다루며 보다 깊이 있는 지식을 제공한다는 점입니다. 게임 프로그래밍의 기초부터 응용까지 이 책은 게임 개발의 기초를 설명하고..

깃으로 그룹 프로젝트 진행

1. 깃허브 리파지토리 만들기 스크럼 마스터 or 리더가 만든다. 1) 이름2) Public / Private  2. Invite Collaborators (팀원들 초대하기)Manage Acess > Add People > Pending Invite (초대 수락 후 다음 진행 가능) 3. 로컬에서 프로젝트 만들기 1)  파일만들고, 코딩2) 터미널로 가서 Push3) Develop 브랜치 만들기 * master : 유저들이 실제로 보고 사용하는 사이트. 완벽한 정답만 넣기 (보통 브랜치 3개 정도 만듦)4) Git Check out > Switch to a new branch "Develop" > Push5) Master 브랜치 잠가두기 Git > Master Branch > Protect Master ..

Git/Git 기초 2024.10.23

[UE5.4] PCG Biome - Wind Effect

https://www.unrealengine.com/marketplace/en-US/product/pcg-biome-forest-poplar-interactive-foliage-trees-wind-system-nature 바람 플러그인을 구현하여야 하는데 위의 플러그 인을 사용하였을때 처리해야 할 두가지 문제가 있다   1. 해당 어셋에서 기본으로 제공하는 어셋에만 적용가능하여, 어셋을 가져와서 적용하여야 할때 처리를 해 주어야 한다는 것    2. 개별 메쉬당 바람 세기가 조절 불가능 하다는 것 (MPS - material parameter system 으로 구현되어있음)일단 1. 을 처리하도록 하겠다.  1. 데이터 테이블 만들기 All > Content > Defect > Foliage > Tree..

업무 2024.10.16

[52강] Wizard Skill (Throw) - 2

ThrowItem 진행 1. 던져 질 것 제작 (폭파 효과 처리)BP_ThrowItem > Begin Overlap 다음과 같이 세팅 Send Damage 안에 캐릭터가 아니면 Apply Damage 가 동작을 하지 않게 되어있음 따라서 그래픽만 처리하면 되는데, Send Damage 뒤에서 Result 가 True 일 때 폭파 처리 그후 DestroyActor 해서 자기자신을 없애주면 구현이 된다.  2. 날리는 작업 처리 (Spawn 시키기)BP_WizardSkill_Throw > 이벤트 그래프 다음과 같이 세팅  1) 붙을 붙일 파티클 시스템 추가  2) 구조체 제작 (변수들을 묶어주기 위한)콘텐츠 > Weapons > Wizard > ThrowItems > 블루프린트, 구조체 "FThrowItem..

[51강] Wizard Skill (Throw) - 1

이번시간에는 Warp 스킬 구현에 있던 버그를 해결 한 후 Throw 스킬을 구현할 예정이다.  버그 해결 원인 파악 : Flase 구간 처리가 없기 때문에 발생  어떤 동작이 끝나면 Montage 를 통해 Attack End 가 발행해서 End Spell 로 들어오는데, False 에서 끊어져 버리면 Attack End 가 발생할 수 없음. BP_Wizard 에서 Spell 에서 Idel 로 돌려주어야 하는데 이 부분이 막혀서 버그가 생기는 것이다. 해결법 : False 일때 1) Idel 로 돌려주기, 2) CanMove를 다시 True로 만들어 주는 작업  BP_WizardSkill_Warp > 이벤트그래프 > 다음과 같이 세팅 위와 같이 처리하면 이동불가능한 위치를 클릭하였다가 다시 Warp 를 ..

[50강] Wizard Skill(Warp)

이번시간에는 Warp 이어 진행을 할건데 마우스 위치에다 커서를 출력을 하고 만약에 위치를 클릭 했을때 이동할수있는 곳이라면 그곳으로 워프를 하는 것을 처리하도록 하겠다.  Warp 처리 1. BP_Wizard > 이벤트 그래프 > BP_Wizard Skill Warp 형 변수 "Warp" 생성 2. Begin Play 이벤트 다음과 같이 복사 붙여넣기, "Spawh&Attach Warp" Rename 및 다음과 같이 세팅   3. BP_Wizard > 이벤트 그래프 > "Spawh&Attach Warp" 다음과 같이 세팅 4. BP_WizardSkill_Warp > 뷰포트 > Decal > 다음과 같이 위치값, 사이즈 값 주기 BP_WizardSkill_Warp > 이벤트 그래프 다음과 같이 세팅해 위..

[49강] Wizard Skill(Healing) - 2

이번시간에는 플레이어에 Health 값을 올리는 함수를 만들고 연결해 Healing 스킬을 구현할 것이다. 그리고 커서를 그리는 작업까지 진행 해 볼 예정이다.  진행에 앞서 ABP_Player > 애님그래프 > 블렌드 포즈 > Wizard 블렌드 시간 다음과 같이 변경하여 준다. 애니메이션 전환시간이 너무 오래 걸려서 이 단계를 줄여주기 위해 위와 같이 설정하여 준다. Drawing Sweathing 처럼 만들어도 되는데, Wizard 는 위와 같이 구현하겠다.   Health 값을 올리는 함수 만들기 character 에 어떤 명령을 내리기 위해서는 BP_Weapon 에서 통신을 하여야 한다. 이를 위한 함수를 만들어 준다. 1. BP_IWeapon 에 "Weapon_IncreaseHealth" 함수..

나이아가라 시스템

메쉬 데이터를 낮추어야 해서 제작해야 했는데 나이아가라를 활용한 구현은 다음과 같다  1. 이미터 업데이트 - Spawn 에 형태를 이루는 메쉬 넣기2. 파티클 스폰 - Mesh index, Scale 파라미터 설정해서 넣기 3. 파티클 업데이트 - 무한히 4. 렌더 - 메시렌더러, index A, B, C 에 각각 메쉬넣어주어 생성  * 예시 비디오 https://www.facebook.com/BeyondFX/videos/niagara-mesh-index-quicktiptuesday/1411516712685533/

업무 2024.09.11

[48강] Wizard Skill(Healing) - 1

이번시간에는 가장 간단한 스킬 구현인 Healing 을 진행하고 다음시간에는 Warp 를 만들 예정이다. 이것들을 참고하며 스킬을 정의하는 방식에 대해 익숙해진다면 스킬 트리를 늘리는 것은 어렵지 않다.  Healing 구현 1. BP_Sword, BP_Wizard > Print String 으로 테스트 해 두었던 것은 지우기  1. BP_WizardSkill > "GetOwnerToWizard" 함수 생성, 다음과 같이 세팅 및 퓨어체크  "GetOwnerToWizard" : wizard skill 에 대한 owner 를 wizard 를 주어Get Owner 하면 Wizard 가 나옴 * tip : 리턴 핀 쪽으로 변수를 끌어가면 자동으로 파라미터가 등록된다.  2. "BP_WizardSkill" > ..

[47강] Wizard Skill

이번시간에 진행할 내용은 다음과 같다1. Wizard Skill 생성2. 마법, 칼 교체할때 발생하는 이벤트 처리  차후에는 Wizard Item 을 구현하고, 하위에 Draw Item, Throw Item 을 구현할 예정이다.  Wizard Skill 구현 1단계1. BP_IWeapon > 다음과 같이 함수 Rename 차후에 작업할 내용이랑 겹칠 것 같아 다음과 같이 이름을 변경하여 준다. "Character" > "Weapon"* 다른 인터페이스에 같은 이름의 함수가 있을 경우 처리가 헷갈리므로 구분하기 위해 해당 인터페이스에 소속되어 있는 함수들에는 인터페이스 이름을 중간에 표기해 줌  계층구조 (소유구조, 상속구조) Weapon, Wizard Skill, Throw Item 모두 Actor 로부..