forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   JavaScript / HTML (http://forum.boolean.name/forumdisplay.php?f=136)
-   -   PlayCanvas (http://forum.boolean.name/showthread.php?t=19214)

RegIon 26.06.2015 19:00

Ответ: PlayCanvas
 
Цитата:

Сообщение от Igor (Сообщение 296985)
ну, добавить параметры - время прыжка 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
Кусок кода:
PHP код:

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.0;
                    
this.playerVelocity.0;
                    
                    var 
ls this.lastRayEntity.getLocalScale().this.player.getLocalScale().y;
                    
pos.this.lastRayEntity.getPosition().ls ;
                    
//pos.x = this.lastRayEntity.getPosition().x;
                    
this.player.setPositionpos );
                    
this.playerOnGround true;
                }
                
                var 
yJVel this.gameG this.jumpTime 2;
                
                if(
app.keyboard.wasPressed(pc.KEY_UP)) {
                    
this.playerVelocity.yJVel;
                }
                
                if(
app.keyboard.wasPressed(pc.KEY_LEFT)) {
                    
this.playerVelocity.=  yJVel;
                    
this.playerVelocity.x  = -this.jumpdV.this.jumpTime;
                }
                
                if(
app.keyboard.wasPressed(pc.KEY_RIGHT)) {
                    
this.playerVelocity.=  yJVel;
                    
this.playerVelocity.this.jumpdV.this.jumpTime;
                }
                
            } else {
                
                
this.playerOnGround false;
                
this.playerVelocity.-= this.gameG  *  dt;
                
console.log("[game] fall");
                if(
pos.< -) {
                    
this.playerReset();
                }
            }
            
            
this.player.translate(this.playerVelocity.dtthis.playerVelocity.dt ,0);

        }, 


moka 17.08.2015 14:50

Ответ: 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 аккаунтов теперь могут изменять стандартный скрипт загрузки
  • Много других разных фиксов и мелких улучшений

moka 25.08.2015 19:53

Ответ: PlayCanvas
 
В TANX отыграло 1,000,000+ игроков!
Никакой рекламы игре, она поддерживает сама себя.

Недавние обновления движка и редактора:
  • Добавили теги на ассеты. Теперь можно присваивать теги ассетам, и искать ассеты по тегам используя мини-query запросы. Работа с тегами самого ассета описана тут. Запросы на регистр ассетов описан тут.
    Система тегов проще позволяет оперировать ассетами для разных задач, например загрузка уровней, с отображением прогресса загрузки.
  • Добавили curve, curvecolor, entity типы аттрибутов для скриптов.
  • Сделали workaround на баг с драйвером у Adreno 420, который приводил к крешам броузера на Nexus 6 и пару других девайсов.

Ведем большую работу над улучшением работы с non-runtime ассетами. И реализацией файловой системы.

moka 01.09.2015 17:20

Ответ: PlayCanvas
 
Casino


pax 23.09.2015 09:30

Ответ: 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, полодцы

Жека 23.09.2015 11:15

Ответ: PlayCanvas
 
moka, при просмотре демки казино заметил, что favicon не загружается.

Mr_F_ 23.09.2015 11:22

Ответ: PlayCanvas
 
Цитата:

кости рендерятся в IE 11
Цитата:

не должно быть
про это не понял

Цитата:

и нет своего UI
какой функционал нужен от UI?

Цитата:

под каждый браузер?
уверен, есть чисто вебовские гуи либы, сводящие на ноль всю разницу браузеров.

Skaner 23.09.2015 14:33

Ответ: PlayCanvas
 
Цитата:

Сообщение от Mr_F_ (Сообщение 299815)
уверен, есть чисто вебовские гуи либы, сводящие на ноль всю разницу браузеров.

За основу взять jQuery, кроссбраузерно и юзабельно. Либо AngularJS, если мсье знает толк в извращениях))

Да и в принципе создать интерфейс дело простое, Css3 в руки и вперед)

Randomize 23.09.2015 14:43

Ответ: PlayCanvas
 
Цитата:

Сообщение от Mr_F_ (Сообщение 286793)
*** скрытый текст ***

Универсальный ответ на все вопросы по PlayCanvas уже звучал в теме.

moka 23.09.2015 15:51

Ответ: PlayCanvas
 
Цитата:

Сообщение от pax (Сообщение 299811)
Тут небольшой фидбек появился... надеюсь будет полезен :)

Спасибо за перепост.

Цитата:

[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'е, чтобы можно было сразу в эдиторе видеть результат.

Было бы супер ещё фидбека вытянуть, побольше. Он всегда нам очень важен и полезен.

pax 23.09.2015 22:53

Отправил автору фидбека ссылку на эту тему, если ответит в личку, перепощу сюда.

[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:43

Ответ: PlayCanvas
 
Цитата:

Сообщение от pax (Сообщение 299840)
[7:34:13] Igor Pozdeev: UI - для не веб программиста это сложно. Нужны минимумы: спрайты (guitexture), кнопки, scrollview (клиппинг).

Ну минимум это просто делается используя свой шейдер который в скрин-спейсе будет рендерить.

Делать полностью свой UI на webgl мало оправдано на данный момент. Большинство клиентов предпочитает как раз таки html+css, и не имеют никаких проблем. Найти front-end'ера сегодня очень легко.
Да и html/css легко учатся.

Unity в таком варианте (превью мебели), не взлетит, т.к. там минимум будет 15мб весить загрузка, и на многих броузерах крашится.
Плюс нету по ресурсного кешинга, т.к. все запаковано в .data файл.

pax 24.09.2015 15:15

Ответ: PlayCanvas
 
Цитата:

Сообщение от moka (Сообщение 299857)
Unity в таком варианте (превью мебели), не взлетит, т.к. там минимум будет 15мб весить загрузка, и на многих броузерах крашится.

Ну билд плеера диванов (которыми когда-то я занимался) вместе с UI сейчас в gz весит около 6 мегабайт + бандль дивана 0,6 - 2 мб вместе с лайтмепами + каталог тканей в json порядка 600кб + превьюшки тканей при запуске сколько-то килобайт. до 15 мб что-то далеко еще.

если конкретно то вот билд:

moka 24.09.2015 15:23

Ответ: PlayCanvas
 
Ну скачал ты в gzip'е, но это скормить еще броузеру нужно.
Да и 6мб - для какой-то мелкой превьюшки в 3д, это уже огромный перебор. Это же не полноценная игра.
На посредственном интернете и компьютере, это будет сколько качаться, грузиться, и как будет работать?

pax 24.09.2015 15:26

Ответ: PlayCanvas
 
Ну я согласен что это много с этой точки зрения. Но написать для веба на C# тоже фича требующая жертв) К тому же в альтернативу web player который чтобы скачать и установить будет примерно столько же по скачиваемому размеру. Там dll моно тоже выкачиваются перед запуском. С появлением WebAssembly может что-то улучшится еще. Экспорт в WebGL еще на ранней стадии своей.

Но это все оффтоп)


Часовой пояс GMT +4, время: 15:26.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot