분류 전체보기

    [Unreal] 언리얼 충돌체 관련 함수와 이벤트(델리게이트) 바인딩 방법 #2

    언리얼 엔진에선 두 가지의 충돌체가 존재한다. 하나는 메쉬(static 또는 skeletal)의 충돌체 그리고 충돌 컴포넌트(SphereComponent,BoxComponent 기타 등등). C++로 충돌체 이벤트 바인딩할 수 있는 방법 총 두가지가 있다. 오버라이딩 방법 Hit 이벤트를 사용하려면 Simulation Generates Hit Events가 체크 되어있어야 한다. Overlap 이벤트를 사용하려면 Generate Overlap Events가 체크 되어있어야 한다. 항상 Super:: 부모클래스의 해당 함수를 호출 하여야한다. 예) NotifyHit 함수를 오버라이딩 했다, Super::NotifyHit(); NotifyHit (오브젝트로부터 충돌했다) 예시) virtual void Not..

    [실2] 11724 - 연결 요소의 개수

    Dfs로 주변 정점이 있는지 파악하고 있을 시 방문 여부 표시 없을 시 새로운 그래프로 간주 후 1개 증가 #include #include #include #include using namespace std;#define FAST_IO() ios::sync_with_stdio(0); cin.tie(0);#define y first#define x secondusing IntPair = pair;IntPair dir[]{ {1, 0}, // 상 {-1, 0}, // 하 {0, -1}, // 좌 { 0, 1 }, // 우};vector> graph;vector vis;int n, m;void Dfs(int idx){ vis[idx] = true; for (int i = 0; i > n >> m; ..

    [1] 신고 결과 받기

    vector solution(vector id_list, vector report, int k) { vector answer(id_list.size()); unordered_map report_map; unordered_map idx_map; stringstream ss; for (int i = 0; i > first >> second; report_map[second].insert(first); ss.clear(); } for (auto it : report_map) { if (it.second.size..

    [2] 기능 개발

    vector solution(vector progresses, vector speeds) { vector answer; map tmp_map; int size = progresses.size(); int* arr_days = new int[size] {0}; for (int i = 0; i < size; i++) { int count = 0; for (int j = progresses[i]; j = 100) { arr_days[i] = count; break; } } } for (int i = 1; i < size; i++) { if (arr_days[i] < arr_days[i - 1]) arr_days[i] = arr_days[i - 1]; } for (int i = 0; i < size; i++) ..

    [3] 여행경로

    vector answer; bool visited[100000001]; bool flag = false; int cnt = 0; void dfs(string cur, vector tickets) { if (cnt == tickets.size()) flag = true; answer.push_back(cur); for (int i = 0; i < tickets.size(); i++) { if (!visited[i] && tickets[i][0] == cur) { visited[i] = true; cnt++; dfs(tickets[i][1], tickets); if (!flag) { answer.pop_back(); visited[i] = false; } } } } vector solution(vector ..

    [3] N으로 표현

    int answer = 9; int goal = 0; void cal(int n, int cnt, int sum) { if (cnt > 8) return; if (sum == goal && answer > cnt) answer = cnt; int tmp = 0; for (int i = 1; i 8) ? -1 : answer; }

    [실2] 1012 - 유기농 배추

    x y로 푸는 사람들한텐 안맞을듯 #include #include #include using namespace std;#define FAST_IO() ios::sync_with_stdio(0); cin.tie(0);pair dir[]{ {1, 0}, // 상 {-1, 0}, // 하 {0, -1}, // 좌 { 0, 1 }, // 우};vector> map;int t, h, w, k;void Dfs(int y, int x){ for (int i = 0; i = h || ny = w || nx > t; while (t--) { int cnt = 0; cin >> h >> w >> k; map = vector>(h, vector(w)); while (k--) { int a, b;..

    [Unity] 오브젝트를 움직이는 두 방법과 차이

    총 두가지의 방법으로 오브젝트를 움직일 수가 있다 1) Transform.Translate(방향 예) Vector3.left * 속도 * Time.DeltaTime); 2) Vector3 new_pos=오브젝트.Transform.position 또는 localPosition; new_pos.x += (속도 * Time.deltaTime); 오브젝트.Transform.position 또는 localPosition = new_pos; 이 두가지의 가장 큰 차이점은 회전했을 때 바라보고 있는 방향으로 가냐 안가냐이다.

    [실2] 4963 - 섬의 개수

    #include #include using namespace std;#define FAST_IO() ios::sync_with_stdio(0); cin.tie(0);pair dir[]{ {1, 0}, // 상 {-1, 0}, // 하 {0, -1}, // 좌 { 0, 1 }, // 우 // 대각선 {1, 1}, {-1, -1}, {1, -1}, {-1, 1},};vector> map;int h, w;void Dfs(int y, int x){ for (int i = 0; i = h || ny = w || nx > w >> h; if (!w && !h) break; //map.resize(h, vector(w)); map = vector>(h, vector(w)); for (i..

    [Unreal] 차량 설정 방법 (Chaos Vehicle)

    WheeledVehiclePawn으로부터 생성된 엑터다. 즉 UWheeledVehiclePawn 클래스로부터 상속받으면 된다. UChaosWheeledVehicleMovementComponent를 사용한다. 바퀴의 정보(크기, 질량, 무게 등)는 UChaosVehicleWheel Wheel Setups 내 Wheel Class 안에 들어가며 Bone Name은 바퀴 뼈대 명칭. 차량의 가속도는 UCurveFloat, External Curve에 보란색 칸에 위치된다. GetVehicleMovement 함수는 반환형이 UWheeledVehicleMovementComponent * 이다, 따라서 UChaosWheeledVehicleMovementComponent* 타입으로 캐스팅 해줘야한다. C++로 사용할..