private Vector2 Getpivot(Texture2D tex, int x, int y, int width, int height)
{
Color[] pixels = tex.GetPixels(
(int)x,
(int)y,
(int)width,
(int)height
);
// 스프라이트의 첫 번째 비투명 픽셀 찾기 (아래부터 위로)
int firstNonTransparentY = -1;
for (int row = 0; row < height; row++)
{
for (int col = 0; col < width; col++)
{
Color32 pixel = pixels[row * width + col];
if (pixel.a > 0) // 알파 값이 0보다 큰 경우
{
firstNonTransparentY = row;
break;
}
}
if (firstNonTransparentY != -1)
break;
}
if (firstNonTransparentY == -1)
{
return Vector2.zero;
}
// 피벗 Y 계산 (0: Bottom, 1: Top)
float pivotY = (float)firstNonTransparentY / (float)(height - 1);
// 피벗 설정
return new Vector2(0.5f, pivotY); // X는 중앙 (0.5)
}
아래부터 시작해서 투명 아닌부분의 vector2 구하기 캐릭터, 몬스터 발바닥을 피벗으로 설정할 수 있음