본문 바로가기

프로그램/유니티 스크립트 소스

[유니티 스크립트 소스] 마우스로 게임오브젝트 Drag로 이동시키기

728x90
반응형

1. 게임오브젝트 설정

 (1) 게임오브젝트에 Collider 추가

 (2) 게임오브젝트에 Rigidbody 추가

 (3) Rigidbody에 Use Gravity 끄기

 

2. 소스

using UnityEngine; 

public class DragGameobject : MonoBehaviour 
{ 
    private Vector3 m_Offset; 
    private float m_ZCoord; 

    void OnMouseDown() 
    { 
        m_ZCoord = Camera.main.WorldToScreenPoint(gameObject.transform.position).z; 
        m_Offset = gameObject.transform.position - GetMouseWorldPosition(); 
    } 

    void OnMouseDrag() 
    { 
        transform.position = GetMouseWorldPosition() + m_Offset; 
    } 

    Vector3 GetMouseWorldPosition() 
    { 
        Vector3 mousePoint = Input.mousePosition; 
        mousePoint.z = m_ZCoord; 

        return Camera.main.ScreenToWorldPoint(mousePoint); 
    } 
}

 

728x90
반응형