단순한 2D 게임을위한 절차 적 애니메이션 엔진을 만들려고합니다. 이렇게하면 적은 수의 이미지에서 멋지게 보이는 애니메이션을 만들 수 있습니다 (이 접근법과 유사하지만 2D의 경우 : http://www.gdcvault.com/play/1020583/Animation-Bootcamp-An-Indie-Approach)LibGDX에서 사다리꼴 스프라이트 구현하기
나는 다른 애니메이션 객체에 대한 데이터를 저장할 키 프레임이 순간, 키 프레임은 다음과 같은 표현 수레의 배열 인 :
translateX는, translate Y를, scaleX가, scaleY를 회전 (도)
I skewX, skewY, taperTop 및 taperBottom을이 목록에 추가하려고합니다. 그러나 저는 h입니다. 제대로 렌더링하는 데 어려움이 있습니다.
float[] vert = sprite.getVertices();
vert[5] += 20; // top-left vertex x co-ordinate
vert[10] -= 20; // top-right vertex x co-ordinate
batch.draw(texture, vert, 0, vert.length);
불행하게도이 이상한 질감 모핑을 생산 :
이
내 그것을 사다리꼴 모양을주고 스프라이트의 상단에 테이퍼를 구현에서 시도였다. 나는 구글의 비트와 StackOverflow의 주위를 살펴했고 나는 데 문제로 나타나는이 발견 :http://www.xyzw.us/~cass/qcoord/
그러나 나는 그 뒤에 수학을 이해하지 못하는 (s, t, r 및 q는 무엇입니까?).
누군가가 좀 더 간단하게 설명 할 수 있습니까?
"그래서이 문제에 대한 해결책들이 선형 보간 후에 밖으로 크기를 분할하는 대신 전에. ", 당신은 이것에 대해 자세히 설명 할 수 있습니까? 프로세스의 다른 단계에서 텍스처의 너비/높이에 스칼라를 곱하면 결과에 어떤 영향을 미칩니 까? –
알다시피, 나는 수평 방향으로 만하는 것에 대해 말한 것은 당신이 지적한 이유 때문에 의미가 없다고 생각합니다. 결과가 다른 이유는 우리가 2 차원에서이를 수행하고 있기 때문입니다. 수직 방향에서 높이가 아닌 너비로 나눠서, 쿼드의 대각선을 사실상 곡선으로 늘리는 퍼스펙티브를 제공합니다. 어쩌면 나는 그 차이를 보여주는 플롯을 만들 수 있습니다. – Tenfour04
좋아요, 설명을 수정 한 것 같습니다. 이제 저는 우리가 수직 왜곡을 제거 할 수있는 다른 수학적 조작이 있는지 궁금합니다. 우리가 여기에서 한 모든 것은 수직 왜곡에 대한 무역 수평 왜곡이지만 훨씬 더 좋아 보입니다. – Tenfour04