분류 전체보기
-
UMGGame Programming/언리얼 2023. 10. 12. 15:15
오늘은 UMG에 대해서 배웠다... Overlay를 최상위 노드로 두었다. 이미지를 하위 노드로 넣으면 배경에 색상을 조절할 수 있다. Vertical Box를 형제로 넣어 그 안에 새로운 UI를 배치 할 수 있도록 헀다. 나는 Horizontal Box 두개를 넣어 두개의 박스로 분할했다. 상단의 Horizontal Box는 다시 수평으로 두개로 나누어서 아래와 같이 배치했다. 하단의 Horizontal Box는 좌, 우 Vertical Box로 분할했다. LeftBox에서는 이미지를 넣었고, Right Box에서는 두개의 Vertical Box로 분할하여 무기이름과 총알 개수등을 표기했다. Overlay Auto, Fill 모드를 선택해 박스를 어떻게 채울 지 선택 할 수 있다(비율을 설정하는 기능도..
-
프로그래머스 Lv3 몸짱 트레이너Computer Science/프로그래머스 2023. 10. 12. 13:50
https://school.programmers.co.kr/learn/courses/30/lessons/1838 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 헬스장의 예약 내역이 주어졌을때, 구현을 통해서 구하는 것이 아닌, 회원수가 최대인 구간만 구하게 되면 나머지는 회원수가 최대인 시간의 배열의 부분 집합으로 구할 수 있습니다. 2. priority_queue를 사용하여, 그리디하게 회원수가 최대인 시간을 구해주었으며, 3. 문제의 핵심인 락커의 위치를 구할떄는 락커의 각 부분배열을 완전탐색으로 구해주어, 시간내에 문제를 해결할 수 있었습니다...
-
프로그래머스 Lv3 GPSComputer Science/프로그래머스 2023. 10. 12. 10:56
https://school.programmers.co.kr/learn/courses/30/lessons/1837 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이 문제는,,,너무 어려웠다,,, 처음에는 다익스트라로 풀고, 처음부터 마지막 경로까지 가는데 막힌 부분이 있다면 로그를 확인해서 경로를 수정하는 방법으로 풀려고 했다. 하지만 위 풀이는 막히기 전에 경로를 수정할 때 해결을 하기가 어려웠다. 다른 사람들은 dp(dynamic programming)으로 풀었다. 현재 시간에 모든 거점에서 이전 시간의 모든 거점과 이전 시간의 거점에서 연결 된 거점들..
-
아이템, 기본 무기 추가Game Programming/언리얼 2023. 10. 11. 16:49
#include "item.h" #include "Components\BoxComponent.h" // Sets default values Aitem::Aitem() { // Set this actor to call Tick() every frame. You can turn this off to improve performance if you don't need it. PrimaryActorTick.bCanEverTick = true; ItemMesh = CreateDefaultSubobject(TEXT("ItemMesh")); SetRootComponent(ItemMesh); CollisionBox = CreateDefaultSubobject(TEXT("CollisionBox")); CollisionB..
-
카메라 흔들리는 효과Game Programming/언리얼 2023. 10. 11. 16:40
void AMyCharacter::StartFireTimer() { if (bShouldFire) { FireWeapon(); bShouldFire = false; GetWorldTimerManager().SetTimer( AutoFireTimer, this, &AMyCharacter::AutoFireReset, AutomaticFireRate); GetWorldTimerManager().SetTimer( AutoFireLightTimer, this, &AMyCharacter::AutoFireLightOnOff, AutomaticFireLightRate); GetWorldTimerManager().SetTimer( AutoCameraShakeRoll, this, &AMyCharacter::AutoCame..
-
Cross hair FactorGame Programming/언리얼 2023. 10. 10. 17:08
케릭터가 점프 중일 때 if (GetCharacterMovement()->IsFalling()) { CrosshairInAirFactor = FMath::FInterpTo(CrosshairInAirFactor, 2.25f, DeltaTime, 2.25f); } else { CrosshairInAirFactor = FMath::FInterpTo(CrosshairInAirFactor, 0.f, DeltaTime, 30.f); } 조준 중일 때 if (bAiming) { CrosshairAimFactor = FMath::FInterpTo(CrosshairAimFactor, 0.6f, DeltaTime, 30.f); } else { CrosshairAimFactor = FMath::FInterpTo(Crossh..
-
Add CrossMultiplier to HUDGame Programming/언리얼 2023. 10. 10. 15:21
MyCharacter 변수를 블루프린트에 추가 후 Event BeginPlay에서 초기화를 진행했다. 블루프린트가 진행 중에 MyCharacter가 없으면 가져와, 크로스헤어 멀티플라이어를 사용 해 Crosshair Spread Multiplier를 초기화했다. 내가 만들고자 한 것은, HUD에 기본 Aim HUD가 보이다가, Zoom In시 추가 HUD가 보이는 기능이였는데 MyCharacter에서 읽어온 Branch 노드를 통해서 구현했다. 화면 해상도의 가운데를 BaseCenter로 잠고 Crosshair SpreadMax * Crosshair Spread Multiplier를 곱한 값을 더해 좌, 우, 상, 하에 골고루 포인트를 지정했다.