- 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/
Your answer
 
 
              koobas.hobune.stream
koobas.hobune.stream 
                       
                
                       
			     
			 
                