Страница 1 из 2

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

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

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

Спасибо за внимание и простите за многословие)

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

СообщениеДобавлено: 17 дек 2018, 10:43
waruiyume
Вы написали так много букафф, но чего вам нужно понять не получается.

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

СообщениеДобавлено: 17 дек 2018, 10:50
LoneRay
waruiyume писал(а):Вы написали так много букафф, но чего вам нужно понять не получается.
Так в конце же написал самом чтобы понятней было и наглядней.

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

СообщениеДобавлено: 17 дек 2018, 11:07
IDoNotExist
LoneRay писал(а):"Как правильно настроить статическое движение персонажа использую rigidbody?".

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

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

СообщениеДобавлено: 17 дек 2018, 11:08
waruiyume
Что такое "статическое движение"?

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

СообщениеДобавлено: 17 дек 2018, 12:31
LoneRay
IDoNotExist писал(а):
LoneRay писал(а):"Как правильно настроить статическое движение персонажа использую rigidbody?".

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

Своя логика передвижения если быть ещё точнее, то у меня 1) персонаж необычной формы и чарактер уже не пойдёт 2) это всё для диссертации 3) написать что-то своё это нужный опыт и знания

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

СообщениеДобавлено: 17 дек 2018, 12:33
LoneRay
waruiyume писал(а):Что такое "статическое движение"?

Под статикой я имел ввиду, чтобы скорость не менялась, то есть возрастает от 0 до 10 к примеру и 10 так и держится для rigidbody. Это как использовать коэфицент скорости напрямую через Транслейт

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

СообщениеДобавлено: 17 дек 2018, 12:38
waruiyume
Ну так и присваивайте скорость напрямую. Это какие-то глюки вызывает?

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

СообщениеДобавлено: 17 дек 2018, 17:33
LoneRay
waruiyume писал(а):Ну так и присваивайте скорость напрямую. Это какие-то глюки вызывает?

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

1) Как можно используя rigidbody перемещать персонажа без наложения скорости как делает это метод AddForce
2) Если не использовать физику, то как правильней сделать условие выхода за границу при условии, что персонаж перемещается не только в 4-е стороны, но и по ротации персонажа тоже.

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

СообщениеДобавлено: 17 дек 2018, 17:35
1max1
continuous dynmic мод и ничего не проскакивает
Еще можно коллайдеры потолще

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

СообщениеДобавлено: 17 дек 2018, 17:51
LoneRay
1max1 писал(а):continuous dynmic мод и ничего не проскакивает
Еще можно коллайдеры потолще

При высокой скорости всё-таки проскальзывает и тут даже не поможет dinamic и толстый коллайдер )
Синтаксис:
Используется csharp
_rigidbody.transform.Translate(new Vector3(0.0f, 0.0f, 1000));

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

СообщениеДобавлено: 17 дек 2018, 18:04
1max1
Нужно задавать скорость через velocity а не трансформ

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

СообщениеДобавлено: 17 дек 2018, 18:21
LoneRay
1max1 писал(а):Нужно задавать скорость через velocity а не трансформ

Ок. Попробую, отпишусь

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

СообщениеДобавлено: 17 дек 2018, 18:46
LoneRay
1max1 писал(а):Нужно задавать скорость через velocity а не трансформ

Во что кстати пишут в мануале (В большинстве случаев вам не нужно изменять скорость напрямую, т.к. это может быть причиной нереалистичного поведения. Не устанавливайте скорость объекта каждый физический шаг, это приведет к нереалистичной имитации физики. Типичный пример, где вы можете изменить скорость это прыжок в шутере от первого лица, потому что вам нужно немедленно изменить скорость.)

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

СообщениеДобавлено: 17 дек 2018, 19:00
1max1
Ну замечательно) Послушай юнитеков и сделай все наоборот))