Почему объекты с высокой скоростью частично проходят через тела статической физики?

Самый простой метод, о котором я могу думать, состоит в том, чтобы сохранить последовательность изображений в матрице и посещать матрицу каждый раз, когда вы хотите показывать новые изображения. Предпочтительно матрица расположена так, что каждая строка является показателем двух изображений, которые должны быть показаны одновременно. Вы можете сохранить число строк, отображаемых в настоящее время в handles или appdata, и продвигать этот nunber каждый раз, когда нажимается следующая кнопка.

Ниже приведена демонстрация идеи. Вам нужно будет установить habdles.curSeqNum = 1; в OpeningFcn.

function next_block_Callback(hObject, eventdata, handles) 

% Image sequence
mySeq = [1 2; 2 3; 4 5; 5 6; 7 8; 8 9];

nxtSeqNum = handles.curSeqNum + 1;
if nxtSeqNum > size(mySeq, 1), nxtSeqNum = 1; end

imshow(handles.images_fig{mySeq(nxtSeqNum, 1)},'parent',handles.axes1);
imshow(handles.images_fig{mySeq(nxtSeqNum, 2)},'parent',handles.axes2);

handles.curSeqNum = nxtSeqNum;
guidata(hObject,handles)

end
3
задан ayaio 19 January 2019 в 09:58
поделиться

1 ответ

Поскольку обнаружение столкновений происходит на кадр, и ваш объект уже частично проходил через твердое тело, когда обнаруживалось столкновение.

Вы можете попробовать увеличить continuousCollisionDetectionThreshold, чтобы увеличить разрешение вычислений за счет производительности.

https://developer.apple.com/documentation/scenekit/scnphysicsbody/3013743-continuouscollisiondetectionthre

0
ответ дан Bitwise Creative 19 January 2019 в 09:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: