Физика модели (управление от третьего лица)

Физика в Unity

Re: Физика модели (управление от третьего лица)

Сообщение Zaicheg 05 фев 2010, 07:49

Satan писал(а):Другое дело moveDirection, встроенная функция в CharacterController.Видимо она просчитывает расстояние до колизии и если впереди преграда,то продвигает ровно до нее.

Функция называется CharacterController.Move()
Это толком не документировано, но я полагаю, что она реализует передвижение аналогично rigidbody.velocity.
Именно из-за не очень высокой для меня прозрачности работы CharacterController я отказался от его использования почти сразу же. Rigidbody + Collider дают не меньший функционал.
Дьяченко Роман
e-mail: _zaicheg.reg@gmail.com
skype: zaicheg12
vkontakte: _vk.com/zaichegq
Работа: _wie3.com _www.sanviz.com
Аватара пользователя
Zaicheg
Адепт
 
Сообщения: 3024
Зарегистрирован: 19 июн 2009, 15:12
Откуда: Череповец

Re: Физика модели (управление от третьего лица)

Сообщение BORODA 13 фев 2010, 23:26

Столкнулся с проблемами гравитации.
Сделал небольшую тестовую сцену.
Изображение
Проблема в том что если сместить куб чуть чуть вправо он падает на землю со скоростью света. Фактически за 1 кадр. Пробовал менять настройки гравитации во всех местах которые нашел (контроллеры, конфиги проекта...) - никакого эффекта.
Как это решить?
Thifeo: The Ultimate Dream - Arcade Unity Game in development.
Аватара пользователя
BORODA
UNIт
 
Сообщения: 57
Зарегистрирован: 12 фев 2010, 17:51
Откуда: Львов
Skype: OSXX86
  • Сайт

Re: Физика модели (управление от третьего лица)

Сообщение warr11r 14 фев 2010, 09:18

Скрипт какой-то к кубику прицеплен?
Мудрость - это когда начинаешь понимать, что все время занимаешься какой-то х...ней.
Изображение
Аватара пользователя
warr11r
UNITрон
 
Сообщения: 310
Зарегистрирован: 06 июн 2009, 03:21
Откуда: Украина, Ровно
  • ICQ

Re: Физика модели (управление от третьего лица)

Сообщение BORODA 14 фев 2010, 10:41

Вообщем сегодня утром взглянув свежим взглядом на скрипт нашел причину.
Было
Код: Выделить всё
       moveDirection.y -= gravity * Time.deltaTime;

Стало
Код: Выделить всё
   if (!grounded)
   {
       // Apply gravity
       moveDirection.y -= gravity * Time.deltaTime;
   }

Фактически я постоянно применял гравитацию к объекту. Не зависимо от того находился он на чем то или нет. Сила накапливалась с каждой секундой и получалась такая лабуда.
Проблема решена. [V]
Thifeo: The Ultimate Dream - Arcade Unity Game in development.
Аватара пользователя
BORODA
UNIт
 
Сообщения: 57
Зарегистрирован: 12 фев 2010, 17:51
Откуда: Львов
Skype: OSXX86
  • Сайт

Re: Физика модели (управление от третьего лица)

Сообщение underground 25 мар 2010, 15:07

лично я так ничего и не понял - попытался переделать fpswalker
получился mywalker.js
Код: Выделить всё
[syntax=]
var gravity = 20.0;
var speed = 20.0;

private var moveDirection = Vector3.zero;
function Update () {
   var z = Input.GetAxis("Vertical") * Time.deltaTime * speed;
   var controller : CharacterController = GetComponent(CharacterController);
   if (controller.collisionFlags != CollisionFlags.Sides)

   {
   transform.Translate(0, 0, z);
   }
   
   if (controller.collisionFlags == CollisionFlags.None)
   

      {
   
      transform.Translate(0, -0.01, 0);
   }
   // Move the controller
   
   
   var x = Input.GetAxis("Horizontal") *Time.deltaTime *100;
   transform.Rotate(0, x, 0);
   
}

@script RequireComponent(CharacterController)
[/syntax]

но коллизии всеравно не работают как ни крути ~x(
underground
UNец
 
Сообщения: 2
Зарегистрирован: 25 мар 2010, 14:40

Re: Физика модели (управление от третьего лица)

Сообщение Neodrop 25 мар 2010, 17:36

Учимся использовать тег Syntax :-w
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: Физика модели (управление от третьего лица)

Сообщение DanilaDIV 22 авг 2014, 09:22

Так и не понял как заставить ГО перешагивать невысокие объекты. Что именно влияет в капсулколлайдоре?
DanilaDIV
UNITрон
 
Сообщения: 247
Зарегистрирован: 06 май 2014, 12:10

Пред.

Вернуться в PhysX

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

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