Vector2 FitToPixelPerfectGrid(Vector2 vector) { if (fitType == PixelPerfectFitType.Smooth) { return(PixelPerfect.FitToGrid(vector, PixelPerfect.worldPixelSize / cameraZoom)); } else { return(PixelPerfect.FitToGrid(vector, PixelPerfect.worldPixelSize)); } }
void SetPixelPerfectPosition() { if (name == "Shadow" && transform.parent.tag != "Character") { if (((int)(transform.parent.position.x * 2)) % 2 != 0) { transform.localPosition = new Vector3(0.5f, 0.0f, 0.0f); } else { transform.localPosition = new Vector3(-0.5f, 0.0f, 0.0f); } return; } if (useParentTransform) { transform.localPosition = Vector3.zero; } transform.position = new Vector3(transform.position.x, transform.position.y, GetPixelPerfectDepth()); spriteOrigin = (Vector2)(transform.position) + GetPivotToOrigin(); fixedSpriteOrigin = PixelPerfect.FitToGrid(spriteOrigin, PixelPerfect.worldPixelSize * pixelCompoundScale); if ((int)GetPivotToCenter().x % 2 == 1) { if (fixedSpriteOrigin.x > 1.0f) { fixedSpriteOrigin = fixedSpriteOrigin - new Vector2(1.0f, 0); } else { fixedSpriteOrigin = fixedSpriteOrigin + new Vector2(1.0f, 0); } } fixedSpriteCenter = fixedSpriteOrigin - GetPivotToOrigin(); pixelCorrection = fixedSpriteCenter - (Vector2)(transform.position); transform.position += (Vector3)pixelCorrection; }
void SetPixelPerfectPosition() { if (useParentTransform) { transform.localPosition = Vector3.zero; } transform.position = new Vector3(transform.position.x, transform.position.y, GetPixelPerfectDepth()); spriteOrigin = (Vector2)(transform.position) + GetPivotToOrigin(); fixedSpriteOrigin = PixelPerfect.FitToGrid(spriteOrigin, PixelPerfect.worldPixelSize * pixelCompoundScale); fixedSpriteCenter = fixedSpriteOrigin - GetPivotToOrigin(); pixelCorrection = fixedSpriteCenter - (Vector2)(transform.position); transform.position += (Vector3)pixelCorrection; }