본문 바로가기

전체 글

(150)         글쓰기    
나이아그라 풍선날리기 풍선의 색을 입힐 머터리얼을 하나만들어 보겠다. 컨텐츠폴더 적당한 곳에 우클릭을 한후 머티리얼을 만들고 이름을 MAT_Ballon으로 한다. 방금만든 머터리얼을 열어 다음과 같이 노드를 추가해준다. Apply후 저장한다. 콘텐츠폴더밑 적당한 곳에 우클릭히 NiagraSystem을 선택하 New system from selected emitter를 선택한다. 이번에는 Fountain Asset을 선택하고 +를 크릭해 추가후 이름을 NSYS_Ballon으로 한다. Emitter State의 Life Cycle Mode를 System으로 변경한다. Render우측 +를 클릭해 Mesh Renderer를 추가하고 Sprite Renderer위를 추클릭해 delete해준다. Balloon.FBX를 다운 받아 언리..
나이아그라 FX 처음시작하기 - 스모그만들기 콘텐츠폴더밑 적당한 곳에 우클릭히 NiagraSystem을 선택하 New system from selected emitter를 선택한다. SimpleSpriteburst를 더블클릭하거나 +를 클릭하면 에셋이 추가된다. Finish를 클릭하고 NSYS_Smoke로 저장한다. 더블클릭해서 열면 SimpleSpriteBurst에셋창이 보이고 맨위 Properties CPU를 선택해서 오른쪽 Selection에서 GPU, Fixed를 선택한다. Emitter Update를 선택하고 Life Cycle Mde는 System으로 한다. 이게 성능이 가볍다. Spawn Count를 2500개로 하면 공이 많이 생긴다. 타임라인을 줄여주면 반복시간이 짧아진다. Emitter Update+를 클릭해 Spawn Rate를..
Player Attack - Animation Montage만들기 유한머신에서 Attack를 만들려면 안되는거 아닌데 공격키를 입력 받아야 한다. 실험해보니 방법은 있을텐데 Animation에서 Fire이벤트를 받는게 쉽지 않았다. 결국 뒤지다 보니 AnimationMontage()라는 애니메이션 시퀀스를 만들어 좋고 BP_Player 에서 PlayMontage()를 해준다 AnimGraph에는 DefaultSlot을 사이에 추가해 주면 된다. Animation Montage를 만든다. 이름을 BP_PlayerAttackMontage로 한다. 에디터가 열리면 에셋에서 애니메이션들을 끌어다 타임라인에 놓으면 기본적으로 자동플레이된다. BP_Player 이벤트그래프에 Fire()단추가 눌리면 PlayAnimMontage를 연결해준다. 마지막으로 AnimGraph에 Defa..
적에너미 만들기 BP_Enemy 블루프린트를 Actor로 만듬. Capsule과 SekeletalMesh를 추가해주고 메시 교체 애니메이션 블루프린트를 생성하고 BP_WarrioAnimRun로 이름 바꿈 State Machine을 추가하고 이름을 LocoMotion을 하고 Attack와 Run을 순환하는 유한머신을 만듬 이동 조건은 이전 스테이트가 끝나는 걸 체크 Animation Montage로 이렇게 하는것 같은데 그냥 아는 방법으로 구현. BP_Enemy에 방금만든 Anim Class를 지정
ThirdPerson Blueprint Child만들기 ThirdPerson Blueprints폴더의 BP_ThirdPersonCharacter를 선택후 우클릭후 Create Child Blueprint Class 이미 다 구현되어 있음. Skeletal Mesh Asset을 다운 받은 Mesh로 교환, ReTargeting보다 훨 쉬움. Animation Blueprint를 생성 State Machine 노드 를 LocoMotion으로 이름 바꾸고 LocoMotion을 더블 클릭해 State를 Idle과 Run을 2개 추가해 Idle을 정의 Run을 정의 My Blueprint에서 변수 moveSpeed생성 블루프린트에서 moveSpeed를 얻어옴 Character의 Get Velocity를 이용해서 Scala값으로 변환후 설정 Idle->Run으로 이동 ..
캐릭터 무브먼트 설정 https://docs.unrealengine.com/5.0/ko/setting-up-character-movement/ 캐릭터 무브먼트 설정 이 튜토리얼에서는 다양한 형태의 캐릭터 무브먼트(Character Movement)를 보여주는 플레이 가능 캐릭터를 생성하는 방법을 알아봅니다. docs.unrealengine.com
UE4 콜리전 GoldGiver 2022. 3. 6. 16:54 이득우님의 "이득우의 언리얼 C++ 게임 개발의 정석" 책을 따라가며 실습한 내용을 정리한 포스팅입니다. 실습에 필요한 자료들은 이 링크에서, 작업한 예제 소스 완성본은 여기에서 찾아보실 수 있습니다. (저는 언리얼 4.27.2 버전 기준으로 작업하였습니다) 콜리전 설정 콜리전은 물리적 충돌 영역을 의미하는데, 언리얼에서 콜리전은 크게 세 가지 방법으로 제작할 수 있다. 스태틱메시 에셋 : 스태틱메시 에셋에 콜리전 영역을 심는 방법이다. 스태틱메시 컴포넌트에서 비주얼과 충돌이라는 두 가지 기능을 설정할 수 있어 관리가 편리하다. 기본 도형(Primitive) 컴포넌트 : 구체, 박스, 캡슐 등의 기본 도형을 사용해 스태틱메시와 별도로 충돌 영역을 지정한다..
Unreal FMATH https://docs.unrealengine.com/5.3/en-US/API/Runtime/Core/Math/FMath/ FMath Structure for all math helper functions, inherits from platform math to pick up platform-specific implementations Check GenericPlatformMath.h for additional math functions docs.unrealengine.com
언리얼 반복자(Unreal Iterator) 언리얼에서는 언리얼 오브젝트(UObject)를 상속받은 파생 클래스들에 대한 선택적 클래스 스코프(Optional Class Scope)를 통한 빠른 검색을 지원하는 반복자 기능을 지원합니다. 이러한 기능을 수행하는 반복자는 크게 UObject들에 대한 순회를 지원하는 오브젝트 반복자와 AActor들에 대한 순회를 지원하는 객체 반복자입니다. 이러한 함수를 사용하여 모든 런타임 액터 및 오브젝트들을 검색하거나, 특정 클래스만을 검색할 수 있습니다. 이러한 기능의 제공은 사용자가 스스로 액터의 동적 배열을 유지하고 관리할 필요가 없으며, 단지 액터가 소멸(destroy)될 때 이 액터가 제거되는 것만 기억하면 됩니다. 액터 및 오브젝트 반복자는 항상 사용자의 게임 월드에 여전히 존재하는 모든 액터 및 오브..
프로젝트세팅 설정하기 레벨저장하기 게임모드베이스만들기 프로젝트세팅에 레벨및 게임모드 설정
UE5 액터에 위젯 달기 삼인칭 시점의 프로젝트를 하나 만듭니다. 컨텐츠드로워에서 위젯블루프린트를 만듭니다. 그림과 텍스트를 간단히 배치합니다 블루프린트 액터를 하나 만듭니다. 다음과 같이 컴포넌트를 추가합니다. Widget에는 그림을 연결해 줍니다. 박스콜리전의 사이즈는 메시보다 넉넉하게 크게해줘 캐릭터가 근접하는 걸 체크하게 해줍니다. BoxCollision을 우클릭해서 AddOnComponent Begin Overlap, AddOnComponent EndOverlap을추가합니다. Set visibility를 2개 추가해 Wdiget을 target으로 연결해주고 한쪽을 New visibitiy를 체크해줍니다. ThirdPerson블루프린트를 열 Widget을 2개 추가해주고 하나는 180도 돌려 배치합니다. 캐릭터가 회전했을..
C++ 블루프린트연동 https://darkcatgame.tistory.com/61 UE4 C++와 블루프린트 연동 기본 -0. Reflection(리플렉션) 이번 포스팅은 언리얼4 C++과 블루프린트의 연동을 중점을 주제로 작성을 시작합니다, 변수, 함수, 클래스 등 C++데이터를 블루프린트로 연동하는 주제이며 총 3개 ~ 4개 시리즈로 포스팅이 작성될 darkcatgame.tistory.com https://darkcatgame.tistory.com/62 UE4 C++와 블루프린트 연동 기본 -1. UPROPERTY() UPROPERTY() UPROPERTY()는 변수에 붙는 리플렉션 메크로입니다, 위 코드 처럼 UPROPERTY() 메크로에 인자 값을 넣어서 용도에 맞게 활용 할 수 있습니다. 내부에 들어가는 인자 스타..