오늘 하루8 9월 19일 - Transform. WorldMatrix 1. Transform에 SetWorldScale, SetWorldRotation, SetWorldPosition 추가 하였다. SetLocal~~~ 과 다르게 World매트릭스를 수정하게되면 그에따라 Local또한 수정한값을 넣어주어야한다. 부모가 있을경우엔 부모의 매트릭스를 계산해 주는것또한 고려해야한다. 설명 : 원하는 월드위치를 받아서 Compose하여 매트릭스를 얻어내고 그렇게 얻어낸 매트릭스에 부모의 역행렬을 곱해서 이전으로 되돌린다면 그것은 로컬에 해당하는 값이 나오게된다. if (nullptr != Parent) { TransData.ParentMatrix = Parent->TransData.WorldMatrix; TransData.WorldMatrix = TransData.WorldMat.. 2023. 9. 19. 9월 18일 엔진 업데이트 - 마우스 월드포스. 1. 마우스의 위치는 카메라가 이동함에따라 같이 이동되므로 카메라에서 위치를 얻어볼수있게 한다. 설명 - 윈도우에서 얻어오는 마우스Pos는 윈도우 좌표를 사용한 윈도우 창에서의 마우스 위치를 알려주게 된다. 하지만 우리는 행렬을 통해 데카르트 좌표로 변경해서 사용하고 있다. 그래서 각 단계의 역행렬을 곱해가면 월드상의 마우스 좌표를 얻어 볼수있다는 점에 착안하여 역순으로 월드좌표가 나올때까지 역행렬을 곱해주게 된다. float4 GameEngineCamera::GetWorldMousePos2D() { // 월드라고 하는 세상은 화면과 관련이 없었다. // 그런데 관련있게 됐다. // 나누기 // 로컬 => 월드(크자이공부) => 뷰 => 프로젝션 => 뷰포트(스크린좌표) float4x4 ViewPort;.. 2023. 9. 18. 9월 8일. 이미지트랜스폼 추가, 피봇 추가 1. 스프라이트 랜더러에 이미지 트랜스폼 추가 설명 - 피봇을 하려고 하니 이미지 트랜스폼을 따로 두고 이미지만을 위해 따로 관리한다. 2. 스프라이트렌더러는 Start에서 DataTransform에 ImageTransform을 받아주고 이미지 트랜스폼의 부모를 내 트랜스폼으로 한다. ===> 내트랜스폼이 이동하면 자식인 이미지 트랜스폼도 이동한다는 것을 뜻함. void GameEngineSpriteRenderer::Start() { GameEngineRenderer::Start(); DataTransform = &ImageTransform; ImageTransform.SetParent(Transform); } 3. 피봇 타입을 넣어 셋팅하는 함수를 만든다. void GameEngineSpriteRend.. 2023. 9. 8. 9월 7일. 충돌체 1. Transform으로 충돌을 판정할수있게 되었지만 충돌을 담당할 충돌체를 따로 만들어서 기능들을 사용하도록 한다. 또 그 충돌체를 관리할 충돌체그룹 클래스를 만들었다. 그리고 해당 콜리젼그룹을 레벨에서 map으로 관리해준다. 2. 콜리젼을 생성하면 Level의 PushCollsion을 통해 Collisions에 콜리젼 오더별로 들어가게 된다. void GameEngineLevel::PushCollision(std::shared_ptr _Collision) { if (nullptr == _Collision) { MsgBoxAssert("존재하지 않는 콜리전을 사용하려고 했습니다."); return; } if (false == Collisions.contains(_Collision->GetOrder().. 2023. 9. 7. 이전 1 2 다음