Это копия, сохраненная 30 июля в 05:39.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Прошлый тред: >>843352 (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 сделано много замечательных игр - Valheim, Genshin Impact, Subnautica, Albion Online, Endless Space, Beat Saber, Boneworks, 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# книги на русском языке:
1. Head First. Изучаем C# 4е издание Авторы: Эндрю Стиллмен, Дженнифер Грин
2. Программирование на C# для начинающих 2е части Автор: Алексей Васильев
3. C# для чайников Автор книги – Джон Пол Мюллер
4. Unity и C#. Геймдев от идеи до реализации Автор: Джереми Гибсон Бонд
5. Язык программирования C# 7 и платформы .NET и .NET Core Авторы: Филипп Джепикс, Эндрю Троелсен
Для людей абсолютно не знакомых с движком есть 3и основные книги на русском языке:
1. Разработка игр на Unity 2018 за 24 часа Майка Гейга
(Знакомство с движком, изучение редактора, создание 4х простых игр практически без кода, отличное пособие для полных новичков).
2. Изучаем C# через разработку игр на Unity. 5-е издание Харрисон Ферроне
(Пошаговое освоение всех базовых знаний по программированию на языке С# в редакторе юнити, создание одной игры стрелялки от первого лица, написание искусственного интеллекта врага, книга переведена не совсем корректно и порой встречаются не просто опечатки, а серьёзные неточности перевода.)
3. Unity в действии. Мультиплатформенная разработка на C#. 3-е межд. издание Хокинг Джозеф
(Правильное построение архитектуры кода для сложных проектов, углублённое изучение программированию на C#, создание 4х полноценных игр на движке, обязательно нужно скачать код проектов, так как в книге он местами уже устарел.)
Знаешь хотел написать что этот движок проклят и никогда не сделают нормальную шапку, но посмотрев вебм мне стало тепло и приятно, я прощаю тебя.
Как будто что-то плохое, никакого тебе ООП, паттернов, дрочева с чистотой кода, хуяришь себе легаси для прототипов в обнимку с chatGPT.
Старое, не актуально, дермище. Больше толку если убрать всё, оставив ссылку на офф сайты и надпись: На этом движке вы можете сделать игру мечты.
Ну если тебе это приносит удовольствие, то почему бы и нет конечно.
как ты фильтруешь например свои методы и прочее
мне реально интересно
я монобехи по этой причине очень не люблю
Да никак не фильтрую. Я либо запоминаю структуру классов с которыми работаю, либо открываю код класса и смотрю, что там есть, а потом использую. А этот помощник помогает лишь быстрее название конкретного метода набрать.
Что такое "уверенное знание"? Примеры уверенного знания в виде игр у тебя есть?
Портфолиошизик спок. Твой сведенный UI и 3 божественных скрипта - это не игры.
>Что такое "уверенное знание"?
Это когда можешь реализовать все механики из геншин: боёвка, подгрузка лок, ии, всякое мелкое говно.
А как надо?
можешь использовать либо вот это:
https://docs.unity3d.com/Manual/class-ParentConstraint.html
либо накостылять свое
он как раз емнип был сделан чтобы избежать самой распространенной проблемы с setparent(внезапный вырвиглаз при изменении размера родительского объекта)
Палю самое простое решение. Делаешь дубликат объекта и ставишь в родители кому надо. И когда приходит время, просто берешь трансформ дубликата на оригинал.
Т.е у тебя одна пустышка находящиеся детём у нужного обекта, и 1 нужный гейм обджект сам по себе.
Тригонометрией делается
Каво нахуй накинуть
> Или дату лучше всетаки паковать в чистый сишарп и плодить кучу скриптов под каждого персонажа или свитч?
Так ток лысые будут делать
У меня рпг игра тоже. Данные храню так. На каждом объекте висят наборы компонентов и скриптов. Когда идет сэйв просто эти данные сливаю в одну базу и сэйвлю джони. Когда загрузка инстансю и загружаю, изи-пизи.
https://youtu.be/gpMKt1lqTW0?t=107 я про такое при условии, что дата класс монобех. Получается, надо либо плодить монобехи и добавлять компоненты, либо делать какой-то адаптер, который по сути будет повторять функционал монобеха и наследовать уже от него. карочи залупа иными словами.
Когда тебе надо закрепить положение хуйни, пишешь
хуйняВектор = трансформ.позишен - хуйня.позишен
>хуйняВектор = трансформ.позишен - хуйня.позишен
Этот вектор я так понимаю надо высчитать один раз и сохранить, а не высчитывать каждый раз когда родитель двигается?
Дай человеку рыбу и он будет сыт один день. Блядь, ну совсем простые вещи же, возьми и сам подумай. Или поэкспериментируй (хотя думать полезнее).
https://github.com/PixeyeHQ/actors.unity
логика элементарная ху бордера - верхний левый угол zw - нижний правый. вычитаем первое из второго умножаем на uv и добавляем первое. все работает, я доволен. далее решил сделать крутой пиупиу лазер, наколхозил же опять лайнрендерер на экс(тот же квад, но скейлится и крутится что бы тянутся между двумя точками) ессно хочется что бы не просто тянулось а еще тайлилось (и анимировалось). добавил красный кусок(ну еще зависимость от времени, но пока не суть потому убрал) для тайлинга. логика опять же элементарная - умножаем u на количество "тайлов" и берем дробную часть. v не трогаем. и опять работает. но вылезли непонятные артефакты на границе "тайлов" текстура в этом месте прозрачная, сглаживания от соседей(обычная проблема) взяться неоткуда. что я блядь делаю не так?
кажется я начинаю понимать. между "тайлами" происходит переход 1-0 и артефакт это и есть тайл в этом промежутке. бля. и что делать?
Это не будет работать как родитель. При смене угла родителя хуйня будет поворачиваться вокруг своей оси, а ребёнок будет крутиться вокруг оси родителя.
Чет орнул с этой хуйни.
А ты попробуй. Она будет поворачиваться вокруг своей оси, но она же принимает положение, сдвинутое на хуйняВектор от хуйни.
>принцип работы вейта интересует
Там зеленым по черному принцип работы написан. Ждать конца кадра (когда все скрипты отработали). По идее у тебя там зависнуть всё нахуй должно в вечном цикле.
Ну в общем нихуя не виснет. Корутина срабатывает раз в кадр. Вместо ифа еще вейт антил попробую поелдить.
>По идее у тебя там зависнуть всё нахуй должно в вечном цикле.
Если он не вызывает новую корутину каждый кадр, то ничего не зависнет, от одного цикла юнити не загнётся.
>от одного цикла юнити не загнётся
А от скольки загнется? В курсе что все монобехи и соответственно корутины в одном треде работают?
В курсе как yield return работает?
если тебе не важно в каком порядке yield будет происходить то можешь упростить endofframe на null, тогда он вызовется каждый фрейм как и endofframe, но в начале апдейта у корутин т.е. сразу после апдейта монобехов
сыглы.
Зависит от твоего железа, но явно не от одного, который к тому же паузу каждый фрейм делает.
https://youtu.be/uDZ4icODMBU
Я совсем новичок. Прохожу официальные туториалы по юнити. Сделал сцену:
Коробка и земля - добавил бокс коллайдер 2Д и Rigidbody2D, а к шарам добавил SphereCollider2D и тоже RigidBody2D, а еще в Circle Collider2D добавил физический материал 2D и в нём подкрутил Bounciness.
Как шары проходят сквозь стену, я не понимаю? Коллайдер 2Д должен же их останавливать.
Через третье измерение.
Туннелирование, квантовый эффект. На самом деле они просто двигаются очень быстро, и машина не успевает зарегистрировать столкновение.
Стена? Какая стена?
На хабре есть статьи, гугли habr ecs архетипы.
>>46896
>>47097
Вот пример самописного SSR на URP https://ever17.xyz/SSR/
Но вообще, URP - это для мобилок и лёгких игр, так что наличие в нём URP не нужно.
Спасибо! Начал гуглить, вроде это оно!
а если в игре гигабайты кунтента, а не ссаный дудл джамп?
сынок ты там рефакторишь что ли?
Илм не делать.
Хуета здесь только ты.
1280x720, 0:05
В аттакхендлере переделал инициализирующий метод с композиции на аггрегацию.
Это для игры на пользу пойдёт, честно.
Дело в том что пока ты на практике не увидит важность и смысл вышеперечисленого, у него будет получаться полная хуйня. А увидеть это можно только когда у тебя есть опыт
А за выпуск что считается? Релиз в стиме?
>Я считаю что пока ты не заблудился в тайге и тебя не выебал в жопу медведь, то про карты, навигацию, охоту, собирательство и выживание в тайге думать не надо
Двачую, люди тупо забывают что дрочь без игры без смысла. Просто сделай хотябы одну небольшую игру, не для стима, а для гд например, но она должна быть законченной. И ты прямо увидишь в конце какие траблы есть, и уже потом сразу станет видно что надо учить и делать.
>И ты прямо увидишь в конце какие траблы есть
Охуеть, а если я не умственно отсталый и уже сейчас вижу траблы?
Ты не можешь их видеть кроме самых очевидных которые просто не компилятся. Чтобы увидеть картину в целом нужно сделать законченный продукт и на основание разработки вынести нужные выводы.
Насколько я помню, у тебя нет законченных игр
Ну вот я вижу что механика, которую я реализовал - калыч, мне даже противно на неё смотреть, и чё мне на похуй идти дальше и доделывать игру?
вопрос не в механиках, а в коде. Долбоебы утверждают, что чтобы понять важность хорошего кода, нужно делать игры, в которых хороший код не требуется. Из чего становится сразу понятно, почему они долбоебы.
> Из чего становится сразу понятно, почему они долбоебы
Без опыта ты не поймёшь проблемы, которые призван решать "хороший" код. Только закончив 1-2 проекта ты уже можешь прочувствовать на себе проблемы топорного подхода к написанию архитектуры. Челы, у которых нет опыта, насмотрятся и начинаются всякой хероборы, и начинают бездумно плодить абстракции, в РАЗЫ усложняя простой код.
>Ящитаю, что пока ты не выпустил минимум две игры, то про архитектуру, ООП, паттерны, чистоту кода думать не надо.
Какая архитектура, какое ооп? Юнити дали тебе DOTS и кучу ECS фреймворков, но всё равно про какие-то OOП думают.
Юнитидебилы, блядь.
Значит, чтобы понять проблемы, нужно сделать законченную игру? так? Т.е. в процессе создания игры, проблемы этой нету, так? тогда как она появится в законченной игре, если ее нет в незаконченной?
>Челы, у которых нет опыта, насмотрятся и начинаются всякой хероборы, и начинают бездумно плодить абстракции, в РАЗЫ усложняя простой код.
Никак вообще не относится к обсуждаемому вопросу и решается нихуя не двумя играми.
>Ящитаю, что пока ты не выпустил минимум две игры, то про архитектуру, ООП, паттерны, чистоту кода думать не надо.
Показывай свои 2+ игры.
>Юнити дали тебе DOTS и кучу ECS фреймворков, но всё равно про какие-то OOП думают.
Которые чел у которого нет завершенных проектов не осилит ибо просто не поймет .
Либо будет клепать по инструкции, но будет жалкое зрелище ибо понимания и видения нет
Понимание и не нужно, ты с юнити работаешь. Нужно всего лишь правила использования ецс фреймворка знать, ентт там или ещё какой, не важно, они все хороши. Просто делаешь сущности, просто пердолишь системы, просто запускаешь готовую топовую игру с приемлемым кол-вом говнокода. Всё. Можно ещё акторы накинуть или ещё чего реактивное, пох впринципе.
Архитектуры и паттерны знать нужно чтобы свой игровой движок делать. А ООП нужно знать чтобы не писать в ООП стиле.
>>47384
Зачем ты мне напиздел сейчас? Ты считаешь что пиздеть выгодно? Или как? Аффтор прямым текстом пишет что у него не ООП и не чистый ECS и не компонентность как в юньке. У него там модульный слабосвязанный дизайн, епты.
> Архитектуры и паттерны знать нужно чтобы свой игровой движок делать
Идеальный пример использования паттернов в игре - Майнкрафт. Например, там интенсивно использовался паттерн Flyweight.
>Идеальный пример использования паттернов в игре
скинь ссылку на исходный код, хуле, посмотрим
скинь свои поделки на екс посмотрим.
я к тому что в юнити дохуя ассетов сделано чисто в ооп стиле
сам все не накостыляешь да и зачем если уже есть
и что-то придется женить с ecs
>я к тому что в юнити дохуя ассетов сделано чисто в ооп стиле
А ещё больше ассетов сделано с компонентным подходом. Вопщем-то вся юнити это компонентный подход. Что бы это ни значило.
>сам все не накостыляешь да и зачем если уже есть
Тебе ничего не нужно костылять. Типичная система в ецс - 10-20 строчек с бойлерпринтом. Типичный обсервер/актор - 50-100 строчек со всей логикой. Чё ты тут костылять вообще собрался, тут не нужны костыли впринципе.
> и что-то придется женить с ecs
Женить придётся анимацию с гпу, я слышал с этим всё плохо. Гпу анимации. Звучит страшна, не спорю. Ну хуле, так бывает.
Больше костылять вообще ничего не нужно, работает искоропки.
>>47398
Пиздят. Работает охуенно. Но там не только УСЫ, ещё и другие паттерны нужны чтобы всякие сервисы делать
И но на ооп всё равно никакие интерфейсы не пишут, MVVM, компонетная хуйня, реактивные push обсерверы, итераторы, вот эта всякая хуйня, топчик нах
короче нихуя не понял но интересно
где изучать этот ваш ECS?
игродельцам зарабатывальщикам прошу спокнуться, у меня профессия хорошо оплачиваемая есть я для души как хобби
>где изучать этот ваш ECS?
Везде где только можно. Просто вбиваешь в поиск и изучаешь. https://skypjack.github.io/2019-02-14-ecs-baf-part-1/
>>47437
Хех. Соа ничего не говорит о форме данных и как их хранить.
Вы там не лопаетесь от напряжения?
Инди вроде нас должны знать только один паттерн. Он называется - паттерн одного конкретного приложения над которым ты работаешь. Это значит, что перед тем как писать код, ты должен видеть чёткую картину, как все должно работать конкретно в твоёй игре. И только тогда приступать.
Вся эта ООП папаша в основном делается с упором на то, что в будущем можно было бы безболезненно править и масштабировать. Но это подразумевает тот факт, что ты тупой и не можешь увидеть целую картину архитектуры целиком, и потому подготавливаешь к себя неожиданным поворотам. И все эти ради таких приятных моментов: вау, я хотел сделать так, но в итоге надо было так (я тупой и не смог предвидеть), но благодаря моему ООП 99лвл коду я смог безболезненно сделать правки, я такой молодец, месяцы изучения и написания этого кода наконец оправдались, сосите, безмозглые макаки!
Зы: у тебя нет игр не потому, что ты выбрал не тот стиль написания кода, а потому что у тебя нет интересных идей для игорей, потому что это требует более серьезных творческих способностей.
хуйню пронес полную. это в ААА-геймдеве есть отдельные люди на каждый чих и все действительно продумывается заранее. в инди ты придумываешь в процессе работы над игрой и в этом блядь весь кайф.
и у тебя ДОЛЖЕН быть код на котором легко и быстро прототипировать и отбрасывать идеи. это единственное сраное преимущество сраного инди по сравнению со сраными студиями - перепробовать на коленке 100500 вариантов и оставить то что понравилось. если ты сразу не закладываешь возможность прикручивать и откручивать к коду что угодно - ты просто не будет ловить каеф, ебнешся и полезешь на двач ныть как все заебало.
О, опять разработчик игры в голове.
Много игр сделал? Ты можешь и сплошняком в одном классе писать код, не проблема, но зачем, когда можно упростить себе жизнь? Лично я очередным яндере дев становиться не хочу
Слишком толсто, переделывай.
>Это значит, что перед тем как писать код, ты должен видеть чёткую картину, как все должно работать конкретно в твоёй игре. И только тогда приступать.
Ну вот я видел четкую картинку, но как реализовать не знал. Первое что я сделал это нахуярил монструозную иф-конструкцию, в которой запутался и наловил багов. Некоторое время гуглинга спустя я узнал про паттерн состояний и переделал иф-конструкцию в свитч с Ienumurator, и конструкция стала читабельнее. Но по мере роста числа состояний я понял что пришло время реализовать всё через классы.
В будущем я сразу буду юзать паттерн и писать как надо, чтобы не тратить кучу времени на переписывание.
> Анонсы, кто-нибудь работает на Юнити с Виндоус 11?
Да
> Вот думаю обновляться или нет с 10 до 11 Виндоус.
Да
А как это можно не заметить? пишешь пишешь пишешь, какую-от хуйню надо поменять, из-за этого меняешь код в 3-4 классах. Незаметил, пошел дальше писать?
Ну я же серьезно. Делал бы на екс - тебе даже ифы ненужны были бы. Какие ифы вообще? Зачем? Просто набор компонентов и всё.
Да я бы может и юзал его, но боюсь что полгода потрачу просто разбираясь как с ним работать. Я не ебать какой уверенный погромист.
Не слушай шизика/шизиков про екс и прочие ооп, они лишь пиздят, а игры не делают. Для того чтобы сделать игру берешь юньку и делаешь, без всякой сторонней хуиты.
Да тут тоже не так всё просто, мне пришлось юзать паттерны потому что я в своей лапше запутался через какое-то время.
Разбирайся быстрее, дрочи по несколько часов в день мануалы. Ничем от паттернов и классов не отличается.
Покажи
Можно писать не только хуйню, но и что-то умное, что в итоге окажется не самым лучшим решением и тогда для тебя будет стоять вопрос о рефакторинге.
Ну очевидно чем больше опыта тем лучше. Если ты впервые игру пишешь, то скорее всего не все проблемы сможешь осознать. Если ты конечно не переписывал ее уже 10 раз.
Главное игра суперсекретная, видимо там какой-то прорыв. Не просто клон говна. Все очень серкретно. Сначала работаем, а потом скажу!!!
После всех видов апдейтов.
слева окно
Зачем тебе его из кода включать? Даже гипотетическую ситуацию не могу представить зачем может потребоваться менять это значение в игре.
В зависимости от одной настройки иногда выпадает НаН. Когда она включена, надо делать стоп нан. В ином случае стоп нан мне не нужен.
И вообще тебе какая разница?
>И вообще тебе какая разница?
Нихуя себе. Ты тут такой залетаешь и требуешь от людей тратить их время на помощь тебе. На дополнительные вопросы отвечаешь "А ТИБЯ ЕБЕТ???"
Вруби ебаную галку и забудь про нее, игру делай а не занимайся хуйней, дебил ты малолетний. А теперь пошел нахуй.
>GameObject.Find
Избегай этого рака всеми силами. ВСЕГДА.
Тут проблема даже не в том что это лишняя нагрузка на цп и перебирания всех объектов в сцене, а то что это занимает кучу времени и не поддаётся чеку прогресса.
Референсы либо подключаешь напрямую, либо через передачу ссылки на них, чтобы всё было под контролем.
>очень много статичных методов и переменных
Зависит от подхода и размера игры, не сказал бы что против или за. Скорее если хочешь и можешь, то делаешь так. Тут важно еще понимать что ты делаешь.
Работа сыпется как из рога изобилия нынче. Теперь какой-то кабанидзе придлагает поработать на энтузиазме. А вы говорите работы нет для юнити девелоперов)))))) Гибкий график еще говорит!!!!!!!! нихуясебе.
Безигорный чмоня, ты?
Какое нибудь тестовое на работку в гиперказуалки дали. Правда что он дальше делать бы там стал, не зная что такое ассеты и текстуры.
SDK поставил, но не понимаю через что получить onInstallConversionData, в API аппфлаера такой метрики нет https://github.com/AppsFlyerSDK/appsflyer-unity-plugin/blob/master/docs/API.md#initsdk , в рекомендованных внутренних событиях https://support.appsflyer.com/hc/ru/articles/4410481112081 тоже. Не понимаю, нужно самому создавать внутреннее событие и вызывать его когда игра запущена впервые или под "onInstallConversionData" имеют ввиду обычную метрику конверсии и достаточно поставить одну галку в настройках?
Да, я напиздел в резюме что умею в сдк, а сам ни тютю, сами понимаете, времена в гейдеве такие, джунов никуда не берут, шишки набивать негде, а в гугле/на ютубе на тему разных SDK нихуя нет, максимум установка наглядно показывается, а остальное ток в мануалах читать.
Ухх, какой сабсёрфейс!
>Да, я напиздел в резюме что умею в сдк, а сам ни тютю, сами понимаете, времена в гейдеве такие
да ты пиздобол просто, причем тут времена.
товердефенс анон.
На этом моменте случается дроп разработки в 100% случаях. Единственный вариант не потерять игру это забить на всю хурму и продолжать разработку до релиза.
Ты просто молодой и шутливый. Не нюхнул еще геймдева.
Возвращаюсь в свой говнокод чтобы понять как я обошёл эти проблемы и охуеваю от невероятной удачи, которая сократила мне время разработки на хуй знает сколько месяцев, ибо хуй я бы так быстро пришёл к этим решениям еслиб я пытался осознанно строить архитектуру.
Уже. Я потому и решил его с нуля сделать, ибо понял что моё поверхностное понимание системы, которую я сам и сделал, не даёт мне двигаться дальше. Сейчас просто охуеваю как далеко можно на голом энтузиазме без системы уйти.
https://github.com/brunomikoski/ScriptableObjectCollection
И сразу становится понятным уровень так называемых игр, который тут местные специалисты настоятельно советуют делать любой ценой. да?
Попытка родить универсальное нечто всегда проиграет созданию узконаправленного нечто
Поэтому простой совет
ЕСЛИ ТЫ ДЕЛАЕШЬ ИГРУ, ДЕЛАЙ ИГРУ, ПОХУЙ НА ОПТИМИЗАЦИЮ И ПРОЧИЕ АРХИТЕКТУРЫ, ДВИГ ПОРЕШАЕТ
Гуру
Каков мой план?
Учил язык прогромирования с# по ютубу год назад, помню про функции, аргументы, многомерные списки заборчиком, кэш, циклы
Попутно вкатываюсь в пиксельарт и музыку
Цель - испытать себя, может интегрировать рекламу для заработка на дошик
Разоришься на покупке гугл акка + не возможность перевода в россию, т.к мин коммисия за один перевод 300$.
Как опыт не плохо, но без рекламы и продвижения у тебя будет <10 установок.
> Попутно вкатываюсь в пиксельарт и музыку
Тем самым усложнись себе жизнь в 100 раз. Не становись человеком оркестром. Выбери что-то одно. Или ты пишешь код, или ты рисуешь. А музыку можешь найти бесплатную, либо можешь заказать. Если создашь интересный прототип, то без проблем найдёшь хорошего артиста в команду. В целом мобилки - это клондайк.
Правда второй вариант неправильный стектрейс выдаёт. И если из редактора кликнуть на ошибку, то откроется метод Write, откуда был вызван лог юнити. Хотя в релизном билде на это уже пофигу.
> Мы добавили новый атрибут HideInCallstackAttribute, который можно использовать для исключения метода из трассировки стека консоли
Бля, спасибо конечно, но почему нельзя было сделать так, чтобы клик по ошибке тоже правильно отрабатывал.
Ну охуеть, не прошло и десяти лет. До этого приходилось кастомные логгеры через дллку делать.
> это лог должен делать, а невызывающий класс
Так вот и проблема. Тогда у тебя будет происходить интерполяция строк и ты засрёшь память.
Если ты вызываешь метод и передаёшь туда новую строку, то ты занимаешь память. Даже если у тебя отключен лог.
Погоди, у тебя в суперкоде для избежания интерполяции есть интерполированная строка. В каком месте ты избегаешь интерполяции?
Вот в этом месте
> Log.Info?.
происходит проверка на null. За счёт этого строка не будет интерполирована.
>Проверка на нул кстати тоже. это лог должен делать, а невызывающий класс.
>Так вот и проблема. Тогда у тебя будет происходить интерполяция строк и ты засрёшь память.
ясно понятно.. Я не говорю не делать проверку на нул, я говорю, что она нарушает инкапсуляцию и делать ее должен класс лог и если он этого не делает, то надо делать обертку, которая будет это делать. смекаешь?
Я тебе ещё раз повторяю: если ты так сделаешь, то будет выделяться память под новые строки, даже если лог отключен.
понял, папка и бандл с одинаковыми именами конфликтуют
Ну, покажи мне эту обертку для лога, которая проверяет на null и при этом не выделяет память под новую строку.
Есть ещё вариант использовать атрибут Conditional, который будет вырезать метод из кода, если не будет объявлен указанный define. Минус в том, что нельзя менять уровень логирования в рантайме и нужно возиться с дефайнами перед каждым созданием билда.
Мартин - если вы передаете больше двух аргументов пробуйте упаковать хоть что-то в класс.
> Макконнелл - если вы передаете в качестве параметра тип, из которого потом придется получать данные через его интерфейс - хуйвая тема, передавайте распакованные параметры.
В этом есть смысл, потому что таким образом метод будет более общим, так как отпадёт зависимость от конкретного класса/интерфейса. Чем меньше зависимостей и чем меньше код знает, тем лучше.
> Мартин - если вы передаете больше двух аргументов пробуйте упаковать хоть что-то в класс.
Ну, хуй знает. Такой себе совет.
Вот вроде сделал. Плачу. Работа методом саванта.
На будущее советую избегать спавна обьектов а использовать один меш. У тебя будет точно такая же сетка с текстурами, но как один объект и один материал. Это +99999% к производительности нежели чем спавн десяток или сотен отдельным объектов.
gpu instantiate если коротко
хммм. интересная мысль.
Интересно, попробую. Спасибо. Я как раз начинал уже думать, а что начнется, когда я создам карту на пару тысяч гексов, причем они будут высокополигональными - с лесом, водой и тд.
Воистину чем проще тем лучше.
Может ты в прошлый тред писал?
Товер дефенс анон.
> лучше заранее не ебаться с переусложнением кода наперед, а делать под текущую задачу
Правильно! Правда, меня всё равно иногда кидает в крайности и я могу несколько часов думать над названиями для методов и классов.
Я всячески дрочил настройки forward friction, но это вообще ничего не изменило. Машинка просто вперед наклоняется и колеса совсем чуть-чуть крутятся.
Я вот думаю, стоит ли для нанесения урона сделать отдельный метод в классе хелс, который сам будет проставлять минус к цифре урона? Слишком уж ебано выглядит, ручное проставление минуса каждый раз, когда передаю в метод ChangeHealth урон в качестве аргумента. Мне кажется достаточно разумно.
Разобью ChangeHealth(int value) на два метода, один на +хп, второй на минус хп. не зря макконнелла читал карочи
Я уже не помню, но может быть, я даже хуй знает так оно или нет, что там делали пустой объект, который центром приложения сил выступал, чтобы телега не накренялась носом вперед.
Больше не поддерживается разработчиком. Да и сами авторы "фреймворка" в своей последней игре наебались с этим говном, можно почитать их дискорд для косвенных пруфов. Из-за проёба в архитектуре уже год пилят обнову с исправлениями (ну либо просто хуй пинают), значит есть подводные. Короче, не рекомендую.
Я это краем уха слышал, но хз, как это работает на нижних уровнях.
Собственно, что я хочу сделать. В самом начале игры создадутся несколько тысяч кубиков, но они должны быть с рандомным цветом, поэтому я сделал префаб куба скриптом:
Start ()
{
GetComponent<Renderer>.material.SetColor......
}
Ты же штампуешь кубы в цикле? Почему бы сразу после instantiate не присваивать кубу цвет?
Я точно по гайду делал. Там вообще ничего про настройки не упоминалось, кроме радиуса колес и центра тяжести.
> В самом начале игры создадутся несколько тысяч кубиков
Можешь попробовать ECS. Он как раз создан для таких задач.
> стоит ли для нанесения урона сделать отдельный метод в классе хелс, который сам будет проставлять минус к цифре урона
Я так всегда делаю. И в самом методе проверка, что число положительное.
Чуваки, кто готов запилить небольшой прототип RTS на unity за $$$?
Нужен чисто проект+код, графен можно спиздить.
Суть такова:
В ютубе есть тутор по RTS, гуглится по Control Units and Give Orders! (Unity RTS Tutorial) от codemonkey.
Можно сделать по нему + некоторые доработки:
1) Переделать в изометрию, вид как в древнем стронгхолде
2) 8-позиционный персонаж с анимацией, вместо милитари мусора из видоса
3) Переделать управление:
а) Подсвечивать выбранных сразу при выделении (в туторе выделяются только после того как отпустили кнопку мыши)
б) Выделять левой кнопкой (уже сделано), давать команду на перемещение левой (переделать), сбрасывать правой кнопкой (переделать).
+ должно все запускаться в бесплатной юньке без про.
Кто запилит? Работы реально на 1-2 дня. Бабло через биржу типо воркзиллы или любой другой популярной, или сразу на карту в ру банк.
Нигде разве что в экзотических уголках интернета, ведь то что запросил это дичь над которой ни один нормальный человек не будет сидеть
>как в ecs обрабатывать UI?
адекватно ли делать всю игру на екс, а не какую-то её часть? например ИИ ботов? думаю, что нет
написать игру и найти для нее визуал. Бля ну даже не знаю, ну 3500 рублей минимум.
>Работы реально на 1-2 дня.
Ахаха орнул как свинья. У тебя уйдет минимум неделя если есть готовые механики, чтоб их совместить оттестить и все работало без багов.
С нуля же это пару недель работы.
Это при условии не фулл тайма, но и не проёба.
>2-3к
Челидзе, сразу видно залётного который ничего сложнее туторов не делал.
За такие бабки и время, ты максимум получишь обрубки которые будут багаться и глючить сделай шаг в лево, шаг в право, и самое веселое бонусом полную не расширяемость и не модификацию.
>написать игру и найти для нее визуал
Ты дурак? Прототип по тутору =/= игра. На графон похуй.
О готовой игре речи не идет.
>3500 рублей минимум
Погнали хе-хе
>У тебя уйдет минимум неделя если есть готовые механики
Какие механики, глянь видос на ютубе, сделать по нему + пару доработок.
>Челидзе, сразу видно залётного который ничего сложнее туторов не делал.
Так я и туторы не делал. Зато готов заплатит шарящему, который сделает по тутору.
>За такие бабки и время, ты максимум получишь обрубки которые будут багаться и глючить
В видосе весь код есть. Даже готовый проект есть, но он с кучей мусора.
Не понял, если ты не планируешь использовать это для игра, а лишь надо сделать по тутору, то в чем смысл? Чтобы что? Иметь пару мех которые не сможешь куда либо вставить и править в случаи модификации?
Если как ты пишешь тупо сделать по тутору + вычистить то да дело другое, но это бред.
у него наверное какая-то гениальная идея, которая на изи реализовать и которая ура залетит телефонным дебилам
>а лишь надо сделать по тутору, то в чем смысл?
Тутор + мелкие доработки. Смысл с том что я сэкономлю 3 недели своей жизни.
Чувак, можно самому убраться в квартире, а можно вызвать клининг.
Можно приготовить еду, а можно заказать доставку. Надеюсь аналогию ты понял.
>>49023
Я тоже сначала охуел, а потом глянул тутор который он скинул, на самом деле там нереальная примитивщина и все просто и внатуре можно даже за пол дня сделать, да он бы и сам бля сделал без знаний юнити, но
1. Не дан визуал
2. Это будет чисто прототип механики
3. Без полишинга, все делается в одну итерацию(т.е. без "а вот тут еще вот так сделать, а нет нужно еще вот это подправить")
Ну и я сразу скажу, что игру он из этого не соберет, потому что повторюсь, там примитивщина бесполезная, а основная трудоемкость проекта это поиск визуала и подгон его в нужный формат
Тем кто еще только юнити изучает можно заняться чисто в образовательных целях
Забей и сделай сам. Если ты планируешь это как-то развивать дальше, а не просто гонять в прототипе кругами, то тебе в любом случае придется юнити изучать и в итоге абсолютно всё из того тутора переделывать дальше.
Я тебе точно говорю, если ты думаешь, что на той основе которую тебе сделают ты сможешь что-то собрать - не выйдет, там всё переделать придется.
>+ мелкие доработки.
Ты же в курсе что возможно твои доработки и тестинг может обойтись затратнее по временем и средствам эдак раз в 10х?
Особенно когда ты это дело запустишь на разных платформах или разрешениях, или еще с чем.
Чел, я реально тебя не понимаю.
> Лень это хуйней заниматься если честно. Но, если никто за неделю не напишет, видимо придется разбираться самому.
Так а зачем оно тебе? Как ты это дальше планируешь использоват
Если ты еще не понял, все охуели потому что думали что тебе нужен полноценный прототип. Просто потому что это странно, что кому-то может понадобиться перепечатывание пары скриптов без какого-либо задела под будущую архитектуру игры.
у того же кодемонкей или турбо мейкинг геймс(хотя у них в плане ворлдспейс интерфейса на примере канвас хпбаров с привязкой к юнитам которые "чистые" экс)
вкратцее..
используя менеджед компоненты. если от IComponentData унаследовать класс то его можно использовать в системах(только SystemBase, ISystem не катит) как обычный компонент но отпадает все "профиты" производительности - нельзя бурст, джобы и т.д. но и отпадают ограничения тоже.
хранишь в менеджед компонент ссылку на нужный объект(в данном случае кусок интерфейса), и "простые" компоненты. одна система собирает нужные данные и кладет в анменеджед компоненты в "экс" вторая уже раскладывает по менеджед компонентам(в тривиальных случаях можно обойтись только второй) так как она "медленная" можно запихнуть в фиксед апдейт а то и в вариадик с апдейтом раз 10-20 в секунду.
Не знаю как у тебя, а у меня лучше получиться убраться в квартире чем постороннему (щас бы рисковать что клинер понаех украдет или испортит что то), с готовкой тоже не все так однозначно, доставку я вообще никогда не заказывал, но пельмени и котлеты домашние точно лучше магазинных.
Тут скорее не во вкусе дело, а в том, что долбоеб это в абсолют все возводит. Дурачок придумал себе максиму какую-то, еще 100% ее друзьям втирает типа ебать я концептуальный весь такой, только услуги заказываю, мае время дарахое, я в мацкву зарабатывать приехал ебать.
мимо хуй он где пирог из рыжиков с белыми купит, который я летом делал.
>Так а зачем оно тебе? Как ты это дальше планируешь использоват
Мне надо понять как это выглядит. Если все как я думаю, то напишу полноценное ТЗ.
>>49038
>щас бы рисковать что клинер понаех украдет или испортит что то
Да не трясись ты.
>доставку я вообще никогда не заказывал
Это как у девственника спрашивать мнение о сексе.
>пельмени и котлеты домашние точно лучше магазинных
Речь про доставки из рестиков, а не хрючево из магаза. А если захочется домашних котлеток, всегда можно попросить жену.
>>49044
Дело не во времени и деньгах, а в лени. И какие друзья, мы на сосаче сидим.
>>49048
>Соглы, при этом тратит время на дваче.
Это святое.
>Речь про доставки из рестиков
Доставка из рестиков просто не имеет смысла, нафига тебе остывшая и растрясшаяся за 15 минут езды по колдобинам еда? Ее надо есть на месте, когда тебе официант свежую подает прямо из под ножа шеф повара.
бамп
ну мне как раз что-то типа такого и надо поглядеть, спасибо
Не жиза. Называю функции и переменные просто рандомно по типу dfjkgh2362, a1, a2, b1, j8484, F_ff и т.д, идешка сама подскажет если где-то проеб. Зато если спиздят проект не смогут ничего сделать, вин.
Красиво придумал.
Шиза. Я обычно в этом случае начинаю смотреть код дотнета и различные библиотеки (юнити, анриал и т.п.).
Я там йоба-систему замутил, когда есть игрок, за ним следует камера типа вид из глаз, из камеры выстреливает луч и на расстоянии N находится пустой объект. Процедурная анимация должна заставлять голову всегда смотреть на объект, а мы помним что камера двигается строго за башкой. Скрипт передвижения поврачивает башку по вертикали, соотвественно угол камеры меняется.
Если делать это через синемашину начинаются вертолёты, если делать через скрипт всё норм.
Придумал наконец-то неплохой стиль написания кода, архитектура, все дела
@
Сносишь весь проект, пишешь с нуля, зато теперь то точно все красивенько и чистенько, гибко и масштабируемо
Узнал в интернете новый паттерн
@
Переписываешь
через полгода разработки по несколько дней разбираешься за что отвечает йоба-метод
@
боишься что-то менять
@
если меняешь то всё ломается
@
дебаггером так и не умеешь пользоваться
Как я понял для полноценного вкатунства лучше начать играться с интерфейсом, поизучать и почитать что за что отвечает, параллельно/в первую очередь изучать C#, ну и дальше траить что-либо сделать с помощью кода с примитивами/ассетами. В чём не прав?
Ну в целом чем скорее ты откроешь юнити и просто начнешь там что-то тыкать - тем лучше. На ютубе и на unitylearn(там еще и по сложности отсортированы, по крайней мере раньше были) полно гайдов для новичков и я щитаю можешь открывать любой какой тебе просто с виду покажется прикольней.
Не важно насколько там правильно все объясняют и насколько гайд годный - главное чтобы ты освоился с интерфейсом и примерно понял как оно вообще работает.
Но есть одна проблема - желателтно уже уметь хоть немного программировать.
Открываешь это https://metanit.com/sharp/tutorial/
и читаешь 2, 3 и 4 главу(про "библиотеку классов" и нугет не надо) и с этим ваще без проблем уже будешь понимать что происходит.
Не обязательно это прям всё сразу читать, просто если ковыряешь юнити и чувствуешь что чот непонятное в скриптах делается - тогда продолжай читать эти главы.
Дальше по приоритету важности: 7, 11, 10, 6, 5.
Благодарю, исчерпывающе
Вот эта тралинк. Твое обличье на пике?
Да я сам не понял если честно.
Создай тыщу текстмешпро и проверь
стоит. потому что за ним - будущее. у меня чуйка на такие проекты. к тому же текущая система ui просто днище для движка которому почти 20 лет
>20 лет
бля лучше бы ты не писал это, мне стало плохо, просто посмотрите на инфраструктуру и технологичность стима за 18 или 19? лет
Юнити развивается. Не зря они кучу сил и денег вложили в DOTS. Он всё ближе к релизу. Там всё новое, все системы, физика, сеть, частицы, рендер. И UI новый считай под него сделан.
> И UI новый считай под него сделан.
хуй. воопше никак не связаны. тут скорее заточка гуя под веб стандарты.
> воопше никак не связаны
А как же работа с уй элементами через код по айдишникам? Это же под дотс, потому что дотс на старую систему уй не рассчитан.
это именно веб хуйня. с дотсом тут никакой связи. дотсу надо все также дергать элементы через менеджед компоненты однохуйственно новый гуй или новый новый гуй там. разве что старый гуй (это который OnGUI()) подружить с дотсом воопше ебануться задача выходит. фича именно в флекс интерфейсе и стилях
даже хуже - что бы получить ссылки на элементы по айдишникам(предпологая что они хранятся в дотсе) надо из анменеджед стрингов конвертировать в менеджед, потому уже искать элемент по айди и уже потом с ним что-то делать. (но это самый тупой вариант - "правильно" будет сразу получить ссылку в инициализации и по ней уже работать. но это опять же ничем не отличается от старого гуя)
Понял. А что скажешь насчёт Zenject и UniTask? Используешь их?
вспомнилась история с открытием исходников, емнип, Celeste - где оказалось, что почти вся игровая логика запихнута в огроменный класс на овер9000 строк
Террария была построена на год-классах. И работала при этом хорошо.
Надо как-то уметь останавливать себя и не дрочить код без смысла. Просто сделай так, чтобы это работало. Но договориться с самим собой порой очень тяжело.
Две крайности, обе хуевые.
Делать один класс на 9к строк это дрочь и гемор.
Но в тоже время делать сотню скриптов по 100 строк, дрочь не меньше.
Нужно держаться примерно середины.
>Делать один класс на 9к строк это дрочь и гемор.
Они сделали и подняли сотни миллионов, а ты сколько миллионов поднял на своих серединах?
Это ничего не доказывает. Раз в год и палка стреляет. Так что попущен только тут ты, безигорный.
Игрокам похуй насколько выдрочен код. Работает, и хуй с ним.
Многие не знают, потому что безыгорные чмохи, но поясняю приоритетность:
1) Скорость разработки
Похуй какой код, похуй какая графика, похуй на ошибки. Если у большинства игроков работает - ахуенно.
Сюда входит покупка ассетов, вместо дроча велосипеда.
2) Пиар
Всем поебать какой у тебя код, если никто не знает про твою игру.
Но и пиарить будет нечего, если у тебя нет игры. Хотя в некоторыз сферах игростроя этот пункт идет на первом месте. Сначала создаем хайп, потом быстро разрабатываем.
3) Общение с сообществом
Если ты тихий чмоня иди нахуй, геймдев не для тебя. Будешь пилить в стол и сосать бибу с $11 с игры.
4) Архитектура, код, графика, геймплей
Одно из самых наименее важных факторов в разработке игр для заработка бабла. Вспомни картриджи от денди с картинками. Где были нарисованны ахуенные бравые ребята из контры, а на деле это был 2д сайд платформер.
Если делаешь игру для себя, то выкини первые 3 пункта.
Чистыми 6кк с игр в 2022 году
> Причина тряски?
Причина твоей тряски- вибратор в твоем очке.
Сделай скорость пониже, либо вынь
Он платный же?
Прислушивался бы к советам умных людей, зарабатывал бы столько же.
Я когда зарабатывал 100к рублей, работая на дядю, сидел в зарплата-тредах, и думал что вокруг одни пиздаболы с зп 300-400к. Но оказалось что все так, пиздеть на анонимной борде не имеет смысла.
>>49569
Зачем нужны 6кк, если тебе оторвет жопу в окопе?
>пиздеть на анонимной борде не имеет смысла
лул, гк залупа спок. Не надо свой обосраный кафтан на всех примерять.
>Зачем нужны 6кк, если тебе оторвет жопу в окопе?
Зачем нужны 300-400к в месяц, если ты сам себе не принадлежишь? Куда деньги девать-то? Новый айфон каждый месяц покупать? Тугосере откладывать на обучение? Да в нынешние времена деньги могут сгореть в любой момент. Мне лично удобнее сидеть на вахте за 16 тысяч рублей и капчевать с утра до вечера. А кому-то лучше в окопе, да.
>сидеть на вахте
>А кому-то лучше в окопе, да.
Как насчет просто чиллить дома на пассивный доход, или любую не пыльную работку раз в неделю? Или обязательно Почти все время быть на работке?
нет ты
На меня другое проклятие сработало. Кое-как через жопу выпустил игру. Она стала очень популярной. Выпустил несколько апдейтов. Потом понял, что нужно переделать игру и вот уже больше года не могу нормально переделать код, чтобы его можно было расширять.
Вроде и старый не могу больше расширять под новые задачи, и вроде как новый написать не могу. А нужно было изначально нанять опытного кодеров и они бы сделали.
Из этого верно можно сказать лишь п.2
Графика точно важна, для того же пиара.
п.3 вообще не рекомендовал бы инди разрабам. Ограничиться п.2, то есть анонсами, новостями, вот таким.
Остально работает если у тебя флаппи берд. Проблема в том, что сложно выстрелить игре только на одной простой механике, это как выиграть в лотерею.
Поэтому игру придется делать сложнее, а значит, системы начнут взаимодействовать друг с другом, а это уже архитектура.
Самый худший вариант если окажется что отношения все со всеми, т.е. тебе придется переписать все системы при добавлении новой.
Ассеты это тоже отчасти риск, там может не оказаться нужной вещи, что выяснится в процессе, или будут неисправляемые баги.
В менеджменте это называется технический долг. Потому что переносишь стоимость дальше, на момент исправлений багов или добавлений фич.
Да, конечно, такой момент может и не настать, тогда тебе повезло.
Может быть, тебе не понадобиться выпускать DLC, и следующую игру ты будешь делать совсем новую с нуля.
(Но даже тут встает вопрос о переиспользовании кода).
Но я видел некоторые игры, загнувшиеся по такой схеме.
Оригинальные разработчики уже ушли, уволились, сделав свою часть работы.
Нанятые контентмейкеры могли добавлять только примитивные уровни, и кристалики в магазин.
Любые попытки делать новые механики заканчивались страшными костылями, багами, тормозами, читерами.
Что приводило к еще большему оттоку игроков.
> 1) Скорость разработки
> Похуй какой код
Нет, не похуй. Если код говно то ты будешь вечность его писать. А если все четко-модульно то добавить новую фичу будет быстрым делом.
ГК залупы спок, вы не игры делаете, а потребителей рекламы
Потому что чтобы писать код нормально - этому надо учиться, думать, смотреть разные подходы. А это конечно же всем впадлу делать, ишь чё удумали тут, код учиться писать, вообще охуели!
Чувак, если ты больше года тратишь на то чтобы переделать код, у меня плохие новости. Ты плохой и маркетолух и программист.
>>49626
>Нет, не похуй. Если код говно то ты будешь вечность его писать.
Взаимоисключающие параграфы.
Если тебе нужна новая фича, из-за которой надо переделывать весь код, значит тебе не нужна эта фича.
>>49635
> вы не игры делаете, а потребителей рекламы
Кто вы то блять? Я здесь один. И нет, петух, ты не угадал, это не гиперказуалки, и не мобильные игры для дебилов.
>>49640
В чем проблема писать нормальный код быстро? Все приходит с опытом. Просто не надо запариваться над излишней оптимизацией, и не вылизывать те части, которые не влияют на коргеймплей.
>Кто вы то блять? Я здесь один.
У шизикиа мания величия.
>И нет, петух, ты не угадал, это не гиперказуалки, и не мобильные игры для дебилов.
Но название игры мы никогда не узнаем, эс южиал.
И даже если ты не пиздабол, хоть и петух, однозначно, то твой единичный пример вообще нихуя не стоит. Потому что сегодня твоя залупа стрельнула, а завтра стрелять будет только поясница, только об этом ты не побежишь сюда рассказывать о том, как твоя говностратегия и залупопозиция отсосали и советовать так не делать. Хуеплет.
>В чем проблема писать нормальный код быстро?
пришел советы бывалых дать. вы пацаны говорит игры делайте быстро, но код надо заебись писать. Платина нахуй из палаты мер и весов.
В разрезе того, что одни говорят писать качественно, а другие - на похуй лишьбы работало))
Хули вы все ноете, просто быстро пишете топовый код, ахуенно быстро моделите все запихуваете в движок, игра в топе миллионы на счетах, хули сложного
>Графика не нужна, геймплей не нужен, не гк залупа, надо только с продвижением работать
le pizdabol classique
> В чем проблема писать нормальный код быстро? Все приходит с опытом. Просто не надо запариваться над излишней оптимизацией, и не вылизывать те части, которые не влияют на коргеймплей.
Я об этом и говорю.
Итт некоторые принципиально отвергают любые практики нормального кода, потому что якобы "долго писать", хотя надо просто этому научиться и продуктивность возрастет в разы.
А потом добрался до эффекта не относящегося к статам и перебрал себе в рот.
>У шизикиа мания величия.
Классику знать надо.
>Но название игры мы никогда не узнаем, эс южиал.
А нахуя мне устраивать деанон?
>>И нет, петух
>И даже если ты не пиздабол, хоть и петух
>петух
Ты даже оскорбление придумать не можешь. Без игр, еще и как человек бесполезный.
>как твоя говностратегия и залупопозиция отсосали и советовать так не делать
Отсосал здесь только ты.
>Потому что сегодня твоя залупа стрельнула
Стрельнула одна, стрельнет и вторая, схема уже отработана
>игры делайте быстро, но код надо заебись писать
Будешь с этим спорить?
>>49670
Адекватный человек.
Ебанутый утверждает, что он придумал оскорбление - петух.
>Стрельнула одна, стрельнет и вторая, схема уже отработана
интерплею с 3до расскажешь.
Там после тулс еще options забыл
> вы не игры делаете
А что для тебя игры? Однотипные инди-хуйня с пиксельной графикой - это игры?
>GetComponent
нельзя сразу ссылку прокинуть, без поиска по компонентам?
>if(armor < 0)
сделать EnemyStats.Armor как класс, там переопределить операторы -, + и возвращать Mathf.Max(0, value). Не нужно будет везде проверку ставить. Думаю что у тебя есть типы брони или же другие св-ва, их туда же запихнуть. C дамагом можно так же поступить. После этого работать с ними как объектами передавая туда "модификаторы", мержить, сравнивать и т.д. (но тогда уже оверайд операторовов не подойдет и нужно будет делать методы)
Ну а в общем норм код для двача кек
>нельзя сразу ссылку прокинуть, без поиска по компонентам?
можно, но мне жалко под них сериалайзд филды делать.
>сделать EnemyStats.Armor как класс
я думал о таком, но честно жидюсь на отдельный класс, тем более у меня не планируется резистов других пока или типов атаки. Но наверное расчет стоит куда-то вынести, глаз мозолит беспезды.
Я отказался от некоторых идей в пользу ускорения выпуска рабочего билда, только реализую апгрейды башен наверное и все, будет все максимально просто.
Как прототип пойдет, иногда тоже заморачиваюсь в масштабируемость которую потом не использую. Но это проблема сугубо в том что надо представлять конечный результат, зафиксировать его и строить уже архитектуру без оверхедов.
Делай в 2d.
Не он, но теоретически может путать в инспекторе или захламлять его. У меня по этой же причине на куче переменных стоит хайд ин инспектор. Тому что переключаться всё время между нормальным модом и дебагом лень.
>>49733
>>49696
> можно, но мне жалко под них сериалайзд филды делать.
Я тоже мимо, и я бы сказал, что вот тут >>49673 100% нужны сериалайзед филды, чтобы не вешать всё на один геймобжект. Особенно это критично из-за того, что эти компонентв отвечают за грфон, и вполне может потом понадоюится их в какой-то дополнительный геймоюжект запихать чтобы добавить каких-то анимаций дотвином не трогая основу - типа моделька там прыгает а коллайдер стоит или типа того.
Да ничего плохого, мои загоны исключительно.
В целом, у меня на префабе висит трансформ, аниматор, спрайт и 1 мой класс. Не так много, можно и геткомпонентом разок поциклить.
Допустим я запилил модельку травы в блендере, как мне заставить работать нормально с террейном?
ради интереса, попробовал сгенерить это в ChatGPT
работоспособно или лучше намутить что-то свое?
>ванильной опцией из террэйна юньки
А вот собственно как? Добавляю модельку траы на террейн, а как ее с ветром подружить?
>Шейдером
Есть какие нибудь нубо гайды по шейдерам?
>На ум приходит только енум со всеми эффектами и перебор коллекции.
или структуру и реализовать в ней интерфейс перечисления.
Добавляешь 2д спрайт в коллекцию травы террэйна, там указываешь нужные свойства, потом пустому гейм обджекту на сцене даешь компонент винд зоне и в нём крутишь ползунки, не забывая запустить сцену для лицезрения.
Я так понял трава через 2д спрайты в юнити сделана крайне хуево и они в новых версиях вообще выпили эту возможность?
Хз, траву делал год назад, для тестов и прототипов сойдёт, но как конечное решение не годится, слишком не красиво смотрится, да и по оптимизации бьет.
Самое лучшее решение это шейдором, гайды на ютубчике. Но изи не будет, шейдер это не просто.
Спасибо, я долбаеб с текстурами-то проебался. Теперь не пойму как эти деревья на ветер реагируют, поставил WindZone оно начало двигаться, кручу верчу значения ветра, один хуй движения не меняются. Это в SpeedTree отдельно настраивать надо?
И опять я долбаеб, оно реагирует, но только в промежутке от 0 до 1 (1 это максимум, выше ничего не происходит)
у Итч и ГП сейчас открутили монетизацию для РФ, а я только недавно допили свою одно-двух-кнопочную аркадку
Если игра реально принесет или приносит деньги советую оформляться где хочешь, просто через посредников.
С итча на payoneer можно было выводить. Но он тоже отвалился.
>PayPal или на Stripe
а, ну тогда понятно, просто стим делает переводы через банк морган чейз напрямую на счёт
у яндексигр выплата или на кошелек я юмани или прямо на банковский счет кста
В общем, я хочу сделать несколько плейнов (ну десять, например), на которые повешу текстурки с мемами. И хочу сделать два кубика, которые будут кнопками вперед и назад. И хочу чтобы при нажатии на них у меня менялись мои плейны.
Я понимаю, что надо сделать массив, куда я добавлю свои плейны. И кнопки вперед и назад будут просто выводить в видимость по индексу один из плейнов из этого массива.
Но как это реализовать в Юнити? А тем более на Udon Sharp?
Мне надо создать какой-то файл скрипта, видимо. Прямо в движке можно? А как мне добавить в массив свои плейны? Это надо сперва создать их и поместить в какой-то объект, наверное, в виде детей. А потом обратиться к объекту, взять всех его детей — это и будет массив плейнов. Хорошо, и теперь я могу сделать кнопки: левая кнопка будет при нажатии на нее отнимать один от переменной, но не больше 0. А правая кнопка будет прибавлять к переменной единицу, но не больше длины массива плейнов. И надо сделать вывод: я отключу все плейны, а включать их будет переменная по индексу.
Ладно, иногда ответ на вопрос приходит, когда его задаешь
Там еще есть нодовый редактор, в нем и буду делать. Не хочется изучать текстовые языки. Но должен признать, в UE блюпринты на голову выше этих нод
Что нет-то? Эти ноды очень примитивные, они как текстовый код, только в виде нод с ограниченным функционалом. А блюпринты это настоящий тюринг полный язык
>getcomponentsinchildren
Вот зачем мне компоненты из одного чилдрена? Мне надо всех чилдренов!
640x360, 0:12
Я не хочу тратить несколько дней на изучение синтаксиса шарпа, потому что у меня нет планов пограмировать шарпом, я хочу делать игры!
Пожалеешь, через годы будешь плакать - почему я сразу не начал скрипты изучать, столько лет проебал
Ну и что из этого даст мне массив чилдренов объекта?
В блюпринтах так охуенно, все интуитивно: думаешь, что надо взять детей и просто пишешь "взять детей" и берешь детей и крутишь их вертишь как угодно потом, а тут блядь нельзя просто взять детей, функции либо нет вообще, либо она называется непонятно как
Трансформ это компонент с координатами, так? Тогда что означает Трансформ чайлда в трансформ?
Сишарп в сто раз круче сблевпринтов и к нему есть няша райдер. Еще преимущество сисярпы в том что 99.9% того что по нему можно спросить в инетике уже спрошено и отвечено. Просто тебе нужно повзрослеть, ноды это ошибка от которой анриал скоро откажется с новым скриптом
> и крутишь их вертишь как угодно потом
это все до момента когда тебе надо наверчивать логику и ОТЛАЖИВАТЬ. и еще и баги ловить в логике.
это и со скриптами не тривиально, а на лапше из нод... ощущение что ты "делаешь игру" пропадает где-то через неделю ковыряния с багами в нодах. особый цимес если баг вылазит не сразу, а когда ты перешел дальше и уже забыл чего там нахуеверчено было
удачи тебе короче ))
Мы здесь не обсуждаем охуенные и удобные блюпринты, на которых легко пишется любая игра. Мы обсуждаем обосанный неудобный юнити, в котором приходится делать два часа слайдер с переключателями — то, что за 5 минут я бы уже сделал в анриле на бп
>>49995
Мы обсуждаем не ноды, а то, что чилдренов объекта нельзя взять (нет такой функции) и надо циклом это делать (и при чем тут трансформ вообще). Это хоть текстом, хоть нодой нелогичная хренька
>няша райдер
Миллион раз о нем слышал и даже вроде как пытался поставить, но заебался.
Как и где можно в один клик скачать и чтобы всё само работало из коробки? Я заебусь каждый месяц ебаться с ним.
Мне даже старой версии хватит, лишь бы один раз поставил и всё работало хотябы бы пол годика.
>Как и где можно в один клик скачать
Пориджи уже инсталлер с офсайта не могут скачать и установить, при этом хотят игры делать каким то образом, я хуею.
>Мы здесь не обсуждаем охуенные и удобные блюпринты, на которых легко пишется любая игра.
Ну так пошла нахуй с юнититреда, крыса
> чилдренов объекта нельзя взять (нет такой функции) и надо циклом это делать
Что несешь, животное дебильное, по чему ты циклом проходишь, если их нельзя взять?
>Как и где можно в один клик скачать и чтобы всё само работало из коробки?
Нет, ты чмо и хуй тебе, а не подсказки
>Мы обсуждаем не ноды, а то, что чилдренов объекта нельзя взять (нет такой функции) и надо циклом это делать (и при чем тут трансформ вообще). Это хоть текстом, хоть нодой нелогичная хренька
вообще то можно напрямую через индекс указать.
Да просто непонятно было, как трансформ связан с чайлдами и почему без взятия трансформа до них не дотянуться
ибо иерарархия в юнити выстроена через трансформы.
public class ImageScroller : MonoBehaviour
{
public int Current;
public Sprite[] Images;
public Image Target;
public void Start() { Add(0); }
public void Left() { Add(-1); }
public void Right() { Add(1); }
void Add(int n)
{
if(Images == null || Images.Length == 0) return;
Current = Math.Clamlp(Current + n, 0, Images.Length);
Target.Image = Images[Current];
}
}
детей каких-то зачем...
>детей каких-то зачем...
Потому что так проще всего создать массив не прописывая имена объектов в код (параметрическое программирование, знаете ли)
Ртх 4090 запекает быстрее, жифорс 210 медленнее.
Запекание на гпу же только в превью режиме. Или добавили нормально уже?
Что посоветовать можете с высоты своего попыта? Я вот всегда на UE смотрел или на простенькие движки типа renpy.
зарплаты нет, обучения нет, сиди карочи клепай залупу за 30%. При этом все строго, дедлайны, митапы, сиди 9 часов в день перди, ответственный подход к работе и все такое. Заработаете денях говорит.
>Что посоветовать можете с высоты своего попыта?
придумываешь идею, начинаешь пилить, если что-то непонятно - гуглишь
Если не привязан к движку, то лучше Анрил. Юнити говно и сишарп говно (вместо обучения в процессе, обучаться надо по видосикам с ютуба и чтению мануалов - пиздец вообще; еще и коммьюнити токсичное пизда)
Съеби в движкосрачетред, крыса
Челище работаю на юньки уже 3 года, реально не чувствую минусов.
Можно сделать абсолютно что угодно. Да раз в пол года можно словить краша, или еще какую хуйню, но комьюнити гигантское, решается любая проблема, или находится решение её обойти.
>зубрёжка без практики = потеря времени
Долбоеб тупой, я и написал, что практика решает, а в вашем поганом юнити и сисярпе только и нужно, что зубрить. Читай не жопой, уебище токсичное
Привязан. У меня экзамен по ебаному шарпу с юнити. Так бы хуй я на unity упор сделал. У меня все знакомые на UE5
Тупоголовый скот, в юнити от слова совсем не надо ничего зубрить, даунище.
Открыл сцену и делай что хочешь, вот нахуя ты пиздишь тварь?
Я вообще это программирование не переношу. Такая хуйня гумозная эти ЯПы. У UE хотя бы полноценные blueprint есть.
Посасал хуй.
это пиздлявое уёбище обоссали сегодня всем тредиксом за блюпринты, добавки просит
>Открыл сцену и делай что хочешь, вот нахуя ты пиздишь тварь?
Сисярп надо учить. И не просто сисярп, а юнитивский сисярп. А еще если под виарчат, то надо еще учить удон-сисярп
Удачи в унриал хуйне блюпринты потаскать.
Так я тот на чей пост вы сраться начали. Я ненавижу кодить, это уныло. Блюпринт смотрелся идеальной альтернативой изучению ЯП.
Честно говоря я настолько не хочу в C# что проебываю тут время лишь бы курс не идти дрочить
Думаешь овощ? Ну считай уязвил меня. Пойду вкатываться
720x402, 0:26
Я целый день учил сисярп, чтобы сделать то, что на БП делается за пять минут. Сколько же вони было от компилятора из-за всяких кавычек и точек не там поставленных, мда
Делай на блюпринтах, чего ты мучаешься
Из-за таких даунов, как вы, в айти процветает этот гной в виде богомерзких блюпринтов и прочих костылей для гуманитариев тупорылых. Идите крестиком вышивайте или картины рисуйте, раз такие снежинки, боящиеся БУКАВ
почему нельзя нормально переключать и видеть сразу же во весь размер пикчи? хуёвый гейдизайн, переделывай
>пердолиться с лапшой
Так в юнити нет нодовых редакторов, только убогое подобие. А БП интуитивен, можно ниче не смотреть пару часов, а сразу делать игры. Алсо, в школе на уроках информатики мы играли в варкрафт 2, червячков и детматч халфы.
Просто тебя как собачку науськали на дрочку с текстом, и тебе свобода и простота Блюпринтов кажется чем-то нечестным. Не обижайся, скриптосисярь, скоро ИИ тебя заменит, а мы - блюпринтовые-художники останемся творить игры
> а мы - блюпринтовые-художники останемся творить игры
Показывай что серьезного сделал на блюпринтах
>Переключатель мемов сделал за пять минут
Это твой максимум. То же самое как современный "репер" хвалится, что новый трек он напердел за пять минут не стараясь, хотя понятно, что если бы старался вышло бы то же самое
>сделано на шарпе пусть за минуту
Так это анрилейтед ерунда, которая никак задачу не помогает решить.
Я вот прямо сейчас гуглю как передавать значения переменных на сисярпе в юнити из класса в класс и там такая хуетень в ответах, будто я единственный кто задумался об этом за все время существования юнити.
В любимом анриле можно создать блюпринт интерфейса и через него передавать ивенты в два клика, а можно еще проще: в классе гейммода создать переменную и ее подтягивать, изменять, перезаписывать из любого другого класса потом.
А тут дебилы на стаковерфлове пук-сренькают и не знают, что посоветовать:
https://ru.stackoverflow.com/questions/966063/Как-импортировать-переменную-из-одного-файла-в-другой
https://ru.stackoverflow.com/questions/966063/Как-импортировать-переменную-из-одного-файла-в-другой
h
какой вопрос такой и ответ. нарожают блюпринтошлепов а потом они спрашивают "как нажимать кнопки"
Ты гуглишь на русском, ты спрашиваешь про какой-то импорт переменной, ты же реально дурачок смешной, ты это понимаешь? Куда ты лезешь в программирование, чушкан
Ты похож на злого деда, которые играл в деревянные игрушки прибитые к полу, а потом подрос и стал считать великим достижением, что научился пользоваться старинным телефоном с барабаном. Но прогресс не стоит на месте, теперь ты не можешь в блюпринты и ворчишь на всех, кому не всрался твой телефон с барабаном
Какой движок, такой и вопрос
>>50131
Это не я спрашиваю. Этот вопрос задали в 2019 году
это ж ультрабыстрые прототипы
сделал налапшевал
зашло перекатывай в код
нет ну и хуй с ним
Нафиг вам это говно для детей-даунов
https://assetstore.unity.com/packages/tools/visual-scripting/bolt-163802
>>50144
По тем ссылкам то же самое и даже лучше
>налапшевал
Нодовый редактор также требователен к аккуратному коду, как и текстовый. У меня глаза вытекают от того, как текстовики работают с нодами превращая всё в нечитабельное месиво.
>>50141
>В юнити есть
Это плагин, которому до бп как до луны. Плюс если посмотреть тесты, он заметно медленее блюпринятов и тем более сисярпа
>По тем ссылкам то же самое и даже лучше
>Find
>проход по потенциально бесконечному массиву из объектов всей сцены
Там все написано, еблан, про эти случаи, можешь по-другому ссылку получать
я уже предвкушаю
https://youtu.be/w8rRhAup4kg
Чето я не видел чтобы сверхмозги со стаковерфлова писали про такой класс, там предлагают через файнд искать
Статические классы тебе делать запрещено?
Учиться можно всю жизнь. Этот долбоеб блюпринтный не может переменную из другого класса изменить, ему этого курса на три года изучения хватит
Короче она посоветовала хуйню какую-то с ошибками. Я строго и настойчиво попросил исправить
>как передавать значения переменных на сисярпе в юнити из класса в класс
Если у тебя есть какой то объект на сцене(класс от монобех) то ты должен получить ссылку на этот объект. Для этого у тебя есть множество путей, если он у тебя всегда находится на сцене, а ссылка нужна другому объекту то можно просто указать её в инспекторе этого объекта создав поле с типом нужной ссылки.
[SerializeField] private TargetType _targetComponent = null; //это ты пишешь где собственно нужно тебе взаимодействовать
После этого берешь свой объект и сюда перетягиваешь.
Если же у тебя объект не всегда находится на сцене, то тут уже лучшем решение будет сохранять ссылку на него в классе кто его инстантирует на сцену(если класс монобех) или создает инстанс(не монобех) и запрашивать уже у этой "фабрики". Плохие решения это поиски по сцене, по компонентам - их стоит избегать.
Есть известные, глобальные решения:
На больших/средних проектах используют zenject, service locator etc. На мелких можно обходиться синглтоном на сцене который будет создавать твои "сервисы"(LoadConntroller, AudioController, ElementsManager etc) хранить на них публичные ссылки и раздавать их всем желающим.
Спасибо
Оно ошибку выдавало. Сделаю через перетягивание завтра
>Есть известные, глобальные решения:
На больших/средних проектах используют zenject, service locator etc.
На больших средних проектах люди умеют писать код.
Начинать нужно с малого
Не пойму почему с этого сайты ничего не качает, уже не первый раз сталкиваюсь. Блокер отключаю.
Не поленился чекнул, не качает только в хроме, в душе не чаю почему. Через древний эксплоер качается.
По ридеру можешь пояснить в кратце? Со студией 2019 разница в чем? 2022 лагага по какой то причине, пришлось откатываться.
Не знаю, не помню где качал, так же на свой страх и риск. Кряк по-моему был тут
https://github.com/ja-netfilter/ja-netfilter
Но блокнули
>>50185
У меня студии нету, вроде не лагает
В мобилки без издателя или личного способо продвижения делать нехуй.
Есть конечно вариант для упорных это лично продвигать и социоблядствовать, но это хардкор в чистом виде, нужно будет везде спамить и общаться с людьми.
>Unreachable code detected
Эту хрень можно как то спрятать? Хз почему он спамит эту надпись.
Буквально, да. Но на деле нет.
> Есть ли шансы хоть что-то заработать с какой-нибудь мобильной дрочильни с парой механик?
Есть. Ты можешь получить трафик за счёт поисковой оптимизации. Тебе нужно грамотно подобрать название и грамотно составить описание. Со временем ты даже сможешь попасть в подборки, что даст большой трафик.
Зарабатывают сейчас в основном с рекламы. Некоторые начинают клепать много мелких игрушек, чтобы с рекламы получать весомый доход. А кому-то удаётся и на одной игре прилично зарабатывать, если она удерживает игрока.
P.S. Старайся делать 3D игры, они сейчас лучше заходят. Особенно с мультиплеером. Смотри, что сейчас популярно у школьников, можешь смотреть популярные моды в Roblox.
Опять ты выходишь на связь, мудило?
они его может и купили но прикрутить забыли.
короче говоря не трать мое время этой хуйней чел
А почему ты не хранишь upgradesLevel в самом классе TowerUpgrades?
Я для удобства именую словари следующим образом: {value}By{Key}. Допустим, upgradesByTowerType.
Рассмотри вариант отделения Логики от Данных. Судя по всему, ты уже это хочешь сделать. Логику можно переместить в ScriptableObject. Тогда у тебя будет очень гибкая архитектура, при этом без лишних абстракций. На ютубе поищи видосы от юнитеков про архитектуру на ScriptableObject.
Какой же ты калхозник тупой
>юнитеков про архитектуру на ScriptableObject
обоссали уже эту архитектуру все кому не лень, даже на ютубе есть масса роликов почему не стоит этого делать
>А почему ты не хранишь upgradesLevel в самом классе TowerUpgrades?
Да, стоит перенести. Согласен.
>Логику можно переместить в ScriptableObject.
Хмм. Возможно стоит. Но!!! не через СО, а просто реализовать флайвейт паттерн на шарпе. Покручу помучу, подумаю еще.
> Но!!! не через СО
А ты попробуй. Под твою задача должно зайти. Главное не храни там рантайм данные. Там должна быть только логика и данные, которые через редактор задаются. Потом создашь папку, поместишь туда все апгрейды, ими удобно будет управлять.
))))) когда ты уже угомонишься, дурик лол))))
> флайвейт паттерн
Он активно используется в Майнкрафте, кстати говоря. Нотч вообще гений ООП.
Ок, главное таблетки не забывай принимать.
если хочешь назвать индекс не цифрой, а что-то типа UnitList["Boss_1"] то нужен будет словарь
других случаев придумать не могу
В общем позавтракал и все переделываю, потому что полную залупу сделал))) У меня TowerUpgrades возвращает декораторы, хотя должен возвращать уже готовые данные.
В начале скрипта под массивов заккоменчиваю таблицы на такой случай по типу: 1 - Boss_1, 2 - Boss_2... 22 - Enemy_4.
Также сама функция принимает string запрос который потом преобразуется в инт и возвращает нужный элемент.
> Также сама функция принимает string запрос который потом преобразуется в инт и возвращает нужный элемент.
ну а чтобы не пилить такие костыли и используется словарь, где вместо преобразования будет сразу EnemyList["Boss_2"]
Кстати код писал не от абстракции, результат на лицо так сказать.
Теперь работают обе кнопочки и мемы листаются в обе стороны. Но что мне не нравится, это то, что надо в каждую кнопку вручную перетаскивать объект. Через блюпринты я бы сделал красивее и параметричнее, ручками бы вообще ничего не пришлось трогать и выбирать пипеткой
Расскажи, что тебе ещё не нравится. Очень интересно. Может тебе ещё нравится по-большому ходить в штаны, так как это проще.
В чем проблема загрузить все картинки в массив, сделать ссылку на текстуру, также int текущего индекса и просто гонять по нему делая ++ или -- ?
Что ты там ебёшься не понятно?
Набрасал по фасту что имею в виду, 5 мин делов.
[SerializeField] private Image PlaneImg; // Место куда отображаем картинки/текстуры
//
private Sprite[] mImages; // Сборник контента
public int CurrentID; // Текущий выбранный индекс
private void StartInicialization() // Вызываем когда угодно, обычно при старте сцены в главном менеджере
{
CurrentID = 0;
Object[] _tOb = Resources.LoadAll("MyImages", typeof(GameObject)); // Место откуда загружаем картинки
mImages = new Image[_tOb.Length]; // Делаем массив размером с общего кол-во картинок
for(int i=0;i< mImages.Length; i++) { mImages= _tOb as Sprite; } // Сохраняем
_updView();
}
public void _clickButton(int command) // Нажатие на кнопку - У кнопок ставить можно как 1 и -1, так и любые числа
{
CurrentID += command;
_updView();
}
private void _updView() // Обновляем видимость отображения
{
if (CurrentID <= 0) { CurrentID = 0; }
if (CurrentID > mImages.Length) { CurrentID = mImages.Length; }
PlaneImg.Sprite = mImages[CurrentID];
}
Набрасал по фасту что имею в виду, 5 мин делов.
[SerializeField] private Image PlaneImg; // Место куда отображаем картинки/текстуры
//
private Sprite[] mImages; // Сборник контента
public int CurrentID; // Текущий выбранный индекс
private void StartInicialization() // Вызываем когда угодно, обычно при старте сцены в главном менеджере
{
CurrentID = 0;
Object[] _tOb = Resources.LoadAll("MyImages", typeof(GameObject)); // Место откуда загружаем картинки
mImages = new Image[_tOb.Length]; // Делаем массив размером с общего кол-во картинок
for(int i=0;i< mImages.Length; i++) { mImages= _tOb as Sprite; } // Сохраняем
_updView();
}
public void _clickButton(int command) // Нажатие на кнопку - У кнопок ставить можно как 1 и -1, так и любые числа
{
CurrentID += command;
_updView();
}
private void _updView() // Обновляем видимость отображения
{
if (CurrentID <= 0) { CurrentID = 0; }
if (CurrentID > mImages.Length) { CurrentID = mImages.Length; }
PlaneImg.Sprite = mImages[CurrentID];
}
>Что ты там ебёшься не понятно?
1. Я всё уже сделал и не ебусь, просто в продвинутом-движке юнити ничего нельзя сделать без перетаскивания вручную объектов в ссылку (в блюпринтах можно через каст прямо в коде);
2. Картинки разного размера, поэтому будучи текстурой в одном и том же материале они растягиваются по-разному, поэтому у меня просто 7 плейнов.
3. Кнопка Вперед и Назад это интерактивные объекты и они не должны содержать в себе массива с мемами. Они просто посылают сигнал в главных по мемам объект о выполнении кастомного ивента по плюсованию или минусованию индекса
>у меня просто 7 плейнов.
Не ну ты точно ебанутый.
>Кнопка Вперед и Назад это интерактивные объекты и они не должны содержать в себе массива с мемами.
Ты блять троллишь, не верю что такие есть.
>>таскает блюпринты ногами
ну не, речь о том, что мой код в блюпринте довольно абстрактен и подхватывают объект нужного класса просто по факту его спавна или помещения на сцену, без необходимости из иерархии перетаскивать его в поле у компонента
Я код приложил к посту. Критикуешь — предлагай
и как это связано с блюпринтом или не блюпринтом?
Добрый день!
У меня есть несколько вопросов к местным специалистам.
Я пытаюсь собирать игру на вашем любимом движке. У меня установлено две версии - 2019 и 5.6. На данный момент я ещё не решил, на которой из них остановиться (да, последняя версия для меня - неочевидное решение).
Если что, мои знания крайне фрагментарны, и я не программист.
Расскажите, пожалуйста:
1) Почему в обоих версиях не работает Ambient Occlusion? Т.е. формально там есть галочка в настройках освещения, но она ровным счетом ни на что не влияет. В документации сказано, что для 2019 можно загрузить какой-то там пакет пост-эффектов и через него настроить, либо использовать URP или HDRP. Мне лично не верится, что графика в unity настолько плоха, что там нельзя просто из коробки установить AO. Это же базовая вещь, без неё графика выглядит просто ужасно. Все эти переотражения и прочее нахуй просто не нужны, если нет возможно сделать AO.
Как вариант, я нашел скрипт для генерации AO, подходящий для 2019: https://github.com/MaxwellGengYF/Unity-Ground-Truth-Ambient-Occlusion
На 2019 он прекрасно работает - добавляешь в камеру, и вуаля, всё как надо. В 5.6 он не работает, выдает ошибку. Но совершенно не понятно: во-первых, как сделать возможным запекание этого сгенерированного АО для всей сцены, во-вторых - какой минимальный DirectX нужен для работы этого скрипта.
Есть ли возможность наиболее простым способом сгенерировать АО для всех объектов на сцене и сохранить/запечь его?
2) Мне хотелось бы обеспечить поддержку старых систем, в частности с Windows XP и DirectX 9. В конечном счете, я делаю не продукт на продажу, а занимаюсь творчеством. Каким настройкам и в каких частях движка нужно уделить внимание, чтобы обеспечить такие требования? Например, будет шейдер стандартного материала работать со старыми системами? А освещение? Например, в движке есть возможность выставить что-то вроде эмуляции старых систем - tier 1-3, но, как я понял, их нужно настраивать самому. Как именно - неясно.
Пикрандом.
Добрый день!
У меня есть несколько вопросов к местным специалистам.
Я пытаюсь собирать игру на вашем любимом движке. У меня установлено две версии - 2019 и 5.6. На данный момент я ещё не решил, на которой из них остановиться (да, последняя версия для меня - неочевидное решение).
Если что, мои знания крайне фрагментарны, и я не программист.
Расскажите, пожалуйста:
1) Почему в обоих версиях не работает Ambient Occlusion? Т.е. формально там есть галочка в настройках освещения, но она ровным счетом ни на что не влияет. В документации сказано, что для 2019 можно загрузить какой-то там пакет пост-эффектов и через него настроить, либо использовать URP или HDRP. Мне лично не верится, что графика в unity настолько плоха, что там нельзя просто из коробки установить AO. Это же базовая вещь, без неё графика выглядит просто ужасно. Все эти переотражения и прочее нахуй просто не нужны, если нет возможно сделать AO.
Как вариант, я нашел скрипт для генерации AO, подходящий для 2019: https://github.com/MaxwellGengYF/Unity-Ground-Truth-Ambient-Occlusion
На 2019 он прекрасно работает - добавляешь в камеру, и вуаля, всё как надо. В 5.6 он не работает, выдает ошибку. Но совершенно не понятно: во-первых, как сделать возможным запекание этого сгенерированного АО для всей сцены, во-вторых - какой минимальный DirectX нужен для работы этого скрипта.
Есть ли возможность наиболее простым способом сгенерировать АО для всех объектов на сцене и сохранить/запечь его?
2) Мне хотелось бы обеспечить поддержку старых систем, в частности с Windows XP и DirectX 9. В конечном счете, я делаю не продукт на продажу, а занимаюсь творчеством. Каким настройкам и в каких частях движка нужно уделить внимание, чтобы обеспечить такие требования? Например, будет шейдер стандартного материала работать со старыми системами? А освещение? Например, в движке есть возможность выставить что-то вроде эмуляции старых систем - tier 1-3, но, как я понял, их нужно настраивать самому. Как именно - неясно.
Пикрандом.
>>50488
>>50495
Зачем ты три раза прокомментировал мой пост?
Твой совет - поставить новую версию - нерелевантен. Установка новой версии проблему поддержки старых систем автоматически не решит, а мне дополнительное количество мусора и анальной коммерции, которых становится в юнити всё больше с каждой новой версией, не нужны.
>Зачем ты три раза прокомментировал мой пост?
Чини детектор маня. Твоя проблема как раз решится. Никаких доп проблем не появится, спокойно всё лишнее и не нужные модули отключаются. Ты удивишься но чем новее юня тем шустрее и лучше она работает.
Всё таки иногда нужно прислушиваться к советам опытных дядь.
Твоя "новая юня" поддержку directx9 мне обеспечит? А вот 5.6 точно обеспечит.
По делу отвечай. Нечего ответить - не надо срать тут своими "скачай новую версию". Я конкретные вопросы задал, а не срач сюда разводить пришёл.
Я бы тебя уебал за тупость будь возможность.
В чем он не прав? Настройки и правда куции
ты какой-то импотент пожилой, ты же можешь сам скачать самую последнюю версию редактора, vmware и проверить
Можно украсть на главной помойке по юнити ассетам, но подготовь виртуалку или пару вычищаторов.
Ты про какую помойку говоришь?
Что за картинка гавно какое-то
Откуда ты знаешь решит или не решит? Тебе все говорят ставь новую версию, а ты с высоты своего шизового ничем не подкрепленного мнения пишешь что там что-то поддерживаться не будет, лол.
Например, в классе LohMonobehaviour есть private float pidr, и я бы хотел ее мониторить прямо на экране в игре в runtime.
Также, когда переменная меняет значение, я бы хотел, чтобы она например подсветилась временно, чтобы я заметил.
Есть готовые решения с кучей полезных прибамбасов?
Вроде можно отобразить все все поля в инспекторе, но мне я бы хотелось чтобы именно на экране, чтобы сразу все было видно
Это копия, сохраненная 30 июля в 05:39.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.