Как исправить разрыв экрана в cocos3d?

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

введите здесь описание изображения

введите здесь описание изображения

введите здесь описание изображения

Я использую OpenGLES 2.0.

Это видео, показывающее проблему.

И это тестовый проект, который воспроизводит проблему, это просто шаблон cocos3d с файлом Temple.pod .

Кажется, это происходит только тогда, когда поле зрения составляет 85º или шире.


person rraallvv    schedule 31.03.2014    source источник
comment
Это происходит только при движении камеры?   -  person Matt Fichman    schedule 01.04.2014
comment
@MattFichman Это происходит и тогда, когда камера статична, и когда она динамична.   -  person rraallvv    schedule 01.04.2014
comment
@rraallw Это странно. Я думал, что это может быть разрыв экрана (что устраняется включением вертикальной синхронизации), но, похоже, это не так. Я не так хорошо знаком с cocos3d - как часто он меняет буфер экрана? Цикл рендеринга работает/обновляется постоянно?   -  person Matt Fichman    schedule 01.04.2014
comment
@MattFichman Цикл рендеринга представляет собой CADisplayLink с NSDefaultRunLoopMode, буфер экрана меняется местами после каждого прохода цикла рендеринга, я также добавил ссылку на видео, показывающее проблему.   -  person rraallvv    schedule 01.04.2014
comment
Как вы создаете перспективное преобразование?   -  person Matt Fichman    schedule 01.04.2014
comment
@MattFichman Спасибо, это было близкое расстояние плоскости отсечения при преобразовании перспективы.   -  person rraallvv    schedule 01.04.2014


Ответы (1)


Из того, что я могу сказать, запустив вашу демонстрацию, «разрыв», по-видимому, происходит, когда ближняя плоскость отсечения вашей камеры нарушает вашу модель. По сути, это результат попадания камеры в вашу модель.

Свойство CC3Camera nearClippingDistance управляет расстоянием до ближней плоскости отсечения камеры. Значение по умолчанию — 1.0. Если масштаб координат вашей сцены очень мал, вам следует настроить ближнее и дальнее расстояние отсечения камеры до значений, более подходящих для вашей сцены.

person Bill Hollings    schedule 01.04.2014
comment
Спасибо, это было NearClippingDistance, оно было слишком велико для стены. - person rraallvv; 01.04.2014