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

1. 평범한 기능들이 있는 이 공간안에 Command를 생성해서 넣어 줄 것이다. 더보기 #pragma once #include "CoreMinimal.h" #include "Framework/Commands/Commands.h" class EXAMPLE_API FButtonCommand : public TCommands // 부모의 공용 영역 { public: void RegisterCommands() override; private: // 델리게이션을 위한 함수 void OnClicked_LoadMesh(); }; #include "ButtonCommand.h" void FButtonCommand::RegisterCommands() // 추상 클래스이므로, 부모 호출 x { // UI커멘드 매크로, ..
https://www.youtube.com/watch?v=9cd5ddEI_SU 진행 중인 작업 - WaitPoint 지점 도착후 그룹전투를 위한 행동에 문제 생김 (비헤이비어 트리 탈출 조건 문제) - Final Boss EQS 추가 작업. - Boss Map 작업 진행 예정 작업 - 그룹 AI 작업 - Boss AI 작업 - 움직임 보간 및 디테일 작업 - 몽타주 추가 - Boss Map 진행 완료 작업 - Index로 Enemy Team 나누기 - 같은 팀끼리 충돌처리 못하도록 예외처리 - Point 지점으로 달려가도록 설정.
https://www.youtube.com/watch?v=PTfk3kapyTI 진행 중인 작업 - AI 작업 중 (인식 오류 작업 필요) - Final Boss EQS 추가 작업. - Final Boss AI 작업 - Boss Map 작업 진행 예정 작업 - AI 작업 중 - Boss AI 작업 - 움직임 보간 및 디테일 작업 - 몽타주 추가 - 스킬과 움직임 동작들 게임처럼 만들기 위한 비헤이비어 트리 어순 작업. - Boss Map 진행 완료 작업 - Final Boss Hit시 EQS 사용으로 최적의 거리 판단 후 도주. - Final Map 합치기 - Enemy 집단 나누기
정의 - 컴포넌트 기반 개발이란 재사용이 가능한 컴포넌트의 개발 또는 상용 컴포넌트들을 조합하여 재사용함으로써 생산성과 품질을 높이고, 시스템 유지 보수 비용을 최소화할 수 있는 개발 방법론이다. 또는 컴포넌트 기반 개발방법론이라 부른다. 특징 - 컴포넌트 기반으로 개발 - 아키텍처 중심의 소프트웨어를 설계 - 재사용을 고려하여 컴포넌트를 설계, 컴포넌트를 기반으로 시스템 개발 방법 (CBSD)를 제공한다. - 표준화된 UML을 통한 프로세스를 제공, 유스케이스 다이어그램, 시퀀스 다이어그램, 컴포넌트 다이어그램, 클래스 다이어그램 - Iteration을 통해 반복 점진적 개발 프로세스를 제공, 라이프사이클을 지원하는 일관성 있는 모델링 등장 배경 - 변화에 따른 소프트웨어 대형화, 복잡화 현상 발생 -..
https://www.youtube.com/watch?v=lG_ltDMvdT0 진행 중인 작업 - AI 작업 중 - Final Boss AI 작업 진행 예정 작업 - AI 작업 중 - Boss AI 작업 - 보스들 각 거리 비례해 스킬 랜덤으로 동작하게 구현하기 - 움직임 보간 및 디테일 작업 - 몽타주 추가 - 스킬과 움직임 동작들 게임처럼 만들기 위한 비헤이비어 트리 어순 작업. 진행 완료 작업 - Boss 보간을 통한 자연스러운 순보 공격 스킬 - Suck 스킬 - 기본적인 움직임처리

기본적인 이론을 알고 보는게 더 빠른 이해를 도울 수 있으므로 설명부터 시작해 보겠다. 1. 기본적인 에디터창이 보인다. 하지만 좌우 어디에도 카테고리 및 창이 존재하지 않는다. 2. 원래는 존재 했으나 하나씩 지울수가 있는데, 이 본 화면에 에디터창만은 에디터를 종료하지 않는다 끌 방법이 없다. 3. 메인 프레임이라는 화면상에 하나로 올라가있으며, 나머지 카테고리 및 창들이 주변에 붙어서 생성되어 화면에 보이는 것이다. 4. API나 DX에도 나오듯 View 영역이 메인 프레임을 나타낸다고 생각하면 이해하기 쉽다. 5. 메인 프레임을 반환하는 방식으로 Handle을 구해서 코드를 작성해볼 것이다. 1. | 기호에 보면 왼쪽, 오른쪽 구간으로 나눠서 사용하는데 의미가 다르다. 왼쪽이 나타나는 설명, 오른..

1. 에디터안에 카테고리에 무언가를 추가하기 위해서는 StaticComponent를 가져와야 한다. 2. 그 안에 그릴 정보는 StaticMesh를 가져와서 작업을 진행해야한다. 더보기 #include "StaticMesh_Detail.h" #include "DetailLayoutBuilder.h" #include "DetailCategoryBuilder.h" #include "DetailWidgetRow.h" #include "Misc/MessageDialog.h" #include "Serialization/BufferArchive.h" #include "CStaticMesh.h" // 에디터 상에서만 끼워넣기 때문에, 게임모드인지 확인할 수 있는 방법이 없다. FReply FStaticMesh_Det..
https://www.youtube.com/watch?v=8uWJhG8FJ_k 진행 중인 작업 - AI 작업 중 - Final Boss AI 작업 - AI 구조 변경 진행 예정 작업 - AI 작업 중 - Boss AI 작업 - 보스들 각 거리 비례해 스킬 랜덤으로 동작하게 구현하기 - 디테일 작업 진행 완료 작업 - Fire스킬 타겟팅 유도 - 정해놓은 Distance 범위안에 들어가면 Forward로 회전없이 이동

더보기 #if WITH_EDITOR // 월드 아웃라이너 // 안에 이름 전부를 알아낼떄 사용 GLog->Log(GetActorLabel()); #endif 1. 게임내에서 코드를 수정 할 수 없는 부분, 즉 에디터 전용일때는 매크로 사용을 필히 해줘여한다. 2. 매크로를 꼭 써야하는 이유에 대해 한가지 알게 된 것이다. 더보기 #pragma once #include "CoreMinimal.h" #include "GameFramework/Actor.h" #include "CStaticMesh.generated.h" UCLASS() class U2212_05_API ACStaticMesh : public AActor { GENERATED_BODY() #if WITH_EDITOR public: // 에디터 ..
모듈화 (Modularization) - 소프트웨어를 각 기능별로 나누는 것 - 프로그램을 효율적으로 관리될 수 있도록 시스템을 분해, 추상화 함으로써 제품의 성능을 향상시키고, 수정 및 재사용, 유지관리를 용이하게 하는 방법 - 각각의 모듈은 주어진 기능만을 독립적으로 수항하며, 다른 모듈과 적게 연관되어야 한다. 모듈 - 기능별로 나눠진 모듈들의 결과 결합도 - 서로 다른 모듈 간에 상호 의존하는 정도 또는 연관된 관계를 뜻한다. - 자료 결합도, 스탬프 결합도, 제어 결합도, 외부 결합도, 공통 결합도, 내용 결합도 - 모듈의 변화의 영향과 의존성을 낮추고 재사용성을 높이기 위해 결합도를 낮게 유지시키는 것이 좋다. 결합도가 높은 클래스 특징 - 모듈 연관성이 없다. - 복장성 감소 결합도 낮은 클..