Hovering PlayerObject interacting with World Space in a confusing manner
Hello Unity Answers,
I'm trying to create a hovering player object that will stay above the ground at all times i.e. never touch the ground. The player object is a cube and is currently a child of an empty parent object at (0, 0, 0) with an offset of (0, 0.15, 0) set on the cube itself (it's size is (0.3, 0.3, 0.3). A box collider has been added, Along with two scripts; the "Player Health" script from the Survival Horror tutorial and one I've made for basic movement, shown below:
using UnityEngine;
using System.Collections;
public class NewPlayerMovement : MonoBehaviour
{
public float speed = 3f;
public float runSpeed = 1.5f;
public float jump = 10;
Vector3 movement; // Player movement vector
Vector3 rotation; // Player rotation vector
void Start ()
{
this.transform.position = new Vector3(0, 1, -10);
}
void Update()
{
if (Input.GetKey ("w"))
transform.Translate (Vector3.forward * Time.deltaTime * speed);
if (Input.GetKey ("s"))
transform.Translate (Vector3.back * Time.deltaTime * speed);
if (Input.GetKey ("q"))
transform.Translate (Vector3.left * Time.deltaTime * speed);
if (Input.GetKey ("e"))
transform.Translate (Vector3.right * Time.deltaTime * speed);
if (Input.GetKey ("a"))
transform.Rotate (Vector3.down * Time.deltaTime * speed * 25);
if (Input.GetKey ("d"))
transform.Rotate (Vector3.up * Time.deltaTime * speed * 25);
if (Input.GetKeyDown ("space"))
transform.Translate (Vector3.up * Time.deltaTime * jump);
}
}
There are two other components attached, the rigidbody and box collider. This seems straight forward enough but the issue comes from when the object colliders with anything in the world space. I have primitives from Unity in place for certain elements of the world as well as an imported 3DS file:
Plane for the ground floor
Cubes that act as pillars, the walls for a spawning area as well as the boundaries of the map and a smaller second floor
An imported 3DS Max file in the shape of a flat ramp
The entire map has been baked so that AI can use the map so I know that it has no issues with objects such as the ramp section but my player object does. I am unsure of why my character is doing this and I expect I have missed something out, either component wise or a piece of code that I have not implemented but would appreciate if someone could offer up their own suggestion to this problem.
Many Thanks.
Your answer
Follow this Question
Related Questions
How can i restart a script on collision ? 1 Answer
Cannot detect trigger 2 Answers
How to make wall go up, when you collect cube? 0 Answers
Toggle collider with key 0 Answers
My character doesn't detect collisions or Hinge joint. 0 Answers