Поиск…


Коллайдеры

Коробчик с коробкой

Первобытный коллайдер в форме кубика. Включение и выключение Box Colliders

свойства

  • Является триггером - если отмечено, Коллайдер Box игнорирует физику и становится триггерным коллайдером

  • Материал - ссылка, если она указана, физическому материалу Box Collider

  • Center - Центральное положение Box Collider в местном пространстве

  • Размер - размер коллайдера Box, измеренный в локальном пространстве

пример

// Add a Box Collider to the current GameObject.
BoxCollider myBC = BoxCollider)myGameObject.gameObject.AddComponent(typeof(BoxCollider));
 
// Make the Box Collider into a Trigger Collider.
myBC.isTrigger= true;

// Set the center of the Box Collider to the center of the GameObject.
myBC.center = Vector3.zero;

// Make the Box Collider twice as large.
myBC.size = 2;

Сферный коллайдер

Первобытный коллайдер в форме шара. Включено и отключено Sphere Colliders

свойства

  • Является триггером - если галочкой, Sphere Collider будет игнорировать физику и стать триггерным коллайдером

  • Материал - ссылка, если указано, физическому материалу Сферного коллайдера

  • Center - Центральное положение Sphere Collider в локальном пространстве

  • Радиус - радиус коллайдера

пример

// Add a Sphere Collider to the current GameObject.
SphereCollider mySC = SphereCollider)myGameObject.gameObject.AddComponent(typeof(SphereCollider));
 
// Make the Sphere Collider into a Trigger Collider.
mySC.isTrigger= true;

// Set the center of the Sphere Collider to the center of the GameObject.
mySC.center = Vector3.zero;

// Make the Sphere Collider twice as large.
mySC.radius = 2;

Капсульный коллайдер

Две полусферы, соединенные цилиндром. Включенные и отключенные коллайдеры капсул

свойства

  • Является триггером - если галочкой, Capsule Collider будет игнорировать физику и стать триггерным коллайдером

  • Материал - ссылка, если указано, физическому материалу Коллайдера капсулы

  • Центр - центральное положение капсульного коллайдера в местном пространстве

  • Радиус - радиус в локальном пространстве

  • Высота - общая высота коллайдера

  • Направление - ось ориентации в локальном пространстве

пример

// Add a Capsule Collider to the current GameObject.
CapsuleCollider myCC = CapsuleCollider)myGameObject.gameObject.AddComponent(typeof(CapsuleCollider));
 
// Make the Capsule Collider into a Trigger Collider.
myCC.isTrigger= true;

// Set the center of the Capsule Collider to the center of the GameObject.
myCC.center = Vector3.zero;

// Make the Sphere Collider twice as tall.
myCC.height= 2;

// Make the Sphere Collider twice as wide.
myCC.radius= 2;

// Set the axis of lengthwise orientation to the X axis.
myCC.direction = 0;

// Set the axis of lengthwise orientation to the Y axis.
myCC.direction = 1;

// Set the axis of lengthwise orientation to the Y axis.
myCC.direction = 2;

Коллайдер колес

свойства

  • Масса - масса колесного коллайдера

  • Радиус - радиус в локальном пространстве

  • Коэффициент демпфирования колес - значение демпфирования для коллайдера колес

  • Расстояние подвески - максимальное удлинение вдоль оси Y в локальном пространстве

  • Расстояние до точки приложения - точка, в которой будут применены силы,

  • Центр - Центр коллайдера колес в местном пространстве

Подвеска Весна

  • Весна - скорость, с которой колесо пытается вернуться в целевое положение

  • Damper - большее значение уменьшает скорость больше, а подвеска движется медленнее

  • Целевая позиция - по умолчанию - 0,5, при 0 - нижняя нижняя часть подвески, при 1 - при полном растяжении

  • Прямое / боковое трение - как работает шина при движении вперед или вбок

пример


Сетчатый коллайдер

Коллайдер на основе Mesh Asset. Невыпуклые и выпуклые сетчатые коллайдеры

свойства

  • Является триггером - если отмечено, Коллайдер Box игнорирует физику и становится триггерным коллайдером

  • Материал - ссылка, если она указана, физическому материалу Box Collider

  • Mesh - ссылка на сетку, на которой работает коллайдер, основана на

  • Convex - Convex Mesh-коллайдеры ограничены 255 полигонами - если этот параметр включен, этот коллайдер может столкнуться с другими коллайдерами сетки

пример


Если вы применяете несколько коллайдеров к GameObject, мы называем это сложным коллайдером. введите описание изображения здесь

Коллайдер колес

Коллайдер колеса внутри единства построен на коллайдере колеса PhysX от Nvidia и, следовательно, обладает многими аналогичными свойствами. Технически единство - это «бесплотная» программа, но для того, чтобы все имело смысл, требуются некоторые стандартные единицы.

Основные свойства

  • Масса - вес колеса в килограммах, это используется для импульса колеса и момента взаимодействия при вращении.
  • Радиус - в метрах, радиус коллайдера.
  • Колесная скорость демпфирования - регулирует, как «реагировать» на крутящий момент.
  • Расстояние подвески - общее расстояние в метрах, которое колесо может перемещаться
  • Force App Point Distance - где сила от подвески применяется к материнской жесткости
  • Центр - центральное положение колеса

Настройки подвески

  • Весна - это постоянная пружины, К, в Ньютонах / метр в уравнении:

Force = Spring Constant * Расстояние

Хорошей отправной точкой для этого значения должна быть общая масса вашего автомобиля, деленная на количество колес, умноженная на число от 50 до 100. Например, если у вас есть автомобиль объемом 2 000 кг с 4 колесами, тогда каждое колесо должно поддержка 500 кг. Умножьте это на 75, и ваша постоянная пружины должна составлять 37 500 ньютонов / метр.

  • Демпфер - эквивалент амортизатора в автомобиле. Более высокие показатели делают ожидание «более жестким» и более низкие ставки делают его «более мягким» и более склонным к колебаниям.
    Я не знаю единиц или уравнений для этого, я думаю, что это имеет отношение к частотным уравнениям в физике.

Боковые настройки трения

Кривая трения в единице имеет значение скольжения, определяемое тем, сколь скользит колесо (в м / с) от желаемого положения относительно фактического положения.

  • Extremum Slip - это максимальное количество (в м / с), когда колесо может скользить, прежде чем оно потеряет сцепление

  • Экстремальное значение - это максимальное количество трения, которое должно применяться к колесу.

Значения для Exrtremum Slip должны быть от 0,2 до 2 м / с для большинства реалистичных автомобилей. 2 м / с составляет около 6 футов в секунду или 5 миль в час, что является большим количеством промахов. Если вы считаете, что ваше транспортное средство должно иметь значение выше 2 м / с для скольжения, вы должны учитывать увеличение максимального трения (значение экстремума).

Max Fraction (Extremum Value) - коэффициент трения в уравнении:

Сила трения (в ньютонах) = Коэффициент трения * Сила нисходящего движения (в ньютонах)

Это означает, что с коэффициентом 1, вы применяете всю силу автомобиля + подвеску, противоположную направлению скольжения. В реальных приложениях значения, превышающие 1, редки, но не невозможны. Для шины на сухом асфальте значения между .7 и .9 реалистичны, поэтому предпочтительнее значение по умолчанию 1,0.

Это значение не должно реалистично не превышать 2,5, так как произойдет странное поведение. Например, вы начинаете поворачивать направо, но поскольку это значение настолько велико, большая сила применяется против вашего направления, и вы начинаете скользить в поворот, а не прочь.

Если у вас есть maxed оба значения, вы должны начать поднимать асимптотическое скольжение и значение. Асимптотический сдвиг должен быть между 0,5 и 2 м / с и определяет коэффициент трения для любого значения скольжения за пропуском Asymptote. Если вы обнаружите, что ваши транспортные средства ведут себя хорошо, пока не сломают тягу, в этот момент он действует так, как будто на льду, вы должны повысить значение Asymptote. Если вы обнаружите, что ваш автомобиль не может дрейфовать, вы должны снизить его значение.

Прямое трение

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

Дополнительные примечания

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

Для достижения наилучших результатов вы должны настроить эти значения до тех пор, пока автомобиль не будет достаточно хорошо реагировать, а затем внесите изменения в крутящий момент колеса, максимальный угол поворота и значения трения в сценарии.

Более подробную информацию о коллайдерах колес можно найти в документации Nvidia: http://docs.nvidia.com/gameworks/content/gameworkslibrary/physx/guide/Manual/Vehicles.html

Триггерные коллайдеры

методы

  • OnTriggerEnter()
  • OnTriggerStay()
  • OnTriggerExit()

Вы можете сделать коллайдер в триггер , чтобы использовать OnTriggerEnter() , OnTriggerStay() и OnTriggerExit() . Триггер-коллайдер физически не реагирует на столкновения, другие GameObjects просто проходят через него. Они полезны для обнаружения, когда другой GameObject находится в определенной области или нет, например, при сборе элемента, мы можем захотеть просто запустить его, но обнаружить, когда это произойдет.

Скрипты триггера-коллайдера

пример

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

void OnTriggerEnter(Collider other)
{
    //Check collider for specific properties (Such as tag=item or has component=item)
}


Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow