목록DirectX3D (93)
응애맘마조
충돌 처리에 대해 강의를 했었습니다. #include "Common.hlsl" struct VertexInput { float4 Position : POSITION0; float4 Color : COLOR0; }; struct PixelInput { float4 Position : SV_POSITION; float4 Color : COLOR0; }; PixelInput VS(VertexInput input) { PixelInput output; output.Position = mul(input.Position, World); output.Position = mul(output.Position, ViewProj); output.Color = input.Color; return output; } float4..
저번엔 UI를 이미지로 나타내었지만 오늘은 게임 내 객체를 이미지로 나타내는 방법에 대해 강의했습니다. 그동안 2D 이미지를 애니메이션 효과로 나타낼 때는 스프라이트 이미지를 사용해 좌표를 빠르게 바꾸는 방식으로 했었지만 이번 3D에서는 위의 방식이 불가능하기 때문에 좌표를 바꾸지 않고 애니메이션 효과를 사용해야 됩니다. #pragma once class Mesh { friend class GameObject; private: ID3D11Buffer* vertexBuffer; ID3D11Buffer* indexBuffer; D3D_PRIMITIVE_TOPOLOGY primitiveTopology; VertexType vertexType; UINT byteWidth; public: UINT* indices..
UI를 만들고 함수 포인트를 이용해서 인식하게끔 하는 것과 텍스쳐매핑에 대해서 강의를 했었습니다. 먼저 UI 같은 경우 마우스를 주로 이용해서 사용하게 되는데 UI의 위치를 잡고 마우스를 올렸을 때, 눌렀을 때, 누르는 중일 때, 뗐을 때의 경우 4가지가 있습니다. 여기서 가장 기본은 마우스를 올렸을 때이기 때문에 마우스를 올렸을 때의 함수를 만들어서 명령어를 실행하게 만들었습니다. if (ui->MouseOver()) { player->rotation.z += DELTA; } 현재는 마우스를 올렸을 때 Z값으로 돌아가도록 만들었지만 이 함수를 사용해서 많은 기능을 구현할 수 있습니다. 또한 위치를 지정할 수 있도록 ImGui 내에서 구현할 수 있도록 했습니다. if (ImGui::BeginTabItem..
오늘은 강의 없이 팀 프로젝트 계획을 잡고 6월 5일까지 제출하는 것으로 했습니다. 아직 크게 배운 것이 없고 구현할 수 있는 것들이 너무 제한되기 때문에 선행학습식으로 하고 같이 수업을 듣는 수강생들과 더 친해질 수 있는 계획을 가지고 진행을 한다고 했습니다. 내일부터 텍스쳐 매핑을 배운다고 했으니 그 후에 강의 내용을 정리하도록 하겠습니다.
UI를 만드는 것에 대해 강의를 했었습니다. 창던지기의 게이지바나 메뉴창 같이 가장 맨 위에 올라오고 카메라의 영향도 받지 않아야 되는 것입니다. 또한 UI에서는 어떤 값이 들어올지 모르고 주소를 미리 저장할 수 없기 때문에 함수 포인터를 사용했습니다. 게임을 구현하기 위한 것이 아니기 때문에 프레임워크에 따로 넣었습니다. #pragma once class UI : public Actor { public: Vector2pivot; static UI* Create(string name = "UI"); virtual voidUpdate() override; boolPress = false; function mouseOver = nullptr; //마우스가 위에존재할떄 function mouseDown = n..