![]() |
Ответ: Кто какую игру делает? Скрины
В водичку сие чудо закину (кто знает в какую, тот поймет)
|
Ответ: Кто какую игру делает? Скрины
Вложений: 2
Только игровая логика
|
Ответ: Кто какую игру делает? Скрины
Вложений: 1
"Лоуполиум". :)
|
Ответ: Кто какую игру делает? Скрины
Хоть и с некоторыми сложностями сделал экспорт модели из Макса. Оказалось, Макс флиппает V-координату и делает ещё кое-какие странные вещи. Вообще, странные вещи — это в духе "Макса". Ну да ладно, пора бы уже к этому привыкнуть. Даже думать страшно, как я буду возиться с костями в МаксСкрипте. Ну да ладно. Спецификация формата уже придумана и экспортёр работает. Также сделан загрузчик этого добра в старый добрый Блитз3Д. На загрузку в движок времени сегодня уже не хватило. В формате пока даже нет материалов и трансформаций, ну, ничего. Начало, как говорится, положено. Вот его спецификация, версия 1: 10 байт - название формата 2 байта - номер версии 2 байта - длина служебной строки сама служебная строка 2 байта - кол-во объектов ОБЪЕКТЫ 2 байта - длина имени объекта само имя объекта 2 байта - кол-во сурфейсов СУРФЕЙСЫ 4 байта - число вершин 4 байта - число индексов ВЕРШИНЫ 4 байта - X 4 байта - Y 4 байта - Z 4 байта - U 4 байта - V 4 байта - W 4 байта - NX 4 байта - NY 4 байта - NZ ИНДЕКСЫ 4 байта - первая вершина 4 байта - вторая вершина 4 байта - третья вершина |
Ответ: Кто какую игру делает? Скрины
Когда грузишь данные, и создаёшь буфера, там вроди важна поочерёдность как данные пихаются во Float32Array, следственно хранить в этой же последовательности данные в самом файле - очень удобно.
Тогда можно будет грузить данные в ArrayBuffer и затем напрямую от туда в Float32Array который уже идёт в WebGL. Это может очень сильно ускорить загрузку моделей. |
Ответ: Кто какую игру делает? Скрины
Цитата:
Я чтобы обойти проблему с кешем, тупо завёл глобальную переменную для каждой страницы, и когда нужно убедиться что клиенты не грузят js и css из кешей, тупо меняю переменную. При обновлении все ссылки на скрипты и css уже другие, при этом путь к вайлу тот же. Работает как часы. |
Ответ: Кто какую игру делает? Скрины
Спасибо за совет. Вообще я бы хотел чтобы всё-таки игра что-то хранила в кеше, не грузя всё каждый раз. Пока что не буду трогать, но возьму на заметку. Есть ещё куча других дел не сделанных.
|
Ответ: Кто какую игру делает? Скрины
Цитата:
|
Ответ: Кто какую игру делает? Скрины
Цитата:
|
Ответ: Кто какую игру делает? Скрины
Цитата:
PHP код:
|
Ответ: Кто какую игру делает? Скрины
Цитата:
Дело можно кешировать или оптимайзить кучей способов - но ты уловил идею. |
Ответ: Кто какую игру делает? Скрины
В любом случае этот файл отдается сразу после загрузки html страницы. Так что имхо нормально. К тому же для кэширования я использую cloudflare
|
Ответ: Кто какую игру делает? Скрины
Клепаю на досуге.
![]() В кадре: Корабль, состоящий из куска брони Какой-то дженерик фон Голубой крест - позиция на начало хода Красный крест - позиция на конец хода Красная плоская хрень - селектор поворота корабля (диапазон на скриншоте - 130 градусов) Жёлтая плоская хрень - селектор возможных скоростей (пока не привязан к рассчитываемым ускорениям) Воооооооот.... |
Ответ: Кто какую игру делает? Скрины
Цитата:
|
Ответ: Кто какую игру делает? Скрины
|
Ответ: Кто какую игру делает? Скрины
|
Ответ: Кто какую игру делает? Скрины
Цитата:
Второй запуск - норм. |
Ответ: Кто какую игру делает? Скрины
А вот и АО подоспело (фейковое, конечно же). Как и всегда там же. Как и всегда, вы можете застать демку "в процессе" и увидеть там что-то смишное. |
Ответ: Кто какую игру делает? Скрины
Вложений: 1
В полноэкранном режиме у ёлочки появляется белая обводка.
А в обычном норм. И ещё, камера находится внутри елки, как в обычном так и в полноэкранном режиме. Chromium |
Ответ: Кто какую игру делает? Скрины
Да, я специально сейчас ёлку увеличил. Каёмки потому что Фотошоп гомогей не дал мне сделать зелёный фон, вставил самовольно белый.
|
Ответ: Кто какую игру делает? Скрины
Хм, а в мозиле каёмку увидел только когда нажал открыть изображение, тогда отдельный кадр вот такой как у Дена получился, а так всё нормально.
|
Ответ: Кто какую игру делает? Скрины
Исправил каёмку. Почему-то в WebKit по-другому работает когда в фулскрин переключаешь.
|
Ответ: Кто какую игру делает? Скрины
Цитата:
![]() Вот ещё, прикрутил приятный и логичный плейсмент селектора скорости: (границы изменения скорости считаются исходя из максимальных ускорений по 4-м направлениям; максимальные ускорения же считаются исходя из массы навешанных модулей и установленных двигателей - учитывается их тяга в g на килограмм и направление тяги (можно задать латеральную, реверсивную и трансверсальную тяги; латеральная - вдоль пивота, реверсивная - строго обратно, трансверсальная - одинакова по всем направлениям, лежащим в плоскости, перпендикулярной тяге) ). Приятный и логичный - это значит он рядом с кораблём, справа или слева в зависимости от того, где места на экране больше :) Сферокасты спасают) Выбор скорости - кликай и тащи куда надо в космосе; выбор направления - драг-н-дроп с корабля. Селекторы скорости и поворота появляются только когда игрок производит соответствующие действия (раздельно, чтобы не мешать друг другу) |
Ответ: Кто какую игру делает? Скрины
Сделал экспорт раздельных объектов с трансформациею
Теперь из Макса экспортируются (и корректно загружаются в движок) раздельные объекты с трансформациями (позиция, скейл, ротейт) и до каждого объекта можно добраться в коде. В данном случае я загрузил машинку и заставил колёса отдельно крутиться. Модель за авторством Михи. Посмотреть можно там же. |
Ответ: Кто какую игру делает? Скрины
Цитата:
|
Ответ: Кто какую игру делает? Скрины
Не диски нормальные, текстура кривая то-есть развертка.
|
Ответ: Кто какую игру делает? Скрины
Цитата:
|
Ответ: Кто какую игру делает? Скрины
Проблемы с развёрткой появляются рандомно. FF.
|
Ответ: Кто какую игру делает? Скрины
Вот да, я тоже заметил. То в FF обновишь — текстура перевёрнута, то ещё что-то. Вообще охренеть.
В Chrome всё норм. С чем связано — ума не приложу. Почему текстура может рандомно флиппаться? |
Ответ: Кто какую игру делает? Скрины
Цитата:
Также если юзаешь key<>value объекты, они не гарантируют порядок при for(key in list). Если кто-то сидит с мобильного интернета, то провайдер часто "оптимизирует" кучу вещей на страницах, коверкая и ужимая JS, и т.п. |
Ответ: Кто какую игру делает? Скрины
Цитата:
|
Ответ: Кто какую игру делает? Скрины
FF 21 - все верно рисуется
|
Ответ: Кто какую игру делает? Скрины
FF 22 - полет нормальный
|
Ответ: Кто какую игру делает? Скрины
Вот так это выглядит у меня под хромом:
![]() |
Ответ: Кто какую игру делает? Скрины
Вложений: 1
|
Ответ: Кто какую игру делает? Скрины
Вложений: 1
Буффер индексов, шейдеры, 3D геометрия, нормали, текстуры.
Простое направленное освещение. Пока примитив. http://moka.co:8081/ (текстурка 2.5 Мб) |
Ответ: Кто какую игру делает? Скрины
Вложений: 1
Триплпостинг!
ШЕЙДЕРЫ! В общем поигрался с шейдерами, повспоминал, круто, доставляет :) На десктопе мышкой можно крутить, а если с мобилки (Android, Chrome Beta или Firefox), то сам крутиться (тач потом прикручу). На Nexus 4 выдаёт 60 fps в Chrome Beta и Firefox! 7.3 Mb! (ждём пока текстуры загрузятся). http://moka.co:8081/ |
Ответ: Кто какую игру делает? Скрины
Цитата:
Разобрался. Вот здесь написано что мозила всё равно использует тайминг винды по умолчанию. По все видимости всё сбросилось после перезагрузки компа, и FPS опять стал ~60 несмотря даже на установленный параметр layout.frame_rate = 500 Поменял настройки на дефолтные и обратно, FPS ~250 =/ Вот так... |
Ответ: Кто какую игру делает? Скрины
Я использую requestAnimFrame который будет максимум использовать 60 кадров в секунду.
Можно заюзать простой таймер чтобы не ограничивалось фпс, но я не вижу в этом смысла (потом для тестов сделаю). |
Ответ: Кто какую игру делает? Скрины
Наконец сделал анимацию в движке. Пока что в коде её делаю, примерно так: PHP код:
Думаю, завтра сделаю загрузку из файла. Пока что лень делать что-то замысловатое, поэтому вот вам прыгучие чайник и сфера. Гифку тоже делать лень, так что скрин чисто символический. Можно посмотреть вживую там же, где и всегда, т.е. здесь. Пока что анимация не может в повороты и скейлы (работают только контроллеры типа 'xyz'). Добавлю после того как налажу путь анимации из макса в двиг, а для тестов пока хватает и перемещений. Интерполяция векторов линейна. Вообще и выглядит не как что-то интересное. Но всё же решил поделиться радостью, а то я как в больницу попал сначала не смог прогать, а потом просто разленился вконец (ещё и простудиться успел после выписки на след день). |
Ответ: Кто какую игру делает? Скрины
Показывает белый экран и больше ничего
|
Ответ: Кто какую игру делает? Скрины
Вроде всё работает, машина крутится, чайник прыгает.
|
Ответ: Кто какую игру делает? Скрины
В полный экран фон белый, а в окне черный, так и задумано?
|
Ответ: Кто какую игру делает? Скрины
ABTOMAT, сделай уже нормальный реасайз контекста по размеру экрана.
|
Ответ: Кто какую игру делает? Скрины
Сделал загрузку анимации из Макса. Сработало как часы, всмысле, не пришлось ничего менять в экспортёре.
Вот описание формата: Формат AAF (ABTOMAT Animation Format) Версия 2 ГОЛОВНИК 10 байт - название формата 2 байта - номер версии 2 байта - длина служебной строки сама служебная строка 2 байта - длина анимации 2 байта - кол-во объектов, имеющих анимацию ОБЪЕКТЫ // Общая инфа 2 байта - длина имени объекта само имя объекта 1 байт - флаги (2 = анимирована позиция, 4 = анимирован поворот, 8 = анимирован масштаб, or-комбинация) АНИМАЦИИ 1 байт - тип контроллера анимации (1 = Position_XYZ) 2 байта - кол-во ключей КЛЮЧИ // Для позиции 4 байта - время 4 байта - X 4 байта - Y 4 байта - Z На данный момент сделал чтобы чайник прыгал, а сфера бегала вокруг и прыгала под ним. Может, ещё что-нибудь сооружу сейчас в Максе с этими объектами и займусь другими контроллерами (поворота и скейла). |
Ответ: Кто какую игру делает? Скрины
Всем насрать, но всё же:
Сделал поддержку анимации поворота и масштаба. Увидеть разные типы анимаций а также все их вместе вы можете там же. то есть здесь: http://maslov.co/webgl/2/ Дальше займусь иерархией в движке. Пока что там не всё здорово в датском королевстве и пришло время рефакторить старые костыли и маразмы. Вот описание новой версии формата: Цитата:
|
Ответ: Кто какую игру делает? Скрины
Исправить положение в Датском Королевстве по поводу иерархии оказалось проще, чем я думал.
В связи с чем новый апдейт. Теперь анимация иерархических структур. Встречайте человека-чайника! Да простят мне эстеты, он сделан топором за пять минут, как и его анимация. Но зато он корректно анимируется, как это и выглядело в Максе. Дальше не знаю чем займусь. С анимацией осталось добавить блендинги анимации и переключения ея. Переключения, наверное, сделаю в ближайшее время, а на блендинг забью, потому что хочется делать что-то новое. Хочется уже игру сделать. Пожалуй, возможности загрузки сцен и анимаций мне должно для этого хватить. Посмотреть можно там же, то есть там же. |
Ответ: Кто какую игру делает? Скрины
Автомат делай физику. Какиеникакие коллизии нужны.
|
Ответ: Кто какую игру делает? Скрины
У меня до сих пор ничего не работает.
|
Ответ: Кто какую игру делает? Скрины
Цитата:
|
Ответ: Кто какую игру делает? Скрины
Цитата:
Спрайты для взрывов, вспышек и прочей магии. Хотя можно охренеть и делать мешами (как в самолётах) но это же несерьёзно. Цитата:
Если не работает значит не работает сайт целиком. Вообще некоторые провайдеры лочат доступ ко мне по неизвестным причинам (жаль что сетевой нейтралитет не закреплён законодательно, достали выбирать за юзера, что ему можно смотреть, а что нельзя, руководствуясь желанием левой пятки), видимо, ты один из таких. В таком случае ничего тут не поделать :( Если не работает только конкретно та страница, то будем ковырять. Цитата:
|
Ответ: Кто какую игру делает? Скрины
Вложений: 1
Цитата:
|
Ответ: Кто какую игру делает? Скрины
Цитата:
Основываясь подобным абстракциям, будет не важно что там рисует и куда. По началу можно будет тупо 2D контекст заюзать, а затем написать уже как полагается слой рендера для 2D. При этом это не займёт слишком много дополнительного времени. Цитата:
|
Ответ: Кто какую игру делает? Скрины
Цитата:
Про буллит на js не знал, спасибо :) Цитата:
|
Ответ: Кто какую игру делает? Скрины
Не много заработало. Сейчас по адресу http://maslov.co/webgl/2/ стали отображаться 3 кубика. В начале правда вылезла ошибка в которой говорилось что webgl не запустился, нажал "перезапустить" на верху страницы. Браузер Хром.
|
Ответ: Кто какую игру делает? Скрины
Пардон, это я уже прямо сейчас начал ковырять дальше. Там и должно быть сейчас три кубика. А раньше фон страницы был белый или синий?
|
Ответ: Кто какую игру делает? Скрины
Да, синий фон, а при нажатии на "go" белый экран.
|
Ответ: Кто какую игру делает? Скрины
Цитата:
|
Ответ: Кто какую игру делает? Скрины
Цитата:
Цитата:
Тем более иметь дополнительный target для 2D контекста - это плюс. И Canvas по факту будет в разы проще реализовать, т.к. там уже всё есть, чем 2D через WebGL - это будет в разы геморней, и куча всего прийдётся писать дополнительного.. |
Ответ: Кто какую игру делает? Скрины
Цитата:
|
Ответ: Кто какую игру делает? Скрины
Цитата:
Бленды? Соси! Nearest Neighbour? Соси! Шейдеры? Вы знаете, что делать. А ещё медленный как пердак. Если я сделаю 2Д двигло без этих вещей, а потом пересяду на WebGL то мне так или иначе захочется из сделать. Но если я сделаю, то таргет канвас будет потерян, т.е. по сути он будет написан чтобы исчезнуть.Да и вообще 2Д двиг это не 3Д двиг, там всё в разы проще. |
Ответ: Кто какую игру делает? Скрины
Цитата:
Цитата:
Цитата:
Сказать проще/сложнее будет очень не корректно, т.к. они по сути очень разные сущности. |
Ответ: Кто какую игру делает? Скрины
ABTOMAT молодец! балин, надо тоже туда попробовать.:crazy:
Я короче не знал это, где выложить, игры Я не делаю:-) это чисто-моя движуха, но смотреть можно всем конечно. |
Часовой пояс GMT +4, время: 12:11. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot