Hello Everyone
well i'm currently developing a "roll a ball" game and I finally managed to make my camera work perfectly but i have a problem with my ball because when i move it, it only moves in diagonal and i have no idea why i tried many different methods on how to roll the ball and i think the current method would be good if it moves in a 3d way (not just diagonal) the player can also rotate the ball that makes it so difficult(for me) because the transform.forward is changing constantly here is my current code:
using UnityEngine;
using System.Collections;
public class MovePlayer : MonoBehaviour {
public float movementSpeed = 10;
private Rigidbody rb;
public Vector3 movement;
public Vector3 movementForward;
public Vector3 movementRight;
public GameObject myCamera;
void Start()
{
//rb = GetComponent();
}
void Update()
{
/*movementForward = transform.forward * JoyStickMine.deltaPosition.y / movementSpeed;
movementRight = transform.right * JoyStickMine.deltaPosition.x / movementSpeed;*/
movementForward = myCamera.transform.forward * JoyStickMine.deltaPosition.y / movementSpeed;
movementRight = myCamera.transform.right * JoyStickMine.deltaPosition.y / movementSpeed;
movement = movementForward + movementRight;
movement.y = 0;
// transform.position += movement;
// rb.AddForce(movement);
rb.velocity = movement;
float horizontal = JoyStickLook.deltaPosition.x * (-5) * Time.deltaTime;
transform.Rotate(0, horizontal, 0, Space.World);
}
}
any help is appreciated and thanks in advance skullbeats1
↧