Как вариант: преобразовать точки по углам текстуры в координаты экрана, потом уже легко определить ширину и высоту. Camera.WorldToScreenPoint в помощь.
Добавлено (20.09.2014, 09:14)
---------------------------------------------
Скрипт, который работает для спрайта:
Код
using UnityEngine;
public class Test : MonoBehaviour
{
void Start()
{
var sr = GetComponent<SpriteRenderer>();
// Определяем точки в мировых координатах
Bounds bounds = sr.bounds;
float top = transform.position.y + bounds.extents.y;
float right = transform.position.x + bounds.extents.x;
float bottom = transform.position.y - bounds.extents.y;
float left = transform.position.x - bounds.extents.x;
// Размер в пикселях
Vector3 size = Camera.main.WorldToScreenPoint(new Vector3(right, top, 0))
- Camera.main.WorldToScreenPoint(new Vector3(left, bottom, 0));
// Округляем до целых
size.x = Mathf.Round(size.x); // Ширина
size.y = Mathf.Round(size.y); // Высота
Debug.Log(size);
}
}