목록GameDevLog (29)
코가손의 블로그
타워디펜스 게임에서 자주 볼 수 있는 길찾기 기능을 추가하기 위해 TileMap과 NavMesh를 사용해 보았으나 좁은 골목에서의 움직임이 부자연스러웠음 게임 진행 중에 벽을 설치하는 등의 동적 대응을 하기에는 TileMap을 사용하긴 어려워보임 튜토리얼 참고한 결론 - TileMap으로 맵을 생성하는 방식 취소, Grid라는 2차원 배열 데이터를 사용하고 이것을 시각화 - 생성한 Grid로 A* Algorithm진행 [ Gridmap테스트 ] [ A* Pathfinding 적용 ] [ 타일맵 적용 ] - 타일 생성/삭제, 인덱스 [x:0 y:1]이면 Key : "tile_0001"로 Dictionary에 저장하여 관리 - Enemy를 스폰하는 지점 1개, Goal지점 4개로 하여 4개의 Goal지점을 ..
타일맵에서 NavMesh를 사용해서 길찾기 시도 그러나 모서리 부근 움직임에서 부자연스러움 NavMeshPlus적용 시, 필요한 컴포넌트 구조 Agent - NavMesh는 3D기반, 2D에서 사용되는 카메라시점과는 축이 다름 - transform의 회전값과 Agent의 콜라이더(원통형)회전값 수정해줌 NavMesh(Create Empty) - Unreal에서 NavMeshBoundsVolume과 같은 역할
UObject생성 AActor T* UWorld::SpawnActor( FVector const& Location, FRotator const& Rotation, const FActorSpawnParameters& SpawnParameters ) UClass LoadClass(NULL, TEXT("Game/....", NULL, LOAD_None, NULL); UObject template T* NewObject( UObject* Outer = (UObject*)GetTransientPackage(), UClass* Class = T::StaticClass() ) 애셋 레퍼런싱 경로 지정시 Content/는 Game/으로 경로 : Project/Content/Character/MyCharacter.uas..
GameMode : 게임의 규칙 - 결승선을 통과하면 A가 이긴다 PlayerController : 플레이어 셋업 - Pawn을 Posses하여 컨트롤 - Pawn은 게임 내 물리적 표현, Controller는 물리적 동작에 대한 규칙 설정 - Character는 인간형 Pawn Pawn자체에 이동이나 게임로직을 포함시키는거 가능 또한 Controller에도 포함시킬 수 있음, PlayerController 와 AIController로 나뉨 게임플레이 프레임워크 간단 레퍼런스 GameMode - 서버에만 존재 GameState - 서버, 클라이언트 모두 존재 - 플레이어 목록, 점수, 체크 게임에서 말들의 위치, 오픈 월드 게임에서 완료한 퀘스트 목록 등이 포함 - 최신상태 유지를 위해 리플리케이트 Pl..