Я хочу знать, как я могу получить пиксельный цвет моей текстуры rawImage.Unity 2D: получить пиксель цвета сырого изображения
Это моя сцена:
public class ColorPicker : MonoBehaviour, IPointerClickHandler
{
public GameObject Cube;
public void OnPointerClick(PointerEventData eventData)
{
if (Input.GetMouseButtonUp(1))
{
Vector3 localPosition = transform.InverseTransformPoint(eventData.pressPosition);
Color color = (GetComponent<RawImage>().texture as Texture2D).GetPixel(Convert.ToInt32(localPosition.x),
Convert.ToInt32(localPosition.y));
Cube.GetComponent<Renderer>().material.color = color;
}
}
}
И как вы можете видеть, с этим кодом, он работает, но это не scalled.
Фактически, я не могу достичь синего цвета. Я могу получить только верхнюю часть своей площади.
Можете ли вы помочь мне, как получить цвет, когда я нажимаю правый клик?
Благодаря
Почему вы используете 'OnGUI()'? –
Как указано в @ m.rogalski, вы должны использовать 'Update' для этого поведения, вы не делаете никакой работы с графическим интерфейсом здесь, поэтому использование OnGUI не рекомендуется. – Rob