언리얼 - 폰트 변경하기
·
Unreal 팁
1. 폰트를 다운합니다저는 글자는 넥슨 LV2 고딕 폰트를 숫자는 다람쥐 헌 쳇바퀴에 타고파 폰트를 사용하겠습니다 폰트는 RunTime방식으로 적용되어야합니다ttf 혹은 otf 형식의 폰트를 다운받아줍니다 2. 유저인터페이스 - 폰트를 선택하여 만들어줍니다 3.다운받은 ttf 혹은 otf 형식의 폰트를 넣어줍니다 4.만들어둔 폰트에셋을 ui에 적용시키면됩니다 적용된 모습을 확인할수있습니다
Unreal - 데미지 오버레이 만들기
·
Unreal 프로젝트 다이어리/첫번째 프로젝트
피가 35퍼 이하로 내려가면 화면이 붉게 물드는 데미지 오버레이를 만들어보겠습니다위젯을 만들어줍니다 사용할 데미지 오버레이 img를 구해준뒤 캔버스패널에 넣어줍니다 해당 이미지의 Opacity값이 0에서 1로 변하는 애니메이션을 만들어준뒤 애니메이션이 재생되는 함수를토글방식으로 만들어줍니다UCLASS()class BLASTERDREAM_API UBloodWidget : public UUserWidget{ GENERATED_BODY() public: UPROPERTY(meta = (BindWidgetAnim), Transient) UWidgetAnimation* BloodAnim; UFUNCTION() void PlayBloodAnimation();}; PlayAnimation옵션에 뒤에 0을 붙히면 무한..
Unreal - 딜레이 프로그래스바
·
Unreal 프로젝트 다이어리/첫번째 프로젝트
철권처럼 프로그래스바가 그냥 줄어든게 아니고 데미지가 단 만큼딜레이프로그래스바를 넣어 만들보겠습니다 오버레이를 둔뒤AI의 HP를 나타내는 프로그래스바(흰색)을 앞으로 딜레이프로그래스바(빨간색)를 뒤로 하이어라키 세팅한뒤AI HP프로그래스바의 배경을 투명하게합니다 Tick을 사용하여 프로그래스바를 lerp움직임으로 만들어도되나최적화를 위해 타이머로 프로그래스바를 움직이겠습니다 FTimerHandle th_DelayBar;float targetDelayBarPercent = 1.0;UFUNCTION()void UpdateDelayBar(); 위젯의 NativeConstruct에서 타이머를 설정합니다void USkeletonHPBarWidget::NativeConstruct(){ Super::Native..
Unreal - 일시정지 위젯 만들기
·
Unreal 프로젝트 다이어리/첫번째 프로젝트
esc를 누르면 게임이 일시정지되면서 계속하기 종료하기가 나오는 위젯을 만들어보겠습니다일단 우선 게임을 실행하고 esc키가 눌려지면 엔진이 종료되니 엔진을 종료하는 단축키를 변경하겠습니다해당 단축키를 변경해주시면됩니다 저는 shit + esc로 변경하도록 하겠습니다 사용할 위젯을 만들어줍니다 플레이어의 esc 키와 바인드해줍니다 사용할 위젯을 만들어줍니다 esc키를 누르면 위젯이 생성되도록 합니다단 위젯이 이미 떠있다면 삭제시키고 없으면 띄우는 토글 방식으로 뷰포트에 띄웁니다UPROPERTY(EditAnywhere, Category = "UI")TSubclassOf PauseWidgetClass;class UPauseWidget* pauseWidget;if (pauseWidget && pauseWidge..
Unreal - 위젯 나이아가라
·
Unreal 프로젝트 다이어리/첫번째 프로젝트
언리얼위젯에 나이아가라 또는 파티클을 위젯에 넣을려면플러그인을 사용해야합니다Niagara UI Renderer을 설치해줍니다 설치후 엔진 재시작해줍니다 팔레트에서 Niagara System Widget을 꺼내줍니다 그냥 나이아가라는 ui에 들어가지않습니다2D, UI전용 나이아가라로 변경해줍니다그냥 나이아가라를 넣으면 작동하지않습니다
Unreal - Foot Step Sound
·
Unreal 프로젝트 다이어리/첫번째 프로젝트
먼저 사용할 사운드를 구해줍니다 프로젝트세팅의 Physics에 사용할 surface type을 지정해줍니다 피지컬 메테리얼을 생성해줍니다 해당 피지컬 메테리얼의 프로퍼티를 이름과 맞게 설정해줍니다 사운드를 적용할 바닥에 피지컬 메테리얼을 적용시킵니다 애니메이션 노티파이에서 캐릭터로부터 밑으로 라인트레이스를 쏴서 피지컬 메테리얼을 분간합니다피지컬메테리얼을 c++에서 제어하기위한 build.cs모듈을 추가해줍니다"PhysicsCore" 애님노티파이에서 호출할 플레이어바닥으로 라인트레이서를 쏴서라인트레이서에 맞은 바닥의 피직스 머티리얼을 분간후그에맞는 랜덤사운드를 호출하는 함수를 만들어줍니다 각각 맞는 사운드 동적배열을 추가해줍니다UPROPERTY(EditAnywhere, Category = "Sound"..
Unreal - 위젯에 동영상 파일 추가하기 (인트로)
·
Unreal 프로젝트 다이어리/첫번째 프로젝트
언리얼 인트로를 추가해보겠습니다Content폴더에 Movies로 폴더를 생성 해당 폴더에 사용할 mp4 파일을 옮겨줍니다 ㅎ파일 미디어 소스의 파일경로가 제데로 Movies/ ~mp4로 끝나는지 확인합니다 미디어플레이어에 해당 영상을 더블클릭해 지정해줍니다 Media Player 를 만듭니다 비디오가 미디어 텍스처 에셋 출력 체크해줍니다 Media Player, Media Texture가 생성되었습니다 Media Player에서 재생될 영상을 선택해줍니다 위젯에 Media Texture을 꺼내준다 Media파일을 c++에서 제어할려면 Build.cs파일에 모듈을 추가해야합니다해당 모듈을 추가해주시면됩니다"MediaAssets" 필요한 헤더를 추가합니다#include "MediaPlayer.h"#i..
Unreal - 새로하기, 이어하기 메인메뉴 만들기
·
Unreal 프로젝트 다이어리/첫번째 프로젝트
게임을 시작했을때 처음에 볼 새로하기, 이어하기, 게임종료 기능이 있는 메인메뉴를 만들어보도록하겠습니다일단 사용할 맵을 만들어줍니다 사용할 맵을 제작해주었습니다 원하는곳에 CineCamera를 배치후 원하는 뷰를 Pilot해서 시점을 지정합니다원하는 시점에 화면을 고정하고싶으면 플레이어컨트롤러에서 카메라로 시점을 변경하여야합니다 플레이어컨트롤러를 만들어줍니다 그리고Iterator로 월드상에 배치된 카메라중에 UPROPERTY로 선언된 cameraActorTag의 태그이름과 동일한카메라를 찾아 그 카메라로 시점을 변경하겠습니다UCLASS()class BLASTERDREAM_API AMainMenuController : public APlayerController{ GENERATED_BODY() public..
FBX파일이 아닌 에셋 언리얼에셋으로 컨버트시키기
·
Unreal 팁
언리얼에서 사용하는 에셋은 외부모델링을 FBX파일형태로 임포트하는걸 권장합니다그런데 SketchFab에서 에셋을 구할때 에셋이 FBX가 아닐때가 많습니다그럴때 FBX로 변환하는법! Blender를 다운받습니다https://www.blender.org/download/ Download — blender.orgBlender is free and open source. Forever.www.blender.org Blender에서 임포트할때 기본으로 가능한 파일의 확장자입니다.dae, .abc, .usd, .svg, .obj, .ply, .stl, .bvh, .svg, .stl, .fbx, glb, .gltf, 등등 여러가지 확장자파일을 임포트할수있습니다만약 없다면 플러그인으로 추가 가능합니다 다운받을려고하는 ..
Unreal - 던전 클리어 위젯 만들기
·
Unreal 프로젝트 다이어리/첫번째 프로젝트
던전을 클리어했을때 던전에서 플레이했던 내용을 기록하는 클리어 위젯을 만들어보도록하겠습니다이미띄워진 클리어%를 나타내는 AI에 따로 캔버스패널을 두고 클리어가되면 해당 캔버스패널이 나타나도록 해보겠습니다일단 사용할 Widget을 만들어주겠습니다VerticalBox를 루트로 두고 하이어라키에 HorizentalBox를 각각 두개씩 총 4행 2열 형식으로 UI를 구성하였습니다구성할 내용은 클리어타임, 쓰러뜨린 몬스터수, 피격횟수, 부활횟수 총 4개입니다 각각 클리어타임, 킬카운트, 피격횟수, 부활횟수에 대한 변수값을 바인드해줍니다 해당 변수값들로 text를 set하는 함수를 만듭니다void UDungeonClearPercentWidget::SetClearPanelNumber(int32 clearTime, i..