rawImage 텍스처의 픽셀 색상을 어떻게 얻을 수 있는지 알고 싶습니다. Unity 2D : Raw 이미지의 색상 픽셀 얻기
이
내 장면 :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되지 않습니다.
사실, 나는 파란 색에 다다를 수 없다. 나는 단지 나의 정방형의 꼭대기를 얻을 수있다.
마우스 오른쪽 버튼을 클릭하면 색상을 얻는 방법을 알려줄 수 있습니까? 당신이
Input.mousePosition
를 사용하여 얻을
덕분에
왜 'OnGUI()'를 사용하고 있습니까? –
@ m.rogalski가 지적한 것처럼,이 동작에 대해'Update'를 사용해야합니다. GUI에서는 아무런 작업도하지 않으므로'OnGUI'는 권장하지 않습니다. – Rob