언리얼에는 다른 URL(서버)로 이동하는 것을 Travel 이라고 부른다. 여기서 UWorld::ServerTravel 이란 Server내의 모든 Client들을 해당 URL로 Travel시키는 것이고 APlayerController::ClientTravel 은 혼자 다른 URL로 넘어가는 것이라고 한다. 라고 메모를 했습니다. 강사님께서 ServerTravel은 모든 클라이언트가 다같이 "Map이동"이라고 말씀하셨고 ClientTravel은 "다른데디로 이동" 이라고 말씀하셨는데 그럼 ServerTravel은 서버가 변하지는 않는 것인지 ClientTravel로 맵만 A에서 B로 변경했을때도 데디서버의 변경이 일어나는 것인지 궁금합니다.
[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 유니티와 C#의 부족한 지식을 위해 강의를 듣고있는데 궁금한 점이 생겨 질문합니다. 개인 프로젝트를 진행할 때 Init함수 등을 사용해서 오브젝트 풀링한 몬스터들을 Init함수로 전체 데이터를 초기화 해왔었는데, C#에서도 생성자를 사용해서 첫 생성된 오브젝트들의 변하지 않는 데이터(이름, 공격력, 방어력 등)를 생성자로 초기화를 하고, 다시 풀링되는 오브젝트들의 변하는 데이터 (HP, MP 등)은 Init함수를 통해 풀링하는 식으로 만드는것이 좋은 방법인가요?
안녕하세요. 1-A를 푸는 도중 궁금한 부분이 생겨 질문드립니다. 해당 문제 출력 조건에 일곱 난쟁이의 키를 오름차순으로 출력한다고 되어있는데, next_permutation을 사용했을 때 어떤 이유로 출력 직전에는 a[0] ~ a[6] 을 sort 하지 않는 것인지 궁금합니다. 처음에 입력값을 배열에 받은 뒤에 sort를 통해서 정렬을 하고 들어가도 순열이다 보니까 중간에 오름차순으로 정렬되지 않을 수도 있는데 어떤 이유인지 궁금합니다!
HeroComponent를 라이라 따라 구현했는데 5.5버전이라서 그런지 IMC를 넣어주더라고요? 그래서 따라했는데 ShooterCore플러그인 만들고 부터인가 뭐가 꼬였는지 IMC가 null값이 되더군요. 분명 BP에서는 잘 넣어줬는데. BreakPoint 찍고 보니까 분명히 이름이 잘 찍히는데 이름 앞에 nullptr이 나와있었습니다.... 문제는 반만 해결했는데요. IMC 복사해서 새로 만들어진 걸로 바꾸니까 잘 인식하더군요. 근데 문제는 에디터 껏다 키면 먹통이라 복붙해야합니다. GameFeatureAction에서 AddInputBinding, AddInputContexetMapping 둘 다 추가하면 해결이 될런지 모르겠네요. Hero캐릭터(라이라 파랗고 빨간 마네킹) 만들때도 Hero컴포넌트에 IMC (강의에선 PMC) 넣었던가요 기억이 안 나네요. 아무튼 이런 이슈가 있는데 왜 이런지 모르겠어요.
http://boj.kr/8dec3ec12c294bc6b22189db0403ed50 선생님 복습을 하다가 이렇게 cheese가 없으면 break해서 cnt의 그 전 값을 보존하는 방법은 어떨까 해서 질문 드립니다! 이렇게 하면 치즈가 다 녹았는지 다시 체크 안해도 될 것 같아서 더 효율적일 것 같아 질문 드립니다!
한바퀴 듣고 이제 데디케이트서버 환경에서 돌아가게 라이라 프로젝트도 참고하면서 다시 클론코딩 하고 있는데, 궁금한 점이 있습니다. 강의와 라이라 프로젝트에서 차이점이 있어서 고민을 해봤는데 잘 모르겠어요. void ULyraPawnExtensionComponent::SetPawnData(const ULyraPawnData* InPawnData) { check(InPawnData); APawn* Pawn = GetPawnChecked<APawn>(); if (Pawn->GetLocalRole() != ROLE_Authority) { return; } if (PawnData) { UE_LOG(LogLyra, Error, TEXT("Trying to set PawnData [%s] on pawn [%s] that already has valid PawnData [%s]."), *GetNameSafe(InPawnData), *GetNameSafe(Pawn), *GetNameSafe(PawnData)); return; } PawnData = InPawnData; Pawn->ForceNetUpdate(); CheckDefaultInitialization(); } 강의랑 차이점은 Pawn->ForceNetUpdate, CheckDefaultInitialization 입니다. 넷 업데이트야 멀티플레이어 환경이라 강의에선 안 했지만 CheckDefaultInitialization는 라이라에서 왜 불러주는 걸까요? 이거 여기서 명시적으로 불러줘야 초기화 관리가 되는 걸까요? BeginPlay에서도 부르고 SetupPlayerInputComponent, OnActorInitStateChanged에서도 어차피 부르고 있는데. 그냥 혹시 뭔 일이 있어서 초기화가 안 됐을 수도 있으니까 추가한 그런 느낌일까요?
안녕하세요! 올려주신 강의 잘 듣고 있습니다! 작업을 하다보니 궁금한부분이 생겨서요.. 지금은 캐릭터가 바라보는 방향으로 구르고 있는데 LockOn을 한 상태에서는 S키를 눌러도 적을 바라보면서 뒤로가져서 뒤쪽방향으로 구르지는 못하고 있는 문제를 만났습니다. 혹시 이 부분은 어떤 방법으로 해결하면 좋을까요? 그리고 개인적으로 궁금한 부분이 있는데 구르기가 끝나고 원하는 방향으로 구르고 싶을때 캐릭터의 회전이 늦어지면 회전을 하다가 원하는 방향으로 안나가는데 이 부분도 어떤 방법으로 해결해야하는지 여쭤보고싶습니다..!
선생님, 안녕하세요. 다름이 아니라 문제를 먼저 30분 정도 보아도 아예 감이 오지 않아서, 못 푼 채 강의 먼저 보게 되는데요. 문제는, 강의를 보아도 다시 풀려고 하면 못 풉니다. 강의를 보고 외워야 하는 걸까요? 그런데 외운다고 하면, 이번 문제의 경우 풀이 방법이 여러가지인데 모두 외워야 하나요? 그리고 너무 감이 안 와서 백준의 C++ 배우기 기초 문제를 하루 1문제씩 풀고 있는데 이 방법이 맞을까요? 3개월 안에 코딩테스트 대비를 완수해서 상반기에 입사를 하려면 하루 몇 문제씩 어떻게 공부해야할지 감이 안 잡혀 몇 주가 흐지부지 지나간 것 같습니다. 조언해주시면 정말 감사드리겠습니다.
https://www.acmicpc.net/source/96522175 2-I 2870 문제 해결이 되지않아 질문드립니다. 로직은 한 문자열을 받을때마다, 숫자가 시작되는 부분과 끝나는 부분을 파악하면 담고, 없는 부분은 담지 않습니다. 다 담으면, 0으로 시작하는 부분에 대해 0을 제거하는 함수를 실행시켜 해당 원소를 앞의 0을 제거한 수로 바꿉니다.(0000은 0으로 처리가 잘 됩니다.) 그리고 정렬에도 이상이 없어보입니다...! 예시문제는 다 통과되는데, 3%에서 계속 오답이 됩니다...! 어디가 틀렸을까요?
안녕하세요 항상 강의 잘 듣고 있습니다! 해당 문제를 풀면서 작성한 코드는 아래와 같습니다. #include <bits/stdc++.h> using namespace std; int N; int arr[12][12]; int cost[12][12]; const int INF = 987654321; int ret=INF; void go(int cnt, int price, int start1, int start2){ if(cnt==3) ret = min(ret, price); if(price>ret) return; for(int i=start1;i<=N-2;i++){ for(int j= (i==start1? start2:1) ;j<=N-2;j++){ if(arr[i][j] || arr[i-1][j] || arr[i][j-1] || arr[i][j+1] || arr[i+1][j]) continue; //이미 있는 경우 arr[i][j]=1; arr[i-1][j] =1; arr[i][j-1] =1; arr[i+1][j] =1; arr[i][j+1] =1; int tmp_sum = cost[i][j]+cost[i-1][j]+cost[i][j-1]+cost[i+1][j]+cost[i][j+1]; go(cnt+1, price+tmp_sum, i, j); arr[i][j]=0; arr[i-1][j] =0; arr[i][j-1] =0; arr[i+1][j] =0; arr[i][j+1] =0; } } return; } int main(){ cin>>N; for(int i=0;i<N;i++){ for(int j=0;j<N;j++){ cin >> cost[i][j]; } } go(0,0,1,1); cout << ret <<'\n'; return 0; } 처음에 작성한 코드는 go(0,0) 으로 x,y를 따로 파라미터로 넘겨주지 않았습니다. 하지만 이럴 경우 시간초과가 났습니다. 이로 인해 x, y 파라미터를 추가하였습니다. 실제로 해설 코드를 봐도 해당 인자를 넘기지 않는 것으로 확인되는데 이유는 모르겠으나 소요시간에 차이가 상당히 차이가 나는데 어떤 이유인지 알 수 있을까요?
[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 반환 값이 있는 함수를 작성할 때 특정 조건에서만 반환해도 컴파일 단계에서 문제 없이 컴파일 됩니다. 빌드를 시켜 실행 시키면 1로 반환 되던데 1로 반환 되는 이유는 뭔가요??
안녕하세요 선생님! 저번주부터 선생님 강의를 수강하기 시작하여 현재 1.4(1.5 메모리와 포인터 전까지, 67p)까지 교안을 공부한 상태입니다. 지금까지 했던 것들을 익숙하게 하기 위함과 워낙 새로운 것들을 많이 받아들이다 보니 정리할 시간이 필요하여 문제를 많이 풀어보며 정리를 하고 배운것들까지의 내용에 대해 익숙해지고 싶은데 어떤 수준의 문제를 어디서 얼마나 풀어야 할지 잘 모르겠어서 질문드립니다!
현재 미니맵을 구현하고 있습니다. UIExtension을 사용해서 구현하는 것이 적절해 보이는데 문제는 미니맵 기능을 제공하는지의 여부는 Experience에 달려있고 미니맵들 중 어떤 것을 사용할지는 레벨에 종속되어 있습니다. 그렇다면 이 둘을 가지고 있는 UserFacingExperienceDefinition을 확장하는 것이 좋을까요? 라이라의 기본 골자를 변형시켜도 될지 최대한 유지하며 살만 붙일지 선택하기가 어렵네요