본문 바로가기

카테고리 없음

Unity 더블클릭 구현 / 물체로 가기 구현

더블 클릭 시, 물체 앞으로 가는 것을 구현해보았다.

Lerp를 사용하던 지, 다른 방법들을 사용해서 서서히 움직이는 것은 그 다음 문제

 

이벤트 시스템을 추가해 주고, Cube에는 그냥 물체를 넣어주면 된다.

더블클릭하면 그 클릭 물체로 가려면, Raycast한 물체의 transform을 넣어주면 됨.

카메라 이동방식은 카메라와 물체의 거리만큼 간 후에, 다시 뒤로 5f정도 떨어지게 하여, 어떤 물체로 가도 5f 떨어지게끔 볼 수 있다.

 

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class DoubleClick : MonoBehaviour {

// Use this for initialization
void Start () {

}
    Event e = null;
    // Update is called once per frame
    void Update () {
        OnGUI();
}
    public GameObject Cube;
    void OnGUI()
    {
        e = Event.current;
        if (e.isMouse)
            Debug.Log("Mouse clicks: " + e.clickCount);
        if(e.clickCount == 2)
        {
            RaycastHit hit;
            if(Physics.Raycast(Camera.main.transform.position,Camera.main.transform.TransformDirection(Vector3.forward),out hit, Mathf.Infinity))
            {
                Debug.Log("Did Hit");
                Debug.Log(Camera.main.transform.forward);
                Camera.main.transform.Translate(Vector3.forward * Vector3.Distance(Camera.main.transform.position, Cube.transform.position) );
                Camera.main.transform.Translate(Vector3.back * 5f);
            }
        }
            

    }
}