This is a really good idea! Thanks!
The implementation contains some nuances:
Input.mousePosition return pixel coordinates. It needs to be converted to virtual coordinates.
// Moving player to left and right
void MovePlayer()
{
// Get mouse position in pixel-coordinate system and transform it to virtual-coordinate system
Ray mouseRay = camera.ScreenPointToRay(Input.mousePosition);
mouseX = mouseRay.GetPoint(10f).x;
if (gameManager.isGameActive)
{
if (mouseX < leftBound)
{
positionX = leftBound;
}
else if (mouseX > rightBound)
{
positionX = rightBound;
}
else
{
positionX = mouseX;
}
playerRb.MovePosition(new Vector3(positionX, playerPosY, playerPosZ));
}
}
The project has updated. You can test it.
Added a link to you in devlog ;)