Manuals
Manuals




This translation is community contributed and may not be up to date. We only maintain the English version of the documentation. Read this manual in English

Трасування променів

Трасування променів (ray casts) використовується для зчитування стану фізичного світу вздовж прямого променя. Щоб виконати трасування променя у фізичному світі, задайте початкову й кінцеву позиції, а також набір груп колізій для перевірки на перетин.

Якщо промінь влучить у фізичний об’єкт, ви отримаєте інформацію про цей об’єкт. Промені перетинаються з динамічними, кінематичними й статичними об’єктами. Вони не взаємодіють із тригерами.

function update(self, dt)
  -- request ray cast
  local my_start = vmath.vector3(0, 0, 0)
  local my_end = vmath.vector3(100, 1000, 1000)
  local my_groups = { hash("my_group1"), hash("my_group2") }

  local result = physics.raycast(my_start, my_end, my_groups)
  if result then
      -- act on the hit (see 'ray_cast_response' message for all values)
      print(result.id)
  end
end

Під час трасування променів ігноруються об’єкти колізій, які містять початкову точку променя. Це обмеження Box2D.