0
나는 화합에 초보적이다. 나는 안드로이드 장치를위한 게임과 같은 케이크 메이커에서 일하고 있습니다. 캐비닛에서 테이블로 객체를 드래그하는 데 어려움을 겪고 있습니다. 테이블에 나는 그들을 병 속에 넣고 싶습니다. 이들은 많은 항목입니다. 그래서, 나는 그들을 단결 태그를 사용하여 분리하여 그것을 할 수 없습니다. 테이블에 끌어다 놓는 일반적인 방법은?unity3D에서 객체를 끌는 방법?
이 코드를 사용하고 있지만 작동하지 않습니다.
using UnityEngine;
using System.Collections;
public class DragObjects : MonoBehaviour {
Ray ray;
RaycastHit hit;
// Use this for initialization
void Start()
{
}
// Update is called once per frame
void Update()
{
if (Input.GetMouseButtonDown(0))
{
ray = Camera.main.ScreenPointToRay (Input.mousePosition);
if (Physics.Raycast (ray, out hit))
{
if (hit.collider.tag == "oil")
{
OnMouseDrag();
}
}
}
}
void OnMouseDrag()
{
Vector3 point = Camera.main.ScreenToWorldPoint(Input.mousePosition);
point.x = gameObject.transform.position.x;
gameObject.transform.position = point;
}
}
어떤 부분이 작동하지 않습니다. 충돌을 감지합니까 (RayCast에 인쇄 해보십시오)? 또한 정확하게 기억할 수는 없지만 Input.mousePosition의 Z 값을 약간의 거리로 설정하지 않으면 포인트가 카메라 위치가됩니다 (카메라의 광선이 길이 1) –
예, 충돌을 감지하고 있습니다. 그러나 끌기 위해 일하지 않는다. 나는 Debug.Log()와 Z-Value를 사용하여 코드를 검사하려고했다. 개체를 클릭하면 드래그되지 않습니다. 그러나 위치를 바꾼다. 어떤 때는 Z-Valve를 사용할 때 (point.x = gameObject.transform.position.x;) 그냥 사용합니다. 카메라 앞에서 시간을 둘 다 사용하면 (point.x = gameObject.transform.position.x; && point.z = gameObject.transform.position.z;). –
미안하지만, 물체가 움직이는 것은 이해할 수 없지만 잘못되거나 전혀 움직이지 않는 것은 아닌가? –