Move 3d object using touch android
Greetings! I'm trying to move object along X and Z axes. I want to move this blue ship with the players finger. But with my code ship is moving by only X axe. Help me please, what's wrong with my code?
void Start()
{
cachedTransform = transform;
startingPos = cachedTransform.position;
}
// Update is called once per frame
void Update()
{
if (Input.touchCount > 0)
{
Vector3 deltaPosition = Input.GetTouch(0).deltaPosition;
Vector3 deltaTouch = Camera.main.ScreenToWorldPoint(new Vector3(0.6f,deltaPosition.y,-deltaPosition.x));
switch (Input.GetTouch(0).phase)
{
case TouchPhase.Began:
break;
case TouchPhase.Moved:
DragObj(deltaTouch);
break;
case TouchPhase.Ended:
break;
}
}
}
void DragObj(Vector3 deltaPos)
{
cachedTransform.position = new Vector3(Mathf.Clamp(deltaPos.x + cachedTransform.position.x,
startingPos.x - xlimit, startingPos.x + xlimit),
0.0f,
Mathf.Clamp(deltaPos.z + cachedTransform.position.z,
startingPos.z - ylimit, startingPos.z + ylimit));
}
Comment