Ex
특정 RectTransform 안에 있는 오브젝트를 마우스위치로 이동시키고자할때
if (RectTransformUtility.ScreenPointToLocalPointInRectangle(
this.transform.parent.GetComponent<RectTransform>(),
new Vector2(Input.mousePosition.x, Input.mousePosition.y),
parentCanvase.worldCamera,
out pos))
{
this.transform.localPosition = pos;
}else
{
}
RectTransformUtility.ScreenPointToLocalPointInRectangle
Parameters
rect | The RectTransform to find a point inside. |
cam | The camera associated with the screen space position. |
screenPoint | Screen space position. |
localPoint | Point in local space of the rect transform. |
Returns
bool Returns true if the plane of the RectTransform is hit, regardless of whether the point is inside the rectangle.
Description
Transform a screen space point to a position in the local space of a RectTransform that is on the plane of its rectangle.
The cam parameter should be the camera associated with the screen point. For a RectTransform in a Canvas set to Screen Space - Overlay mode, the cam parameter should be null.
When ScreenPointToLocalPointInRectangle is used from within an event handler that provides a PointerEventData object, the correct camera can be obtained by using PointerEventData.enterEventData (for hover functionality) orPointerEventData.pressEventCamera (for click functionality). This will automatically use the correct camera (or null) for the given event.
출처:
http://docs.unity3d.com/ScriptReference/RectTransformUtility.ScreenPointToLocalPointInRectangle.html
'부스러기 > Unity' 카테고리의 다른 글
[WebGL] 모바일 미지원 알림 제거 Unity 2019.4 이하 (0) | 2020.11.27 |
---|---|
[shader] FlatTransparent 투명쉐이더 (0) | 2020.10.27 |
유니티 오브젝트 회전방법들 (0) | 2016.08.16 |
모바일에서 파일 입출력 (0) | 2015.12.14 |