|
JavaScript / HTML Создание динамической разметки страниц |
26.06.2015, 19:00
|
#76
|
Элита
Регистрация: 16.01.2010
Адрес: Новосибирск
Сообщений: 2,158
Написано 502 полезных сообщений (для 1,012 пользователей)
|
Ответ: PlayCanvas
Сообщение от Igor
ну, добавить параметры - время прыжка t, ускорение свободного падения g и расстояние между дорожками l.
Тогда горизонтальная скорость vx =l/t, вертикальная vy = g*t/2.
В принципе, позицию можно описать как функцию от времени и вообще не думать о скоростях.
|
расстояние фиксированное - 1, но если ступенька ниже - то + 1 на каждую ступеньку, собственно -1, если ступенька выше - это нужно тоже учесть.
Но спасибо, что-то зациклился на dt, dv, dx и т.д,
Моделька в момент приземления как-то резко дёргается - приземляется раньше, чем должно быть с точки зрения смотрящего на полёт игрока
|
это из-за того, что модель не долетает по x и центрируется на дорожку.
Cделал по совету Igor'a, получил гон - чем дольше двигаешься - тем дальше смещаешься по x, будто мир сужается.
Все перепроверил. Шаг между центрами линии - 2 метра, поворотов нет, формулы везде одинаковые. Грешу на нестабильность dt. При jumpTime < 0.3 начинает часто проваливаться сквозь линии, ну и сильнее разброс. Но если dt = 1/60 - так же. Теперь грешу на translate, не могу понять как он реализован, не могу найти в исходниках на GitHub. ( вот из-за этого мне и пришлось центрировать игрока)
Демка. Без визуала: http://playcanv.as/b/79dqc4oE
Весь скрипт: https://playcanvas.com/editor/code/348465/Game.js
Кусок кода:
movePlayer: function(dt) { var dz = this.checkGround() var pos = this.player.getPosition(); if(dz!==null && dz < 0.05 && dz > -.2) { if(this.lastRayEntity !== null && !this.playerOnGround) { this.playerVelocity.y = 0; this.playerVelocity.x = 0; var ls = this.lastRayEntity.getLocalScale().y + this.player.getLocalScale().y; pos.y = this.lastRayEntity.getPosition().y + ls / 2 ; //pos.x = this.lastRayEntity.getPosition().x; this.player.setPosition( pos ); this.playerOnGround = true; } var yJVel = this.gameG * this.jumpTime / 2; if(app.keyboard.wasPressed(pc.KEY_UP)) { this.playerVelocity.y = yJVel; } if(app.keyboard.wasPressed(pc.KEY_LEFT)) { this.playerVelocity.y = yJVel; this.playerVelocity.x = -this.jumpdV.x / this.jumpTime; } if(app.keyboard.wasPressed(pc.KEY_RIGHT)) { this.playerVelocity.y = yJVel; this.playerVelocity.x = this.jumpdV.x / this.jumpTime; } } else { this.playerOnGround = false; this.playerVelocity.y -= this.gameG * dt; console.log("[game] fall"); if(pos.y < -4 ) { this.playerReset(); } } this.player.translate(this.playerVelocity.x * dt, this.playerVelocity.y * dt ,0);
},
Последний раз редактировалось RegIon, 26.06.2015 в 21:21.
|
(Offline)
|
|
17.08.2015, 14:50
|
#77
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: PlayCanvas
Давно не обновлял топик, за это время было немного всяких обновлений там и сям, оптимизаций тоже.
На Канском фестивале на большом LED экране используя мобилку по ссылке в броузере, игрушку сделали за 3 дня.
Видео: https://vimeo.com/136313614
Также пример WebGL для мобильной игры по теме WWE vs MMX: http://mmx.playcanvas.com/?truck=johncena
Из обновлений: - Пользовательские камеры с интерполяцией - другие участники команды проекта теперь видят друг-друга камеры в сцене
- Материалы и кубмапы теперь можно сразу тягать в viewport из панели ассетов
- Зарефакторили систему загрузки ассетов и то как это было организовано в движке, улучшает производительность загрузки
- Всплывающие подсказки при наводки на модели и иконки
- Иконки для объектов без моделей
- Переделаны gizmo, теперь они более оптимальны и визуально консистенты, с дополнительными фичами
- Шейдеры теперь компилируются в движке только когда используются, что приводит к улучшению скорости загрузки
- Большая оптимизация по биндингу текстур с кешированием
- Gizmo для коллизий по стандарту спрятаны, и показываются только при выделении
- Добавлен рендер collision gizmo для тримешей
- html, css, text, json ассеты теперь коллаборативно редактируемые
- Пользователи ORG аккаунтов теперь могут экспортировать/импортировать весь проект целиком
- Пользователи ORG аккаунтов теперь могут изменять стандартный скрипт загрузки
- Много других разных фиксов и мелких улучшений
|
(Offline)
|
|
Эти 4 пользователя(ей) сказали Спасибо moka за это полезное сообщение:
|
|
25.08.2015, 19:53
|
#78
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: PlayCanvas
В TANX отыграло 1,000,000+ игроков!
Никакой рекламы игре, она поддерживает сама себя.
Недавние обновления движка и редактора:
- Добавили теги на ассеты. Теперь можно присваивать теги ассетам, и искать ассеты по тегам используя мини-query запросы. Работа с тегами самого ассета описана тут. Запросы на регистр ассетов описан тут.
Система тегов проще позволяет оперировать ассетами для разных задач, например загрузка уровней, с отображением прогресса загрузки. - Добавили curve, curvecolor, entity типы аттрибутов для скриптов.
- Сделали workaround на баг с драйвером у Adreno 420, который приводил к крешам броузера на Nexus 6 и пару других девайсов.
Ведем большую работу над улучшением работы с non-runtime ассетами. И реализацией файловой системы.
|
(Offline)
|
|
Эти 3 пользователя(ей) сказали Спасибо moka за это полезное сообщение:
|
|
01.09.2015, 17:20
|
#79
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: PlayCanvas
|
(Offline)
|
|
Эти 6 пользователя(ей) сказали Спасибо moka за это полезное сообщение:
|
|
23.09.2015, 09:30
|
#80
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: PlayCanvas
Тут небольшой фидбек появился... надеюсь будет полезен
[7:39:01] Igor Pozdeev: у кого оперативки мало, проверьте плиз http://unity.elarbis.com/ds_webgl/index.html
[8:12:11] Andrey Pakhomov: какие-то особые методы оптимизации?)
[8:13:22] Igor Pozdeev: нет
[8:13:41] Igor Pozdeev: просто раньше unity при старте отжирал много оперы и крашился
[8:14:15] Andrey Pakhomov: а сейчас это 5.2 и все лучше стало?
[8:14:24] Igor Pozdeev: да
[8:14:28] Andrey Pakhomov: понятно
[8:14:36] Andrey Pakhomov: ну загрузилось норм
[8:14:54] Igor Pozdeev: даже в IE 11 работает )
[8:15:08] Andrey Pakhomov: вот на полный экран разворачивает криво
[8:15:24] Igor Pozdeev: фулскрина не будет
[8:15:30] Andrey Pakhomov: понял)
[8:16:10] Igor Pozdeev: тупо взял старый webplayer проект и сбилдил с небольшими правками, приятно )
[8:16:20] Andrey Pakhomov: (y)
[8:19:29] Igor Pozdeev: а crunched dxt текстуры просто сказка
[8:19:47] Andrey Pakhomov: можно любого размера делать?
[8:20:01] Igor Pozdeev: меньше размер и качество
[8:20:06] Andrey Pakhomov: а, понял
[8:20:06] Igor Pozdeev: вот лайтмапы хорошо сжимать
[8:20:26] Igor Pozdeev: для веба самое то, типа jpg
[8:20:48] Igor Pozdeev: фух, пол года мучения с playcanvas
[8:20:59] Igor Pozdeev: возвращаемся на unity
[8:21:39] Andrey Pakhomov: а с плейканвасом какие проблемы?
[8:22:21] Andrey Pakhomov: передам багрепорт разработчикам)
[8:22:43] Igor Pozdeev: канваса?
[8:22:47] Andrey Pakhomov: угу)
[8:23:30] Igor Pozdeev: проблем с движком нет, очень понравился, похож на Unity. Просто программу с нуля писать )
[8:23:41] Andrey Pakhomov: понял)
[8:23:55 | Изменены 8:23:57] Igor Pozdeev: и начали со старой версии, а в новой сломали поддержку старой, после добавления PBR
[8:24:12] Igor Pozdeev: кости рендерятся в IE 11
[8:24:21] Igor Pozdeev: не должно быть
[8:24:33 | Изменены 8:24:41] Igor Pozdeev: и нет своего UI
[8:24:45 | Изменены 8:24:49] Igor Pozdeev: а это очень критично
[8:25:02] Andrey Pakhomov: понятно, но UI же html простой можно юзать
[8:25:05] Igor Pozdeev: делать на html под каждый браузер? нет уж
[8:25:30] Andrey Pakhomov: понял) так и передам)
[8:25:35] Igor Pozdeev: гуд
[8:26:18] Igor Pozdeev: ну и шейдеры писали в json, только только добавили поддержку glsl, полодцы
|
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо pax за это полезное сообщение:
|
|
23.09.2015, 11:15
|
#81
|
Дэвелопер
Регистрация: 04.09.2005
Адрес: Красноярск
Сообщений: 1,376
Написано 491 полезных сообщений (для 886 пользователей)
|
Ответ: PlayCanvas
moka, при просмотре демки казино заметил, что favicon не загружается.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
23.09.2015, 11:22
|
#82
|
Терабайт исходников
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений (для 6,051 пользователей)
|
Ответ: PlayCanvas
про это не понял
какой функционал нужен от UI?
уверен, есть чисто вебовские гуи либы, сводящие на ноль всю разницу браузеров.
|
(Offline)
|
|
23.09.2015, 14:33
|
#83
|
ПроЭктировщик
Регистрация: 30.01.2012
Сообщений: 162
Написано 40 полезных сообщений (для 86 пользователей)
|
Ответ: PlayCanvas
Сообщение от Mr_F_
уверен, есть чисто вебовские гуи либы, сводящие на ноль всю разницу браузеров.
|
За основу взять jQuery, кроссбраузерно и юзабельно. Либо AngularJS, если мсье знает толк в извращениях))
Да и в принципе создать интерфейс дело простое, Css3 в руки и вперед)
__________________
Blitz3D - СИЛА!
|
(Offline)
|
|
23.09.2015, 14:43
|
#84
|
[object Object]
Регистрация: 01.08.2008
Адрес: В России
Сообщений: 4,359
Написано 2,473 полезных сообщений (для 6,856 пользователей)
|
Ответ: PlayCanvas
Сообщение от Mr_F_
*** скрытый текст ***
|
Универсальный ответ на все вопросы по PlayCanvas уже звучал в теме.
__________________
Retry, Abort, Ignore? █
Intel Core i7-9700 4.70 Ghz; 64Gb; Nvidia RTX 3070
AMD Ryzen 7 3800X 4.3Ghz; 64Gb; Nvidia 1070Ti
AMD Ryzen 7 1700X 3.4Ghz; 8Gb; AMD RX 570
AMD Athlon II 2.6Ghz; 8Gb; Nvidia GTX 750 Ti
|
(Offline)
|
|
23.09.2015, 15:51
|
#85
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: PlayCanvas
Сообщение от pax
Тут небольшой фидбек появился... надеюсь будет полезен
|
Спасибо за перепост.
[7:39:01] Igor Pozdeev: у кого оперативки мало, проверьте плиз http://unity.elarbis.com/ds_webgl/index.html
[8:12:11] Andrey Pakhomov: какие-то особые методы оптимизации?)
[8:13:22] Igor Pozdeev: нет
[8:13:41] Igor Pozdeev: просто раньше unity при старте отжирал много оперы и крашился
[8:14:15] Andrey Pakhomov: а сейчас это 5.2 и все лучше стало?
[8:14:24] Igor Pozdeev: да
[8:14:28] Andrey Pakhomov: понятно
[8:14:36] Andrey Pakhomov: ну загрузилось норм
[8:14:54] Igor Pozdeev: даже в IE 11 работает )
|
Работать то оно работает, но только на десктопах. Половина Chrome запусков, особенно на Mac'ах до сих пор крашится.
Также вы на размер даже пустой демки посмотрите.
Статистически, если пользователь не может взаимодействовать в течении 1-2 секунд, то там экспоненциально происходит bounce пользователей. При загрузках в 10 секунд, дроп рейт более 50%.
Это не думаю что измениться, т.к. web есть web. И по этой причине многим Unity проектам будет не сладко - куча игроков просто не заценят игру. Да и на мобильных броузерах это не предвидится вообще.
[8:19:29] Igor Pozdeev: а crunched dxt текстуры просто сказка
[8:19:47] Andrey Pakhomov: можно любого размера делать?
[8:20:01] Igor Pozdeev: меньше размер и качество
[8:20:06] Andrey Pakhomov: а, понял
[8:20:06] Igor Pozdeev: вот лайтмапы хорошо сжимать
[8:20:26] Igor Pozdeev: для веба самое то, типа jpg
|
А мы как раз работаем над asset variants'ами, где в зависимости от поддержки, будет грузится нужный формат текстур, которые мы будем автоматом генерить на все текстуры, учитывая их специфики (alpha, hdr, ldr).
[8:20:48] Igor Pozdeev: фух, пол года мучения с playcanvas
[8:20:59] Igor Pozdeev: возвращаемся на unity
[8:21:39] Andrey Pakhomov: а с плейканвасом какие проблемы?
[8:22:21] Andrey Pakhomov: передам багрепорт разработчикам)
[8:22:43] Igor Pozdeev: канваса?
[8:22:47] Andrey Pakhomov: угу)
[8:23:30] Igor Pozdeev: проблем с движком нет, очень понравился, похож на Unity. Просто программу с нуля писать )
|
Пол года работал, и решил перестать работать с ним? Жалко же выбрасывать..
[8:23:55 | Изменены 8:23:57] Igor Pozdeev: и начали со старой версии, а в новой сломали поддержку старой, после добавления PBR
|
Можно поподробнее что сломали? Там все обратно совместимо должно быть. Хотя старая система материалов потихоньку уходит на задний план - это да, т.к. она убогая. PBR не на много "дороже", но качество в разы выше.
[8:24:12] Igor Pozdeev: кости рендерятся в IE 11
[8:24:21] Igor Pozdeev: не должно быть
|
М?
[8:24:33 | Изменены 8:24:41] Igor Pozdeev: и нет своего UI
[8:24:45 | Изменены 8:24:49] Igor Pozdeev: а это очень критично
[8:25:02] Andrey Pakhomov: понятно, но UI же html простой можно юзать
[8:25:05] Igor Pozdeev: делать на html под каждый браузер? нет уж
|
Если держится WebGL, значит держится CSS3, и на самом деле нету никакой разницы почти в html/css с поддержкой webgl.
По факту, есть много плагинов на Unity, которые используют этот самый html/css для UI, и они весьма популярны.
[8:26:18] Igor Pozdeev: ну и шейдеры писали в json, только только добавили поддержку glsl, полодцы
|
Добавили угу, и скоро добавим override чанков шейдера в Editor'е, чтобы можно было сразу в эдиторе видеть результат.
Было бы супер ещё фидбека вытянуть, побольше. Он всегда нам очень важен и полезен.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
23.09.2015, 22:53
|
#86
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Отправил автору фидбека ссылку на эту тему, если ответит в личку, перепощу сюда.
[7:21:08] Igor Pozdeev: Ух как раскрасил, не все же так плохо )
[7:21:58] Igor Pozdeev: кости
[7:22:04] Igor Pozdeev: походу это EDGE а не IE 11
[7:34:13] Igor Pozdeev: UI - для не веб программиста это сложно. Нужны минимумы: спрайты (guitexture), кнопки, scrollview (клиппинг).
[8:45:22] Igor Pozdeev: а не, про кости это наш косяк
Последний раз редактировалось moka, 24.09.2015 в 14:39.
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо pax за это полезное сообщение:
|
|
24.09.2015, 14:43
|
#87
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: PlayCanvas
Сообщение от pax
[7:34:13] Igor Pozdeev: UI - для не веб программиста это сложно. Нужны минимумы: спрайты (guitexture), кнопки, scrollview (клиппинг).
|
Ну минимум это просто делается используя свой шейдер который в скрин-спейсе будет рендерить.
Делать полностью свой UI на webgl мало оправдано на данный момент. Большинство клиентов предпочитает как раз таки html+css, и не имеют никаких проблем. Найти front-end'ера сегодня очень легко.
Да и html/css легко учатся.
Unity в таком варианте (превью мебели), не взлетит, т.к. там минимум будет 15мб весить загрузка, и на многих броузерах крашится.
Плюс нету по ресурсного кешинга, т.к. все запаковано в .data файл.
|
(Offline)
|
|
24.09.2015, 15:15
|
#88
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: PlayCanvas
Сообщение от moka
Unity в таком варианте (превью мебели), не взлетит, т.к. там минимум будет 15мб весить загрузка, и на многих броузерах крашится.
|
Ну билд плеера диванов (которыми когда-то я занимался) вместе с UI сейчас в gz весит около 6 мегабайт + бандль дивана 0,6 - 2 мб вместе с лайтмепами + каталог тканей в json порядка 600кб + превьюшки тканей при запуске сколько-то килобайт. до 15 мб что-то далеко еще.
если конкретно то вот билд:
|
(Offline)
|
|
24.09.2015, 15:23
|
#89
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: PlayCanvas
Ну скачал ты в gzip'е, но это скормить еще броузеру нужно.
Да и 6мб - для какой-то мелкой превьюшки в 3д, это уже огромный перебор. Это же не полноценная игра.
На посредственном интернете и компьютере, это будет сколько качаться, грузиться, и как будет работать?
|
(Offline)
|
|
24.09.2015, 15:26
|
#90
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: PlayCanvas
Ну я согласен что это много с этой точки зрения. Но написать для веба на C# тоже фича требующая жертв) К тому же в альтернативу web player который чтобы скачать и установить будет примерно столько же по скачиваемому размеру. Там dll моно тоже выкачиваются перед запуском. С появлением WebAssembly может что-то улучшится еще. Экспорт в WebGL еще на ранней стадии своей.
Но это все оффтоп)
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 08:17.
|