월 44,000원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part2: 게임 수학과 DirectX12
수업자료 질문
안녕하세요 선생님 수업자료를 다운받아 실행하면 아래 사진처럼 에러가 뜨는데요 1강의 프로젝트설정처럼 일일히 다 설정을 해줘야하는건가요?
- 미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part2: 게임 수학과 DirectX12
scale, rotation, translation의 경우 원점에 귀속된 벡터를 사용하나요..?
질문이 올바른지 모르겠는데, 원점에 귀속되지 않은 벡터의 경우에는 M의 값이 달라지는 것인지, 아니면 해당 벡터를 원점에 귀속된 벡터의 형태로 바꿔주고 M을 곱해서 계산을 하는 것인지 궁금합니다.
- 미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part2: 게임 수학과 DirectX12
선생님 질문있어요
안녕하세요? 선생님 초보라 질문 수준이 낮은 점 이해해주시길 바랍니다(__) 삼각형을 띄울 때 Game::Init함수에서 3개의 vertex에 대한 정보를 mesh에 던져주고 mesh::init함수에서 헤당 정보를 받고 createcommittedresource, map, unmap 등의 과정을 거쳐서 data buffer에 복사된 메모리를 GPU에서 그릴때 참조할 수 있도록 vertex buffer view를 통해 필요한 정보를 던져주고 shader는 init에서 shader file(default.hsli)을 읽어서 update할 때 SetPipelineState를 콜하면서 GPU가 어떤 작업을 해야하는지 설명해준다고 이해하면 되나요? 그리고 추가로 constant buffer view를 사용할 때도 위의 과정과 비슷하게 Game::Update함수에서 transform에 대한 정보를 만들어서 mesh에 set을 하고 mesh에서는 render함수에서 받은 정보를 constant buffer에 push를 하게 되면 pushdata함수 내에서 transform 정보를 buffer에 복사하고 SetGraphicsRootConstantBufferView를 콜해서 GPU에 해당 내용을 전달할 것을 예약하고 shader는 default.hsli에 추가된 내용인 GPU register에 저장될(?) 정보들을 offset으로 활용해서 기존 삼각형을 변경할 것을 GPU에 알려준다고 정리하면 되는건지요? 너무 초보적인 질문이라 죄송합니다(__)
- 미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part2: 게임 수학과 DirectX12
안녕하세요 선생님 Camera 다루시는 부분에 대해서 질문드립니다.
1. 정점(버택스)의 로컬좌표, 월드좌표에 관하여 유니티 부분 설명하실 때 예를들어 sphere1(부모) sphere2(자식) 오브젝트들을 하이러키?(계층)화 시켜서 월드의 디테일패널에서 sphere2(자식) 오브젝트를 마우스로 클릭하면 트랜스폼 정보 position x,y,z 값이 부모에 대한 로컬 좌표 (position)이고, sphere1(부모)은 따로 부모가 없으니까 월드 좌표 0,0,0 기준으로 얼마만큼 떨어진 월드 좌표 (position)이 찍힌다고 하셨는데 그럼 자식 sphere2의 월드 좌표를 알고 싶으면 디테일패널에서는 못보고 코드에서 예를들어 sphere2 의 GetActorWorldLocation(?) 으로 알수 밖에 없나요? 디테일 패널에서는 오직 부모(태양) 자식(지구)의 상대적인 위치만 보여지는 건지 2. 공지사항 내용처럼 일단 클 틀을 잡고 그림으로 도식화 시켜가며 메모 하면서 일단 한 바퀴 돌리고 처음부터 강의 다시보면서 그때 의문점이 생기면 질문 하려 했는데 좀 찝찝해서,,, 지금 Camera 수업에서 트랜스폼 클래스 내부에서 // *** 트랜스폼에서 데이터를 만들어 주고, const buffer에 밀어 넣어줘서 최종적으로 GPU에 건네 주는 함수 void Transform::PushData() { TransformParams transformParams = {}; transformParams.matWorld = _matWorld; // 트랜스폼의 월드 행렬 transformParams.matView = Camera::S_MatView; // 트랜스폼의 뷰 행렬 transformParams.matProjection = Camera::S_MatProjection; // 트랜스폼의 프로젝션 행렬 transformParams.matWV = _matWorld * Camera::S_MatView; // 월드행렬 * 뷰행렬 transformParams.matWVP = _matWorld * Camera::S_MatView * Camera::S_MatProjection; // 월드행렬*뷰행렬*프로젝션행렬 transformParams.matViewInv = Camera::S_MatView.Invert(); CONST_BUFFER(CONSTANT_BUFFER_TYPE::TRANSFORM)->PushGraphicsData(&transformParams, sizeof(transformParams)); } PushData 함수에 이렇게 행렬 정보들을 CONSTBUFFER 에 밀어 넣어주어 GPU에 보내는 작업이 정점의 좌표에 로컬 -> 월드 -> 뷰 -> 투영 단계에서 사용하는 변환 행렬들을 곱해서 2D 화면에 눈으로 보여지는 랜더링 파이프 라인 단계에서 일종의 버택스 쉐이더 단계전에 드로우콜?을 GPU에게 보내주는 것이라고 봐도 되나요?
- 미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part2: 게임 수학과 DirectX12
강의가 너무 어렵네요ㅠ
그래픽스 지식이 관련한 지식이 거의 없는 상태에서 들으려니 장치 초기화부터 너무 어렵고 막막합니다. 프랭크루나의 3D 게임 프로그래밍 입문 책도 그래픽스 지식없이 읽으려니 어려워서 그래픽스 입문하는 사람들이 책에서 어렵게 느낄 수 있는 부분들을 쉽게 설명해주실거라 생각했는데 설명도 어렵고 너무 빨라서 따라가기가 힘드네요ㅠㅜ 강의를 반복해서 들어야 하는 걸까요?
- 미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part2: 게임 수학과 DirectX12
수강전 미리 감사드립니다.
이런 강의를 만들어 주셔서 감사드립니다. 수고 하셨습니다.