프로그래밍 공부

서울게임아카데미 교육과정 6개월 국비과정 113

카테고리 설명
  • 언리얼의 객체에 대한 접두사, 엑터 종류를 이해한다. 엑터를 생성하고, 배치한뒤 머티리얼을 바꾸어본다. C++ 클래스 생성하기 메쉬데이터를 생성한다. 객체는 엑터를 상속받으며, CPP클래스이다. 위 C++클래스는, 블루프린트의 부모 클래스 선택을 사용하여, 직접이용보다는 간접적으로 상속받아 사용하게 된다. C++ 헤더 객체의 헤더이다. 항상 GENERATED_BODY ()이후에 모든 코드가 동작할 수 있도록 한다. UPROPERTY를 통해, 블루프린트와 통신할 수 있도록 사전작업을 진행하여 객체를 생성해주도록 하자. UStaticMeshComponent* 와 Float, UMaterialInstanceDynamic을 사용해서 객체를 생성, 색을 조정할 것 이다. 각 변수형태는 블루프린트의 컴포넌트 추가에..

  • 240322 기준, 비주얼스튜디오 2022로는 동작하지 않아, 비주얼스튜디오2022 프리뷰 버전을 사용해야한다. https://visualstudio.microsoft.com/ko/vs/preview/ Visual Studio Preview Visual Studio 2022의 미래에 가장 먼저 액세스하세요.지금 미리 보기를 다운로드하고 Visual Studio에서 아직 릴리스되지 않은 새 기능을 사용해 보세요. visualstudio.microsoft.com 프리뷰를 설치하고 프리뷰에서 언리얼에 관한 확장 라이브러리를 전부 다운로드 하고 연결해주어야 한다. UE5 내부설정 엑터배치, 출력 로그 월드세팅, 디테일 아웃라이너, 콘텐츠 브라우저 1, 2를 세팅해주면 된다. 에디터 컨트롤 세팅 컨트롤 기준이 다..

  • 언리얼에서 사용하는 AI 설계에 대한 기초 개념을 알아보자.AI_Controller AI의 기본 이동에 대해 개념을 불어넣는 컨트롤러 이다. 원래 Player가 컨트롤하는 것은 PlayerController가 붙고, 컴퓨터가 컨트롤하는것은 AI_Controller가 붙는다고 이해하면 된다.블루프린트 에서 AIController로 생성하면 된다.  생성 초기 화면이다. 따로 컴포넌트는 추가하지 않으나, 사용하는 컴포넌트로는 보통 AIPerception을 사용한다.에서 사용하고, AIPerception컴포넌트를 이용하는데, 이 퍼셉션은 탐색을 의미한다.지정된 AI 퍼셉션 알고리즘을 통해, 지정된 방식대로 객체를 탐색하게 된다. Senes Config는 지정된 탐색 알고리즘을 의미하고, Domination S..

  • 목표가 선택되고 선택된 목표에 대해 케릭터의 회전을 전환하여, 목표를 고정되게 바라볼 수 있도록 한다. BP_Player->Tick_LockOn 틱마다 데이터를 검사한다. LookOnTarget의 Bool데이터를 검사해서, 현재 록온을 진행 하는지 아닌지를 확인하고, 록온을 진행한다고 하면, 현재 록온중인 적을 확인하고, 록온중인 적을 향하는 방향에 현재 컨트롤 중인 컨트롤러의 회전을 전환해준다. 그렇게 화면전환을 고정하면, 고정된 객체로 틱마다 카메라의 회전이 전환되게 된다. 테스트 타겟전환하기 지정된 타겟들은 배열형태로 객체에 저장된다. 이제, 저장된 타겟들의 Distance를 확인하여, 가장 가까운 타겟 순서대로 플레이어가 카메라를 전환할 수 있도록 해보자. 즉, 다른 타겟에 카메라를 회전시키도록 ..

  • 주변 적을 확인, 그리고 주변 적들 중 가장 가까운 적을 타겟팅하는 시스템을 만들어보자. TargetEvent 정의 타겟을 했을 때의 이벤트를 정의한다. 먼저, Teb을 눌렀을 때, 함수가 실행되도록 정의할 것 이다. 항상 타겟팅은 전투모드 일 때만 가능하며, 사용시, 이전까지 붙어있던 모든 Visival에 대한 배열목록을 전부 탐색해서 커서가 켜져있는 객체를 꺼주고, 새로운 객체에 lookOn을 할 것 이다. 여기서, 모든 객체 순환이 아니라, 코드 구조 상 한번에 한개의 객체가 커서가 존재함으로, 객체를 탐색하기 전에, 먼저 전 객체를 꺼주는 식으로 하면 더 빠른 코드가 될 것 이다. LookOn함수 Lookon을 하는 함수이다. Self를 기준으로, 1000크기의 구체를 만든 뒤, 해당 구체에 닿은..

  • 에니메이션의 노티파이와 몽타주를 사용해서 일정 키가 입력되었을 때, 구르기 또는 백스텝이 작동하도록 한다. BP_Player 점핑 입력에서, 현재 상태값을 받아오고, 전투상태일 경우, BackStep에, 아닐경우 점프가 동작하도록 정의한다. 현재 함수는 롤링도 같이 적혀있지만, 구르기는 좌측 Alt를 눌렀을 때 동작하도록 정의하였다. Enum재정의 State의 ENum에 Dash를 추가한다. 항상 모든 상태값은 Idle일 때만 동작하게 됨으로, Dash를 추가하여 Dash중 Dash가 2번이상 동작하지 않도록 막아준다. 이때, 두번이상의 Dash를 추가하고 싶다면, 변수를 추가해서 Dash를 제어해주자. BP_Player BP_Player에서 정의된 커스텀 이벤트 이다. 현재 State를 판별하고, Id..