월드 좌표계와 로컬 좌표계의 차이
·
내배캠/Unreal Engine
언리얼 엔진에서 공간 좌표 시스템은 3D 공간에서 X, Y, Z 세 축으로 구성되며 객채의 절대적 위치 또는 상대적 위치를 정의하는데 활용된다.   월드 좌표계월드 좌표계는 월드의 기준점(0, 0, 0)을 중심으로 하는 절대 좌표계이다.언리얼 엔진의 씬 전체를 기준으로 객체의 위치와 회전이 측정된다.레벨 안의 모든 객체가 공유하는 동일한 좌표계를 의미한다.X축, Y축, Z축은 고정되어있어 변하지 않는다.SetActorLocation(SpawnLocation);해당 함수는 월드에서 특정 SpawnLocation 좌표에 액터를 이동한다.부모 객체의 위치와 상관없이 월드 기준으로 절대위치를 설정하는 것.  로컬 좌표계로컬 좌표계는 부모 객체 또는 자기 자신을 기준으로 하는 상대 좌표계이다.객체의 위치, 회전,..
언리얼 에디터 인터페이스
·
내배캠/Unreal Engine
Viewport가장 먼저 가운데 크게 월드의 모습이 보여지고 이 공간을 보는 창을 Viewport라고 한다.이 Viewport 창에서 3D월드를 볼 수 있고, 카메라를 조작해 탐색하거나 오브젝트를 배치해 이동, 회전, 크기 조절등의 작업을 할 수 있다.그리고 플레이 버튼을 누르면 Viewport에서 실시간으로 랜더링된 월드를 플레이어로 조작할 수 있다.View Mode를 통해 다양한 시점과 특정 상태로 월드를 볼 수 있고, Selection Mode를 클릭해서 다양한 기능으로 전환해 Viewport에서 작업할 수 있다.    Outliner 우측 상단의 Outliner 패널을 살펴보면 현재 월드내에 배치된 모든 오브젝트를 다 볼 수 있다.액터를 클릭해 선택하거나 이름 검색, 필터링, 정리, 삭제 등을 할..
24.12.17 (화)
·
내배캠/TIL
레벨디자인 오늘은 월드에 배치된 액터에 움직임을 부여해서 '폴가이즈' 게임처럼 장애물 요소로 만들어볼 것이다.어떻게 하면 액터가 정해진 길이만큼 정해진 속도로 움직이고, 최대 이동 거리를 설정해 그 거리만큼 움직이면 다시 원래 초기 위치 값으로 되돌아올지 고민해보았다.  MovingPlatform.h// Fill out your copyright notice in the Description page of Project Settings.#pragma once#include "CoreMinimal.h"#include "GameFramework/Actor.h"#include "MovingPlatfrom.generated.h"UCLASS()class UNREALLEARNINGKIT_API AMovingPlat..
Binary_Search
·
내배캠/C++
bool binary_search(ForwardIterator first, ForwardIterator last, const T& value);Binary_Search는 이진 탐색 알고리즘을 사용한다.데이터가 정렬되어 있어야 사용 가능하다.탐색 범위를 반씩 나누어 찾고자 하는 값이 포함된 범위를 좁혀나간다. 헤더에 정의되어있다.내부적인 구조를 간략하게 살펴보면bool solution(int TargetNum) { int Start = 1; int End = 10; int Mid; while (Start TargetNum) End = Mid - 1; }}int main() { bool Answer = solution(7); return 0;} 이렇게 모든 범위를 선형적으로..
24.12.16 (월)
·
내배캠/TIL
std::string::replace 함수처음엔 for문을 통해 뒤에서 5번째 글자부터 첫 번째 글자까지 *로 바꾸었는데, string::replace 함수를 사용하면 더 가독성 있게 쓸 수 있음을 알게 되었다. string& replace(size_t pos, size_t len, size_t n, char c);pos 는 시작 위치를 의미한다.len 은 기존 문자열에서 대체할 글자 수를 의미한다.n 은 새로 삽입할 글자 수를 의미한다.c 는 새로 삽입할 글자를 의미한다. 이 밖에도 replace 함수는 다양한 오버로딩을 제공한다.참조: https://modoocode.com/250     std::binary_search처음엔 왼쪽과 같이 find함수를 사용해서 문제를 풀었는데, 더 효율적인 방법이 ..
내가 좋아하는 게임 상호작용 분석하기
·
내배캠/Unreal Engine
Warzone은 FPS 배틀로얄 슈터 장르이기 때문에, 적에게 총을 사격하여 적중한 상황에 대해 분석하고자 한다.플레이어가 총을 격발한다면 총기의 기본 탄속에서 사용한 탄약의 종류, 배럴 등 기타 파츠에 따라 탄환 속도를 계산한 후, 플레이어가 보고 있는 화면의 중앙 좌표에 대응하는 월드 공간의 위치에서 총기의 사거리 만큼을 더해 총알의 최대 도달 위치를 구하고, 마지막으로 총알의 스폰 위치와 최대 도달 위치를 통해 총알의 회전 값을 구한다. 이 정보들을 바탕으로 총구 위치에서 총알의 회전 값을 통해 지정된 방향으로 최대 도달 위치만큼 계산된 탄환 속도 값으로 스폰되어 날아가게 된다. 이때 플레이어가 총구에 소음기 파츠를 장착하지 않았다면 적의 맵 UI에 플레이어의 사격시 위치를 표시한다. 총기 고유의 ..