내일배움캠프 언리얼트랙 45일차 - GAS
·
내일배움캠프
Gameplay Ability System, GAS스킬을 중심으로 액터 간의 상호 작용을 설계하는 프레임워크.복잡한 스킬 시스템을 가지고 이를 기반으로 캐릭터들이 상호작용하는 RPG, 액션 어드벤처, 모바 같은 장르의 게임을 만들 때 큰 도움이 됨. => 대규모 RPG 및 네트워크 멀티플레이어 게임 개발에 최적화된 시스템. 높은 효율성과 확장성을 제공하지만 기본적으로 배워야 할 내용이 많아 학습 장벽이 높으며, 올바른 활용을 위해서는 체계적인 이해가 요구된다. FSM, Behavior Tree같은 현재 상황에 맞춰 다음 행동을 결정하는 언리얼엔진에서 제공하는 대표적인 의사결정 시스템.결정에 따른 행동 실행은 있지만 결과를 시스템에 반영하는 피드백 구조가 부족함.결정 시스템으로 명령 내린 행동에 대응하는 ..
내일배움캠프 언리얼트랙 44일차 - 손님NPC 신고게이지
·
내일배움캠프
어제 해결하지 못한 문제를 오늘 이어서 해결해보려합니다. 문제 1. 시야 내에서 훔치고 있는데 신고하지 않음. (해결)손님NPC가 플레이어를 감지하는가? O플레이어가 훔치는 상호작용을 할 때 채널링이 되고 있는가? O도둑질로 판정을 하고있는가? O심고 흐름 시작 조건에 부합하는가? O 이렇게 전부 통과되면 신고를 진행해야하는데 진행되지 않음.손님NPC의 시야 내에서 훔치는 상호작용을 했을 때 뜨는 경고로그LogStateTree: Warning:Evaluation forced to false: source data cannot be accessed(e.g. enter conditions trying to access inactive parent state) 로그 기준으로 NPC의 감지 쪽에는 문제가 없다...
내일배움캠프 언리얼트랙 43일차 - 손님NPC AI Controller, State Tree(2)
·
내일배움캠프
계속 고치려고 하다보니 너무 꼬여서 손님NPC를 처음부터 다시 만들기로 했습니다.. 문제1. 회전 회오리~~(해결)제자리에서 계속 돌고 있음.(문제 영상) 원인 : STT_PickRandomWanderTarget→ PickRandomWanderTarget 호출→ Finish Task Success→ State Completed→ Shopping으로 즉시 재진입→ 다시 PickRandomWanderTarget 호출손님 NPC의 목적지가 계속 바뀌는데 Move To가 제대로 이동하기 전에 다음 포인트로 계속 덮어씌워지는 상태인 듯 하다. 이런식으로 Shopping 하나였던걸 3개로 나눠보았다. (해결영상) 이제야 잘 움직인다! 해결~~ 문제2. 시야 내에서 훔치고 있는데 신고하지 않음.손님NPC가 플레이어..
내일배움캠프 언리얼트랙 42일차 - 손님NPC AI Controller, State Tree
·
내일배움캠프
문제 1. 손님 NPC 태그 액터로 이동하지 않는 문제. 쇼핑 타겟으로 액터 태그를 가진 액터를 목표로 이동. 어느정도 머물렀다가 다음 타겟으로 이동. 일단, 쇼핑 타겟 선택까지는 잘 작동함. 로그도 찍힘.LogFTNPC: NPC AI: Picked shopping target BP_ShoppingTestActor_C_1 at X=1060.000 Y=-280.000 Z=69.500즉, PickRandomShoppingTarget() 호출 문제는 아님. 컨트롤러 컴포넌트 상태 확인.PathFollowingComponent = inactiveNPCStateTreeAIComponent = inactive흠... 문제가 있군요.GPT에게 물어보니 State Tree가 타겟 선택 Task까지 실행한 후 끝났거나 ..
내일배움캠프 언리얼트랙 41일차 - 보안요원 State Tree
·
내일배움캠프
플러그인 활성화StateTree AI Compponent 선택 트러블슈팅 비상~하향평준화되어버림;; 주말동안 수리 예정.. 1. 감지 범위 밖으로 벗어나 있는 상태인데도 계속 추격함. (해결)원래 구현 목표는 감지범위(노랑, 초록, 시야각)을 벗어나면 마지막으로 목격했던 곳으로 보안요원이 이동하는것입니다. 계속 플레이어를 추격하면 안됨. 2. 공격범위 내에 들어갔다 나오면 추격이 아예 멈춤. 감지범위를 들락날락거려도 가만히있음. (해결)원래 구현 목표는 공격 범위 안에 있으면 공격을 당하고 그 범위를 벗어나는 즉시 다시 플레이어 추격을 진행. 3. 플레이어가 감지범위 내에 있는 상황에서 ft.Security.TestCall를 했을 때 플레이어를 추격하는게 아닌 신고된 위치로 먼저 이동함. 이동 중 만약..
내일배움캠프 언리얼트랙 40일차 - 보안요원 AI Controller
·
내일배움캠프
MoveToLocation const FVector StartLocation = ControllPawn->GetActorLocation(); const FVector TargetLocation = StartLocation + FVector(500.0f, 0.0f, 0.0f); MoveToLocation(TargetLocation); UE_LOG(LogTemp, Warning, TEXT("Security AI: MoveToLocation Test Started")); MoveToActor APawn* PlayerPawn = UGameplayStatics::GetPlayerPawn(this,0); if (!PlayerPawn) { UE_LOG(LogTemp, Warning, TEXT("Security ..
내일배움캠프 언리얼트랙 38일차 - 심화반 2강
·
내일배움캠프
4대 핵심 클래스클래스 명비유핵심 특징AGameModeRule Maker (심판)규칙을 정하고 승패를 판정. 서버에만 존재.AGameStateScoreboard (전광판)현재 점수, 남은 시간 등 모두가 봐야 하는 정보를 공유함.APlayerState개인 수첩개별 이름, 득점 등 개인 데이터를 기록함.UGameInstance총관리자레벨이 끝나고 다음 레벨로 넘어가도 절대 사라지지 않음.AGameMode키워드 : 규칙, 서버 전용, 오직 명령만(내게 명령하지마라. 명령은 내가 한다.) 역할게임의 룰 관리승리하려면 몇점을 내야하는지, 제한 시간은 얼마나 되는지 등 규칙을 가짐.Spawn 결정플레이어에게 어떤 Pawn을 줄지, PlayerStart를 어디로 할지를 결정.게임 흐름 제어스테이지 시작, 관전모드 ..
내일배움캠프 언리얼트랙 35일차 - TA 1강
·
내일배움캠프
즐거운 과제 1. 선택한 게임과 액션 - 오버워치, 라인하르트 돌진 액션2. 시작 이벤트 이 액션은 어떤 입력 또는 이벤트에서 시작되는가? - 플레이어가 Shift 키 입력- 입력 시스템이 Charge 스킬 실행 요청- 스킬 사용 가능 여부 확인 (쿨타임, 상태 이상 여부)- 조건 충족 시 돌진 State 진입3. 필요한 리소스 - Mesh: 라인하르트 캐릭터 메시, 로켓 해머 메시, 충돌 판정용 콜리전- Animation: Charge Start, Charge Loop, Impact, Charge End- VFX: 발 밑 먼지 효과, 돌진 불꽃 효과, 충돌 스파크 효과, 벽 충돌 이펙트- Material: 갑옷 발광 효과, 돌진 추진기 발광 머티리얼, 피격 플래시 머티리얼- Sound: 돌진 시작 음향..