Проблема с контролёром - неадекватное перемещение персонажа - Форум Игроделов
Пн, 20 Май 2024, 02:21 
 
Приветствую Вас Гость Главная | Регистрация | Вход
Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум Игроделов » UNITY3D » HELP & FAQ » Проблема с контролёром - неадекватное перемещение персонажа
Проблема с контролёром - неадекватное перемещение персонажа
RatnikДата: Вт, 06 Авг 2013, 22:14 | Сообщение # 1
 
Сообщений: 2
Награды: 0
Репутация: 0
Статус: Offline
Здравствуйте. У меня проблема такая. При тестировании , персонаж как от первого лица так и от 3-го начинает вращение вокруг своей оси, причём в настройки и код скриптов не влазил, всё по умолчанию. кнопки wasd и space действуют как надо, но как только бросаешь какую либо кнопку, вращение возобновляется. Ошибок в логах нет, помогите решить проблему.

Сообщение отредактировал Ratnik - Вт, 06 Авг 2013, 22:15
 
СообщениеЗдравствуйте. У меня проблема такая. При тестировании , персонаж как от первого лица так и от 3-го начинает вращение вокруг своей оси, причём в настройки и код скриптов не влазил, всё по умолчанию. кнопки wasd и space действуют как надо, но как только бросаешь какую либо кнопку, вращение возобновляется. Ошибок в логах нет, помогите решить проблему.

Автор - Ratnik
Дата добавления - 06 Авг 2013 в 22:14
seamanДата: Вт, 06 Авг 2013, 22:26 | Сообщение # 2
Гуру
 
Сообщений: 1748
Награды: 10
Репутация: 660
Статус: Offline
Выложите простейший проект. Если ничего не меняли в стандарте - такого быть не должно. Так что нужно смотреть проект.
 
СообщениеВыложите простейший проект. Если ничего не меняли в стандарте - такого быть не должно. Так что нужно смотреть проект.

Автор - seaman
Дата добавления - 06 Авг 2013 в 22:26
RatnikДата: Ср, 07 Авг 2013, 20:16 | Сообщение # 3
 
Сообщений: 2
Награды: 0
Репутация: 0
Статус: Offline
Я недавно работаю с движком, каким образом мне его выложить ?. В стандарте не менял ничего. 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;
}
}


Сообщение отредактировал Ratnik - Ср, 07 Авг 2013, 20:25
 
СообщениеЯ недавно работаю с движком, каким образом мне его выложить ?. В стандарте не менял ничего. 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;
}
}

Автор - Ratnik
Дата добавления - 07 Авг 2013 в 20:16
Форум Игроделов » UNITY3D » HELP & FAQ » Проблема с контролёром - неадекватное перемещение персонажа
  • Страница 1 из 1
  • 1
Поиск:
Загрузка...

Game Creating CommUnity © 2009 - 2024