전체 글

Unreal 공부/Unreal Engine 4 C++ The Ultimate Shooter

Aiming and Crosshairs - 1

Zooming Field of View Fov값 설정을 통한 줌 기능을 만들어 보겠습니다. 우선 Zoom 상태인지 확인할 bool 변수와 이를 설정해줄 함수를 선언해 줍니다. (SetupPlayerInputComponent 까지 설정) ShooterCharacter.h protected: ... // Set bAiming to true or false with button void AimingButtonPressed(); void AimingButtonReleased(); ... private: ... UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = Input, meta = (AllowPrivateAccess = "true")) class UInputAct..

Unreal 공부/Unreal Engine 4 C++ The Ultimate Shooter

Animation - 5

Jog Start Blendspace 달리기를 시작할때의 Blendspace를 만들기 위해 우선 원본을 복사해 줍니다. (이후 이름을 _Trimmed로 변경해줍니다.) 이후 JogStartBlendspace를 만들어 줍니다.. 이전에 해주었던 작업을 되새기며 만들어 줍니다. Jog_Start의 모션이 길어서 부자연스럽기 때문에 수정해 줄것이다. 이를 위해서는 Jog_Right_Start_Trimmed에서 자연스럽게 이어지기 위해 Jog_Right를 확인해야 한다. Jog_Right의 경우 발이 왼쪽부터 시작하기 때문에 Jog_Right_Start_Trimmed의 끝을 왼쪽발이 지면에 닿을때 쯤으로 해야 한다. ( 21 프레임이랑 이으면 좋을꺼 같아 Trimmed의 뒤를 삭제해주었다.) Jog_ Left ..

Unreal 공부/Unreal Engine 4 C++ The Ultimate Shooter

Animation - 4

Trace from Gun Barrel 아래와 같이 Cube를 놓고 총을 쏴보면, 연기(BeamParticles)는 총구에서 뒤의 벽까지 생성됨을 알 수 있다. ( impactParticles도 마찬가지다) 이는 저번 시간에 LineTraceSingleByChannel에 쓰이는 시작 FVector를 CrosshairWorldPosition로 초기화 해주었기 때문이다. 이번 시간에는 이를 수정해 보겠다. 기존의 로직은 바꾸지 않고, 한번더 LineTrace를 통해서 총구부터 착탄 지점사이에 Hit이 있으면 BeamEndPoint를 수정해 주겠다. ShooterCharacter.cpp void AShooterCharacter::FireWeapon(const FInputActionValue &Value) { ..

Unreal 공부/Unreal Engine 4 C++ The Ultimate Shooter

Animation - 3

Impact Particles LineTrace로 적중한 위치에 Particle을 소환하는것을 코드로 구현한다. ShooterCharacter.h // Particles spawned upon bullet impact UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = Combat, meta = (AllowPrivateAccess = "true")) UParticleSystem *impactParticles;// 전방선언은 전에 MuzzleFlash에서 해주어서 생략 가능 ShooterCharacter.cpp void AShooterCharacter::FireWeapon(const FInputActionValue &Value) { ... if (BarrelSo..

메카인
메카인의 지식창고