Unreal 캐릭터 - 비네트효과
·
Unreal 프로젝트 다이어리/첫번째 프로젝트
지난시간에 만든마지막결과물에 이제 알맞는 카메라쉐이킹을 넣어보도록 하자 카메라쉐이크베이스 생성후TsubClassOf참조후에ClientStartCameraShake로 흔들어준다Fov값을 1의세기로 10번 timing으로 시간을 조절 그리고 웨이브 오실레이터 카메라 셰이크패턴에서 값을 변경해주었다괜찮은느낌으로 카메라가 흔들리는걸 확인할수있다이제 포스트프로세스값을 수정해서 비네트 효과를 추가해보도록하겠다비네트 메테리얼 생성 노드를 추가후에 PostProcessInput0으로 변경값을 포스트 프로세스로스칼라 블루프린트 두개 생성디폴트값 변경 인덱스 추가해서 이렇게 추가해주고이렇게 인덱스 추가 출력타입은 float4로 인덱스이름맞춰서 잘 설정해준다 float2 vectorFromCenter = PixelPosit..
Unreal 캐릭터 - 줌인/줌아웃, 타임딜레이션, 번개 나이아가라
·
Unreal 프로젝트 다이어리/첫번째 프로젝트
각성의 전기모션이 너무 안보이는거같다그래서 나이아가라를 직접 캐릭터에 입혀준다는 느낌으로 바꿔줄예정이다Material을 만들고나이아가라를 생성한뒤파라미터값을 건들여 이렇게 elf몸에 맞는 나이아가라를 입혀주었다https://www.youtube.com/watch?v=8obgGB5A8YA따라한소스의 출처/영상이다 두고두고 사용할듯하다결과물이다 각성을하면 몸에 전기가 몸 모양에 맞게 잘 깃든다 번개를 두르기전에 번개를 맞는 이펙트도 추가해보자이펙트를 추가해보자 파티클시스템 즉 케스케이드는 다음과 같이 추가할수있다 ugameplaystatics 추가해주고ugameplaystatics안의 spawnemitteratlocation함수로 스폰시킨다bForceMode라는 변수를 사용해서 force모드에서 나오는 애..
Unreal 캐릭터 - 애님노티파이, 카메라쉐이크, 트레일, 다이나믹메테리얼
·
Unreal 프로젝트 다이어리/첫번째 프로젝트
e스킬의 점프모션을 좀더 다이나믹하게 만들기위해 애님노티파이를 사용해보자 animinstance 생성노티파이를 추가한다음 인스턴스내에서 NativeInitializeAnimation오버라이드 NativeThreadSafeUpdateAnimation도 만들고전역변수로 선언추가UFUNCTION()을 반드시 붙히고AnimNotify_(노티파이이름) 선언(이름이 반드시 동일해야한다)이렇게 하면 노티파이와 연결이 된다그래서 애니메이션시퀀스에 노티파이가 찍혀있으면 그 찍혀있는 노티파이에서 해당 함수가 실행이된다내가구현하고싶은건 e의 점프모션이 나올때 45도방향으로 점프하고 내려찍는 애니메이션이 나올때 쌔게 내려찍게 하고싶은거다 여기서 역시 수학이 등장한다포물선 운동 공식을 사용해보자어떤 각도 로 발사될때 속도 벡..
Unreal 캐릭터 - UI추가조정1, 일렁거리는 프로그래스바 만들기
·
Unreal 프로젝트 다이어리/첫번째 프로젝트
이번에는 게임 전체적인 부과적인 요소 밑 디테일을 추가해볼생각이다 현재 ui가 너무 부실하다 그리고 hp mp force바의 색이 너무 기본적인 색상이라progressbar에 좀더 일렁거리는 Material을 적용시켜주기로했다마나 material의 수정hp material의 수정프로그래스바에 적용시켜주었다hp와 마나가 평범한 빨간색,파란색이 아니고 일렁거리는 느낌있는 bar로 변경되었다스킬도 이미지를 추가후 해당 육각형 안에 스킬을 옮기는 작업도 시작했다그리고 이미지가 너무 흐릿하고 정사각형모양이라 crop작업과 upscaling 작업도 해주었다https://rounder.pics/crop-image-geometric-forms/이건 모양에 맞게 바꿔주는 crop 해주는 사이트이다.이런식으로 사각형의 이..
Unreal 캐릭터 - 위젯애니메이션
·
Unreal 프로젝트 다이어리/첫번째 프로젝트
스킬의 위젯블루프린트 애니메이션을 통해 스킬쿨타임을 시각적으로 보여주는걸 만들어보자해당 애니메이션을 원하는객체를 선택후좌측하단에 있는 애니메이션을 열고+애니메이션 해서 노드를 추가후다시 +추가버튼 해서 애니메이션을 적용할 대상 클릭그리고 만들어진 대상의 + 를 눌러 적용할 애니메이션 변경값을 추가 해준다나는 점점 밝아지게 할생각이였으니 컬러 앤 오파시티로 채택했다 쿨타임이 들어갈 text블록을 세팅해주고원하는시간에 키를 찍어서 애니메이션을 만들어준다이제 1초가 남았을때 다시 스킬의 color and opacity가 변경되어 애니메이션이 만들어진것을 확인할수있다그러면 이제 숫자가 쿨타임대로 돌아가게해보자바인드해주고coolTime변수값을 인자로 받아 0.1초마다 text를 업데이트해주는 타이머를 추가해줬다쿨..
Unreal 캐릭터 - UI위젯과 동기화
·
Unreal 프로젝트 다이어리/첫번째 프로젝트
ㅇ플레이어의 기본적인 평타매커니즘, 움직임 매커니즘이 만들어졌으니플레이어의 컨셉을 정하는시간을 가졌다 1.플레이어는 포스 라는 게이지를 가진다2. 플레이어는 스킬을 사용할시 포스 게이지가 찬다3. 포스를 다채우면 각성을 사용할수있고 각성버프는 강화된 스킬을 사용할 수 있다. Ui 구상도이다좌측위의 캐릭터 얼굴hp, mp 포스게이지그리고 중앙하단에는 스킬을 넣을것이다(프로토타입이기때문에 언제든 변경이 될수도 있다)플레이어CPP클래스에 추가해줄내용이다플레이어hp, mp force관한 변수를 UPROPERTY로 언제든 수정할수있게 프로퍼티를 추가후 선언해준다. 그리고 플레이어가 사용할 ui를 제작해주기로 했다UserWidget을 생성해준다캔버스 패널 만들어주고기본 hp, mp force, 캐릭터사진 이렇게 프..
Unreal 캐릭터 - 움직임의 제약(선딜과 후딜)
·
Unreal 프로젝트 다이어리/첫번째 프로젝트
지난번의 문제점을 다시 되짚어보도록 하자크게 문제는 두가지다평타가 3번째까지 진행된후 다시 첫번째 평타로 돌아올때의 딜레이가 없음클릭의 최소딜레이 가 없다크게 이 두분제를 겪었다일단 1번문제부터 해결해보도록 하자우리는 meleeAttack에 분명 이런 타이머를 넣었을것이다타이머 안에 타이머를 넣어서콤보가 리셋될때 delayAttack타이머가 실행되어서 bHasDelayAttack bool변수를 false로 변경하였다또한 평타의 switch case문에 조건문을 추가하였다bHasDelayAttack이 false일만 실행가능하도록 만들었다그리고 case2 즉 3번의 공격이 끝나면 딜레이가 있도록case2일때도 true로 변경해 딜레이를 적용시켜주었다 자 그리고 남은 2번문제인풋을 받을수있는 최소시간값을 넣어..
Unreal 캐릭터 - 콤보어택
·
Unreal 프로젝트 다이어리/첫번째 프로젝트
캐릭터의 기본적인 평타를 만들어보도록 하겠다평타의 방식은 총 3가지로일정시간안에 다시 클릭하면 다음 콤보공격이 나가게 해보겠다 일단 공격모드 스테이트 머신에 중간에 공격모션이 나오게default slot을 추가해줬다 총 3가지의평타모션이 들어갈테니 리타게팅 작업을 미리 해놨다마우스 좌클릭으로 기본공격이 나가게해보겠다우선 액션매핑작업부터 해준다역시 바인드 해준다InputMouseLeftClick에 들어갈껀 캐릭터에서 MeleeAttack이라는 함수를 불러올예정이다MeleeAttack함수는 캐릭터에서 만들예정이고 단순하게 PlayAnimMontage만 할 예정이다캐릭터에서 meleeAttack함수를 만들어보자플레이어컨트롤러에서 바인드해놓은InputMouseLeftClick함수가 실행되면 캐릭터의 meleeA..
Unreal 캐릭터 - 소켓의 활용, 외부에셋활용, 칼들려주기, 모드의구분
·
Unreal 프로젝트 다이어리/첫번째 프로젝트
이번에는 기본모드와 칼든액션 두가지를 만들어보자내가 가지고있는 캐릭터에 다른데서 들고온 모션을 합치고싶을때 예전 언리얼버전에서는 리타게팅을 직접 발끝부터 머리끝까지 ik_tetargeter로 맞춰야했는데5.4버전업데이트 이후에는 자동 리타게팅 기능이 지원되게 바뀌었다리타겟 애니메이션을 누르고 타깃에 내가 적용시키고싶은 캐릭터를 넣어준뒤원하는 애니메이션을 선택해준다그러면 자동으로 리타게팅된 애니메이션 시퀀스가 생성이 된다  이렇게 idle애니메이션과 walk애니메이션을 리타게팅해서애니메이션 블렌드스페이스 젤앞쪽(0)과 젤뒤쪽(600)에 넣어주면달리는 애니메이션블렌드스페이스가 만들어진다 그럼 이제 tab을 눌렀을때 적용되도록 해주자다시 그러면 기초적인 바인드작업부터 인풋 추가해주고!요로코롬 Tab을 바인드 ..
Unreal 캐릭터 - 플레이어 마우스 이동, 입력키 바인딩, 스테이트머신
·
Unreal 프로젝트 다이어리/첫번째 프로젝트
언리얼엔진을 켜서 새로운 프로젝트를 만든뒤 빈 프로젝트로 생성했기때문에디폴트폰도 존재하지않는다.그래서 처음부터 캐릭터를 만들어주고 입력을 받을수있는 액션맵핑작업을 해주도록 하겠다.  그리고 액션매핑을 사용할 플레이어 컨트롤러를 C++클래시스를 추가한다InputMouseRightPressed / Released 함수 즉 마우스를 클릭하고있을대와 놨을때이동을 하게만들어볼생각이다.일단 그전에 마우스가 언리얼엔진에서 보이질않으니 마우스를 보이게해본다bShowMouseCursor를 true로 하면 마우스가 보인다아까 미리 만들어놨던 RightClick의 액션매핑과 바인드를 해준다바인드를 해줄 대상은 아까 만들어놨던 InputMouseRightPressed함수와 Released함수이다나는 InputMouseRigh..