T
T
Triborg-3332021-12-14 16:45:40
Unity
Triborg-333, 2021-12-14 16:45:40

Which is better, rigid body or character controller for player?

Which is better, rigid body or character controller for player ?

Answer the question

In order to leave comments, you need to log in

2 answer(s)
E
Ente, 2021-12-14
@Triborg-333

Character Controller - arcade physics, like Doom, run at a speed of 60 km per hour, instantly turn, jump like a super mario.
Rigid Body is closer to GTA IV-style physics, with ragdolls, slides, etc.
If you need realistic - use Rigid Body, if realistic physics is not needed - Character Controller

A
Alexey Ukolov, 2015-07-07
@Valeriy1997

function historyLoad() {
  // History - это какая-то обертка над History API, что возвращает метод getState точно неизвестно
  var State = History.getState();

  // Просто логирование
  History.log('initial:', State.data, State.title, State.url);

  // Показывается прелоадер
  $('#preload').fadeIn(200);

  // Если последний символ в url слеш, то:
  // 1. изменяется глобальная переменная content
  // 2. выполняется функция getHeader
  // 3. функция завершает работу
  if ("/" == State.url.slice(-1))
  {
    content = "home";
    getHeader();
    return;
  }

  // Разбиваем url по знаку вопроса (забыли var)
  str = State.url.split('?');

  // Берем часть после знака вопроса (забыли var)
  strSplit = str[1];

  console.log(strSplit);

  // Разбивает часть после знака вопроса по амперсанду (забыли var)
  l = strSplit.split('&');

  // Если есть что-то между знаком вопроса и первым амперсандом
  if (l[0])
  {
    // В зависимости от того, что находится перед первым амперсандом
    switch (l[0])
    {
      case "en":
      case "ru":
      case "ua":
        // изменяем глобальную переменную lang
        // вызываем функцию getHeader
        lang = l[0];
        getHeader();
        break;
      default:
        // если первый элемент перед амперсандом не en, ru или ua:
        // 1. изменяется глобальная переменная content
        // 2. выполняется функция getHeader
        content = "abra";
        getHeader();
        break;
    }

    if (l[1] && undefined != l[1])
    {
      // Если что-то есть между первым и вторым амперсандами (ну или просто после первого, если других нет),
      // записываем эту строку в глобальную переменную content
      content = l[1]
    }
  }
  else
  {
    // Вызывем функцию getHeader
    getHeader();
  }
}

// Выполняем функцию при старте страницы
historyLoad();

// слушаем изменение url страницы, используя обертку над History API и выполняем функцию historyLoad
History.Adapter.bind(window, 'statechange', function () { // Note: We are using statechange instead of popstate
  // Log the State
  historyLoad();
});

Well, in general, Vitaly Pukhov is right - there is nothing special in this code, after a month of studying js (that is, you already understand the syntax well), you can easily figure it out by decomposing the code into small pieces.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question