Движение и физика объекта

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

Движение и физика объекта

Сообщение LoneRay 17 дек 2018, 10:24

День добрый уважаемые спецы своего дела :)
Если не хотим читать текст ниже), то сама проблема на тек. момент подчёркнута в самом конце.

В ходе решения своей проблемы столкнулся с весьма разными костылями, которые бы я хотел избежать и поэтому пишу сюда на форум, людям у которых уже есть опыт или идеи как можно решить. И так суть заключается в том, что у меня есть персонаж, который может передвигаться в 4 направлениях x,z,-x,-z + используется ротация для указания направления движения. Управление всё работает как надо, но проблема сама возникла на этапе ограничения игровой зоны, чтобы игрок не смог за неё выйти. Пробовал использовать коллайдеры с рейкастами, но там говнокод получается, то есть много условий и длинный код, да и работает не так как надо из-за чего становится плохо(мне). Потом пробовал коллайдеры с физикой, но тут провал был по скорости так как управлял до этого момента через Транслэйт, а далее после того как прочитал, что position != Physic решил использовать методы физики, но тут вроде всё ок, но не обошлось опять без проблем. 1) Если прилаживать силы постоянно, то идёт по нарастающей. 2) С массой = 1, скоростью = 1 и силой трения = 0 объект ваще не двигается и понять не могу почему так, даже юзать форсмод пробовал и не помогло и хз теперь чё делать. Есть вариант с помощью железных координат поставить, минуя ваще всё нахрен, но данный подход я оставлю на самые последок, когда совсем надежда утухнет. И мне почему-то кажется, что с помощью физики можно хорошо всё сделать, но у меня увы опыта не хватает и знания поэтому прошу вас спецов unity и идейных людей помочь с решением данной проблемы, которая заключается в том, что "Как правильно настроить статическое движение персонажа использую rigidbody?".

Спасибо за внимание и простите за многословие)
Последний раз редактировалось LoneRay 17 дек 2018, 10:52, всего редактировалось 1 раз.
«Нужно делать так, как нужно. А как не нужно, делать не нужно!»
Аватара пользователя
LoneRay
UNец
 
Сообщения: 49
Зарегистрирован: 11 июн 2016, 11:31

Re: Движение и физика объекта

Сообщение waruiyume 17 дек 2018, 10:43

Вы написали так много букафф, но чего вам нужно понять не получается.
Аватара пользователя
waruiyume
Адепт
 
Сообщения: 6143
Зарегистрирован: 30 окт 2010, 05:03
Откуда: Ростов на Дону

Re: Движение и физика объекта

Сообщение LoneRay 17 дек 2018, 10:50

waruiyume писал(а):Вы написали так много букафф, но чего вам нужно понять не получается.
Так в конце же написал самом чтобы понятней было и наглядней.
«Нужно делать так, как нужно. А как не нужно, делать не нужно!»
Аватара пользователя
LoneRay
UNец
 
Сообщения: 49
Зарегистрирован: 11 июн 2016, 11:31

Re: Движение и физика объекта

Сообщение IDoNotExist 17 дек 2018, 11:07

LoneRay писал(а):"Как правильно настроить статическое движение персонажа использую rigidbody?".

Зачем для этого использовать Rigidbody, когда есть CharacterController?
Аватара пользователя
IDoNotExist
Адепт
 
Сообщения: 1432
Зарегистрирован: 23 мар 2011, 09:18
Skype: iamnoexist

Re: Движение и физика объекта

Сообщение waruiyume 17 дек 2018, 11:08

Что такое "статическое движение"?
Аватара пользователя
waruiyume
Адепт
 
Сообщения: 6143
Зарегистрирован: 30 окт 2010, 05:03
Откуда: Ростов на Дону

Re: Движение и физика объекта

Сообщение LoneRay 17 дек 2018, 12:31

IDoNotExist писал(а):
LoneRay писал(а):"Как правильно настроить статическое движение персонажа использую rigidbody?".

Зачем для этого использовать Rigidbody, когда есть CharacterController?

Своя логика передвижения если быть ещё точнее, то у меня 1) персонаж необычной формы и чарактер уже не пойдёт 2) это всё для диссертации 3) написать что-то своё это нужный опыт и знания
«Нужно делать так, как нужно. А как не нужно, делать не нужно!»
Аватара пользователя
LoneRay
UNец
 
Сообщения: 49
Зарегистрирован: 11 июн 2016, 11:31

Re: Движение и физика объекта

Сообщение LoneRay 17 дек 2018, 12:33

waruiyume писал(а):Что такое "статическое движение"?

Под статикой я имел ввиду, чтобы скорость не менялась, то есть возрастает от 0 до 10 к примеру и 10 так и держится для rigidbody. Это как использовать коэфицент скорости напрямую через Транслейт
«Нужно делать так, как нужно. А как не нужно, делать не нужно!»
Аватара пользователя
LoneRay
UNец
 
Сообщения: 49
Зарегистрирован: 11 июн 2016, 11:31

Re: Движение и физика объекта

Сообщение waruiyume 17 дек 2018, 12:38

Ну так и присваивайте скорость напрямую. Это какие-то глюки вызывает?
Аватара пользователя
waruiyume
Адепт
 
Сообщения: 6143
Зарегистрирован: 30 окт 2010, 05:03
Откуда: Ростов на Дону

Re: Движение и физика объекта

Сообщение LoneRay 17 дек 2018, 17:33

waruiyume писал(а):Ну так и присваивайте скорость напрямую. Это какие-то глюки вызывает?

Угу. Если использовать коллайдер, то при высокой скорости столкновения он проходит сквозь него так как физика не успевает, а если и вовсе без неё, то там получится приличный скрипт для проверки выхода за границу локации. Поэтому и спрашиваю у опытных.

1) Как можно используя rigidbody перемещать персонажа без наложения скорости как делает это метод AddForce
2) Если не использовать физику, то как правильней сделать условие выхода за границу при условии, что персонаж перемещается не только в 4-е стороны, но и по ротации персонажа тоже.
Последний раз редактировалось LoneRay 17 дек 2018, 17:38, всего редактировалось 1 раз.
«Нужно делать так, как нужно. А как не нужно, делать не нужно!»
Аватара пользователя
LoneRay
UNец
 
Сообщения: 49
Зарегистрирован: 11 июн 2016, 11:31

Re: Движение и физика объекта

Сообщение 1max1 17 дек 2018, 17:35

continuous dynmic мод и ничего не проскакивает
Еще можно коллайдеры потолще
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51

Re: Движение и физика объекта

Сообщение LoneRay 17 дек 2018, 17:51

1max1 писал(а):continuous dynmic мод и ничего не проскакивает
Еще можно коллайдеры потолще

При высокой скорости всё-таки проскальзывает и тут даже не поможет dinamic и толстый коллайдер )
Синтаксис:
Используется csharp
_rigidbody.transform.Translate(new Vector3(0.0f, 0.0f, 1000));
«Нужно делать так, как нужно. А как не нужно, делать не нужно!»
Аватара пользователя
LoneRay
UNец
 
Сообщения: 49
Зарегистрирован: 11 июн 2016, 11:31

Re: Движение и физика объекта

Сообщение 1max1 17 дек 2018, 18:04

Нужно задавать скорость через velocity а не трансформ
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51

Re: Движение и физика объекта

Сообщение LoneRay 17 дек 2018, 18:21

1max1 писал(а):Нужно задавать скорость через velocity а не трансформ

Ок. Попробую, отпишусь
«Нужно делать так, как нужно. А как не нужно, делать не нужно!»
Аватара пользователя
LoneRay
UNец
 
Сообщения: 49
Зарегистрирован: 11 июн 2016, 11:31

Re: Движение и физика объекта

Сообщение LoneRay 17 дек 2018, 18:46

1max1 писал(а):Нужно задавать скорость через velocity а не трансформ

Во что кстати пишут в мануале (В большинстве случаев вам не нужно изменять скорость напрямую, т.к. это может быть причиной нереалистичного поведения. Не устанавливайте скорость объекта каждый физический шаг, это приведет к нереалистичной имитации физики. Типичный пример, где вы можете изменить скорость это прыжок в шутере от первого лица, потому что вам нужно немедленно изменить скорость.)
«Нужно делать так, как нужно. А как не нужно, делать не нужно!»
Аватара пользователя
LoneRay
UNец
 
Сообщения: 49
Зарегистрирован: 11 июн 2016, 11:31

Re: Движение и физика объекта

Сообщение 1max1 17 дек 2018, 19:00

Ну замечательно) Послушай юнитеков и сделай все наоборот))
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51

След.

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

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

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