Это копия, сохраненная 2 января 2019 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Прошлый тред: >>461026 (OP)
Официальный сайт: https://unity3d.com/ru
Документация: https://docs.unity3d.com/ru/current/Manual/index.html
Уроки: https://unity3d.com/ru/learn/tutorials
Форум: https://forum.unity3d.com/
Магазин ассетов: https://unity3d.com/ru/asset-store
UnityWiki: http://wiki.unity3d.com/index.php/Main_Page
На Unity сделано много замечательных игр - Rust, Блицкриг 3, Pillars of Eternity, Tyranny, Kerbal Space Program и многие другие. Главным преимуществом Unity перед другими движками является его простота для одиночной разработки. Не нужно иметь целую компанию девелоперов, чтобы сделать хорошую игру. Если ты один или имеешь небольшую команду и хочешь сделать хорошую игру без претензий на ААА, то Unity станет лучшим выбором. Тем не менее, даже крупные корпорации зачастую выбирают для своих игр именно Unity.
FAQ
- Какие у Unity сильные стороны?
- Простота разработки, удобный инструментарий, кроссплатформенность, богатая документация, огромное сообщество.
- Какие у Unity слабые стороны?
- Сложность в создании фотореалистичной графики. Для графики "как в Crysis" рекомендуется взять другой движок. Хотя Unity вполне способен выдавать не уступающую любым другим движкам картинку, это требует определённого навыка от разработчика.
- На каких языках я могу писать скрипты для Unity?
- На выбор два языка - C# и UnityScript. UnityScript - это что-то среднее между JavaScript и ActionScript. Выбирай язык по своему вкусу, они оба вполне удобны, но помни, что большинство примеров написано на C#.
- Для каких жанров подходит Unity?
- Для абсолютно любых! Жанр ограничивается лишь фантазией разработчика (и его умением писать скрипты, разумеется). Можно создавать и РПГ, и стратегии, и слэшеры. Можно делать VR-проекты или Minecraft-подобные песочницы.
- На каких платформах работают созданные с помощью Unity игры?
- Windows, Linux, MacOS, SteamOS, Android, iOS, Windows Phone, PlayStation4, Xbox One, WebGL, Oculus Rift и многие другие. Полный список можно найти на официальном сайте. Таким образом, игры Unity работают на десктопах, на смартфонах, планшетах, приставках, в браузерах, VR-очках и некоторых других системах.
- Часто вижу скриншоты с красивой природой на Unity. Как такое создать?
- Очень просто! В Unity встроены удобные инструменты для создания террейна и SpeedTree для создания деревьев и готовая реализация ветра - не нужно ничего писать или скачивать и подключать плагины - ландшафт в Unity создаётся в пару кликов.
- Что такое стартер киты?
- Starter Kit - это набор скриптов и префабов, а зачастую и графических элементов для игры. Они призваны облегчить разработку игры определённого жанра и как правило разбиты по жанрам (Action-RPG Starter Kit, RTS Starter Kit, 3D Shooter Starter Kit, Space Game Starter Kit, VR Starter Kit и так далее). Также бывают стартер киты различных игровых элементов, не связанных с геймплеем (Nature Starter Kit с дополнительными природными объектами, Medieval Starter Kit со средневековыми объектами и так далее). По сути, стартер киты выполняют в разработке игры ту же роль, что и фреймворки в программировании. Однако стоит отметить, что использование геймплейного стартер кита принуждает разработчика изучать большое количество чужого кода и чужой структуры для внесения своих изменений и полноценного использования. В связи с этим большинство разработчиков предпочитает писать почти всё с нуля, получая полное понимание работы своей игры. Новичкам крайне не рекомендуется начинать знакомство с Unity со стартер китов.
- Что нужно уметь делать для создания полноценной игры, кроме Unity-разработки?
- Кроме непосредственной разработки игры на Unity, требуется также уметь создавать 3D модели (3ds Max, Blender, ZBrush), 2D рисунки (GraphicsGale, Aseprite, Piskel), текстуры (Substance Designer, NeoTextureEdit), музыку (FruityLoops, Ableton). Не обязательно учить это всё - например, в 2D играх не нужны 3D модели, а музыка необходима далеко не всегда. Также вы можете скачивать элементы для ваших игр на бесплатных сайтах. Если у вас есть деньги, то все необходимые элементы можно заказать у фрилансеров на https://www.fl.ru/ (русскоязычный) или https://www.upwork.com/ (англоязычный).
- Бесплатен ли Unity?
- Можно свободно скачивать, использовать и продавать готовые игры на Unity с лицензией Personal - это абсолютно бесплатно! Но на бесплатной версии при запуске игры будет появляться короткий стартовый ролик "Made with Unity", а также ваши доходы ограничены 100 000 долларов в год. Для снятия этих ограничений нужно приобретать платные версии лицензий Unity. В конечном итоге, платные варианты используются лишь крупными компаниями с огромными доходами, тогда как обычные разработчики в большинстве своём используют бесплатную Personal лицензию.
Обучение
- Язык
Итак, с чего же начать изучение этого замечательного движка? Прежде всего, с изучения языка. Самые основы C# можно узнать на интерактивных курсах здесь:
https://dotnetcademy.net/CSharp/Beginner
или в текстовом туториале здесь:
https://www.tutorialspoint.com/csharp/csharp_quick_guide.htm
Для изучения основ UnityScript выучи вначале основы JavaScript:
https://learn.javascript.ru/
Помни, что далеко не все элементы JS есть в US. Чтобы понять, в чём разница между этими двумя языками, прочти эту статью:
http://wiki.unity3d.com/index.php/UnityScript_versus_JavaScript
Помни, что тебе достаточно одного языка из двух и учить их оба одновременно не нужно.
- Движок
Если ты уже умеешь использовать язык, то можно приступать непосредственно к изучению движка. Крайне рекомендется купить/скачать книгу Unity in action (Unity в действии). В ней подробно описываются множество возможностей движка.
http://www.ozon.ru/context/detail/id/34792570/
Также посмотри на видеотуториалы с официального сайта:
https://unity3d.com/learn/tutorials
Если же ты не любишь видеотуториалы (или не понимаешь разговорный английский) и предпочитаешь текст, то посмотри здесь:
http://catlikecoding.com/unity/tutorials/
Тут крайне подробно описан процесс разработки и приведены примеры кода. Эти туториалы универсальны и описывают множество различных частей игры, от работы с текстурами до генерации карты мира. А вот в этом туториале описыватся разработка двухмерной игры с видом сверху:
https://www.raywenderlich.com/61532/unity-2d-tutorial-getting-started
Это будет полезно, даже если ты планируешь разрабатывать трёхмерную игру. Ни в коем случае нельзя обойти вниманием этот сборник туториалов:
https://noobtuts.com/unity
В нём подробно описывается процесс пошагового создания разных игр - двухмерных и трёхмерных.
Разумеется, все эти туториалы охватывают лишь часть возможностей Unity. Самый надёжный способ выучить Unity - это начать делать игру и по мере разработки гуглить непонятные моменты.
Шапка: http://www.writeurl.com/publish/zukmrogwv45ptyuseyol
Хоть бы скрины нового кинца в шапку добавил, для дизаену
Не хотел травмировать УЕчедетей.
Потому что может.
Нет, по крайней мере стандартными свойствами. Либо писать свое извращение для SpriteRenderer, либо рисовать круг другими путями
Line Renderer используй, у него же полно опций рисования текстуры.
https://www.youtube.com/watch?v=DDsRfbfnC_A
Полноценную игру они делать один хрен не будут, им можно даже похлеще Кодзимы сюжеты выдумывать
Нужно оптимизировать игру как в игре "horizon zero dawn", где отрисовывается только то что попадает в поле зрения камеры, вк в группе unity видел гифку как этот процесс происходит, там еще "умники" в коментах пиздели что это костыли и так не должно быть а на самом деле ни одна ААА игра без этого не обходится.
480x270, 0:05
Да спасибо что напомнил анон, это оно.
Когда я использовал эту штуку в юнити, у меня почему-то не было разницы в производительности, может там надо побольше объектов, чтобы эффект был, ну типо настраивать сетку получше.
> у меня почему-то не было разницы в производительности
Главное правило – чем меньше модель, тем больше полигонов она должна иметь. Должно быть как минимум 120к вершин на одно яблоко, чтобы нищуки на себе ощутили всю мощь современной реалтайм графики.
В доках юнити написано, что это frustum culling и оно делается по-умолчанию. А вот окклюжен нужно запекать.
Из-за этого был лёгкий скандалец, Guerrilla зачем-то показали frustum culling для нормиес как ниебаццо технологию, за что её дружно уринировал весь геймдев
Не в смысле "как именно", про то, что их можно скрывать и двигать по иерархии я знаю. Не могу придумать сам алгоритм, в каких случаях как делать.
Юзкейсы пикрелейтед.
Может ты просто объекты, как статик не пометил?
Ромка Агапов выкатил новый дневник, спустя ГОД молчания. Я уже думал загнулся его долго строй. Наркоман уже ШЕСТЬ лет пилит свой халф лайф с блэкджеком. Начинал он его ещё наверное на 2 юнити. Охуеть. Вот вам и пример юнитеки как не стоит затягивать проект, и как нужно уметь ограничивать себя.
Он сам что ле пилит?
Мог бы и команду набрать и частями выпускать свой шедевр.
Неразумная у него тактика.
>Должно быть как минимум 120к вершин
Ты там себе усы из говна сделал?
Ты нахуя на 3 пикселя 8 полигонов используешь, гомосексуалист?
Просто я сам по натуре такой человек, которому проще смотреть, повторять, а потом уже лезть в гугл и разбираться с конкретными моментами.
>Котаны. А есть годные степ-бай-степ туторы по созданию 2д платформера с 3д бэкграундом?
Как бы если ты умеешь в 3д, то тебе и туториалы ни нужны.
Предполагаю, что банально камера фиксится как ортагональная и ты просто лепишь 3D игру.
Ну или можно повыебываться с камерой.
>2д платформера с 3д бэкграундом?
Впрочем, зависит от того, что ты точно хочешь: Trine или просто 2D c объемным параллаксом.
>Ты на этого ебаклака взгляни
Ты про ебалака, у которого последняя игра 1мл копий продалась, по 30$?
Как лечить?
Через ручную активацию прокатило.
Хули тут думать то. Рисуешь невидимую окружность в месте пересечения иконок. На стенках этой окружности рисуешь сами иконки
> Это тяжело поддерживать и писать на нем игры.
Из всего семейства калечных байтоблядских языков (С,С++) - паскаль самый вменяемый и сопровождаемый. Просто ему в свое время не повезло с хайпом.
Это говноплюсы тяжело поддерживать. А вообще, надеюсь, что РАСТ добъет это все байтоблядство - вон уже и соснули на простой плейн-пк архитектуре стали.
> у него что движок на паскале написаный
На какой минуте там паскаль видно? А то там дохрена.
И вангую что это делфи, а не паскаль.
>Лооол блядь, у него что движок на паскале написаный? Пиздец.
Щас охуеешь.
Там движок, написанный на придуманном этим же обмудком паскалеобразном языке - посмотри другие видосы на канале, где он конпелятор этого своего велосипеда пишет пишет.
Этот самый чувак который сделал охуеную игру The Witness, он гений но безумный гений.
> и по сравнению с другими это кусок дермища
Потому что это процедурный язык, ёлы-палы. Как и голый C. А у чувака на видео вообще не он, просто похожий синтаксис.
То, что ты в школе или универе сортировал массивы на паскале, знатоком этого языка тебя явно не сделало, раз ты его так легко путаешь с другим только по оператору присваивания.
Охуеть, спасибо, как я раньше не догадывался!
В дополнение этому анону скажу, что современные версии паскалей обладают всеми модными, молодёжными фишечками типа прототипирования, делегирования.
Фактически в 2х18 важен не язык, а "фреймворк", предметно-ориентированная среда разработки.
Все велосипеды написаны и письмо на голом языке в блокноте - путь в ряды отстающих.
мимоНЕпрограммист
> что современные версии паскалей обладают всеми модными, молодёжными фишечками типа прототипирования, делегирования
> Фактически в 2х18 важен не язык, а "фреймворк", предметно-ориентированная среда разработки
Ну если уж совсем покопаться, то делфи - это как раз фреймворк. А язык там используется Object Pascal.
Это я так, к слову, раз уж о делфи заговорили.
А не похуй ли? Держу в курсе, у делфи синтаксис паскаля - раз.
Делфи все равно используют только в отсталых странах СНГ - два.
> А не похуй ли?
Не похуй ли разница между паскалем и делфи?
Лол, тебе может и разница между С и С++ похуй?
Джонатан Блоу -- красавец, один из немногих в игровой индустрии, кого заебал C++ и кто хочет и пытается что-то поменять.
Не на C# же высокопроизводительные вещи писать, это нам на Юнете хватает C#, который все равно в C++ транслируется.
>Блоу пилит свой язык программирования, и чтобы показать, что язык -- не пустой proof of a concept, а реальная вещь, на которой можно писать игры
Зачем он еще раз изобретает колесо?
> кого заебал C++
Ну на УЕЧе вроде на крестах пишут YOBу и не жалуются.
Но вообще да, свой движок - это дико круто.
>Не на C# же высокопроизводительные вещи писать
Не понимаю претензий, если правильно его готовить то даже Go может посасывать https://habrahabr.ru/post/336000/, да и в Юнити последние апдейты несут довольно правильные вещи
https://youtu.be/v4qu4DbO9QY
Аргументированно
Потому что C++ -- говно мамонта. У него куча проблем, которые пытаются решить ребята повсеместно, те же MS пилят кучу своих фишек в VS.
Но главная проблема -- долбоебы из комитета стандартизации, которые заворачивают тысячи охуенных вещей и идей, просто потому что кому-то может что-то не понравится.
>>470743
А хули жаловаться? Делать-то все равно нечего. Уже жаловались тысячу раз, не просто так в UE3 и прошлых версиях был Unreal Script. Вместо него BluePrint сделали, чтобы не так тошно от плюсов было. Да и к тому же в анриале C++ вообще просто перелопачен собственными макросами и кодовой базой очень сильно, у C++ задротов от кода для анриала жопу печот, потому что НЕ ПРАВОСЛАВНО.
>>470746
C# Job System -- это враппер над C++, который компилируется C++ Job Compiler, а не переходит в байткод. Даже проекты на C#, которые через AOT компилятор MS прогоняются, в разы медленнее C++ кода.
>Вместо него BluePrint сделали, чтобы не так тошно от плюсов было
И стало ещё более тошно от дебага макаронной фабрики
Добавлю просто то, что у C# OOP головного мозга, что в геймдеве вообще-то не особо и нужно. Для игровой логики может быть и подойдет, а для каких-то серьезных задач -- нет. Именно поэтому в Unity скоро будет Entity Component System, где вообще никакого OOP нет и все на структурах работает. Давно уже решили, что любовь к OOP только в ентерпрайзе полезна, в играх лучше всей этой хуйней по минимуму пользоваться. Ибо все эти виртуальные функции и прочая хуета абстрактная вашу производительность сажают ого-го..
>И стало ещё более тошно от дебага макаронной фабрики
Ты че? За визуальным программированием будущее.
Прорекламирую свой тред о ВП: https://2ch.hk/pr/res/1088308.html (М)
Изи, браток.
Макросы, заголовочные файлы, распухший синтаксис, крайне большое время компиляции из-за усложненного процесса компиляции (препроцессинг, линковка и т.д.), виртуальные функции, шаблонное метапрограммирование, отсутствие рефлексии.
Это из первого, что приходит в голову. Там один канал по геймдеву в телеге обещал пост написать по этому поводу, я подожду и если не забуду, то пришлю тебе список. Самому лень писать все.
Абсолютно согласен тут, спорить не буду. Для обезьян удобно, или просто для написания одной функции. Все, что больше 10 блоков -- уже пиздец.
Ну с последним ты загнул. Рефлексия это м-м-м-максимум нинужная фича, которая разве что костылем в хуевом коде работать может.
Хотя в остальном я с тобой согласен.
Как дезигнер пользующийся тем же субстансом могу согласится и в тоже время не могу, со временем ты всё равно скатывашься в изващённый ооп, генеря отдельную ветвь пака под генерацию нормалей, отдельную под альбедо, отдельную под генерацию веточек, и отдельную под генерацию камушков, если ты делаешь это по стандартным урокам с офютаба у тебя всё либо статично, либо происходит макаронная фабрика, и ты не можешь например быстро отключить/переключить камушки вместе с альбедо и нормалями, а ведь это всё вместе и стыкуется и переходит на другие генераторы/постэфекты, и т.д.
>это нам на Юнете хватает C#
Вообще то разница между шарпом и плюсами минимальна, если не ударятся в байтоёбство. Высокопроизводительный язык - это С. Но по такой логике можно и на ассемблере писать игры - вообще летать будут.
Любой компилируемый строготипизированный язык программирования без насильного OOP.
Пока из самых популярных тут С++, именно поэтому на нем все и пишут. А про его проблемы я выше писал. Пока нет языка, все графические пайплайны, физические движки и прочее будут писать на C++/C. Вообще, по секрету скажу, в геймдеве очень-очень много вещей в тех же движках, которые попросту C++ врапперы над Си.
Нет, и байтоебство тут ни при чем. Чтобы писать на C# быстрый код, нужно будет вообще про OOP забыть настолько, насколько возможно. Си высокопроизводителен, да, но C++ не настолько отстает от него по производительности, чтобы быть на уровне C#.
Если мне не веришь, то советую написать тебе Cellural Automata на C++ и C# (SFML взять, как основу, для обеих языков он есть), будешь приятно удивлен результатами.
Конечно, ускорить C#, чтобы в некоторых задачах добиться почти скорости С++ можно. Только это unsafe-код будет и последствия тебе, я надеюсь, известны.
Ты забыл упомянуть, что за высокую скорость кода придется заплатить скоростью разработки.
Ну так хули, у тебя всегда есть выход - писать на чистом С.
Что, собственно, большинство четких пацанов, двигающих геймдев, и делает. Плюсы, в общем-то, за исключением пары мелких нововведений, нахуй не нужны. Не встречал ещё задачи, с которой бы чистый Си не справился.
Предвещая вопрос - да, у меня есть свой самописный движок на Сях/ОпенГЛ, и с написанием его у меня никаких сложностей не возникало. Самая ебатня - это писать врапперы над системными функциями винапи и иксов, а во всех остальных местах, где не нужно с чужим говнокодом взаимодействовать - всё просто, легко и понятно.
Именно поэтому на C++ пишут игровые/физически движки и прочие низкоуровневые вещи, которые очень редко переписывают с нуля. Никто не будет жертвовать производительностью в таких местах ради ускорения сроков разработки.
Более того, я же писал, что у С++ есть проблемы и его надо заменять. Спокойно можно писать быстрый код на низкоуровневом языке программирования, если он современный, типо системного Rust или Go. Такие дела. Скорость разработки тут проебалась только из-за архитектуры языка.
Есть вещи, в которых C# всегда был заметно быстрее C++. Одна из самых известных - быстрая работа с памятью. Лично столкнулся с этим, когда заметил, что любой словарь на плюсах раз в 10-30 медленнее словаря на C#.
Это интроспекция.
>>470783
Ну, тут есть доля правды: выделение и освобождение памяти в адресном пространстве виртуальной машины намного быстрее, чем системные вызовы (malloc, realloc, free).
Но по поводу словарей в С++ медленных могу точно ответить, что проблема тут чисто в темплейтах и ООП, которое в С++ ооочень медленное (потому что криво делали).
Да и нахуй не нужно, если только не планируешь свой Круизиз 6 писать, для простого 3D или 2D говно - можно беспроблемно юзать хуюнити c C#. Пикрил как доказательсво - ну круизис, но норм для инди-говна. Назовите мне хоть одного пидара в этом треде, который сделал что-то близкое к Ori или Hollow Knight. Про пикрил или Субнаутику молчу уже.
Я уже выше писал про темплейты и виртуальные функции. Если хочешь, проверь сам, что выдает ошибка в темплейте вот тебе пример, даже тузлы сделаны для этого уже, хотя это должно быть на уровне компиляторов и языка stackoverflow.com/questions/7974544/how-to-deal-with-way-too-long-stl-template-error-reportи как они работают сами по себе.
Сравни с теми же самыми generic в C#. Метапрограммирование для решение простейших задач -- это же пиздец чистой воды. Мало того, что это само по себе ужасно с точки зрения написания кода, так это еще и порождает сложные синтаксические конструкции, что усложняет отладку и поиск багов.
А по поводу виртуальных функций -- советую почитать про то, как они работают. Охуеешь с того, как каждый компилятор выстраивает свою таблицу виртуальных функций как хочет, и как это потом можно отладить.
Как же заебали капчи, пиздец
Ладно, я пошел, пацаны. Подустал уже. Если заскочу в /gd/ еще разок, то продолжим разговор если вообще это нужно
Реализация без темплейтов тупит не меньше.
Нахуй никому не всралось.
Блов может себе позволить хуетой страдать следующие 10 лет ибо миллионер уже.
>выделение и освобождение памяти в адресном пространстве виртуальной машины намного быстрее, чем системные вызовы (malloc, realloc, free).
это не из-за виртуальной машины. это из-за сборщика мусора. вся память линейная и выделение памяти - это сдвиг указателя на число байт. потом во время сборки мусора вся память освобождаются и снова пакуется линейно.
менеджер системной памяти намного сложной, т.к. там могут быть дырки
>большинство четких пацанов, двигающих геймдев
Большинство чётких пацанов двигающих геймдев не умеют программировать, либо им поебать на эти тонкости, но они умеют в сюжет, геймдизайн, нарратив и операторскую работу
>чётких пацанов двигающих геймдев
1) выгнали за то что тормоз
2) композитор в игре, от которой прёт потому что она бесплатная в стиме
3) ноугеймс пс4 голая задница, сука, проебал весь дракенгард
>и тем не менее каждый из них поплевывает в потолок в своем частном коттетдже на лучших землях своей страны
молодец, обосрал
Какое вообще они отношение к юнити имеют? Ты бы ещё киркорова и пугачёву вспомнил.
Хороший аргумент. Ответил так ответил!
Алсо, я мимый крокодил, просто вклеился. Я хз чего их понесло
>проебал весь дракенгард
Там больше компания клепающая все остальные аспекты обосрала, сам-то он клепает сюжеты дай боже, правда денег на его сюжеты с каннибализмом, трапами и инцестом особо не дают. Вообще местным Кириллам стоило бы больше в сторону адекватного повествования идти чем задрачивать шейдера, сейчас это больше окупается
Нахуй твое повествование кому сдалось? PUBG продался 20миллионов не из-за лов стори ретард.
Алсо, без знание шейдеров вообще никуда нахуй в 2018
>PUBG продался 20миллионов не из-за лов стори ретард.
Пабг вообще повторение истории доты, повторить сейчас подобное может только метелица, а не мимокроки с двощей. Ну и уныл кстати это пабг, либо я недостаточно аутичен
>Ну и уныл кстати это пабг, либо я недостаточно аутичен
Тебе, сука, вилла в Италии нужна или любовь критиков и награда "indie flavour of the month"?
Второе, предпочту культурную ценность, продажи моей поделки меня мало интересуют
Дурак тупой, потому что.
Заработал бы миллионы, нанял кого хотишь как Кунтджима и пилил бы шедевр столетия.
Никогда не интересовался играми как способом заработка, или созданием шитдевров, меня оно больше заинтересовало как система имитации своих личных хикканских мирков, ещё со времён первой кваки.
Хотя об этом намного лучше Деви Вреден в своём The Beginner's Guide показал, а мне до его тараканов ещё долго ехать и возможно это хорошо, я бы повесился нахуй с его тараканами
Для повествования нужен бюджет и большая команда, если ты, конечно, не текстовый квест пилишь.
И что это за нонеймы? Знаю только китайца, который поганил неплохие экшн-игры своими ебанутыми подростковыми фантазиями вместо сюжета, и охуел от своей мании величия настолько, что выгнан в шею.
У первого китайца знаю только что он квесты неплохие делал, хз про какие ты экшн-игры
>indie
Причем тут пубг и инди? Их издаёт, блин, контора которая в Корее серьезные вещи типа Теры издавала.
Нихуя се, без катсцен как в курваке значит повествование уже не катит ? А Darkwood и Night in the Woods как примеры не хошь ?
Не интересно, это для селдей
Есть у меня UI-кнопочка. На кнопочке висит метод OnPointerEnter, который входит в интерфейс IPointerEnterHandler извиняюсь если коряво выяснился, только начинаю знакомиться с интерфейсами.
Так вот, данный метод вполне себе выполняет нужные действия если мышку навести на кнопку. Но моя кнопка при определённых обстоятельствах может стать на время неактивной, а затем снова активной. Из-за чего возникают случаи, когда кнопка становится активной прямо под курсором. И так как мышка не наводилась на кнопку, а кнопка просто появилась под курсором, метод OnPointerEnter не срабатывает, для этого надо отвести мышку с кнопки и навести заново. А мне надо чтоб срабатывал.
Пробовал использовать OnMouseOver, но он не работает с UI.
> Тултипы небось херачишь?
Почти.
> По контексту зависит
Делаю васянскую версию тауэр дефенс.
Есть у меня на локации специальные точки, на которые можно посадить какой-либо юнит. Делается это так: кликаешь по этой самой точке, всплывают кнопки с вариантами юнитов, которые можно здесь расположить.
При наведении на кнопку появляется прозрачная моделька юнита и подсвечивается радиус его поражения. Если у тебя хватает на него бабла, то кликаешь по кнопке и юнит устанавливается. Но если бабла на юнит не хватает, то кнопка неактивна. Ну на самом деле активна, то есть её видно, но вместо наименования юнита там написано "нет бабла" и на кнопке отключается скрипт, который как раз и детектит OnPointerEnter (чтоб не появлялась прозрачная модель юнита). Так что если на неё наводишь, то нихера не происходит.
Как только набивается нужное для юнита количество бабла — кнопка снова становится активна (то есть на ней активируется скрипт, который детектит OnPointerEnter) и можно снова ставить нужный юнит.
Но! Если бабла на юнит не хватает и ты держишь курсор над неактивной кнопкой, ждёшь пока набьётся нужное количество денег, когда набилось — кнопка активируется, а прозрачная моделька не появляется, потому что мышка была над кнопкой ещё до активации скрипта. Приходится отводить мышку и снова наводить.
Да, можно просто не держать мышку над неактивной кнопкой, но я хочу это починить.
Ну меня есть позиция мышки, есть позиция кнопки. Но кнопка же имеет размер. Как мне сдетектить что позиция мышки в пределах кнопки?
И да, пробовал через IsPointerOverGameObject, но он детектит наведена ли мышка на любой UI-объект, а мне нужен конкретный.
>IsPointerOverGameObject
Эта вся хуйня мне не помогало.
У меня был тултип который продожал существовать после закрытия окна-хозяина. Я сделал отправку сообщения (через эвенты). Тултип на него подписывается и реагирует
public virtual void Hide()
{
gameObject.SetActive(false);
var @event = Hidden;
if (@event != null)// check for subscribers
@event(this); //fires event for all subscribers
}
Хотя в твоем случае наверно лучше курсор скриптом сдвинуть, лол
Нашёл вот такой велосипед, вроде работает.
https://stackoverflow.com/questions/39150165/how-do-i-find-which-object-is-eventsystem-current-ispointerovergameobject-detect/39150616#39150616
Не предел мечтаний, но всё же.
>Ну меня есть позиция мышки, есть позиция кнопки. Но кнопка же имеет размер.
Ну так ведь:
>Но кнопка же имеет размер.
У кнопки есть position, есть size. Высчитываешь матрицу, которую она окупирует и проверяешь, в пределах ли этой матрицы позиция мыши?
Build completed with a result of 'Failed'
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)
ЧТО ЭТО ЗА ХеРнЯ?Все обновы стоят,откуда это вылезло вообще ума не приложу.На форумах ответа так и не нашел.
>Компилирую проект под ведроид
>жопа горит пиздец
>ЧТО ЭТО ЗА ХеРнЯ?
>UnityEngine
Как водится, правильно заданный вопрос уже содержит в себе ответ. Перекатывайтесь в уеч, глупцы!
У вас в треде тоже появляются залетные юнити-дебилы, указывающие окружающим, что им делать?
Как сделать так чтобы и из владельца можно было получить принадлежащие ему фабрики и из фабрики получить список владельцев, не перебирая весь массив данных (тысячи записей)
>>471085
У меня такая хуйня была с UnityEditor - иногда рандомно на нее ругается, мол нет такой хуйни.
Т.е. иметь 2 словаря, один в фабрике, другой в во владельце. А нет ли возможности хранить это в неком одном словаре с 2мя ключами? И дать ссылку на этот словарь и фабрике и владельцу? Просто не хочу плодить сущности..
Ниет. Птому что будет один словарь вместо 2х. Ассуминг кто то уже сделал двухключный словарь
И на самом деле это не просто словарь а пик рил
http://nashet.github.io/EconomicSimulation/WEBGL/index.html
У тебя два обьекта - владельцы и фабрики. Владельцы могут существовать без фабрик, фабрики не могут без владельцев. У владельцев есть поле - список его фабрик. У каждой фабрики есть ссылка на своего владельца. Никаких новых обьекта не появляется. Добавить поле не значит создать сущность. А вот создать отдельный обьект, который зависит от двух других и от которого не зависят другие - это уже то, чего ты опасаешься.
>У тебя два обьекта - владельцы и фабрики. Владельцы могут существовать без фабрик, фабрики не могут без владельцев. У владельцев есть поле - список его фабрик. У каждой фабрики есть ссылка на своего владельца
Все так, только у фабрики может быть несколько владельцев, как у акционерного общества. Поэтому просто ссылка на владельца не канает.
Ну и создавать класс ownership я все равно буду, хотя бы что бы инкапсулировать специфические методы по управлению владением.
Ну сделай List<Владелец> внутри фабрики. А как ты в своём ownership будешь делать многие-ко-многим? Я вот без понятия как, научи.
>Ну сделай List<Владелец>
Лучше жи Dictionary, чтобы не повторялись владельцы.
>>471148
>А как ты в своём ownership будешь делать многие-ко-многим? Я вот без понятия как, научи
Если сделать его глобальным например. Захуячить йоба массив пар фабрика-владелец. Вот только ключи вроде как не уникальные будут, следовательно тормозить это будет..
Так что, нет такого типового и быстрого решения для хранения отношения многие-ко-многим?
Посоны, допустим у меня есть несколько персонажей отличающихся цветом одежды, головы и т.п. Анимация у всех одинаковая, мне на каждого персонажа свою анимацию придется делать?
> Анимация у всех одинаковая
> мне на каждого персонажа свою анимацию придется делать?
Ты сам-то понимаешь что такое "анимация"?
А может они спрайтовые.
Есть несколько 2д персонажей, отличаются очень незначительно друг от друга. Движения у всех абсолютно одинаковые, мне для каждого персонажа свою анимацию делать или можно как-то унифицировать и сделать 1-у общую?
cf.force = new Vector3(3, 0, 0);
Ты конечно посоветовал хуйню, но натолкнул меня на интересную мысль.
Надо будет сделать супериконку, которая будет изображать систему целиком, в данном случае Земля как сейчас, вокруг неё Луна и спутник.
Спасибо, антоша, успехов тебе с твоим экономическим симом и поменьше комми-даунов в треде.
Нету. Даже в реальном мире нету.
Как бы это выглядело в реальной ситуации? У владельца нет списка его фабрик, на фабриках не знают кто их владельцы, но есть йоба министерство, которое хранит эти связи и к которому обращаются владельцы, чтобы узнать где у них чего ? И причём владельцы локально эти данные не хранят, забывают (не имеют переменной в памяти для этого). Как то жутко выходит.
Тащемта фабрике о своем владельце вообще ничего знать не нужно.
Владелец может знать, что владеет 0.04 одной фабрики и 0.54 другой.
>>471230
Я осознал что для организации торговли акцями этих фабрик нужно к связи многие-к-многим еще и добавить атрибуты: Запись { количествоАкций и сколько ХочетПродать(Купить) }
По хорошему надо таки ебошить глобальный лист из Записей. (Но как? Два SortedList, один сортирован по Владельцу, другой по Фабрике?). Или пихнуть какой то аддон на базы данных? Но такой лист явно будет медленнее множества Dictionary, и неудобнее, т.е. глобален и не хранит текущего контекста.
>>471230
Таки нужно. Чтобы дивиденды платить.
>>471227
Спасибо. Я имел в виду как в КСП планировщик маневров. Когда на узел нажимаешь там по кругу иконки встают.
Не занимайся оптимизацией того, что не тормозит.
Будет тормозить - откроешь профайлер, найдешь что именно и поправишь.
Просто я делаю шейдоры в любой не понятной ситуации
Ну, все еще зависит что еще в сцене будет, но попробуй, если что - потом заменишь.
да
Даже 6000 тормозить не будут.
Clustering job failed for system: 0x46b3f62a526cde9d5ae7123725736c21, error: 4 - 'Out of memory loading input data.'.
Please close applications to free memory, optimize the scene, increase the size of the pagefile or use a system with more memory.
Total memory (physical and paged): 17786MB.
Я чёт, блять, не понял. Эта хуйня 17гб хочет? Пиздец, блять. Вот в пятом упити такой хуйни не было.
Пейджфайл - файл подкачки?
Хуй с ним, в любом случае. На момент запекания было около 9 гб свободной памяти. Упити жрёт нихуя при запекании. А хули просит тогда?
Тебе блядь английским языком написали "out of memory" и что надо попробовать сделать. Хуле ты тугой такой?
Да какой, к хуям, аут оф мемори, блять. Это не нормально нихуя. На сцене около 20 плейнов с 3 разными материалами, два поинт лайта и три рефлекшн пробы. Хули тут запекать-то? В пятой версии любая хуйня пеклась, главное подождать. А тут, блятб, со старта памяти нет, он даже не пытается.
> Total memory (physical and paged): 17786MB.
> Эта хуйня 17гб хочет?
Читать не умеешь? 17 гиг это твоя общая память, то есть рама + своп.
Думал он имел в виду требуемую, пушт в данной ситуации мне нахуй знать не нужно, сколько у меня памяти, что я, сам, блять, не знаю? Было бы логичнее сказать, сколько он хочет.
> Думал он имел в виду требуемую
Ну а ты научись читать, а не додумывать. Что мешает увеличить своп и проверить в памяти ли дело или ещё в чём-то?
> увеличить своп и проверить в памяти ли дело
Да не имеет смысла. Он не должен просить столько памяти, нужно ему это, или нет. Ну чё мне, поможет, если я, допустим, узнаю, что вот на 64-то гб всё нормально.
Он печёт процессором или видеокартой? У меня последнее время на видеокарту некоторые приложения жалуются, но всё равно работают.
Ну там своя тема. Я тупанул и не сказал, что один из коллайдеров тригер ну это и так понятно. а другой обычный и типа сейчас такая фигня.
void OnCollisionEnter(Collision col) {
if (col.gameObject.tag == "Player"){
print ("sad");
}
Не определяет соприкосновение.
> Не определяет соприкосновение
Так сделай тот коллайдер, который триггер, чуть побольше и юзай не OnCollisionEnter, а OnTriggerEnter.
Только помни, что для этого на одном из объектов должен висеть риджидбади, иначе событие не сработает.
Да я уже сделал все. Все работает. Спасибо
Что мешает запихнуть этот функционал в отдельный скрипт и добавлять его на каждый нужный объект?
Кажется что через жопу. Хотя я подумал тут, сама суть создания рамки через префаб уёбищна. Ладно хуй с ним, пока так сделаю.
Лучше сделать рамку дочерним объектом сразу, и включать когда надо, т.к. инстанцирование просаживает производительность.
Этот пидор дело говорит, но вообще единоразовое инстанциирование особой просадки не даст.
Можно пулить рамки.
SetActive на рамку и всего делов
Лучше запихай скрипт на нужный обьект таки. Потом по клику enabled =true. Вообще юнити нехило так ооп шаблоны рвёт.
Да, по умолчанию при наследовании обьект получает все поля и методы родителя.
if (economy.getValue() == Economy.Interventionism)
Rand.Call(() => getAllFactories().PerformAction(
x => x.ownership.HowMuchSelling(this).add(x.ownership.HowMuchOwns(this)).isBiggerThan(Procent._50Procent),
x => x.ownership.SetToSell(this, Options.PopBuyAssetsAtTime)),
20);
Только у меня лямбду watch не хочет видеть, говорит узел не найден или типа того. Надо накатить какой нибудь аддон..
Алсо запилил метод public static bool Call(Action action, int chance)
{
if (UnityEngine.Random.Range(0, chance) == 0)
{
action();
return true;
}
else
return false;
}
Выполняет действие с заданной вероятностью. Очень сладко.
Сделано же для показа возможностей движка
GetComponent<SpriteRenderer>().size.Set(width, height);
Но он сука не работает, просто не реагирует. При том даже если я вместо переменных туда числа запишу, он всё равно не реагирует на эту команду. Что я делаю не так опять же?
Просто скейлить объект не получится, потому что растягивается тайл, а не то что мне нужно.
Такс, я поотжимался и решил эту проблему. Надо присваивать size новому вектору2.
gameObject.GetComponent<SpriteRenderer>().size = new Vector2(150f, 150f);
Попробуй новый Tilemap, который с версии 2017.3 завезли.
Лямбда - транслируется в предикат, не знаю как они у тебя не возвращают что то кроме бул.
Func<string> ReturnAnus = () => return "anus";
var result = ReturnAnus();
У меня вопрос. Как сделать pathfinding в Unity 2d? Знаю что в 3d навмешом можно сделать очень простой ИИ. А что делать с 2д? Писать А* алгоритм с нуля и без оптимизации, чтобы 10 врагов без фризов на экране могли бы только быть или как?
Два - https://www.youtube.com/watch?v=f6TVEvigbd0
Или если лень ебаться, то три (за 15 баксов) - https://assetstore.unity.com/packages/tools/ai/navigation2d-pathfinding-for-2d-games-35803
Таки одно, да.
>Два
Не подходит нужно вращать все а у меня уже куча кода написана которая привязана к 2д как оно есть в юнити.
Мне бы такое решение чтобы ничего вращать не нужно было. Я ненавижу дорожные знаки и мосты
Ты хуетой какой-то страдаешь, напиши свой примитивный pathfinding, хули там тормозить в твоей пошаговой хуйне.
У меня не пошаговая же, а что-то типо кримсонленда с кучей врагов.
Возьми плоскость, поставь её параллельно камере, натяни на неё навмеш. Ещё есть отдельные ассеты.
https://github.com/Unity-Technologies/NavMeshComponents
Там можно вращать юнитевский навмеш и подогнать под 2д. Даже сцена с примером для 2д есть, емнип.
Пока нету нихуя, сижу на бете, они уже третью бету самовключаемый бейкинг теней не могут отключить, проект часто вылетает на запуске, хотя я просто домики из примитивов в эдиторе клепаю и расставляю по террейну, и к скриптам ещё даже не прикладывался даже поудалял всё что есть из стандартных
>домики из примитивов в эдиторе клепаю и расставляю по террейну
Нахуя?
Ты разработкой вообще не занимаешься, просто юньку тестируешь?
>домики из примитивов в эдиторе клепаю и расставляю по террейну
>Нахуя?
Прототипы многоэтажных входябельных зданий, интерьеров, масштабы относительно игрока/нех/табуретки, расставить свет, его цвет, цветокор туманом, прикидки по зонам разной текселерации, etc. Скрипты пока не в приоритете, можно и в бетке посидеть. Начнёт сильно бесить - перекачусь версией ниже.
>>471842
>И зачем нужен юнити, если в нем ничего не разрабатывать?
Только сейчас начал лениво что-то пилить. Валяется как инструмент с прошлой работы в основном, обновляюсь до бетки надеясь что наконец включат инструмент для ёба-теней в деревьях из последней демки.
Очевидно, что разрабатывать надо на стабильной версии. А бету так, за ляжки щупать, изучать что дальше будет.
Где ты прочитал что девы-юнити добавят туда ЕКС? Я ни одной новости от них не нашел, только хулиард проектов от левых чуваков на гитхабе чтобы добавить екс слой в проект.
Их C# Job System и есть его разновидность, но на её получение надо отдельно записываться https://create.unity3d.com/jobsystem
float deltaTime;
float waitTime = 1f; //секунда, ну или сколько тебе надо
void Update () {
if (Time.time > deltaTime) {
deltaTime = Time.time + waitTime;
YobaMetod ();
}
}
Сейчас логика и данные вперемешку существуют в кастрюле под названием моно бехэвиор. В экс это невозможно, там слой логики получает доступ к обезличенным данным только когда он вызывается, т.е. во время тика, и больше никогда и ни как. Но суть екс не в этом, а в изъебистом объединении разных энтити, на основе общих компонентов и выполнении их в системах, обрабатывающих именно эти компоненты. Мол это для геймдева намного гибче и лаконичней чем стандартный ооп подход. На гамасутре была годная статья на эту тему.
Юити ничего с этим общего не имеет. Они просто заимствовали слово компонент, но тут такая же разница как между грамматикой и граммофонном. Компонент в юнити это реализация паттерна композиция, в случае когда монобехэвиор цепляется на существующий геймобжект, и агрегация, когда он используется как отдельный геймобжект.
Очевидно что проперти нужно использовать для инкапсуляции, а ГетHuinja может даже и не работать с полем. На самом деле я все в паблик ебашу. КОЗ АЙ КЭН
Мне отсоеденять колеса и башню, и соответствено импортировать все это как 6 мешей, а потом уже в юньке на каждое колесо вешать колесоколайдер, башню вращать скриптом и т.д. или норм посоны это все делают c одним мешем как-то через анимации(еще не разбирался с ними, имею только общее представление о том как они работают)?
>еще не разбирался с ними, имею только общее представление о том как они работают
В стандартных проектах идущих в комплекте транспорт и наземный и летучий есть как примеры, через fbx можно одним мешем, но поделённым на объекты, но я хз как это в блендере
в годоте просто к объектам добавляешь в имена "-колесомашины" и прочие имена и годот автоматом в машину делает
> одним мешем, но поделённым на объекты
Ты хотел сказать "одной моделькой, но поделённой на меши"?
Если меш "поделить на объекты", то это будет уже несколько мешей, но никак не один. А моделька будет всё ещё одна, да.
Я всегда проперти использую, они приятнее глазу.
GetHuynya() вроде работает быстрее на неважную величину, но в остальном разницы между ними никакой нет. Я использую методы вмето проперти только, когда надо передавать какие то параметры.
1. Читая книги по программированию сильно проседаю, и если со всяким синтаксисом или ооп все в целом более-менее понятно, то когда речь идет про подкапотные штуки, вроде clr, многопоточности или что-то сложнее стека/кучи - сильно проседаю. Чувствую, не хватает базы. Где ее взять?
2. Где брать материал по архитектуре приложений? Инглиша не знаю да, я осознаю его необходимость, уже учу, но пару лет это точно займет. Слышал, сейчас все делают на энтити, поэтому в первую очередь интересует эта парадигма.
3.Как определять, какой контент по каким условиям и лицензиям и с каких сайтов можнл юзать в своем коммерческом проекте? Правильно ли я понимаю, что можно с чистой совестью юзать все бесплатное с юнитистора?
4. Какой самый годный/стандартный/популярный стек программ юнити разработчика? В чем моделить, в чем материалы создавать и всякое такое разное-нужное?
5. Я так понял, для юнити есть куча как платных, так и бесплатных расширений. Какие из них мастхев для разработчика? Или юнити достаточно самодостаточен, и нет расширений, которые юзают прям поголовно все?
6. Где можно посмотреть исходники реальных проектов unity. Я так понимаю, собранные игры можно декомпилить, но что и в каком виде я в итоге декомпиляции получу?
7. А есть ли вообще смысл? Как там в геймдеве с людьми без образования? Смогу ли самостоятельно научиться чему-либо полезному и будут ли за это платить деньги? Пока планирую больше в сторону кодинга развиваться.
8. Как можно устроиться куда-то (не сейчас, когда чуток подучусь) на удаленке забесплатно, где в процессе работы можно было бы научиться делать не говно, а рыночновостребованную работу?
1. Опыт. Опыт сын ошибок трудных. Пока сам не столкнешься с какой то фичей не поймёшь.
2. Начни с паттернов проектирования банды четырёх. И ГРАСПа.
3. Там где контент выложен есть описание его лицензии. Да, в сторе по умолчанию бесплатные ассеты можно использовать. Кто то пишет что только для некоммерческого использования.
4. В чем тебе удобнее. Блендер плюс фотошоп например.
5. Мастхев нету. Если какая то фича становится очень нужной - в юнити добавляют изкоробки. Например как рисовалка тайлами недавно появился.
6. В сторе есть готовые проекты для того чтобы посмотреть. На гитхабе поищи. А вообще лучше сам пиши. На одной теории далеко не поедешь. Пиши код, собирай сцены,делай игры.
7. Смысла нет нивчем. Если ты будешь шарить - то будут платить. Если будешь делать ещё и не говно, будут хорошо платить. Но для этого нужен опыт. Знать путь и пройти путь разные вещи.
8. Никто тебя на работе учить не будет. Так работает капитализм. Но можно напиздеть удачно и на ходу учиться. У некоторых людей срабатывает.
И главное - кучи денег будут после 5-10 лет усиленного вьебывания. Как и в любой профессии.
>кучи денег будут после 5-10 лет усиленного вьебывания.
Тут пидорок спизднул, куч не будет. Будет "заметно лучше чем дворник" но не более. На безбедную старость не рассчитывай.
Если только, конечно, ты не из тех гениев-счастливчиков, что свою Stardew Valley или Subnautica запилит с миллионными продажами.
мимовернулназемлю
Как же это несправедливо. Кому то достаточно один раз вяло пробежаться по полю и обеспечить себя на всю жизнь, а кто то должен потратить четверть своей жизни просиживая за монитором лучшие годы своей жизни и психологически выгорая, превращаясь в аутиста.
Если бы программисты не были такими омеганами, то давно бы запилили какой нибудь профсоюз, который решил этот несправедливый вопрос вознесением их на гору олимпа.
И не говори. Я бы того ласкового газку дыхнул бы да и спать навеки, однако в пидорахе и его запретили.
Потом заливает на стим и тратит инком на шлюх
> Хочу игры делать и зарабатывать на этом кучи денег
Тогда делай мобильную тапалку для одноклеточных дебилов.
Создатель Flappy Bird получал по 50к басков в день только за внутриигровую рекламу.
Но это один успех на миллион.
Как сделать чтобы его поля были видны в инспекторе? Сделал наследование от ScriptableObject, но он нигде не появился :(
А, дошадался. Добавил [CreateAssetMenu(fileName = "Data", menuName = "Inventory/List", order = 1)]
Потом жамкнул в меню и оно появилось.
НО! Суть в том что у меня в этом классе хранятся настройки. Я хочу сделать настройки видимыми в инспекторе. Но все поля static readonly. Можно сделать такие поля видимыми в инспекторе не переписывая сильно класс?
Вот класс https://github.com/Nashet/EconomicSimulation/blob/master/Assets/EconomicSimulation/Scripts/Logic/Options.cs
>[SerializeField]
Разве это работает против static readonly? У меня не работает, даже в debug режиме
Нет, только писать свой пришлепку к инпектору
Тогда ебись через OnInspectorGUI()
Код вот: https://pastebin.com/DtRW3GYF
Ну и нахуй ты нам суёшь код, в котором не прописан твой метод? Ты же сам видишь, ёбана рот, что у тебя консоль выводит "OnTriggerExit", а в коде этого вывода нет. Следовательно, этот метод вызывается не в этом скрипте.
Мать твою за ногу, соберись давай.
Не стал добавлять его в код по ссылке потому что он буквально кроме вывода в лог ничего не делает:
private void OnTriggerExit2D(Collider2D other)
{
Debug.Log("OnTriggerExit2D");
}
Мне интересно почему он в принципе вызывается. Ведь на гифке серый шарик остается на белом, по идее должен вызываться только OnTriggerEnter
Может ты ещё что-то "не стал добавлять"? Откуда мы знаем что ты там нахуевертил и по каким законам там твои шарики себя ведут?
Белый шарик: https://pastebin.com/hQgQhrGe
Серый шарик: https://pastebin.com/bG316aZu
Камера: https://pastebin.com/CxRgLij4
Весь код проекта
Я не очень понимаю как код, который не вызывается из триггеров может повлиять но да ладно.
Ты меняешь тип риджитбоди на статичный, скорее всего он после этого не может пересекаться с другими телами. Проверь по таблице внизу что с чем взаимодействует https://docs.unity3d.com/Manual/CollidersOverview.html
О, это помогло, спасибо!
Зачем тебе вообще настройки хранить в статик полях в ридонли? Ты их из кода что-ли меняешь? Это у тебя такой йоба синглтон? Сделай по человечески, ебани один скрипт на главную камеру и всё. Точно будет один экземпляр и не придётся костыли лепить.
Конечно, последнее - вещь субъективная, но всё же чем дальше, тем больше гложет мысль, что для простецкой велосипедной игры использовать Юнити со всеми её прибамбасами избыточно.
Есть ли резон в моих словах, а соответственно правильно ли будет перекатываться на какой-нибудь Cocos2D, или меняю пики на хуи?
Уже ответил тебе в нюфаготреде.
Скинь пример своего кода картинкой, распишу тебе, что ты делаешь не так.
> Нет чёткой картины, что и для чего
Пройди пару официальных туторов. Сразу ясен хуй что ничего не понятно.
Я искренне пытался, но не осилил. Там сразу какое-то тридэ и непонятно :c
Есть ли какой-то упрощённый курс?
У меня люто бомбит с того, что тут сложнее, чем с фреймворками для веба.
> Там сразу какое-то тридэ и непонятно
Держи элементарный двадэ, элементарнее некуда.
https://unity3d.com/ru/learn/tutorials/s/2d-ufo-tutorial
Если тебе и это будет непонятно, то у меня для тебя плохие новости.
Спасибо тебе, милый человек.
А что скажешь по поводу применимости Юнити для простых игр? Действительно нет резона переползать на Кокосы, если поднабраться понимания работы с Юнити?
> А что скажешь по поводу применимости Юнити для простых игр?
Ну а что тут сказать — юнька для простых игр вполне подходит, главное в ней разобраться.
Самое первое что я на ней написал — был вообще тетрис, проще которого, наверное, только волк, ловящий яйца.
> Действительно нет резона переползать на Кокосы, если поднабраться понимания работы с Юнити?
Не юзал кокосы, но если с юнькой разберёшься, то всё пойдёт нормально. Сначала само собой глаза разбегаются, а потом руку набьёшь и будешь как рыба в воде, главное Долину Отчаяния пережить.
Очень благодарен, ты меня подбодрил.
Постараюсь всё-таки взяться и осилить.
Пара моментов, на которые ты, может быть, знаешь ответ:
- насколько Юнити подходит для публикации игр под Андроид и айос, один тимлид говорил, что на Андроид выходит неоптимизированное говно, которое очень грузит батарею
- можно ли убрать дефолтную заставку Created by Unity при запуске игры на мобилках?
По первому вопросу не скажу, под мобилки не писал.
А по второму — можно, но только в платной версии. Пока не обращай на неё внимание, потом как проект доделаешь — оформишь подписку за 35 баксов и сбилдишь без этой заставки.
Спасибо за ответы.
Так я это первым делом сделал ,потом от отчаянья юнити снес и установил заново и все равно НИ-ХУ-Я
Вкачусь немного с советами.
Сам я тоже хуй простой и своего пока ничего не сделал, но мне очень понравилась книга "Unity in action" (там тоже начинают с тридэ но все очень просто), туторы от catlike coding (там не делают конкретно "игры" но ты в целом начинаешь немного лучше понимать как все работает) и вот этот туториал на удеми: https://www.udemy.com/unitycourse/ (поищи купоны\подожди распродаж, можно за 10 долларов взять). Когда то тоже были проблемы с вкатыванием, казалось все очень сложным, но теперь все кажется гораздо проще.
И тебе спасибо, анончик.
Юнити позволяет хуярить мультиплатформу, тестируется игра на компе разработчика, дай бог ещё на его xiaomi. Естественно об оптимизации и речи не идёт - юнити не знает под что ты делаешь игру, максимум графику пережмет потом перед билдом . Всё зависит от разработчика.
Ты про текст внутри кнопки что ли? Делаешь чтобы чайлд заполнял весь парент объект и все, он сам ресайзится при изменении парента.
>5. Мастхев нету. Если какая то фича становится очень нужной - в юнити добавляют изкоробки. Например как рисовалка тайлами недавно появился
Есть. Левелдезигнеры CSG-рисовалку из коробки просят очень давно, но пока с этим пососач и можно только обмазываться сторонними плагинами
>рисовалка тайлами недавно появился
лол. они ее с 2014 года делали.
тут проблема курицы несущей золотые яйца: зачем добавлять возможности в редактор и убивать курицу - asset store.
они там анонсировали визуальный редактор шейдеров, тоже будут его 4 года делать.
>они там анонсировали визуальный редактор шейдеров, тоже будут его 4 года делать
Мне кажется они просто купили создателя Shader Forge, обновлений плагина с августа нет
Нет, я именно про изменение границ rect transform самой кнопочки (ну или любого другого элемента). Допустим он увеличивает левую границу, при этому у него настолько же увеличивается правая граница. Или, допустим, он тянет за нижний правый уголок, увеличивая нижнюю и правую границу - настолько же увеличиваются верхняя и левая граница, а центр находится в том же месте, где и был. Т.е. симметричное редактирование этого прямоугольника относительно центра. Brackey всё довольно хорошо объясняет, но вот этот момент он просто ДЕЛАЕТ, будто и так всё понятно. Я естественно пробовал во время редактирования границ зажимать ctrl, alt, shift, и да, поведение меняется, но в официальных доках даже этого нет. Про rect tool вообще нихуя не написано.
Столкнулся с такой проблемой:
После проигрыша, запускается окно с менюшкой, в которой есть очки набранные за игру, пару кнопок по типу "Restart" и"GoToMainMenu".
Так вот в Unity-Scene все происходит нормально, все показывается.
После тестового билда на ведроид я не вижу свои очки за раунд. Созданы они в Canvas-Text. Кнопки на местах.
> я не вижу свои очки за раунд
Значит они у тебя прилеплены условно к верхнему-левому краю со сдвигом в дохя пикселей вправо. вот ты их и не видишь на мобилке, но видишь на компе.
Нормальные якоря сделай и будет тебе счастье.
> зажимать ctrl, alt, shift, и да, поведение меняется, но в официальных доках даже этого нет
Эти кнопки по дефолту используются при ресайзе чего нибудь во многих программах. Видимо так исторически сложилось и стало на столько интуитивно, что они не стали писать про это в доках.
Ну это мне понятно, поэтому я и стал пробовать зажимать их, зажимать их комбинации. Но эффект оказался не тот, что нужен. Так и не смог нагуглить никакой инфы по симметричному редактированию rect transform в редакторе.
1120x636, 0:09
> Допустим он увеличивает левую границу, при этому у него настолько же увеличивается правая граница. Или, допустим, он тянет за нижний правый уголок, увеличивая нижнюю и правую границу - настолько же увеличиваются верхняя и левая граница, а центр находится в том же месте, где и был.
> Я естественно пробовал во время редактирования границ зажимать ctrl, alt, shift
Херово пробовал.
Ага, понял, альт нужно зажимать уже когда схватился за границу. Спасибо тебе, добрый человек.
Этот, видимо, из 2030 пишет, дождался, когда GODOT таки became good.
А кроме GODOT вообще ничего нет что ли?
Всё остальное типа голые движки без адекватной гуишной среды разработки?
Ну а в блендер графика шлаковая.
Извините я объебан
https://drive.google.com/open?id=1V3TwCzTaI1Va8OAejxoPfZCS67M8DuH-
Не понял, это она и есть же, что ты имел ввиду?
Компания-разработчик Unity в любой момент может изменить лицензионное соглашение и тогда вы вы заплатите за свои грехи!!!
Лучше так, чем годами разгребать чужой говнокод и допиливать движок вместо того чтобы делать игры.
Она пойдёт на такой шаг, когда им станет выгодно.
Может, но только нахуя ей это? Если движок внезапно станет монополистом то закрутит по самые гланды, вот только это что-то из разряда фантастики. Все последние годы гайки раскручивалисьи и делались послабления.
А может они так и планируют, сначала вбрасывают корм для хомячков, хомячки накидываются на корм, а потом, когда все подсели на новый корм, его делают платным.
Т.е. опустят планку дохода, с которого начинаются роялти + подымут процент.
Пересядут на уеч.
бамп
пц ты тупой?
А если у компании проблемы начнутся финансовые?
А если у владельца компании ещё один ребёнок родится и ему нужно будет строить будущее?
Тут милилоно фактороый и возможностей, таких случаев уже тонны были. Те же банки, в одностороннем порядке менядщие ставки итд
Короче, ты ноль. Живи реальностью. Халява вечной не бывает.
>А если у компании проблемы начнутся финансовые?
>А если у владельца компании ещё один ребёнок родится и ему нужно будет строить будущее?
Что ты несешь, поехавший?
Ты там со своей пидорахоглубинкой не попутал, болезный?
>Тут милилоно фактороый и возможностей, таких случаев уже тонны были.
Давай приводи.
>Короче, ты ноль. Живи реальностью. Халява вечной не бывает.
Пописал на тебя, фантазер. Съебывай отсюда, пидоран.
> милилоно
> фактороый
> менядщие
Опять ты? Я же тебе говорил — не пиши в пятничный вечер, лучше сначала проспись.
Хотя вы настолько дегенераты, что нашего разговора даже не вспомните.
Таки грядёт!
Ещё немного спустя, они окончательно делят между собой рынок, а потом им останется только договорится и дружно всех наебать.
Я не утверждаю, что всё произойдёт именно так, но и вы не можете опровергнуть такое развитие событий.
Скоро твоя мамаша начнёт давать в сраку всем прохожим за батон хлеба.
Я не утверждаю, что всё произойдёт именно так, но и ты не можешь опровергнуть такое развитие событий
Факт, только дебил не видит, что всё так и будет, а это пока - только затравка для заманухи, кусок рынка оттяпать.
Он не понимает, что пока есть спрос на условно-бесплатные движки — будет и спрос.
Но не вини его, он проспится и всё осознает.
Если бы с одного движка на другой было бы так просто перескочить, то да. Но это не так просто. Особенно болезненным такой переход может быть для компаний, в которых целый штат прогеров специализируются только на определенном движке.
> Особенно болезненным такой переход может быть для компаний
Которые уже купили лицензию на использование движка, что проверено штатом юристов и все сроки там прописаны изначально?
Ну купили они на столько, на сколько надо. А что делать, когда лицуха закончилась, и юнити вдруг ебанулись и задрали цену или что-то еще? Распускать весь штат прогеров?
> А что делать, когда лицуха закончилась
Все аспекты согласовываются/прописываются с учётом всех сроков и с учётом издержек и пени, если поставщик ПО не предоставил всё что было условлено.
Даже в нашей говноконторе в юридическом отделе сидят люди, которые за это получают деньги.
Но ты там свой мирок не ломай, главное что у тебя всё будет #скоро
Обращайся.
Если будет монополия одного двух компаний то это плохо, так как не будет мотивации развиваться.
Но ты не забывай что помимо unity есть и XENKO https://xenko.com/ который на шарпе 7.0.
https://www.youtube.com/watch?v=lpBxiUOqtgM
What an ugly baby that XENKO
Кистати. Юньку жи можно до c# 6 проапргрейдить. Кто нибудь пробовал? Были проблемы? А то я диабетик..
Что то медленно движок развивается, последнее выполненное задание было аж в июне.
https://trello.com/b/FwbjOjjB/xenko-roadmap
https://git.xenko.com/xenko/Xenko-Runtime/activity
Ну да, поэтому все давно перешли на Линукс и выкинули Винду.
Все игроки ВОВ переползли в фтп мморпг, которых простооо жопой ешь.
Удалили батлу с калом и кс и играют во фри фтп.
Ты просто тупой школьник, вот и всё. Осознай это.
Спрос, предложение, что ты несёшь? У тебя позанния на уровне школы или гопы, всё не так обстоит в реале, ты может ещё в честные выборы веришь, думаешь в США или Германии они честные? Не будь простачком.
> Ты просто тупой школьник, вот и всё
Это всё объясняет, да.
Спасибо что открыл мне глаза.
Чмок
Ещё одно подтверждение того, что рынок почти монополизирован и скоро будет пц.
Проиграл с поста даже больше чем за весь день проигрывания с этого фольгированого ебаната.
И как ситуация с GODOT обстоит?
А трёхмерную игру где лучше?
бамп
Алсо, вот в учебном примере про фасолину я глянул скрипты, можно ли на их основе смело делать серьезный большой 2д проект? С точки зрения оптимизации, меня интересует как реализована физика, движение объектов. И еще, где можно посмотреть, как правильно делать переходы между сценами в 2д играх, загрузку ровней? заранее спасибо, с меня няшки
загрузку уровнейfix*
Я уже достаточно уверенно чувствую себя в юньке, прошел все туториалы catlikekoding, прочел пару книг, сделал несколько своих простых хуиток. Не то чтобы чувствую себя как рыба в воде, но обо всех основных фичах имею представление и умею в гугл за подробностями. Вот сейчас решил реализовать что-нибудь законченое.
Планирую сделать клон пикрил, c большинством арсенала, менюшками, сетевой игрой, разве что без кампании и кучи настроек оружия. Поэтому вопрос к анонам по поводу того, какой срок выполнения себе поставить? Потому что если я не ставлю себе каких-либо рамок то начинаю ебланить, страдать хуйней и продвигаться медленее улитки. С другой стороны если ставлю для себя нереальные сроки и обсираюсь с подливой то потом ничего вообще не хочется делать. Сколько вренени вы бы дали на реализацию?
>На чём проще игры делать Unity или Unreal?
>И как ситуация с GODOT обстоит?
На юнити там сишарп, унреал и годот там с++ не потянешь.
>А трёхмерную игру где лучше?
Где душе твоей угодно.
unity in action прочел всю, так же как и довольно посредственную unity 5.x shaders and effects cookbook, быстро пробежался по unity 2d game development и навернул пару глав unity cookbook.
Особой пользы от книг для себя не вынес, туторы от catlikecoding ультрагоднота по сравнению с ними.
>и довольно посредственную unity 5.x shaders and effects cookbook
То есть пропустить? Она говно? Что посоветуешь взамен?
>Планирую сделать клон пикрил, c большинством арсенала, менюшками, сетевой игрой
У тебя не получится такое никогда. Простите мне мой цинизм, по твоему тону у меня возникло ощущение, что у тебя не было серьёзных проектов не то что в юнити, а вообще. Поэтому конкретно скилл юнити не так важен, сколько умение оценивать сложность задачи, по опыту прикидывать подводные камни. Возиться со сложным проектом в одиночку могут единицы Кириллов.
Говорю как неопытный юнитибог и опытный продукт-лид. Это не ЧСВ, это опыт моих собственных в студенчестве недоделанных проектов, и некоторый опыт с крупными коммерческими продуктами.
Бери задачу по силам, обязательно дели всё на маленькие релизы. Будь готов, что в один моент ты осознаешь, что делаешь полную хуйню, и будет правильно остановиться с этим.
Планирование - наше всё.
Сорян за сумбур.
Catlikecoding туторы Rendering и Advanced Rendering. Там больше материала.
Вообще 99% книг от pack которые мне попадались - полная или частичная параша. У меня сложилось такое впечатление что это издательство заняло нишу самого низкопробного и посредственного материала. Если серьезные книги пишут профессионалы, то в pack каждый второй автор какой-нибудь васян или студент, который изучил на среднем уровне какую-нибудь хуитку и написал об этом книгу. Причем часто даются самые самые основы, но эту хуйню растягивают на многие сотни страниц.
>У тебя не получится такое никогда.
Хуй знает, для меня это вообще не выглядит чем-то сложным. Специально для набивания опыта взял. Единственные сложные в игре для меня фичи, это то васянство которое планирую добавить от себя.
>Простите мне мой цинизм, по твоему тону у меня возникло ощущение, что у тебя не было серьёзных проектов не то что в юнити, а вообще.
Работаю кодером, лол. Конкретно в одиночку сложных проектов оф коз не тянул, но как все устроено и работает представляю. Плюс свои скилы кодинга оцениваю как гораздо выше среднего, что касается алгоритмов, кодинга, грамотного структурирования тут я в своей тарелке.
Вот оценивать временные рамки это действительно для меня сложно, да.
>Вот оценивать временные рамки это действительно для меня сложно, да.
Это самое главное, на мой взгляд.
Конечно, я не имею представления о хард и софт скилах, о твоём опыте.
Просто я в последние годы работы отхожу от кодинга и понимаю, что для решения серьёзной задачи (а это не fizzbuzz или алгоритмы с деревьями) навыки менеджмента куда важнее непосредственно кодинга.
Добавим к этому проблему с мотивацией: у тебя же есть работа, и игрой ты занимаешься в свободное время. Игра займёт много времени и не факт, что выйдет хорошей. А за неё тебе заплатят, а в чём интерес? Ну ты понял.
Я бы для начала выкинул из плана ИИ с мультиплеером и оставил 2д стрелялку с разрушаемым миром. Если выйдет действительно стоящее, мог бы совершенствовать.
Эту читал?
Паласиос Х. - Unity 5.x. Программирование искусственного интеллекта в играх - 2017
Не, по ии я читал несколько хороших generic книг, в отрые от движка и платформы, только никак не могу вспомнить названия и авторов. + куча всяких пейперов по bwapi т.к. угораю по ии в ртс и сам активно васянил свой старкрафтовский интелехт пока не проебал жесткий диск со всеми наработками. поленился создать отдельный гитхаб и не хотел засорять свои битбакеты, теперь жалею
>>472762
Вот одну из них нашел, если интересно. Несмотря на 2005 года все что нужно там поясняется. Рекомендую как дополнение к книжке про конкретные инструменты для аи в unity.
https://www.amazon.com/Programming-Example-Wordware-Developers-Library/dp/1556220782
Конкрето по юнити я бы посоветовал unity in action и catlike туторы.
В остальном мой опыт не особо релевантен т.к. есть знания из кучи других областей, но в геймдеве я хуй простой.
Напишу какое чтиво по гейдев тематике мне понравилось, а ты уже решай сам:
- Game Engine Architecture Jason Gregory.
- Fundamentals of Computer Graphics Peter Shirley, Steve Marschner
- Programming Game AI by Example
Вроде и все. Остальное из моих электронных библиотек либо не понравилось, либо еще не читал.
Клон гугл не такой уж и сложный для первого раза, нужны всего лишь текстовое поле и кнопка.
У жавы полезность сомнительней - на ней, по сути, один энтерпрайз, где нужны специалисты с 15-летним опытом.
На ней держится андроид, если пилишь мобилоговно то знать джаву желательно.
Кто нибудь тестил Gamesparks для своих мультиплеерных поделок? Если да, то опишите общие ощущения. Хотелось бы смочь в мультиплеер на юньке.
Запилил для теста "Понг" на два рыла, вроде все сделал с точки зрения "архитектуры" правильно, но такое ощущение, что пинг большой, тому что мой шарик пидорасит при получении данных от серва.
А ты уверен, что потянешь их ценник? Бесплатные 100к уников в месяц не так много, зато за следующие 100к тебе придётся заплатить им 2к баксов.
Как вариант, есть связка Photon PUN + Playfab.
@
В редакторе норм
@
В билде хитбокс кнопки ниже самой кнопки
Эти рукожопые мудаки даже кнопку, КНОПКУ блять, не соизволили сделать нормально, это блять вообще что?
Начнем с того, что ты рукожопое мудило у кнопок в юнити нет хитбоксов.
Скрипт кнопки использует rect transform самой кнопки.
Ок, объясни почему в билде та часть, что реагирует на мышь, смещается вниз относительно видимой части? Как это обойти?
В душе не ебу.
Поставь рядом дефолтную кнопку, если в билде она будет вести себя нормально, то ты где-то хуйню сделал.
стукач, ты о чём? я серьёзно
У них есть программа для студентов/хоббистов. Да и вообще, я это все затеял, потому что очень много вакансий, где требуется уметь в мультиплеер.
Photon тоже планирую упарывать, на геймдеве посоветовали чекнуть геймспаркс, мол, там вообще все просто и можно на клиенте сосредоточиться.
Юнити бывает глючит в этом месте, особенно если у тебя старая или новая версия. но скорее всего ты сам обосрался с якорями или масштабом
Проверь, если ли в сцене EventSystem. Если копировал из другой сцены Канвас, то EventSystem не создается автоматически.
Алсо, я так понял, тестурки должны примерно совпадать по разрешению с элементами ГУИ, чтобы не растягивалось
Я в фш рисую. Сам далеко не художник, руками рисую хуже своей 7ми летней сестры.
В юньке достаточно просто даже хуевые текстуры немного облагородить. Можно с альфой играться+наложение цвета есть, достаточно задать форму.
Ну а гуи уровня той же цивки/игр от парадокса без дизайнера/художника не сделаешь, но у тебя вообще пиздос, соре.
Совет на будущее: если не уверен в своих текстурах, сразу пиши в Start() их импорт откуда-нибудь. Я обычно синглтон отдельный создаю (4й пик)
Ну и еще вдогонку: многие вещи даже в твоем случае можно было бы сделать красивее. Типа Не Status: Invented/Uninvented, а галочка рядом с именем технологии.
Или вместо 0% Tax сделать Slider, которым можно выставлять налоги.
Я думаю, что основные претензии к твоему гуи даже не потому что там спрайты плохие, а потому что с дизайнерской точки зрения твой гуи не юзерфрендли.
Я бы на втоем месте сделал бы сначала на твоих (или дефолтных) текстурах что то более читабельное, а потом задумался над текстурами. Бзв, совет из предыдущего поста все еще действует, из синглтона удобнее управлять такими вещами.
> Алсо, я так понял, тестурки должны примерно совпадать по разрешению с элементами ГУИ
Добавлю, что желательно чтоб размер текстурки по ширине и высоте в пикселях был равен степени двойки.
Оно, конечно, не обязательно, но БОХНАКАЖЭТ желательно.
А на GOTOD всё это так же легко делать?
Можно покрасить простым материалом и затем настроить эмиссию материала.
Если нужно что бы части светились, типа нагретого наконечника пули - шейдер
Эмиссия же вроде-бы работает только со статическими объектами?
>шейдер
С этого момента поподробнее. Есть ли где-нибудь годные туторы?
Как тупой вариант, можешь сделать пулю составной - сам спрайт пули и подложка из полу-прозрачного спрайта/текстуры и отображать саму пулю/объект на слое поверх всего, что не есть foreground, в данном случае полупрозрачная хня будет накладываться.
Ну, она будет выглядеть как светящаяся. Тебе ведь это нужно?
Или ты такой куртой, что хочешь 2D-свет типа в Full Bore?
http://www.wholehog-games.com/devblog/2013/06/07/lighting-in-a-2d-game/
Не, я не настолько жесткий первую игру делаю. Я просто думал, что встроенный свет в юнити подойдет.
Ну, если тебе интересно, то в ПРО версии юнити есть такая штука как glow, но у меня бесплатная так что ищу альтернативу.
Glow это простой шейдер, версия Unity нахуй не всралась. Смотри шейдерный ассет-паки в сторе, должны быть без смс
Да мне в принципе не важно как оно будет светится, четко по краям или где-то в центре лампа будет освещать. Просто с лампой проблема в том, что если на экране много пуль лампы просто не работают и все пули не светятся вообще.
В общем, получилось сделать как хотел через свет. Нужно было всего-лишь прожать halo в настройках света.
Вторая закрывающая скобка лишняя приклеилась.
Кто уже проходил этот курс, можете сказать, чему научат, и стоит ли того?
Спасяб.
https://www.udemy.com/unitycourse/
https://unity3d.com/ru/learn/tutorials
https://www.ozon.ru/context/detail/id/34792570/
На сэкономленное купишь себе ассетов.
1918x986, 0:43
> Почему?
Потому что твой лайнкаст вернёт true при пересечении вообще с чем угодно, тем более что ты маску слоёв убрал. У тебя нет условия чтобы он возвращал true только при попадании в enemy, ты просто задаёшь направление. Так что делай проверку.
>Типа Не Status: Invented/Uninvented, а галочка рядом с именем технологии.
Там у меня таблица самописная, лень ее переделывать, но совет хороший
>>473035
>Я думаю, что основные претензии к твоему гуи даже не потому что там спрайты плохие
Не, мне именно про текстурки говорили игроки, прям массово
>>473032
>сразу пиши в Start()
В каждом окне я это писать конечно не буду. Один раз подменю, вроде должно работать. Тем более у меня почти все окна в сцене.
Алсо, в чем прикол? Качаю типа скин в формате псд, а там картинка уровня пикрил. Они мне предлагают надписи закрашивать что ле?
Я думал оно автоматически определяет ЛЮБОЕ препятствие. В доках такого не было, только такой код что у меня выше.
> Я думал оно автоматически определяет ЛЮБОЕ препятствие
Чего? Любой рейкаст возвращает true если он попал в какой-нибудь коллайдер при заданных условиях. У тебя в условиях было "стрелять отсюда вон туда", соответственно он попадал либо в стенку либо во врага и всегда возвращал true, ты ж не делал проверку во что именно он попал.
> В доках такого не было
Ну не пизди, а.
https://docs.unity3d.com/ScriptReference/Physics.Linecast.html
> Returns true if there is any collider intersecting the line between start and end.
>Чего? Любой рейкаст возвращает true если он попал в какой-нибудь коллайдер при заданных условиях. У тебя в условиях было "стрелять отсюда вон туда", соответственно он попадал либо в стенку либо во врага и всегда возвращал true, ты ж не делал проверку во что именно он попал.
Так в рейкасте были координаты врага значит если линия пересекается с чем то другим должно возвращать false, если не с чем не пересекает то true
>>473333
> Возвращает true, если какой-либо коллайдер пересекает линию между началом и концом.
У меня не какой либо колайдер, есть определенный колайдер и его загораживает стенка. Рейкаст вообще не реагирует на стену.
Я так понял это уже нужно вручную добавлять на что он должен реагировать а на что не должен.
> Так в рейкасте были координаты врага
> У меня не какой либо колайдер, есть определенный колайдер и его загораживает стенка
Это тралинг тупостью? Твои "координаты врага" это просто точка в пространстве, определяющая конечную точку линии. Ты нигде не указываешь, что это именно "враг" и тебя интересует только столкновение с ней, ты просто говоришь куда светить.
>Так в рейкасте были координаты врага значит если линия пересекается с чем то другим должно возвращать false, если не с чем не пересекает то true
>координаты врага
Чего за хрень, это банальное "провести линию от точки А до точки Б и найти, пересекается ли данная линия С ЧЕМ УГОДНО"
> Я так понял это уже нужно вручную добавлять на что он должен реагировать а на что не должен
А ты думал компилятор это телепат-экстрасенс? Не хочешь забивать вручную — ебись со слоями. Игра сама не догадается что ты от неё хочешь.
Коррекция: "С ЧЕМ УГОДНО" должен быть объект с коллайдером. Если его нет, линии пох на объект.
>А ты думал компилятор это телепат-экстрасенс?
Я думал что там есть специальные предустановки, по умолчанию.
Откуда ты это качал? Выглядит будто бы демка. Обычно атласы пустые.
Бзв, игроки же не девелоперы, они сами порой не знают, почему им не удобно. К тому же у тебя и спрайты не оч и дизайн. Я просто предлагаю сконцентрироваться на дизайне, потому что юзерфрендли интерфейс с хуевыми спрайтами это для инди ещё более менее, а наоборот хоть триплэй художника нанимай, будут жаловаться.
Можешь хоть на геймдеве найти начинающего диза, который за портфолио тебе поможет.
А лучше всего открой игры от тех же парадоксов и посмотри как они сделали.
Как поставить персонажа в Т позу?
>помимо unity есть и XENKO
помимо unity есть и кусок говна, ты хотел сказать?
сила unity в редакторе. пока не появится движок с мета редактором как в unity, unity может быть спокойным.
Насрать где ты её будешь указывать, в инспекторе или в коде.
Суть в том, что можно определять попадание в нужный объект как через прямую проверку, так и через слои.
Что за редактор?
В юнити половина стандартных фич других движков вынесена на просторы юнити стор. Нету ни визуального создания логики для ии, ни создания шейдеров через граф. Они так и сидели бы на первой версии, если не конкуренция.
> визуального создания логики для ии
> создания шейдеров через граф
Тру-пацаны всё пишут ручками!
Диды так писали и ты пиши.
Тру пацаны пишут свой рендерер и рисуют в нем треугольники
>пик
Обама, ты доволен?
Серьезно, визуальное программирование это рак. Текстом написать все куда красивее и понятнее.
>>473374
Это НЕ ТО. Это просто отдельные программы для редактирования контента.
Фича РЕДАКТОРА юнити в том, что он крутится внутри движка. Blender сделан так-же. Весь интерфейс по сути написан на скриптах с использованием функций движка.
И это полностью меняет принцип движка. Во-первых, это делает возможным play mode, во-вторых, ты можешь писать свои скрипты редактора, по сути создавая любые фичи движка какие угодно.
Это 2 GAME CHANGING фичи.
Ну еще в юнити божественное UX.
No it's an art!
Для ui и тригеров удобно, чтобы делегировать функции непосредственно к коду и попутно запустить еще какое говно. Вообще оно не для разработчиков сделано, а скорее для ГД или тестеров, чтобы воссоздать какую нибудь ситуацию в игре. Для продакшена такая логика все равно на плюсах пишется.
Но я в прошлом посте говорил про behaviour tree и создание матеариала из микса нодов. Для дерева поведений сразу понятно что от чего зависит и что следует, когда если кодом его реализовывать, то это будет длинное полотно, где без хайлайта выделенного слова не разберешься. Еще и дебаг для него писать. А шейдеры это вообще отдельная тема, в которой разбирается еще меньше народу чем в плюсах.
Для таких вещей ноды это манна небесная. Хорошо что в юнити хотя бы прикрутили конечные автоматы, потому что если в коде все эти переходы и сбросы состояний делать, дебажить, то на 10 элементе уже начнет нагреваться пятая точка.
> по сути создавая любые фичи движка какие угодно
Только то, что позволяет закрытое апи.
Ты кроме юнити ничего не видел что ли? Любой популярный движок предоставляет апи для этого дерьма.
>Откуда ты это качал?
Бэйтклики евривея.
Сам пвтался рисовать - получается страшное как смерть говно. Скаченые скины - все хайтек и растягиваются. Решил пока перекрасить просто.
Пример на пике
>>473345
>А лучше всего открой игры от тех же парадоксов и посмотри как они сделали.
Технически они там очень перемудрили. У них ГУИ отдельной жизнью живет, можно все поменять не перекомпилируя. Но красиво, да. И поддерживать тяжелого, пожалуй, что они там накрутили
Лучше бы серую оставил.
У тебя он в принципе кривой, без обид.
Используй иконки, графики, визуализируй, короче.
Да, придется поебаться.
Потратил неделю на позиционирование четырех маркеров: двух треугольников, AN и DN.
Любишь грубый секс?
Берёшь и без задней мысли ставишь.
Хуевато.
Как минимум сделай padding слева.
Цвета тоже какие-то хуевые, обводка мне твоя не нравиться.
Лучше бы хуйнул каких интересных темных градиентов, и небольшое затенение сзади без скругленных углов.
А вообще лучше не изобретать велосипед, а просто набери в инете стратегий и скачай скрины где виден интерфейс, рассматривай их и пытайся осознать все мелкие детали, градиенты, тени, подбор цветов, форма, отступы и т.д., в общем то, что делает интерфейс красивым.
Я вижу на unity только инди говно, есть ли на этом движке по настоящему ААА проекты?
Escape from tarkov
Rust
Это конечно не AAA игры, но это максимум того что может выжать движок.
Новый хоумворд: пустыня кхаррака.
Серьёзно, эта простыня текста отталкивает. Я бы сделал окно меньше раза в 2-3, всё лишнее типа "finances of bla-bla-bla kingdom (you)" убрал, оставив только название королевства на каком-нибудь бэкграунде в виде флага. Процентов 80 строк заменил бы на иконки с появляющейся подсказкой при наведении. И кнопки с надписями take/put сделал с картинками.
Если на пике заменить все картинки текстом в стиле "hero defence", "number of gold mines" (и убрать стильную текстуру конечно), то получится гуй типа твоего.
Но у меня нет денег/времени на иконки
Да и на пике у тебя - не структурированный пиздец. Потому что места не хватает, и мне тоже
>>473448
>Как минимум сделай padding слева.
Сделаю
>>473448
>без скругленных углов.
Обоссут жи, в наше время без скругленных углов низя
>>473404
>Используй иконки, графики, визуализируй, короче.
>Да, придется поебаться.
Некогда ебаться
>Некогда ебаться
Что значит, некогда? Ты что, рассчитываешь поделку скорее на рынок выпихнуть и миллионы заработать? Разочарую, но в следующий год у тебя более 200 скачиваний не будет.
>Но у меня нет денег/времени на иконки
В инете есть триллионы фотографий и разных изображений, ты просто ленивая жопа.
Уеч, годот, гейм мейкер.
Опенсорсные можешь даже компилировать сам, это означает что можно форкнуть и заменить там хоть рендерер, хоть физ.движок, хоть небо с аллахом.
Cities Skyline
Каждый раз желаю пидорам со скругёлнными углами рака. Сначала ты сделаешь скруглённые углы. Потом тебе захочется увеличить отступы между строками текста. Потом ты увеличишь расстояние между другими элементами UI. На выходе получишь рак. А вот если бы твоя игра выстрелила, ты бы сделал шаг в сторону избавления от этого круглого рака.
Я не тролль, Скайп тому яркий пример. Превратился в неюзабельное говно из-за подобных манипуляций.
Ты не тролль, ты даун походу. Скругленные углы у него убивают программы, просто пиздец.
Мимопроходил.
> Ни слова про убийство
> А давайте я буду трактовать как хочу
Иди скайпа наверни, баннер на треть экрана тебе в помощь.
>Уеч, годот, гейм мейкер
нет, в этих движках нет ни полноценного плей мода, ни заскриптованного редактора
>можно форкнуть и заменить там хоть рендерер, хоть физ.движок,
ну охуеть теперь. а еще можно форкнуть линукс и запилить хоть драйвер, хоть рендер.
речь о юзабилити. ты можешь кинуть простой скрипт в папку и создать свой редактор или изменить движок до неузаваемости
>ну охуеть теперь
Да ладна тебе, любой нюфаня проходит через стадию запила собственного движка.
Я все равно не понимаю о чем ты. Какой то особенный плеймод, редактор у него заскриптованный, ну ахуеть теперь. Те движки что выше приведены позволяют расширять себя так же как и юнити.
Покажи уж тогда юнити скрипт который можно кинуть в папку и изменить движок до неузнаваемости, чтобы все поняли.
>. Те движки что выше приведены позволяют расширять себя так же как и юнити.
не так же
>Покажи уж тогда юнити скрипт который можно кинуть в папку и изменить движок до неузнаваемости, чтобы все поняли.
ты не можешь ассет стор нагуглить?
shader forge, встроенный редактор скриптов забыл как он там называется, playmaker, даже блюпринты для юнити сделали
>Каждый раз желаю пидорам со скругёлнными углами рака.
Да ты издеваешься в 2к17 у кого углу не скругленные сразу с порога обоссывают, пороги тоже скрунленные.
>>473550
>Потом тебе захочется увеличить отступы между строками текста.
Только вчера сделал, лол
>>473535
>В инете есть триллионы фотографий и разных изображений, ты просто ленивая жопа
Это несколь ко дней труда разбираться в чужом УГ, nah. Проект опенсорсный, кому надо - тот пусть делает
>>473494
>рынок выпихнуть и миллионы заработать
НУ как профессиональный гемдев я уже состоялся заработал 70 центов в патреоне поэтому продавать это не буду
Так лол что тут уникального то? Рендерить прямоугольник с пропертями и текстурой, а потом загонять результат в формат нужного ассета. Это обычные расширения движка, и в годоте подобного навалом и в уеч сторе.
> Сначала ты сделаешь скруглённые углы. Потом тебе захочется увеличить отступы между строками текста. Потом ты увеличишь расстояние между другими элементами UI. На выходе получишь рак.
Так вот что стало с двачем
Чтобы это сделать, нужно в первую очередь знать, что делаешь и зачем.
В тебе я вижу полоумного еблана, который не сечет, что в Unity приходят делать игры, а не ебаться с low-level stuff, чтобы получить 1.5 нс выигрыша в производительности.
короче ты какой-то ньюфаг.
юнити это революция в мире движков. до юнити ничего подобного не было и пока что еще нет, хотя юнити уже довольно старый.
не то чтобы я юнитибой, мне и самому многое в юнитм не равится, просто объективно это лучший в плане юзабилити движок
вот это манямирок. ты уже и объективную реальность отрицаешь, я смотрю.
дружок-пирожок, ты просто видимо не застал время до юнити в силу возраста.
да, юнити произвел революцию в игрострое - это исторический факт
Тогда скажи по твоему мнению самых ТОП-5 фич которых не было нигде до юнити.
Молодой человек, а что это у вас на гитхабе ни у одного проекта нету даже 10 звездочек? Мы вам перезвоним в общем.
Но звездочек то нет
Хрустальный шар сломался, не показывает какие компоненты на объектах и что в скриптах написано.
Так что извиняй.
двигаешь как чувырло
Это проблема не юнити, а физдвижков вообще.
Если тебе действительно нужны очень быстрые объекты, каждый такт делай рейкаст в направлении движения длинной в расстояние которое объект может пройти за такт.
Спасибо, анон.
Что можно вообще на эту тему почитать, чтобы разобраться почему так происходит и что там у юнити под капотом?
>почему так происходит и что там у юнити под капотом?
А вот это - нельзя, в этом отношении Юнитеки очень похожи на яблочную компанию
Простоя начал с себя, тяжело работял и пришел к успеху. Вы тоже так можете.
Ну хуй знает, работа вроде интересная, аналогов почти нет (в виктории - экономика ОЧЕ кривая), где то полтыщи уников было после открытия страницы на патреоне а деньги давать никто не хочет, кроме одного аутиста.
То ли им игра не нравится, то ли пиар таки нужен (а я в него не умею, да и хекка).
>>473775
>Почему в юнити объект с достаточно большим импульсом может проходить через другие коллайдеры?
Может там где то дельта тайм можно поменять, как в других движкаХ? Подробнее считать будет.
В юнити физикс под капотом, емнип, но дело не конкретно в нём.
Положение ригидбоди меняется раз в такт, и если нет никакой экстраполяции положения, то в случае маленьких коллайдеров и большой скорости, объекты могут так и не коснуться друг друга во время такта физического движка.
Это фиксится continous collision detection, и оно даже вроде есть в юнити из коробки, но работает как то криво.
Вот, попробуй эту хуетень поменять. Если не сработает, лепи рейкасты вручную.
>если хочешь узнать что-то больше чем хеллоу ворлд
Тем не менее на большую часть вопросов в треде ответы там есть.
Если тебя интересует именно физика, то просто берёшь любой физдвижок и без задней мысли читаешь про него. Там нет каких то сумасшедших технологий и секретных знаний: все примерно одинаковы. Могу посоветовать исходники bullet, правда там плюсы.
>Тогда скажи по твоему мнению самых ТОП-5 фич которых не было нигде до юнити.
ты опять не о том думаешь. неважно какие фичи у юнити в плане возможностей движка, важно то, какой у unyti революционный редактор контента, полностью изменивший парадигму игростроя.
это как писать программы в notepad.exe, а потом перейти на visual studio. вот такая разница.
это работает только для объектов, у которых обоих установлено это значения на continuous.
почему странный. ты по другому не сделаешь. даже если ты будешь двигать один объект попиксельно, второй все равно сдвинется на больше расстояние и ты промахнешься.
Это достаточно только для быстрого объекта в большинстве случаев.
Есть конечно случаи, когда это необходимо обоим объектам, но всё же.
и будет непонятное поведение, которое иногда работает, а иногда не работает. и будут толпы школьников ПАЧИМУ НЕ РАБОТАЕТ, которых каждый раз тыкать носом. ну нахуй. так серьезные дела не делаются.
к тому же там наверняка с этим связаны какие-нибудь оптимизации.
Хуимизации блядь. Напиши свой физ.движок, который просчитывает абсолютно все столкновения, даже те которые происходят между кадрами и делай на нем игру.
ты чего подорвался?
>>Nerulands kingdom(you are) owns that province
Ну так 3е лицо, все правильно, чего ты ссышь на меня? Nerulands kingdom(you) - хуже, (that's you) - долго и странно. А you are вполне употребимое выражение в данном контексте, кмк
уговорил
Привет вопрос не совсем по теме:
Кто работает где-то в конторе разрабом на юнити?
Когда брали - какой был опыт за плечами, какие ДОСТИЖЕНИЯ?
Ну вот хоть чего.
Я вот клепал для челов пару раз типо полурекламные демки. По мелочи развлекался всякими системками, но до игр полноценных не доходило.
Моделить умею и вот это всё.
Сайтики делал там...
Но людям если например нужен на андроид разработчик игр? Хз че делать.
Т.е. я вот на 100% уверен что справлюсь но работодателю или ейчару я же не буду такие заявления кидать.
Статистика по знакомым: из 4-х знакомых юнити-прогеров 3 были c# программистами и юнити в первый раз увидели непосредственно перед собеседованием. У четвертого - зарплата 20 тысяч рублей.
У первых трех - где-то от 2 до 5 лет кодерства. У того, который за 20к работает - опыта не было, но юнити он до этого годами задрачивал и свои проекты пилил.
Чому так мало? 20к получает пизда из соседнего отдела маркетинга, срущая на форумах и вк.
>3 были c# программистами и юнити в первый раз увидели непосредственно перед собеседованием
Их что взяли?
> Кто работает где-то в конторе разрабом на юнити?
Не сказать что прям "в конторе", то есть я в ней физически не нахожусь, а сижу дома на жопе ровно, потому что контора в паре тысяч километров от меня, если не больше.
> Когда брали - какой был опыт за плечами, какие ДОСТИЖЕНИЯ?
Никаких, лол. Сказали что надо будет делать и спросили потяну ли. Сказал что потяну.
До этого весь "опыт" заключался в двух официальных туториалах и паре десятков говноуроков с ютубчика.
Дефицит юнити программистов это примерно как дефицит художников в фотошопе.
Нормальных программистов в принципе мало.
>Сказали что надо будет делать и спросили потяну ли. Сказал что потяну.
И что просили делать? Действительно потянул?
Изначальная они пилили визуальную новеллу с простенькими сайдквестами и инвентарём. Но потом что-то у них перемкнуло и они решили переезжать на изометрию. Мне сказали что-то вроде "сорян, надо подумать чего куда, недельку покури". И всю эту неделю я надрачивал юньку чтоб не обосраться когда дойдёт до дела.
И вот спустя неделю мы вкатываемся в изометрию, художник рисует, я прописываю действия/перемещение персонажа, инвентарь, лутание объектов, простенький пиздёж с НПЦ, расставляю по сцене всякое говно, которое художник пилит. И через пару недель у них опять какое-то дрочево, замена художника, несколько дней перекура. Потом новый художник вкатывается, пилим ещё одну локацию. А потом в конце января хуяк - "всё говно, переезжаем в полное 3Д и чтоб камера за плечом, ищем моделлера".
Короче, одно УДОВОЛЬСТВИЕ работать с таким руководством. Я когда у них спросил где диздок - у меня переспросили "а это чё?".
Так что мой опыт не в счёт, я на пионеров нарвался. Вряд ли мы когда-нибудь это доделаем.
Руководитель всё из кошелька оплачивает. У него есть фирма с макаками, которая сайты клепает. А игра это у него так, мечта детства. Вот только он никак с этой мечтой не определится.
Как правильно делать UI, чтобы он корректно рисовался под любые соотношения сторон? А то сделал UI, который нормально показывается на 16:10 соотношении, а на остальных элементы куда-то уебывают. Поделись гайдом. С меня как всегда нихуя.
Алсо, у меня так сложилось что логика игры страны, провинции, попы и пр. сделаны без MonoBehavior. Есть ли смысл перекатывать на MonoBehavior? Что мне это даст, только простоту отладки?
А минусы? Если у меня, допустим, несколько тысяч объектов то MonoBehavior сумарно съест несколько мегабайт? Это довольно существенно тк.к я сейчас под webGL билдю. А тормозов ЦПУ MonoBehavior не даст? Например, за счет вызовов Update и т.п.
Так юзаю же, привязал правильно, но такое чувство, что объект на месте не сидит из-за того, что скалируется неправильно. При этом текстовые полосы снизу тоже куда-то драпают при заданных якорях (Bottom/Center, в данном случае). Первая для 16:10, вторая для 16:9, например. При Free Aspect вообще треш случается. С кнопками вообще всё плохо, так как не могу подобрать нужное значение Match в Canvas Scaler, текущее 0.5. И при нём всё равно на том же 16:9 кнопка не хочет правильно скейлиться.
Если реально дохуя объектов и у каждого свой апдейт, то как раз наоборот советуют избавляться от монобехавиора https://blogs.unity3d.com/2015/12/23/1k-update-calls/ . И почему тебе вообще приспичило, если и так все работает то лучше вообще ничего не изменять.
Алсо новое название говно, нужны более узнаваемые слова
Спрайтовое говно, делает за пару недель.
>Если реально дохуя объектов и у каждого свой апдейт
Забавно что в статье пишут что даже без реализации Update() просто перебор всех скриптов будет съедать немного мощности на десятках тысяч объектов.
>>474150
>И почему тебе вообще приспичило, если и так все работает то лучше вообще ничего не изменять
Ну хз, может это плюсы дает какие, помимо простоты отладки. Я же нуб. А еще тут где то писали что при последовательном вызове одинаковых методов типа Update получается выигрыш в производительноти за счет лучшего использования кэша
>>474150
>Алсо новое название говно, нужны более узнаваемые слова
Слишком узнаваемые тоже плохо. По Economic Simulation игра не гуглится совсем
Поясню, пожалуй.
Любой объект, который наследуется от UnityEngine.Object - это не только объект в управляемой среде, но также и в неуправляемой.
Поэтому, когда у тебя вся эта хуйня стреляет из неуправляемой среды в управляемую, то это занимает "дохуя" времени. т.е. всякие Awake, Update, Start etc
Я не он, но по моему имеется ввиду слой юнити, который на плюсах написан. Где ядром движка компоненты высокопроизводительно управляются, чтобы потом быть вызванными в геймлупе.
А куда её применить-то особо ? Даже профи редко юзают нейросети - говорят оно плохо предсказуемо в поведении для отладки
Очевидно на выключенных панелях скрипты не работают. Попоробуй .enabled если это UI
Верней, панель активная.
Из твоего скрипта ничего не понятно. Поставь брейкпоинт и посмотри
Чтобы все охуели как ты можешь.
>А куда её применить-то особо ?
Чтобы у бота было человеческое поведение, что бы он прятался за укрытиями атаковал из за угла, адаптировался к окружающей обстановке и т.д., а то сейчас в ААА играх боты тупо стоят на месте и стреляют.
Но всё это можно сделать и без нейросетей. Только как уже правильно заметили, лучше деньги потратить на графон и рекламу.
Йоба аи приносит миллиарды в других индустриях, там, где вместо нищих школьников выступают дяди с толстыми банковскими счетами.
>лучше деньги потратить на графон и рекламу.
Игровая индустрия держится на тупых наивных школьниках которым показали отрендереное видео геймплея, и уже сколько таких случаев было.
Чтобы боты адаптировались к игроку, например
Чуть менее чем все случаи, при чем потом школьнику бугуртят что их накормили говном от ААА но все равно жрут и просят добавки
https://github.com/Unity-Technologies/ml-agents
Unity Machine Learning Agents позволяет исследователям и разработчикам создавать игры и моделирование с использованием редактора Unity, которые служат средами, где интеллектуальные агенты могут обучаться с использованием обучения подкрепления, нейроэволюции или других методов машинного обучения с помощью простого в использовании API Python. Для получения дополнительной информации см. Страницу документации.
https://habrahabr.ru/company/cloud4y/blog/346968/
Ну так это индибомжи вольные художники и могут делать душевный продукт, а ААА проекты должны ориентироваться на прибыль, чтобы инвесторы в жопу не выебали.
Жаль что я слишком тупой для этого дерьма.
вот только почему-то у инди бомжей получается примитвная шаблонная хуита, а вся душа в играх ааа разработчиков.
наверное потому что игру сделать - это не чебурек спечь, и нужно дохуя ресурсов чтобы сделать хорошую душевную игру.
Потому что 90% индибомжей хочет по-быстрому срубить бабосиков, запилив очередной "душевный" платформер-клон с пикселями.
Нормальные инди-разрабы, заинтересованные в геймдеве, а не в бабле, делают интересные игры. Тот же KSP как пример.
Пихать их один хрен некуда, в местных заготовках о трёх полигонах им места нет. И тем кто шарят в нейросетях проще найти гораздо более оплачиваемую работу чем работать в геймдеве.
Единственная игра где видел применение сеток - ECHO, где клоны обучаются твоей тактике всю игру, и ближе к концу можно начинать гореть от этого.
>Единственная игра где видел применение сеток - ECHO
Не было там никаких нейросетей, тупая пидораха, поверил в Пр-хуйню?
Там простой алгоритм обучения, который сам написать можешь
> Единственная игра где видел применение сеток
Просто у тебя ограниченный кругозор
> Nival сообщила, что ей удалось создать уникальный ИИ на основе нейросети для RTS «Блицкриг 3», который не использует скрытую информацию о противнике
Ну, собственно, ты и такие как ты - наглядный пример, почему такой гнилой PR работает и такая унылая шушера продается., лел
>ВНЕЗАПНО выяснил, что булевские переменные в дотнете не потокобезопасны
>переделал своё говно, чтобы использовало interlocked
>+20 фпс в рантайме, все работает как часы
Неисповедимы пути твои, дотнет.
Надо будет какую-нибудь книжку по шарпу купить.
>ВНЕЗАПНО выяснил, что булевские переменные в дотнете не потокобезопасны
>переделал своё говно, чтобы использовало interlocked
????
Дебилоид кончай вилять жопой, всем и так понятно что ты жидко обосрался.
Там же по-любому используется какой-то вектор весов для построения регрессионной функции. По сути - та же нейросеть, пусть и с одним слоем.
другой анон
Ну ты делаешь eatPoo = true в одном потоке, работающем на одном ядре ЦП, а поток, работающий на другом ядре ЦП будет еще какое-то время не в курсе, что это случилось. И будут происходить странности, которых по идее быть не должно.
Нахуй тебе нейросети, там? У тебя в игре лимитированный набор действий боты могут использовать (use gun, use roll, walk on water jump, open doors, etc). Ты по ходу игры ведешь статистику как часто игрок использует данный действия и при смене цикла там простая математика - что боты будут использовать в следующий раз.
Теперь сходи на педовикию и почитай применение нейросетей.
Вопрос: НАХУЯ тебе вообще нейросети для такого простого алгоритма?
>а поток, работающий на другом ядре ЦП будет еще какое-то время не в курсе, что это случилось.
Он и не должен быть в курсе о тех пор пор, пока он не:
> if (eatPoo)
А вот при проверке он всегда получит последнее состояние eatPoo
>простая математика
Это детектит в тебе либо разработчика ИИ мирового уровня, в чем лично я сомневаюсь, либо дилетанта, гордо стоящего на пике дурака.
>use gun, use roll...
Так-то я понятия не имею, о каком игоре вы спорите. Там боты применяли эти действия независимо от внешних условий и собственных координат на карте?
>А вот при проверке он всегда получит последнее состояние eatPoo
Как выяснилось, нет. Какое-то время он будет использовать кешированное значение.
>Even if operations with boolean are atomic, variable value can be stored in a cache, and so, as in multicore CPU each core has it's own cache, value can be potentially corrupted.
(c) Какой-то хуй со стековерфлоу.
>Теперь сходи на педовикию и почитай применение нейросетей
А ты сходи и почитай определение, дебич. Или если ух бля сложно пиздец, нахуй, то нейросеть, а если просто, то ну бля тут просто статистика выборов и результатов, а ни нийросить!!!
http://store.steampowered.com/app/551770/ECHO/
Игра проста как два пальца обоссать.
В течение определенного промежутка времени, игра ведет счет, как часто игрок пользуется различными способностями глав. перса и как часто совершает какие-либо действия. Например, если ты разносишь клонов в пух и прах из пистолета, но в следующем цикле, новые клоны будут активно использовать против тебя оружие и т.п. с остальными аспектами геймплея.
Нейросети тут нахуй не всрались. Посмотри пон последние презентации Nvidia на тему driver AI или распознавание лиц с помощью deep learning и сравни масштабы, блять.
https://www.gamasutra.com/blogs/TommyThompson/20180131/313865/The_Road_To_War__The_AI_of_Total_War_Part_1.php
>У тебя в игре лимитированный набор действий боты могут использовать (use gun, use roll, walk on water jump, open doors, etc).
Это действия тупого бота ,ты еще не учитываешь, что бот должен найти оптимальную позицию, не толпится, рассредоточится, умно преследовать игрока, прикрывать один одного, менять позицию, простыми алгоритмическими действиями такого не добиться, это уже тактика живого игрока.
>Теперь сходи на педовикию и почитай применение нейросетей.
Как раз в играх их тоже применяют, смотри первое применения нейросети в доте 2.
>Это действия тупого бота ,ты еще не учитываешь, что бот должен найти оптимальную позицию, не толпится, рассредоточится, умно преследовать игрока, прикрывать один одного, менять позицию, простыми алгоритмическими действиями такого не добиться, это уже тактика живого игрока.
И причем тут neural networks и deep learning, лалка?
Эти проблемы Unreal Tournament решал на ура еще в 1998 на пентиуме 2.
Ты в глаза долбишься или где?
>И причем тут neural networks и deep learning, лалка?
А притом что с помощью neural networks и deep learning можно добиться большей интеллектуальности бота.
>Эти проблемы Unreal Tournament решал на ура еще в 1998 на пентиуме 2.
Ну непизди хуйни, ничего он там не решал, в игре в каждой карте был вшитый маршрут по которым бот двигался такую саму тему я видел в картах кс, бот искал противника и когда находил, просто в него стрелял, это был просто тупой алгоритм.
>А притом что с помощью neural networks и deep learning можно добиться большей интеллектуальности бота.
Только вот в ECHO я этой интеллектуальности не наблюдаю. Такой же тупой бот.
>Ну непизди хуйни, ничего он там не решал, в игре в каждой карте был вшитый маршрут по которым бот двигался такую саму тему я видел в картах кс, бот искал противника и когда находил, просто в него стрелял, это был просто тупой алгоритм.
Проблема решена? Решена.
Что бы было понятнее - в ECHO уровни не генерятся рендомом, навмеш повесить - не проблема.
>>475423
Единственный, кто обосрался, это ты, если думаешь, что какое-то инди-говно использовало neural networks для примитивных ботов.
>бот должен найти оптимальную позицию, не толпится, рассредоточится, умно преследовать игрока, прикрывать один одного, менять позицию, простыми алгоритмическими действиями такого не добиться
Это называется utility AI и прочие. Как раз-таки сложнее этого добиться нейросетями.
yni ユニゲーム
Чому тебе так неприятно от мысли, что кто то может использовать нейросети в своих играх? Если поведение бота выглядит хуево, то это скорее претензия к разработчику, что он подобрал уёбищно коррелирующие между собой входные данные или наоборот переобучил модель что она у него и целиться и ходить и хуй дрочить должна, а не самого подхода применения машинного обучения в играх.
Да оставь ты его. У этого болезного одной из характеристик нейросети является масштабность использования и миллионный бюджет. Бесполезно что-либо доказывать, если он ссылку с юнитевской ml бетой открыть не смог.
А если библиотеки использовать?
Пошарься в настройках рига в импорте модельки, нужно переназначить кости правильно, если у тебя гуманоидный скелет
Да и хрен с ними, уже проверенно что чем умнее противник в игоре - тем выше порог вхождения. А тем меньше продажи, потому что большинство игроков тупое быдло не любят когда ИИ ебёт их по тактишу.
Потому что это игра, а не испытание. Большинство хотят красиво выигрывать у интересного противника, а не ловить пиздюли ещё и в виртуальном мире.
Игроки воспринимает агрессивного противника как интересного, можно сделать элементарный скрипт по заходу противника за спину игроку пока стреляет другой бот, и это уже будет ядерный тактиш для игроков, доказано Fear и Halo в бородатые времена без всякого рокетсаенса
В фире было даже проще, чем кажется. У ботов был приоритетный таск перебегания в новый кавер поближе к игроку. Просто иногда случайно эта позиция оказывалась на фланге игрока.
АИ фира сделали в большей степени левелдизайнеры, а не погромисты.
Интересный противник не обязательно должен быть агрессивным. Интересный противник тот, который не превращает противостояние в рутину. Поэтому часто делают не особо умных противников, а очень много разных типов противников с разными особенностями.
И все довольны.
Мне нужно из кода создать много ректанглов поэтому и из кода, я их в пуле держу с текстом внутри, причём высота и/или ширина зависят от текста. Наверное, это можно представить как бабл с болтовнёй в комиксе.
Допустим, у меня будет ограничение размера по горизонтали. Как мне вычислить размеры текста? При создании в первом фрейме сделать бесконечную высоту, вставить текст, и вытащить из cachedTextGenerator-чего-то там в следующем фрейме? За один фрейм можно?
Ты не понимаешь сути. Они хотят, чтобы ИИ сделал интересный геймплей вместо них самих.
То что они хотят сделать можно сделать и без нейросетей.
Вообще любой АИ можно размотать в фсм, даже тот, который ты обучишь нейросетью. Разница в простоте заполнения. Но любой АИ - лишь инструмент, он сам по себе не даст интересного геймплея, как мощный рендер и два титана не дадут крутой картинки.
>Потому что это игра, а не испытание.
Для тупорылого ленивого быдла это так и есть, а для меня это испытание в этом и есть интерес игры чтобы превозмогать, но игроделы заискиваются перед быдлом чтобы срубить бабла, в этом минус капитализма что все делается не ради принесения пользы людям а для того чтобы стянуть как можно больше денег любыми лживыми способами.
Это неоднозначная тема для нашего мира, иначе бы souls-like игори не взлетели. Сам я предпочитаю в играх хороший сюжет и богатый лор
>Для тупорылого ленивого быдла
Заёбывающегося где то ещё, чтобы в свободное время поиграть самому или с друзьями, пока илитарии ставят мировые рекорды в игорях.
Опять же, тактикульный ИИ достигается не нейросетями, дурашка. Этого поведения напротив сложнее добиться нейросетями.
Как будто что то плохое.
По сути если анализировать геймплей, то игра просто просит игрока выполнить какое-то действие за короткие промежутки времени и наказывает его или награждает. То есть это обычное запоминание. Игра в память.
Не, там больше интуиция работает, по крайней мере, в первый раз и не на начальных уровнях. Начинаешь аккуратно за углы заглядывать, чтобы не нарваться на ловушку или засаду, осматриваешься вокруг врагов и всё такое. В большинстве игр к концу рофлстомпишь, а тут от самого начала и до самого конца напряжение.
И самое забавное, что даже ИИ не нужен. Левелдизайн всё за программиста делает.
Ну вот, игра просто дает леща если ты забудешь выполнить какое-то действие.
Нейросеть это просто функция выбора чего-то из множества на основе входных параметров.
Применить ее можно в куче случаев.
Под каждую конфигурацию параметров будешь в ручную хардкодить функцию выбора?
А если у тебя тысячи разных параметров?
Не какое-то действие, а если будешь неправильно себя вести. Это более сложная деятельность.
Генерализируешь параметры в несколько кучек, задаёшь действия по типу кучек с модификаторами.
Так абожжи, я думал что дурка это пойти и навалять тому пидору, и ещё тем трём, которые выбежали сзади, а ты и не знал. Как у тебя всё хуёво то. Тебе бы "найди пару" игори делать самое то.
>я думал что дурка это пойти и навалять тому пидору, и ещё тем трём, которые выбежали сзади
Это просто нарратив. А геймплей это "найди пару" с ограничением по времени
Не люблю примитивистов вроде тебя. Вас послушать, так и общества на самом деле нет, а есть только индивиды. Дурка - это отрицать преображение количества в качество.
Не понял смысла васянства рокет саенца с создаваемыми ректанглами и текстом, если это всё через гуй создаётся и автоматом под текст растягивается
Во-первых, создаю из кода, во-вторых, размер ректангла зависит от текста, а не наоборот. Ещё есть момент с разбитием текста на тексты поменьше чтобы создать разноцветный кликабельный текст, но это я сам могу
>что какое-то инди-говно использовало neural networks для примитивных ботов.
Игра hello neighbor, вполне себе использует neural networks.
>Во-первых, создаю из кода
Гуишные элементы ты тоже можешь создавать из кода и позиционировать на экране
>размер ректангла зависит от текста, а не наоборот
Всё что можно натаскать мышой в гуй спокойно собирается кодом
https://youtu.be/W4tUQr9Tv3g
Выглядит как то, что нужно, спасибо. В другом месте использовал методом тыка контент фиттеры и форс экспанды, а оно эвона как работает.
Этот ваш юзер интерфейс какой-то жуткий и монструозный. Вроде бы всё есть, но в то же время ничего нет. Знаете, как отличить пошаговую тактику/стратегию на юнити от нормальной стратегии? Тем, что при наведении мышкой на интерфейс клетки под мышкой продолжают подсвечиваться сквозь интерфейс.
Да, только казули забывают посмотреть за угол и им сложно, потому что секундомер не запустился, будильник не сработал, метеорит драконов уничтожил, а кто-то просто получает удовольствие от геймплея. Нравится видеть квадрат вместо круга и представлять, что это треугольник - пожалуйста, на здоровье.
>тут от самого начала и до самого конца напряжение
Как человек прошедший все части не согласен.
Игра своей механикой, атмосферой и сюжетом держит. Она учит осторожности и терпению и всего-то.
Так делай игру под казуалов, в чем проблема-то. Вообще не понимаю, зачем подстраиваться под конкретную ЦА в 2к178, когда вокруг всяких Dwarf Fortress собираются нормальных размеров коммюнити, жрут ASCII и еще просят.
Ну так некоторые казуалы готовы жрать говно, чего не скажешь про остальных.
>жрать говно
Такое себе отношение к людям, которые потенциально могут купить твой продукт.
Люди разные, и играют в игры по разным причинам. Кто-то ради челленджа, кто-то ради аутизма, а кто-то ради эмоций.
Что делать?
Где-то сейчас обсуждают сраный батон, который ты покупаешь просто потому что надо на что-то колбасу положить, и говорят: "Вот говноеды, покупают эту пародию на выпечку".
Какая разница, кто там говноед и казуал. В первый Deus Ex все еще играют, потому что DOOSHA. Лучше Postal 2 лично для меня еще ничего не сделали (в этом жанре), с удовольствием отсыпал разработчикам 300 шекелей пару лет назад.
На твое поделие покупатель найдется. Осталось только сделать!
А мог просто ответить на закрытый вопрос.
Нет, делают юнити хаб для скачивания и обновления, но в очень зачаточном состоянии, пока можно даже не смотреть
>кто-нибудь юзает вуфорию
Без задач, если только мотыгу сделать с анимациями на столе. AR-очки стоят как чугунный мост, а смартом тыкать не очень
> только удалив старую версию
Зачем удалять? Ставишь сверху в туже папку и всё. Что надо заменить - заменится само.
3д пространство и 2д обзор от камеры
Всё-таки сам не смог
Собрался делать химеру: спавнить весь текст, чтобы сгенерировать vertices, затем разбивать текст на составные части с разными стилями и расставить их как нужно по найденным уголкам. Выглядит тупо, ведь я много раз собираюсь генерировать один и тот же текст, но без этого походу никак, ведь мне заранее надо знать, где будет проходить разделение строк в тексте.
Каким образом текстгенератор отрисовывает буквы на экране? Я что-то в самом тг ничего не нашёл такого. Или он только высчитывает эти самые vertices? И если да, то, видать, можно сразу же скипать первоначальный текст и без посредников юзать тг? Есть тут подводные камни вроде, например, появления текста в ебенях за пределами экрана?
Нарисовал бы схему примерно, нихрена непонятно что за гения вёрстки ты творишь на экране, но кажется ты усложняешь
Схемы не нужны. Я использую текст, чтобы найти положение слов, затем текст убираю и спавню вместо него текста поменьше по положениям слов. Таким образом отдельные слова можно в любой цвет красить, находить, по каким из них мышка кликнула, етц.
Текстгенератор тут должен дать координаты.
Пытаться в программирование и не знать английского.
Первым изученным языком программиста должен быть английский.
>Пытаться в программирование и не знать английского.
Английский нужен только в специфичных областях программирования.
Я понял, ты хочешь гиперссылки и хорошую вёрстку. Тебе надо TextMesh Pro навернуть, я думаю большинство твоих проблем оно решит будет в составе дефолтной юньки в этом году
Ты всё понял, но всё равно не говоришь, что делать с текстгенератором. Всю эту ерунду и пятиклассник осилит, но я боюсь что-либо трогать, а не то вдруг всё развалится.
>>476199
Обожаю этот совет новичкам, писать диздоки. Какой же он охуительный - заставляет очередного простофилю помечтать и потом, не мучая жопы, забыть.
>Английский нужен только в специфичных областях программирования
Таких, как поиск информации.
>что делать с текстгенератором
Я всё ещё не пойму каким образом оно у тебя генерирует текст и как потом поверх накладывает текста меньше, есть какие-то опорные слова ?
>Таким образом отдельные слова можно в любой цвет красить
Отдельные слова и так можно красить через Rich text <color=#00ffffff>Слово</color>
>находить, по каким из них мышка кликнула
Гипперссылки, опять же тегами, но только через аддон
https://answers.unity.com/questions/1361870/text-mesh-pro.html
У меня уже ощущение что я какой-то фильтр к бд выдумываю
Насколько я понял, текстгенератор не показывает сам текст на экране, он только рассчитывает, сколько места займёт текст, какая позиция будет у какой буквы при заданных условиях. Представь, что мне нужно вставить в обычный текст эти ваши гиперссылки с крашеным текстом, причём отдельные выделяемые фразы могут переходить с одной строки в другую - т.е. мне обязательно нужно знать позиции слов в тексте, чтобы потом его в нужных местах обрубить и вставить.
>через аддон
Я уже перешёл Рубикон велосипедирования этой проблемы.
Опять же, спрашиваю я про особенности механики текстгенератора, а не про способ воплощения моей задумки. У меня очень горит от баготестирования, поэтому я и спрашиваю про то, на что можно наткнуться по незнанию.
Нет, вот всё что ты хочешь без внешнего костылепроизводства не получится, собственно я и в других движках никогда не наблюдал детального апи для манипуляций с текстом. Это наверное разве что в каких-нибудь движках параходоигр есть где много текста.
я пытался аккуратно их соединить, чтоб прям совсем рядышком края соприкоснулись, но видимо я что то не то делаю. Как вообще в юньке соединяются объекты для pathfinding area? Или нужно, чтобы проходимая область была цельной?
Не забывай ещё про настройки агента, там где слопы, степы и вот это всё.
Играл я в это ECHO. Никакого САМООБУЧЕНИЯ там нет. Есть игровые циклы. Есть строго ограниченный набор действий у игрока, и почти такой же у ботов. Допустим мы только начали уровень. Если игрок спринтанёт, перепрыгнет через препятствие и шмальнёт из пушки, то на следующем цикле боты будут спринтавать, будут перепрыгивать и будут шмалять. Если мы на этом цикле не будем делать нихуя, только прятаться и скрытно убивать ботов, то на следующем цикле боты будут девственно чистыми тупыми зомбарями потому, что в прошлом цикле мы не делали ни одного действия, которое включает у ботов их функции (прятаться и скрытно убивать они не умеют).
Никакими нейронками тут и не пахло. Никакой сложной математикой тут и не пахло.
Даже такого уровня экспертизы достаточно, чтобы понять, что пачка булианов - это не что-то сложное.
Достаточно, если ты дилетант и никогда подобного не делал.
Таким и ракету в космос запустить изи, запалил топливо, бдыщ и там чот улетело.
>Таким и ракету в космос запустить изи, запалил топливо, бдыщ и там чот улетело.
Нет, не изи.
Впрочем, как хочешь. Можешь и дальше считать, что написание примитивной игровой логики - это нечто невероятно сложное.
Niet. Tolko english tolko hardcore
>Впрочем, как хочешь. Можешь и дальше считать, что написание примитивной игровой логики - это нечто невероятно сложное.
Забей, он даун тупой.
public static float? Average<TSource>(this IEnumerable<TSource> source, Func<TSource, float?> selector);
public static float Average<TSource>(this IEnumerable<TSource> source, Func<TSource, float> selector);
>>476493
Все будет
Но не будет
Спасибо. Я думал это только в C#6.0 завезли
>Карта заданная или процген ?
И генерируемая и из файла читать можно. Пикрил карта из Виктория 2 например
>>476615
>Могу графита какого-нибудь нарисовать если надо конечно
Так то это опенсорс, можешь что хочешь рисовать https://github.com/Nashet/EconomicSimulation
Если конкретнее - ну хз, я тут намедни пытался тестурки для окон-кнопок рисовать безуспешно, так как не умею. Хотя, с другой стороны, скины можно где то и найти готовые, хотя и тут я не преуспел. Иконки вроде как не нужны пока, мне проще словами написать, а переделывать текст под картинки - куча работы.
Есть две кнопки: Plus и Minus, одна прибавляет к переменной "suka" 1.7f, другая отнимает 1.7f.
Если пару раз нажать на Plus и пару раз на Minus, suka = 0. Но если нажать более двух раз, например три раза на Plus и три раза на Minus, переменная suka становится равной какой-то хрени 2.384186E-07, что за тупость то?
Погрешность накапливается, это особенность операций с плавающей точкой.
> FloatBred
Хлебушек ты. С плавающей крошкой.
> 2E-7 какая-то хрень
Эти хлебушки делают нам игоры.
Округляй свою суку и будет тебе счастье.
> suka = (float)System.Math.Round (suka, 2);
Вместо двойки можешь влепить другое число, но желательно не больше пятёрки, а то опять вместо нуля говно будет.
Просвещайся http://floating-point-gui.de/basic/
Если плавающая точка не очень нужна можешь на Decimal заменить или вообще на int 17
> Если плавающая точка не очень нужна можешь на Decimal заменить
Даже если и нужна - всё равно можно на decimal заменить.
Я правильно понимаю, что точность в таком случае будет обеспечиваться большими числами? Вместо float 1,35 будет int 135, которое при необходимости можно будет поделить на 100 для подстановки в функцию с float-аргументом?
> Вместо float 1,35 будет int 135, которое при необходимости можно будет поделить на 100 для подстановки в функцию с float-аргументом?
Чего-чего? Decimal вполне себе работает с плавающей запятой, главное на дробные числа пиздрячь суффикс m (как f в случае с float) и компилятор это схавает.
Например
> decimal yoba = 10;
> yoba += 1.63m;
> print (yoba);
Ааа... decimal это значит тоже float, но поменьше? (Мне прост гуглить лень, лежу на диване)
> decimal это значит тоже float, но поменьше?
Эммм... Ну, можно и так сказать, но это утверждение неверно. Это просто другой тип данных.
У decimal меньший диапазон, в отличие от того же float, но выше точность.
Про точность я выше написал. Не проблема сделать любую желаемую точность даже на int.
> Не проблема сделать любую желаемую точность даже на int
Даже в этой >>476706 статье написано
> If you have no decimal datatype available, an alternative is to work with integers, e.g. do money calculations entirely in cents. But this is more work and has some drawbacks
Так что заниматься таким извратом следует только если decimal по каким-либо причинам не доступен.
делаешь одну анимацию, и используешь для всех как префаб
Любая и не нужна. В большинстве случаев достаточно инженерной точности (три знака после точки). Три знака это 999, это 4 раза по 250, это 8+3=11 разрядов. И ещё у нас останется 32-11=21 разряд для целой части. А если ещё взять int64...
> А если ещё взять int64
А можно взять decimal и не выёбываться. Или округлять float до трёх знаков после запятой.
Ну. Так не интересно! Хочется же с подвыпердом! Чтобы игровым студиям было сложнее своровать мой код.
>>476239
Докуриваю свой велосипед с текстом.
Глянул я на это дело очень подробно, и понял, что мои ухищрения с текстом должны работать, НО будет лучше перепрыгнуть заданную планку и сразу перейти к последовательной генерации текста с учётом размеров, шрифтов и т.п. Сейчас я беру базовый стиль текста, вырезаю из него куски, чтобы сделать из них кнопки, и это всё меняю. Но ведь будет лучше, если сразу генерировать весь текст соответственно стилям кусков!
Вот только одна беда - как сделать перенос по строкам, если текст начинается не с самой левой позиции? Например, пикрелейтед. Текстгенератор генерирует текст одного стиля и этот текст находится в заданных рамках, а тут эвона как.
Можно тут схитрить и, например, перед первым знаком нового стиля вставить пробел размером в нужное количество пикселей, чтобы текст генератор генерировал с нужным отступом от начала? Если да, то как такое задать?
Есть два стула:
убрать парентинг со всех частей, и написать свою физику, потому что парентинг сильно мешается и он не такой гибкий как хотелось бы, например когда мне надо чтоб конечность наследовала только перемещение а не поворот и тд.
оставить парентинг, расставить по умному ик всевозможные, грамотно организовать анимацию
пока человек сам двигается, все ок, спокойно анимирую обычным способом. Но если надо чтоб чел, например, процедурно пошатывался если в него прилетит ящик или если закрывается руками, то в случае удара в них пошатывались они.
Вот и думаю как повесить ик на руки и в случае удара двигать ик точки, так же со сем остальным.
Ну или расчитывать положение всех частей в зависимости от того куда действует сила.
>Но если надо чтоб чел, например, процедурно пошатывался если в него прилетит ящик
Хуяссе ты крут
Так, оказывается, rich text в юньке-то работает. То гугл говорит, что не работает, то что работает, лол, а я велосипеды горожу, когда можно текстгенератору скормить текст с разметкой и порезать результирующие vertices нужным образом.
Энивей, хочется знать, можно ли сделать отступ нужной длины в флоатах, пикселях, етц от начала строки. Для общего развития.
Нет, у меня фобия дебаггинга. Как представлю себе чувство разочарования от того, что придётся в коде выискивать баги, так паническая атака начинается.
>>476979
Пишут, что нужно в Text компоненте разметку делать, чтобы заработало. Мне на этот момент похуй, я делаю меш из сгенерированного текста, в материал фонт заношу и через канвасрендер ебошу "напрямую".
А когда я делаю SomeClass.GetSomeValue() и получаю там floaat например как называется это?
SendMessage это существующая только в юнити херня для местной только юнитовской системы ивентов. Я не пробовал этой чуши, но вроде бы к ивентам "прислушиваешься" через listener'ы, а ещё говорят, что это очень медленная хуйня.
Через точку показывается ссылка (или как там), т.е. если в классе есть какая-то функция/переменная, то через класс.переменная можно до неё добраться если уровень защиты позволяет.
У тебя и там, и там какой-то метод. У методов есть return value, если void, то не возвращается ничего, если что-то другое, то обязательно должно возвращаться значение такого типа.
> это называется передачей сообщения, так?
Это называется вызов метода. Передача сообщения - это когда ты шлёшь команду и если у слушателя она есть - слушатель её выполняет.
>>476983
Но ведь вызов метода подпадает под твое определение шлёшь команду и если у слушателя она есть - слушатель её выполняет
Невозможно выполнить метод если его нет у исполнителя
Вот меня эта теоретическая часть интересует, не в терминах C# или юинти.
Получается что GetSomeValue() это тоже передача сообщения (команды). Собщение, говорящее что надо прислать обратно какую то информацию.
Нет. Я ж говорю, SendMessage - это юнитовская херня в базовом классе для юньковских объектов, чтобы можно было по передаваемой в поток стринге (с названием метода или класса или чего там) определить, нужно ли вызывать какой-либо метод через listener. Можно такую же хуйню на коленке закодить.
Ты путаешь специфическую юнитовскую особенность с программированием в целом, ясно?
> шлёшь команду и если у слушателя она есть - слушатель её выполняет
Нет, ты не понял. Если ты попробуешь вызвать метод, которого нет, то тебя компилятор нахуй пошлёт. Это раз.
Два - у нескольких объектов может быть метод с одинаковым именем и рассылка сообщений запустит каждый из них.
Три - сообщения рассылаются объектам, а не компонентам.
Я в uScript имел в виду
Опять ты, сука. Может уже хватит тралить тупостью?
> if (col.GetComponent<Player>() != null)
Кстати, это необязательно. Достаточно
> if (col.GetComponent<Player>())
Я не кодил уже несколько месяцев, вообще удивлен, что я вспомнил название функции и как она работает.
Если смотреть на скрины видно что уменьшая здоровье я посылаю уведомление обетом в EventManager а в EventManager вызывается OnHealthChange, нахуя весь этот гемерой если я могу например напрямую вызывать этот метод без это ебанистики?
Вот ссылка на реализацию кода из книги
https://resources.oreilly.com/examples/9781784390655/tree/master/0655OT_Code/0655OT_04_Codes/events
>в EventManager вызывается OnHealthChange
Поправочка.
в EventManager вызывается OnEvent который вызывает OnHealthChange
Ну, хп можно и напрямую понижать. Это же просто пример.
Суть ивентов в том, что объекту, который запускает событие, не нужно знать ничего про объекты, которые ивент слушают.
Допустим, ты пилишь пошаговую боевку, где UI выводит сообщения: "Орк Ашот атакует Эльф Джонни". Орку нахуй не нужно знать про то, что есть какой-то там UI, он просто событие OnAction() с собой, целью и значением урона/дебаффа/хуйни. UI это слушает, отображает на экране.
Ну или игрок сдох. Класс игрока просто отправляет OnDeath(). UI выводит красивый гамовер на экран, мобы потешаются над трупом, ну или как минимум не стреляют в него.
При ударе по хп может произойти гораздо больше событий, чем просто снижение здоровья. Не будешь же ты каждый раз перечислять с ифами и эльзами все возможные варианты, верно? Лучше подписывать и отписывать от ивента методы.
Оперативно. Спасибо, анончик
Так в OnEvent все равно есть switch, какая разница где его вызывать через EventManager или напрямую?
{
...
static public readonly Market market = new Market();
}
В другом классе есть обращение
static Product()
{
Game.market.SetDefaultPrice(item, item.defaultPrice.get());
}
И тут выпадает эксепшен что маркет == null. Разве не должно это поле инициализироваться при первом обращении? Как сделать правильно?
Я понил. У меня внутри неявной инициализации рынка происходила неявная инициализация продукта котороя обращалась к недоинициализированному рынку и крашилась.
Таки как нормальные погроммисты управляют порядком инициализации? Пихать все в статические конструкторы ОЧЕ не хочется.
Сделай так, чтобы продукт не обращался к рынку.
Вообще хорошим тоном считается, когда рынок вызывает методы продукта, а продукт просто хранит и обрабатывает своё внутреннее состояние, ничего не зная о том, что происходит вокруг.
Ты же загружаешь префаб, который находится в эфирных ебенях вне игрового мира. Instantiate создаёт копию префаба в игровом мире.
Они все как минимум не низкоуровневые, этот пробилдер мне так много раз свет ронял что пришлось выковыривать его геометрию и вставлять уже мешем, но если его адекватно перепишут - норм
Это хуево. Зачем-то встраивают функционал обычного 3D-редактора в движок. Вангую, что для нубья запилили такую фичу. Готовьтесь к волне наплыва Лоу-поли игр с уродливой графикой в стор.
Нахуя на это время и ресурсы тратить не понятно.
Ни одной. Однако я не настолько туп, чтобы не уметь пользоваться блендером и 3д максом.
>Вангую, что для нубья
Наоборот, это для прототипов, крупные компании не хуярят сразу всё 3D-редакторе,
им всю геометрию уровней под геймплей переделывать по триста раз
Нубье как раз делает наоборот - сотни тысяч полигонов на каком нибудь простом унитазе. Тут недавно один дегенерат тред создавал, где у него сцена тормозит с 70 танками, по 100 тысяч полигонов в каждом.
Юнити еще больше окунется в русло "неоптимизированного", "тормозящего" движка.
Есть проблема - есть и тролли.
ты не понимаешь сути.
это отличные иструменты для левел дизайна, чтобы не лезть каждый раз в 3д редактор изменить камушек. можно делать охуенные вещи.
там собственно особенно интересн polybrush
Но чтобы стать поваром — нужно что-то готовить, а не рассуждать о еде только.
Как уже пытался фиксить:
Заимпортил модель в новый проект блендера, и экспортил из него.
Заменил все материалы из работающей модели в неработающую.
Ничего не помогло.
На первом пике то как должно быть, а на втором - то как есть.
Вопрос конечно скорее по блендеру, чем по юнити, но блендер треда тут нет.
Некоторые графические фичи из 3D редакторов могут не работать в unity, фиксится это графическими средствами самого unity.
Но никаких новых графических фич я не добавлял. Я часто мисскликаю и мог тригернуть какой то шорткат, который что то добавил, но вот только что именно? Настройки материалов и текстур в работающей и неработающей модели идентичны.
Алсо, может ли это быть из-за того что я с оригином объектов где то накосячил?
Ты все настройки включил в unity которые связаны с тенями? Добавил для этого нужный компоненты?
Попробуй удалить все компоненты unity из модели и снова добавить.
В юнити ставил нормалы в калкулейт, тангетс в легаси, ничего не помогло. Дело точно не в юнити, а в самой модели, поскольку если в сцену к работающей моделями с тенями добавить эту, то у ВСЕХ моделей пропадают тени. Убираю - тени возвращаются.
В блендере я не особо разбираюсь как и в юнити, поэтому все что мог - просто скопировать все настройки из работающей модели в сломанную, ну и в чистый проект модель залить и из него экспортить, ничего не помогло.
Индус из техподдержки мелкомягких, eto ti?
Отклеилось.
У неё ебало просто отзеркаленое, где-то там проблема. Попробуй не в fbx засовывать, он у блендера не самый прямой
Проблема в этих шести фейсах, которые на скрине удалены щас. Без них модель работает нормально, если восстановить любой из них - херится. Это что, битые фейсы? Такие бывают?
Анврапнул лицо, не помогло.
Тело https://bowlroll.net/file/50798 : sm24404019
Одежда и волосы https://scarlettackerman.deviantart.com/art/MMD-FATE-Jack-the-Ripper-DL-641174709
Ну все блять, готово наконец то.
думаю, в ассет сторе есть, но там платно :(
Я слишком туп был, чтоб в гитхаб лезть. Спасибо, анон, дико хорошая находка для новичка :3
Эмм... я мимокрок, но например, ты не мог бы делать префабы со скриптом, который позволяет выбирать папку с моделями при инициализации префаба? Такое в юнити возможно?
Для этого я к префабу добавил скрипт, в котором в Start() происходит следующее:
anotherScript = GameObject.Find("Another").getComponent<Another>()
Теперь каждый из объектов может делать такое, что мне и надо anotherScript.ThisFunction();
Но, я правильно понял, что этот данный поиск выполниться столько раз, сколько всего я создам объектов (в моем случае 100 раз)? Сотню раз находить один и тот же объект как то тупо
Вызывай нужный скрипт сразу после Instantiate(prefab), а не уже из самого префаба.
Спасибо, как же я сам не додумался.
этот скрипт не должен вызываться сразу же. Функция должна вызываться, когда с одним из объектов что-то произойдет
Значит сделай префаб из того объекта, который у тебя всегда на сцене и из которого вызывается скрипт. И потом сериализуй его уже в том префабе, который ты 100 раз вызываешь.
Префаб в другой префаб можно сериализовать.
или ты имеешь ввиду, когда я делаю Instantiate, то созданным объектам сразу же записываю в свойство нужный скрипт? Типа
obj = Instaniate(...);
obj.script = AnotherScript
??
> obj.script = AnotherScript
Можно просто передавать в скрипт свой контроллер, из которого ты потом скрипт вызываешь. Типа
> obj.GameController = this.gameObject;
А можешь и сам срипт сразу передать.
Сложно гадать как сделать лучше, не зная что именно там у тебя происходит.
>что именно там у тебя происходит
Ну кароч, я создаю кучу шариков из префаба, и когда какой-то шарик попадает в определенное место на сцене (когда у него срабатывает triggerEnter), надо сообщить об этом главному скрипту, что один шарик готов.
Главный скрипт присоединен к пустому gameObject, в нем у меня идет слежение за игровым процессом
> когда какой-то шарик попадает в определенное место на сцене (когда у него срабатывает triggerEnter)
Так нахера тебе в шарике это всё проворачивать? Прикрути скрипт к тому объекту, на котором висит твой триггер-коллайдер. Пусть скрипт на старте находит твой геймконтроллер, а потом при triggerEnter проверяет, если столкнулся с шариком, то в контроллере вызывается метод.
Нашел еще вариант, добавить статичное свойство gameObject Another, и при Start() проверять, если он не установлен, то уставливаем. Получается, что он только один раз установится
не все так просто. Места, в которые должны попадать шарики, и где срабатывает триггер, тоже создаются из префабов и их тоже много
да, тут без четкой картины и не скажшь, что делать. Соррян, что нагрузил
Тогда да, делай через статик.
Singleton.
Может он хочет сделать поддерживаемую архитектуру а не костыльный спагетти код который невозможно поддерживать.
Интересно посмотреть как модификаторы доступа методов ему в этом помогут.
Я изучаю архитектуру делая игру. Да и иигра у меня сложная, можно и обосраться с излишним доступом
>>478255
>>478235
наследие не поможет - отношение один к многим
вложение - кривая архитектура будет т.к. оба класса достаточно обширны
На самом деле можно - через события. Только медленно. Т.е. один класс рейзит событие, второй класс обрабатывает событие. Т.е. первый класс вызвал метод второго даже не зная о его существовании. Только ЦПУ много съестца.
Речь идет о событие Эпередача провинцииЭ в Стране. Если каждая провинция подпишется на это сообщение, то при его возникновении каждой провинции (100-500 штук) а про нее ли вообще речь. Ассуминг событие статическое. Я так вижу, поправьте если что.
Я тебя не понял, но зачем ты все провинции подписывать собрался? Только тех, которым надо об этом событии знать, подписывай.
В контексте Unity (C#) это делегаты. Либо я тебя неправильно понял, тогда объясни другими словами.
В контексте Unity (C#) это делегаты. Либо я тебя неправильно понял, тогда объясни другими словами.
>Эпередача провинцииЭ в Стране
Если ты тот чел что делает ту економическую стратегию в опенсорс, то АСТАНОВИСЬ, выведи хоть свою графику на поверхность для дезигнеров ты всё в код пихаешь, у тебя скоро будет нередактируемый Dwarf Fortess
Проблема:
Я кидаю нож в дерево, нож при попадании в дерево становится его ребенком. Нож имеет тэг "Knife", дерево имеет тэг "Log".
Фишка в том, что по смыслу геймплея игроку нельзя попадать ножом в нож, но если я попадаю ножом в нож, то рейкаст выдает тэг родителя - Log.
То есть если коллайдер является ребенком другого коллайдера, то его тэг автоматически становится таким же, как и у родителя.
Внимание вопрос: где я натупил, потому что это как то совсем нелогично. И если я все же не натупил, каким образом мне узнать тэг ребенка тупым рейкастом в этого ребенка?
Нашел ответ почти сразу после того, как отписал сюда.
Сори за то, что воду мутной делаю, иногда описать свою проблему так, будто бы просишь кого-то помочь с ней, намного больше помогает, чем раздумья в голове.
Если кто-то вдруг когда-нибудь столкнется с данной проблемой:
Коллайдер ребенка рассматривается как часть (или дополнение) коллайдера родителя, однако трансформ коллайдера нет.
Одним словом, проверять нужно не тэг коллайдера, а тэг его трансформа.
hit.collider.transform.tag вернет нужный тэг
а
hit.collider.tag или hit.transform.tag вернет тэг родителя. Со вторым примером как-то мутно, но я проверил, возвращает лажу.
ТЗ на должность юниора, проверяют, насколько я дэбич. По всей видимости, не зря.
>насколько я дэбич. По всей видимости, не зря.
Ты дебич потому что ты так думаешь а не потому что не можешь реализовать какую то фичу, даже Билл Гейтс не сразу стал профи программирования, его родители отдали в элитную школу где был компьютер и где он днями и ночами учился кодить а потом уже начал на этом зарабатывать, профи не рождаются профи стают через тяжелый усердный труд.
> иногда описать свою проблему так, будто бы просишь кого-то помочь с ней, намного больше помогает, чем раздумья в голове
Да что ты говоришь
https://ru.wikipedia.org/wiki/Метод_утёнка
ерунда. лично я пишу дневник разработки/дизайн документ в процессе.
пишу все что не получается в том числе и документирую все решения.
>В контексте Unity (C#) это делегаты. Либо я тебя неправильно понял, тогда объясни другими словами
Да, точнее - events (которые и есть делегаты)
>>478332
>у тебя скоро будет нередактируемый Dwarf Fortess
Но чему же, я трачу до половины времени на рефакторинг
>>478332
>Если ты тот чел что делает ту економическую стратегию в опенсорс, то АСТАНОВИСЬ, выведи хоть свою графику на поверхность для дезигнеров
Чего там выводить то? Текстурки, я вижу ты нарисовал. Там есть у меня класс GUIChanger он перебирает все элементы ГУИ меняя цвет дефолтный цвет на цвет мочи. Пару строк добавить и он будет автоматом менять шрифты и спрайты кнопок и пр. элементов.
Ты не форкнул репо на гитхабе? Было бы интересно посмотреть в игре твои спрайты. На скрине пока не супер-пупер, но интересно.
Там, кстати, один первый контрибутор (не считая меня) появился, починил английский текст кой где, я даже обновление выкатил http://nashet.github.io/EconomicSimulation/WEBGL/index.html
Хорошая попытка, но нет.
>>478646
Разве что под правую кнопку мыши сделать. А то у парадоксов неудобный скролл.
Проще всего через linerenderer, но на пике скорее всего квад
> одновременно может быть много стрелок
У одного юнита? Это что за механика такая, вроде у парадоксов такого не было
Ёптваюмать, ты сюда пришёл сразу после видео "ДЕЛАИМ ХОРАР НА ЮНЕТИ"?
В настройки террейна зайди, ебалдон.
Спасибо, не знал про эту фичу.
Одновременно может быть много стрелок, если выделяешь ячейку, в которой много армий и они идут в разные провы.
На пике вообще клаужевиц энджин, если что
мимо другой анон
Зарегался бы на гитхабе, там чувак дельный мысли задвигает про ЮИ https://github.com/Nashet/EconomicSimulation/pull/422#issuecomment-367767708
А я карту миграции/аcсимиляции пилю
Я бы этих любителей делать вложенные меню вешал на отдельных столбах.
Или просто вести счётчик спавнов, а потом сделать проверку (spawn > 0)?
bool odinRazSpanilsya; // так лучше
Я новичек, и только разбираюсь в unity. Сейчас меня интересует устройство физики на примере 2d платформера.
Поизучав всякие статьи, документации и прочее, я усвоил следующие правила для хорошей оптимизации:
1. Динамичечские коллайдеры (объекты с Rigidbody) должны перемещаться только с помощью средств физического движка, по приоритету оптимизации в следующем порядке:
-применение силы - методы AddForce и AddTorque;
-изменение скорости - свойства velocity и angularVelocity;
-координаты объекта - MovePosition и MoveRotation;
2. Статические коллайдеры (без Rigidbody) двигать нельзя.
3. Нельзя применять к объектам с присоединенным коллайдером метод transform.
Это все касательно того, как всё-таки правильно двигать ГГ, пули, врагов и платформы.
Теперь мои задачи:
1. Реализовать перемещение ГГ по оси x.
2. Научить его прыгать, высота прыжка должна зависеть от продолжительности нажатия клавиши, и должна быть фиксированная минимальная и максимальная высоты.
3. Перемещать платформы.
4. Реализовать способность отталкиваться от стены в прыжке.
Насмотревшись мануалов с ютуба, я все это реализовал, но через transform, только потом узнал, что с точки зрения оптимизации это не верно. Теперь у меня проблема, какой из трех способов воздействия на объект выбрать для каждой моей задачи. Если применять тот же addForce, гг начинает скользить по земле даже после того, как я перестаю жать клавишу. Пытался добавить трение земле, но получается все равно не то. Тогда что, использовать скорости velocity? Вообщем мне бы коротенькие примеры кода, где условный кубик бегает по земле, прыгает в зависимости от продолжительности нажатия клавиши, перемещается на движущейся платформе, атакует другой кубик, который отскакиваети т.д. весь минимальный набор обычного платформера. Что важно, всё это должно быть выполнено с правилами оптимизации и экономии ресурсов, и выглядеть реалистично. Вообще в идеале повторить бы физику из того же Hollow Knight.
Я не могу найти хорошие и понятные туториалы, может добрый анон с большим опытом накатал бы за пару вечеров такой пример? Кто если не мы будем поднимать отечественный геймдев с колен.
Я новичек, и только разбираюсь в unity. Сейчас меня интересует устройство физики на примере 2d платформера.
Поизучав всякие статьи, документации и прочее, я усвоил следующие правила для хорошей оптимизации:
1. Динамичечские коллайдеры (объекты с Rigidbody) должны перемещаться только с помощью средств физического движка, по приоритету оптимизации в следующем порядке:
-применение силы - методы AddForce и AddTorque;
-изменение скорости - свойства velocity и angularVelocity;
-координаты объекта - MovePosition и MoveRotation;
2. Статические коллайдеры (без Rigidbody) двигать нельзя.
3. Нельзя применять к объектам с присоединенным коллайдером метод transform.
Это все касательно того, как всё-таки правильно двигать ГГ, пули, врагов и платформы.
Теперь мои задачи:
1. Реализовать перемещение ГГ по оси x.
2. Научить его прыгать, высота прыжка должна зависеть от продолжительности нажатия клавиши, и должна быть фиксированная минимальная и максимальная высоты.
3. Перемещать платформы.
4. Реализовать способность отталкиваться от стены в прыжке.
Насмотревшись мануалов с ютуба, я все это реализовал, но через transform, только потом узнал, что с точки зрения оптимизации это не верно. Теперь у меня проблема, какой из трех способов воздействия на объект выбрать для каждой моей задачи. Если применять тот же addForce, гг начинает скользить по земле даже после того, как я перестаю жать клавишу. Пытался добавить трение земле, но получается все равно не то. Тогда что, использовать скорости velocity? Вообщем мне бы коротенькие примеры кода, где условный кубик бегает по земле, прыгает в зависимости от продолжительности нажатия клавиши, перемещается на движущейся платформе, атакует другой кубик, который отскакиваети т.д. весь минимальный набор обычного платформера. Что важно, всё это должно быть выполнено с правилами оптимизации и экономии ресурсов, и выглядеть реалистично. Вообще в идеале повторить бы физику из того же Hollow Knight.
Я не могу найти хорошие и понятные туториалы, может добрый анон с большим опытом накатал бы за пару вечеров такой пример? Кто если не мы будем поднимать отечественный геймдев с колен.
>Насмотревшись мануалов с ютуба, я все это реализовал, но через transform, только потом узнал, что с точки зрения оптимизации это не верно.
Нет ничего неверного.
Мухи - отдельно, котлеты - отдельно.
Хочешь, что бы движок за тебя физику обрабатывал? Играй по его правилам.
Можешь сам свою 2D-физику написать? Тогда чо хочешь твори, хоть трансфорт хоть нетрансформю
Ну пишут в книжках и в документации, что если передвигать объекты с rigidbody с помощью transform.position, то при каждом перемещении каждый раз будет происходить пересчёт физики, что сильно влияет на производительность, в несколько раз. Просто таким образом устроен физический движок и всё тут. На пикче тест, слева движение 20 бокс коллайдеров с помощью rigidbody2d.MovePosition, справа — движение через transform.position
>что если передвигать объекты с rigidbody с помощью transform.position, то при каждом перемещении каждый раз будет происходить пересчёт физики
ЧТО
где пишут
кто пишет
Что за чушь.
Это static objects с коллайдерами но без RB кэшируются, RB же обрабатываются как динамичные, чем бы ты их там не двигал.
Во, мне даже инвентарь можно сделать без иконок. Чисто списком предметов. Я бы даже на такой согласился.
У тебя пикча с примером перед глазами, сам попробуй.
Я не умею. Я могу только говнокодить по типу If else. Ну и еще немножко for. А вот че там как с инвентарем я хз.
Для таких есть офтуторы.
Так тебе кроме if-else ничего и не нужно.
Логика самого инвентаря состоит из List<Item>, AddItem(Item item) и RemoveItem(Item item). Проверяешь только, чтобы несуществующие вещи не удалялись.
В MonoBehaviour для UI просто складываешь в пул пачку префабов, обновляешь их при активации окна, отображаешь те, которые не null. Я сделал эти префабы кнопками, которые в разделе сбоку отображают статы (но это у меня юниты, у которых надо смотреть на характеристики, перки и прочую поебень).
Можешь сюда же прикрутить сортировку, сравнение с экипированной шмоткой.
Начни разбираться, гугли конкретные вещи, через какое-то время постигнешь локальный дзен в том или ином вопросе а потом забудешь нахуй все, потому что ты ленивый мудак и не открываешь юнити по два-три месяца.
>а потом забудешь нахуй все, потому что ты ленивый мудак и не открываешь юнити по два-три месяца.
ПРОЕКТИРОВАЛ ПРОЕКТИРОВАЛ ДА И СПРОЕКТИРОВАЛ
Размер чего именно? GameObject scale? Через transform.
Bounds вернет иное, читай док на тему.
Под размером я имею ввиду расстояние от одной грани куба до другой, выраженное в единицах измерегия, используемых при обозначении координат объектов. Надеюсь ты понял
Уже не одну игру таким способом спроектировал.
>В MonoBehaviour для UI просто складываешь в пул пачку префабов, обновляешь их при активации окна, отображаешь те, которые не null.
Что за хуйня?
Я лично заебошил себе кнопки определённого размера, засунул в пул, а разные меню отображаю через подсчёты позиций и выдаче их кнопкам из пула. Когда надо что убрать, просто возвращаю в пул а там прописано сбросить все приобретённые параметры.
Префабы - это круто, да, но ебошить через код надёжнее и как-то правильнее что ли, не знаю. Да и если захочешь настройки графона прикрутить всё равно придётся ебаться с позициями всего и вся лично, а не через юнитовские шорткаты.
>>479617
Инвентарь есть список предметов, так? Делай базовый класс для предметов, делай List<Item> Inventory и храни где-нибудь. Делай где-нибудь окно инвентаря - для просто текстового инвентаря просто текст в мире ебошь, настраивай, чтобы он сам растягивался как тебе надо либо же делай ректангл с вертикал/горизонтал лейаут груп и оперативно дополнительные элементы добавляй, затем при открытии инвентаря (по кнопочке или чему-то ещё) врубаешь скрипт, который обходит каждый элемент листа, добывает оттуда необходимую информацию о предмете и вставляй в текст (например, в каждом Item'е будет лежать стринга name с названием предмета, и ты в каждой итерации цикла добавляешь к стринге ret += Item.name + '\0' (символ новой строки, или как его там надо), а затем меняешь text.text = ret). Когда надо скрыть инвентарь, то просто gameObject.SetActive(false), при открытии делаешь gameObject.SetActive(true).
НО: на текст нельзя кликать при сборке "из коробки", тут нужно самому придумывать систему распознавания кликнутого текста. Самая простая ёбля - везде юзать юнитовские кнопки (у которых есть встроенный текст и имадж, к слову) и ебошить их через лейаут группы и PoolManager'ы пулы очень важная вещь, погугли на досуге.
Тогда он падать начинает медленно
Меня триггернула постановка предложения. Тут каждое второе слово объяснять отдельно надо, что это, как, зачем и нахуя. А потом я забыл написать, как надо бы писать
> только потом узнал, что с точки зрения оптимизации это не верно
Потому что если через трансформ двигаешь объект с риджидбали, то ставь галочку IsKinematic ёптубля.
Ну так ровно тормози. Сделай, чтобы velocity не 0 и всё, а постепенно на 0 сводилась. Каждый апдейт меняй или что ты там делаешь.
> Тут каждое второе слово объяснять отдельно надо, что это, как, зачем и нахуя.
Я с упором на это и писал, раз человеку не хочется штудировать туторы или непонятно, в какую сторону гуглить. Кодить умеет хоть как-то, значит, мозга уже немного правильно поставлена.
Приятное с полезным, так сказать.
Так проверяй, в воздухе персонаж или стоит. Код можешь вырвать из пакета 2D ассетов, который из коробки с Unity идет.
Да типа вообще нельзя, трансформ перекидывает по координатам объект, а физическая система охуевает от такого поворота и начинает пересчитывать физику с каждым перемещением. Вместо этого трансформа придумали MovePosition для rigidbody, я так понимаю.
>>479840
Да в этих примерах убогая физика если честно.
Короче я своровал вот этот движок короче, там физика шикарная практически:
https://assetstore.unity.com/packages/templates/systems/corgi-engine-2d-2-5d-platformer-26617
Буду разбираться что там к чему, ну там правда сложно все наворотили. На рутрекере только версия 4.2 лежит, может кто знает где достать 4.4?
> Да типа вообще нельзя, трансформ перекидывает по координатам объект, а физическая система охуевает от такого поворота и начинает пересчитывать физику с каждым перемещением
Ёбаный насос, нет никакой физики если стоит кинематика. Она для того и нужна.
Ну отпишись автору и спроси. 5 минут делов-то.
>>479849
>Короче я своровал вот этот движок короче, там физика шикарная практически:
К слову - декомпильнуть ассембли Unity - как два пальца. Поэтому, если твоя говноподелка внезапно вторым Hollow Knight, по какой-то немыслимой случайности, станет - все сворованное быстро откопают.
>после продажи
Нет, после продажи уже тебя на хую по факту вертеть будут, ибо нарушена лицензия.
Им выгоднее с твоих доходов пару сотен тыщь езеленых срубить, нежели принять 20 баксов за лицензию, лол. Дубина.
Как это нет, если кинематический объект может рассталкивать обычные тела, как-будто у него бесконечная масса.
Да я вообще не на его основе собирался пилить, а посмотреть как там физика и всё остальное устроено, и попробовать самому так сделать. А если бы я и начал пилить большой проект на этой балалайке, мне 60 баксов совсем не жалко
Kinematic будет взаимодействовать с другими тщт-kinematic rigidbody с коллайдерами, но наухй забьет на статик-объекты или будет пролетать насквозь через большие rigidbody-объекты.
Я хочу определить самый оптимизированный способ, каким образом всё-таки двигать гг и врагов в платформере, чтобы это даже на старых мобилках не тормозило.
>учитель сказал, что не надо рано оптимизировать, значит, лоб разобью, но не буду, и других буду отговаривать!
Фанатик анти-оптимизации, ещё один.
Оптимизация - это последний этап разработки. Что лучше, оптимизированные пол метра кубиков, или готовая, но неоптимизировання игра, которую осталось только обработать напильником, поглядывая в профайлер?
Оптимизированные полметра кубиков. В нормальных конторах из кусков в полметра кубиков игру и сшивают, а не ебошат игру как можно быстрее.
Но это не про нас говноделов-одиночек, нам лучше неоптимизированное говно потому что а) деньги б) глаза разбегаются от всего многообразия областей программирования, которые нужно освоить в короткий срок чтобы сделать игру в одно рыло
Да схуяли последний, если в том же платформере изначально настроенная физика персонажа является решающей в дальнейшей разработке игры, левел дизайна и прочего. Это то, что нужно настроить в самом начале и в дальнейшем уже не менять, т.к. у тебя всё по пизде пойдет в противном случае.
>В нормальных конторах
>нас говноделов-одиночек
У меня возник закономерный вопрос. Ты-то откуда знаешь, как в нормальных конторах разрабатывают ПО?
А тот анон все правильно написал, лучше иметь сырой продукт, чем идеально вылизанное нихуя.
мимо разработчик ПО
Я всеми руками и хуем за оптимизацию, только вот ты не забывай про то, что человек не понимает, как ему, блядь, объекты в 2D двигать. Ему не оптимизацией надо заниматься, ему надо туторы смотреть и гуглить.
Он еще прототип не сделал, он еще не понимает, что у него там в итоге получится, но уже берется за оптимизацию. Если на таком этапе человеку НАДО оптимизировать, то человек где-то наебался.
Да я уже все способы перепробовал, какими можно двигать, я знаю как это делается. В большинстве туторов всё сделанно через трансформ, ну и нахуй мне их смотреть? В остальных туторах физика делается другими способами, но на тяп ляп. Да вы педики тоже нихуя объяснить не можете, как двигать в 2д эти злосчастные объекты по всем правилам, только вилами по воде водите. Не выебывайся короче. Я сделал полный прототип, но потом вычитал, что это не оптимизированно, теперь переделываю в другой, какие вопросы
>Он еще прототип не сделал, он еще не понимает, что у него там в итоге получится, но уже берется за оптимизацию.
Человек не знает, что делает, поэтому спрашивает, как делать правильно, т.е. он пытается разобраться в проблеме. Что лучше: писать и не понимать, что пишешь, лишь бы прототип был, делая тыщу ошибок, которые потом всё равно исправлять, либо же сесть, понять, что к чему, и написать более-менее сносно и более-менее в правильном направлении?
>В большинстве туторов всё сделанно через трансформ
А тебе как надо? Задать позицию напрямую прямее всего же.
в производительности* совсем запизделся
Дело в update-lateupdate-каком-то ещё апдейте? Можешь попробовать оверрайднуть какой-нибудь класс/метод в дебрях юнити, чтобы пересчётов меньше было.
А, ну или двигать в fixed update вместо обычного, где-то в официальных документах было написано, что fixed для физики и нужен, но там нужно отдельно ебаться с порядком выполнения методов.
Нет, я мимокрокодил.
Что делает ригидбоди вообще? Он пересчитывается я так понимаю потому, что он косвенно привязан к трансформу, и потому его нужно пересчитать чтобы он в "своей системе координат" с другими ригидбодями работал. Так вот: он тебе нужен? Коллайдерами обойтись нельзя?
Если свою физику делаешь, то почему бы и нет? Ригидбоди же юнитовская физика, тебе надо две физики?
Ты сравниваешь "я подкручу значения гравитации и ускорения персонажа, чтобы можно было так-то и так-то контролировать персонажа" с "я буду двигать юнитов конкретным инструментом, чтобы сохранить 1 кадр на первом пне".
>>479980
>>479994
> В большинстве туторов всё сделанно через трансформ
Вот это пиздец странно, потому что объекты будут класть хуй на коллайдеры и клипаться.
> Да вы педики тоже нихуя объяснить не можете, как двигать в 2д эти злосчастные объекты по всем правилам
Блядь, ну ебать. Делаешь все через кинематику, проверяешь на потенциальный коллижн через Overlap. Можно даже всякие ящики как-то двигать, я нихуя не помню, потому что пишу текстовые симы с графеном. Поищи среди официальных туторов по физону и платформерам урок, там как раз вот это есть.
> Это вообще законно?
К rigidbody прикручено много потенциально ненужной хуйни. Ты можешь схему выше реализовать чисто на коллайдерах, просто тебе нужно будет ручками прописывать, что делать с transform при падениях, столкновениях с другими коллайдерами и т.п. Опять же просто смотришь через OverlapSphere или рейкасты проверять, что там под ногами и двигать персонажа вниз, когда надо, останавливать перед стеной.
>>479981
Это не оптимизация, это банальное избегание велосипедов.
Я об этом как-то не задумывался. Лол, блять. Ну впринципе, после того как я обнаружил, что прыжок через AddForce не сделать, когда нужно запилить зависимость высоты прыжка от длительности нажатия клавиши, стало понятно, что в принципе уже начинается создание собственной физики, там вектор противодействия гравитации мутить, формулу кинетической, потенциальной энергии имплементировать... я всё это говно замутил, но так и не додумался, что rigidbody то уже впринципе то и не нужен...лол, так что, мне открывать старый проект и просто удалять rigidbody
Разница в том, что если у тебя будут еще двигающиеся объекты помимо игрока (враги платформы), на на них всех надо вещать кастомную физику, рейкасты и прочая.
Тут тебе решать - будет ли твоя поделка быстрее с N объектами или же Unity default
Насчёт первой твоей реплики, ты просто не пробовал разными методами двигать ГГ и тестить, там совсем по другому ведёт себя персонаж, само ощущение, прыжки, в каких-то случаях инерция остается, в каких-то нет. На самом деле 2д физика не так-то просто, сравни как двигается например super meat boy, чувак из limbo и какой-нибудь fez, они все разные, я об этом и толкую, что именно это "ощущение" (механику персонажа) нужно настроить раз и навсегда в самом начале разработки.
А вообще по тем же правилам оптимизации, говорят что двигать статические коллайдеры (без rigidbody) запрещено, иначе будет нехилое падение производительности
В смысле, как?
The physics engine assumes that static colliders never move or change and can make useful optimizations based on this assumption. Consequently, static colliders should not be disabled/enabled, moved or scaled during gameplay. If you do change a static collider then this will result in extra internal recomputation by the physics engine which causes a major drop in performance. Worse still, the changes can sometimes leave the collider in an undefined state that produces erroneous physics calculations.
А, ну понятно. Оптимизация.
Тогда разбери на составляющие движение в пространстве и уже от этого отталкивайся.
Если тебе нужно движение как в SMB (где, по-моему, персонаж плавно тормозит после ускорения), то, вероятно, стоит через rigidbody ковырять ускорения.
Если тебе нужно движение как в Shovel Knight, можно и через схему в предыдущем посте запилить.
>через схему в предыдущем посте запилить
Какую схему? Тут никто ничего так и не предложил. Да мне и не нужно впринципе, пойду разбирать, как в Corgi Engine устроено, сделаю по аналогии, там вроде норм всё работает
https://forum.unity.com/threads/moving-static-collider-vs-kinematic-rigidbody-dubious-official-documentation-and-performance-cost.359649/
Moving Static Colliders will be a lot less expensive. A Static Collider is just a gameobject with a collider component on it, but without a Rigidbody component. Previously, since the SDK assumed that Static Colliders aren’t moved, moving a Static Collider would trigger an expensive AABB tree rebuild that affected overall performance badly.
In Unity 5, we’ll use the same data structure to handle the movement of both dynamic and static colliders. Unfortunately, we’ll lose the benefit of Static Colliders consuming less memory than dynamic ones. However, right now, the cost associated with moving Static Colliders is one of the top 3 causes of performance issues in Unity games. We wanted to change that.
Говорят, что с 5.0 уже можно двигать статичные коллайдеры. Ох уж эта юнька и её аут оф дейт ВСЁ
Roll-a-Ball и Arkanoid learn статьи и видео - одни из самых популярных и они вещают об expenses of AARB tree rebullding при перемещении статичных коллайдеров. Отсюда и смущения, поди.
Суть в том, что мы используем обычный rigidbody2d, но контролируем компоненту x velocity, просто добавляя ускорение каждое обновление. Вот и все.
Тут можно посмотреть как это работает https://oraoraora.itch.io/super-magical-travelers
Ты какой-то дурак.
Про использование Velocity как метода RigidBody уже упоминали. Залезь обратно и не высовывайся.
Так че посты на форуме, надо фича лист новых версий юньки искать, где там такое исправление есть
Весь бы код и скинул
Да и вообще ещё изначально о том, можно ли двигать rigidbody с помощью transform.position
Надо пруфы
Тогда возникает проблема импульса, когда я отпускаю клавишу, мне надо чтобы гг резко тормозил, если обнулять велосити, то в прыжке он на середине прыжка останавливается и падает вниз
>когда я отпускаю клавишу, мне надо чтобы гг резко тормозил
>если обнулять велосити, то в прыжке он на середине прыжка останавливается и падает вниз
Ну и что не так, блять? Сам понимаешь что тебе нужно?
Тогда при приземлении он скользит. Я пробовал по всякому, как-то криво выходит
Vector2 movement;
FixedUpdate()
{
movement = 0;
if (Input.GetKey(moveRight))
{
movement += new Vector2(1,0);
}
rb.velocity += movement;
}
Либо здесь все правильно и передвижение не будет мешать остальным силам, либо я наебался и объект ускорится нахуй в бесконечность. Скорее всего второе, но наверняка это фиксится одним условием.
Ага, конечно.
https://docs.unity3d.com/ScriptReference/Collider.OnTriggerEnter.html
> Notes: Trigger events are only sent if one of the Colliders also has a Rigidbody attached
Так говоришь, будто тут свой ручной Havok прикручивают.
У rigidbody есть гравитация, трение, поворот по Z, инерция и еще до кучи вещей, которые в типичной метроидвании вообще не нужны. Легче просто коллайдеры навесить, чтобы триггеры использовать, и "лишних" рейкастов дописать, получая конкретно то, что тебе нужно.
А обрабатывать это будет все равно ядро на крестах.
Короче, вот что я решил, пошли они все нахуй со своей оптимизацией и прочим говном, пойду я лучше делать платформер своей мечты Сделаю первый, и посмотрим что выйдет
Скинь сорцы что спиздил?
Алсо, они не использовали FixedUpdate потому что transform в нем не юзают, это когда rigidbody правильно двигаешь есть смысл через FU
На рутрекере качни.
>когда rigidbody правильно двигаешь есть смысл через FU
Да я вот тут не совсем пойму, как работает трансформ, он не ко времени привязан? Потому что если ко времени, тогда нужно в fixed делать
Ну блять, залей на РГХОВОСТ сучечке
Ни к чему он не привязан, можешь через дельту сделать почти независимым от кол-ва кадров.
И тут мы такие достаём свой хрустальный шар и он нам говорит как у тебя устроен прыжок персонажа.
Потому что трение, за него отвечает drag
Можешь повесить на игрока физ. материал и уменьшить трение в его свойствах до 0.
>можешь через дельту сделать почти независимым от кол-ва кадров.
Почти? ТЫ о чем вообще, можно по подробнее
_isGrounded = Physics.Raycast(transform.position, -Vector3.up, _collider.bounds.extents.y + 0.1f);
А как тогда не соскальзывать с наклонных поверхностей, даже тех у которых материала с драг равным нулю нет? Должен быть способ.
drag это аэродинамическое сопротивление, а не трение
Да это легко гуглится, поищи
Я банально отключаю гравитацию на объекте игрока.
Сделал свою первую game. аналог flappy bird
Закинул себе на samsung . И что вы думаете? Дичайшие тормоза и фризы. Что делать? Как исправлять?
Дико прошу о помощи, не знаю даже, куда и глядеть. Нашел статью об оптимизации в целом. Быть может мне приложить скриншоты скриптов?
А на меня ещё пиздят, что рано об оптимизации задумываюсь. Я вот эти книги читаю, вроде нормальная тема:
Дикинсон К. - Оптимизация игр в Unity 5
Алан Торн - Искусство создания сценариев в Unity
>Оптимизация игр в Unity 5
>сидит поди на 2017/2018
Там 60% уже не актуально. Поди еще со времен, когда в Unity был foreach баг лол
Алсо, отключил вертикальную синхронизацию и тени(хотя их и не было). Чуть-чуть стало получше.
Если я так же уменьшу настройки графики, поможет ли?
Тебе ж уже сказали - смотри в профайлер. Тут не телепаты сидят.
Да всё актуально вроде, я с документацией unity сравнивал, особо то ничего не изменилось, кроме твоего foreach, да и про него пишут, что он только в mono память отжирал.
Есть два предположения, почему не работает: либо нужно сетмешить в апдейте, либо я в какие-то ебеня меш оффсетаю по ошибке (оффсетать позицию текста нужно для того, что из сгенерированного по позициям большого окна текста мелкие куски-строки в маленькие кликабельные окошки засунуть). Либо ещё какая-то хуйня.
Кто-нибудь делал меш для УИ и отображал его в ректангле? Как это делается по-нормальному?
И ещё. Текстгенератор умеет теги богатого текста распознавать. Вертексы, которые он выдаёт, учитывают или нет эти теги? То есть если я скармливаю ему текст в 10 символов, 5 из которых теги, то он выдаст 5х4 или 10х4 вертексов?
А можно поподробнее?
Алсо, сегодня открою профайлер, как мне советовали. Погляжу, что же там.
Вдогонку.
Генерю пустой пробел, вертексы от 0 до 3 говорят, что у них одинаковые x и y. Это нормально вообще?
Поменял А на место пробела, теперь х и у нормальные выдаёт. Хм.
transform.position = Vector3.MoveTowards(transform.position, target.position, step)
от
transform.Translate(Vector3.up * Time.deltaTime, Space.World);
И то, и это двигает объект, суть одна и та же, просто отличие в данных которые принимают методы?
Первый не двинет дальше таргета, второй сдвинет на указанный вектор
Понял, спасибо.
А еще такой вопрос, правильно ли я понимаю, если я буду что-то двигать в Update(), тогда мне нужно добавлять deltaTime, а если через FixedUpdate(), то нет смысла использовать deltaTime, т.к. там и так все фиксировано по времени? А разве тогда не лучше делать сразу всё в FixedUpdate? Тогда вопрос, зачем нужен обычный Update, что обычно в нем реализовывают, UI типа, или что еще?
deltaTime, когда используется в контексте FU превращается в fixedDeltaTime.
Update() обновляется со скоростью FPS, FU - 50fps по-умолчанию (стандартное разрешение физики). Они служат разным целям, читай доки
Ну я знаю их смысл, читал что работу с физическим движком делать нужно в FixedUpdate. А так в целом не ясно, что вообще делать еще в них можно, в одном и в другом
> А так в целом не ясно, что вообще делать еще в них можно
Чего тебе не ясно? В доках всё написано же.
Ёптваю, ты дальше главной страницы сайта заходишь вообще?
https://unity3d.com/ru/learn/tutorials/topics/scripting/update-and-fixedupdate
Да видел я, там как-то все в общем. Я спрашиваю по факту, что именно прописывается там и там, какие-нибудь примеры
У тебя там типа конкурент появился, правда без строительства, вроде https://twitter.com/pinkbrainlabs
http://store.steampowered.com/app/675270/Launch_Party/
Не он, но - какой конкурент? Обе игры клоны старых игр, которые до сих пор лучшие в жанре.
Подписался на его свитор, выглядит интересно. Хотя у него больше стратегия/тайкун, похоже.
>>480775
Конкуренция на рынке, где присутствуют 3.5 игры, ну такое. И вообще у меня будут фичи, чтобы отличаться от конкурентов, типа конструирования ракетных движков из говна и палок гнутых мешей, мелких деталей и трубок. Я уже даже серую квадратную комнату зделол и повесил в ней куб.
и sbsar параша при редактировании параметров в редакторе вешает его нахуй на 30 секунд для перегенерации. Так и должно быть? Алсо какое-то сообщение, что дескать сабстанс deprecated и в следующей версии надо будет соснуть хуйца скачать какой-то ебучий плагин для поддержки.
По факту мне нахуй не сдалось рандомизировать материал прям в юнити, но в дизайнере я не смог найти как экспортнуть пакованные в формате стандартного шейдера юнити текстуры. Мне ручками альфу в альфу пихать или как? Или сабстанс пейнтер осваивать?
>Алсо какое-то сообщение, что дескать сабстанс deprecated и в следующей версии надо будет соснуть хуйца скачать какой-то ебучий плагин для поддержки.
Ты спиратил сабстанц?
Алсо: https://forum.allegorithmic.com/index.php?topic=21900.0
> Ты спиратил сабстанц?
Да, меня нахуй пошлют с 2018.1 юнити? Нихуя не понял по ссылке. Я готов купить подписку в принципе если эта параша не будет так тормозить, лол
Там проблема вроде в том, что плагин не готов.
>Из видео нихуя не пони.
Я поворачиваю камеру но вектор движения не меняется.
>Делай движение относительно локальной ротации камеры.
Это как? Я пробовал делать ротателокал, или нужно какой то родительский объект двигать и передавать ему поворот камеры
Что за дрочево на видео? Тебе надо чтобы камера наезжала на кубик, по не просто ездила по плоскости XZ?
>Что за дрочево на видео? Тебе надо чтобы камера наезжала на кубик, по не просто ездила по плоскости XZ?
Мне нужно при повороте камеры менять направление движения, сейчас камера двигается строго по глобальном XZ при повороте камеры.
Нихуя не понял.
Скопипасти текст скрипта, попробую сам погонять, а то нихуя не понятно что тебе не так. На видео камера вполне себе катается по плоскости.
Я несколько секунд нажимал в лево в право при повороте камеры, а вектор движения не менялся он был зафиксирован, а мне нужно если я поверну на 30 градусов камеру значит вектор движения тоже должен менятся.
Использовал, но тогда при нажатии прямо или назад при условии что камера не 0 и не 120 градусов она смещается верх или в низ, меняется весь вектор движения. Я думаю это можно решить тем что бы камеру сделать дочерней к объекту который будет двигаться и просто передавать смещение тому объекту.
Тогда вычисляй вектор движения согласно ротации камеры либо используйю transform.forward согласно локальной ориентации.
Не надо никаких родителей.
float origY;
float rotSpeed = 40f;
float moveSpeed = 40f;
void Start () {
origY = transform.position.y;
}
void LateUpdate () {
transform.Rotate (0f, Input.GetAxis ("Mouse X") Time.deltaTime rotSpeed, 0f, Space.World);
float h = Input.GetAxis ("Horizontal");
float v = Input.GetAxis ("Vertical");
if (h != 0 || v != 0) {
transform.Translate (h Time.deltaTime moveSpeed, 0f, v Time.deltaTime moveSpeed, Space.Self);
transform.position = new Vector3 (transform.position.x, Mathf.Clamp (transform.position.y, origY, origY), transform.position.z);
}
}
Делаю свою игру в Unity 3D (2D игру), какие ноды в uScript нужны для перехода на другой уровень.
uScript Learned Edition (как то так)
Что ж ты там за 2д-игру пилишь, что тебе юскрипт понадобился? Или ты просто кодить нихуя не умеешь и решил что скачаешь ассет, хуяк-хуяк и он сам за тебя всё сделает?
Что-то вроде SceneChange/LoadScene
Unity 2018 и ProBuilder: создаем, редактируем и текстурируем 3D-модели прямо в редакторе
Это круто еще 2-3 года и больше не понадобится всякие блендер, 3 дмакс и т.д. все будет в одной упаковке.
Ну мы про ИСКАРОПКИ.
У блендера отсасывают все, чего уж говорить про этот ненужный, мертворожденный огрызок.
Мне больше по душе 4D CINEMA.
Лол, зачем ты это нахуевертил?
Достаточно
> transform.Translate (Vector3.forward * Input.GetAxis ("Mouse ScrollWheel"), Space.Self);
А почему Zoom не через FOV?
Вообще не вижу отличия текущей имплементации зума от банального движения камеры по локальной X с сохранением ротации.
>Сделай mouselook и двигай как все нормальные люди по WASD
Зачем? Оно у меня сейчас и так нормально работает.
Что бы понять как все работает нужно делать велосипеды, да и те примеры которые я находил в видео уроках и на сайтах криво работали.
Сохранить позицию в локальную переменную, чтоб не хуярить такие длинные строки, не?
Мне бы тимлид руки оторварл за такую хуйню.
Заинкапсулировал тебя
Интересует ручное редактирование мешей (планирую писать воксельное чудо с физикой и транспортом), прикручивание физики (Bullet? например), написание шейдеров.
upd.
Raw image со скриптом:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class LoadWeb : MonoBehaviour {
IEnumerator Start()
{
WWW www = new WWW("file://" + Application.dataPath + "/sample.jpg");
while (!www.isDone)
yield return null;
Debug.Log(www.texture.name);
GameObject rawImage = GameObject.Find("RawImage");
rawImage.GetComponent<RawImage>().texture = www.texture;
}
}
вроде работает, но изображение при этом растягивается на всю площадь объекта. Как запилить авторесайз с сохранением пропорций?
Сап двоч, ньюфаг с уже шарпом в кармане на связи.
Хочу сделать для начала не сложную настолку.
Возможно проиграете, но все что мне нужно это буквально взять готовые пикчу карты/поля (возможно потом будет сорт оф 3д)(если я не обосрусь), и пикчи карточек (или модельку) налепить просто с двух сторон на насколько я понял мэш (ну еще такое же сделать для разных квадратов, круга и еще как-то человечка вырезать)(в пеинте).
И еще буквально анимацию передвижения вот этой вот всей ахинеи и еще приближение/отдаление.
А основную геймплейную логику я думаю как-то уже осилю сам. Если сделаю, то еще допилю локалку.
1) Вообщем мне дохуя чего не нужно, есть какие-то короткие гайды / каналы на ютубе как это все сделать?
Думаю пока что идти сюда
>https://www.raywenderlich.com/61532/unity-2d-tutorial-getting-started
2) Не доебуться ли ко мне правообладатели настолки? А если я весь проджект выложу на гит и скажу что это я для петпроджекта делаю (так и есть вообще-то)(я еблан?).
ооооо, да у нас типичный любитель срать на сях, ну желаю удачи, а игроделу вы никуда не уперлись
Это копия, сохраненная 2 января 2019 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.