I’m trying to have the object roll over or at least just travel to the points and for it to have continuous raycasting so its not only putting one point down for each tap on the screen. If any of this is possible please let me know, sorry I realize its a tall order. Thank you!
using System.Collections;
using System.Collections.Generic;
using UnityStandardAssets.CrossPlatformInput;
using UnityEngine;
using System;
public class playerController : MonoBehaviour {
public float moveSpeed = 0.2f;
public GameObject player;
public int score;
public float size;
Ray ray;
RaycastHit hit;
private Vector3 Target;
void Update()
{
ray = Camera.main.ScreenPointToRay(Input.mousePosition);
if (Physics.Raycast(transform.position, Camera.main.transform.forward, out hit, Mathf.Infinity))
{
if (Input.GetMouseButtonDown(0))
{
if (Physics.Raycast(ray, out hit, 100.0f))
{
if (hit.transform != null)
{
//The position of the click on the ground
Debug.Log(Target);
Target = hit.point;
}
}
}
}
/**
* if (Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Moved)
{
// Get movement of the finger since last frame
Vector2 touchDeltaPosition = Input.GetTouch(0).deltaPosition;
// Move object across XY plane
transform.Translate(-touchDeltaPosition.x * moveSpeed, 0.0f, -touchDeltaPosition.y * moveSpeed);
}
* */
}
void FixedUpdate()
{
float distP = Vector3.Distance(player.transform.position, Target);
for(int i = 0; i< distP; i++)
{
player.transform.position = Vector3.Lerp(player.transform.position, Target, moveSpeed);
}
}
void OnCollisionEnter(Collision collision)
{
//IF SIZE IS LARGER THAN OBJECT THEN ASSUME THAT OBJECT, ELSE DO NOTHING
}
}