GameDevelopmentDiary 썸네일형 리스트형 1일차 (6시간) 타일 맵 생성 이전 Project_AC 타일맵 방식을 라팩토링하여 사용했다. 이전 방식: InstancedStaticMesh 사용해서 그리드 모양을 표시함. 현재 방식: StaticMesh 하나만 사용하고 그리드 Material 사용. Drag event 추가 DefferdDecalComponent 사용으로 Drag 영역 표시 27-29 작업 내용 도트 데미지 결과 창 건설한 캠프 수량, 살아남은 일 수 등 표시 재도전 시 레벨을 열어서 다시 시작 일부 수정 좀비 HP 컬러를 캠퍼와 다른 색으로 변경 virtual 함수에 전처리 함수 추가 (#if WITH_EDITOR) - 패키징 빌드 시 PostEditComponentMove, PostRegisterAllComponents 함수가 사용된 부분에 에러가 발생하였었다. .h파일에만 매크로를 붙였었는데, .ccp파일의 해당 함수들 모두 WITH_EDITOR 매크로를 붙임. 최종 결과 26일차 작업 내용 캠퍼 리스트 UI 추가 캠퍼 캐릭터들 HP 줄어드는 모습이 더 잘보였으면해서 UI 추가함. 싱글톤 패턴 적용 목적: 일부 매니져 검증 소스 줄이기 1. Get 함수 //MainGS.cpp ABuildingManager* AMainGS::GetBuildingManager() { ABuildingManager* instance = Cast(UGameplayStatics::GetActorOfClass(GetWorld(), ABuildingManager::StaticClass())); if (instance) { return instance; } else { instance = GetWorld()->SpawnActor(); #if WITH.. 23 - 25일차 작업 내용(23-24) 좀비 AI 캐릭터 모닥불을 공격한다. 밤(모닥불이 켜지면) 움직인다. 모닥불이 가까우면 움직인다. 좀비끼리는 공격 못 한다. 모닥불 피격 설정 폭파 이펙트 추가 SpawnManager SpawnPoint 타입 설정 좀비 캐릭터 부활 좀비 타입의 SpawnPoint 액터 근처에서 부활 19 - 22일차 작업 내용 빌딩 설치 시스템 빌딩 버튼을 숨길 수 있다. 빌딩은 설치 가능한 구역과 불가능 구역이 있다. Hotfix BonFireComponent 빌딩 설치 시스템 빌딩 버튼을 숨길 수 있다. UI Widget 애니메이션 기능을 사용해보았다. 블루프린트 예제를 보고 따라했는데, C++에서 조금 헤맸다. 애니메이션을 찾아올 때, 인스턴스의 이름을 사용해야했다. 빌딩은 설치 가능 구역과 불가능 구역이 있다. 일반 타일을 그리는 ISM(InstacedStaticMesh) 위에 설치 가능한 구역을 표기하는 ISM을 사용했다. 모닥불 중심으로 8각형을 그리는데, 만약 모닥불의 범위를 크게 잡는다면 원을 그리도록 수정할 필요가 있다. (Sin값과 Cos값을 사용한 2중 for문으로 위치를 계산한다.) 현재 건물이.. 12 - 18일차 작업 내용 캐릭터 기본 클래스 생성 및 애니메이션 설정 AI HPBar 길찾기 테스트 캐릭터 기본 클래스 생성 및 애니메이션 설정 플레이어의 AI캐릭터와 적 AI캐릭터(좀비) 두 가지 타입이 있다. 좀비의 경우 얻은 walk 애니메이션에서 앞으로 튀어나가는 문제가 있었다. 애니메이션 설정에서 가만히 걷도록 수정했지만, 어색하긴하다. 그리고 BTTask로 움직일 때, 등속으로 움직이는 점도 어색해서 특정 Bone 위치도 다시 설정. AI BehaviorTree를 활용했다. 난항을 겪은 부분은 이미 만들었던 BTTask class 이름을 변동했을 때였는데, 컴파일 과정에서 파일이 꼬일 수 있다. 그냥 다른 이름으로 만들어서 사용했다. 길찾기 테스트 캐릭터가 이동하다가 가끔 막힌 길에서 버둥이는 모습을 발견했.. 8 - 11 일차 작업 내용 모닥불 제작 BonFireComponent 추가 Campfire render to effect BonFireComponent 모닥불 블루 프린트를 만들 때, 일반 Building 액터에 해당 컴포넌트를 추가하도록 만들었다. 해당 컴포넌트가 있으면 검은 안개를 걷어낼 수 있다. (유저 시야) 시야를 걷어내는 형태는 Material로 변형이 가능하며 크기는 별도 파라미터 사용을 권장한다. Campfire render to effect Landscape와 검은 안개 재질에 RenderTarget 블루프린트를 사용했다. 코딩은 블루프린트 자료를 참고하여 사용했다. 참고 자료 : https://www.youtube.com/watch?v=XM8evH-T7U0 여기에 사용된 RenderTarget 블루프린.. 5 - 7일 차 작업 내용 스냅(snap) 컴포넌트 추가 액터 터치 인터렉션 테스트 방법 기본 빌딩 액터 추가 및 인터렉션 테스트 스냅 컴포넌트 추가 에디터에서 해당 컴포넌트가 붙은 액터를 움직이면, 가장 가까운 타일 위로 옮겨진다. 이때, 액터의 Collision 충돌체와 StaticMesh의 위치 차이를 고려하여 배치 위치의 Z값을 수정한다. 액터 터치 인터렉션 테스트 방법1. LineTracing(Raycast) + 데미지 이벤트(Apply, Take damage) 방법2. LineTracing(Raycast) + ReplicateFunction + Delegate&Event 선택 방법 - 방법2 선택 이유 - 건물도 공격을 받는 경우가 생길 수 있는데, 해당 경우와 구분을 명확히 했다. 기본 빌딩 액터 추가 및 .. 이전 1 2 3 4 5 다음