묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
Scene과 SceneManager 강의 수강 중 키보드 입력 오류
Scene과 SceneManager 강의 수강 중 키보드 입력 오류가 있어서 문의드리게 되었습니다.DevScene의 Update()에서 키보드 입력을 받을 때 강의와 똑같이 코드를 입력했음에도 불구하고콘솔창에서는 한쪽 방향으로만 오브젝트가 움직입니다. (만약 A를 입력하면 A로만 움직임.)혹시 원인이 뭔지 알 수 있을까요?
-
해결됨[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
Window API 강의 수강 중 LARGE_INTEGER 타입 변환 오류
안녕하세요!10주차의 Window API 강의를 듣던 중 TimeManager.cpp에서 QueryPerformanceFrequency와 QueryPerformanceCounter메서드에 LARGE_INTEGER 타입으로 변환해서 인자를 넘겨주는 과정에서 오류가 있었는데 해결 과정을 문의하고 싶습니다. Types.h에 문제가 있을까 싶어서 찾아봤지만, 별다른 이상이 없어서 원인을 모르겠습니다.
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part2: 게임 수학과 DirectX12
insideTess 값 관련 질문
Tessellation 강의 중 (33:01 ~ 33:10)에 관하여강의 내용이 올바르지 않다고 판단되어 질문 드립니다.insideTess를 값을 1에서 2로 변화하여 실행하여도 결과는 달라지지 않습니다.또한, 제가 알고 있는 지식으로는 "DirectX의 삼각형 테셀레이션에서는 내부 테셀레이션 팩터가 정수값 1과 2에 대해 동일한 패턴을 생성하도록 설계되어 있다." 로 알고 있습니다.위의 지식이 올바르지 않다면 답변으로 수정해주시길 바랍니다.위의 지식이 올바르다고 판단하여 제가 도출한 결론으로는 다음과 같습니다."insideTess 값이 2가 될 경우, 큰 삼각형 내부의 2개의 점으로 세부 선분들이 모이게 된다. 하지만 2개의 점으로 모일 경우 2개의 점은 필시 하나의 선분으로 이어지게 되는데, 이렇게 될 경우엔 큰 삼각형 내부에 세분화된 도형들이 전부 삼각형이 아닐 경우가 생긴다. 고로, insideTess 값이 2일 경우엔 1과 동일시 하여 큰 삼각형 내부의 세분화된 도형들을 전부 삼각형으로 만들어 표현한다." 이것이 제가 낸 결론이며, 지식과 결론에 대한 틀린 부분을 수정 부탁드립니다.
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part2: 게임 수학과 DirectX12
렌더 타겟을 SRV로 사용하려고 합니다.
렌더 타겟을 SRV로 사용을 하려고 합니다.우선 결론을 말씀드리면 기존에 투명 파티클인 Bubble 파티클 뒤에 보이는 픽셀들에굴절 효과를 추가하려고 합니다.그러기 위해 렌더 타겟을 텍스쳐로 만들어서 SRV로 파티클 셰이더에 텍스쳐로 보내려고 합니다. 제가 시도해본 과정입니다.Scene의 RenderFinal 함수에서 shared_ptr로 renderTargetTexture을 가져와서제가 만든 Resources 클래스의 멤버 변수인 _renderTargetTexture에 Set 하였습니다.(원래는 리소스의 상태를 렌더 타겟에서 SRV로 수정을 했어야 하나, 결과가 똑같아서 제외하였습니다.)그리고 파티클 시스템의 FinalUpdate에서 RenderTargetTexture를 가져와서 0번 텍스쳐에 Set을 해주었습니다. 아래는 실행 결과입니다.빨간색으로 표시된 부분은 제가 기존에 만들어봤던 파티클들이고파란색으로 표시된 부분은 렌더 타겟을 텍스쳐로 만들어 셰이더에 전달한 것을 출력하는 파티클들 입니다.결과를 보면 렌더 타겟에 보이는 빨간 부분 파티클들이 제대로 파란색 표시된 쪽에 출력이 된 것을 확인할 수 있었습니다.그러나 렌더 타겟으로 파티클을 띄웠으면 배경이나 (가운데 잘 안보이지만) 구 객체도 같이 출력이 되었어야 하는데 파티클들만 출력이 된 것을 확인할 수 있었습니다.아마 예상으로는 구나 배경(디퍼드 렌더링)을 찍는 0번 카메라와 파티클(포워드 렌더링)을 찍는 1번 카메라 중 1번 카메라만 렌더 타겟 텍스쳐로 전달이 되어서 발생하는 문제라고 생각했습니다. PIX로 디버깅을 해본 결과여기는 또 이상하게 렌더 타겟에 보이는 모든 객체들이 셰이더에 SRV로 잘 전달이 되었다고 나오고 있습니다. 렌더링이 올바르게 되지 않는 결과를 알고 싶습니다.또한 투명 파티클 뒤의 픽셀들을 굴절시키는 다른 좋은 방법이 있다면 그것 또한 알고 싶습니다.
-
미해결게임 엔진을 지탱하는 게임 수학
강의자료 가환환에 대해서 질문드립니다
강의자료중 가환환에 곱셈 연산의 항등원이 존재한다. ( Identity element )조건이 아닌거 같아 질문드립니다.
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part2: 게임 수학과 DirectX12
C++ 언어 표준과 Engine.lib 오류에 관하여..
안녕하세요. DirectX12 강의를 이제 수강 시작한 학생입니다.강의에선 C++ 언어 표준을 C++ 14로 사용중입니다.전, C++ 20을 사용하여 아래와 같이 구조체 초기화를 사용하려 했습니다.DXGI_SWAP_CHAIN_DESC sd = { .BufferDesc = { .Width = static_cast<uint32>(info.width), .Height = static_cast<uint32>(info.height), .RefreshRate = { .Numerator = 60, .Denominator = 1 }, .Format = DXGI_FORMAT_R8G8B8A8_UNORM, .ScanlineOrdering = DXGI_MODE_SCANLINE_ORDER_UNSPECIFIED, .Scaling = DXGI_MODE_SCALING_UNSPECIFIED }, .SampleDesc = { .Count = 1, .Quality = 0 }, .BufferUsage = DXGI_USAGE_RENDER_TARGET_OUTPUT, .BufferCount = SWAP_CHAIN_BUFFER_COUNT, .OutputWindow = info.hwnd, .Windowed = info.windowed, .SwapEffect = DXGI_SWAP_EFFECT_FLIP_DISCARD, .Flags = DXGI_SWAP_CHAIN_FLAG_ALLOW_MODE_SWITCH }; 하지만, C++ 20을 사용하면 Engine 프로젝트 빌드 시, byte << 모호하다는 오류가 나오며, Engine.lib 파일이 Output 폴더 내에서 사라집니다. 억지로 빌드 시킨 후, Client 프로젝트 실행 시 오류가 생깁니다.C++ 20기준 혹은 미리보기 최신 C++ 초안 기능을 사용하여 구조체 초기화 사용을 유지 한 채 실행할 수 있는 방법이 있을까요 ?
-
미해결[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
섹션15 스마트 포인터 20:00 질문이요!
멀티스레드 환경이라는 가정 하에, RefCountable 클래스만 존재할 때 발생하는 문제점은 이해를 했습니다.그래서 TSharedPtr 클래스가 제공하는 이점이 RefCountable 클래스에서 여러 단계로 처리해서 다른 스레드가 침투하는 빈틈을 막기 위해서 마치 포장지로 덮듯 단일로 이루어지게끔 설계한 것이라고 이해하면 되는걸까요?
-
미해결C++로 만들면서 배우는 게임 개발과 알고리즘 with Windows API
오디오쪽 건의사항..
마이크와 오디오 세팅을 개선해주시면 좋을것 같습니다ㅎㅎ( 잡음, 볼륨 등.. )다음에도 재밌는 강의 만들어주세요! 강의 좋습니다!
-
미해결[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
55강 수업자료 빌드를 하면 이상합니다.
저만 이런건지 뭐가 문제인지 잘 모르겠어요. 줄간 공백이 없어야지 정상일텐데...
-
미해결[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
virtual 소멸자 관련 질문
안녕하세요. 부모클래스의 함수를 override 하기 위한 목적으로 부모클래스 함수에 virtual 키워드를 붙여주고 자식클래스가 이 함수구현을 강제하기 위해 virtual 키워드를 사용하는 것으로 이해 했습니다. 하나 이해가 되지 않는 부분은, 소멸자에 virtual 키워드를 붙여주었을때, 부모클래스의 소멸자와 자식클래스의 소멸자가 이름이 다름에도 자식클래스 소멸자를 호출해준다는 것인데, 해당 내용을 Perplexity에 질문해보니 C++ 내부적으로 소멸자를 동일한 이름으로 취급하기 때문이라는 답변을 얻었습니다. 이 내용이 맞는건지 답변 부탁드립니다.감사합니다.
-
미해결[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
[클라 입장] 강의에서 빌드를 하면 오류가 발생합니다.
Server를 빌드하면 Server 프로젝트 내에 있는 Enum.pb.h 파일에서 이런 오류들이 발생합니다. 어떻게 해결해야 할까요?
-
해결됨C++로 만들면서 배우는 게임 개발과 알고리즘 with Windows API
강의 몇개 보지 않았지만 개선할점...
소리가 모든 챕터가 너무 작습니다. 그리고 진행도 너무 느려서 1.5에서 2배속으로 돌리면서 하고 있어요. 이 부분은 사용자가 제어할 수 있는 부분이라 조금 개선했으면 좋겠다라는 느낌으로 씁니다. 그리고 "하얀창띄우기" 이 챕터가 윈도우 프로그래밍 시작하는 부분같은데 #pragma comment(linker,"/entry:WinMainCRTStartup /subsystem:console") 이 구문에 대한 설명이 없다는게 저는 윈도우 강의가 맞나 싶네요. 이거 찾느라 몇분 쓰지 않았지만 윈도우 창을 뛰우기 위해 winmain함수를 스타터로 호출하기 위해 저 구문을 써야 하는게 맞는거죠?그래서 main을 winmain으로 바꿔주는 구문이지요. 이 강의 소개를 보면 winapi를 몰라도 된다라고 소개가 되어있어요. 이 강의 보고 내가 잘못샀나 싶어서 강의 소개를 다시 보았습니다. 강의 내용은 좋기때문에 더 많은 강의를 기대하고 있고, 조금 부족한 점이라 느꼈던 것에 내용 남깁니다.
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part2: 게임 수학과 DirectX12
실행과정에서의 문제
Engine을 빌드까지는 정상적으로 성공이 되었습니다. 근데 빌드하고 나서 디버깅을 해서 실행을 하면 프로그램을 시작할 수 없다고 뜹니다. C:\Users~Engline.lib은 올바른 Win32 애플리케이션이 아닙니다라고 뜹니다. 그래서 Engine의 속성에 들어가서 구성형식으로 들어가 정적 라이브러리(.lib)로도 설정을 해보고 혹시 몰라 Client에 들어가 구성형식을 정적라이브러리로도 바꿔봤는데 무슨 문제인지 잘 모르겠습니다. 코드에는 이상이 없었는데 이런 경우에는 어떻게 해야되나요?
-
미해결게임 엔진을 지탱하는 게임 수학
카메라의 로컬 벡터 구하기
안녕하세요 득우님외적 강의 부분에서 카메라의 로컬 축을 구하려면 z로컬 축은 바라보고 있는 물체에서 카메라를 빼버리면 된다고 하신 것은 이해가 잘 됐습니다만x로컬 축은 z로컬 축과 y 월드 축을 외적해서 구한다는 부분이 잘 이해가 안되네요. 다른 분이 남겨주신 질문 글의 답변에서는 카메라의 로컬y축이 월드 y축과 동일한 평면 상에 있다는 것을 전제로 말씀하셨다고 했는데 동일한 평면 상에 있다는 게 정확히 무슨 말씀이신건지 잘 모르겠습니다. 카메라의 로컬y축이 월드 y축과 평행해야지만 그의 외적값이 카메라의 로컬x축으로써 유효한 것 아닌가요?그리고 16:32 부분에서 벡터의 길이가 각각 다를 수 있으므로 벡터를 정규화 해야한다는 내용은 대충 이해가 가는데 외적을 통해 구해진 로컬 x축의 길이가 1인 것은 보장할 수 없다. 왜냐하면 y축과 x축이 서로 직교한다는 것을 보장할 수 없기 때문이다. 라고 하셨는데 여기서 말씀하시는 y축은 아마도 월드 y축이신 것 같은데 x축이 무슨 x축인지 모르겠네요. z축을 잘못 말씀하신 건가요??? 보충 설명 부탁드립니다...
-
미해결[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
수강 계획 관련해서 질문드립니다!
[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버학습 완료 후루키스님 게임 서버 프로그래머 로드맵 따라가면 될까요?일단 저의 상태는 서버쪽 먼저 공부하고 싶은 마음이 크고 언리얼과 유니티 경험이 없습니다.[c++과 언리얼로 만드는 MMORPG]의 경우 part1에서 바로 part4로 넘어가고[c#과 유니티로 만드는 MMORPG] 강의에 경우에도 1, 4, 7로 구성되어 중간중간 비는 부분 때문에 어떻게 수강 계획을 잡을지 고민되어 질문드립니다!
-
해결됨게임 엔진을 지탱하는 게임 수학
삼각함수 관련 질문입니다.
안녕하세요. 선생님삼각함수로 고통받고 있는 1인입니다..몇가지 궁금증이 있어 질문드립니다. 1. sinθ,cosθ,tanθ의 의미빗변이 1인 직삼각형에서sinθ- 높이/빗변으로 계산 -> 높이와 빗변의 비를 나타냄- (sinθ * 빗변)을 계산하여 "높이"를 알기 위함cosθ- 밑변/빗변으로 계산 -> 밑변과 빗변의 비를 나타냄- (cosθ * 빗변)을 계산하여 "밑변"를 알기 위함tanθ- 높이/밑변로 계산 -> 높이와 밑변의 비를 나타냄- (tanθ * 밑변)을 계산하여 "높이"를 알기 위함- (밑변^2 + 높이^2)를 계산하여 "빗변^2"을 알기 위함 위 내용이 기본적인 내용이고 이것을 응용하는 것이라 이해했습니다.이렇게 이해해도 되나요? 2. 용어의 정의삼각비- 나무위키: 삼각형의 세 변의 길이 중 두 변의 길이간의 비례 관계를 나타내는 값이다.- 네이버 국어사전: 직각 삼각형의 세 변 가운데에서 어느 두 변을 취하여 만든 비의 값삼각함수- 나무위키: 삼각비에서 쓰이는 정의역을 예각에서 일반각으로 확장시킨 것.- 네이버 국어사전: 각의 크기를 삼각비로 나타내는 함수 용어에 대한 정의가 네이버 국어사전이랑 나무위키랑 다르더라구요. (블로그마다도 좀 다르구요..)kms 대한수학회 라는 곳도 있는데, 여긴 한글/영어 표기만 있구요.이런 용어는 관리하는 기관이 있거나 할거같은데, 어디서 확인하는게 좋을까요? 3. sinθ의 실제값"빗변(10)과 θ(11도) 라는 값이 주어지고, 높이를 구해야하는 경우, sin11은 어떻게 알지?" 라는 궁금증이 생겼습니다.검색해보면 대부분이 문제풀이 하는거만 나와서 실망스러웠습니다.그러던중 어떤 글을 찾았는데, 내용이 잘 이해되는건 아니지만, 역시 계산하는 방법이 있었고, 찾았다는 사실이 기뻣습니다.https://gpgstudy.com/forum/viewtopic.php?t=568강의에서 이런 내용이 다뤄지지 않는 이유가 있을까요? (다른 곳에서도 다뤄진것을 본적은 없지만..) 감사합니다.
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part2: 게임 수학과 DirectX12
결과물에 의문이 생겨서 한가지 질문 드립니다
결과물을 보면 2개의 삼각형이 위치가 이동한 상태로 나오고 있는데2개의 삼각형 객체가 렌더링 된다기 보단삼각형 하나를 그리고(백버퍼를 지우지 않았으니 그 삼각형이 남은 상태로)같은 삼각형을 위치를 이동시켜서 또 그렸다고 보는게 맞는건가요?
-
미해결[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
[파일 입출력] 28:50
28:20 영상을 보면 'Tilemap' 빈 파일을 만들지 않고 저장이 되는 모습입니다. 그런데 제가 진행을 하면 위 이미지와 같이 assert(file != nullptr);에 걸립니다. 혹시 28:50 같이 'Tilemap' 빈 파일을 만들고 타일맵 저장을 진행해야 하는 게 맞는 방법인지 알고 싶어 글 올립니다.
-
미해결게임 수학의 이해
책과 관련하여 궁금한 내용이 있습니다.
현재 강의에 대한 질문이 아니라서 죄송합니다.저는 언리얼엔진과 C++에 관심이 있는 사람입니다.우연히 원티드의 게임개발자 양성과정에서 이득우 지식공유자님께서 참여하시는 것을 봤는데, 이득우님에 대한 소개에서 '이득우의 언리얼 C++ 프로그래밍' 이라는 책을 작성하신 것으로 소개되어 있어서 찾아봤는데, 해당 제목의 책은 없고, '이득우의 언리얼 C++ 게임 개발의 정석'의 책을 작성하신 것을 알게되었습니다.혹시 원티드에 적혀있던 그 책이 '이득우의 언리얼 C++ 게임 개발의 정석' 책을 말하는걸까요? 그리고 한 가지 더 궁금한 것이 있는데, 이득우님의 '이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해' 강의의 내용과 '이득우의 언리얼 C++ 게임 개발의 정석' 책의 내용이 거의 비슷할까요?저는 자바에 대해서는 알고 있어서 객체지향에 대해서는 알지만, C++에 대해서는 잘 모르는 상태입니다.그래서 만약 책과 강의의 내용이 다르다면 책 보다는 '이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해' 강의로 공부를 시작하는게 나을까요?
-
미해결[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
[이벤트와 조건 변수] 강의에서 unique_lock 사용 이유?
17분 쯤 unique_lock을 사용하였는데별도의 인자로std::defer_lock, std::try_to_lock, std::adopt_lock등 을 넘겨주지도 않는데 굳이 unique_lock을 사용하는 이유가 있을까요? 그냥 lock_guard를 써도 되지 않나요?