더블 클릭 시, 물체 앞으로 가는 것을 구현해보았다.
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);
}
}
}
}