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

Кастомный чарактер контроллер

СообщениеДобавлено: 20 июн 2019, 23:36
Sh0vel
Здравствуйте. Вопрос предельно короткий : Как реализовать кастомный чарактер контроллер? стандартный совершенно не устраивает из-за отсутствия возможности изменять и усложнять коллайдер. Кинематический рб не подходит как и манипуляции с весом,драгом,трением.Всё из-за того что такие контроллеры должны сталкиваться друг с другом и их может быть не определённое количество на сцене. Всё что удалось нащупать в этом направлении это:

1)Использовать рб и в момент столкновений через OnCollisionEnter направлять в противоположную сторону вектор силы для уравновешивания импульса при ударе.Но это всё равно не то.Есть погрешность и объект хоть на немного но будет сдвинут из-за позднего срабатывания OnCollisionEnter.

или

2)Использовать кинематический рб и отлавливать столкновения триггерами/рейкастами/расчётом потенциальных позиций в след. итерации. И это работает,но всё это просто выглядит когда один из них стоит на месте, а если объектов два и более, и они движутся в момент столкновения - тут уж я не знаю как быть.

Как так реализован стандартный чарактер контроллер или как быть?

Re: Кастомный чарактер контроллер

СообщениеДобавлено: 21 июн 2019, 01:51
AngryCat
Давай начнем с того, чем твой хар. Контроллер долден отличаться от стандартного?

Re: Кастомный чарактер контроллер

СообщениеДобавлено: 21 июн 2019, 02:14
Sh0vel
AngryCat писал(а):Давай начнем с того, чем твой хар. Контроллер долден отличаться от стандартного?


Возможность использовать любой тип коллайдера включая составные(2 и более коллайдеров одновременно для коллизии).

Re: Кастомный чарактер контроллер

СообщениеДобавлено: 21 июн 2019, 12:54
AngryCat
Sh0vel писал(а):
AngryCat писал(а):Давай начнем с того, чем твой хар. Контроллер долден отличаться от стандартного?


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

Синтаксис:
Используется csharp
void FixedUpdate(){
                GetComponent<Rigidbody> ().AddForce (transform.right * Input.GetAxis ("Horizontal") * speed + transform.forward * Input.GetAxis ("Vertical") * speed);
}

Re: Кастомный чарактер контроллер

СообщениеДобавлено: 21 июн 2019, 12:58
Jarico

Re: Кастомный чарактер контроллер

СообщениеДобавлено: 21 июн 2019, 15:09
Sh0vel
AngryCat писал(а):
Sh0vel писал(а):
AngryCat писал(а):Давай начнем с того, чем твой хар. Контроллер долден отличаться от стандартного?


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

Синтаксис:
Используется csharp
void FixedUpdate(){
                GetComponent<Rigidbody> ().AddForce (transform.right * Input.GetAxis ("Horizontal") * speed + transform.forward * Input.GetAxis ("Vertical") * speed);
}


так через физику и ковырял.Но как компенсировать воздействие сил при столкновениях?

Re: Кастомный чарактер контроллер

СообщениеДобавлено: 21 июн 2019, 16:05
AngryCat
Sh0vel писал(а):
AngryCat писал(а):
Sh0vel писал(а):
AngryCat писал(а):Давай начнем с того, чем твой хар. Контроллер долден отличаться от стандартного?


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

Синтаксис:
Используется csharp
void FixedUpdate(){
                GetComponent<Rigidbody> ().AddForce (transform.right * Input.GetAxis ("Horizontal") * speed + transform.forward * Input.GetAxis ("Vertical") * speed);
}


так через физику и ковырял.Но как компенсировать воздействие сил при столкновениях?
Не понял. Вроде в настройках физики достаточно параметров.

Re: Кастомный чарактер контроллер

СообщениеДобавлено: 25 июн 2019, 03:48
Sh0vel
AngryCat писал(а):
Sh0vel писал(а):
AngryCat писал(а):
Sh0vel писал(а):
AngryCat писал(а):Давай начнем с того, чем твой хар. Контроллер долден отличаться от стандартного?


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

Синтаксис:
Используется csharp
void FixedUpdate(){
                GetComponent<Rigidbody> ().AddForce (transform.right * Input.GetAxis ("Horizontal") * speed + transform.forward * Input.GetAxis ("Vertical") * speed);
}


так через физику и ковырял.Но как компенсировать воздействие сил при столкновениях?
Не понял. Вроде в настройках физики достаточно параметров.


Там подобное разве есть?.Всё что только можно это полностью выключать симуляцию физики или игнорировать столкновения на слоях.