본문 바로가기

Unreal Engine5/게임 만들기 - Obstacle Assault10

Unreal Engine 움직임 버그 fix 원래 좌우로 움직이던, 코드에 버그가 있어서 수정했다. 버그 내용은 다음과 같았다. 분기문의 DistanceMoved 와 MoveDistance를 비교하기 때문에 빠른 속도로 큰 거리를 이동하면, 내가 생각한 범위보다 더 움직이는 문제가 발생했던 것이었다. 수정된 내용은 다음과 같다. void AMovingFlatform::Tick(float DeltaTime) { Super::Tick(DeltaTime); FVector CurrentLocation = GetActorLocation(); CurrentLocation = CurrentLocation+(PlatformVelocity * DeltaTime); SetActorLocation(CurrentLocation); float DistanceMoved =.. 2023. 7. 7.
Unreal Engine DeltaTime DeltaTime을 사용하면, 각 프레임이 실행되는데 시간이 얼마나 걸리는 지 알 수 있다. void AMovingFlatform::Tick(float DeltaTime) 함수의 인자로 DeltaTime을 받아온다. 컴퓨팅 성능을 고려할 때, 동일한 동작을 위해서 사용한다. 예를들어, FPS가 10, 100인 서로 다른 성능의 컴퓨터가 있다고 생각하면 다음과 같다. FPS 10 100 화면 지속시간 0.1s 0.01s Distance per second 1 x 10 x 0.1 = 1 1 x 100 x 0.01 = 1 이렇게 DeltaTime을 곱해서 다른 사양의 컴퓨터에서 같은 거리를 움직이도록 유지한다. 2023. 7. 7.
Unreal Engine BeginPlay & Tick 모든 코드를 다 표시하진 않았지만 정리하면 다음과 같다. // Fill out your copyright notice in the Description page of Project Settings. #include "MovingFlatform.h" // Called when the game starts or when spawned void AMovingFlatform::BeginPlay() { Super::BeginPlay(); // BeginPlay 다음에 게임플레이를 시작할 때 바로 실행될 코드 // Unity 의 Start와 같은 역할 // Header에서 선언했던 변수들을 접근하고 초기화 할 수 있다. } c++를 주언어로 사용하고 있고, OpenGL, Unity, Qt 도 학습한 적 있어서 그런.. 2023. 7. 7.
Unreal Engine Using C++ 1. Visual Stdio 2022 설치 - 나는 2019버전이 있어서 일단 설치를 하지 않았다. Visual Studio를 사용하려면, .NET SDK 6.0도 같이 다운로드 받아야한다. or 2. Visual Studio Code 설치 후, C/C++, Unreal Engine 4 Snippet 다운로드 -Unreal Engine 5 Snippet이 없어서 일단 다운로드 해보았다. 3. Edit> Edit Preferences > 소스코드 > 환경을 Visual Studio 가 Default로 들어가 있는데, Visual Studio Code로 해보기로 했다. 엑터 클릭하고 다음으로 , 이중, Window64 Development Build 선택해야한다. 빌드가 끝났다는 표시는 , Terminal .. 2023. 7. 2.