목록분류 전체보기 (67)
코가손의 블로그
[ DebugMode추가 ] - GameManager, Singleton패턴 적용 - Enemy, FSM구현중 - Path를 Rendering하거나 Enemy의 FSM상태를 디버깅여부를 GameManger에서 관리 - Update마다 GameManger의 isDebug == true 확인하는 방식보다는 Delegate를 이용해봄 - DelegateEvent를 각GameObject에서 생성하고 GameManager에 바인딩하는 방식으로 디버깅기능 구현 - 타일 제거시 경로 재탐색 기능 추가 [ Enemy 스폰 ] - path에 따라 이동 기능 추가 - 동적으로 타일 생성 + 경로 재탐색, 타일 생성할 때 모든 경로를 막지 않도록 경로탐색 후 생성 - 재탐색 시 start ~ goal경로의 노드들 중에서 가..
타워디펜스 게임에서 자주 볼 수 있는 길찾기 기능을 추가하기 위해 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..