목록분류 전체보기 (200)
초보 코린이의 성장 일지

Casts 설명 데이터 형식을 다른 데이터 형식으로 변환하는 작업 Casts의 종류 1. 정적 캐스트(static_cast) 자료형을 변경하기 위해 사용. 컴파일 시간에 형변환이 가능한지 검사한다. 클래스가 잘못된 캐스팅 시 런타임 중 유효성 검사를 하지 않는다. 상위계층에서 하위계층, 하위계층에서 상위계층 둘다 데이터 타입 변환은 가능하다. 하위계층 데이터 타입 변환에는 안전하지 않으므로, 상속 관계에 있는 클래스 간의 캐스팅을 수행할 때는 dynamic_cast를 사용하는게 좋은 방법이다. 포인터 간의 변화에도 사용할 수 있다. 부모 클래스에서 자식 클래스로 캐스팅하려고 할 때, static_cast는 컴파일러에게 허용하도록 지시하지만, 실제로 캐스팅이 안전한지는 확인하지 않는다. #include u..
짐벌락 1. 두 축이 한축으로 합쳐지면서 한축에 대한 계산이 불가능해지는 현상 오일러 - 3차원 공간 좌표계의 회전 1. x, y, z를 순서대로 해당 축들을 개별적으로 계산하는 방법 2. 한꺼번에 축들이 돌아가는걸 계산할 수 없다. 3. 회전축을 순서대로 계산하기 때문에 짐벌락 현상 발생. 4. 각 축이 순서대로 계산되기 때문에 우리가 아는 x축으로 회전을 했을 경우 수평하게 회전하는것이 아닌 다른 축의 계산된 값이 개입되서 회전하게 되므로 사선으로 회전을 하게 된다. 쿼터니언 (사원수) 1. x, y, z축들을 한꺼번에 계산할 수 있는 방법 2. 짐벌락 현상이 해결된다. 3. 180도 기준으로 계산했을 경우, 180도를 넘게된다면 기준점에서 제일 가까운 곳으로 회전을 한다. 이를 해결하려면 180도가..
https://www.youtube.com/watch?v=FykOfsCNy7g 진행 중인 작업 - Player 스킬 - UI - AI 작업 진행 예정 작업 - AI 작업 진행 완료 작업 - Boss Skill 1, 2 구현
https://www.youtube.com/watch?v=7K7BeIvceBM
https://www.youtube.com/watch?v=7Z9PTeyJOU4 진행 중인 작업 - Player 스킬 - UI - AI 작업 - 구조 옮기기 진행 예정 작업 - AI 작업 - 구조 적용 진행 완료 작업 - SerialComboAttack 스킬 완성 - 3가지 동작을 합친 몽타주에 3가지 Actor 객체를 생성한 스킬
https://www.youtube.com/watch?v=tYJ2Zaa1A88 진행 중인 작업 - Player 스킬 - UI - AI 작업 - 구조 옮기기 진행 예정 작업 - AI 작업 - 구조 적용 진행 완료 작업 - 차징관련 스킬 자유롭게 구사할 수 있도록 구조 제작. - GaeBulg_Skill 구현 - Charging 시간초에 따른 Skill Scale 변화.
https://www.youtube.com/watch?v=_9COOkwDw64 진행 중인 작업 - Skill 구조 다듬기 - Player 스킬 - UI - AI 작업 - 구조 옮기기 진행 예정 작업 - AI 작업 - 구조 적용 진행 완료 작업 - Behavior Tree 적용 - Bow 적용

Enemy에 감지 범위에 객체가 들어왔을때 텔레포트를 사용하여 도망칠 수 있도록 구현해 볼 것이다. 1. 각 Task와 EQS에 설정을 해준다. 1. Behavior 전체적인 노드 구조. #include "BehaviorTree/CBTTaskNode_Equip.h" #include "Global.h" #include "Characters/CEnemy_AI.h" #include "Characters/CAIController.h" #include "Components/CStateComponent.h" #include "Components/CStatusComponent.h" #include "Weapons/CEquipment.h" EBTNodeResult::Type UCBTTaskNode_Equip::Exec..

Eenmy가 Player를 감지하게 되면 Bow를 장착하였다. 이제는 감지 범위에 들어왔을시 장착 후 화살을 날릴 수 있도록 구현을 해 볼 것이다. 여기서 하나 중요한점은 Player가 Bow로 화살을 날릴때 조건이 AimMode인 상태에서만 발사할 수 있도록 설계가 되어있다. Enemy도 동일하게 AimMode를 넣어줄 것이다. 1. BP에서 사용할 수 있도록 BlueprintReadOnly로 해준다. 1. SubAction을 BP에서 부를수 있도록 BlueprintCallable로 해준다.2 2. Pressed, Released도 동일하게 만들어준다. 1. C++내에 있는 함수를 불러다가 BP에서 처리를해 줄 것이다. 1. C++에있는 함수를 사용하게 될 것임으로, 부모를 콜해줘야한다. 2. 키가 눌..

Enemy가 공격하려고 할때, Player가 먼저 공격을 했을 경우 Enemy에 공격모드가 사라져버리는게 아닌, Hit후 일정시간이 지나면 바로 Enemy가 공격 행동을 할 수 있도록 구현해볼 것이다. 간격은 Behavior Tree에 Wait로 1초정도로 줄 것이기 때문에 빠르게 공격하게끔 만들어질 것이다. #pragma once #include "CoreMinimal.h" #include "UObject/NoExportTypes.h" #include "Weapons/CWeaponStructures.h" #include "CDoAction.generated.h" UCLASS(Abstract) // 객체화 되면 안되므로 Abstract class U2212_06_API UCDoAction : public..