본문 바로가기

개인공부/DirectX

(16)
dx_31일차 공부 04.11 오늘내용 a*알고리즘 알고리즘을 통해 isometric의 공간에서 길찾기 실행, 1. 시작점 초기화 for { 2. 오픈노드 중 코스트가 가장 낮은 노드 찾기 3.Min코스트 노드의 엣지를 초기화한다. 4.확장이 끝나면 min노드는 clode상태 즉, 닫아준다. *** 코스트가 같은경우 index가 낮은값부터 실행해준다. } 5. 마지막으로 backTracking해줘서 맞는지확인 목적지까지 반복해준다. A*.h 더보기 #pragma once class AStar { public: AStar(class GameTileMap* map); ~AStar(); void Update(); void Render(); int FindCloseNode(const Vector2& pos); void GetPat..
dx-25 PixelShader /이미지연출 효과(Blur,GaussianBlur, Mosaic..etc) 수업내용: additive효과: 뒷배경이 검은색일떄 효과적인 연출이 가능 Shader기능 (연출) 강화 흑백효과( 사망시 연출) 셰이더를 활용하여 외곽선 구현하기 앞서 배웠던 fliter쉐이더를 활용하여 외곽선 함수를 만들고 이를 적용시켰다. float4 OutLine(float2 uv) { // 외곽선을 그리기 위해선 자신을 기준으로 자신의 주위(8방향)에 알파값이 0이 있으면 외곽선처리 즉 자신의 rgb값을 0으로 바꿔주자. // 0의값이 있는지 확인하기 위해서 bool값으로 확인받기 (뒷배경은0 ,이미지는 1의 알파값을 가진다) // //////////////// float4 result = 0; bool isAlphaValue = true; for (int i = 0; i < scale; i++)..
dx_24일차_effect / Attack 오늘의내용 과제: 1.이펙트 이펙트 구현 완( 어제배운 총알 구현하듯이 이미지만 가져왔다. -> 하지만 클립을 받아와서 원하는 프레임에 넣는게 좋을거같다 수정하자. 2.이펙트매니져 이펙트매니져 완( 갯수를 추가하는형식으로 풀링돌리자) ->아침에 enemy구현, 이펙트 1개 시도 3. Enemy구현하기 오늘의 공부: 1.복습 03.29 / 04.01(4시간) 2.코테 0단계 10개 (1시간) 3.과제(2시간) +여유있을때 코테(1단계) : n개 코테(2단계) : n개
dx_23일차_Action 과제: 메인퀘스트 : 다음주 월요일까지 공격은 원거리 공격 근거리 공격 두개 구현 ​ -> 몬스터 구현하고 공격 구현해서 피격 구현하기 1. 캐릭터 공격을 만든다 근접/원거리의 공통된부분을 묶는 cookieAttack을 만든다. -> 근접공격 원거리공격을만들고 cookieAttack을 상속받게한다. // 공격할때 점프, 이동 모두 할거기 떄문에 점프를 상속받아도 될거같았지만 중복되더라도 깔끔하게 Attack에서 새로 만들어서 상속받자. (충돌처리, ?) cookieAttack.h/cpp 더보기 #pragma once class CookieAttack : public CookieAction { protected: const float JUMP_POWER = 600.0f; const float FLOOR_E..
dx_22일차 Action_MapEditor 내용: 1.IMGUI 활용 맵에디터 mapeditorScene.h 더보기 class MapEditorScene : public Scene { private: const int CELL_WIDTH = 124; const int CELL_HEIGHT = 20; public: MapEditorScene(); ~MapEditorScene(); void Update() override; void Render() override; void PostRender() override; private: void EditBG(); void EditTexture(Quad* quad, string key); void SaveBG(); void LoadBG(); private: Quad* background; Quad* samp..
DirectX 21일차_ Action / Animation 수업내용: 1.행동객체화 더보기 action-> cookieaction->cookie의 각행동으로 나눈다. 2.texture의 좌우 변화 더보기 1. 스케일을 바꾸는방법, 2. 로테이션을 이용하는방법 1번방법은 위험한버그가 생길수 있기때문에 로테이션을 이용하는방법을 써서 y축으로 돌려주면 2d에서는 자연스럽게 반대로 출력해줄수있다.(양면출력 활용) 더보기 environment에서 함수 추가 void Environment::CreateRasterizerState() { D3D11_RASTERIZER_DESC rasterizerDesc = {}; //none은 양방향으로 출력하게 도와준다. //fill_wireFrame은 모든 개체들이 선으로 보인다(3d에서 활용) rasterizerDesc.CullMode..
Directx_20일차_애니메이션 수업내용 1.xml로 처리하면 애니메이션을쉽게 구현할수있다. + Quad객체 수정 더보기 Quad::Quad(wstring textureFile, bool isAdd, Vector2 startUV, Vector2 endUV, Vector2 pos) { tag = "Quad"; material->SetTexture(textureFile); size = material->GetTexture()->GetSize(); mesh = new Mesh(); MakeMesh(startUV, endUV, pos); mesh->CreateMesh(); } Quad::Quad(wstring textureFile, float x, float y, float width, float height) { tag = "Quad"; m..
DirectX 장비창 조합 구현 수업내용 더보기 1. 2. 3. 4. 5. 과제 : 아이템 장착해제, 능력치 적용 과제전 생각: 더보기 1) 아이템 장착/해제 1.버튼창 ( 조합/장비창) 형성 (공존할수 없게끔설정하자) (0) 조합창이 꺼졌을때 넣어놨던 아이템 제거해서 인벤으로 옮겨지게 2. 장비창눌럿을떄 isopen일때만 장비창으로 옮기게 설정 (0) 3.나머지는 업그레이드와 동일하지만 각각의 슬롯에 정해진 아이템만 들어가게끔 설정하자 일단 중복 타입 들어가면 안들어가게끔 설정(0) 2) 능력치적용 1. plane에 적용시키기 위해 void 포인터로 장착한 아이템의 데이터를 보내줘서 원하는 값을 뽑아 쓰게 만들자 아니지 데이터만 가져오고 거기있는거 뽑아서 더하면 되는거지? 데이터를 전역으로 빼서 데이터만 가져와야할까? 싱글톤이 되어있..