Make Unreal REAL.
article thumbnail
언리얼의 Input Stack
Unreal Engine/고찰 2023. 1. 27. 12:09

Udemy 강좌를 수강하던 도중 헷갈리는 부분이 있었다. 문을 잡기 위해 좌클릭을 누를 때 플레이어의 이동과 시야 조정을 멈추고, 때었을 때 다시 활성화하는 부분이다. 논리적으로 따져보면 시야 조정을 멈추기 위해 Disable Input을 해야 하고, 다시 활성화하기 위해 Enable Input을 하는 게 맞지 않은가? 하는 생각이 들었다. Enable Input Enable Input docs.unrealengine.com 그래서 언리얼 공식 문서를 보았는데 별 내용이 없었다.. 유일하게 눈에 띄는 Input Stack이라는 단어를 발견했고 나는 이것에 대해 찾아보았다. 플레이어 컨트롤러는 매 프레임마다 APlayerController::Tick을 호출한다. 그리고 Tick 내에서 APlayerCont..

article thumbnail
std::count 잘 사용하기

2의 개수 count(v.begin(), v.end(), 2); 30세 미만인 사람의 수 count_if(v.begin(), v.end(), [](const Person &prsn) { return prsn.age < 30; }); accumulate에서 다음은 같다. accumulate(v.begin(), v.end(), 0); // 전달된 Lambda 함수에서 n은 현재 까지의 합, e는 현재 원소를 뜻한다. accumulate(v.begin(), v.end(), 0, [](const int n, const int e) { return n + e; }); 2차원 벡터에서 8의 개수 vv의 원소 자료형이 vector이기 때문에 Lambda 식 함수 op의 2번째 인자 형식도 맞춰주어야 한다. // 현재..

article thumbnail
Level 0. 안전지대

Level 0. 안전지대 폭탄과 인접한 칸들만 위험 지역으로 표시하기 때문에 깊이 1까지만 수행하는 BFS라고 볼 수도 있다. 나는 원소에 접근할 때 범위를 검사하기보다는 vector::at() 함수와 예외 처리를 활용했다. 폭탄이 있을 경우 인접 칸들을 위험 지역(2)으로 표시하고 마지막에 안전 지역(0)의 개수를 세어 해결했다. #include #include #include #include using namespace std; void setDanger(vector& board, int i, int j) { for (int k = i - 1; k

article thumbnail
std::list

코딩 테스트를 위한 자료 구조와 알고리즘 with C++ std::forward_list의 단점 성능상 이유로 마지막에 원소 추가, 역방향 진행, 크기 반환 등을 지원하지 않는다. 빠른 원소 삽입에 적합한 컨테이너는 아니다. std::list STL에서 제공하는 이중 연결 리스트 컨테이너이다. 양방향 반복자를 제공한다. 마지막에 원소 추가, 크기 반환을 지원한다. std::list의 성능 삽입, 삭제 연산시 2개의 포인터를 처리해야 하므로 std::forward_list보다는 시간이 좀 더 걸린다. 크기를 저장하므로 크기 반환은 O(1)에 수행된다. 원소의 삽입 삭제는 O(1)에 수행된다. (삽입할 위치 전의 반복자를 알고 있다는 전제 하에) 특정 위치의 원소를 참조하기 위해서는 반복자를 직접 진행해야 ..

article thumbnail
밀어서 여는 문 만들기

Unreal Engine: Ultimate Survival Horror Course 밀어서 여는 문 Actor Blueprint Class 생성 문 프레임, 문 몸체를 위한 Static Mesh를 추가하고 설정해준다. 문 몸체의 물리를 활성화한다. Simulate Physics: 물리 활성화 MassInKg: 질량 (설정 안 할 시 자동으로 계산) Linear Damping: 움직일 때 제동력 Angular Damping: 회전할 때 제동력 Constraints: 특정 축의 이동/회전을 제한 회전 정도를 제한하기 위해 Physics Constraint를 추가 문의 자식으로 등록할 필요는 없다. Linear Limits: 이동 제한 Angular Limits: 회전 제한 Swing 1 Motion: Z축 ..

article thumbnail
양쪽 문 만들기

Unreal Engine: Ultimate Survival Horror Course Show Inherited Variables를 클릭하면 상속된 변수들도 볼 수 있다. Self는 현재 액터 자신을 뜻한다. 플레이어가 문을 향하는 방향과 문의 앞 방향을 내적하고 Promote to Variable을 클릭해 변수로 승격시킨다. 내적 값을 확인해본다. 플레이어가 문의 뒤에 있으면 음수, 앞에 있으면 양수를 갖는다. 문을 열 때 내적 값을 저장하고 그 값을 Select 노드에서 활용해 문을 열고 닫을 때의 방향을 결정한다. 문을 열고 닫을 때 방향이 바뀌면 안 되므로 아래 dot 노드를 Select에 바로 연결하면 안 된다. 양쪽으로 열리는 문을 완성했다.

검색 태그