bool HitTestUVPosition(ref Vector3 uvWorldPosition){
RaycastHit hit;
Vector3 cursorPos = new Vector3 (Input.mousePosition.x, Input.mousePosition.y, 0.0f);
Ray cursorRay=sceneCamera.ScreenPointToRay (cursorPos);
if (Physics.Raycast(cursorRay,out hit,200)){
MeshCollider meshCollider = hit.collider as MeshCollider;
if (meshCollider == null || meshCollider.sharedMesh == null)
return false;
Vector2 pixelUV = new Vector2(hit.textureCoord.x,hit.textureCoord.y);
uvWorldPosition.x=pixelUV.x-canvasCam.orthographicSize;//To center the UV on X
uvWorldPosition.y=pixelUV.y-canvasCam.orthographicSize;//To center the UV on Y
uvWorldPosition.z=0.0f;
return true;
}
else{
return false;
}
}
//Sets the base material with a our canvas texture, then removes all our brushes