24 декабря Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!
Кто представляет, как с технической стороны сделаны карты, например, в Hearthstone? Т.е. так, что: - карты как будто имеют толщину (не выглядят абсолютно плоскими) - карты с разных сторон имеют разный контур (пока карта не повернулась, ты не видишь всяких выступающих деталей)
Я тут на ThreeJS решил один карточный проектик замутить и сходу обосрался, т.к. у меня получается только какой-то один пункт из двух вышеприведённых. Если я делаю двухстороннюю плоскость, то могу сделать разные контуры карт, но карты получаются нулевой толщины. Если я делаю карты честным 3d, то как добиться разной формы с разных сторон?
Короче, если бы вы хотели сделать карты по типу хартстоновских, как бы вы их делали.
Блядь, у меня баттхерт. Почему покраска СТОРОНОК (faces) называется покраской ВЕРШИН (vertex coloring). Как можно покрасить то, что не имеет площади? Или я чего-то снова не понимаю?
>>194716 (OP) >>194774 Сначала погугли теорию 3д графики чтоли, или на ютубе посмотри про это, а то такой пиздец пишешь что становится страшно. С такими познаниями и в гемдев лезут, ладно хоть не за столкир взялся.
Как создают 3д объекты любой формы? В 3д максе или блендере. Сделай карту параллелепипедом.
>vertex coloring. Как можно покрасить то, что не имеет площади А где цвета хранить, долбоеб? "поверхность" треугольника это заполненное пикселями пространство между тремя точками. Точки и содержат разнообразные данные, в т.ч. и о цветах, которым шейдер может окрасить треугольник. Но vertex coloring используется нечасто, в основном для мобилопарашных игр без текстур вроде crossy road. Ты куда-то не туда копаешь.
>>194716 (OP) Карты это 3д меши, сделаны в 3д редакторе. У каждой меши есть uv развёртка, под которую подогнаны текстуры. С точки зрения моделирования все карты одинаковы, просто в гпу грузят разные текстуры под разные игровые типы карт.
И да, если ты и правда такой тупой и не понимаешь таких базовых основ, то пиздуй на StackOverflow и там задавай такие вопросы ибо здесь за такое стреляют в упор.
>>194716 (OP) Бля ОП, я думал ты даун, а тут все дауны побольше тебя отвечают хуетень не по вопросу. Такой эффект можно сделать так. Моделим трехмерную карту настраиваем камеру которая в динамике делает рендер в текстуру с небольшими смещениями горизонтальными для эффекта параллакса. Полученную текстуру накладываем на прямоугольник который и будет в игре картой, таким образом с боков она будет тонкая но в тоже время присутсовать будет эффект объема когда смотрим на нее прямо.
Сделал всё-таки честное 3D, ебана. Шесть мешей, 52 треугольника, координаты вершин полночи набивал вручную. Специально сделал в центру отдельные прямоугольные геометрии, чтобы на них было удобнее потом рисовать.
Ещё пробовал в плоском варианте отыграть толщину картой нормалей, но не взлетело.
>>195949 Пробовал и obj, и колладу (из скетчапа). Но в threejs геморрой с импортом пиздецкий - то половина треугольников оказывается не туда повёрнутой, то вообще отсутствует. Я оценил масштаб срачей по этому поводу на stackoverflow и решил сделать вручную. Мне больше моделей пока не понадобится.
>>195952 >мимо-гуру three.js какой лучший способ динамически рисовать произвольную графику на плоском меше, что по центру карты? Например, там будет портрет юнита, его здоровье и ещё пара значков. Вроде в ThreeJS есть возможность из (невидимого) канваса текстуру делать? Это оптимально для таких целей или что-то лучше есть?
>>195961 Да, можно делать из канваса. Если требуется однократно отрисовать карту то это самый простой вариант, если же карта анимирована то саму анимацию лучше сохранить в видео (можно юзать видеотекстуру) а значки вынести в отдельные элементы.
Просидел ещё неделю над Three.js, привыкаю к новым реалиям. Рисую на текстурах сейчас так: - есть канвас-1 произвольной формы, где я рисую - есть канвас-2 256х256 - все "динамические" текстуры имеют в параметре image ссылку на канвас-2 - когда я хочу обновить image какой-то текстуры, я отрисовываю то, что нужно, на канвасе-1, рисую область канваса-1 на весь канвас-2 и обновляю (needsUpdate) нужные текстуры.
Это оптимальный вариант? А какие ещё способы? Сразу рисовать всё в растянутом виде неудобно. А если передавать в image текстуры канвас с размерами, не равными степени двойки, то Three.js при каждом таком обновлении текстуры будет создавать новый временный канвас, что увеличит затраты времени на два порядка, лол.
>>196538 >Хули вы все в /gd/ такие злые? Всех адекватов затралили. Если вежливый ты в жопе. Если делаешь игру над тобой потешаются и называют говном. Если твоя игра хуже игр близзарда и еа, тебя называют трижды говном и сагают.
>>196540 Весело тут у вас. Зачем здесь тогда эта доска? А потом висят по три треда на нулевой с темой: "А ЧЕМУ ЭТО РУССКИЙ ГЕЙМДЕЙВ В ТАКОЙ ЖОПЕ ТО???"
>>196538 Мы говорим Кириллам правду. Они дебилы, игры их говно. Никто им такую правду не скажет на других ресурсах и они продолжат жить в мире розовых поней, выпуская говно.
>>196542 Здесь должна быть критика тогда, а не цирк мамкинх-мизантров-циников. Разве я не прав? Говно какое-то, лучше уж перекачусь тогда на форум какой-нибудь. Я на этой доске за месяц так ничему не научился, кроме как наблюдению за клоунадой парочки зеленых
>>196543 >лучше уж перекачусь тогда на форум какой-нибудь Здравая идея. Постить сюда свои идеи, свой проект - большой зашквар. Я сюда захожу только за клоунадой.
>>196543 >лучше уж перекачусь тогда на форум какой-нибудь Игроки везде тупые. И коллеги авторы игр везде злые уебки которые хотят тебя обосрать. Мимоповидалмногофорумов
Т.е. так, что:
- карты как будто имеют толщину (не выглядят абсолютно плоскими)
- карты с разных сторон имеют разный контур (пока карта не повернулась, ты не видишь всяких выступающих деталей)
Я тут на ThreeJS решил один карточный проектик замутить и сходу обосрался, т.к. у меня получается только какой-то один пункт из двух вышеприведённых. Если я делаю двухстороннюю плоскость, то могу сделать разные контуры карт, но карты получаются нулевой толщины. Если я делаю карты честным 3d, то как добиться разной формы с разных сторон?
Короче, если бы вы хотели сделать карты по типу хартстоновских, как бы вы их делали.