목록2024/11/29 (3)
3냥 집사이면서 게임 개발자입니다.
// 게임 로직과 렌더링 로직이 공유하는 변수Vector2 currentPosition;float currentScale = 10.f;float currentDegree = 0.f;// 게임 로직을 담당하는 함수void SoftRenderer::Update2D(float InDeltaSeconds){ ... // 게임 로직의 로컬 변수 static float moveSpeed = 100.f; static float scaleMin = 5.f; static float scaleMax = 20.f; static float scaleSpeed = 20.f; static float rotateSpeed = 180.f; Vector2 inputVector = Vector2(input.GetAxis(InputAxi..
물체를 이동시키고 크기를 늘리는 동작은 서로 수직인 x축과 y축이 서로 독립적으로 적용된다. 따라서 x축과 y축이 따로따로 계산 후 두 결과를 결합한 것과 같다. 물체를 회전시키는 동작은 x와 y값이 함께 영향을 미친다. 둘을 독립적으로 계산할 수 없다는 얘기다. 회전을 구하기 위해 벡터 공간에서의 기저벡터 개념을 활용하고, 일반적으로 벡터를 회전시켰을 때 어떤 값이 나오는지를 구하는 수식을 증명해보았다.
삼각함수로 하트 그리기 CK 소프트 렌더러는 각도법과 호도법을 사용해 sin함수와 cos함수 값을 얻어올 수 있도록 함수를 제공한다.float sin, cos;Math::GetSinCos(sin, cos, 30); // 30 degreeMath::GetSinCos(sin, cos, Math::TwoPI); // 2pi radian 일명 하트 방정식이라 불리는 식을 이용해 하트를 그려보는 코드를 짜보자. x = 16 sin^3세타y = 13 cos세타 - 5cos 2세타 - 2cos3세타 - cos4세타 // 게임 로직과 렌더링 로직이 공유하는 변수Vector2 currentPosition;float currentScale = 10.f;// 게임 로직을 담당하는 함수void SoftRenderer::Upd..