일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- 각도변환
- c++
- 25.06.11dir
- 영단어정리
- 수학용어정리
- 자료구조
- 언리얼엔진5
- ipc(inter process communication)
- directx
- 언리얼엔진
- 자료형타입
- c++용어정리
- livrary
- c언어정리
- bttask
- 프로그래밍
- leveleditor
- DX
- c++class
- 언리얼비헤이어비어트리
- 언리얼엔진공부
- 프로그래밍일기
- 언리얼ai
- 자료구조정리
- 월드아웃라이너
- c++porinter
- uaiperception
- 게임엔진튜토리얼
- unrealengineai
- 게임개발
- Today
- Total
목록2025/06 (60)
루리코딩 세상
복잡한 내부 구현을 숨기고, 중요한 기능만 외부에 제공해주는 기능을 추상화(Abstraction)라 한다.C++에서 추상화 기능을 구현하는 방법은 접근 제어자, 추상 클래스&순수 가상 함수. 인터페이스 등을사용하여, 추상화를 설계한다. 접근 제어자(private, public, protected)(private : 내부 구현, 접근 제한) (public : 외부에 보이는 기능)(protected : 해당 클래스 자신과 해당 클래스를 상속받은 자식 클래스에서는 접근이 가능하다.)접근 제어자동일 클래스자식 클래스외부(Objcet)publicOOOprotectedOO❌privateO❌❌ 추상 클래스 & 순수 가상 함수인터페이스만 정의한다. 상속받는 자식 클래스가 구현하게 하는 기능을 제공한다.class Ani..

추상 클래스는 미완성된 설계도로, 상속을 통해 자식 클래스에서 메서드를 완성하도록 유도하는 클래스이다. 추상 클래스는 하나 이상의 추상 메서드를 포함하고 있으며, 직접 인스턴스를 생성이 불가. 추상 클래스 특징(4가지)1. 미완성 설계도추상 메서드가 있어 자식 클래스에서 구현을 강제 2. 상속 용도인스턴스 생성불가, 상속을 위한 클래스로 설계 3. 추상 메서드 포함하나 이상의 추상 메서드를 포함해야함 4. 자식 클래스에 구현 강제상속받는 자식클래스에서 추상 메서드를 구현함 사용예시!공통 기능 정의 : 여러 자식 클래스에서 공유할 공통적인 기능(메서드)를 정의한다.새로운 클래스를 쉽게 추가가 가능한 구조를 제공한다. 템플릿 메서드 패턴을 구현해준다. 추상 클래스와 인터페이스의 차이점?추상 클래스 : 추상..

SwapChain 기능 프로젝트 예제에 대해서 실습을 진행했다.사용자 정의 해상도 및 설정을 기반으로 [DXGI_SWAP_CHAIN_DESC]을 작성했는데,(D3D11_Divice)에서 (DXGI_Divice) -> (adapter) -> (factory) 순서로 인터페이스를 접근한다.(factory)에서 [CreateSwapChain]을 호출하여 GPU와 윈도우 사이의 출력 통로를 생성하는데,성공적으로 SwapChain이 생성되면 백버퍼를 대상으로 그리기가 가능해진다. [DXGI_SWAP_CHAIN_DESC] 구조체의 정의를 자세히 살펴보면다음과 같았다.. DirectX 11에서 Swap Chain은 화면 출력의 전체 설정을 담당한다. DXGI_SWAP_CHAIN_DESC 구조체 구성요소 정리도표구성 ..

이전의 프로젝트 예제에서 [Create Dynamic Material]를 활용해서 원하는 색상으로 변경과,기존의 Collision 기능을 활용해서 Actior가 사라지는 기능까지는 구현했으나게임을 진행하게되면 HP를 일정한 공격에서 발생되는 Damage를 통해서 상쇄하는 로직이기본적으로 게임의 가장 기본 요소인 것은 상식이다. 이번 프로젝트 예제는 이러한 데미지를[BP_Sword]에 적용하여, 게임의 전투 요소 중 피격 시 발생되는 (데미지, 이펙트, 사운드, 화면 효과)대표적인 효과들을 만들어보는 예제를 기록할 예정이다. 🟩 1. Apply Damage기본 데미지 처리 함수 (범용)📌 설명: 대상 액터에 단순히 수치를 기반으로 데미지를 줌✅ 데미지 타입, 인스티게이터, 데미지 원인자 등을 포함..

이번 예제에서는 적을 생성하고, [블루프린트 : 캐릭터]를 기반으로, Bot을 생성[스켈레탈 메시] : 원하는 적 메시 설정[애니메이션 모드] : 기존의 생성한 애니메이션기존의 애니메이션은 유지하되 [Cast to BP_Character]로 호출되는 노드는 연결이 불가한 점을 예상 할 수 있다.UMaterialInterface [최상위] - UMaterial - UMaterial_ Interface_Constant(상수) - UMaterial_ Interface_Dynamic(동적, 게임 중에도 값을 변경 할 수 있다.)(게임 중의 색상이 변화하는 기능을 넣을 때 사용한다.)Create Dynamic Material Instance [Materials_ Dynamic_ Instance_배열 형식] 으로 ..

그래픽 게임에서 충돌을 설정해주어야, 각 객체(Object) 간의 상호작용을 만들어낼 수 있다.앞서서 프로젝트 예제를 통해서 하였던 실습들은 충돌과는 관련없는 애니메이션, 오브젝트를 소환하고InPut값에 따른 행위를 노드로 실행하는 로직을 만들었다. 이번에는 Bot기능을 추가하기 이전에충돌 기능을 설정함으로서 상호작용에 밑바탕을 만드는 것을 목적으로한다.🔷 Collision 핵심 개념1. Collision물체 간 충돌/감지를 처리하는 시스템Block / Overlap / Ignore의 세 가지 반응 방식으로 구성됨🔹 콜리전 구성 요소들2. Collider충돌 처리를 위한 모양(Shape)메시와 별개로 충돌만 담당하는 보이지 않는 영역세 가지 주요 종류: Box, Sphere, Capsule3. Box..

이전에 Sword를 장착시켰던 방법에서 [BeginEvent]에서 [Sequnce]로 분기점을 만들어줘서 방패를 장착시켜주려했다.. 하지만? 왜 자꾸 버려 [Skeleton Bone] 을 먼저 확인해보자, 소켓도 정상이니 이름을 복사해서[블루프린트 : 캐릭터] 노드 상 문제가 있는지 확인해보자그런데 노드 상에도 문제가 없어서 시퀀스를 삭제해봤다. [Shield]가 스태틱 메시로 호출되어야하는데, BP_Actor 클래스에서 호출하는 곳에서 Mesh로적용되어있는 문제점이 있었다.그래서 [+추가] [StaticMesh]로 추가해서 적용하니 정상적으로 시퀀스처리 되었다. 다른 문제가 추가되었다. 액터를 충돌체로 인식해서 동작을 제대로 하지 않는 문제를 발생.월드에 2개가 스폰된다..? [블루프린트..

[애니메이션 블루프린트] 클래스의 [AnimGraph] 내부 [Slot] 기능을 활용해, 자연스러운 동작을 구현하는 것을 목표로 한다. 언리얼 엔진에서 [Slot] 기능은, 애니메이션 몽타주에서 특정 본(Bone) 영역에만 애니메이션을 재생할 수 있도록 하는 기능이다. 이를 통해 상체는 공격 애니메이션, 하체는 이동 애니메이션을 동시에 실행 할 수 있도록 설정이 가능하다. [ UpperBody ] : 상체 전용 슬롯상체 본만을 대상으로 애니메이션을 재생한다. [ FullBody ] : 전체 신체 슬롯상체 + 하체 포함한 전체 바디에 애니메이션을 적용한다. [ DafultSolot] : 기본 슬롯지정되지 않은 경우 사용되는 기본 슬롯이다. 예제 실습을 통한, 기능 구현을 해보자 기존의 사용하고 있었던..

[애니메이션 시퀀스], [애님 몽타주],[블루프린트클래스 : 노티파이], [블랜디드 스페이스] 위의 4가지 기능을 활용해서, 기본적인 공격과액션 매핑[키보드 입력, 마우스 입력] 을 인식하는 동작들을다뤘다. 이번에는 연속적인 동작을 구현해내는 방법에 대해서정리해보고자 한다.먼저 [블루 프린트 : 캐릭터] 클래스의 많은 수의변수가 생겨난 것을 정리하는 것부터 진행했다. 좌측하단의 아웃라이너에 있는 각각의변수들을 클릭하여 드래그 된 상태에서우측의 [디테일]을 확인하게 되면 다음과 같이 카테고리가 기본값인 디폴트로 되어있는 것을 임의로 변경하여,내부적인 디렉토리 기능을 만들어 줄 수 있다. 변수타입 : 애님 몽타주 [오브젝트 레퍼런스 : 배열 타입]을 선택하여, 몽타주를 넣을 수 있는 형식으로 변경해준다. [..