как лучше сделать управление?

Общие вопросы о Unity3D

как лучше сделать управление?

Сообщение давыдов никита 14 янв 2018, 20:31

привет
я создавал игру где ты управляешь танком и с толкнулся с одной проблеммой
перемещал я его с помошью:

void Update ()
{
float horizontal = Input.GetAxis("Horizontal") * Time.deltaTime * 20f;
float forward = Input.GetAxis("Vertical") * Time.deltaTime * 30f;
transform.Translate(new Vector3(forward, 0, 0));
transform.Rotate(new Vector3(0, horizontal, 0));
}

но когда я упираюсь в стену, тоесть в объект с коллайдером. то он просто колеблиться туда сюда. как это исправить или как изменить скрипт?
давыдов никита
UNец
 
Сообщения: 4
Зарегистрирован: 14 янв 2018, 20:06

Re: как лучше сделать управление?

Сообщение Ksaan 14 янв 2018, 20:42

Как вариант можно райкастом пустить в направлений движения, и смотреть дистанцию до препятствия и останавливать движение.
Аватара пользователя
Ksaan
UNец
 
Сообщения: 34
Зарегистрирован: 13 мар 2017, 15:25

Re: как лучше сделать управление?

Сообщение давыдов никита 14 янв 2018, 21:26

Ksaan писал(а):Как вариант можно райкастом пустить в направлений движения, и смотреть дистанцию до препятствия и останавливать движение.

тоесть при определённом значении дистанции онулировать переменные вычеслющие троекторию движения по векторам?
давыдов никита
UNец
 
Сообщения: 4
Зарегистрирован: 14 янв 2018, 20:06

Re: как лучше сделать управление?

Сообщение Cr0c 14 янв 2018, 23:43

C таким перемещением
Синтаксис:
Используется csharp
transform.Translate(new Vector3(forward, 0, 0));
transform.Rotate(new Vector3(0, horizontal, 0));

лучше смириться с
давыдов никита писал(а):колеблиться туда сюда

Потому что физика работает через Rigidbody
Аватара пользователя
Cr0c
Адепт
 
Сообщения: 3035
Зарегистрирован: 19 июн 2015, 13:50
Skype: cr0c81

Re: как лучше сделать управление?

Сообщение давыдов никита 15 янв 2018, 20:10

Cr0c писал(а):C таким перемещением
Синтаксис:
Используется csharp
transform.Translate(new Vector3(forward, 0, 0));
transform.Rotate(new Vector3(0, horizontal, 0));

лучше смириться с
давыдов никита писал(а):колеблиться туда сюда

Потому что физика работает через Rigidbody

а что если при столкновении колайдеров уменьшать скорость до десятых
я протестил, при мизерной скорости он не колеблиться
давыдов никита
UNец
 
Сообщения: 4
Зарегистрирован: 14 янв 2018, 20:06

Re: как лучше сделать управление?

Сообщение давыдов никита 15 янв 2018, 20:12

Cr0c писал(а):C таким перемещением
Синтаксис:
Используется csharp
transform.Translate(new Vector3(forward, 0, 0));
transform.Rotate(new Vector3(0, horizontal, 0));

лучше смириться с
давыдов никита писал(а):колеблиться туда сюда

Потому что физика работает через Rigidbody

ну или как по другому можно перемещать?
давыдов никита
UNец
 
Сообщения: 4
Зарегистрирован: 14 янв 2018, 20:06

Re: как лучше сделать управление?

Сообщение Cr0c 15 янв 2018, 21:38

давыдов никита писал(а):ну или как по другому можно перемещать?

Скоростью же. Это легко и просто.
Аватара пользователя
Cr0c
Адепт
 
Сообщения: 3035
Зарегистрирован: 19 июн 2015, 13:50
Skype: cr0c81


Вернуться в Общие вопросы

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 12