![]() |
Ответ: Кто какую игру делает? Скрины
Цитата:
|
Ответ: Кто какую игру делает? Скрины
Подобно DemoScene только как понимаю вручную записывал и камерой управлял. За трек из The Book of Eli, +1!
|
Ответ: Кто какую игру делает? Скрины
Загрузил в двиг анимацию из одной известной игры (кто узнал тот молодец). Так как реальная игровая анимация имеет более сложную структуру, чем моё "каля-маля", всплыли несколько новых багов, успешно на данный момент решённых. Жаль пока скелетки нет, а то бы уже полноценные человечки были :-) Там же. |
Ответ: Кто какую игру делает? Скрины
Цитата:
Ну Я как на .js учился на unity, это портировал crystalium demo 0.9b от Владислава http://forum.boolean.name/showthread.php?t=17970 ну так выбрал проект:ok: , просто интересно было, а то Я написал давай - давай, а сам то, на unity толком и не работал:-D ну всё так, как Я и писал Года! за глаза;) А потом прчитал сообщение от Pax'a что шарпить лучше, и немного подзабил из-за выхода новой версии:P Так что Я готов! Цитата:
Илай? да, то что нужно. |
Ответ: Кто какую игру делает? Скрины
Цитата:
Нужен путь камеры. Он обычно делается сплайнами. Можно экспортить кейфреймы из 3D Max'а, а можно и вручную поставить кейфреймы. Но сам факт что они время-зависимые и камера сама летает. |
Ответ: Кто какую игру делает? Скрины
Вау, у АВТОМАТа интересный проект, как мне показалось. Темку ли не пора отдельную? И где можно найти сорсы, если они опен?
|
Ответ: Кто какую игру делает? Скрины
http://maslov.co/webgl/2/
И жми правой кнопкой > сорсы страницы, там .js файлы - вуаля. |
Ответ: Кто какую игру делает? Скрины
Ну ок я смотрю парочка заинтересованных есть.
Пожалуй, как устраню основные баги, сделаю сайт проекта с документациею и инструкцией как юзать, а также залью на гитхаб. |
Ответ: Кто какую игру делает? Скрины
Цитата:
А уж потом если так припрёт - трать время на сайт. |
Ответ: Кто какую игру делает? Скрины
ЗЫ.
АВТО, скиннинг: http://blog.tojicode.com/2011/10/bui...animation.html |
Ответ: Кто какую игру делает? Скрины
Да я представляю, как делать. Просто хз чот. Хочется уже игру делать а я в движке ковыряюсь.
|
Ответ: Кто какую игру делает? Скрины
![]() Сделал бендинг анимаций. Глючит. К тому же на ночь глядя не придумал, как интерполировать более чем 2 анимации с весами. В-общем вот: http://maslov.co/webgl/2/ |
Ответ: Кто какую игру делает? Скрины
Я понял как делать что бы webgl в хроме работал. Надо перезагружать страницу 2-3 а иногда и 4 раза. :-)
|
Ответ: Кто какую игру делает? Скрины
Исправил глюк блендинга. Осталось только блендинг с весами сделать как надо. Ну и если склонировать уже анимированный объект, то его клон не анимируется (и я даже знаю почему, но исправлять прямо сейчас не буду, устал) Всё равно я молодец :-) Мини-упдейт: исправил клонирование анимированного объекта. Ещё упдейт: сделал блендинг анимации с весами. Если вы теперь посмотрите демку, то увидите, что у центрального человечка ноги бегут как у левого, а руки бьют как у правого. При этом соотношение основной анимации ко второй составляет 4:1. Вообще можно бы сделать 4:0 но как же тогда будет блендинг заценить? :) У каждого объекта может быть несколько анимаций, и можно указывать, какой у них будет "вес", чтобы описать степень смешения. Например для рук анимация битья установлена 20, а анимация бега 5, а для ног — наоборот. Можно ещё накрутить различных удобств типа плавного переключения анимаций (старая не выключится, пока не заблендится в новую). Но думаю, что лишь разработка реальной игры покажет, нужно ли это искаропке или же это только частные случаи. На данный момент объявляю работу с анимациею законченной. Перехожу к другим задачам (возможно, скиннинг, уж очень хочется человечков). Опять та же ссылка |
Ответ: Кто какую игру делает? Скрины
Цитата:
1. Инвертированную матрицу T-позы для каждой кости 2. Вычислять матрицу для кости в момент анимации 3. Умножить 1 на 2 4. На результат умножать вектора-координаты вершин в вершинном шейдере. В-общем лягу спать и, вставши, попробую. |
Ответ: Кто какую игру делает? Скрины
Вложений: 1
кто узнал откуда стырены спрайты молодец
|
Ответ: Кто какую игру делает? Скрины
На чём мутишь? Не канвас ли?
|
Ответ: Кто какую игру делает? Скрины
JS/Canvas + NodeJS + Socket.IO
на ноде сервер, в планах сделать мультиплеер) сейчас сервер только отдает карту и другую информацию. пока только канвас, но когда сделаю основную часть, добавлю вебгл upd: кстати о канвасе. в хроме он работает шустро, даже если посмотреть профайл - отжирает пару процентов, основную часть игра ожидает (фпс ограничен) в лисе же игра вообще не спит, а основную массу времени отжирает рендер, плюс ещё и тормозит. вот такие пироги |
Ответ: Кто какую игру делает? Скрины
Как таймер ведёшь (рендеринг), есть ли элементы пверх канвы (их ререндер, может вызывать рефлой, и ререндер всей канвы).
У меня ФФ выдаёт весьма хорошие показатели - на ровне с хромом. На мобилке ФФ даже порой лучше. Если по ноду и socket.io что нада - говори, я тоже юзаю их и юзал в нескольких проектах. |
Ответ: Кто какую игру делает? Скрины
вот так выглядит основной цикл (в начале программы вызывается функция _step):
PHP код:
requestAnimFrame - это requestAnimationFrame, только с префиксами: _this.step - функция где всё и происходит (в том числе и рендер) Сам рендеринг использую крайне просто: есть несколько тайлсетов (карта, декорации, человек), и рендерю отдельный спрайт из тайлсета с помощью функции ctx.drawImage с 9 параметрами, где ctx - контекст канвы. 1 параметр - тайсет, 2-5 - положение спрайта и размер спрайта на тайлсете, 6-9 - положение и размер спрайта на канвасе. Больше никакие методы из ctx не вызываю (ну кроме отчистки). Мне показалось это наиболее производительным решением. Это так и есть? Буквально всё разбито по классам, есть несколько слоев абстракций, я написал только саму суть. Цитата:
Цитата:
|
Ответ: Кто какую игру делает? Скрины
У тебя таймер в таймере, ты в курсе? :)
Всё что тебе нужно это только requestAnimationFrame: PHP код:
PHP код:
Цитата:
Далее сессия и утентификация - тоже нужно чуток middleware понять. Ну там потом будут тонкости. |
Ответ: Кто какую игру делает? Скрины
Сделал подобие скиннинга. Всю ночь парился :-D Были моменты, когда не понимал, что 10 раз всё проверил, а всё равно не работает. Эмоции были как у этого шофёра: Наконец с ResetXForm'овой помощью заставил работать (естессно дальше мне придётся отказаться от такого чита, как ResetXForm в Максе и учесть все трансформации самостоятельно). А ещё мне надо хранить изначальное положение костей в позе Т, делать экспортёр из Макса, чтобы веса вершин экспортил... Весов ещё и в движке нетуть: привязка определяется прямо в шейдере по z-координате вершины. Мда, топорно. Но хотя бы уже есть отчего отталкиваться. Очень хочу в ближайшем времени загрузить не сосиску на палочке, а нормального солдатика. Там же. |
Ответ: Кто какую игру делает? Скрины
Цитата:
Но в этом случае фпс не будет ограничен. Скорость передвижения героев ограничить то не сложно (сделать её обратно зависимой от времени прорисовки кадра), но хороши ли, что браузер жрет всё время и игра почти не спит? UPD: я походу ошибался, requestAnimationFrame ограничивает фпс до 60, и вариант моки работает одинокого хорошо и на хроме и на лисе (хотя на хроме всё таки игра основное время спит, а на лисе рисует) |
Ответ: Кто какую игру делает? Скрины
requestAnimFrame будет всегда стараться придерживаться 60 кадрам. Если старый комп, упадёт до 30ти, и будет придерживаться 30ти. Т.к. придерживаться определённого FPS на много лучше чем прагать вверх-вниз.
Тебе нужна дельта, вычислить её просто, как в блице. И её используй для ускорения или замедления. Также используй время больше чем просто инкрементацию. Например: nx += elapsed * speed; где elapsed - будет мс после последнего рендера до текущего. Например при 60 фпс, elapsed будет 16мс. При скорости 1.0, это 16 единиц. Если фпс упал до 35, то elapsed будет 28.6, и скорость следственно увеличивается. Можно нормализовать это число от 0.5 до 1.0 (30 - 60 фпс). И это и будет дельта, затем делить на неё все время зависимые изменения. Учти что requestAnimFrame будет всегда стараться иметь 60 кадров, и не более, следственно и setTimeout должен быть 1000 / 60, и никак не иначе. |
Ответ: Кто какую игру делает? Скрины
Опять ковырял свой двиг... Где до сих пор одна глобальная shaderProgram. А для скелетки мне нужны раздельные вершинные шейдеры для скиненных мешей и не скиненных. В-общем оказалось что мне придётся прибрать кучу всего в порядок.
А ещё веса не увидеть никак: моделек-то пока заскиненных нет. Не очень-то слепишь вручную буфер меша с вершинами с весами... Придётся импортить из Макса. Набросал скелеточку: чайник крутит носиком как слон. ![]() А в Максе опять структура в стиле индийских брахманов... Нельзя просто взять и получить соответствие id : вес для каждой вершины. Ну охренеть, когда начинал, думал за 2 дня со всей скелеткой справлюсь. Ага, щаз... |
Ответ: Кто какую игру делает? Скрины
Цитата:
|
Ответ: Кто какую игру делает? Скрины
Цитата:
При экспорте модельки метрокопа порядок совпал, а вот у чайника — нет. Я не знаю, может, там иерархия влияет, хотя судя по всему нет... В асю написал подробности. Итак, джентльмены! Впервые за несколько дней мало-мальски интересный скриншот: Ссылка Можно крутить камеру вокруг сцены при помощи A и D. Сделал скелетку. Ну, "Сделал" — громко сказано. Вопросов появилось больше, чем ответов. Во-первых, с чайником почему-то перепутались id костей, с метрокопом при экспорте всё ОК. Даже не знаю, буду ли сейчас исправлять, посмотрим, как оно себя ведёт на других модельках. Во-вторых, столкнулся с проблемой, что заскиненная модель требует 8 дополнительных атрибутов для каждой вершины, а точнее с тем, что структура буфера стала другая, и, чтобы не перепуталась нумерация в буферах статичных моделей пришлось им тоже добавить веса и id (нулевые). Вот такой костыль. По-хорошему надо переключать шейдер, а шейдер у меня всего один. В него пишется куча атрибутов во время рендера, всё размазано по говнокоду... Чтоб сделать переключение шейдеров, придётся собрать всё это говно, размазанное по стенам. С другой стороны, всё равно когда-то придётся этим заняться. В-третьих, почему-то обосрались группы сглаживания при экспорте метрокопа из Макса (виноваты ли в этом веса вершин? буду ещё ковырять). Это можно заметить по несглаженности модельки. И вроде UV тоже обосралися (на ногах-то). Ещё нужно сделать детект класса костей, чтобы они своими полигонами не портили вид. Ну, в-общем, работы ещё дохренища. В области скиннинга и не только. На скрине — два брата-акробата из Халвы. |
Ответ: Кто какую игру делает? Скрины
Вложений: 4
Отчасти кусок планируемой игры, а заодно и моя дипломная работа (успешно сданная).
Освещение на всём/от всего что размером от тачки и менее - динамическое, на остальном препросчитанное. |
Ответ: Кто какую игру делает? Скрины
Цитата:
|
Ответ: Кто какую игру делает? Скрины
Цитата:
|
Ответ: Кто какую игру делает? Скрины
Вложений: 5
Если приглядишсься, они там есть, но слишком размытые).
Для теней от солнца мне удалось сделать плавное увеличение пенумбры (PCSS+VSM), но для кучи фонариков это было неподъёмно, так что для них я сделал просто dual paraboloid + VSM с конст блюром. ---- Вот кстати скрины с оригинальной proof-of-concept демки отдельно теней ---- |
Ответ: Кто какую игру делает? Скрины
|
Ответ: Кто какую игру делает? Скрины
|
Ответ: Кто какую игру делает? Скрины
Цитата:
|
Ответ: Кто какую игру делает? Скрины
Цитата:
--- обещанные видосики http://www.youtube.com/watch?feature...&v=7IolXxg1_q8 - основной http://www.youtube.com/watch?v=2jk5T...ature=youtu.be - тени и АО http://www.youtube.com/watch?v=vWqxp...ature=youtu.be - ранний тест 1 http://www.youtube.com/watch?v=7QcvG...ature=youtu.be - ранний тест 2 (можно спалить воксельный reflection occlusion тачки и маскирование спекуляра тенями от соотв источников - даже там где диффузно эти тени затухли) http://www.youtube.com/watch?v=VC5pf...ature=youtu.be - ну а это бутылочка моя давняя, но сюда вроде не постил |
Ответ: Кто какую игру делает? Скрины
|
Ответ: Кто какую игру делает? Скрины
Цитата:
|
Ответ: Кто какую игру делает? Скрины
Значит в скором времени он порадует новыми плюшками.
|
Ответ: Кто какую игру делает? Скрины
Цитата:
|
Ответ: Кто какую игру делает? Скрины
Цитата:
|
Ответ: Кто какую игру делает? Скрины
Я это вижу вот так:
![]() |
Ответ: Кто какую игру делает? Скрины
"Вы смотрите Live страницу разработчика ABTOMAT'а, ожидайте что ваш компьютер будет перегреваться, взрываться и вообще не обязательно что-то будет работать или выглядеть ОК.."
|
Ответ: Кто какую игру делает? Скрины
Да это я балуюсь тем, что загружаю разные модельки.
Столкнулся с тем, что модельки, импорченные их Source, не сглажены. Почему так — хрен знает. Единственное что смог выяснить, это то что если в максе к ним применить модификатор Edit Poly то они тоже становятся в максе не сглаженными. Похоже на баг самого Макса. Солдатика американского я скачал с турбосквида и хотел зариггить, но сделал это криво, что на одну вершину может прийтись больше 4 весов, мой экспортёр это не поддерживает, и начинаются глюки, что на скрине Пакса. А исправлять мне пока не хочется, т.к. базово работает, моя цель как можно быстрее сделать игру в которую можно играть. Всем спасибо за посты, вы смотрите Live страницу, если чё-то не так как на скринах выше значит я там ковырякаюсь :-D |
Ответ: Кто какую игру делает? Скрины
недавно начал делать
вместа скрина видео :) http://www.youtube.com/watch?feature...&v=vnF1N_rWOWU моделера оченама не хватает... |
Ответ: Кто какую игру делает? Скрины
Цитата:
|
Ответ: Кто какую игру делает? Скрины
Цитата:
Это реально баг 2014 макса. И вот чувак две недели назад даже запостил: http://forums.autodesk.com/t5/Autode...4/td-p/4334935 Пока что откатываюсь на 2013-й... Там правда какой-то костыль предлагают... |
Ответ: Кто какую игру делает? Скрины
Короче насколько я выяснил, теперь (с 2014 макса) кости в костной системе идут в алфавитном порядке (Зачем? ЗАЧЕМ??!!!), а при попытке получения кости выдаётся имя кости по старому порядку. Видимо в одной функции сделали, а в другой ещё нет. Сделал детектинг версии Макса, если 2014, то пересортировываем. Надеюсь, в хотфиксах Макса это исправят, и я уберу (ограничившись спец. галочкой для тех, у кого вдруг окажется Макс 2014 без сервиспака).
Насчёт сглаживания — ситуация такая: импортёр моделек из Халвы не делает группы сглаживания, а лишь записывает инфу о нормалях, что логично. При экспорте у меня делается snapshot as a mesh (аналог модификатора Edit Mesh) чтобы перед экспортом "спечь" все модификаторы воедино. И тут-то Макс обсирается, просрав нормали. Если вручную применить модификатор Edit Mesh (Edit Poly) то будет ровно то же. Короче, пересгладил группами, убедился, что с ними всё работает. так как выдёргивание моделек из Халвы — не моя приоритетная задача, а так, баловство, то трогать дело это пока не буду. На скрине модельки без текстур, чтобы лучше было видно сглаженность. Ниже они же с текстурами. ![]() ![]() |
Ответ: Кто какую игру делает? Скрины
Цитата:
|
Ответ: Кто какую игру делает? Скрины
![]() Live Доделал экспорт. Спеку дополнил, кстати, вот она: Атрибут "isSkinned" переехал в самое начало и превратился во флаги. Теперь он несёт в себе аж 2 флага (в дальнейшем добавим ещё): 1. имеет ли геометрию? 2. заскиннен ли? Если не имеет геометрию, то вместо mesh создаётся pivot. Также в экспортёре сделал галку, переключающую экспорт костей как мешей. На финальном скрине вы видите, что кости скрыты. Возможность их экспортить в виде мешей всё же оставил, мало ль кому надо? Обратная совместимость опять обосралась, ну да и ладно. За сим я торжественно объявляю, что моя работа с анимацией и скелеткой на данном этапе завершена! Конечно, ещё есть что поделать (в частности, у меня навящевая мысль, что веса некорректно развешиваются), но я придерживаюсь принципа "необходимого минимума". Осталось добить 2Д и спрайты, за одно из этих дел я вскоре возьмусь. Ура, товарищи! |
Ответ: Кто какую игру делает? Скрины
Мини-апдейт: разобрал говно в шейдерах, сделал обёртку над шейдерной программой, теперь могу их переключать (у террориста "очёрнобеливающий" фрагментный шейдер):
![]() |
Ответ: Кто какую игру делает? Скрины
Так, делаю 2Д.
2Д мне нужно простое и без выкрутасов. Я вообще придерживаюсь мнения, что надо делать самый необходимый минимум и двигаться дальше, а то собсно до делания игры дело не дойдёт. Пока что поставил минимальную цель: возможность рисовать картинки в 2D-координатах + текст (тупой, из заранее заготовленного атласа, можно моноширинный). Что у нас на скрине? Красно-синяя в шахматном порядке картинка 128х128 рисуется функцией DrawImage в указанных координатах. Судя по тому, что пиксели не в кашу, всё как положено. Справа увеличенное изображение. ![]() |
Ответ: Кто какую игру делает? Скрины
|
Ответ: Кто какую игру делает? Скрины
Уже спалили что я дальше делаю :-D Сегодня запилю наконец рескейл под размер окна, а то не айс.
|
Ответ: Кто какую игру делает? Скрины
я запустил это чудо под Android+Opera(Chromium),модельки я не увидел (ошибка загрузки шейдера, хотя webgl стартанул) но увидел фон (я думаю "здоровье" - не статическая картинка-цифра, а нормальный GUI)
|
Ответ: Кто какую игру делает? Скрины
Чорт, похоже, мне придётся всё же покупать телефон на Android и пытаться выяснять, хуле там не работает.
|
Ответ: Кто какую игру делает? Скрины
А что именно написано в ошибке? Предыдущие демки работали?
|
Ответ: Кто какую игру делает? Скрины
Не проверял другие, сказал бы проверить на мобилах - проверили бы.
По порядку: ERROR:too many uniforms Could not initialise shader Could not initialise shader И в этоге ток картинка, без моделек. На стоке выскакивает Alert с твоим предупреждением(мол на IE11, в опере 15 ,бла-бла) UC использует неотрубаемое прокси и сжатие = скрипты не робят |
Ответ: Кто какую игру делает? Скрины
Чисто ради интереса попробуй несколько раз обновить страницу на мобиле.
|
Ответ: Кто какую игру делает? Скрины
Цитата:
Похоже, на мобилках поддерживается куда меньше. Было бы очень здорово выяснить сколько их держится. Чё за сток?* А понял, это дефолтный браузер? Ну да, буквально несколько месяцев назад только WebGL стал появляться по умолчанию в андроидах, на более ранних нужен Chrome. |
Ответ: Кто какую игру делает? Скрины
Цитата:
Цитата:
да, дефолт. А разница?Opera на Chromium и последняя |
Ответ: Кто какую игру делает? Скрины
Цитата:
|
Ответ: Кто какую игру делает? Скрины
Вложений: 1
Цитата:
запустил демку головы: http://lab.aerotwist.com/webgl/a3/samples/07/ //поправил контраст, просто сyпер амолет - давлю программно так же заработал: http://granular.cs.umu.se/ammo/Demos/BoxDemo/index.html а на http://madebyevan.com/webgl-water/ говорит что не держит float-pointing texture |
Ответ: Кто какую игру делает? Скрины
:stop:
|
Ответ: Кто какую игру делает? Скрины
RegIon (а также у кого ещё есть возможность проверить на мобилке) можешь ещё раз посмотреть? Я вставил хедкраба, у него всего 15 костей. По идее теперь должно хватать юниформов.
Arton, поправлю и разрешение. |
Часовой пояс GMT +4, время: 13:07. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot