U
Ursina Engine. Игры на Python.
@UrsinaEngine247 подп.
224просмотров
90.7%от подписчиков
15 декабря 2025 г.
Score: 246
💥ОБРАБОТКА СТОЛКНОВЕНИЙ💥 В Ursina Engine обработка столкновений строится вокруг коллайдеров и нескольких удобных способов проверки столкновений. ✅Что такое столкновение в Ursina Столкновение возникает, когда коллайдер одного объекта пересекается с коллайдером другого. У объекта есть: ➖model — визуальное представление ➖collider — физическая форма для столкновений ❗️ Без collider объект не участвует в столкновениях. ✅Типы коллайдеров 🔹 Автоматический Entity(model='cube', collider='box') Entity(model='sphere', collider='sphere') 🔹 Ручной (точный контроль) Entity(collider=BoxCollider(entity, size=(1,2,1))) Entity(collider=SphereCollider(entity, radius=0.5)) 🔹 MeshCollider (влияет на производительность) Entity(model='model.obj', collider='mesh') ‼️Используй mesh только если box или sphere не подходят. ✅Проверка столкновений через intersects() Самый простой и часто используемый способ. if player.intersects(enemy).hit: print("Столкновение!") def update(): if player.intersects().hit: print("Игрок во что-то врезался") ⚠️ intersects() без аргументов проверяет все коллайдеры сцены. 🔻Что возвращает intersects(): ➖.hit — True / False ➖.entity — с чем столкнулись ➖.point — точка удара ➖.normal — нормаль поверхности ➖.distance — расстояние ✅Визуализация коллайдера (для отладки) a = Entity(model = 'cube',color = color.red, collider = 'box', ) a.collider.visible = True ✅Частые ошибки ❌ Нет collider Entity(model='cube') # столкновений не будет ❌ Проверка в input вместо update def input(key): if player.intersects().hit: # плохая идея ❌ MeshCollider в большом количестве ➡️ падение FPS
224
просмотров
1709
символов
Нет
эмодзи
Нет
медиа

Другие посты @UrsinaEngine

Все посты канала →
💥ОБРАБОТКА СТОЛКНОВЕНИЙ💥 В Ursina Engine обработка столкно — @UrsinaEngine | PostSniper