Проблема с физикой бурундука в Cocos2d

Работаю над игрой с физикой бурундука (SpriteBuilder + Cocos2d v3). Есть один игровой объект с динамическим телом и несколько «стен» (статических тел).

Когда мой игровой объект падает на стену под ним, он немного проходит через статическое тело, а затем статическое тело выталкивается из себя.

Это происходит не всегда, может быть, в 50% раз. Скорость не очень высокая. Игровой объект (динамический) падает примерно на половину экрана телефона.

И. Я видел эту проблему только несколько дней назад, рано все было хорошо.

Под действием силы тяжести динамический объект Rect допускает вращение. Плотность = 1, Трение = 1, Эластичность = 0,3 Стены = [CCPhysicsBody bodyWithRect: objectRectForPh cornerRadius: 0], все остальные физические параметры по умолчанию.

Нет никакого кода обработки коллизий


person user3770313    schedule 03.01.2015    source источник
comment
недостаточно контекста (код, настройка столкновения, положения и формы, точное поведение), чтобы дать содержательный ответ на этот вопрос   -  person LearnCocos2D    schedule 03.01.2015
comment
Добавлена ​​информация о параметрах   -  person user3770313    schedule 03.01.2015
comment
Решается добавлением: [[CCDirector sharedDirector] setFixedUpdateInterval: 1 / 180.0f]; _physicsNode.space.collisionBias = 0;   -  person user3770313    schedule 09.01.2015


Ответы (1)


Вы получаете эту проблему, потому что Chipmunk не поддерживает CCD (непрерывное обнаружение столкновений). Это можно решить (но для меня это не 100% гарантия), используя меньшие временные шаги, но при этом используется больше процессорного времени.

Дополнительная информация на официальном форуме https://chipmunk-physics.net/forum/viewtopic.php?f=1&t=2149

person KAMIKAZE    schedule 29.04.2015