전체 글

카테고리 없음

언리얼 10 - 델리게이트

델리게이트 (p.410)함수 포인터 활용. 코드의 유연성 & 종속성을 제거하는데 유용.3종류의 델리게이트DECLARE_DELEGATE하나의 함수만 등록p.416 함수포인터 연결하는 방식DECLARE_MULTICAST_DELEGATE한개가 아니라 여러개의 함수를 등록 DECLARE_DYNAMIC_DELEGATEDECLARE_DYNAMIC_MULTICAST_DELEGATE블루프린트 호환용 함수 포인터한개 or 여러개 등록바인딩 연결할 함수는 무조건 UFUNCTION() 필요사용하는 부분이 TwoParam인데 매개변수에 들어가는건 4개라 헷갈리는데, 이건 블루프린트를 생각하면 쉽다.타입과, 지정해줄(노드에서 핀 된) 값 각각 하나씩 넣어주면 된다=> Dynamic인 경우에는 매개변수의 변수 이름까지도 지정해 ..

카테고리 없음

언리얼 9

주의 사항p. 289. 애니메이션 블루프린트를 C++에서 할당할 때, 경로 복사 (Ctrl + Shift + C) 하고 붙여넣는다./Game/MyGame/Blueprints/Enemy/ABP_Enemy.**ABP_Enemy_C**이때, 제일 마지막에 _C 를 반드시 붙여야한다. 언리얼 규칙이다.p. 307. AttackEnd 노티파이를 애니메이션 완전 끝 쪽에 배치하지 말고, 약간 앞쪽에 배치하자.너무 끝에 배치하면, 호출이 안될 수도 있다. 적 애니메이션 공격과 공격 대기는 확확바뀌는상태이다. 끊긴것처럼. 오른쪽 블렌드세팅에서 경과시간을 조절하면된다. 기본은0.2s로 되어있는데 이 뜻은 0,2초동안 Attack과 AttackDelay의 모션이 섞인애니메이션을 재생한다는것이다. 현재 이런 현상이 있는..

카테고리 없음

언리얼 8 - 애니메이션

https://cerulean-cloudberry-2ab.notion.site/3a5d34f3778d80bca9b4c85b6be22e70애니메이션 클래스는 클래스 자체를 사용하기 때문에 특이하게 언리얼 명명규칙이 _C가 마지막에 붙는다. 애니메이터가 움직임을 확인하면서 작업하고 싶어서, 캐릭터가 실제로 움직이는 애니메이션이 있다. 이걸 끄고 싶다면 루트모션을 끄면 된다. 피직스 에셋. 우리가 피직스를 배운적은 없다. 스켈레탈 개념과 좀 다르다. 피격판정이라고 할 때 헤드샷이 잘 터지게 하고싶다면, 충돌체 모양을 키우면된다. 콘텐츠 드로어에 우클릭 -> 애니메이션 -> 블렌드 스페이스 (모션들을 적당히 섞어주는것) 이렇게 구성하고 ABP_Rifle에 추가해서 보자. 문제가 있다.특정시점에 발이 호..

카테고리 없음

언리얼 7 - 적

UENUM(BlueprintType)enum class EEnemyState : uint8{ Idle, Move, Attack, Damage, Die}; UEnum 매크로 이용하여언리얼엔진에서 EEnemyState 라는 새로운 열거형 타입이 만들어진 것을 알려주고, BluePrint인자를 할당하여 블루프린트에서도 사용할 수 있도록한다. 상태는5개이기에 uint8. 열거형은 접두어 E를 붙여주어야한다. #include "EnemyFSM.h"#include "../Player/TPSPlayer.h"#include 맵에 존재하는 특정 타입의 클래스 찾는법? => GetActorofClass() UGameplayStatics의 유틸리티 클래스의 GetActorofClas..

카테고리 없음

d

프레임 5 -15 그리고 좋은 소식 — 프리팹 29개 중 Animator를 가진 게 0개입니다. 물고기·거북이도 정지 메시라, 전부 Static으로 잡아도 안전합니다.아래 순서대로 진행하세요. 순서가 중요합니다.A. GPU Resident Drawer (5분, 즉효)Project 창에서 Assets/Settings/PC_RPAsset.asset 클릭Inspector에서 Rendering 섹션 펼치기GPU Resident Drawer 드롭다운 → Instanced Drawing그 아래 새로 나타나는 항목들:Small Mesh Screen Percentage → 2 입력 (화면의 2% 미만인 오브젝트는 스킵)GPU Occlusion Culling → 체크선행 조건은 이미 충족돼 있습니다 (Edit → P..

카테고리 없음

언리얼강의6 - 총알, 총

Bullet 클래스를 액터상속받아만들고 물리기능을 제공하는 UProjectileMovementComponent 컴포넌트 추가. UProjectileMovementComponent(투사체 이동 컴포넌트)는 총알, 미사일, 대포알, 마법 구체처럼 일정한 속도로 날아가며 중력이나 반사 등의 연출을 처리하는 액터용 이동 컴포넌트입니다. 주요 특징 및 핵심 기능직접 이동 코드 작성 필요 없음: Tick 함수에서 위치를 직접 $P = P + V \times dt$ 형태로 계산하지 않아도, 컴포넌트가 속도(InitialSpeed, MaxSpeed)에 따라 자동으로 위치를 업데이트합니다.유도 및 바운스 연출:bShouldBounce = true: 벽이나 장애물에 부딪혔을 때 튕겨 나가는 연출을 쉽게 설정할 수 있습니..

카테고리 없음

언리얼강의5

언리얼에서 C++ 스크립트 생성할 경우 헤더가 이런식으로 폴더가 붙는데 같은폴더일경우 Enemy.h만 언리얼 엔진의 CameraBoom(스프링 암, Spring Arm)은 캐릭터와 카메라 사이를 연결해 주는 '셀카봉' 또는 '길다란 지지대' 역할을 하는 컴포넌트입니다.이미지에서 보는 것처럼 빨간색 선으로 카메라(FollowCamera)와 캐릭터가 연결되어 있으며, 주요 기능은 다음과 같습니다.거리 및 위치 유지: 캐릭터로부터 일정 거리(Target Arm Length)를 두고 카메라가 따라다니도록 위치를 고정해 줍니다.회전 제어: 캐릭터가 회전할 때 카메라도 함께 돌지, 아니면 마우스 이동에 따라 카메라만 회전할지(Use Pawn Control Rotation) 결정합니다.충돌 감지 (Camera C..

카테고리 없음

언리얼강의4

https://cerulean-cloudberry-2ab.notion.site/C-3c8d34f3778d800d8063ea8438dbfe34 내프로젝트명의 폴더 밑에 코드를 넣어야 제대로 인식한다. 근데 .cs c#파일들 보일것이다. 이건 엔진이 제공하는 모듈들을 우리 게임에 포함시킬지 말지를 결정하는 그런용도라고 생각하면된다. 언리얼은 Visual Studio가아니라 , 언리얼 에디터자체에서 코드를 컴파일할 수 있다. 이게 라이브코딩 기능이고, 이걸 키면 Visual Studio에서 빌드는 안되지만 에디터에서 가능하다. 코드만들어보자. 이렇게 만들어진 코드를 보자[MyActor.h] 언리얼 헤더툴 시스템언리얼은 일반적인 C++처럼 동작을 하긴하는데, 자기네들이 부수적인걸 되게 많이넣어놨..

파워지훈
공보다작은골대