- Home /
Space Game (Noob Movement Question)
I am currently working on a space game and I am 3D artist so no Programming know how! i have this script in here
using UnityEngine;
using System.Collections;
[RequireComponent (typeof(CharacterController))]
public class Movement : MonoBehaviour {
public float moveSpeed = 5;
public float strafeSpeed = 2.5f;
public float rotateSpeed = 2;
private Transform _myTransform;
private CharacterController _controller;
public void Awake()
{
_myTransform = transform;
_controller = GetComponent<CharacterController>();
}
// Use this for initialization
void Start () {
rigidbody.useGravity = false;
Screen.lockCursor = true;
}
// Update is called once per frame
void Update () {
if (Mathf.Abs(Input.GetAxis("MoveForward")) > 0){
rigidbody.AddRelativeForce(100, 100, 100);
//Debug Text
Debug.Log("Forward:" + Input.GetAxis("MoveForward"));
}
if (Mathf.Abs(Input.GetAxis("Strafe"))> 0){
Debug.Log("Strafe:" + Input.GetAxis("Strafe"));
_controller.SimpleMove(_myTransform.TransformDirection(Vector3.right) * Input.GetAxis("Strafe") *strafeSpeed);
}
}
}
the problem im having is there is no movement Forwards and the Strafing causes my cube to fall to the platform underneath it. Any help would be amazing, I don't want to ask my dad yet (he is a programmer) because im sure this is a simple fix and he would make fun of me :P
Hey nothing's simple for a system you've never used before :) Bet your Dad would love to help...
So normally for starters you would use a rigidbody OR a CharacterController. So you probably want to stick to CharacterController and it doesn't use that add relative force stuff.
$$anonymous$$oving forwards might look like this:
// $$anonymous$$ove forward / backward
var forward : Vector3 = transform.TransformDirection(Vector3.forward);
var curSpeed : float = speed * Input.GetAxis ("Vertical");
controller.Simple$$anonymous$$ove(forward * curSpeed);
Which comes from here: http://unity3d.com/support/documentation/ScriptReference/CharacterController.Simple$$anonymous$$ove.html
Or how about working through a tutorial like this one: http://www.scottpetrovic.com/blog/2009/11/unity3d-3rd-person-basic-movementrotation-wsource/