2015-01-03 5 views
3

Я работаю над игрой с физикой бурундук (SpriteBuilder + Cocos2d v3). Существует один игровой объект с динамическим телом и несколькими «стенами» (статические тела).Cocos2d Chipmunk Physics issue

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

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

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

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

Там нет коды обработки любых столкновений

+0

там не хватает контекста (код, настройки столкновений, положения и форма, точное поведение), чтобы ответить на этот вопрос существенным образом – LearnCocos2D

+0

Добавлена ​​некоторые данные о параметрах – user3770313

+0

решен путем добавления: [ [CCDirector sharedDirector] setFixedUpdateInterval: 1/180.0f]; _physicsNode.space.collisionBias = 0; – user3770313

ответ

1

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

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