Я недавно работаю с движком, каким образом мне его выложить ?. В стандарте не менял ничего. C cамописным контроллером работает как надо:
Код
using UnityEngine;
using System.Collections;
public enum Type {PlusPosition, ForceRigidBody}//перечисляем типы передвижений
public class move1 : MonoBehaviour {
public Type Typeof; //переменная перечисления
public Transform player;//объект класса трансформ -player-
public int speed;//переменнная скорости
public int jumpImpulse;//переменная прыжка
public bool isJump;
void Start()
{
player = transform;//player это объект на котором висит скрипт
}
void Update()
{
if (Typeof == Type.PlusPosition)
{
if (Input.GetKey (KeyCode.W))
{player.position += player.forward * speed * Time.deltaTime;}
if (Input.GetKey (KeyCode.S))
{player.position -= player.forward * speed * Time.deltaTime;}
if (Input.GetKey (KeyCode.A))
{player.position -= player.right * speed * Time.deltaTime;}
if (Input.GetKey (KeyCode.D))
{player.position += player.right * speed * Time.deltaTime;}
}
else
{
if (Input.GetKey (KeyCode.W))
{player.rigidbody.AddForce (player.forward * speed * Time.deltaTime, ForceMode.Impulse);}
if (Input.GetKey (KeyCode.S))
{player.rigidbody.AddForce (-player.forward * speed * Time.deltaTime, ForceMode.Impulse);}
if (Input.GetKey (KeyCode.A))
{player.rigidbody.AddForce (-player.right * speed * Time.deltaTime, ForceMode.Impulse);}
if (Input.GetKey (KeyCode.D))
{player.rigidbody.AddForce (player.right * speed * Time.deltaTime, ForceMode.Impulse);}
}
if (Input.GetKey(KeyCode.Space) && !isJump )
{
Jump();
}
}
void Jump(){
isJump = true;
player.rigidbody.AddForce(Vector3.up * jumpImpulse * Time.deltaTime , ForceMode.Impulse);
}
void OnCollisionEnter()
{
isJump = false;
}
}