google earth kml animatedupdate несколько изменений - PullRequest
0 голосов
/ 24 июня 2018

Я не могу понять, как применить несколько анимированных обновлений «шагов» в KML.Пожалуйста помоги.Все данные связаны здесь, чтобы продемонстрировать проблему.В этом примере ... сначала откройте ссылку на модель рельса - это моментальный снимок, который приведет вас (пользователя) в область проекта.Нажмите на самую северную кривую рельса.Затем откройте другой KMZ - с именем DOC02 ... DOC02 обеспечивает анимацию (Тур) ... воспроизвести тур (часть 2) и ... бункер идет по кривой, хотя в данных тура достаточно шагов, чтобыпочти завершить всю кривую - почему применяются только первые 3 анимированных обновления?... Сначала я попытался использовать руководства, на которые ссылаются бесчисленные другие сообщения о переполнении стека по этой теме.Но этот результат был еще хуже.3d-модель имеет идентификатор местоположения t1 и идентификатор ориентации t2.Когда я использую их в качестве идентификатора цели в анимированных обновлениях - Тьфу!анимация совершенно неправильная, модель идет прямо к концу кривой.Так.Я добавил ID при каждом изменении трансформации.Эта идея обеспечила лучшую анимацию, но анимация использует только первые 2 анимированных обновления.Если весь этот текст вызывает у людей головную боль, просто дайте мне знать, и я предоставлю видео ... Я, наверное, сделаю это позже сегодня.Спасибо за ваше терпение.

модель подвесного рельса в KMZ Google Планета Земля

Набор 3d-модели бункера идет по кривой в KMZ Google Планета Земля

1 Ответ

0 голосов
/ 28 июня 2018

https://developers.google.com/kml/documentation/touring#gxanimatedupdate-and-the-tour-timeline

Приведенная выше ссылка приведет вас на страницу документации kml, в которой конкретно указано, что:

"Анимированные обновления выполняются параллельно временной шкале, то есть тур продолжается непосредственно до следующего примитива тура в плейлисте, пока происходит анимированное обновление. Gx: duration определяет продолжительность времени, которое требуется для обновления произойдет, но не задержит следующий примитив тура. Чтобы анимационное обновление завершилось до того, как произойдет следующее действие, вставьте gx: Wait с длительностью, равной продолжительности обновления, между анимированным обновлением и следующий примитив тура. Кроме того, анимированное обновление будет усечено, если его продолжительность превышает длительность последнего элемента gx: FlyTo или gx: Wait. Можно либо изменить соответствующие значения gx: duration, либо вставить дополнительный элемент gx: Wait в конце списка воспроизведения, чтобы указать время обновления анимации.

Что, по сути, говорит о том, что AnimatedUpdate не поддержит тур. Только flyTo и Wait продлят тур. Причина, по которой ваш тур заканчивается после первых двух анимаций, заключается в том, что это все анимации, которые он может пройти в течение длины тура.

В основном, чтобы решить вашу проблему, вставьте gx: wait с продолжительностью> = продолжительность вашего AnimatedUpdate после EACH AnimatedUpdate. Это продлит тур и позволит завершить анимацию до окончания тура. (потому что gx: wait продлевает тур)

(В качестве альтернативы добавьте достаточно долгое ожидание в начале, так же, как вы делали с концом.)

Также см .: https://developers.google.com/kml/documentation/touring#tour-timelines

...