묻고 답해요
138만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[게임 프로그래머 도약반] DirectX11 입문
특정 fbx가 애니메이션으로 출력되지 않는 현상
안녕하세요 루키스님,올려주신 강의들 덕분에 많은 도움이 되어 늘 감사하고 있습니다 :) 본론으로 지금 현재 특정 fbx의 애니메이션이 출력되지 않는데 그 이유를 모르겠습니다.1. 정상적으로 출력되는 fbx - 스켈레톤이 하늘을 향하고 있음 (블랜더) -- 카쿠진 예제 모델2. 비정상적으로 출력되는 fbx - 하체와 팔쪽 스켈레톤의 삼각형이 루트에 반대 방향을 향하고 있음 (블랜더) 비정상적으로 출력되는 애니메이션 비정상적으로 출력되는 FBX파일은 Mixamo에서 다운을 받았습니다. 블랜더에서 봤을 때 삼각형(스켈레톤)의 방향이 루트와 반대인 매쉬가 랜더가 되지 않는다는 점을 확인했습니다. 아직 개념이 확실히 잡혀있지 않은 것도 있지만, 디버그하는데 여러가지 요인들이 복합적으로 얽혀 있어 원인을 당최 찾을 수가 없습니다.왜 랜더링이 되지 않는걸까요? 필요하시다면 관련 파일도 드리겠습니다바쁘실테지만 한번 체크해주신다면 진심으로 감사하겠습니다!
-
미해결D3D12 프로그래밍 - 기초편
코드에 대한질문있습니다.
처음 디바이스 생성부분에서 어댑터를 순환하면서 Device 를 생성하는데저같은경우에는 그래픽카드를 2개 사용중인데 1080과 4090을 사용중인데 첫번째 어댑터에 1080으로 인식되면서 1080을 이용해서 Device 를 생성하는것 같은데 , 이럴경우 문제가되지않나요? 4090 을 이용못하는거아닐까요? } for (DWORD featerLevelIndex = 0; featerLevelIndex < FeatureLevelNum; featerLevelIndex++) { UINT adapterIndex = 0; while (DXGI_ERROR_NOT_FOUND != _factory->EnumAdapters1(adapterIndex, &pAdapter)) { pAdapter->GetDesc1(&AdapterDesc); if (SUCCEEDED(D3D12CreateDevice(pAdapter.Get(), featureLevels[featerLevelIndex], IID_PPV_ARGS(&_device)))) { break; } adapterIndex++; } if (_device) { break; }
-
미해결[게임 프로그래머 도약반] DirectX11 입문
RnderManger에서 Desc구조체에 변수 추가할때 컨스트버퍼 생성에서 오류원인
안녕하세요 강의 잘 보고있습니다. 6주차 카메라좌표 수정에서 쉐이더 파일에서 cbuffer VInv 변수를 추가하고 RnderManger에 GlobalDesc에 똑같이 변수를 추가했는데 Init()부분에서 globalBuffer = makeshared<ConstantBuffer<GlobalDesc>>(); _globalBuffer->Create(); globalEffectBuffer = shader->GetConstantBuffer("GlobalBuffer"); 쉐이더파일이랑 재대로 매핑이 안되는건지 이 부분에서 뻑납니다.. 원인이 잘 모르겠어서 질문 남깁니다..
-
미해결[게임 프로그래머 도약반] DirectX11 입문
Scene Update 부분 코드질문
강의에서는 저기 INSTANCING 부분이 없이 끝나는데 강의에서 SceneDemo에서 INSTANCING->Render(obj); f코드를 없애서 그런지 검은화면만 출력되는데 저 부분이 넣어야 제대로 동작을 하는 것 같아요. 저 코드를 넣는게 맞는거겠죠? 그리고 이미 _objects로 캐싱했는데 다시 temp에 넣고 INSTANCING->Render(temp); 이 코드를 실행하는 이유가 있을까요?
-
미해결[게임 프로그래머 도약반] DirectX11 입문
렌더링 계열 Set함수 순서
안녕하세요 루키스님 자체엔진을 만들어보는중에 의문이 생겨서 질문 드립니다ClearRenderTargetView와 ClearDepthStencilView를 먼저 호출OMSetRenderTargets, RSSetViewports 등의 렌더링 설정을 도와주는 Set계열함수를 작성Draw함수 호출이 과정에서 2번의 Set계열 함수들의 순서가 바뀌면 렌더링이 안될수 있나요?
-
미해결D3D12 프로그래밍 - 기초편
Comptr 을 안쓸시 메모리 해제순서
혹시 Comptr 을 안쓸시 메모리해제를 직접해주고있는데 ,Device 를 먼저 해제할시 ref값이 0 이 안나와서 DebugLeak 에 걸리게되던데D3D12 객체들의 메모리 해제할때도 순서가 중요한건가요?
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part2: 게임 수학과 DirectX12
Shader 관련 문제
Shader::Init을 할 때 마지막 줄DEVICE->Create...State(&m_PipelineDesc, IID_PPV_ARGS(&m_PipelineState));여기에서 desc세팅까지는 성공적으로 다 되는데 이 줄에서 state가 세팅되지 않고 NULL값으로 그대로 남아있습니다.혹시 몰라서 오타 검사나 프로젝트 속성이 다른지 체크했는데 이상 없었습니다.[코드][로컬 데이터] (추가)엔진.h의 멤버들은 정상적으로 초기화 되고 올려주신 파일을 실행했을 때는 정상적으로 작동하였습니다.Shader에서 문제가 있는거 같은데 코드상 차이는 안보입니다. 올려주신 코드내용을 복붙해도 같은 문제가 발생합니다.가끔씩 shader->Update()에 들어가기 전에 엑세스 위반 오류가 생깁니다
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part2: 게임 수학과 DirectX12
Load 부분에서 문제가 있어 질문드립니다
이런식의 오류가 뜨는대 텍스쳐를 로드하는 부분에서 키값의 추론이 제대로 안되는걸로 예상되는대 이유를 모르겠씁니다 혹시 예상가는 부분이 있을까요??
-
미해결[게임 프로그래머 도약반] DirectX11 입문
수강 문의
안녕하세요 루키스님. 이전에 수강전 문의 했던 학생입니다. 강좌를 구매해서 수강전 문의란이 사라져서 여기다가 질문올립니다. 궁금한 점은 3가지 입니다. DX11 2D까지만 공부하고 싶다면 섹션 어떤어떤것을 봐야할까요? OT때 포폴엔 적합하지 않은 강좌라고 하셨는데 이 말의 의미는 커리큘럼 목표가 그런 것이고, 제가 이 강좌 듣고 습득한 지식으로 혼자 포폴 만들라면 만들 순 있는거죠? 수강전 문의에 대한 연장선의 질문인데, 루키스님이 중견 이상 목표라면 C++를 공부하는게 좋다고 하셨습니다. 이 말의 뜻은 C#보다 C++이 아무래도 신경써야할 게 많다보니까(메모리 관리 등) 제가 비록 유니티쪽으로 가더라도 기초탄탄을 위해 배우라는 뜻이실까요? 여기부턴 여담인데, 사실 제가 C# 유니티만 배운게 아니고 C/C++/STL 도 공부하긴 했었습니다. 최근엔 안써서 까먹었지만.. 일단 이 강좌 구매는 해놨는데, WinApi부터 공부하고 시작해볼라고 지금 자연스레 C++ 리마인드하면서 공부하고 있긴합니다.
-
미해결[게임 프로그래머 도약반] DirectX11 입문
포인터변수선언, 바인딩 을 함수에 포함해도되나요
선생님 안녕하세요.인터페이스객체를 헤더에서 선언하고, 객체생성함수에서 스마트포인터변수의 주소를 얻고, 렌더함수에서 바인딩을 ,Init 함수에서 함수호출하시는데요. 이 과정 중...스마트포인터 선언대신,함수에서 지역변수로 만들어사용하고,렌더함수에서 바인딩 대신, 객체생성(디스크립션 포함) 함수안에서 디바이스컨텍스트 바인딩한후렌더함수에서 객체생성함수만 호출로 Init()함수 호출 없음바꾸면, 문제가 있을까요? 결과는 동일한거같습니다.
-
미해결[게임 프로그래머 도약반] DirectX11 입문
타입변환해도되나요+알파
[질문1]deviceContext->DrawIndexed(indices.size(), 0, 0);이런 에러가 떴는데요1>C:\Work\Programming\DX11\BasicFramework-uv\BasicFramework\Game.cpp(60,44): warning C4267: 'argument': conversion from 'size_t' to 'UINT', possible loss of data 이렇게 바꿔도되나요?deviceContext->DrawIndexed(staticcast<UINT>(_indices.size()), 0, 0); [질문2]우여곡절끝에(첨엔 TEXCOORD스펠링틀려서,두번째는 이미지파일을 프로젝트폴더밖에 둬서) 드디어 출력은 됬는데, 알파가 안빠집니다!뭘 고쳐야할까요? (한시간째 찾는중 ㅠㅠ)(이게 정상) ---------------------(추가)그리고,쌤... 수강전질문에 답변을 강의구매후,수강완료 한참후에 달아주셨어요 ㅋ담부턴 좀 빨리 ㅋㅋㅋ 3. [해결] 이 함수를 써서 해결했습니다. 알파. 근데,,쌤은 안써도됬는데, 왜 전 이거 써야한걸까요...??? void Game::SetBlendState(){ D3D11_BLEND_DESC blendDesc; ZeroMemory(&blendDesc, sizeof(blendDesc)); // 알파 블렌딩 활성화 blendDesc.RenderTarget[0].BlendEnable = TRUE; blendDesc.RenderTarget[0].SrcBlend = D3D11_BLEND_SRC_ALPHA; blendDesc.RenderTarget[0].DestBlend = D3D11_BLEND_INV_SRC_ALPHA; blendDesc.RenderTarget[0].BlendOp = D3D11_BLEND_OP_ADD; blendDesc.RenderTarget[0].SrcBlendAlpha = D3D11_BLEND_ONE; blendDesc.RenderTarget[0].DestBlendAlpha = D3D11_BLEND_ZERO; blendDesc.RenderTarget[0].BlendOpAlpha = D3D11_BLEND_OP_ADD; blendDesc.RenderTarget[0].RenderTargetWriteMask = D3D11_COLOR_WRITE_ENABLE_ALL; ID3D11BlendState* blendState; HRESULT hr = _device->CreateBlendState(&blendDesc, &blendState); CHECK(hr); // 블렌드 상태를 파이프라인에 설정 _deviceContext->OMSetBlendState(blendState, nullptr, 0xffffffff);}
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part2: 게임 수학과 DirectX12
강의에서 보여진 모습과 다른모양이 되어서 질문드립니다
아래와 같은 모양이 나오는대 디버그모드에서 값들은 다 Colorinfo 에 잘 들어갔고 specular 과 diffuse 에서 뭔가 문제가 있어보이는대 모르겠어서 질문드립니다 어느쪽을 중점으로 찾아봐야 하나요?
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part2: 게임 수학과 DirectX12
enumclass 질문입니다
46분 45초쯤에 enum 이라서 함수를 두개로 하셨다고 하셨는대 다른점과 이유를 알고싶습니다
-
해결됨D3D12 프로그래밍 - 기초편
raw pointer 쓰시는 이유가 따로 있으신가요?
혹시 ComPtr 안쓰시고 raw pointer 쓰시는 이유가 있으신가요?
-
미해결[게임 프로그래머 도약반] DirectX11 입문
잘 이해했는지 확인 받고 싶습니다(Normal Map)
안녕하세요 이번 강의를 잘 이해했나 의문이 들어서 질문 남깁니다먼저 제가 이해한 내용을 설명해보자면Normal Map이란 어떤 물체의 세부적 표현을 정점의 추가 없이표현하기 위해서 나온 기술?이고해당 Map의 각 픽셀의 RGB 값을 x, y, z로 해석하여float4 map = NormalMap.Sample(LinearSampler, uv);[0, 1] 구간으로 변환 후 3D 세상에서 표현하기 위해 [-1,1]구간으로 변환 한다float3 tangentSpaceNormal = (map.rgb * 2.0f - 1.0f);그리고 이 값을 World좌표계로 변환하기위해 탄젠트 스페이서에서의 t,b,n을 좌표 변환 공식?에 의해 [tx, ty, tz][bx, by, bz][nx, ny, nz] 행렬이 나오게 되고 이러한 TBN 행렬을 이용해서 World 좌표로 치환할 수 있다 이렇게 정리해봤는데 잘못 이해하거나 누락된 부분이 있을까요?
-
미해결[게임 프로그래머 도약반] DirectX11 입문
Normal.fx파일에서 normalize
안녕하세요 제가 알기로는 output.normal = mul(input.normal, (float3x3)World);이렇게만 해줘도 월드 좌표에서의 단위벡터로 만들어 주는걸로 알고 있는데 GeometryHelper.cpp 파일에서 CreateSphere 메서드에서 v.normal = v.position; v.normal.Normalize(); Normal.fx 에서 normalize(input.normal) 위 1, 2 부분에서의 normalize를 안해도 별 차이 없지 않나요?혹시 차이가 있다면 어떤 부분에서 차이가 있을까요?아니면 제 개념이 틀렸을까요?
-
미해결[게임 프로그래머 도약반] DirectX11 입문
높이보정 식이 이해가 안됩니다
vector<VertexTextureData>& v = const_cast<vector<VertexTextureData>&>(_geometry->GetVertices());for (int32 z = 0; z < height; z++){ for (int32 x = 0; x < width; x++) { int32 idx = width * z + x; uint8 height = pixelBuffer[idx] / 255.f * 25.f; v[idx].position.y = height; // 높이 보정 }}이 부분을 계속 돌려봐도 이해가 안되는데 높이보정할 때 왜 저 식이 나오는건가요?
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part2: 게임 수학과 DirectX12
nullptr오류가 발생해요.
nullptr 오류가 왜 발생하는 걸까요? 코드는 복붙 해서 아마 다 같을 거에요.
-
미해결[게임 프로그래머 도약반] DirectX11 입문
계층구조 질문있습니다.
탱크를 그릴떄 본매트릭스를 넘겨줘서 포지션을 이동시켜주는것처럼탱크의 노말도 본매트릭스를 이용하여 회전시켜주는게 맞지않나용?
-
미해결[게임 프로그래머 도약반] DirectX11 입문
첫 강의 pch.h 작성 단계에서 LNK1104 오류가 납니다 ㅠ
pragma comment로 불러오는 다른 lib들은 다 에러 없이 넘어가는데요,정작 걱정했던 DirectXTex 들은 조용하지만LNK1104 'd3dcompiler.lib' 파일을 열 수 없습니다.저 d3dcompiler친구만 오류를 뿜뿜합니다ㅠ 이를 어쩌면 좋을까요 선생님😣