Это копия, сохраненная 1 декабря 2023 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Прошлый тред: https://2ch.hk/gd/res/802780.html#808213 (М)
Официальный сайт: 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# можно узнать на интерактивных курсах здесь:
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 - это начать делать игру и по мере разработки гуглить непонятные моменты.
Шапка: https://www.writeurl.com/publish/qzgktisltkskaitem6aa
Скачал набор кистей для травы, и потыкал по холсту разными цветами
ну эти для прокриэйта были, но в ФШ вроде и получше есть, да и выбор явно больше
Спасибо большое!
Тебе надо сделать класс обсервер, который чекает изменения стат и который всё пересчитает при изменении одной из стат. С такой хуйней как на скрине ты очень быстро запутаешься как только зависимостей станет больше одной штуки.
Т.е. принцип работы конструкции на скринах я правильно описал? И все что я в эвент хендлер через += закину тоже сработает?
Потести. Я вообще конкретный вопрос задал, чтоб мне кто понимает помог, а не для того, чтобы незнающий токсик про обзервер пукал. Спасибо.
>конкретный вопрос задал
Единственный вопрос который ты задал это
>Я прав или нахуевертил паноса?
Ты неправ. Надеюсь ты доволен ответом на свой вопрос.
Подскажи какой нито гайд где была бы доступно объяснена суть этих пиздянных ползунков. Никак не могу толком разобраться как они работают
Эксит тайм это сколько должна проигрываться старая анимация после смены на новую при смене стейта. Например после бега у персонажа долен быть тормозной путь, бежать фактически перестали сменив стейт на idle но пару шагов персонажу сделать еще надо.
Транзишн это скорость перехода из одной анимации в другую. Анимации смешиваются чтоб переход между анимациями не был резким.
Если делаешь пиксельную игру со спрайтовыми анимациями то всё ставишь по нулям.
Если 3д игра то в 95% анимаций эксит тайм будет равен 0, транзишон по вкусу устанавливаешь, обычно это полсекунды.
Ты сейчас высрался, хотя мог бы потратить время на что-то полезное. Так что если хочешь насрать в тред хотя бы делай это с пользой.
Бесплатно работать на анонов и создавать контент для макаки, который она монетизирует. Просто двойной куколдизм какой-то.
Как вас макака так выдрессировала, не понимаю?
Я +- это понимаю но все равно хотелось бы более подробный гайд. Тк ужа заебался наугад двигать эти ползунки. То что должно выглядеть логичным нихуя не работет, анимации не переключаются , то что работает для одного перехода нихуя не работает для другого.
Вобщем если подскажешь какой то детальный гайд-буду прям здоровья тебе желать
>>809463
Чувство самоудовлетворения оттого что ты что то знаешь а кто то нет, душевная индульгенция, самодовольство от помощи кому то, очистка кармы, пропуск в рай
>хотелось бы более подробный гайд
>Если делаешь пиксельную игру со спрайтовыми анимациями то всё ставишь по нулям.
>Если 3д игра то в 95% анимаций эксит тайм будет равен 0, транзишон по вкусу устанавливаешь, обычно это полсекунды.
>Чувство самоудовлетворения
К вам как к неграм относятся. Трут посты, банят, запрещают шутить, матерят за недостаточно быстрые и точные ответы
Вы какие-то ебанутые получать удовольствие от унижения.
1920x946, 0:16
1920x954, 0:08
Да, помогло.
Последний момент. Чому из бега анимация не переключается?
Если подскажешь буду прямо руки тебе целовать
Оу. Я долбаеб, вопрос снят
> Хотел сделать чтобы при изменении базовой характеристики все пересчитывалось заново.
Кстати, хороший вопрос. А как в Юнити с реактивностью? Вот в vue.js есть такая удобная штука, как computed параметры. Как это работает: допустим, есть две переменные - a и b. И можно объявить computed параметр sum, который будет всегда возвращать a+b. К этой переменной можно всегда обратиться и она будет всегда равна сумме текущих значений а и b. И шутка в том, что он не будет при каждом обращении высчитывать сумму, значение хранится и автоматически пересчитывается при изменении одной из используемых переменных (именно в момент изменения, а не в момент следующего обращения). Ну и это можно использовать для всяких хитрых вещей, перебора больших массивов (например есть большой массив данных, переменная фильтра и computed параметр, который всегда хранит эти данные, пропущенные через текущий фильтр и автоматически меняется при изменении фильтра). Ну или сложных расчётов - например, можно было бы возвращать значение характеристики персонажа, сразу применяя к ней все нужные модификаторы - от шмоток, эффектов и остального. В шарпе/юнити есть такое?
Да, я знаю что можно вместо обращения к параметру дергать метод, который будет каждый раз считать, но это не то. Можно на сеттеры всех модификаторов повесить обработчик, который будет пересчитывать значения, но это какие-то костыли, а там всё сразу из коробки и ничего дополнительно прописывать не надо.
Чтобы аноны повышали свои знания и рожали больше хороших игр, в которые интересно играть. Если хотя бы один из десяти релизнет своё поделие - всё было не зря.
Проперти+Евенты/Unirx
https://3dnews.ru/1068764/kitaytsi-prevratili-ekzaflopsniy-superkompyuter-v-ii-masshtaba-chelovecheskogo-mozga
>kitaytsi
нет, спасибо.
они уже года три как "запустили антигравитационный двигатель" и лет пять как "пересадили человеческую голову"
Паттерн "Наблюдатель" (Observer) представляет поведенческий шаблон проектирования, который использует отношение "один ко многим". В этом отношении есть один наблюдаемый объект и множество наблюдателей. И при изменении наблюдаемого объекта автоматически происходит оповещение всех наблюдателей.
Что в твоем понимании нормальный ии? В статье говорится о производительности, а не о том, что это какой-то гениальный интеллект. Вообще ты не умный карочи.
не умный ты карочи. эта нейронка в теории может оперировать 174 триллионами переменными при решении какой-то задачи у далли 2 даже и 200 миллиардов нет, например
>в теории
отлично
>эта нейронка в теории может оперировать 174 триллионами переменными при решении какой-то задачи
интеллект то в чем?
Могу лишь провести тебе залупой по губам, потому что все работает как описано. чмоня.
>С такой хуйней как на скрине ты очень быстро запутаешься как только зависимостей станет больше одной штуки.
дежурные слова типа знающего.
>: 'Animator' does not contain a definition for 'SetTrigger' and no accessible extension method 'SetTrigger' accepting a first argument of type 'Animator' could be found (are you missing a using directive or an assembly reference?)
Но я понять не могу в чём я обосрался то? Ну буквально же простейший код, но пишет ошибку.
Доки читал, везде решения смотрел, но похожие ошибки у людей бывают только при опечатке. Тут же её нет. Так хуле ему не нравится?
Попробуй в проекте удалить папки Library и obj (закрой юнити сначала), похоже что у тебя проект криво открылся.
Не, нифига, при запуске опять пишет, что ошибки есть
Одного не понимаю в этих новостях, с чего все решили что человеческий мозг берёт голой производительностью? Всё же ровно наоборот. У него небольшая производительность, но колоссальная гибкость мышления за счёт физической архитектуры синапсов и нейропластичности. А сымитировать такой процесс можно только сымитировав всю 100 миллиардную нейронную структуру, короче невозможно в обозримом будущем. Плюс сколько там человеческий мозг обучается? 20-30 лет чтобы нормально соображать, кому-то правда нужен такой софт? Не проще ли нанять рандома с улицы, а компутерам оставить рутину сэкономив время и миллиарды (главная причина почему ии не будет - экономическая).
Сука, ебвнный ваш аниматор. Пытаться сделать хоть что то больше чем ходить и стрелять, превращается в ад.
Хочу сделать анимацию ранения, она должна менять остальные анимации походки и стрельбы, но как только пытаешься что то изменить все летит к буям. Эти долбанные булевые переходы.
Ну что сложного сделать что то вроде - остановить текущую анимацию и запустить новую? Без этих переходов - лотерей, которые хрен пойми как работают.
Сейчас играю в Готику 2 и просто охреневаю от колличесва анимаций которые навешаны на персонаже, мне трудно представить в какю паутину должно превратить аниматор подобное количество анимаций.
>Ну что сложного сделать что то вроде - остановить текущую анимацию и запустить новую?
https://docs.unity3d.com/ScriptReference/Animator.Play.html
>Пытаться сделать хоть что то больше чем ходить и стрелять, превращается в ад.
Сомневаюсь что хоть в одном движке не так же. Трансформы 3D объектов вообще потенциально слишком сложная и глючная фича.
Т.к. были аноны, решавшие задачу по пересчету скилов при изменении атрибутов персонажа, выложу свое решение, вдруг кому пригодится
В общем зависимые от статов свойства персонажа получают при создании ссылку на сам стат и записываются в его эвент через конструктор. Вроде путаница возникнуть таким образом не должна.
После выгрузки в сцену Юнити имеется ввиду. Суть в том чтобы сохранялась читаемость и четкость надписей при максимальном приближении. Подскажите, или направьте туда где подскажут?
Но тут проблема, включать эти скелеты довольно неудобно, приходится их в одном рисунке все рисовать, где и так на каждом скелете куча слоев под каждую руку/ногу. А потом еще и в юнити включать каждую.
Мб есть какой-то способ оптимизировать это?
Типа чтобы сгенерить ее в World Machine или Пэйнтере, а дальше где нужно в конкретных местах уже ручками править.
Или легче меш юзать вместо террейна?
Почитай о развёртке. Если хочешь считающийся шрифт то разворачивай его оддельно и назначай свой материал иначе разворачивай его с развёрткой модели но приоритет делай именно на него т.е. большую часть развёртки должен занимать он ну естественно текстуру делай до 2к и не забудь в самом редакторе юнити выбрать тоже 2,к. Я просто недавно тоже надписи разворачивались и столкнулся с той же проблемой.
Варианта два.
Самый лучший это унифицировать скелет и сделать один под всё. Но к этому скелету к примеру сделать пару аниматоров, чтобы не путаться в количестве анимации и их взаимодействии.
Второй это сделать отдельные объекты меша, но которые будут в одном родимом объекте (Типа игрок), и уже там по происшествию нужной фичи отключать/включать нужную модель.
Вообще если чувствуешь что делаешь что-то не так, или есть повторяемые действия в разработке, возможно ты реализовал фичу или архитектуру не оптимально и мучаешься стреляя себе в пятку.
Я забыл уточнить что в 2д делаю. И под двумя скелетами я имел ввиду то когда в топ давн игре персонаж идёт вверх, и нам видно скелет со спрайтами спины и т.д. а если он движется вниз то мы видим скелет с лицом и грудью
Эх, с программированием туго у меня, придётся видимо звать погромиста, я как-то надеялся по проще все решить.
Ты не спеши расстраиваться
Главное сакральное знание любой технической специальности это декомпозиция, именно благодаря ей у тебя независимо от уровня интеллекта будет возможность решить любую задачу вообще
Твоя задача это всё дробить на простое
Например иерархия объектов в унити часто это древовидная структура
Так и тут
Вот видео нашёл какое
https://www.youtube.com/watch?v=eXIuizGzY2A
Делай как он говорит и даже без знания программирования у тебя будет какой-никакой но выхлоп.
Спасибо
>Если хочешь считающийся шрифт то разворачивай его оддельно и назначай свой материал
Была такая мысль. Если правильно понял тебя, то это отдельный plane с надписью? В этом случае опасаюсь перегрузить сцену кучей таких объектов, так как надписей много.
>большую часть развёртки должен занимать он
Вот это годно звучит, спасибо так и попробую
Типа это такой набор переменных и методов, которые что-то делают с этими переменными ИЛИ взаимодействуют с другими классами (типа синглтон-манагеров)? И их по надобности можно присобачить к любому классу?
В чем их принципиальное отличие от абстрактного класса (которые я и юзаю)?
Скажем, на примере, есть класс монетка, наследуется от класса коллектабл. Если я захочу сделать так, чтобы эта монетка вращалась, то мне не копипастить кусок кода transform.Rotate(), а присобачить к монетке интерфейс IRotable, где это вращение реализуется, или как?
В интерфейсе ничего не реализуется, реализуется в классе к которому ты присобачил этот интерфейс. Есть класс Monetka с интерфейсом IRotable, есть класс Baraban с этим интерфейсом, когда тебе надо обработать всё что вращается ты проходишь по списку содержащему эти интерфейсы, вызываешь метод интерфейса Rotate а там уже в каком классе каким макаром обрабатывается Rotate это уже тебя не ебёт. В итоге у тебя есть доступ к этим разным классам по одному шаблону.
В интерфейсе ничего не реализуется. В интерфейсе только содержится информация о то, что надо реализовать.
Мимо тоже не понимаю где использовать абстрактные, где интерфейс.
Это то, что называют полиморфизм?
Наверное я сделал так, как задумано. Спасибо, попробую подумать, где я мог бы это использовать в предудыщих проектах
Интерфейс делает код менее связанным из-за того, что его реализовывать может любое множество классов.
Самый простой пример обычная розетка, к которой подключаются бытовые приборы.
Да, в сишарпе разрешено множественное наследование интерфейсов, с классами обычными такое не прокатит
Ты уверен что та строчка с очисткой выполняется?
Нет, ну правда, то, что он делает - делается несколькими строчками кода в Update.
Аж представлю, что кто-то дергает этот компонент во время игры то аж передергивает. Кто эти больные люди?
Но с другой стороны, возможно эта хрень полезна для визуального программирования, но это не точно
Нет, ну правда, то, что он делает - делается несколькими строчками кода в Update.
Аж представлю, что кто-то дергает этот компонент во время игры то аж передергивает. Кто эти больные люди?
Но с другой стороны, возможно эта хрень полезна для визуального программирования, но это не точно
ты на каждый скилл будешь создавать отдельный класс?
Не проще ли создать один скрипт и хранить там все скиллы и основные атрибуты ?
надо смотреть как в дноте 2 сделано, у них там на каждый и активируемый предмет и скилл разные эффекты и действия происходят ещё и моддинг поддерживается
Да. Абстрактный класс скиллз, от него все остальные идут. Т к. Это не монобихевиор классы, то все будет лежать в одном файле. Как ты собрался делать все в одном файле еще и со статами я хз.
ну например так
int Skill1() => формула расчета 1го
int Skill2() => формула расчета 2го
enum SkillsEnum
{
skill1,
skill2
}
public GetSkill(SkillsEnum name)
{
switch(name)
case skill1:
return Skill1();
case skill2:
return Skill2();
}
Так как все будет в монобихейворе можно вынести в инспектор параметры для расчетов скиллов.
>>810886
>Т к. Это не монобихевиор классы, то все будет лежать в одном файле.
абстрактный класс же можно монобихейвером сделать - дочерние будут "цепляться" к геймобджекту
ну например так
int Skill1() => формула расчета 1го
int Skill2() => формула расчета 2го
enum SkillsEnum
{
skill1,
skill2
}
public GetSkill(SkillsEnum name)
{
switch(name)
case skill1:
return Skill1();
case skill2:
return Skill2();
}
Так как все будет в монобихейворе можно вынести в инспектор параметры для расчетов скиллов.
>>810886
>Т к. Это не монобихевиор классы, то все будет лежать в одном файле.
абстрактный класс же можно монобихейвером сделать - дочерние будут "цепляться" к геймобджекту
>абстрактный класс же можно монобихейвером сделать - дочерние будут "цепляться" к геймобджекту
мне этого не надо.
>ну например так
выглядит сомнительно.
>ебало представили?
я свое ебало представил, когда решил накатить яндекс браузер, попробовать, а когда мне не понравилось я его удалил, но некоторые его компоненты остались и удилть было нельзя, потому что не было файлов яндекс браузера. в итоге я ручками чистил реест. ебаный кал мочи
https://youtu.be/MOYiVLEnhrw
Надеюсь, через лет 5 вообще не будет разницы на каком языке документацию смотреть.
Лучше сойбоя смотри, у него похожие видео, но более адекватные https://www.youtube.com/watch?v=bKEaK7WNLzM
На него у меня не стоит.
значит ли это, что это говно теперь очень сильно начнёт отставать от уеча и действительно будет двиглом для инди бомжей?
(Автор этого поста был забанен. Помянем.)
А до этого он был для кого?
>За две недели до того, как стало известно о сокращениях, глава Unity Джон Рикителло заявлял, что у компании нет финансовых проблем и сокращать штат она не планирует.
bevy
>В общем фич много но они их кидают недопиленными и берутся за новые
ты вот прям юнити описал
Это какая-то 2Д пикселедрочерская штука? Ну в любом случае вот
https://www.unrealengine.com/marketplace/en-US/product/svg-importer-plugin/questions
>инди
Инди это когда всё 2Дшное как на Денди? Или все таки проект создаваемый маленькой командой энтузиастов?
> Хорошо что говно засохло не успев высраться.
литерали любая технология юнити за последние 10 лет
В юнити можно svg импортировать как геометрию. Мощная штука (правда пакет в вечной экспериментальной фазе).
Бля, помею хотел как-то его использовать, в итоге что-то мне там очень сильно не понравилось(вроде проблема какая-то была), причем так сгорело, что я сразу дропнул эту затею.
Не помню, в чем дело было...
https://www.youtube.com/watch?v=-S6J8zm_w1E
спасибо юнити, проиграл
>движок для инди
Он не для инди ни для ААА ни для геев ни для педофилов ни для любителй сока от салата, это просто графический движок общего нзначения. Хочешь кинцо снимай, хочешь архивиз делай, хочешь свой майнкрафт пиши.
маленькой команде нужно как можно быстрее и дешевле сделать кучу контента. и unreal engine ей в этом никак не поможет, потому что его потанцевал раскрываете только в ААА-фотореалистичной графике, а больше он ни во что не умеет.
А есть такое же, только для годота?
>ААА-фотореалистичной графике
но сами Епики ебашут на нём свои мультики из двух полигонов и палитрой из детских фломастеров. Все зависит от разраба, можешь хоть платформер про прыгающий кубик писать. Можешь делать тоже самое и на другом движке никто не против.
Их видение ECS слишком специализированное, чтобы его можно было обобщить в универсальное решение. Овчинка не стоит выделки. Гораздо проще распареллилить структуры данных внутри критического компонента, чем пытаться втиснуть всю логику игры в узкие ограниченные рамки ECS
Bolt, его пару лет как купили юнитеки и сделали бесплатным
С одной стороны - да. А с другой - Юнити просто нет адекватных альтернатив, сопоставимых по универсальности. Уеч - говно для ААА. Сурс и крайтек мертвы, плюс учебников и всяких готовых модулей для них сильно меньше. Всякое сырое говно вроде годота и унэнджина вообще непригодно для серьезной разработки. Вот и выходит, что даже если Юнити закроют, придётся сидеть на последней доступной версии, потому что больше альтернатив то нет.
Unity подтвердила увольнения в заявлении для Protocol и сообщила, что пострадало чуть более 200 человек. «В рамках непрерывного процесса планирования, в ходе которого мы регулярно оцениваем наши ресурсы в соответствии с приоритетами нашей компании, мы решили перераспределить часть наших ресурсов, чтобы лучше сфокусироваться и поддержать наш долгосрочный рост. Это привело к принятию некоторых сложных решений, которые повлияли примерно на 4 % всей рабочей силы Unity. Мы благодарны за вклад тех, кто покидает Unity, и мы поддерживаем их в этот трудный переход».
>>811792
Но пидор здесь только ты, пидорашка австралопитекская. Не нравятся блага западной цивилизации - не пользуйся.
> 3070ti
Видеокарта тут вообще не причем, все от процессора зависит.
V rising в ерли аксесе, разработчики предупреждали, что с оптимизацией не оч, и так оно и есть.
а мы сами угадайте кого
С дальнейшим трудоустройством в военкомате)))))
На счёт годота зря, но в остальном согласен
Рейтрейсинг не реалистичен, всех наебали с рейтрейсингом, у всех сейчас в голове что угол падения света равен углу отражения. Это игнорирует тот факт что воздух как океаническая толща, в нем сложнейший fluid simulation, где через воду свет идет по сложнейшей траектории.
Этот прав, если делать просто углами получится освещение как на луне с резкими перепадами тёмных и светлых участков. Что в общем-то и выходит в игре.
Нужно уменьшить спрайт на один период в анимации
Добавляю компонент Скейл к одному спрайту на шкале, меняю в нем значения но ничего не происходит, нужный спрайт никак не изменяется на протяжении анимации, хотя вроде как должен
>депутат обещал.
Так он предложил обсудить. Таких обсуждалок в думе дохуя и больше.
Максимум сделают форк годота.
Выделят 100 миллионов рублей, через полгода покажут один скриншот и закроют проект.
Если деньги давать хохлам и либерахам, так всё и выйдет. См. историю предприятия "Миландр". Но наше правительство всё-таки обучаемо, и надеюсь, будет давать деньги русским.
Сап юнитач. Пилю игоря для конкурса, хочу визуализировать связь между 2я игроками, как это сделать?
Ну просто красная линия которая тянется от одного игрока к другому, делал подобное на гизмо, но в финальном рендере это не отображается.
Шок, дети берутся не из капусты.
В старых тредах добрый анон приносил ссылки по запросу на конкретный ассет, но я что-то растерял все линки.
Это где? У меня в телеге только рисунки трапов.
Пчел то что кинул >>813253 единственный условно бесплатный ресурс. Да это помойка где надо заходить с левого браузера без адблока и качать на скорости 100кб, но зато бесплатно слитые ассеты со стора. Просто после того как наскачиваешь ассетов, почисти комп на всякий и просканируй на вирусы. Лично там брал кучу годноты от шейдеров которые по 30-50$ в сторе и нужных тулзов.
Мб лучше и в телеге, но у меня её нету.
Делись каналом. У меня в телеге только один канал с ассетами, ничего не постит уже два года, clayxels там нет даже старой версии. И даже линком на этот древний канал никак не поделиться.
Ок, буду пробовать, спасибо. Пока даже через чистый edge не даёт скачать, просит adblock отключить. В хроме тоже нахер посылали, но уже по другой причине.
Качаю с лисы без вэпэна. Если не скачивает нужный ассет по причине лимита(Такое бывает на новых), то на страничке ассета выбирай чуть ниже ссылку на более старую версию и качай её, разница обычно минимальна.
На ютубе. 3blue1brown хороший канал.
Студенты обычно вот тут чекают все связанное с математикой: http://mathprofi.ru/vektory_dlya_chainikov.html
Спасибо
На персии не так много ассетов или они паками, что неудобно, пенсия охуенна программы качать
Аналитическая геометрия — раздел геометрии, в котором геометрические фигуры и их свойства исследуются средствами алгебры. В основе этого метода лежит так называемый метод координат, впервые применённый Декартом в 1637 году.
А мне хватало методичек универских, и учебников. Закончил. Правда с трояками.
А я ни разу даже не заходил в библиотеку, и так и не получил там карточку. Но универ закончил.
Методички с лабами нам в виде pdf скидывали
Теорию в интернете искал
По некоторым предметам онлайн курсы были, поэтому там пох
Иногда домашка в учебниках была, ну наши челы кидали фотки с заданиями
Юнитач, можно ли в команде Instantiate задать scale объекта без дополнительных строк или полностью наследовать Transfom от создающего объекта?
Не понял вопроса, задавай скейл объекта до того как юзать метод, ты че за хуйню придумываешь?
Здесь раньше можно было найти платные ассеты
https://forum.cgpersia.com/
Но там закрыли регистрацию, так что тебе надо инвайт искать. Могу разок для тебя найти конкретные ассеты.
смотри
предположим у нас 2д игра. есть Player, есть DeadPlayer который создается после смерти Player из префаба.
if(Player.Dead)
{
Instantiate(DeadPlayer)
}
Нужно что бы труп игрока был повернут в ту сторону в которую в этот момент был повернут игрок.
DeadPlayer.transform.localScale=transform.localScale по какой то причине корректно не работает нихуя и труп по рандому создается то с localScale 1 то-1
А зачем два префаба, нарисуй анимацию смерти и "подвесь" в конце, будет труп лежать. Ориентируй её также, как остальные анимации ориентируешь в и всё.
>Могу разок для тебя найти конкретные ассеты.
Спасибо, Анон, скачал уже с файлопомойки clayxels и polaris, пока хватит для экспериментов в нерабочее время
Говорю это по ощущениям от игр где использовался ретрейсинг. Его типичные косяки - сильная засветка, а рядом неестественная чернота, которая ирл не встречается. Сразу чувствуется что это сделано банальной геометрией.
> есть Player, есть DeadPlayer который создается после смерти Player из префаба.
Нахуя а главное зачем? Нахуя тебе убирать игрока? Просто отрубаешь ему управление и хуяришь рагдол или анимацию смерти.
>DeadPlayer.transform.localScale=transform.localScale
А тупо трансформ если копировать че будет?
Компьютер зависнет
Как сделать по-умному, по-MVCшному и отвязать интерфейс от логики? См пики
Т.е. меня напрягает, что в манагере сбора монеток есть ссылка на гуишный Label Text
Зачем тебе филд эни коин? Если можно все делать через other?
Зря так намудрил и усложнил то что можно сделать проще.
1. Скрипт на машинке или её части который обрабатывает все Эвенты триггерОн. Получая что за объект передаёт в главный скрипт логики с ссылкой на объект.
2. Скрип логики уже решает что делать и какие функции вызывать - по типу онбовить юи, начислить очки, удалить монетку.
3. На самой монетки висит лишь скрипт вращения, в идеале просто сделать анимац контроллер и обойтись без скрипта оставив просто тег. В особо сложных случаях если в объекте хранятся какие либо данные также повесить просто скрипт хранящий инфу.
Главное в разработке - Make it simple.
Сейчас он дрочит на код, чтобы потом дрочить на игры.
Ты сейчас дрочишь на игры, чтобы потом все время дрочиться с кодом.
Он умнее тебя
https://www.youtube.com/watch?v=rI_y2GAlQFM
1280x720, 0:04
ещё один кододебил, нет, нисколько не хуёво, ни на миллиметр
Я просто сразу пишу без багов.
можешь в префабе ирока сделать чайдл объект скин мертвого, скриптом будешь внутренности включать/отключать в зависимости от твоего стейта Player.isDead. Наглядно и просто и без Instantiate
другой анон
Если правильно понял - добавь в самом начале ключ в 1.
Норм. Можешь разделить там на геймплей ивенты, ui ивенты, и может ещё какие.
Это идеальная архитектура для маленьких проектов, даже она уже очень сильно выделяется на фоне того, что обычно лепят начинающие.
Нормас, но
1. На кой хуй тебе HiseInInspector?
2. Зачем ты используешь юнити ивенты, вместо обычных C# ивентов? В данном случае в юнити ивентах нет никакого толку.
Пытаюсь понять, не осиливаю, тут немного другое.
https://www.youtube.com/watch?v=-lQ8rvrGXg8
Помогите мне, что же ещё? И это не манипуляции, шиз, я не к тебе домой пришёл.
Сука ты ебанутый, я под манипуляциями имел ввиду вот эту вот шизу с ассетами что ты творишь, хуесос тупой. Мне непонятно с чем тебе помогать потому что я не вижу смысла в твоих действиях. Выглядит так будто ты какой-то хуйней занимаешься вместо того чтобы игру делать.
Ок, разбирайся сам тогда.
> resources.assets
ты билдишь бандл и получаешь это на выходе? тогда можно просто поменять название и закинуть в уже сбилженную игру в папку стриминг ассетс, пример загрузки на скрине
Понятно, зачем ему это нужно - чтобы игроки легко могли моддить. Это можно несколькими способами сделать, нет времени расписывать.
an_unity_event.RemoveAllListeners() удаляет не вообще все non-persistent подписки с события, а только те подписки которые были сделаны в этом конкретном классе.
То есть если в другом классе подписался на это событие, то RemoveAllListeners() не сработает.
Это нормально?
Вы отписываетесь в каждом классе?
Заколебаешься потом все косяки фиксить, и встанет очевидный вопрос - зачем их фиксить если можно расставить источники света вручную без неконтролируемых последствий, если их и так приходится расставлять.
Я ньюфаг в программировании, при каких условиях этот скрипт запускается? Можно ли чтоб при запуске игры - поставить void Start() ? Я не знаю что делает строка с гетбандл. И в какую папку кидать бандлы? Получается создать StreamingAssets? а в ней dlc и туда?
Ещё такой момент - я удалю с проекта, например, звуковой файлик, он будет в бандле, мне нужно чтоб после работы это скрипта файлик воткнулся точно как он в проекте лежал со всеми настройками, во все канвасы, и чтоб игра заработала уже с этим звуком, а не без него в билде.
Ладно, ладно, я нашёл нейросетку, которая озвучивает голосами известных актрис, хочу сделать озвучку. Но тут проблема - пидорнут правообладатели. Поэтому я хочу выпустить игру и секретный патч, типо фанатский некоммерческий, расшарю с левого акка.
>The name 'Data' does not exist in the current context
>The name 'File' does not exist in the current context
>The name 'Data' does not exist in the current context
>The name 'Data' does not exist in the current context
>The name 'Data' does not exist in the current context
>The name 'Data' does not exist in the current context
>The name 'Data' does not exist in the current context
>The name 'Data' does not exist in the current context
>The name 'Data' does not exist in the current context
>The name 'Data' does not exist in the current context
>The name 'Data' does not exist in the current context
>The name 'Data' does not exist in the current context
>The name 'Data' does not exist in the current context
>The name 'Data' does not exist in the current context
>The name 'Data' does not exist in the current context
>The name 'Data' does not exist in the current context
>The name 'Data' does not exist in the current context
>The name 'Data' does not exist in the current context
>The name 'Data' does not exist in the current context
Необязательно: Красивый, понятный код по ООП стандартам, SOLID, паттерны и все такое.
У меня все.
Не пон
Пишет ошибку ArgumentException: The Object you want to instantiate is null.
ЧЯДНТ? Что конкретно должно быть на месте MyObject?
Или нужно создать в проекте какой-то объект в проекте с этим именем? Не грузит объект бля.
https://docs.unity3d.com/Manual/AssetBundles-Native.html
Бля ты чо рофлишь? Ты бы хоть гайды сначала посмотрел по юнити, чтобы вышло, скажем, часов 10 просмотра(вообще любых) и часов 10 практики(просто повторяй то что в видео), это уже будет хоть что-то.
Да и нахуй ты вообще игру начал делать с ассет бандлов(!!!), ты ж получается сейчас даже не знаешь из чего проект состоит, и в каком конкретно виде ты хочешь хранить всю эту озвучку или чо там тебе надо.
Очевидно же что я не хочу быть программистом, мудило.
а как хотел? всё по чесноку, думал сделаешь по быстрому игру и будешь мутить лавешку? да хуй ты отсоси пидор дырявый
Я её в любом случае буду рубить, не сегодня, так завтра выйдет нужный костыль в ассет сторе, а я его сворую, а анальники останутся не при делах. До того момент будет игра без озвучки, не велика беда.
Да, здесь есть один или несколько особо вонючих ретардов которые всегда тут сидят и так делают, самоутверждаясь. Нам они тоже не нравятся
Какого нахуй кода, я тебе писал программировать учиться или че?
Я тебе писал посмотреть гайды по юнити, ю-н-и-т-и. Чтобы понять, что вот на сцену можно разные объекты ставить, на них можно вешать компоненты, а потом можно их сохранить как префаб, и потом этот префаб закинуть в бандл и загрузить его оттуда. Толку нет никакого все это писать, это надо видеть.
Код для загрузки у тебя уже написан, но какой с него толк, если грузить нечего
1. Я научился грузить префабы, вшитые в бандлы, но ты не прав - пришлось говнокодить, несколько часов искать и разбираться по гайдам индусов, чтоб их запустить.
2. Мне нужно грузить не префабы, а конкретно файлы в проект со всеми .meta данными как было, до того как они были удалены из проекта, чтоб потом сами подставились в канвасы которые с missing files.
3. Вообще я уже заебался с этим хрюнити, сделали бы как на нормальных движках, что можно сбилдить незаархивированные файлы, я бы просто тогда папку со звуками из билда удалил. StreamingAssets - говно, не даёт в проекте работать с ассетами из неё.
#1
private List<Mob> _mobs = new();
#2
if (enemy is not Player) { ... }
#3
if (target is not null) { ... }
#4
if (count is (>= 2 or <= 7) or 99) { ... }
Из версий пониже тоже всякие полезные штуки: короткая запись switch, короткая запись свойств и методов в одну строку =>, оператор ??, оператор ??=
Вроде всё что ты описал еще в 2020 версии работало.
JS возвращать собираются?
> В чём смысл?
Особого смысла нет. Просто это выглядит логичнее, если ты работаешь с ссылочным типом. И в целом получается единый способ проверки. А операторы сравнения лучше использовать для типов значений.
if (target is SkeletonArcher)
if (target is not Dog)
if (target is null)
if (target is not null)
Мне нравится, в общем. Но есть один подводный камень. Класс Юнити "Object" переопределяет операторы "==" и "!=" и изменяет проверку с null. Если ты используешь "is null/is not null", то их переопределение не сработает, то есть будет реально сравнение ссылки с null. Для меня это плюс.
> Мне нужно грузить не префабы, а конкретно файлы в проект со всеми .meta данными как было, до того как они были удалены из проекта, чтоб потом сами подставились в канвасы которые с missing files.
Мета файлы для этого вообще не нужны.
Можешь сделать префаб Zalupa в двух разных ассет бандлах и грузить его по имени
Хз с какой это версии, но я юзаю кортежи и свитч экспрешены
Что то не то ты говоришь. Операторы == != переопределены и правильно работают с gameobject, не работает оператор ? о чем райдер например сражу же предупреждает.
> не работает оператор ?
Все новые операторы, которые сравнивают с null, не работают с юнити объектами. "is null" в том числе. Точнее работают так, как и должны работать. Это юнитеки хуйню натворили с операторами сравнения.
Я же писал, мне не префаб нужен, а файлик...
Префаб говно, префаб не круто, не могу воткнуть префаб в канвасы как было.
Видимо это тупик юнити - нельзя сделать плагины с просто файлами. Неужели не понятно объясняю?
Я создаю игровой объект kal со звуком, звук удаляю, а потом бандлом или как-нибудь ещё я надеялся его вернуть в проект, чтоб он сам воткнулся в игровой объект kal.
Разобрался. Помогло отключение аниматора на самом префабе, что там стоял по-умолчанию.
Поищи в яндексе/гугле как работать с внешними ресурсами в юнити. Загрузка любых файлов хоть с диска, хоть с интернета.
Странный ты какой-то. Вот первая ссылка в поисковике
"Работа с внешними ресурсами в Unity3D"
https://habr.com/ru/post/433366/
довольное
Ниуя я не разобрался, на одну проблему навеселось еще 25 других. Сукааааааа
Бегло глядя - бандлы, неработающий говнокод, надуманные проблемы.
Молодец, что потратил 10 секунд на гугл, а я три дня в этом дерьме. Спорим ты даже не читал что там излагают даже первые две строки? Просто пупкнул ссылкой и убежал. Я бы мог потратить ещё два часа чтоб убедиться что ни одно анальное решение там мне не подходит, но уже итак заебался, спасибо.
Да просто ты долбаеб, у меня в игре спокойно загружаются текстовые файлы, текстуры и звуки.
Да все уже поняли, что ты уебищный неосилятор. Для таких тупых спецом есть видео на ютубе, как загружать. Да ты и там нехуя не найдешь, а если случится чудо, что найдешь, тупо не поймешь.
Тупой утырок ты, жаль твоей мамаше не хватило на аборт, выкинула на помойку. С бандлов и прочих модов анальников экспортируются только префабы и игровые объекты, скрипты, а звуки отдельно не экспортируются, везде решение - говнюче создавать клон файла, оно не подставляется само в канвасы с missing files. Ну как тебе ещё проще объяснить? Погуглил бы хоть.
> оно не подставляется само в канвасы с missing files
а ты тварь ебаная пробовала ЧЕРЕЗ СКРИПТ? не отвечай, я знаю, что нихуя нет
Ты что тупой? Зачем мне утруждать себя, делая это для десятков файлов звуков и десятков канвасов? Пиши говнокод, если тебе нужно, вручную прописывая все имена, мне оно не нужно, ниггерская работа.
всё понятно, дебил ебучий, хуесос дырявый, можно так-то через [ДАННЫЕ УДАЛЕНЫ] по быстрому всё сделать, но я не скажу, гугли хуйня ебаная
Конечно, в твоих влажных фонтазиях всё можно. Ты - БОГ. И тебе нужно как-то проснуться.
Всё можно, чеееел.
Сделай скрипт, который будет загружать любой нужный тебе объект из бандла и вешать его на канвас или куда тебе нужно. Да, в скриптах ты можешь что угодно сделать.
Только не знаю, зачем ты звук на канвас хочешь вешать, почему не отдельно?
> Молодец, что потратил 10 секунд на гугл, а я три дня в этом дерьме.
Ну я ж говорю бля, 20 часов обучения, ровно 20 часов и ты поймешь, что в юнити можно делать, и дальше сможешь игру пилить даже, потому что получишь минимальные навыки. А так ты уже 72 часа с мертвой точки не сдвинулся.
А если сделать условный префаб AudioManager, повесить на него все звуки, а потом сделать альтернативную версию в бандле, и на нее другие звуки повесить? :) И гичего писать не надо
В игре же всего 1 скрипт будет нужен, ровно в 1 строчку - Instantiate(эта хуета)
>>815550
Что угодно в них можно засунуть
> Ты что тупой? Зачем мне утруждать себя, делая это для десятков файлов звуков и десятков канвасов? Пиши говнокод, если тебе нужно, вручную прописывая все имена, мне оно не нужно, ниггерская работа.
Каким образом ты звуки проигрывать собрался? Или они у тебя так просто висеть будут для красоты?
>Только не знаю, зачем ты звук на канвас хочешь вешать, почему не отдельно?
На самом деле там не юнитьский дефолтный канвас, а меню костыля, куда втыкаются звуки. Про канвас для я для тупых написал как пример.
Это ты никуда не сдвинулся, три дня давая бесполезные советы на дваче. Я хотя узнал о юнити как оно работает и нашёл решение.
1. Слишком заморочно совать в канвасы 100 звуков
2. Нужно для каждого звука писать вручную скрипт чтоб выдёргивать их и потом их поставлять куда-то, слишком заморочно.
>Чем отличается от этого? >>815601
Это интерфейс движка плагина для создания новел, в него можно выделить и бросить все файлы и им присвоятся айдишники по именам автоматически, это в любом случае, а в префабы выделять дрочиться мышкой вначале меню, потом звук вставлять по 1 штуке.
Давай вместо того чтобы фантазировать как бы ты прекрасно решил эту проблему ты пприступишь к действиям, чтоб бросить всё в самом начале, потому что поймёшь какой это гемор, а ещё сочинять анальные скрипты, а я ещё раз повторяю для тупых в треде - я не хочу быть программистом, я контент мейкер, мне не интересны проблемы анальников. Твой способ хуёвый и нерабочий для меня, а иначе пиши сприпт, тести его на работоспособность сам и инструкцию в тред пошагово как пользоваться, всё должно быть просто и понятно, потом в ассет стор выложишь и заработаешь кучу лаве, потому что такого ещё не было. У тебя 5 минут на разработку, потому что ты считаешь это очень просто даже для непрограммиста как я, посмотрим какой ты крутой.
> Это интерфейс движка плагина для создания новел, в него можно выделить и бросить все файлы и им присвоятся айдишники по именам автоматически, это в любом случае, а в префабы выделять дрочиться мышкой вначале меню, потом звук вставлять по 1 штуке.
> Твой способ хуёвый и нерабочий для меня
Потому что ты не сказал, что у тебя там анальный движок для вн внутри движка. Поэтому твоя задача - не подтянуть нужные звуки из разных бандлов в свою игру, а подтянуть разные звуки из разных бандлов в этот вн движок
Конечно, в этом случае какую-то свою систему звуков городить не надо - нужен скрипт, который автоматически закинет звуки в эту хуйню для внок, или подменит звуки со схожими названиями, тут вариантов миллион, и все они хороши.
> а иначе пиши сприпт, тести его на работоспособность сам и инструкцию в тред пошагово как пользоваться, всё должно быть просто и понятно
Да ты напиши хотя бы название этого твоего движка! Я ебу какой у него апи??
Это уже давно понятно, что ты контент мейкер, но если ты занимаешься интеграцией контента в движок, ты должен хотя бы знать, какие объекты в движке есть и как они взаимодействуют - к программированию это даже не относятся
Помню, что 90% задачек в школьной геометрии решались теоремой Пифагора. Это тут работает?
Ну наниновел, а что это изменит? Решение я уже придумал, завтра буду заниматься непосредственно творчеством, никакой анальщины больше.
Интересно, что когда просил помощи, то никого не было, а когда уже не надо, пришли советчики - Ууу блять давай делать по-другому, потрать ещё недели две. нет, спасибо.
>к программированию это даже не относятся
Относится, нужно говнокодить.
Скорее программисты-аутисты по своей природе.
В принципе да, большинство задач решается через синусы и косинусы, и работу с векторами.
1. Какая версия C# используется в Unity 2022?
2. Какими инструментами пользуетесь для построения уровня? Попробовал ProBuilder+ProGrids, инструменты удобные, но скорее больше подходят для построения шутер-арен, полос препятствий и всяких казуалок. А вот детализированные здания и комнаты в них лучше делать во всяких Блендерах?
3. Есть у кого хорошие гайды по настройке камеры?
Распакуй ресурсы Диско, там сразу всё очевидно становится. Если кратко, там вся статика это текстура, которая отрисована поверх лоу-поли 3д модели, по ней уже патчфайдинг и тени расчитываются.
Как я понимаю, если всё тоже самое воспроизвести из полноценных 3д обжектов будет пиздец производительности?
Нет, но будет пиздец бюджету - разработка полноценных моделей гораздо дороже.
В полноценном 3д охуеешь стиль диско элизиума воссоздовать, ну и дешевле, как правильно анон заметил
Есть же всякие картун-шейдеры, можно жеж сделать что-то такое в стилистике Disco Elysium
Можно что угодно воссоздать, устроит тебя такой ответ? Можешь приступать к воссозданию.
>Это интерфейс движка плагина для создания новел
И как он по сравнению с ренпи? Функциональный?
Я сперва хотел юнити взять, но потом подумал что заебусь сам писать на нём функционал вроде ролбека, квик сейвов и колбеков для контекста, который в ренпи из коробки.
Пробовал ставить галочку Custom Range и крутить там Order in Layer, не особо понял что это меняет, и все равно при тестировании ничего нет.
Я понимаю что вроде как можно заранее сделать сразу кучу спрайтов и на одном скелете включать и выключать их в анимации.
Но меня интересует такая система чтобы на существующий скелет можно было бы добавлять новые спрайты. Допустим дорисовать новую одежду на персонажа и прилепить к скелету ее.
Input.GetAxisRaw выводит -0,1769547 хотя ни одна кнопка не нажата.
Бывает само фиксится после двух-трёх перезапусков, один раз работает нормально, и опять говно.
Сразу отметаем умников "сам наговнокодил", у меня код это запись инпута в переменную и дебаг лог, всё, две строчки.
Опа эта шляпа не у оного меня.
1. Создать для каждого скилла отдельный класс, наследуемый от Skill и создать в них свои статические поля. Вроде удобно, но проблема в том, что создание нового скилла потребует создания нового класса, а я все скиллы и их зависимости от статов считываю с .csv файла.
2. Ебнуть статический список кортежей, сожержащих айди и множители влияющих статов, в классе персонажа. Собственно, пока так и сделал, но меня не покидает мысль, что это какой-то костыль.
Может у анонов тут есть какие-то предложения, кроме как пойти нахуй, естественно?
Тоже самое было. Я думал джойстик сломан и залипает.
ебать я промазал, в какой-то древний тред написал. Продублирую сюда вопросы
Делаю по гайдам в ютубе в основном проект, поэтому возможно тупые вопросы, но все таки:
1) Как удобнее реализовать в топ даун 2д игре туман, такой чтобы чем дальше от игрока, тем сильнее сгущался. На ум приходит наложить на камеру картинку тумана прозрачную в середине, и не прозрачную по краям. Но как-то вроде убого звучит.
2) Как удобнее реализовать систему видимости как на гифке, в игре NOX, учитывая что это 2д (вроде как). Как-то через рейкаст наверное?
Хочу сделать все более или менее по уму, чтобы потом в случае чего не нужно было пердолиться.
Честно говоря то что на второй гифке лично меня бы раздражало. Мне норм было как в диабле сделали. Имхо в этом плане лучше креативность попридержать и использовать её для новых интересных механик.
Угу, нет никакого гемплейного смысла делать игроку обзор с пятачок, если это не хоррор с выпрыгивающими скримерами конечно.
Но в 3Д. Я сумму из головы взял и сказал что 25к (мой прожиточный минимум на месяц).
Так собственно вопрос к знатокам, я нормальную цену поставил или нужно было суммы больше брать? Есть способы свои человеко часы в денежном эквиваленте оценивать?
https://forum.unity.com/threads/unity-announces-intent-to-join-forces-with-ironsource.1308219/
очередная жертва "корпоративных ценностей"
юнити внезапно оказалась не благотворительной организацией, пытающейся сделать мир лучше, а очередной корпорацией, для которой важно только бабло, а работники лишь винтики разного калибра, кто бы мог подумать, хех
Торгаши невер ченж, если хочешь превратить дело в деградировавшее застойное болото - отдай ключевое руководство торгошам.
Пока люди не усвоят этот нетленный принцип что торгоши всегда должны быть обслугой, а не руководителями - всегда и везде всё будет заканчиваться одинаково.
Нипонял. Они анонсировали сотрудничество с какой-то рекламной компанией, а почему ВСЁ то?
молодой человек, это не для вас неясен курс компании, они хотят усидеть на всех членах в виде запиливания новых технологий, прокачке редактора или просто смирились с тем что им никогда не догнать и не перегнать сраный уеч с их бесконечным бюджетом?
> а это в теории может жрать много памяти.
Скорее всего мало
Если у тебя есть какие-то данные, которые ты вручную пишешь и можешь их осознать, то их величина скорее всего ни о чём.
Вот если бы у тебя их было сотни тысяч - то можно было бы подумать чёто.
Но зависит конечно ещё от игры, персонажей у тебя сколько, сколько копий примерно всего этого выходит?
> Может у анонов тут есть какие-то предложения
Зачем персонажам копировать скиллы, если они могут хранить ссылки?
Опиши нормально, что за Статы, что за Скиллы, что за персонажи, как всё считается. Конкретные примеры. По твоему абстрактному примеры ничего не понятно. В целом есть паттерны для похожих случаев, но нужна конкретика.
Это же только на мобилках будет?
Бамп, так и не понял чому не работает, в режиме работы над игрой все нормально показывает, запускаешь тест и хуй там
учитывая, что я хочу разрешить игроку импортировать портреты недроченых вариантов походу нет. Решение нашел, всем спасибо. отбой.
Нет, деревянных
Это всё их новый управленец. Я уверен на триллиард процентов, что они сосредоточились чисто на мобилках. Всё остальное - побочный продукт. Вот почему они даже DOTS ёбаный не могут из превью уже 5 лет вывести.
Он думает так: нахуя мне ориентироваться на индюка от которого я не получу ни копейки, когда я могу иметь процент с мобильных игр, которые ежемесячно на рекламе зарабатывают миллионы баксов?
тупа в 3 раза упали
Тут зависит от того, что ты делаешь.
Что это за скилл? На что он влияет?
Скинь в идеале код ещё.
Сразу скажу, скорее всего тут никакие ни интерфейсы, ни абстрактные классы не нужны
В серию меч и магия играл? Там у каждого скила есть уровни мастерства. Возьмем например мечи - первый уровень мастерства навык добавляется к атаке, второй уровень навык добавляется еше и к урону, третий уровень можно взять меч в левую руку, четвертый - плюсы от навыка утраиваются. И так с каждым навыком, там совершенно разные свойства. Кода до завтра точно не будет, комп в другом доме.
Сделай в skills абстрактную функцию Apply(...), в дочерних классах описываешь ее, пишешь там какие уровни мастерства и навыки доабавляются и тд, в момент добавления скилла в массив вызывай функцию.
У скила есть описание в виде статического ридонли филда, который скрывает филд абстрактного класса. После неявного каста к абстрактному классу вызывается только абстрактное описание. Мне через конструктор перезаписывать филд абстрактного класса чтоли?
Тут еще такой момент, что в производных классах я использую конструктор абстрактного. Видимо надо в этой теме подразобраться.
Вот карочи тут у меня такая же проблема. Хотел сделать некий базовый абстрактный класс, напихать в него побольше, а потом точечно его менять. В итоге если я создаю объект класса орк в переменную класса character, то нихуя не работает. Собственно как я понимаю, мне либо вообще не нужен конструктор в базовом классе, либо он должен устанавливать только те параметры, которые не будут меняться в остальных, а потом на этом конструкторе уже надстраивать конструкторы в производных классах. Эм ай райт?
В общем вышел из ситуации так, везде где был просто get, я добавил protected set и перезаписывают нужные свойства через конструктор производного класса.
>>No MonoBehavior Scripts in file
А какого, собственно говоря, хуя?
В курсе. И? Если я правильно , то мне предлагается такая конструкция class t character where t enum. Соответственно обьект класса создается new character<races.ork>. Что тут наследовать, если класс один?
свои пять копеек:
пик1 убрать в отдельный класс, сделать там статический конструктор с дефолтными значениями и дергать его при создании + обычный конструктор с кастомными значениями которые заполняешь если нужно.
PS Но думаю у тебя эти статы будут менятся правда же? Значит нужно в этом классе реализовать перерасчеты и зависимости, похоже на сервис уже?
для ознакомление есть вот такое, с подробным описанием https://forum.unity.com/threads/tutorial-character-stats-aka-attributes-system.504095/
пик2 не совсем понимаю зачем поле enum. Что за иерархия наследования планируется?
Оля <= Orc <= Character ??
А, ты так делаешь. Предлагаю отказаться от дженериков и сделать обычным ООП, где ты будешь наследовать по классу для каждой расы от изначального класса.
>Всем привет,
>Мы хотели бы поделиться с вами новостями о проекте Gigaya.
>В рамках недавних структурных изменений мы решили прекратить производство Gigaya. Gigaya останется внутренним ресурсом Unity, но в настоящее время нет активных планов по его публикации.
То, что они уходят, говорит мне, что Unity провела последние 4 года, работая над функциями, которые делают хорошо выглядящие прототипы и демо-версии, а затем отказались от этих функций, прежде чем они была почти готовы. Это говорит мне о том, что они признают, что вы не можете сделать приличную 3D-игру на Unity
Ну у меня пока так и есть.
>>818843
По енаму на самом деле сам не знаю, его функцию вполне может выполнить простой стринг. Уберу , отвечающие засоздание экземпляра филды в конструктор. За ссылку спасибо, гляну. Насчет изменения статов и перерасчетов - выше был пик, у меня в каждом стате есть эвент, на который подписываются все зависимые от статы члены, и при его изменении они аатоматически пересчитываются.
Например, у меня есть персонаж с регдолл-физикой. Приезжает машина, сталкивается с коллаидером персонажа, персонаж переходит в режим регдолла (теперь он состоит из множества маленьких коллаидеров под каждую часть тела). И в некоторых случаях машина может очень сильно толкнуть эти маленькие коллаидеры, так что они влетают в тоненькую стену здания рядом и пролетают сквозь нее. Все, игровой процесс поломан.
Что делать для минимизации таких проблем? Достаточно ли просто всюду где возможно огромные метровые невидимые стены выстраивать?
Юнити все? Куда перекатываться?
Ну у них бывают такие косячные фичи, 3 года назад решили проект вокруг адрессабле построить, ну и ебашили потом им на форум - хуле не работает блядь. Разрабы вышли через год и сказали что переделали и теперь должно все работать. Спасибо за бета тест пацаны, сыроваты были эти 100 версий прошлого пакета. Так что читать их форум перед импортом релизной версии пакета мастхев.
ЗЫ реально думал что эти долбоебы не смогут накосячить в сервисе блядь которые пакует архивы, пуляет/получает их через сервер. Файлообменник бля.
> Это заказ?
Да. Просто микрософты хотят купить их подешевле. Тоже самое они сделали с близзард.
> Просто микрософты хотят купить их подешевле.
POG
Может наконец-то дадут им пизды, чтобы больше не высирали нерабочие экспериментальнын фичи, а доделывали до конца.
Юнити сливается со скам конторой и походу нацелен на создание собственной мобилко платформы с раковой монетизацией. Пахнет дерьмом короче это всё.
Откуда столько хейта на майков? вы походу перепутали с гугл, это вообще-то гугл покупает, а затем закрывает
А у майков все норм. ксамарин лежит в гитхабе, последний коммит прилетел 20 минут назад, что вам еще блядь надо?
дело в том, что если Юнити не будет любимой технологией, то оно будет точно также гнить где-то там без особого внимания, как и всё, что есть у майков и что не касается C#/.net.
На это и остаётся надеяться, но в любом случае пройдут ещё годы, прежде, чем всё это придёт в нормальное русло, ЕСЛИ майки купят их.
Вроде уже включен, нужно будет проверить. Как я понимаю, он повышает точность просчета коллизий, но ведь не дает 100% гарантию.
А ещё майки наверняка его целиком забанят в РФ, как поступили со всеми своими продуктами - от винды до игр беседки, которые в Стиме теперь полностью закрыты.
> как поступили со всеми своими продуктами
Ага, так забанили, что всем похуй и миллион обходных путей, как и было всегда.
Ну подписку на ЕСО нормально сейчас не купишь. Блять, единственная ММО, которая мне реально нравилась - и ту прикрыли. Зато вовнище оплачивается таймкартами вообще без проблем.
Юнити только что ArtEngine...
https://twitter.com/polyhaven/status/1548926647377616896
https://dtf.ru/nenanimalsia/1274507-tam-unity-reshila-zakryt-artengine
Сап юнитач. Поясните ньюфагу, как можно апнуть 3д графон в юнити? Сделал модель, сделал текстуру. Засунул в движок выглядит, как 3д гамно.
За реализм даже не топлю, хочу в стилизацию. Только пожалуйства не давайте ссылку на документацию, она у меня есть, но один хрен не понятно, как сделать презентабельно.
Т.е. чтобы хомячки в стиме скипали картинки моей игры не через 5, а через хотя бы 10 секунд.
Это в стим зайди, на страницу Скайрима, ЕСО, Майкрософт Флай симулятора или любой другой игры, которая принадлежит майкам.
Да.
Лучше просто зайди в unity asset store, напрши toon shader или outline shader или чето типа того.
А этой хуйней кто-нибудь пользуется? Мне казалось все юзают сторонний софт для этого
https://dtf.ru/gameindustry/1260055-rossiyskie-vlasti-obsuzhdayut-vopros-o-podderzhke-razrabotki-otechestvennogo-analoga-dvizhkov-unreal-i-unity
Юнити купит РФ и переименует в РосЕдинство.
А разве скейл - это сам размер, а не увеличение/уменьшение относительно дефолтной модельки?
> Я предполагал, что если у прямоугольного объекта scale.x = 10, а находится он в position.x = 0, значит объект лежит между - 5 и 5 по х.
Если его ширина при скейле 1 равна 1, то да
> Почему у меня scale не соответствует position?
Прочекай, где у твоего объекта находится центр (pivot). Включи в редакторе отображение локального пивота, а не глобального.
Можно просто поставить камеру на месте портала и отобразить её изоображение на поверхности второго
в ютуб вводишь юнити портал и буквально мильон результатов высирается
А как кидать через портал объекты с сохранением импульса? Как сделать, чтобы часть объекта могла бы торчать из одного портала, а оставшаяся из второго?
Скорее всего через дупликат объекта и игрой с камерой для реализма.
Стало работать после того, как я копипастнул названия рас из юнити в код вижуал студио. охуеть конечно модно молодежно.
[SerializeField] float minimumDetectionRadius = -200f;
[SerializeField] float maximumDetectionRadius = 200f;
Сам радиус обзора состоит из:
Vector3 targetDirection = transform.position - player.transform.position;
float viewableAngle = Vector3.Angle(targetDirection, transform.forward);
if (viewableAngle > minimumDetectionRadius && viewableAngle < maximumDetectionRadius) {
драца;}
У меня периодически возникают проблемы с детектом игрока в радиусе обзора противника. Есть еще радиус, в котором в принципе скрипт определяет наличие игрока, но если он за спиной, то не реагирует на него.
В общем бывает так, что первичный радиус меня определил, что вижу в дебаге, а вот радиус обзора не замечает, хотя по идее значения радиуса обзора выставлены правильно. Противников у меня несколько, раз один с такими значениями замечает, то и второй должен, но это так не работает почему-то. Для каждого приходится подбирать индивидуальные значения. Возможно потому что я нахуевертил со скейлом при экспорте модели.
Мне нужно чтобы я видел радиус обзора через дебаг, но я не понял что указывать в дебаге и какая функция нужна. Debug.DrewLine мне должен просто две линии показать, которые ограничивают радиус, но DetectionRadius это не вектор3. Из вектора3 есть targetDirection, но то просто линия к игроку, мне ее видеть не нужно. viewableAngle тоже нихуя не вектор3, а что мне нужно, чтобы я мог увидеть сраный круг обзора и две линии, которые ограничивают этот круг?
К слову, для отображения первичного радиуса обнаружения игрока я использовал гизмос:
private void OnDrawGizmos()
{
Gizmos.color = Color.red;
Gizmos.DrawSphere(transform.position, detectionRadius);
}
Я же могу то же самое сделать с viewableAngle, чтобы видеть второй радиус?
Gizmos.color = Color.blue;
Gizmos.DrawSphere(transform.position, viewableAngle);
Все еще висит вопрос, как отобразить в этой сфере линии ограничения обзора DetectionRadius?
[SerializeField] float minimumDetectionRadius = -200f;
[SerializeField] float maximumDetectionRadius = 200f;
Сам радиус обзора состоит из:
Vector3 targetDirection = transform.position - player.transform.position;
float viewableAngle = Vector3.Angle(targetDirection, transform.forward);
if (viewableAngle > minimumDetectionRadius && viewableAngle < maximumDetectionRadius) {
драца;}
У меня периодически возникают проблемы с детектом игрока в радиусе обзора противника. Есть еще радиус, в котором в принципе скрипт определяет наличие игрока, но если он за спиной, то не реагирует на него.
В общем бывает так, что первичный радиус меня определил, что вижу в дебаге, а вот радиус обзора не замечает, хотя по идее значения радиуса обзора выставлены правильно. Противников у меня несколько, раз один с такими значениями замечает, то и второй должен, но это так не работает почему-то. Для каждого приходится подбирать индивидуальные значения. Возможно потому что я нахуевертил со скейлом при экспорте модели.
Мне нужно чтобы я видел радиус обзора через дебаг, но я не понял что указывать в дебаге и какая функция нужна. Debug.DrewLine мне должен просто две линии показать, которые ограничивают радиус, но DetectionRadius это не вектор3. Из вектора3 есть targetDirection, но то просто линия к игроку, мне ее видеть не нужно. viewableAngle тоже нихуя не вектор3, а что мне нужно, чтобы я мог увидеть сраный круг обзора и две линии, которые ограничивают этот круг?
К слову, для отображения первичного радиуса обнаружения игрока я использовал гизмос:
private void OnDrawGizmos()
{
Gizmos.color = Color.red;
Gizmos.DrawSphere(transform.position, detectionRadius);
}
Я же могу то же самое сделать с viewableAngle, чтобы видеть второй радиус?
Gizmos.color = Color.blue;
Gizmos.DrawSphere(transform.position, viewableAngle);
Все еще висит вопрос, как отобразить в этой сфере линии ограничения обзора DetectionRadius?
Из-за чего составной объект оказывается где-то далеко внизу, хотя я программно указываю ему точные координаты.
Сделал вместо перемещения объекта создание нового и всё стало норм.
Просто в OnSceneGUI mouseUp работает, а если с хендла отпускаю мышку - то нет.
Сап юнитач.
Насколько легитимно использовать такие связи на сцене вместо православного перетаскивания в редакторе?
Норм
https://pastebin.com/gLERsJ7P
Есть ещё синглтоны. Когда объект существует вне сцены и никогда не удаляется.
Самый просто и костыльный способ с видимостью это через объекты тригеры, которые при входе персонажа в них посылают сигнал главному скрипту противника, и там уже вся логика.
Вариант через отрисовку намного лучше но требует знания матана.
https://github.com/Unity-Technologies/uGUI/blob/2019.1/UnityEngine.UI/EventSystem/EventSystem.cs
> Кто разрабатывает с помощью DOTS? Оно стоит того?
ECS очень крутая тема. Пилил сетевую игрушку на другом ECS движке, это реально прорыв по сравнению с обычным ООП подходом. Близзарды используют ECS в овервотче на 100%:
https://www.youtube.com/watch?v=zrIY0eIyqmI
Проблема в том, что юнитеки до сих пор держат DOTS в превью. Они уже перенесли на него все системы (физику, сеть, партиклы, звуки, инпут), но до сих пор не могут выйти из раннего превью. Поэтому связываться конкретно с ДОТС я бы не рекомендовал, пока они не зарелизят его. Скорее всего вместе с релизом ДОТС сильно изменится редактор, либо выйдет отдельный редактор без легаси кода.
Там многопоточность и совсем другая архитектура.
Это так? То есть по факту игрушка будет генерить 3д и дополнительно грузить процессор/карту?
И какую версию Юнити ставить новичку?
Планирую изучать по книжке "Изучаем C# через разработку игр на Unity. 5-е издание | Ферроне Харрисон"
или есть варианты лучше, учитывая что не знаю C#?
Начинать с книг скучное дело, быстро можешь дропнуть. Советую с маленьких игр, например крестики нолики и т.д. там же с помощью офф уроков юнити с ютюба узнаешь что такое сцена, объекты, компоненты, жизненный цикл приложения.
> То есть по факту игрушка будет генерить 3д и дополнительно грузить процессор/карту?
Да! Когда запускаешь 2Д игру на юнити, то он начинает генерить бесконечный 3Д террейн и отрисовывать его за камерой, чтобы все охуели, как он может.
Юнити отлично подходит для 2Д. И легко добавить фичи с 3Д пространством, если понадобится. Тот же Cuphead создан на юнити. Херстоун на юнити.
Типа:
void Update()
{
text_1.text = " ... ";
text_2.text = " ... ";
text_3.text = " ... ";
// ...
text_N.text = " ... ";
}
Вопрос: будет ли это нагружать систему, или нет? Т.к. весь текст по факту деактивирован большую часть времени и обновления по факту не происходит.
Или лучше писать доп. проверку перед выводом текста типа:
if (text_1.gameObject.activeSelf) { text_1.text = " ... "; }
Сомневаюсь что хоть в одном движке сегодня честное 2D. Везде же вывод объектов через геометрическую 3D прослойку вроде openGl.
Другое дело что юнити плохо оптимизирован для чисто 2D игр, и тут движки вроде ренпи или рпг мейкера его легко уделают по производительности и удобству.
>void Update()
Не суй в апдейт то, что можно реализовать как вызов функции. У тебя же текст меняется от определённых обстоятельств, правильно?
Вот как произошли изменения, тогда и вызывай функцию смены текста. Или делай перерасчёт текста при активации объекта.
Но не используй апдейт.
> 2D игр, и тут движки вроде ренпи или рпг мейкера его легко
Так уделывают, что следующий рпгмейкер будет основан на юнити.
Ренпи это вообще только новелы, а остальное там люто тормозит.
Чел ты знаешь почему на юнити нельзя сделать функции ренпи вроде роллбека? Потому что юнити тормозной из коробки, лол. И все новелки на юнити пук среньк без ролбека сидят, а многие и без загрузок в любом месте.
Код интерфейс в свободном доступе. Посмотри сам:
https://github.com/Unity-Technologies/uGUI/blob/2019.1/UnityEngine.UI/UI/Core/Text.cs
Как видишь, если ты задаёшь одну и ту же строку, тогда ничего не происходит. У SetVerticesDirty и SetLayoutDirty есть проверка на активность объекта.
Есть более новые книги, ты слишком старую версию взял
Попробуй
Разработка игры в Unity 2021 Денисов
Unity в действии 2019 Джозеф Хокинг (меньше советую, старая уже)
Изучаем C# через разработку игр на Unity 2022 Харрисон Ферроне (самый свежак)
Всё есть либо на рутрекере, либо на ннмклабе, либо на канале Physics.Math.Code в телеге
Откат состояния игры до предыдущего и так до лимита роллбека.
В ренпи по дефолту 100 шагов назад. Как ты понимаешь оно должно происходить мгновенно и абсолютно бесшовно, с перерисовкой всех экранов / спрайтов / анимаций и самое главное сохранением всего контекста. То есть игра должна уметь корректно и мгновенно читаться задом наперёд, а для этого она по сути должна обладать абсолютно мгновенным сейв лоадом в любой точке.
Роллбек можно без проблем запилить в юнити, нужно всего лишь архитектуру игры заранее спланировать должным образом. Тем более роллбек ВНки, где тупо на экран назад переключиться нужно.
А в чем проблема? Почему именно сейвлоады? Они линейны, в код игры на renpy все состояния уже забиты. Запоминать надо лишь те места, где выборы на что-то влияли, а их обычно мало
>>822793
Прямо же написал, юнити не может мгновенно изменить состояние игры и бесшовно перерисовать всё, это аналог квик лоада в произвольной точке и постоянное сохранение 100 точек загрузки, переключение должно происходить максимум за 30-50мс. Эту механику тупо не реализуют на юнити по причине его медленности. Хотя она есть на всех вн движках. Именно поэтому специализированные решения для игр всегда > общих решений.
>>822794
У меня такое чувство что в каждом разделе каждой борды есть шиз и параноик который его ловит. Иногда это один и тот же человек.
Что значит, не может изменить состояние мгновенно? Игры же на 30-60 фпс работают, это 30-15 мс на кадр.
есть skinnedmeshrendeder (персонаж) и есть еще несколько (шмотки)
хочу модульность. риг одинаковый.
как их по уму совместить?
есть ли вообще какая-то возможность подменить кости одного рендерера костями другого БЕЗ создания нового рендерера?
Пиздец, нахуй, программисты хуевы, в базовую логику нахуй не можете.
Где ты три языка увидел, наркоман?
Алё, я пиша на шарпе зная только базовый ситнтаксис, получается жуткий гавно код но для маленьких проектов типо игр для джемов самое то, для больших я всегда обсирался.
Знание шарпа нужно ровно то которое есть в туторах. Никаких сложных конструкций делать не надо.
> я хочу убийцу дарксоулса сделать.
2д платформер который ты сделаешь мало будет напоминать дарк соулс
сын бабадзаки, ты?
его давно уже выкинули на помойку
> Прямо же написал, юнити не может мгновенно изменить состояние игры и бесшовно перерисовать всё, это аналог квик лоада в произвольной точке и постоянное сохранение 100 точек загрузки, переключение должно происходить максимум за 30-50мс. Эту механику тупо не реализуют на юнити по причине его медленности. Хотя она есть на всех вн движках. Именно поэтому специализированные решения для игр всегда > общих решений.
Ты пишешь просто какие-это эзотерические термины без какой-то смысловой нагрузки.
> юнити не может мгновенно изменить состояние игры
???????????????
Какое состояние? Поменять значение переменной? Поменять текст? Поменять пару картинок? Да хоть несколько сотен картинок, на всё про всё 1мс нужно - с запасом хватит.
Да хоть десятки тысяч спрайтов в реалтайме симулируй с ецс, в чем проблема???
> и бесшовно перерисовать всё
Швов никаких вообще быть не может если включить всинк. Да и на самом деле и без всинка
>>823109
Вообще не обязательно, просто процесс будет более долгим, чем с хорошими знаниями(вернее, опытом)
А для очень маленьких игр вообще пох
Не помню как в Spore, а в Стелларисе плавно зазумиться нельзя - ты кликаешь на звезду и мгновенно открывается звёздная система. Делаешь на сцене два места - на одном вся галактика, на другом - звёздная система. При клике на звезду в месте звёздной системы накладываешь нужный задник, создаёшь звёзды и планеты и переносишь туда камеру.
Как минимум для того чтобы не было вечных прогрузок и фризов придётся освоить асинхронку минимум, потому что иначе пользователи хдд будут грустить.
Так зачем пользоваться хдд для игр и надеятся на быстроту? Это моветон
Если они залочены, то да.
>Факт - юнити ужасно тормозной движок
Я так понимаю ты делаешь такой вывод потому что на юнити как и на других движках порог входа очень низок и есть люди не понимающие как и что делать? В итоге как раз получаем треш хорроры с 10 фпс.
>на котором тормозить умудряются мобилки
Мобилки это вообще другая вселенная, там без опыта не тормозящию игру ты не сделаешь. Нужно много факторов держать в уме и бесконечно тестить.
>Простой факт - на юнити не реализуем роллбек.
>Так же многие игры на нём страдают от отсутствия полноценного квиклоада.
С чёго ты берёшь такие странные факты. Ты сам то пробывал сделать систему сохранения/загрузки по тутору? Единственный минус что это не идёт из коробки, а так всё реализуемо.
Квик лоад совершенно тоже самое. Советую зайти на некоторые сайты в раздел новеллы, и там увидишь что около 90% внок сделанных на юнити работают точно также как ренпи.
> Я уже понял что тут фантазёры не понимающие даже о чём речь.
Так это ты не понимаешь о чём речь и никогда не работал с юнити. Просто пишешь абстрактные придуманные тобой термины, и какие-то факты с неба.
> Факт - юнити ужасно тормозной движок
Хмм, нет. Кто сказал?
> на котором тормозить умудряются мобилки, платформеры
Нет, не тормозят.
> про загрузки длинной в жизнь я даже не упоминаю.
Хмм, нет. Какие загрузки длиною в жизнь? Ты впринципе можешь полностью контролировать загрузки - хоть заранее подгружать, хоть асинхронно подгружать/выгружать что тебе нужно.
> Простой факт - на юнити не реализуем роллбек.
Кидай сюда свою игру, я тебе сделаю.
Я уже выше писал, что поменять сотню спрайтов и текстов это 1мс в худшем случае, и этого с запасом хватит.
> Так же многие игры на нём страдают от отсутствия полноценного квиклоада. Смирись с этим.
Кидай сюда свою игру, я тебе сделаю.
> Повторяю последний раз, юнити не может мгновенно менять состояние игры, вот хоть усрись на дваче не может. Это блин тут понятно?
Алооооо я выше спрашивал, что это значит!?
>Нельзя на нём по клику загрузить поле боя с другой механикой, или другой режим игры, или поменять локацию или загрузится чтобы это было незаметно для пользователя.
Можно. Ещё вопросы?
> Можно использовать костыли, типо гружать в память и по частям пределах сцены менять, но не более.
Ну надо посмотреть, что за игры. Несколько картинок из внки незаметно можно загрузить без проблем.
Механики-скрипты - мгновенно, тут даже думать не о чем.
> Ренпи же тупо перерисовывает всё перезагружая контекст, он его даже в памяти не хранит, поэтому может позволить телепортироваться в любую точку игры мгновенно с сохранением всего состояния в ней и связать эти точки отматывать их вперёд назад в любом порядке.
Тоже самое можно сделать в юнити.
Я просто не понимаю, откуда ты вообще эти факты понабрал? Что является твоим источником - твой опыт, статьи какие-то, услышанное где-то мнение?
И правда, ренпай даже на сложность пдф читалки не дотягивает, по сути это тхт читалка с умением показывать пнг слайдшоу, ясен хуй там все грузится мгновенно
>Что является твоим источником
Его источником является просмотренный урок по внкам на ренпае и просмотренный урок по внкам на юнити, оба на ютупе минут по 15-20 оценочно
А вот так делать чтобы все стейты были соединены с ани стейтом это нормально? Сам вожусь с переходами и хочу так-же сделать. У меня 3д
Это адская лапша, не делай так. Кодом в 10 раз короче выйдет. Юзай стандартный аниматор только если пару состяний у объекта.
Документацию прочти. Аналогия перехода из самого аниматора. https://docs.unity3d.com/ScriptReference/Animator.CrossFade.html
Заходишь на Unity Asset Store
Вбиваешь Visual Novel, Visual Novel Engine
и обтекаешь
еще ищется по запросу VN, VN Engine немного
Ни в одной вн на юнити нету ролбека, более того в уйме игр нету даже возможности сейва на любом месте.
Вообще это показательный спор, долбоёбы не знающие азов программной архитектуры всерьёз уверены что можно запихнуть 100500 функций в один движок, т.е. сделать худшее архитектурное решение из возможных. И оно будет работать так же как специализированные решения для конкретного жанра, коим и является движок. А потом у этих долбоёбов выходят платформеры с денди тормозящие на пека, примитивные ртс с просадками до 15 фпс, тормозящие карточные игры, и даже блять тормозящие вн, а они хлопая глазками не понимают в чём тут загвоздка, ведь это же лучший движок, так сказали в интернете создатели мобильных ассет флипов.
> авторов не смог реализовать на юнити
Я не вкурсе что там у юнити ВНок. И решил глянуть уже реализованные. Немного посмотрел две штуки:
https://gamcore.com/games/fashion_business_episode_3_v6
https://gamcore.com/games/teen_witches_academy
Полностью реализован функционал ренпу и сделаны вебгл версии.
Ролбек, запись в любом месте, быстрая загрузка.
Автор фешен бизнес даже спецом сделал версию для сайта из-за багов ренпу версии, ну так на сайте написано.
Сап юнитач. Делаю прозрачное исчезновение трупов по тутору в юнити.
Использую доступ к материалу, но старая версия юнити не работает,
В документации выискал такое решение, но оно тоже не работает, где я обосрался?
Какой ужас... Чел может хватит позориться)
> Вообще это показательный спор, долбоёбы не знающие азов программной архитектуры всерьёз уверены что можно запихнуть 100500 функций в один движок, т.е. сделать худшее архитектурное решение из возможных.
Ну смотри, вот например на С++ можно сделать что угодно, под него есть библиотеки абсолютно на любой вкус для абсолютно любых задач, ты можешь и сам написать что угодно на нём. Хоть драйвера пмшм, хоть роботов программируй, хоть игровые движки, хоть сервера.
Выходит С++ - это худшее архитектурное решение по определению?
А любой другой язык программирования тоже - худшее архитектурное решение просто по факту своего существования?
А вот есть операционные системы, на них можно разные проги запускать, можешь буквально тысячи гигабацт самых разных программ наставить - выходит сама концепция операционных систем - это тоже худшее архитектурное решение, потому что ты так скозал?
Также и в юнити тебе предоставляются базовые системы нужные в любой игре и экосистему для создания новых возможностей, всё остальное ты реализовываешь/берешь со стора по мере необходимости
А даже если ты скачаешь все ассеты со стора и аоложишь в проект, то с точки зрения архитектуры это ничего не значит, потому что они все напрямую НЕЗАВИСИМЫ, связывать их вместе, использовать то что надо - это задача программиста
> А потом у этих долбоёбов выходят платформеры с денди тормозящие на пека, примитивные ртс с просадками до 15 фпс, тормозящие карточные игры, и даже блять тормозящие вн, а они хлопая глазками не понимают в чём тут загвоздка, ведь это же лучший движок, так сказали в интернете создатели мобильных ассет флипов.
Освоить юнити на минимальном уровне очень легко, поэтому любой может вкатиться и сделать свой лагучий платформер - ну ничего страшного, потом навык наработает и будет понимать уже, как оптимизмровать надо.
И это не проблема движка вообще - можешь сразу делать нормально, чтобы в 200 фпс летало, но для этого соответствующие навыки нужны(впрочем для оптимизации платформера и гайда на ютубе на полчаса хватит чтобы разобраться)
Какой ужас... Чел может хватит позориться)
> Вообще это показательный спор, долбоёбы не знающие азов программной архитектуры всерьёз уверены что можно запихнуть 100500 функций в один движок, т.е. сделать худшее архитектурное решение из возможных.
Ну смотри, вот например на С++ можно сделать что угодно, под него есть библиотеки абсолютно на любой вкус для абсолютно любых задач, ты можешь и сам написать что угодно на нём. Хоть драйвера пмшм, хоть роботов программируй, хоть игровые движки, хоть сервера.
Выходит С++ - это худшее архитектурное решение по определению?
А любой другой язык программирования тоже - худшее архитектурное решение просто по факту своего существования?
А вот есть операционные системы, на них можно разные проги запускать, можешь буквально тысячи гигабацт самых разных программ наставить - выходит сама концепция операционных систем - это тоже худшее архитектурное решение, потому что ты так скозал?
Также и в юнити тебе предоставляются базовые системы нужные в любой игре и экосистему для создания новых возможностей, всё остальное ты реализовываешь/берешь со стора по мере необходимости
А даже если ты скачаешь все ассеты со стора и аоложишь в проект, то с точки зрения архитектуры это ничего не значит, потому что они все напрямую НЕЗАВИСИМЫ, связывать их вместе, использовать то что надо - это задача программиста
> А потом у этих долбоёбов выходят платформеры с денди тормозящие на пека, примитивные ртс с просадками до 15 фпс, тормозящие карточные игры, и даже блять тормозящие вн, а они хлопая глазками не понимают в чём тут загвоздка, ведь это же лучший движок, так сказали в интернете создатели мобильных ассет флипов.
Освоить юнити на минимальном уровне очень легко, поэтому любой может вкатиться и сделать свой лагучий платформер - ну ничего страшного, потом навык наработает и будет понимать уже, как оптимизмровать надо.
И это не проблема движка вообще - можешь сразу делать нормально, чтобы в 200 фпс летало, но для этого соответствующие навыки нужны(впрочем для оптимизации платформера и гайда на ютубе на полчаса хватит чтобы разобраться)
> Ни в одной вн на юнити нету ролбека, более того в уйме игр нету даже возможности сейва на любом месте.
Ты все игры на юнити изучил или че?
Квик сейв и ролбек чтобы сделать нужно немного больше усилиц приложить, чем ассеты мышкой таскать, поэтому наверное и встречается не часто(а квик сейв в целом мертвая концепция, я его в играх уже давным давно не видел)
Двачую, тред срача пошел
я требую перекот и бан шиза!!!
Ну ты попробуй сначала игру сделать, а потом рассказывай про парсеры(значение знаешь?) и редактирование исполняемых файлов на лету(ЛОЛ)
Вот мне даже интересно, нахуй тебе редактировать исполняемые файлы?) А парсить ты что собрался?))))))
И что в целом мешает просто в оперативку набить все нужные тебе системы и всю хуйню?)))
Хотя возможно конечно что ты просто настолько жирно троллишь, на самом деле это самый вероятный вариант.
Кетайцы же как-то создали геншин импакт, который даже на мобилках хорошо работает. Хотя, казалось бы, такой сложный и многомиллионный проект, стоит создать свой движок, да? Но он им нахуй не сдался.
Мне например нравится спорить с теми, кто очевидно не прав и не понимает о чем говорит, это повышает мое чсв
Ну и мы узнаем от эксперта о возможностях и способах реализации, так что полезно, например, мне.
Способах реализации чего? Там обсуждают какие-то абстрактные вещи вроде смены состояния и роллбэков. Это с минимальным опытом делается довольно несложно и очевидными путями.
Так тот вроде бы наоборот говорил, что типа ему пох на реализацию, скажите просто как сделать чтобы работало!
А этот вон какими терминами сыпет, рассказывает как оно всё должно быть реализовано, непризнанный гений прям.
Сап юнитач как сделать так чтобы при повороте камеры персонаж всегда шёл в ту сторону на которую кнопку я нажал?
Код камеры
https://pastebin.com/7EBihNXK
Скрипт персонажа
https://pastebin.com/GJzLyTnU
Китайцы то мастера спору нет. Но вот мне кажется они не реализовали полноценный мультиплеер аля мобильные ммо именно потому что на юнити это было бы проблемно, хотя мобильные ммо на ue корейцы и китайцы клепают только в путь.
>>823609
Там модифицированный питон, все объекты включённые в роллбек описаны в отличном формате от .py с немного другим синтаксисом. А манипуляция с файлами была в доки доки, но там профи программист писал, так что он сделал одной из девочек поведение как у наглой вирусни, которая ломает игру в процессе, прячет и удаляет файлы, короче гадит юзеру.
В месте где указываешь направление берёшь значение от импута, делов то.
ничего она не шифрует, все строки с твоими апи ключами пи фкату лежат в открытом виде
Юнити если не используешь лспп то не шифрует ничего, разве что оптимизирует и удаляет комменты из кода при компиляции. Сам юнити пакует твою игру в свою архитектуру с расширением ассет, для её открытия и извлечения есть несколько тулз.
Это же элементарно.
Берёшь трансформ камеры, конвертируешь её координаты квартелионы и присваиваешь все в выходные значения.
И воаля теперь твой игрок может крутить камеры в разные стороны, но двигается всегда в заданном направлении.
Наверняка туда хохлы программисты напихали троянов и червей.
Сам придумал, сам поспорил. Удобно.
https://devblogs.microsoft.com/visualstudio/break-when-value-changes-data-breakpoints-for-net-core-in-visual-studio-2019/
Не вижу у себя такой кнопки. Или может дело в том что у меня бесплатная визуал студия.
В каждом движке своя система частиц. Возможно есть инструменты, которые позволяют конвертировать эффекты бендеры в эффекты юнити. Но в целом эффекты нужно создавать непосредственно в инструментарии движка, конечно.
В какой-то момент статик переменная MenuBattle.newRound становится true (при этом начальное значение MenuBattle.a = false;)
Скрипт 1:
bool b;
private void Update()
{
if (b) //условие 1
{ MenuBattle.a = true;}
if (MenuBattle.newRound) //условие 2
{ b = true;}
}
Скрипт 2:
private void Update()
{
if (MenuBattle.newRound && MenuBattle.a) { Debug.Log("BOOM!"); } //условие 3
else (Destroy(gameObject);)
}
Я правильно понимаю, что в данном случае текст "BOOM!" никогда не будет напечатан?
Т.к. в первом фрейме будут: выполнено условие 2 и невыполнено условие 3. Во втором фрейме, когда будет выполнено условие 1 - Скрипт 2 уже ГАРАНТИРОВАННО будет удален.
Т.е. ситуация, когда фреймы в апдейтах разных скриптов могут обрабатываться несинхронно в принципе невозможна?
Да, ты написал говно и оно работает не так как тебе надо. Такие важные условия как новый раунд и тд которые ты аж в статические переменные вывел, должны менять не какие то пули летающие по сцене, а менеджер управления прогрессом уровня игры. Сейчас да, скрипты отрабатывают друг за другом и следующая пуля может поменять переменную, кототорая уже проверялась предыдущей пулей.
Все апдейты выполняются последовательно в одном потоке, порядок выполнения не гарантирован.
На тебе видос, сделай хотя бы так, всяко лучше чем с флагами ебаться
https://youtu.be/iAYp2d4EunI
> должны менять не какие то пули летающие по сцене
>оно работает не так как тебе надо
Нет никаких пуль, это отвлеченный пример
>скрипты отрабатывают друг за другом
Я это понимаю, вопрос был по фреймам. Т.е. сначала в один фрейм последовательно прогоняет все апдейты ВСЕХ скриптов. Только после этого начинается второй фрейм в котором опять прогоняются все апдейты ВСЕХ скриптов, без исключения. И эта схема работает именно так всегда.
Меня интересует сам принцип работы системы
>Т.е. сначала в один фрейм последовательно прогоняет все апдейты ВСЕХ скриптов. Только после этого начинается второй фрейм в котором опять прогоняются все апдейты ВСЕХ скриптов, без исключения
Типа того. В доках юнити всё это расписано.
>Все апдейты выполняются последовательно в одном потоке, порядок выполнения не гарантирован.
Последовательность не важна, важно гарантированное выполнение всех апдейтов в один фрейм.
>На тебе видос, сделай хотя бы так, всяко лучше чем с флагами ебаться
у меня пошаговая и с флами все отлично работает, просто хочу понять принцип обработки
> Последовательность не важна, важно гарантированное выполнение всех апдейтов в один фрейм.
Эт само собой
> у меня пошаговая и с флами все отлично работает, просто хочу понять принцип обработки
Поддерживать и в целом писать тяжело код так, базарю, про евенты видос посмотришь и сразу на них перейдешь, если у тебя много скриптов по типу того примера что ты кидал
Держи еще вот ссылку полезную
https://docs.unity3d.com/Manual/ExecutionOrder.html
Awake/Start/Update вызываются в рандом порядке на объектах. Есть только порядок самих событий. Если у тебя на сцене два объекта, то при первом запуске Start первым может вызваться у объекта 1, а при следующем запуске уже у объекта 2.
Есть не задокументированный атрибут. Он позволяет задать такой порядок вызова, чтобы событие на твоём объекте гарантировано сработало в первую, либо в последнюю очередь:
[DefaultExecutionOrder(-100)]
Ещё из интересного есть атрибут:
[RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)]
>сразу на них перейдешьв
в следующем проекте надо будет, этот уже слишком долго будет переделывать
>>824166
>Awake/Start/Update вызываются в рандом порядке на объектах
да, это почти сразу заметил - просто рандом, даже не по номерам скриптов.
атрибутами можно, но лучше вообще до такого архитектуру не доводить, как по мне
> атрибутами можно, но лучше вообще до такого архитектуру не доводить, как по мне
Согласен. Я использовал данные атрибуты только один раз для создания Сервис Локатора.
>Есть не задокументированный атрибут. Он позволяет задать такой порядок вызова, чтобы событие на твоём объекте гарантировано сработало в первую, либо в последнюю очередь:
[DefaultExecutionOrder(-100)]
за такое в продакшене будут по рукам бить
>>824177
>для создания Сервис Локатора.
ну это норм если там будет какой то энтри сервис но не более и лучше делать это здесь => пик
>за такое в продакшене будут по рукам бить
Эээээ какой по твоему % анонов будет там пахать? 0.00001%? Не актуально.
https://2ch.hk/gd/res/824236.html (М)
https://2ch.hk/gd/res/824236.html (М)
https://2ch.hk/gd/res/824236.html (М)
Перекат Перекат Перекат Перекат
Это копия, сохраненная 1 декабря 2023 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.