24 декабря Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!
Unity Engine #18 - лучший 3D и 2D игровой движок современности!
На 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#.
- Для каких жанров подходит 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 лицензию.
- Движок Если ты уже умеешь использовать язык, то можно приступать непосредственно к изучению движка. Крайне рекомендуется купить/скачать книгу 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 - это начать делать игру и по мере разработки гуглить непонятные моменты.
>>785968 Нет, это бесполезная параша. Если тебя какая-то конкретная кнопка заинтересовала то просто загугли как сделать функцию этой кнопки пунктом меню тулбара, и юзай.
Здарова, что почитать по c# перед вкатом в юнити? Там просто много всего и не знаю, что пригодится. Всякие там делегаты, события, интерфейсы - это обязательно читать? Или можно только про ооп
Я нюфаг. Скачал этот ассет с модельками и сценой: https://assetstore.unity.com/packages/3d/environments/industrial/station-v2-104479 Открыл в юнити, но тут все розовое. Почому? Что мне нужно сделать? Текстуры вроде назначены. Сами файлы текстур есть в папке с проектом. Почему такие ассеты не делают так чтобы "открыл и пошел", надо их еще допиливать самому?
>>786169 Бля я сам заебался с этими текстурами, скачиваешь модель, текстуры отдельным архивом. Хуй бля, нихуя не стыкуются. Документация и ютуб ролики по старым версиям, пиздец короче.
Ну все окей. Но почему у меня теперь какие-то мобильные контролы на экране? Импортнул нативный 3рд персон контроллер. Но я раньше так делал и все управлялось нормальным WАSD и камера норм висела.
А вот у меня есть модель из брендера. Когда я ее импорчу, она импортится как составной объект из кучи деталей (как я ее и моделил в блендере). Как мне превратить эту кучу деталей в один объект в юнити?
>>786402 Название файла скрипта и название класса монобеха должно быть одинаковым, и на будущее такие дебильные вопросы можно погуглить и найти ответ за три пикосекунды.
>>786421 >Это такой уебищный моно или такой уебищный шарп? Ты сюда пришел разорванной сракой потрясти или решить проблему? Ответ на твой вопрос тебе уже дали, теперь можешь проследовать нахуй.
>>786422 Решил проблему. Теперь интересно - это моно убогий или шарп в целом.
Почему считаешь, что у меня разорванная жопа? Я получил бесплатный совет, применил его и пошел дальше. Тебе разорвало что ли от того, что я назвал моно убожеством? Ну так это так и есть, судя по тому, что имя файла должно соответствовать имени класса - такое и в дурдоме не придумали бы
>>786479 А представь, сделали бы качественный контроллер персонажа из-коробки и его не сделали бы десятки индусов, не выпустили бы в юнити ассет стор и сам юнити был бы немного менее популярным.
>>786479 Но базовая уже сделана, о чем разговор долбоёбина? Управление часто реализуется под конкретный проект, сделать то которое будет закрывать почти все популярные кейсы - пиздец задача и получится раздутая, тяжеловесная хуита. Проще найти пример на гите и переделать под себя, если уж такой тупорылый что не можешь такую простую вещь написать сам\дернуть из других своих проектов.
Котятки, имеет ли смысл почекать код достойных опенсорсных игорь на юньке (если таковые имееются) , чтобы спиздить посмотреть код умных людей. хотя существует расхожее мнение, что опенсорсерами становятся те, кого никуда не взяли
>>786468 Скажи спасибо, что они сподобились сделать хоть какой-то, к 2021 версии. До нее вообще нативного контроллера не было, представь. Глядишь так к 2034 версии допилят. Я давно говорил, что юнити - говнопомойка для унтерменьшей. Не то что годот.
>>786747 >Graphics.DrawMeshInstanced Cпасибо, работает неплохо, не совсем понял нахуя там лимит в 1023 инстанса за один вызов ну да хуй с ним в принципе, можно несколько раз вызвать.
>На рутрекере не нашлось В cgpeers дохуя, если акк/инвайт где откопаешь
Работаю двад аниматором в spine, большую часть работы делаю для последующей интеграции в unity. Так вот подумал, чтобы изучить еще какие-то вещи,которые помогли бы в будущем в карьере.
ЗАдумался о рисованных двад эффектах, партиклях юнити, может еще что?
Так вот, лично вы если бы брали к себе в команду аниматора персонажей чтобы вы еше от него хотели,чтобы какие еще задачи тот же человек закрывал? Только что-то близкое или то что реально изучить научиться за год два.
>>786804 Можешь ещё попробовать BatchRendererGroup. Он внутри себя разруливает ситуёвину с 1023 инстансами. А ещё к нему можно кастомный куллинг подключить. Ну а еслм тебе надо миллиард травинок рисовать, то тут уж только DrawMeshInstancedIndirect и кастомный шэйдер.
>>786991 Странное сообщение, зачем мне что-то показывать? Тебе работник надо, ну так сам кинь примеры того,что тебе надо и сколько готов заплатить. Я сюда за советом пришел а не в поисках работы.
>>786952 >Так вот, лично вы если бы брали к себе в команду аниматора персонажей чтобы вы еше от него хотели,чтобы какие еще задачи тот же человек закрывал? Обычно такие персонажи берутся щас на всратые 2д гиперказуальные новеллы и инди 2д игры. И там и там - лютый дефицит кадров, поэтому совет - дрочи 2д рисунок. Будешь универсальным челиком который молча закрывает область работ и уже и требовать можешь нормально по деньгам.
>>787082 >разрабатывать анал Для этого используют годот. >юнити с пекой для учобы Нет. Конечно это не анрил, но все равно желательно иметь комп получше, иначе фризы замучают.
После 4+ лет работы в вебдеве я заебался хуярить сайты и приложухи и смотреть как они гниют в руках ленивых и тупых заказчиков и решил сделать что-то своё. Понял что пилить сайт или приложение я не хочу, а хочу сделать игру. У меня достаточно средств чтобы относительно спокойно не вылезать из хаты минимум год, а то и больше, поставил себе цель сделать прототип игры в этом году а дальше либо пойти на кикстартер, либо делать ёрли отсос, либо подзаработать на вебдеве еще денег, посмотрим в общем.
Уже давно возмущаюсь что нет онлайн рубильни на мечах с видом от первого лица, где:
1. Есть реалистичные повреждения с отрубом конечностей, выкалыванием глаз, кишками и мозгами, а не тупо хп-бар.
2. Есть рабочая броня, которая не тупо срезает урон, а как минимум конвертирует рубящий урон в дробящий(гамбезон, кольчуга) или может свести его в ноль(фуллплейт)
3. Имеется расчёт повреждений в зависимости от массы(оружия и игрока) и ускорения
Всё это на минималках я хочу реализовать в прототипе. Для начала хочу сделать управление оружием, чтобы это было одновременно удобно, более-менее реалистично(насколько это возможно с мышкой и клавой) и самое главное весело. Пока ориентируюсь на Mount&Blade, ибо мне нравится боевка там, как минимум я сделаю похожую, но хочу поэкспериментировать.
Собсно мои сильные стороны это программирование и дизайн. А слабые - всё остальное. Больше всего переживаю за анимацию и 3д-модели. Для прототипа можно будет купить какую-нибудь простенькую модельку, но чтобы боёвка была вкусной мне в любом случае нужно будет запариться с анимациями.
После недолгих раздумий выбрал Юнити ибо в своё время успел попроходить кучу курсиков на нём, и имею кучу ассетов на него с хамблбандла, но если пойму что он меня ограничивает то быстро сдрыстну на другой движок. Писать движок с нуля не хочу.
И вот тут у меня к вам вопрос: чего подскажете по анимациям в Юнити? Мне по-любому нужно будет привязывать анимации к движению мыши и надо чтобы это всё хорошо смотрелось и чувствовалось, и вот здесь я полный ноль.
>>787097 Загугли простейший гайд на ютубчике, для обзорного понимания хватит. Хочешь чтоб мы тебе расписали методичку в виде полотна текста?
Анимация как и везде для 3д через кости которые ты делаешь на этапе моделирования, да и анимации можешь делать там же. Использовать юнити как и любой другой игровой движок для их создания - долбоебизм .
В твоем случае будет сложный скелет с кучей анимаций переходящие друг в друга (вот за эту часть будет отвечать юнити, в виде стейт-машины с которой ты взаимодействуешь через код), и костяшка инверсная кинематики для меча.
>>787102 Не, ты не понял, я вообщу НУЛЬ в анимации, даже что такое кости и как они работают знаю совсем поверхностно. Думал может книгу посоветуете или курс какой.
>>787108 Ты больше от шейдеров и рендера охуеешь. Я бы на твоем месте своровал обзорный курс по юнити или если знаешь ангелский то курс на официальном сайте юнитеков где делают 5 прототипов, следом порешал бы эти туториалы: https://catlikecoding.com/unity/tutorials/
Для начала лучше просто нет, первый поможет разобраться с самой программой, второй с простейшими скриптами, третий даст азы рендера. Но учитывай что там для достаточно начального уровня, но это все еще лучше чем любые платные\бесплатные курсы от инфоцыганов где будет та же инфа только с тысячью ненужных мелочей.
Анонче, я тут из разряда очень тупых и программирование мне даётся даже самые азы с трудом. Посоветовали книгу Столярова чтобы понять в логику и как писать код. Книгу Шилдта читал но там опять этот дурацкий сленг и простой разбор кода без подробного пояснения. Я бы на самом деле и сейчас бы запустил юнити, но без должного начального знания я не напишу ни один скрипт. Тут среди вас есть такие же затупки?
>>787130 Ты не затупок, у тебя правильный подход к делу, ты не хочешь тупо изучать синтаксис, ты хочешь понять логику за всем этим делом и так и надо. Тебе нужно изучать как работают языки программирования, часто используемые идиомы, алгортимы и структуры данных и вот когда ты всё это поймёшь хотя бы на базовом уровне тебе будет абсолютно похую на каком языке программировать, ты будешь быстро ориентироваться в любом синтаксисе и сразу изучать тонкости языка и понимать поможет ли он тебе в твоём деле.
>>787133 Спасибо анонч. Я просто смотрю эти туторы, качал эти курсы популярные. Но там поясняют "ну вот это метод он дефолтный типа для запуска программы" и я сижу такой чего блядь пояснение запилил бы нормальное но нет.
>>787136 Вот поэтому крайне советую курсы тут, особенно Programming Languages с Дэном Гроссманом. Но сперва пройди курсы перед ним чтобы быть готовым, потому что его курс весьма трудный для новичков, но не сдавайся, делай всё сам и не жульничай - оплатится сторицей.
Такое дело. Хочу запилить игру с 3д тайлами. (Типа таких. https://kaylousberg.itch.io/kaykit-medieval-builder-pack) проблема в том что дефолтный юнитевый тайлмап заточен под 2д и в триде работает через жопу. Есть у кого опыт с подобным/гайды или хоть что-то.
Реквестирую что / где почитать про IK анимации? Чтобы персонаж целясь поворачивался по направлению камеры, чтобы ноги наступали на камень, а не проваливались в него, чтобы голова крутилась при повороте камеры, вот это все.
>>787277 Да залупу конскую ты почитать можешь. Ты берешь уже вещь того уровня, где своя голова должна быть на плечах, а не все по учебникам. А для изучения - ковыряй готовые ассеты по типу finalIK и всякие готовые риги на торрентах и ассетсторах их дохуя. Так же можешь глянуть готовые от юнити говно ебаное и чекни проекты на гитхабе говно ебаное, но код изучить советую
>>787291 В юнити нет 2д как такового, только ограниченный в плоскости 3д, так что ты тот же 2d tilemap и палитру можешь использовать для 3д
Блядь, я в ахуях, неужели тут все уже в курсе как сборки подключать, все шорткаты знаете, юнит тесты оформили, CI, DI, ECS, адресейблс и всю хуйню освоили? Если нет, то вы просто долбаебы, чей проект не доживет до релиза, либо кончится сразу после него
>>787324 Я уверен что тут большинство анонов и я в том числе, просто начинают делать какой-то проект и недели через 2 дропают его. И так по новой. Хз как еще обучатся чему-то, если не через прототипы.
>>787307 То есть существует определенный порог знаний, переступив который разработчику уже не нужно изучать ничего, а нужно все велосипедить самому, игнорируя опыт и знания предков? Хуйню спизданул.
>>787335 Ну знаешь, это же двач, тут так принято что есть всегда кто-то успешный. Но обычных лохов куда больше. Вот так и в этом треде. Там выше анон спрашивал, кто вообще работает в геймдеве и как устроились, но его тупо заигнорили. Не любят местные аноны помогать. В соседнем /вебе и то больше людей которые вкатываются/вкатились/помогают. А ведь они всего лишь макаки-верстальщики. Злой у нас тред.
>>787277 почитать можешь гугол, всё что ты хочешь - довольно тривиальные задачи для гуманойдного типа аватаров, но сложные из коробки для дженерика, только ассеты покупать. Настраиваешь скелет -> настраиваешь анимации и аниматор -> включаешь IK в слое аниматора -> Выставляешь кривые контроля в анимациях -> пишешь рейкасты и переставляешь веса контроля OnAnimatorIK в монобехе -> ты на коне.
прикол хош? можно даже окно с одной кнопкой выпустить, но в таком случае нужно уметь продать это кнопку (охуенно оформить страницу, цену по минималке, и конечно же достижения)
>>787365 К твоему сожалению, но искать и решать свои вопросы куда быстрее и эффиктивнее самому, чем на борде или форуме. И это не только экономия в сотни раз, так и духовно спокойнее.
Парняги, есть задача менять определенный параметр раз в X секунд. X будет периодически менять (будет ка 1, так и 2.6 например). Вопрос, через что лучше реализовать? К кадрам привязываться не хочу
>>787461 Так таймер ставь, который каждый кадр к значению прибавляет Time.deltaTime, и если значение превышает заданное, то происходит экзекут - изменение твоего параметра.
Какой самый лучший способ динамически добавлять префабы на сцену в рантайме? Через Resources.Load - както слишком низкоуровнево и привязка к путям. Делать префаб всех нужных префабов или скрипт со списком - выглядит как костыль. Что есть ещё?
>>787485 Префаб нужных префабов, скрипт со списком? Ебтвоюмать, откуда вы берётесь только? Resources.Load нужен для загрузки, а добавление на сцену происходит через Instantiate. Можешь грузить через Jsons, сериализацию, adressables, но с таким уровнем знаний лучше пиздуй грузить коробки в пятерочке
>>787489 Зачем мне сериализовать объекты, если они уже есть в проекте? Их просто нет на сцене, следовательно я не могу просто так передавать ссылки на них в Instantiate. Или нет?
>>787491 >Зачем мне сериализовать объекты, если они уже есть в проекте? >Их просто нет на сцене, следовательно я не могу просто так передавать ссылки на них в Instantiate [[SerializeField] private GameObject _prefab;
private void Update() { if (yaYmamiDolbaiob) { GameObject newGameObject = Instantiate(_prefab, Vector3.zero, Quaternion.identity); } } } затем в скрипт ручками прокидываешь префаб из ресурсов
>>787327 >Дайтикнижек почитать!!111 > Книжек на любой пук нет. Начинай изучать другие реализации на гитхабах и ассетах и выстраивай свой опыт на этом. > РЯЯЯЯ ВЫ НЕ УЧИТИСЬ Откудаж вы только блять беретесь?
>>787494 неявное объявление добавляет нагрузки компилятору, усложняет читаемость, препятствует обнаружению ошибок самой IDEне в этом конкретном случае, но вообще
>>787494 Единственное почему так следует делать именно реально, это для удобства и повышение читаемости кода для самого себя. Бонус в виде плюса для других волнует обычно меньше всего. Больше реальных причин для этого нет.
>>787548 я говорил о неявном объявлении в принципе, сегодня ты доступ не прописываешь, завтра у тебя все переменные неявные, а послезавтра в жопу долбишься >По сравнению с замусориванием однотипными дефолтными модификаторами - упрощает. ну да, ну да, особенно в каких-нибудь аниматор контроллерах или эвент холдерах удобно разъебываться на парах десятков методов, когда половина из них публичные. Или в ецс, где большинство компонентов на пабликах, а ты из-за своей ебаной привычки не прописывать модификатор потом по 2 раза возвращаешься на исправление
>>787324 >Блядь, я в ахуях, неужели тут все уже в курсе как сборки подключать, все шорткаты знаете, юнит тесты оформили, CI, DI, ECS, адресейблс и всю хуйню освоили? Если нет, то вы просто долбаебы, чей проект не доживет до релиза, либо кончится сразу после него Больше половины терминов не знаю, но я в вебдев вкатывался просто начав дрочить курсы по ХТМЛ, КСС и ЖС, и после пару лет дроча устроился джуном в галеру и поехало. В галере мне просто ставили задачи и я справлялся с ними гуглингом и пердолингом.
Думаю применить мой опыт вката здесь. Сделаю прототип, и если он мне зайдёт, попробую выкатить ёрли аксес чтобы дурачки оплатили мне оставшуюся разработку игры.
>>787564 Но кстати вебдев довольно дружелюбен для вката, у нас там есть роадмапы, которые расписали для вкатышей, по ним можно идти, гуглить документацию, курсы, смотреть примеры на гитхабе. С юнити пока не уверен, но вроде накопал инфы для начала.
Весьма специфичный вопрос. Имеется старая игра, вот решил немного оживить её и обновить. Сам проект собирался давно и было допущено много косяков в разных ресурсах и т.д. Игра также работает в связке со стимом. Так вот, есть ли способ каким либо образом пересобрать взаимосвязи/префа/уровни, но уже в новом проекте? Обьясню почему - При работе в проекте через некоторое время(10-15мин) всегда происходит утечка памяти и редактор крашится и глючит после поглощения 12гб оперативы. Также высираются не понятные ошибки воркера, которые не гуглятся и являются тоже весьма редкими судя по всему, они же без описания лишь содержашие ссылки на кучу внутренних длл юнити. С нуля создавать и переносить ресурсы это нереальный гемор который займет пару недель, мб есть способ удобнее и быстрее? В общем вопрос к олдам.
Что выбрать: юнити или анрил? Задал такой же вопрос в анрил треде. Опыта и там и там маловато, но в юнити побольше, ибо всякие курсики проходил, но я думаю можно это не считать ибо до конечного продукта я не доходил, если не считать всякие мелкие говноигры. Пока что я вижу ситуацию так:
Юнити: + Дохуя обучалок и огромное коммьюнити говноделов + Нет роялти, после 100к в год надо тупо оформить подписон - Закрытый исходный код
Анрил: + Открытый исходный код + Зарекомендованный движок, выпускавший дохуя ААА проектов - Роялти
>>787582 >С нуля создавать и переносить ресурсы это нереальный гемор который займет пару недель, мб есть способ удобнее и быстрее? Либо приглашать чувака, который знаком с архитектурой, либо резать к чертовой матери, не дожидаясь перитонита знакомиться с архитектурой самому в любом случае. Ты можешь знакомиться просто открыв в вижуал студии, можешь переносить кусками механик и их изучая параллельно. Пробегись по моделям. Мб префаб какой говно итд. Перенеси чисто код в новый проект и посмотри как он себя будет вести.
>>787594 >Что выбрать: юнити или анрил? Этот срач несостоятелен. Выбирай тот инструмент в котором компетентен больше и в котором хочешь работать. Ты не выбираешь дорогу в один конец. Попробуй то, попробуй это. Юнити и Анрил инструменты для разных целей с разными целевыми платформами и с разными болячками.
И да, за > Зарекомендованный движок, выпускавший дохуя ААА проектов > огромное коммьюнити говноделов Тебя бы нахуй послать, но поясню - и там и там овердохуя лютых говноделов делающих лютейшее говно. Ебучие необучаемые блупринтомакаки, дегенераты не понимающие вообще даже примерно как движок работает, но орущие что все говно и многое многое другое.
>>787564 >после пару лет ну, если у тебя есть столько времени, то пожалуйста, я в программировании 5 месяцев в принципе и за всю эту кухню шарю уже, надеюсь через 2-3 месяца идти уже джуном устраиваться
>>787582 как ты и сказал >Весьма специфичный вопрос. пробовал версии юнити менять? профайлер смотрел где именно аллокации? как давно код написан, много легаси? Универсального решения нет, ты либо пересобираешь, либо рефакторишь пара недель звучит как совсем недолго
>>787614 > К минусам анрила C++ добавь плиз. двачаю, в отличии от сисишарпа слишком не юзер френдли язык и слишком сложный для вкатунов, в особенности для тех у кого компуктер вчера появился
>>787601 Да я сам всё делал, но было это дело 2 года назад, когда только вкатывался в стим, и наступил на кучу граблей, последние обновы на игру выпускались как раз в вечных крашах и ошибках, поэтому и забил на него. Перенести чисто код или механики не получится, слишком всё взаимосвязанно и держится на липких костылях. Не конечно получится наверное, но это такой дрочь. По ресурсом пробежался, да там половина срёт ошибками если в папку заходить, но не смотря на это работает.
>>787610 Как раз сейчас на ласт версию перенес и на ней копаюсь.
>профайлер смотрел где именно аллокации? Там утечка в самом редакторе идёт, не во время игры, или даже не в собранном билде.
> как давно код написан, много легаси? Два года назад, всё почти самописное, лишь парочка ассетов в виде эффектов и стим плагин.
>Универсального решения нет, ты либо пересобираешь, либо рефакторишь Всё думал мб есть утилита, или у самих юников что-то на этот счёт. И того что нашёл это просто в папке либы поудалять подпапки кэша, но это вроде помогло, но не сильно.
>пара недель звучит как совсем недолго Как бы да согласен, но давно уже забил на эту игрульку и похоронил её. Было желание так немного припудрить и выпустить обнову, пока в простое.
>>787602 >Выбирай тот инструмент в котором компетентен больше и в котором хочешь работать. Ну в том и проблема что я в обоих околонулевой и хз чего ждать
>Юнити и Анрил инструменты для разных целей с разными целевыми платформами и с разными болячками. А можешь расписать хотя бы поверхностно вот это всё?
>>787602 >Тебя бы нахуй послать, но поясню - и там и там овердохуя лютых говноделов делающих лютейшее говно. Толпа говноделов это плюс, если ты не заметил, ну как минимум с моей точки зрения, потому что количество переходит в качество. Толпа говноделов прокладывает дорогу будущей годноте. Я уверен что на анриле в свое время дохуя говна понавыпускали уже. Гораздо хуже когда на движке вообще толком нихуя не выпустили, даже совета спросить не у кого.
>>787613 ФПС но с необычными механиками. Еслиб это был обычный шутер, то пошёл бы с анрилом, но я слышал что выпустить ту же сабнаутику было бы сложнее на анриле чем на юнити, поэтому засомневался. ААА-проект не собираюсь делать, я хочу поэкспериментировать с новыми механиками и если моя инди-говнина взлетит то продамся большой студии и уже буду делать ААА. Но это всё пока мечты, нужно хотя бы до первого релиза дожить.
>>787643 вообще тема анрил или юнити - холивар для долбаебов, так как реально это совершенно разные инструменты, типа молоток или отвертка. Следует начать с выбора языка, а не с выбора платформы, так как мне, например плюсы изначально вообще не давались, но в сишарп я с первого взгляда влюбился, а потом уже после брейншифта через полгода уже любые языки читаются более-менее. Коллега у меня наоборот начинал с плюсов в универе и год потом работал с анрилом, потом переквалифицировался на юнити. Если ты и в языках нулевой, то c#, а как следствие и юнити, дадутся гораздо проще
>>787651 UPD: сорян, не для долбаебов, это просто вопрос для продюсера (на чем выпускаться?), а обычному разработчику совершенно глупо таким вопросом задаваться, ты что-то изучаешь - ты на этом работаешь. Если ты за бабками гонишься, то в геймдев вообще не входи, изучай питон и датасайнс, геймдев сейчас превращается в рынок мигрантов с бесплатной рабочей силой
>>787655 Опять мимо, я хочу пилить проект мечты и эксприментировать с разными геймплейными механиками.
>>787656 Ок, я писал выше что хочу сделать ФПС но с необычными механиками, сидеть и экспериментировать, пробовать разное. Большим вдохновением для меня является сабнаутика. Прости, подробнее не хочу рассказывать.
>>787657 > помогите советов > Опять мимо > я хочу Да иди нахуй просто. Никто ничего доказывать тебе тут не собирается. Раз ты чмоня со стажем, то должен уметь в гугл. Проект мечты он пилить собрался, лол.
>>787657 блядь, ну пойми, научиться работать с графикой или купить дизайнеров проще, чем написать каркас игры. C# от C++ отличается не сильно, продумай архитектуру нужна ли тебе там сильная или слабая типизация, а если похуй, то я бы выбрал шарпы, потому что для могилок юнити билдить проще. https://www.youtube.com/c/CodeParade/videos вот пример, как парень на юнити создал игру в гиперболическом пространстве практически переписав движок, так что всё ограничивается только твоими способностями
>>787657 Без разницы что ты выберешь, все равно игру не сделаешь. Звучишь как восторженный нюфаня с охуитительным и секретными идеями.
Который нафантазировал себе уже манямире с карьерой в гейдеве за ближайшие пол года, но на всех форумах отписывает как что цель: для себя\как хобби\эксперементы\мечтаю сделать игру жить немогу!1 Сколько таких было.
Тебе ничего не мешает потратить пару месяцев и вместо доябывания на тупую и холиварную тему, просто взять и сделать пару мини-прототипов на обеих движках. Что понравится идеологически больше то и бери.
>>787694 >Тебе ничего не мешает потратить пару месяцев и вместо доябывания на тупую и холиварную тему, просто взять и сделать пару мини-прототипов на обеих движках. Что понравится идеологически больше то и бери. Я эту фазу уже давно прошёл и всё равно на заборе. У меня ощущение что тут никто глубже меня не погружался ни в один из движков, все как один отвечают что вот движки для разных целей и задач со своими плюсами и минусами, а что за цели и задачи с плюсами и минусами не отвечают, пиздец просто. Зато уже заагрились и назвали восторженным нюфаней - охуеть, а я разве говорил что я эксперт?
Открой одну из тысяч тем на хабре из разряда https://habr.com/ru/post/571806/ и обмазывайся коментами сколько хочешь. Ты можешь потратить пару лет на чтение такой холиварной темы, на эту тему написано миллионы постов, тысячи веток обсуждение на хабре, реддите, етк. Мне тебе сюда их принести все, хлебушек?
>>787706 Зачем? Я же попросил хотя бы поверхностно плюсы и минусы с твоей точки зрения обоих движков. Я даже показал как я это вижу на данный момент. Просто я еще не делал что-то по-настоящему сложное ни на одном из движков, все проекты что я делал относительно типовые и потому я не упирался в особенности движков, но может на твоём опыте было что-то что тебе доставило проблем, или наоборот оказалось легче чем в другом движке.
>>787709 Ладно, спасибо что назвал меня восторженным ньюфаней который нихуя не сделает, подобная хуйня меня заряжает мотивацией. Как к тебе обращаться чтобы потом сказать тебе что ты был не прав?
Нихуя себе, а че вы мне не сказали что за прохождение pathways выдают бесплатные ассеты? Я ща тогда быстро первый пройду тоже, а то я его скипанул нахуй.
>>787694 Пиздец ты идиот. Он задал вопрос, ответ на который занимает пару минут и несколько строчек текста, типа "я вот на юнити сделал то и это, очень хорошо подходит" Нет, ты начал срать себе в штаны и надувать свою охуенную важность, засрал доску и время потратил.
>>787787 Копай в сторону Render Texture. Ещё изучи простейшую постобработку шейдером - полезно для ретростилистики. Ну и unlit шейдеры научиться создавать буден очень неплохо - тоже в копилку стиля. В общем через пару десятков часов гринда сможешь собрать подобный визуал.
Привет в всем в этом ИТТ. Хочу сделать битмейкер апп. Типа видеорилейтед -https://youtu.be/tCgTq0uYaQo. Хорошая ли идея делать на юнити? Привлекает возможность кроссплатфоромы. Но я насколько видел, обычно такие приложения пилят на нативном Андроиде/айосе. Что думаете?
Аноны, поделитесь пожалуйста ресурсами где шаг за шагом расскажут как писать шейдеры для юнити. На ютубе смотрел ролики - сразу четырёхчасовая лекцияутрирую конечно поэтому сложно воспринимать. А как вы учились писать шейдеры?
>>787897 >А как вы учились писать шейдеры? Открыл википедию, прочитал что такое шейдеры. Вся юнити-релейтед инфа содержится внезапно в документации к юнити.
>>787897 Бля, а ведь на самом деле если подумать, то это буквально открытая ниша. В ру сегменте вообще нет челиков, которые учат рендеру или шейдерам. Только вскользь проходятся. Жаль челики которые это знают не хотят писать гайдлайны, туторы. Я их от части понимаю, это же тупо головная боль без какого-то выхлопа. Чисто мб имя себе сделать. А так, наверняка тупо лень или времени нет. Но как же заебно порой натыкаться на видос от индусов, которые в геймдеве так же не долго как мы, но которые все же записывают свои туторы на хинди или на "чистом" английском для своих коричневых братишек. Наше сообщество и правда не любит заниматься чем-то для обучения кого-то. Печально.
>>787960 А смысл то делать такие туторы? Просмотры небольшие и денег это не принесет. Лучше уж делать игры. >Наше сообщество и правда не любит заниматься чем-то для обучения кого-то. Так все есть на английском и если хочешь заниматься гейдевом учи язык.
>>787961 Двачую. Как только выходишь за рамки тем для начинающих, резко падают просмотры. Заходит только говнецо которое делают популярные блоггеры вроде Brackeys, тупо беря какую-то простую фичу которую можно изучить за 5 минут в документации и растягивают ее на 30 минут с крутым монтажом, поставленной речью и простым, визуально ярким примером чтобы хомячки хоть что-то понимали охуевали от причастности к геймдеву.
Любой качественно структурированный материал сразу превращается в здоровенный цикл статей, книгу, 4+ часовое видео как у трапа выше и такое не заходит массам.
Анонасы, я новичок. Хочу заебенить кликер (типа Cookie clicker и т.д) в рамках обучения. Открыл пару туториалов - там чуваки прям весь визуал игры ебашут на канвасе. Это норм вообще? Понятно, что там нету особо графена, но что-то мне подсказывает, что так не стоит делать. Или нет?
Вот есть камера, она рендерит сцену и канвас, и вот на этом канвасе есть еще одна камера которая рендерит модельку которую хуй знает куда ложить и так её еще крутить можно, и свой фон синий есть, как такие приколы делают?
вчера на глаза ютуб подкинул видос про кодинг в юнити, на примере состояний персонажа (идл, атака, прыжок) было рассмотрено программное переключение состояний. Типа если чел стоит, если на замле, не в прыжке и.т.д. Было показано, что слишком много ИФов и был предложен паттерн(?) стейт машины, где игрок переключался в разные стейты через виртуал/оверрайд методы. в комментах также было предложено делать это через енум, но подметили, что это то же самое, что и ИФы с проверкой состояния(типа if(isGrounded)). Что думает тредик на этот счёт вообще? Как вы делаете? Городите ИФы и потом возможно переписываете или применяете какие-то другие паттерны?
>>788057 В чём сложность? Две камеры, одна для рендера ui, вторая для 3д. Они никак не пересекаются, лишь скрипты для работы с ними. Не пойму, что тебе не понятно?
>>788058 Кому как удобнее. Лично делаю через скрипт и функции, т.к для понимания условий проще и дебага, кому-то проще через квадратики со стрелочками в машине.
>>788058 Чому не через свитч? Он же сразу берет одну строчку кода с проверкой и перескакивает на нужный блок, вместо последовательной проверки ифами. М?
>>788087 наверно потому, что на каждое состояние нужно 3+ разных проверки, которые могут взаимоисключать друг-друга в зависимости от состояния и дальнейших действий, получится точно такаая же каша, только ещё более запутанная
>>788166 >проект несложный Ну тут всё зависит что ты вкладываешь в понятие. Это 1к строк кода? 5к? 10к? 50к? 100к? Если у тебя в скрипте будет более 10к строк, редактировать его, и делать по нему навигацию уже будет гемор и не понятки, да и структура юнити такова, что некоторые вещи ты сможешь сделать только имея десятки маленьких скриптов. На словах может это и звучит круто, но в реальности лишь проблемы и сложности которые строишь себе сам.
К слову об архитектуре и о постах выше о стейт машинах в юнити, я как-то пытался понять, как запилить стейт машину в коде. Я литературно охуел от того, каким надо быть умным в кодинге и почти дропнул геймдев из-за этого(теперь пилю только кал, который стыдно показывать). Вы ребята реально гении программирования. Ладно просто понять концепцию, это любой дурачок может, но сделать это в коде и понимать, что там происходит - это реально уровень.
Самый популярный - Читают и смотрят кучу туториалов, и тут же повторять делая чистый и прекрасный код, но на выходе такие ребята никогда не сделают игру, они мастера фантазий, но в реальности их максимум это одиночная меха в вакуме, зато всё по канонам чистого кода. А в основном они лишь пиздят. Второй, уже редкий - Они посматривают в доки и туториалы, но делают уже саму игру, в которой естественно уже будет приличное количество говнокода и велосипедных конструкций, но у этих ребят, в отличии от тех кто выше, уже есть большая вероятность выпустить свою небольшую игру(Обычно они участвуют на джемах или мини конкурсах, т.к из-за нехватки опыта или комплексов боятся выпустить игру публично). Третий, редчайший тип - Те кто планируют именно выпустить игру, и понимают что для этого надо помимо кодинга, очень много аспектов, они потеют строя говно архитектуру, всё держится на костылях, но работает и даже не лагает/вылетает, и как правило, они даже успевают выпустить свою игрульку в стим, собрал пару десятку отзывов и заработав +-500$. Из этого типа обычно расходятся дороги в кучу других. Ну и божественно редкий тип - У них и код, и проект, в почти идеальной чистоте, они используют на максимум все знания, такие как правило уже помидоры, или одиночки которые прохавали как зарабатывать кэш, и выпускают по небольшой игрульке раз в пол годика. Но в большей степени это фантазии из 1 типа.
Вывод как всегда очень прост - Ставишь цель сделать игру, делаешь. Ставишь цель кодить, кодишь, но законченную игру никогда не выпустишь. Для конечного пользователя всегда важен графен, контент, чтоб не лагало и не выетало.
>>788193 >пытался понять, как запилить стейт машину в коде А чё там сложного-то? Читай определение: https://ru.wikipedia.org/wiki/Конечный_автомат Вот простой конечный автомат (на Паскале): case state of: 0: state := 1; 1: state := 2; 2: state := 0; end; У нас здесь: - один вход - один выход - три возможных состояния Всё! Конечный автомат готов и работает. Что тут может быть сложного в реализации?
>>788058 >то же самое, что и ИФы с проверкой состояния Суть конечного автомата не зависит от способа реализации.
>>788093 >на каждое состояние нужно 3+ разных проверки, которые могут взаимоисключать друг-друга в зависимости от состояния и дальнейших действий Ну и что? Конечный автомат в каждый момент времени только в одном из возможных состояний. Простой пример: ты можешь сделать персонажа, который либо бежит, либо прыгает - это два состояния. Если ты хочешь сделать персонажа, который сможет прыгать с разбега - ему нужно третье состояние "прыжок с разбега". Если персонаж сможет стрелять, ему нужны ещё три состояния: стрельба на бегу, стрельба в прыжке, стрельба в прыжке с разбега. И так далее. Если тебе нужно запретить стрельбу в прыжке - просто запрещаешь переход из состояния "прыжок" в состояние "стрельба в прыжке" и персонаж больше не может стрелять, пока не приземлится. В результате тебе не нужно делать никаких лишних проверок, достаточно только знать, в каком состоянии находится персонаж.
>>788202 Уже много лет пытаюсь вылезти из первого типа. По началу решил что нужно упороться в программировании и по мере вката решил что смогу набить экспу в вебдеве ибо туда вкатиться проще. В итоге успешно вкатился в вебдев и заработал там денег, а игру так и не сделал, даже сейчас по совету анона прохожу pathways якобы мне это даст подсказку по моему проекту, который я так и не начал.
>>788202 Это не типы разрабов, это просто градации. Как те же условные джун/миддол/помидор. Сперва пишешь прототип по туторам с ютуба или курсов, воруя код и даже не задаваясь вопросом почему он написан так а не иначе. Потом спустя определенное время захочешь что-то изменить/добавить свое/улучшить и ты идешь снова в гугл, открываешь доку или тутор, выбираешь нужное и делаешь правки. И так дальше и дальше. Сперва почти все разрабы чмохи которые от куда-то копипастят код чтобы набить свою головешку хоть чем-то полезным. Самое главное, это в определенный момент перестать заниматься этим и попытаться все таки преодолевая себя научиться решать основные задачи без подсмотров у кого-то. И потом, может быть, спустя миллионы лет когда ты станешь гуру в области программирования, ты все равно так же откроешь код на стакоферфлоу, скопируешь и вставишь себе, даже не разбираясь как он там работает. Тебе это уже тупо не надо. Ты в своем сознании преисполнился.
хитрый вопрос. кто как организует классы которые не наследуются от монобихейвора, но содержат параметры которые бы хотелось чтобы отображались в инспекторе?
>>788227 ага. А потом у тебя появляются дополнительные условия в стейте, типа проверок дистанции, нулов, анимации и прочее и ты делаешь в этом сратом свиче ифы. И твоя конструкция становиться всратей x2. Хотя для какого-то платформера где всего пару состояний и эти состояния чисто номинальны и нужны максимум для анимации, то такое пойдет.
>>788231 они и так сериализуются. я к тому что некоторые классы разумно инициализировать через конструктор, но когда тебе надо чтобы они отображались в инспекторе то разумно к ним дописывать какой-то метод для инициализации. и чето это не всегда удобно.
>>788230 >А потом у тебя появляются дополнительные условия в стейте Ты видешь что я делаю вызов функции? Там и делай свои йоба-конструкции, или вне стейт-машины. Зачем тебе это делать прямо в свитче?
>>788235 Ты просто слишком жирный. Какая разница где ты делаешь свои еба конструкции. Они все равно будут в твоем еба классе на 600 строк, с кучей ответственности не нужной. Вместо того чтобы храниться в мелких классах которые отвечают за что-то одно.
>>788238 А тебе кто-то запрещает создавать классы для разных задач? И вообще хватит двигать гоалпосты, выше тебе даже скинули ссылку на гугл где можно подобрать реализацию стейт-машины через класс и enum, хули ты выёбываешься сидишь я не пойму?
>>788241 Я не понимаю. Если ты слишком туп, чтобы сделать как надо, даже не понимаешь принцип конечно реализации, то на каком основании ты обсираешь чужие, если обсуждаемая проблема за пределами твоей компетенции лул?
>>788242 Мне кажется он от балды спизданул а теперь пытается как можно дольше продержаться прежде чем все в треде поймут что он абсолютный ноль в программировании. Я также когда-то делал, иногда мне удавалось всё свести к тому что меня не поняли просто и я имел ввиду другое и на этом расходились, но для этого нужно иметь хоть какой-то уровень компетенции.
>>788242 > Я не понимаю Это и так понятно. Я лишь говорю что твоя реализация стейт машины дерьмо. Вот от слова совсем. Потому что она не покрывает большинства даже средних кейсов. Так понятнее? Если возникнет кукаре-ку вопрос "а шо за кейсы, какие проблемы", то можешь как бы смело идти нахуй. Ведь у тебя явно опыта нет. Хотя ты хоть можешь в гугл анон. Уже не плохо.
Я правильно понял, что rigidbody.MovePosition в FixedUpdate() будет двигать тело с частотой, зависимой от значения FixedTimestep? Там по умолчанию стоит значение 0.02 (что на 50fps), тело двигается заметными скачками. Поставил 0.013 (75 fps), тело стало двигаться плавно.
Вообще, сколько у вас стоит значение? 0.13 не сильно угробит производельность?
а как добавить источник света в анимацию 2д? Допустим у меня спрайтшит на 10 кадров, где в каждом спрайте лампочка на фонаре качается, где прикрепить источник света к этому движению
Решил сделать движение fps персонажа самостоятельно. Какое-то время юзал CharacterController, но там возникали всякие косяки и я решил сделать свое. В общем, толкаю персонажа (точнее капсулу с rigidbody и камерой) с помощью rigidbody.MovePosition в fixedUpdate. Все ок, ходит нормально, предметы толкает нормально. С какими подводными могу столкнуться? Как там вообще белые люди реализуют движение 3d персонажа от первого лица? У меня камера прикреплена дочерним элементом, она вращается только вверх или вниз, а влево и вправо крутится только капсула. Может стоит просто сделать камеру отдельным объектом, которая просто следует за капсулой
>>788289 Перемещение через рижибади, да и вообще через физику не очень хорошо. Обычно продвинутые убер контроллеры написаны без учета почти физики тупа кинематика В твоем примере же вроде перемещение онли через физику. Ну или я не увидел где он там его меняет потом.
Нужно отталкиваться от задач и если ты не можешь написать свою физику, ты используешь чужую и не выёбываешься. Когда сможешь написать полность кинематичный контролер - тогда и будешь его использовать.
Просветите неофита. Тыкаю помаленьку лернинг юнити. Там значит игра есть, когда звери бегут, кидаешь в них пиццу, и когда происходит колизия, скрипт уничтожает оба объекта.
так вот чел который записывал видео, запихнул этот скрипт в оба сталкивающихся объекта, в зверя и в пиццу. Вопрос нахуя, если я пихаю его в пиццу и она уничтожает обоих? Или типо один из объектов первым обработает код, делитнет себя и другого, а другой тупо не запустит свой скрипт и поэтому похуй что скрипт в обоих?
>>788319 Ты относишься к этому слишком серьезно, там показывают пример как оно вообще работает. Может быть любой вариант, и еще множество: например они будут еще при столкновении друг с другом уничтожаться или еще с чем, нет смысла гадать.
>>788319 >первым обработает код, делитнет себя и другого, а другой тупо не запустит свой скрипт По идее оба скрипта отработают, т.к. Destroy уничтожает объект не мгновенно при вызове этого метода, а при переходе игры на обработку следующего кадра.
>>788223 >Теперь сделай то же самое на шарпе в юнити с классами, функциями и прочим. А, так бы сразу и говорил, что у тебя проблема не с конечными автоматами, а с использованием на практике >шарпа, юнити, классов, функций и прочего. Тогда могу посоветовать продолжать изучать программирование и больше практиковаться - с опытом придут знания и навыки.
>>788238 >классе на 600 строк Вполне нормальный, даже какой-то малюсенький класс. >с кучей ответственности не нужной Это уже проблема твоего неправильного применения конечного автомата. Делай такую архитектуру, в которой не нужен один глобальный конечный автомат, управляющий всем и сразу. >храниться в мелких классах которые отвечают за что-то одно. А потом твоя игра будет ждать GC каждые несколько секунд, а ты будешь рекомендовать игрокам купить более мощный ПК, чтобы эти подвисания случались реже.
>>788245 >она не покрывает большинства даже средних кейсов С чего вдруг ты решил писать максимально универсальный конечный автомат на все случаи жизни? Ты вообще игры делаешь или только максимально универсальные фреймворки?
>Если возникнет вопрос "а шо за кейсы, какие проблемы", у тебя явно опыта нет. Это у тебя опыта нет, если ты не можешь объяснить, в чём твоя проблема и с чем именно ты столкнулся на практике. Выглядит как нытьё новичка "ой, кодить сложна, надо ведь по клавишам пальцами попадать, я так не умею".
>>788351 > 600 строк говна - маленький класс > юнитеки буквально говорят юзать компонентный подход, потому что он лучше. Ты что сказать то хотел, дурилка? При чем тут компоненты и твой GC? Или ты недавно узнал что такое существует и решил приплести? Тогда может хоть узнаешь когда он вызывается? На остальное твое сообщение и отвечать не хочется, ты явно вообще не понял о чем я говорил. Про какие-то сложности, фреймфорки, универсальные атвоматы. Ты наркоман что ли?
>>788287 Ставил, но вообще никакой разницы не заметил. У меня подозрение, что это потому, что камера у персонажа в качестве дочернего элемента, то есть, ее толкает само физическое тело и естественно она тоже двигается рывками. Надо попробовать камеру сделать отдельным обжектом, который тупо следует за капсулой игрока с smooth lerp
>>788289 Во-первых, все что мне надо реализовать - это ходить wasd и мышкой. И все, никаких прыжков, цепляния за стены, приседа и прочего. То есть код не должен быть большим и сложным. У меня он занимает 12 строчек. Во-вторых, мне нравится делать самому. Это мое хобби а не работа, я не тороплюсь. Почему бы просто не отвечать на вопрос, не приплетая своего мнения? Зачем напрягаться? Так будет легче и тебе и мне.
>>788358 Чееел, конечно камера должна следовать за объектом и вообще может никак к нему не привязана иерархией, ты вообще хоть один видос-тутор смотрел с кинематиком или от 3 лица? Скачай готовый ассет и посмотри как сделано, там скрипт буквально на 50 строчек с уже плавным сглаживание. Но если хочешь как в рпг, то юники завезли специальную кине-машину для этого готовую, там и зум, и сглаживание, и обстакле детекция, лишь ползунки крутить для себя остаётся. Сам свой велосипед заебёшься писать для такого.
>>788357 >Тогда может хоть узнаешь когда он вызывается? https://docs.unity3d.com/Manual/performance-garbage-collector.html >Unity uses a garbage collector to reclaim memory from objects that your application and Unity are no longer using. When a script tries to make an allocation on the managed heap but there isn’t enough free heap memory to accommodate the allocation, Unity runs the garbage collector. When the garbage collector runs, it examines all objects in the heap, and marks for deletion any objects that your application no longer references. Unity then deletes the unreferenced objects, which frees up memory.
Т.е. сначала твоя игра распухнет и займёт всю доступную ей память, потом в рандомный момент времени проснётся GC, пройдёт по всем объектам в памяти, посчитает ссылки и отметит лишние, затем освободит лишние и вернёт управление игре (в режиме по умолчанию эта работа распределена на несколько кадров, но от этого не сильно легче, всё равно GC отнимает время кадра).
>На остальное твое сообщение и отвечать не хочется Потому что не знаешь, чем ответить. Ты утверждаешь, что делаешь только гиперказуалки, потому что нормальные игры у тебя не получается делать - почему не получается? Потому что боишься написать маленький классик на 600+ строчичек? Или потому что не любишь документировать свой код?
>>788361 >>788289 глянул тутор как настроить FPS POV синимашину, такой гемор. Для new input system нужно отдельный extension запилить. я осознаю всю мощь этой штуки, но анону, который пилит простую тупую бродилку она не нужно, ибо слишком overpowered
>>788367 Во 1х мы используем ютилиту которая включает мусорщик в параллельном потоке не приостанавливая поток с игрой. Во 2х, с чего ты взял что компоненты которые постоянно используются и на которые есть ссылки, будут очищаться из памяти? Я не говорю тебе создавать класс из-за 3х строчек кода. Но когда у тебя есть класс в котором 600 строк кода, и который наверняка раздутый просто потому, что в нем разная ответственность, то почему бы это не раздробить? Твои методы и переменные в этом классе так же будут очищаться мусорщиком. Так в чем твоя претензия?
> Ты утверждаешь, что делаешь только гиперказуалки Ну а это уже чисто твои домыслы. Если для тебя показатель большого проекта это кол-во строк в одном классе, то...
>>788379 А что ты хочешь услышать? Или может тебе видео со скринами на блюдечке принести? Тебе более опытный девелопер говорит что лучше её не использовать и там есть косяки, ты должен понять что если есть голова просто пишешь в гугле new input system error/bug и наслаждаешься кучей разных проблем. Лично сам сталкивался с невозможностью адекватной настройки и передачи.
>>788375 Ты точно про это https://docs.unity3d.com/Packages/[email protected]/ ? Ну хз, достаточно заполнить .inputactions, и ты уже можешь принимать данные сразу с клавы, мыши, виртуальных и реальных джойстиков. Тестировал небольшую демку на PC и на андроиде, где были виртуальные UI джойстики и кнопки (которые есть в комлекте с пакетом), все четко. Данные от всех устройств получаешь одной строчкой
>>788382 А че сразу не сказал ввести unity error/bag? Там еще больше ссылок найдет))0) Ты просто так пукнул получается, сказав что она аж на половину поломанная. Опытный девелопер
Анонче, есть где-то пример ютуб, гитхаб, как правильно подвязывать гуй или же анимации к логике? Я понимаю, что тут надо ивентами, но я не очень понимаю как это сделать правильно. Неужели в каждом игровом объекте должно быть под десяток ивентов тупо для апдейта интерфейса или анимаций? Это же в менеджере гуя будет полный пиздец в плане подписки на это все. нафаня
>>785963 (OP) Сап гдач, такие траблы не могу понять как обращаться к отдельным частям меша? Есть робот собранный из примитивных фигурок у него руки поворачиваются в из стороны в сторону в идле режиме. Анимацию сделал внутри движка. Повесил скрипт на робота с бросанием луча. Когда игрок попадает в зону действия рук то открывается огонь. Но столкнулся с тем что компилятор выдаёт ошибку он не понимает что нужно вращать только руки и ругается. Пробовал нацепить скрипт не на робота а на сами движущие руки и ничего не происходит, луч не кидается. За помощь буду благодарен, с меня как обычно нихуя.
>>788405 Делаешь скрипт UI manager, в нём при инициализации в авэйке или когда она у тебя происходит заносишь ссылками или любым другим путём весь нужный ui для логики. В нём есть либо функции либо доступ к этим элементам, всё. Логика проста -> У нас есть ссылки на все элементы -> Запрашиваем нужный элемент либо посылаем элементу команду -> Можно спокойно расширять или разбивать на множество скриптов.
>>788405 Делаешь в логике событие. Вызываешь его, когда тебе надо. Делаешь скрипт для ЮИ, подписываешься на событие. Поздравляю, вы изучили почти MVP паттерн!
Кто-нибудь знает как пофиксить это? Проект urp, для разной дистанции разная детализация теней, и вот на стыке этих дистанций, видна явная граница, нельзя ли сделать чтобы тени разных дистанций смешивались?
>>788377 >Ну а это уже чисто твои домыслы. Если для тебя показатель большого проекта это кол-во строк в одном классе, то... >>788193 >Я литературно охуел от того, каким надо быть умным в кодинге и почти дропнул геймдев из-за этого(теперь пилю только кал, который стыдно показывать). Т.е. ты делаешь кал огромных масштабов?
Вылезло окно, типа, есть новая версия юнити (у меня 2020.3.26, новая - 2020.3.27). Нажал на "скачать через hub", вылезло окно, где можно галочками выбрать дополнительные пакеты, типа документация, ios support, android suppport. Вот только все это я уже качал, когда устанавливал 2020.3.26, но видимо придется заново качать, ибо те были сохранены в 2020.3.26\Editor\Data\... (посмотрел пути в references)
Юнете параша не может нормально устроить обновление, блять
>>788667 Пути к компонентам можно указать вручную, но ты же прибежишь спрашивать А ГДЕ СКАЧАТЬ АНДРОИД СДК, поэтому для даунов всё устанавливается в папку с юнити.
Сделал у скрипта публичные property(j(из базовых типов данных). Но в инспекторе их почему-то не видно. Видно только обычные публичные поля. Можно ли как-то сделать чтобы все видно было?
Делаю аналог игры Понг. Для не шарящих, пикрил. Мне нужно сделать так, чтобы после того, как Игрок забивает гол, все доски (левая и правая палки) и мяч становились на исходные позиции (все посередине), а игра фризилась до нажатия любой клавиши.
Фриз (делал через Time.timescale) и рестарт через нажатие клавиши реализовал, а вот как сделать так, чтобы до фриза положение сбрасывалось на исходное? Пытался присваивать позицию объектам и до изменения таймскейла на ноль, и после - ноль результата, игра фризится в момент забивания гола, и после нажатия уже идет рестарт.
Как фиксить? Мне не надо готовый код, просто скажите что юзать и в каком направлении копать, а то я даже нормальный запрос в яндекс сделать не могу, тк я даже хз как это сформулировать
Представим что в момент забивания гола игра фризится как на пикрил 1, а мне надо, чтобы после того как мяч влетит в ворота, состояние объектов возвращалось в исходное (короче как на пикрил 2 только еще мяч посредине) и только после этого был фриз и ожидание пользователя. И я не понимаю как это сделать. У меня есть идея, что надо просто в функцию апдейта это все как то организовать, но я хз
>>788790 запоминаешь исходные координаты объектов перед стартом игры. типа 3 переменные. после гола передаешь их ф трансформ объектов, они влетают в старотвые позиции. фризиш. ждешь.
>>788798 >Делал так. как так? мне лично непонятно как ты сделал. Ну т.е. я понимаю, что принцип у тебя так, только реализация у тебя не так. Ну сделай так. типо чтобы скрипт возвращения на стартовую позицию был завязан на гол, а скрипт фриза на координаты объектов, и если они == стартовые, то игра на паузе до инпута. У тебя тогда физически не получится, чтобы фризило до возвращения
>>788804 Я хз как юнити работает, но есть подохрение, что он должен перед отрисовкой кадра скрипт выполнить полность. Получает таймскейл 0 и вот как бы да.
>>788813 Ну слушай это моя первая игра. Допишу ИИ, менюшки, звуки, VFX сделаю, выгружу в маркеты, тогда и буду "вторую фазу" своих фич имплементировать. Пока вот так.
>>788871 Юнитеки нахуй сломали там что-то в последних версиях, обещали исправить, на лтс версии должно быть наверное нормально, я сам хуй знает, на последней сижу. Если эта хуйня думает больше 30 секунд надо через диспетчер в пизду гасить, сама по себе хуй догрузит. Пиздец короче.
Сделал скрипт возврата объекта на исходное состояние (На ideone ссыль - https://ideone.com/I6j2Ll). Привязал их к ракеткам и мячу (пикрил 1). После выполнения условия на исходное состояние возвращается только мяч. Ракеткам вообще похуй, они как стояли, так и стоят на тех позициях, где закончили. Как это фиксить? Настройки объектов на пикрилах (для мяча и ракеток соответственно)
Дико извиняюсь за, вероятно, неуместный вопрос, однако любопытство распирает: Насколько сложно на Unity создать классическую пошаговую боевку Как в миллиардах jrpg или каком-нибудь Battle Brothers?
И ещё один: Каким диалоговым ассетом лучше всего воспользоваться для построения водопадных и, желательно, узловых тоже диалогов?
>>788959 >создать классическую пошаговую боевку Не сложно, т.к она пошаговая то схема будет простая -> Строится массив объектов которые в бою, и далее по формуле они ходят по очереди. Визуально тоже самое.
>Каким диалоговым ассетом лучше всего воспользоваться для построения водопадных Тут уже стоит исходить из собственных потребностей или возможностей, так-же можно своё написать, это тоже не сложно.
>>788968 >или схема не такая уж простая Не такая уж простая, если все разрабатывать с нуля. Тут буквально все стоит на компетенции программиста, его опыта и насколько ты юзаешь готовые реализации. Ты ахуеешь если это вообще ВСЕ с нуля.
>>788959 На юдеми курс был по созданию 2д рпг. Там челик делал пошаговую боевку. Код не ахти конечно вроде, но работало. Сам скрипт вышел на 600 строк, лол. Можешь купить курс или спиратить (на торрентах есть). The Complete Guide to C# & Unity Programming - Build an RPG
>>789007 Программист сначала плевался во все стороны и говорил, что код повсюду дерьмо и все дебилы. Потом передумал. Сделал сетку и очки действий и просчет пути. Теперь уперся в раунды и очередность. Вот я и думаю - может вместо того, чтобы велосипед изобретать, тупо взять откуда-то, да и вся недолгая? Единственное что не знаю как там с авторскими правами дела обстоят. >>789010 А вот это спасибо. Надеюсь поможет.
>>789012 Нормальные ребята покупают куча ассетов среднейхуевости и делают быстро прототип, смотрят метрики, тестят и потом уже садятся писать полноценно проект.
>>789020 Почти любой кейс обсасывали в туториалах на бурж. ютубе, конечно в просто реализации но и ты не ААА игру делаешь.
В первую очередь референсы ищи, можешь даже на яве и си-подобных языках готовые проекты на гитхабе брать как пример. Да и ассеты платные можно пиратить и выдирать от туда куски.
>>789024 Кажется, нашел. Спасибо, ты прямо выручаешь. >>789028 >Да и ассеты платные можно пиратить и выдирать от туда куски. Изначально и планировали. Смотреть как написано, и делать примерно так же. Но что-то не срастается. Не выходит у программиста код заимствовать. Говорит код везде плохой, а плохо делать не хочет. Вот я и пытаюсь разобраться в чем дело. Помочь хоть как-то.
Сейчас вон, буду по совету доброго анона пытаться под копирку проект создать. Сам я в программировании почти нихрена не понимаю, ну да ладно. Надеюсь там всё для дебилов растолкуют. >>789030 Бог его знает. Проект-то, вроде, простой как палка. Три режима:
Первый: стандартный, бегай по курсору, тыкай на нпц, устраивай анальные диалоги.
Второй: передвигай фишку по ячейкам квадратному или гексагональному полю с триггерами, кликай по кнопочкам, получай результаты & балабольство персонажей & очередной бой.
Ну а третий: стандартная пошаговая боёвка в квадратном поле, которую на том же юнити даже в порно-играх делают.
>>789035 >ничего сверхъестественного Мне влом тебе описывать все проблемы реализации, но знай, в твоем списке у каждого пункта есть дохуя подпунктов и если нет проектов готовых где ты можешь брать готовые модули будет геморройно и долго делать для начинающего.
>>789020 >Я вон, от безысходности, генерацию и диалоги на ренпае вообще пилю. Дурак ты. Так и быть, посоветую годноту. Yarn Spinner - готовая диалоговая система тупо для юнити. Бери, вставляй, юзай.
>>789084 Слушай, а выглядит удобно! Я весь магазин юнити перерыл в поисках подобного. Спасибо тебе! >>789041 Скорее всего так и есть. >>789044 А сколько бы это примерно стоило? Ну так, на всякий случай?
>>785963 (OP) Поможите по аниматору Сделал персонажа. реализовал прицеливание по курсору(персонаж водит винтовкой по точке курсора). Оружие реализовано как отдельный GameObject и вполне дружит с аниматором персонажа(через аниматор персонажа реализовано покачивание оружия при ходьбе) .
Но почему то при попытке анимировать выстрел через собственный аниматор оружия не работает функция прицеливания .
>>789101 >Слушай, а выглядит удобно! Я весь магазин юнити перерыл в поисках подобного. Спасибо тебе! Я знаю, анон. Я сам так же. Это реально лучшее решение + бесплатное.
>>789176 >public Image mask_; Ясен хуй это. Public GameObject - пиздец говноедство использовать кроме вынужденных мер. Просто потому что ты делая геймобджект повышаешь риск объебаться для всех. От самого тебя, до того дизайнера или стороннего чувака, который тоже обосрётся.
В стартовой сцене есть объект с кучей дочерних на нем и компонентом Cnvas Groop Объект изначально 100% прозрачен со всеми дочерними Еще есть левая кнопка, которая дергает метод в скрипте висящем на этом объекте, метод меняет в этом скрипте переменную и по ней в этом же скрипте в апдейте плавно меняется прозрачность через увеличение GetComponent<CanvasGroup>().alpha с 0 до 1. И все охуенно работает.. но не в билде. В билде при перезаходе в стартовую сцену этот 100% прозрачный объект ведет себя как деактивированный. Т.е. можно дергать в нем методы, но ни старт, ни апдейт не работают. Они работают при первоначальном запуске, но не при перезаходе в сцену. Причем только в билде. И это пиздец если честно, нахуя вот так делать, что в редакторе и в сборке разная логика? Понимаю, что они хотели что-то там оптимизировать, но зачем это делать таким способом?
>>789206 Объект всегда активен, изначально имеет 100% прозрачность через компонент Canvas Group и находится в сцене меню, происходит переход в другую сцену и потом возврат в меню. В редакторе все работает, но в билде при возврате в сцену меню скрипт этого объекта не работает - ни старт, ни апдейт Ты можешь воспроизвести, создав такой объект, и добавив в старт его скрипта, каротину которая через n должна включить его прозрачность. В билде при возврате в его сцену эта каротина не сработает, хотя при первом запуске и в редакторе все будет работать.
>>789208 >ни старт, ни апдейт Попахивает магией, не иначе. Ладно старт может не сработать если обьект не уничтожаемый между сценами, но апдейт, это уже за гранью. Советую хотябы просто пару дебаг логов сделать, где-то ты хуйню наворатил.
Как считать переменную из другого скрипта?Аноним04/02/22 Птн 13:44:49#328№789219
Делаю игру. Есть два скрипта (ссыль один и два), первый это отвечает за поведение счета, второй за поведение мяча и определение победителя. Мне надо из второго скрипта считать переменную winner.
Трабл в том, что при считывании переменная winner постоянно сука null из-за чего у меня образуется null reference exception (или как то так). Хотя очевидно что я виннеру значение присваиваю.
Вопрос - хули делать? Я весь гугол облазил нихуя не нашел, все что там советуют я уже делал и результат один и тот же
>>789219 Попробуй поиск ссылки на мяч сделать через авэйк. Второй вариант попробуй убрать поиск мяча в старте и сделай присваивание через инспектор. Тести в общем.
>>789223 На сцене готовый объект >говнокод Не такой уж он и говнокод, там все ебашат в одном файле и без функций, я еще это говно доработал, свичи вон добавил, уровни доступа сделал ля это мой первый боевой проект шо ты хочешь
>>789225 Дополню что т.к текст меняется лишь при событие лучше вынести это в отдельную функцию и вызывать только когда это происходит. Потому что апдейт вызывается по 10050 раз в секунду, и нету смысла так его дрочить.
>>789225 В смысле не говнокод? Тут буквально по пунктам все совпадает. 1. ball = FindObjectOfType<Ball>(); зачем ты это делаешь, если у тебя публичное поле которое ты можешь заполнить через инспектор? 2. Time.timeScale == 0 что это? Почему какой-то юайтекс делает такие проверки? Почему у какого-то юайтекста есть апдейт? Почему нельзя обновить юай через ивенты? У тебя там уже есть мяч, сделай ивент в мяче, в юайе подпишись и обрабатывай как тебе угодно. И хотя это все еще будет не правильно, так как юай имеет ссылку на мяч (а это ведь по сути твой игрок, а значит высокоуровневый класс), но все еще лучше чем было. 3. Какие еще кейсы по строкам? Да еще и по имени объекта на сцене. И это ж не даеб ради доеба, если ты захочешь переименовать что-то, тебе надо будет лезть по всем скриптам и менять все там. 4. Закешируй ты уже переменную GetComponent<Rigidbody2D>() раз вызываешь так часто. 5. Раз тебе надо просто знать какой игрок выиграл, используй enum а не текст.
Там еще очень много до чего можно доебаться, но в этом уже нет смысла. Так как даже базовые вещи хромают. Почему не посмотришь каких-то хороших курсов? Не наберешься опыта и не забьешь голову правильными вещами от опытных людей, чем привыкать писать сразу такое. Чеж вам всем неймется свою "игру" пытаться делать после недели обучения.
>>789238 Насчет 3 и 5, я позже сменю, тк хочу потом опцию ввода имени ввести, это на уровне прототипа. Я бля лучше буду сначала делать потом теорию смотреть. Сколько раз начинал с теории и нихуя не заканчивал. А тут работа кипит
>>789224 Сделал так чтобы виннер виделся. Но теперь значение не присваивается UI переменным. И ИДЕ выдает типа им нигде не присваивается значение и они по КД будут null. Хотя очевидно это не так. Ебучий Text Mesh Pro, а обычный текст слишком заблюренный, хуй знает как фиксить
>>789296 Один засрал, второй посоветовал экспериментировать. Последовал совету второго анона, получилось, сейчас все работает как я и хотел. Говнокод или не говнокод - другой вопрос. Хоть я и стараюсь делать по умному, но объективно скилла не дотягивает, так что делаю как могу.
Пока главный принцип: "Работает, как я хотел, ну и хорошо"
>>789299 Я другой анон, и пробовать писать код всё равно нужно, но еще нужно взращивать майндсет постоянного обучения и улучшения, потому что код можно и нужно улучшать всегда. Не бойся возвращаться и рефакторить если у тебя появляется идея как сделать код лучше. Подсматривай решения и других, дрочи паттерны, алгоритмы, структуры данных - вот это всё.
>>789428 Ну у меня такой план примерно. Сначала (п)опыт, потом теория. Я вот учебник шарпа прочитал, узнал про ООП, классы, листы, дженерики, а все равно 80% не запомнил, а щас вот кодирую, появляется понимание, что, зачем и когда юзать. Там глядишь и по красоте уже получаться начнет
>>789432 >Я вот учебник шарпа прочитал, узнал про ООП, классы, листы, дженерики Бесполезное дерьмо. Если у тебя желание делать игры, нужно делать игры. Всё что ты читаешь в 90% случаев ты не будешь использовать, а те 10% остатка сам сделаешь велосипедом. Поверь, теория с реальной практикой создания игры почти не встречается. Офкорс я говорю про одиночный инди-дев. А в юнити где используется куча ассетов и разных настроек с готовыми функциями и подвано.
>>789434 Вот и я о том же. Сколько раз начинал с теории, нихуя не заканчивал. Сейчас решил с практики начать, на нубтутсе как раз, который в ОП приложили скопипастил механики и спрайты для понга. А щас сам вот хитбоксы сделал, UI элементы, плюс скрипты из туторов немного улучшил, надо еще звуки добавить, след мячу, ИИ прописать, и я еще думал менюшки сделать, и если получится вообще игру по сети организовать. А там что в голову придет то и буду мб допиливать
>>789435 Самый идеал для практике любое подобие джема найти и вкатиться. Там и фидбек и возможность чужими глазами увидеть как будут играть в твою игру. Как ты и написал, основное умение это гуглить туторы и возникающие ошибки. Если не знаешь как реализовать тот или иной элемент тупо берёшь из тутора, и далее уже с пониманием идёшь дальше. Также важнейшее качество для одиночки это гуглить и находить ресурсы для игры по типу 3д/2д/музыки/интерфейсов/эффектов/ассетов, своё делать конечно придётся, но лишь малую часть.
> и если получится вообще игру по сети организовать Лично в моём списке todo этот пункт остался, всё что хотел сделал, но с сетью как то не складывалось.
>>789439 Да, я думаю на какой нибудь ТВГ обязательно влечу, летом наверное, тк щас учеба будет плюс РАБота. А так, думал к осени мб еще в WarGaming Academy попытаться, если набирать будут
>>789441 >WarGaming Academy Онлайн курсы, тоже самое бесполезное времяпровождение, как и инфоцыганство. Ты тратишь время и деньги, получаешь удовольствие т.к там всё показывают и рассказывают, но по окончанию лишь разочарование. Накопи денег, и лучше потрать на пару релизов в стиме, или если бесплатно то на том же итче, это даст в 999 раз больше полезного опыта и реального действия, чем курсы в вакуме.
>>789432 Правильно, тебе и не нужно всё помнить, тебе нужно в принципе знать что есть такие-то возможности у языка, и где можно подсмотреть чтобы вспомнить как они работают. Возвращаться к источникам это норма.
>>789434 Бесполезное дерьмо это ты, не надо концентрироваться на дроче программирования онли, но совершенствовать его понимание по ходу вката в разработку можно и нужно. Это просто инструмент, который позволит тебе делать игры быстрее и качественнее. Это по началу твоим играм не нужен сложный код, потом когда столкнёшься с более-менее сложной фичой охуеешь и наговнокодишь хуиты, от которой проект будет безбожно лагать и крашить винду.
>>789448 >который позволит тебе делать игры быстрее и качественнее. Давай догадаюсь, ты еще на той стадии что не выпустил не одной игры, но дрочишь чистый код и идеальную архитектуру, верно?)
> потом когда столкнёшься с более-менее сложной фичой охуеешь и наговнокодишь хуиты Пчелище, у меня уже десяток игр в стиме, и ниразу не было такого что фича не реализуема, всегда её кто-то делал или что-то подобное. Если бы я на момент вката по какой-то причине решил дрочить теорию, а не сразу лезть делать игры, то к этому времени наверное сидел бы да по тутору с ютуба делал хрень.
>от которой проект будет безбожно лагать и крашить винду. Так тебе как разработчику и надо за этим следить, обучаться, понимать. Юнити предоставляет все средства для этого, бери да используй.
>>789449 Вот и вылезли местные гады, которые ньюфагов отправляют заниматься чем угодно кроме как делать игры.
>>789451 Как же проигрываю порой с таких. Аж с десяток игр. Так показывай, не? Я уверен на 100% что там почти все если не все игры это говно уровня пет проектов какого-то джуна+. Ведь если бы там было чет реально годное, ты бы уже себя в грудь бил. Вот и получается, что ты написал скорее всего кучу херни типа платформеров или статичных шутеров и очень сильно возгордился собой. Конечно, тебе делающему такое не нужно дрочить код. Ты же буквально делаешь то, что нормальные разрабы называют прототипом. По сути, говнодел которые собирает из говно ассетов очередной шлак которых в стиме 100%. Мань, ты ради этого становился геймдевелопером?
>>789462 >Вот и получается, что ты написал Единственное что он написал - это пост о том что у него есть 10 игр. Если у человека реально есть хотя бы одна игра то он в этот раздел не зайдёт, тем более с целью кому-то что-то доказать.
>>789454 >>789457 >А у меня 50 игр в стиме. Чтоб выпустить около 50 игр в стиме тебе понадобится от 8 лет, и это минимум. >>789462 Вы думаете я буду что-то доказывать людям у которых цель это пердолинг, написание чистого кода, чтение миллиона статей и гайдов как надо делать, или что угодно кроме как создавать игры? У меня лишь цель чтоб ньюфаг который это прочтёт, задумался, особенно если у него никак не получается сделать игру, что возможно есть настоящий путь к его цели. Потому что я сам когда был таким. Пытался делать игры далеко начиная не с юнити, но никак не получалось закончить, вечно где-то бросалось на пол пути. Потом занесло случайно на эту доску, и в одном из срачей я прочёл что один из анонов упорно доказывал что НАДО сделать игру, а не дрочить. И не поверишь, я реально сел, начал гуглить как куда, и уже через 4 месяца выложишь в стим. Да у неё было десяток ревью, и покупок на 200 бачей, но как первый опыт, это было земля и небо, по сравнению с копошением на месте. И захожу на эту доску и пишу об этом лишь потому что уверен есть такие же как я, которым просто надо сказать ДЕЛАЙ, а не дрочи бесполезную хрень, тратя своё время, которое при этом еще и ограниченно.
>>789467 >сли у человека реально есть хотя бы одна игра то он в этот раздел не зайдёт Бред чистой воды. Не надо думать что как только ты релизнешь игру, и даже заработаешь ты автоматически удалишь харкач из закладок и решишь всё свое время посвятить клепанию игр. Даже больше скажу, тебе еще больше лень может стать, т.к деньги капают, делать ничего не надо.
>>789476 До собеса возвращайся сколько надо пока не вызубришь типичные собесовые вопросы, хули ты как ньюфаг. Алсо, мне на одном собесе разрешили пользоваться гуглом, но запретили смотреть ответы на стаковерфлоу, потому что тимлид адекватный оказался, я тупо гуглил документацию и решал задачки прям при нём, он сказал по итогу малаца и нанял меня.
>>789491 Я ходил на собесы целый год и там даже если я хорошо отвечал не брали (типа это не я придумал это они мне сами говорили что я молодец а потом не брали и игнорили), но я на сисадмина пытался. Что там с гейдевом я хз, можешь меня поспрашивать чего (я тебе не отвечу конечно но хотя бы знать буду).
Сам работаю "младшим программистом" в консалтинговой конторе, там на собесе спрашивали чисто про ООП, мол че такое полиморфизм инкапсуляция и был ли у меня опыт с REST API. У меня даже голосовуха осталась этого собеса где-то, наотвечал хуйню, но по итогу взяли за 30к горбатиться у них.
А с гейдевом как то получше идет, тут я хотя бы нагуглить могу то что мне нужно, и в итоге сделать задачу
>>789494 > А с гейдевом как то получше идет, тут я хотя бы нагуглить могу то что мне нужно, и в итоге сделать задачу
Порой в ахуе сколько гениев тут сидят. Говорят что все можно нагуглить. И тут же в этом треде или предыдущем чувак спрашивал как можно реализовать пошаговый бой и есть ли для этого туторы. И о ужс, оказывается почти нихуя то и нет) А если и есть, то только крупицы инфы различного уровня. Ну и как это помогает сделать задачу? Получается, анон с 10 играми буквально утверждает что лучше гуглить каждый чих, чем подсобраться и подучить программирование чтобы не чувствовать себя лошпедом не знающим как написать чет простое? Странные вы)
>>789495 >как можно реализовать пошаговый бой и есть ли для этого туторы Пчел, ты же сам понимаешь что пишешь бред. Ну кто тебе напишет скрипт с этим? Такая механика делается множеством скриптов, и их взаимодействием, плюс к этому идёт взаимодействие с менеджерами где хранятся типы и формулы для работы. Нельзя просто взять и даже тупо захуячить текстом как и что делать. Слишком зависит от внешних факторов и ведения автора.
Ну, если анон который это спрашивал не шарит за декомпозицию задачи, то тут уж не мои проблемы. Я например тут спрашивал почему у меня null reference выскакивает там где он не должен выскакивать, и почему скрипт делает не то, в итоге сам допер и сам загуглил по отдельности проблемы. А заодно и понял, почему так нахуй
>>789498 Какая декомпозиция, кек. Это ты тот анон который енам по строкам проверял и по имени объекта? Если да, то тебе вообще своем видение задачи нельзя тут писать. Ты ж зеленый как гуф.
>>789503 Ну я хотя бы что-то делаю, а ты продолжай дальше всех критиковать и удивляться, почему тебя все на хуй шлют (хотя ты не удивляешься, все же быдло, а ты красавчик)
>>789495 Сделал пошаговый бой за одним компом и по сети через стим лобби, с разграничением фаз ходов и выбора целей, блокировками нажатий, сохранением параметров, чатом, внутриигровым диктором и т.п. но пока без ИИ посредством гугления отдельных задач и постепенного "накручивания" всего этого в одну систему - путем многократного переделывания и улучшения. Гайды особенно видеогайды практически бесполезны, т.к. там все в куче и зачастую 90% описываемого тебе просто не подходит, но тебе нужно вникать во все это ненужное, чтобы понять 10% нужного а оказывается в итоге что и эти 10% совсем не то , или просто неправильно реализовано в принципе -это проста трата времени, сил и нервов мимолевыйразраб
>>789212 >Попахивает магией Пару дней занимался простым добавлением текста в других скриптах, сейчас пересобрал билд проверить шрифты - и тот прозрачный объект ,блеать, тоже заработал До этого собирал билд раз 8 и именно тот объект прозрачный подвисал как деактивированный, хотя остальное проект не маленький все работало без проблем. Вообще дичь какая-то, не знаю что и думать. Билд не так собрался 8 раз подряд? Но хули его только в том месте вышибло, а не весь перекосячило?
>>788959 >>>Дико извиняюсь за, вероятно, неуместный вопрос, однако любопытство распирает: Насколько сложно на Unity создать классическую пошаговую боевку Как в миллиардах jrpg или каком-нибудь Battle Brothers?
Сложно. Для не программиста практически невозможно.
>>789035 >Говорит код везде плохой, а плохо делать не хочет. По ебалу ему дай и скажи что для старта пусть будет плохой, а хороший он пусть в свободное время дописывает если есть желание.
>>789780 Тоже думал что буду делать ассеты и продавать за пару баксов, и хотяб немного кэша поднимать. Но очень сильно огорчу, там анрил что либо поднимать или продавать, одиночные покупки раз в неделю максимум. Возможно если иметь место где ты продвигаешь свой продукт по типу канала на ютубе, тогда и иесть смысл.
>>789801 А если крупные паки? Как раз делаю (да я уже писал) под мобайл Логичнее было бы сделать хотя бы модульные, но как в таком случае делать лоды :/
не могу понять, все нормально показывало, сейчас кинул анимированную текстуру на сцену, и ее почему-то в тесте не показывает. Тупо все кроме нее. В чем может быть причина.
Сделал анимацию, со сменой моделей. (при переходе от покоя к бегу меняются модели ног)
Все работает но есть проблема: при смене моделей поначалу включаются "беговые" ноги а потом отключаются"обычные" и в какое то мгновение у персонажа 4 ноги.
Подозреваю что проблема вот в этой хуйне(пик2) но я пока не умею с ней работать.
>>789827 Я бы посоветовал всю модель менять. Просто засинхронизировать по позам и переходам. Потому что ты ахуеешь потом от того как это все будет наслаиваться в дальнейшейм в проекте уж я то блин знаю, пытался реалтайм трансформацию из одного вида в другой захуярить. Пиздец был
>>789829 У тебя 2 модели есть. Разные. С разными костями и ногами, телом. По сути 2 разных объекта.
В нужный момент инстансишь новую модель, в нужный кадр её включаешь, старую выключаешь. Игрок не замечает подмены все происходит в один кадр, если нужно можно как в Prototype еще партиклями насрать.
>>789831 Просто скелетка штука очень капризная в юнити. И как восток - дело очень тонкое. В 99 процентов случаев проще воспринимать как отдельный объект в целом и заменять уже ими.
>>789832 >>789823 а есть гайд по такому? анимацию модели делал, а вот замену модели/ отключение включение частей, не осилил. Или вы не в юнити это делаете, а в сторонней программе?
Сука, планировал попозже пояснить, но блять. Придется расписывать. >>789853 Нет нахуй. Хуевый вариант блять. Анимация анимацией анимацией погоняет. Выстрелить в ногу будет проще.
>>789839 > а есть гайд по такому? Ну может что и есть. Я нихуя не нашел, сам осиливал. >анимацию модели делал, а вот замену модели/ отключение включение частей, не осилил
1. Если замена моделей как замена моделей без костей - то в модели есть Skinned Mesh Renderer. Отключаешь одну, включаешь другую. Если нужно - модель дробишь, веса подгоняешь. Либо цельную часть тела/все тело заменяешь 2. Как заменять? У юнити в анимации есть event'ы. Очень хорошая штука. Настоятельно рекомендую разобраться. Не проёбываются и всегда срабатывают. В них прописываешь вызов скрипта, который и удет заменять одно на другое.
>>789847 А что не так? Максимум 15,5к трис на нулевом лоде До 7,5к трис на втором лоде 800трис лол третьего уровня Текстуры 4к, используются два стека (можно и в атлас, но будет выглядеть не очень хорошо)
хелпаните с камерой иду ща по видеокурсу на ют(товердефенц), дополнительно к зуму камеры, движению ее налево направо, хочу добавить ресет ее к начальному состоянию. то есть, заходишь в игру, хуевертишь камеру туда сюда, потом хочешь нажать на R и камера возвращается на старое положение. по сути, надо просто начальное положение ее в какой-нибудь вектор3 запихнуть, а потом по нажатию кнопки его подставить. но я блять уже заебался, как это реализовать? на пике скрипт камеры
>>789780 Нихуя ты вывески присобачил на облицовочный кирпич, ещё и деформационных швов нету между зданиями, никто эту поддельную залупу даже покупать не станет
Чуваки, нужна пояснительная бригада. Прошел задание из лернинг юнити, надо было фиксить ошибки. Я пофиксил, но не понял почему такая хуйня. Изначально в 10 строчке было private и юнити ругалось на 27 строчку типа нуль референс эксепшонс, т.е. как я понимаю не было доступа к листу. Поставил сериалайзд и заработало. Так вот у меня вопрос, а типо какого хера у скрипта нет доступа в свою же переменную?
>>789981 >Нихуя ты вывески присобачил на облицовочный кирпич Брал из рефера, через google earth, видел подобное в том же Bronx-се > ещё и деформационных швов нету между зданиями не понял :/
>>790001 Я понимаю, что он видимым становится. Вопрос был немного не в том. Получается, чтобы показать мне в инспекторе лист, который по факту не создан, а создана только переменная, он его сам создает, чтобы было что мне показать. Как-то так выходит.
>>790002 Так просто уменьшение размера это не такая же вещь как разработка под мобилки. Ты пробывал со своими текстурами так сделать? И смотрятся они нормально?
>>789991 Видимые в испекторе массивы и листы создаются автоматически. Приватные (и те что не видно) нужно создавать самому. Да, такое только в юнити встретить можно.
>>789596 >Можно ли в PSB файл с частями тела "докидывать" еще какие то без надобности перепиливать заново персонажа ? Если да то как? Хз актуально ли еще. Я делаю так: один PSB для персонажа, второй PSB для его разных вариаций, скинов. Все кости просто копипастятся при необходимости с одного файла на другой
>>785963 (OP) Кто имел дело со стим апи. Есть пара вопросов.
1. Таблицы результатов/очков, реализуются просто подключением стима апи без сторонних расширений или арендования серверов? Всё у них и бесплатно? Так-же с производительностью и местом для хранения? 2. Стим облако позволяющее хранить сохранения, тоже за их счёт и без ограничения? 3. Локальная эмуляция от стима(для кооп игры), также бесплатно выступает в роли эмулятора сети? Как Хост+клиенты?
>>790225 >Локальная эмуляция от стима(для кооп игры) Там буквально (Если ты не простим мультиплеер говоришь) идет стриминг с экрана играющего и проброс управления.
>>790234 Не не я про локальный кооп, типо они создают локалку через свой сервис.
>>790244 Ты чего такой злой? Я спросил у тех кто это реализовал или использовал, фантазии безигорных про посмотри доки оставь при себе. Иди сри в движкосрач треде.
>>790246 > Ты чего такой злой? Я спросил у тех кто это реализовал или использовал, фантазии безигорных про посмотри доки оставь при себе. Иди сри в движкосрач треде.
>>790225 >Таблицы результатов/очков, реализуются просто подключением стима апи не просто, надо будет немного поебаться, т.к. стим написан на C+, а не на C# >Локальная эмуляция от стима(для кооп игры), также бесплатно выступает в роли эмулятора сети? Как Хост+клиенты? есть реализация сетевой игры через стимлобби, через стороннюю оболочку стимпанч от создателя игры Rust. здесь тоже придется поебаться, особенно, если нет опыта работы с сетью
>>790258 >т.к. стим написан на C+ У меня подключен апи стима, там на шарпах всё, удобно. Но реализацию того чего спросил не делал, из-за того что не знаю делает ли стим за меня всю работу или мне самому надо будет арендовать сервер и плать ежемесячно для этих дел. Игра небольшая и если трафик будет платный то хз будет ли покрытие. Поэтому меня досихпор и интересует, если кто лично делал, как там дела обстоят. Про реализацию сети через сторонние сервисы комнаты я то знаю.
>>790340 Он для любителей ООП, которым не нравится подход юнити - управлять зависимостями из редактора с помощью установки значений в паблик полях. С помощью зенджекта можно сделать внедрение зависимостей в коде в одном месте, как в их любимой джаве.
>>790432 >из редактора перекидывать объекты в поля Ты же в курсе так почти никто не делает? Всё происходит в инициализации и передачей ссылок через год обьекты.
>>790480 Если он такое спрашивает, то точно не сможет напрямую обращаться к ос, а готовых решений такого точно в паблике нету. Но юнити позволяет это реализовать, путём прямого запроса в апи длл винды.
Как я могу установить пресет TextureImporter как дефолтный? Вот у меня есть куча пиксельарт спрайтов, для которых нужно убрать фильтрацию и компрессию. Я создал пресет, назначил его в Preset Manager, но настройки спрайтов всё равно остались изначальными. ЧЯДНТ?
>>789212 >>789599 Нашел косяк. Я сохраняю на жесткий диск ключ с переменной, по которой задается язык. Редактор брал свой ключ с заданным русским языком, а для сборки свой ключ (он хранится в отдельной папке) и он стоял на английском. И вот в английском варианте, не было ссылки на один текст, поэтому в сборке скрипт сразу при запуске сцены вис намертво - и старт и апдейт сразу отрубало. Собственно, меня смутило что в редакторе все норм, но я рад, что это мой промах, а не багуля движка
Парни, такой вот вопрос. Я постоянно встречаю статьи по юнити, где рассказывается, как использовать разные библиотеки и подходы, заменяющие стандартные. По сути предлагается почти полностью переписывать все стандартные части юнети. Но я не программист, не создатель игр, у меня есть пару говноидей, которые я хотел бы реализовать. Насколько хуёвая у меня получится игра(с технической точки зрения), если я буду пользоваться только теми подходами, которые изучу на learn unity? Я не шарю особо в паттернах, синтаксис шарпа выучить относительно легко, особенно базовые вещи, но меня смущает то, что везде буквально пропихивают идею, что "это в юнити не очень, используй вот это" и подразумевается, что у меня 10 лет коммерческой разработки на шарпе и я пойму, как это впихнуть в движок, да ещё и в своей говноигре использовать.
>>790606 >>790615 Переведу на язык нормального общения. Этот недоразвитый дурачок, который семенит в каждом треде, не обладает достаточными знаниями, чтобы ответить по существу.
>>790606 В гейдевелопинге как и во многом все познается в практике, надо просто начать, со временем сам поймешь где какие практики применяют и главное нахуя. Если будешь слишком рано запариваться на деталях как делать PRAVILNO, так в итоге и не начнешь нихуя.
Прошу помощи. Хочу сделать объект, который крутится на определённом расстоянии вокруг персонажа. Как предметы-мухи в айзеке, например. Подглядел в интернете пикрил, но он нормально работает только когда персонаж стоит на месте. Как заставить объект нормально вращаться вокруг движущегося персонажа?
>>790624 >>790606 >Насколько хуёвая у меня получится игра(с технической точки зрения), если я буду пользоваться только теми подходами, которые изучу на learn unity? Это как рассуждать как правильно заплатить налоги, если я заработаю на своей игре больше миллиона долларов
>>790606 Чтобы понять, зачем тебе нужны нестандартные подходы, тебе нужно вдоволь попользоваться стандартным инструментарием. Затем ты его будешь по частям выкидывать и заменять либо кастомным кодом, либо васянскими мокрописьками (хотя zenject я бы освоил сразу - DI довольно примитивный концепт и позволяет привести кодовую базу в относительный порядок сразу, разбросав всё по сервисам и менеджерам) Я так пришёл в мир юнити из кровавого энтепрайза - прочитал в интернете, что корутины - говно ебаное, и есть няшный UniTask, где можно дрочить async/await прямо как в моём любимом крудоёбстве на asp.net'е, начал им активно пользоваться и соснул в итоге немытого от огромной кучи подводных камней.
>>790512 У тебя там TextureImporter, добавь SpriteImporter или как-то так, запамятовал
>>790533 Нет, советую использовать "самодостаточные" штуки, типа IK/шейдеров/еще какое-то гавно которое включил и забыл. Есть шанс, что к инвентарю и статам ты будешь постоянно возвращаться и разборки с чужим кодом займут время или возможно ты вообще захочешь все переписать. Сделать инвентарь со статами самому не так сложно на самом деле, а если первый проект - то даже полезно.
>>790660 >соснул в итоге немытого от огромной кучи подводных камней Каких это? У меня уже 3 игры без камней работают на ура.
>>790660 Какой смысл от всего этого мусора соло индюку? Для создания игра на юнити обычно анону не нужно вообще лишних плагинов и библиотек, с головой хватит того что юнити предлагает. Не вижу не одной причине, кроме как на чужих галерах юзать стороннее тратя время и силы.
>>790648 >>790649 Получилось, спасибо! Можешь ещё подсказать, как изменять расстояние на котором объект крутится? Сейчас приходится вручную на сцене его выставлять.
>>790660 >прочитал в интернете, что корутины - говно ебаное, и есть няшный UniTask Ты походу комменты на хабре читал, да? Корутины это единственное что возможно сейчас использовать если работаешь с монобехами. Может поэтому ты и обосрался с подводными камнями.
>>790691 Я еще на собесе скажу, что те кто пытается юзать MVC* в геймдеве где-то кроме UI полные дегенераты и долбаебы. И лучше им пойти обратно в энтерпрайз помойку от куда они и вышли.
>На собесе >На собесе >На собесе Нахуя работать в геймдеве? С раскладывания жсонов по микросервисам гораздо больше выхлоп по деньгам. У многих аккурат к тридцатнику заканчивается вся эта детская романтика про "хачу делать игры за многа деняк!", и приходит прагматичный расчёт, что на тебе, на твоих горящих глазах просто ездят кабанчики. У меня в конторе сидят пара бывших юнитидевов, и все их речи про коммерческий геймдев сводятся к "много ебали и мало платили". В итоге всю эту дошкольную романтику они сменили на хорошую зарплату, нормированный рабочий день, предсказуемость задач с гораздо более универсальным технологическим стеком. В студии вы даже не сделаете свою игру мечты, только если не запилите свою с нуля или не пробьётесь на место какого-нибудь геймдиректора.
>>790716 Двачую просвещённого, хочешь денег и собесы пиздуешь в другую отрасль. Хочешь делать игры, тебе нахуй не нужны собесы, делаешь, но на зарплатку если овощь не надейся. Обычно это все понимают когда съезжают от родителей и начинают платить коммуналку.
Посоны, как вы уровни делаете для своих игр? Интересует 3д от первого лица. Сначала блокауты расставляете или как? Что используете для их создания? Какие ассеты, инструменты?
>>790739 Есть множество способов и тулзов. Для себя использую так, естественно после диздока - Террэйн, большие объекты, мелкие объекты, генерация аи меша. Всё это дело группируется, далее расставляются эффекты, звуки, триггеры, блокираторы пути.
>>790716 >>790720 гейдев это такая же айти отрасль как и остальные направления. Не ебу что у вас там не так. Что в вебе, что в мобилках, что в игорях, ты пишешь один и тот же ебучий код. Будто гейдев внезапно олицетворение свободы и его можно воспринимать только так. От куда вы вылези то.
>>790795 >гейдев это такая же айти отрасль как и остальные направления. Пчел ты пхп или джаво макакой вкатишься за пару месяцев и начнёшь поднимать среднию по городу. В гейдев ты через пару лет только сможешь такое, и то не наверняка.
>ты пишешь один и тот же ебучий код Ты это будешь делать либо на мобильных казуалках, и то что даже в ту парашу попасть тебе нужно принять ислам и продать душу, и по деньгам намного ниже и напряжнее чем в том же вебе.
>Будто гейдев внезапно олицетворение свободы и его можно воспринимать только так. Так вылезай из под рабского крыла и делай соло, вот тебе и свобода. А если ты боишься ответственности и можешь делать только примитивные задачи которые тебе ставят другие, то это сугубо твоя проблема.
Ньюфаги не идут в геймдев чтоб разработать, для это есть сотня более простых и доходчивых областей.
>>790806 Пчел, я 2 года работал в ебаном вебе на сраном жс. И толку мне от зп 160к, если то что я делаю вызывает во мне лютую депрессию. И вот я спустя год учебы работаю за 80к делая ссаные ГК и меня не тошнит. Пусть это и ГК, но не тошнит же, понимаешь, пчел? А еще через год я буду получать те же деньги что и в вебе. Если для тебя деньги это главное и ты готов окунаться в говно которое ненавидишь каждый день, то ты просто говноед и раб. Раб не потому что на дядю работаешь, а раб потому что работаешь на работе от которой не то что удовольствия не получаешь, но и от которой так же тошнит и ты ели-ели на нее сил берешь утром.
Ну а по поводу твоей свободы про соло проекты.. Я в эту хуйню не верю. Инди игры это буквально игра в лотерею. Все равно что быть бомжом художником без денег, думая что вот-вот ты создашь шедевр который оценят. Какой с этого смысл? Думать что ты и есть тот выживший который наверняка стрельнет своей еба игрой которую ты напишешь в соло ага, да.
>Ньюфаги не идут в геймдев чтоб разработать экспертное мнение, очевидно же.
>>790813 Прям представляю твоё лицо. Работаешь на дядю на галерах дрочя каждый день один и тот же код и получая рабские копейки, когда нормальные пчелики сами в соло делают игры не парясь. У тебя в генах быть подневольным рабом не способным думать, просто смирись и не гори.129260
Сложно перекатываться из гамака в юнити. В гмс можно было написать enemy.hp-- и у всех объектов enemy на карте отнялось бы здоровье. Точно так же можно редактировать любой параметр у любого объекта. With (tank) {hp--; x=other.x; phe_active=true;} и так далее В юнити это, как я понял, достигается только путем ссылки на скрипт объекта? Как то геморройно звучит
>>790840 Ты просто привык к говну. "Удобные фичи" типа tank.hp-- наверное прикольно дебажить. Но раз у тебя в принципе возникла мысль перекатиться в юнити то всё будет хорошо.
Нужна пояснительная бригада. Есть класс Brick, в котором есть эвент. Есть класс Main Manager, который создает инстанс Bricka и добавляет в его эвент листенер с параметром AddPoint. Только этот AddPoint является приватным методом Main Managera и я чет в этом моменте нехуя не понял. Как брик через метод своего эвента вызывает приватный метод другого класса?
Посоны, кто-то пилит порно-игры? Интересует правовой вопрос,создание и распространение порно в РФ запрещено. Но эротику можно. Где и как узнать грань между порно и эротикой?
>>790855 Ну уголовном кодексе очевидно, а так же постановлениях высших судов по интересующей статье + комментарии. У консультанта плюс вроде есть бесплатный триал. Без него доступен только кодекс.
>>790855 Есть жи тред порноигр где такие вопросы более уместны. А так читай https://stykrf.ru/242 В отличие от эротического изображения в порнографии внимание акцентируется на контактах половых органов.
Но все это херня. Потому что если будут проблемы, то эти вопросы будет решать привлеченный эксперт, который и напишет выводы, как правило эти выводы полностью совпадают с обвинением.
>>790849 Прочитай про делегаты и полиморфизм в c# А если не хочешь читать то: да, ты можешь использовать приватные поля даже в публичных статичных методах. Как передал приватный метод? передается ссылка на этот метод, а "под капотом" передается Action (публичный класс) который ссылается на твой приватный метод.
1) ИИ преодолевает коллизию. У меня есть игровой объект, rigidbody + collision выставлено, задача у него это отбивать мяч. И этот ИИ просто игнорирует стену уровня, слегка за нее заступая, причем объект, за который я играю, с такими же настройками нормально себя ведет.
2) При запуске уровня у меня спавнится приветственное сообщение типа нажмите любую кнопку. Так вот если запустить первый раз, то сообщение не выведется (но ожидание инпута есть), а если выйти и перезайти то все норм
3) Как избавиться от бесконечного дублирования donotdestroyonload объектов? Я пробовал и через инстансы, и костылем через булеаны, в первом случае он перестает дублировать, но при перезаходе в уровень тупо null reference, а второй способ даже не сработал.
>>790883 Да скрины не помогут, код тоже в принципе, мне просто нужно знать, из-за чего такое может порождаться, это баг юнити или можно что то настроить?
Как вычислить расстояние от эпицентра взрыва гранаты к цели? Я делаю Physics.SphereCastAll(), чтобы найти объекты, которые задевает граната. Но там невозможно определить расстояние до точки пересечения? RaycastHit.Point показывает нули. А считать расстояние до центра цела не вариант.
Жопа горит, что я учил с4д и анрил, а теперь мне надо сделать модельку-аватар для врчата и это говно работает через юнити+блендер, где ВСЁ через жопу и непонятно
>>790809 О, прям моя история, правда работаю уже почти 3 года.
Ну вот хз, я как то умудрился на текущей работке выйти в работу по 4 часа в день, потом ковыряю гейдев в соло. Но меня от веба не тошнит, так что повезло видимо.
Работать в гейдев принципиально не иду, либо сделаю что-то сам либо нахуй пойду. Нет ничего хуже чем реализовывать чужие творческие проекты вместо своих. Даже во фронте мне гораздо интереснее какую-нибудь свою либу компонентов ковырять чем очередную говнотаску делать, но там мне в целом похуй, так как фромошлепство оно и в Африке формошлепство.
Кароче юники рассказываю историю. Я вот недавно доебался с плюсами и начал ковырять анрил и понял что: - Никакой нахуй инфы нормальной по плюсам в уе нет, 90% информационного пространства засрано блюпринтами - Сами плюсы какие то хуевые, с ебаными макросами говна и прочей хуетой, встроили сборщик мусора и еще кучу хуйни, нахуя тогда вообще плюсы - Хуже доки в жизни я не видел. Этим еблоидам бы vue.js доку глянуть, они бы охуели, или референс как на mdn
В общем планирую месяцок провести на юнити, даже петушарп учить не буду, надеюсь навыков плюсов и тайпскрипта хватит.
Вопросики собственно, может мне и не стоит начинать: - Насколько на юнити можно расслабится и ТУПО СИДЕТЬ КОДИТЬ а не оперировать какой-то абстрактной хуйней вроде БП? - В шапке написано что реалистик графон тяжко делается. Собственно по этому я выбрал UE изначально. Там бесплатный свэг каждый месяц, метахуманы и мегасканы, есть тут что подобное? Анонс про Ziva видел, но это когда еще будет. Хочу прототипировать и потом половину ассетов готовых юзать. Ослабляет требования то что игору планирую с видом сверху. Но скорее всего моделить я буду учиться сам и с нуля, полагаю в юни мне будет гораздо сложнее все сделать красиво?
Сам офк кодер, много К в сек, делать буду исключительно в соло, мб немного помощи запрошу у знакомого моделлера. -
>>790988 Все должно работать, покажи как ты подписываешься на эвент, или, если в инспекторе, скрин инспектора инпут филда. И на всякий случай уточню, ты же знаешь, что OnEndEdit вызывается по клику энтер? если ты другого не настроил
>>790982 >ТУПО СИДЕТЬ КОДИТЬ Есть ООП, СОЛИД и прочая лабуда, которая полезна и поможет красиво кодить, но в целом можно и без всего этого сам же потом в говнокоде разбираться будешь
>реалистик графон тяжко делается Отличие от анрила просто в том, что там такие вещи по-большей части из коробки поэтому почти любая игра на анриле узнается с первого взгляда и выглядят они все очень похоже В юнити есть все те же возможности, просто их нужно настраивать самому. Пишешь\качаешь пару шейдеров, настраиваешь пост-процессинг и вот тебе красивая картинка
>>790991 Мне еще непонятно, почему пустое поле появилось в эвенте, где я выбираю функцию. Если в него что-то написать, то это воспринимается как инпут и выдается дебагом.
а если делать не через инспектор, то надо получать ссылку на импут фиелд, выбирать нужный эвент, приделывать к нему аддлистенер и аргументом в него пихать мою функцию?
>>790991 Я проверял, в дебаг вставлял напрямую стринговое значение, не переменную, и он выводилось в консоль. т.е. эвент у меня срабатывает, только аргумент почему-то не передает.
>>791078 Ну можешь полистать, слишком все обобщенно без конкретики, на уровне разбора интерфейса и то что такая хуита есть. Никакой глубины, я думал мне там за азы шейдеров и рендера пояснят, в итоге показав лишь простейшие примеры.
Думаю, а не попробовать ли мне переписать свой проект, пока он ещё малый, в духе компонентно-ориентированного программирования. Основной акцент в том, что нет никаких классов логики - только классы компонентов. Никаких наблюдателей, координаторов, и прочих. Каждый компонент просто делает свою работу, об общей картине он ничего не знает, а ее и нет. Но, суть в том, что компоненты при взаимодействии с друг другом будут создавать нужный гейм-процесс. Это как создать компоненты "волк", "заяц", "нора", и при запуске эти компоненты становятся живыми обособленными сущностями. Логика будет настраиваться в компонентах. Типа, у волка можно указать, что цель - компонент заяц, а нора - пускает только зайцев. Да логика тут сложная часть, но по сути я как бы создаю мини ai, которые взаимодействуют друг с другом.
Вообще мне кажется будущее за визуальным программированием. Игра будет собираться по кусочками из готовых компонентов, и связываться с другими компонентами стрелочками. Вот сколько раз за десятки лет был написан код передвижения? А собирательство предметов? 1000000 раз. А если бы это был встроенный в юнити компонент, или какой-то библиотекой, написанной специальными людьми, то не было бы никакого велосипеда. Хватит писать одни и те же скрипты по миллиону раз. И, нет, готовые ассеты не решают эту проблему. Код вообще не нужен в 2к30. Нужен компонент. Да, некоторые компоненты могут требовать вмешательства в код, но это очень редкий случай. Вот пример такого в процессе: Ты хочешь сделать игру, где чел ходит и собирает камни. Соберёт все - выиграл. Вот как бы это было бы: Открываешь пустое окно. Добавляешь компонент "3d объект". В нем указываешь его меш, его материал. Называешь его "Камень". Ставишь галочку "это подбирается". (В другом окне он появляется на террайне, там ты можешь расположить его куда хочешь.) Создаёшь несколько таких камней ещё. Потом добавляешь компонент "инвентарь". Потом добавляешь компонент "коллекция" который соединяешь с "инвентарь". В "коллекцию" перетаскиваешь все камни. Коллекция будет генерировать событие "собрано", когда в инвентаре будут все предметы, которые не указал. Ну а по этому событию можно показать поздравительное окно. Потом добавляешь компонент "персонаж". Его соединяешь с "инвентарь". Тоже указываешь меш. По умолчанию в него уже будет встроена механика интерактивности, типа "нажми е, чтобы что-то взять, включить, и т.п.". - она будет пополнять компонент "инвентарь". И все. Никакого кода. Дело на 2 минуты. Куча компонентов на твой вкус. Некоторые компоненты - это сборка других компонентов, которые можно расщепить. А теперь расскажите, как долго уйдёт это написать с нуля.
>>791168 Звучит хорошо если ты делаешь неоригинальный кал. Вот что мне делать если я делаю рубильню на мечах, но управления мечом, который я задумал, нет ни в одном из известных рубилен?
>>791173>>791173 >Звучит хорошо если ты делаешь неоригинальный кал. если ты делаешь неоригинальй кал, из которых состоят 95% всех игр в магазинах, но при этом имеют миллионы закачек fix >управления мечом, который я задумал, нет ни в одном из известных рубилен? управление это все лишь анимация, не думаю, что будет так сложно. в идеале просто добавляешь ее к персонажу в список анимаций, а в качестве триггера добавляешь комбинацию нужных кнопок .
>>791168 >Вот сколько раз за десятки лет был написан код передвижения? А собирательство предметов? 1000000 раз. А если бы это был встроенный в юнити компонент, или какой-то библиотекой, написанной специальными людьми, то не было бы никакого велосипеда. Да, и именно поэтому код будет за людей писать Github Copilot и аналоги. Я даже больше скажу - профессия программиста умрёт через 20-30 лет и большую часть кода, за исключением пару-тройки областей, будет писать машина. Программист - это, фактически, оператор телеграфного ключа из 20 века. Уже сейчас Copilot по текстовому описанию может набросать тебе работоспособный код средней руки, пройдёт ещё 5-10 лет - и он сможет спокойно написать программу, микросервис или игру.
Вопреки расхожему мнению, что первыми нахуй пройдут водители и сфера обслуживания, первыми пройдут нахуй именно программисты и вся их обслуга - тестеры, менеджеры, девопсы. Останутся только инфраструктурщики-железячники да гибрид архитектора и бизнес-аналитика. Советую прочитать вот эту статью: https://engineeringideas.substack.com/p/programming-becomes-obsolete-quickly
Программисты сами сделали всё, чтобы их порешала машина - выложили огромное количество кода в общий доступ как исходный материал для дип-лёрнинга, сделали инструменты верфикации кода в виде автотестов, CI/CD и прочего. В 2050 никаких программистов не будет, кроме вымирающих динозавров, поэтому всем кодерам я советую задуматься, чем вы будете заниматься через 20 лет и как бы подольше протянуть до пенсии.
>>791205 > профессия программиста умрёт через 20-30 лет вот ты мне скажи, ты еблан? какими фактами ты оперируешь называя эти числа? уже очень давно технологии начали развиваться по экспоненте и я тебе анус ставлю, что копилот и любой другой софт можно будет уже использовать во всех мыслимых и немыслимых задачах через 1-3 года
>>791220 1. Копайлот ещё даже из беты не вышел. К концу этого десятилетия это будет всё ещё плагин в IDE, который будет удачно решать некоторые рутинные задачи - вот понадобилось тебе распарсить ответ с какого-нибудь сервиса или набросать по фасту работу через protobuf-grpc и ты многократным прожатием таба описал класс для работы с ним. Потом спустя месяц у тебя падает прод, ты читаешь доку и понимаешь, что копилот накалякал какой-то хуиты, пизженной из репозитория какого-то васька с 3 звездами на гитхабе и матерясь, правишь вывод нейросетки.
2. Текущий deep learning-подход достиг своего предела в GPT-3 и других подобных моделях, для следующего качественного скачка нужно что-то другое. Китайцы увеличили число параметров, но вывод едва ли стал лучше. Нужен новый подход, похоже, это станет имитация работы нейронов на железном уровне.
>…пытаться построить интеллектуальные машины путём масштабирования языковых моделей — всё равно что строить высотные самолёты для полёта на Луну. Вы можете побить рекорды высоты, но полёт на Луну потребует совершенно другого подхода.
3. Машина всё ещё не умеет думать и придумывать код - в практическом смысле это выражается в том, что код всё ещё должен верифицировать человек, а именно что новый код и новые задачи машина решить не сможет. В программировании задачу можно решить как хуево (не оптимально по времени и памяти), так и хорошо. Новые задачи дип лернинг решать не умеет - он умеет только комбинировать уже придуманное человеком до этого. Вот, например, машина нагенерировала код уровня яндере дева - пустишь такое в прод? Если уволить программиста, который мог бы прочесть этот код,
4. Человеческий фактор, инерция людей. Для массового adoption'а технологии нужно от 3 до 5 лет. Начнётся это так - сперва евангелисты крупных корпораций начнут петь на конференциях разрабов, как они с помощью нового инструмента успешно заменили пару отделов индусов, потом технологию начнут подхватывать стартапы и прочие компании второго эшелона. Сколько там потребовалось людям, чтобы массово контейнеризацию в куберах и CI/CD освоить? Лет 6-8? Ну вот столько же будут осваивать генеративные нейросетки. Всё это будет сопровождаться массовыми увольнениями и наборами программистов
5. Копилот порой дословно воспроизводит код из репозиториев, защищенных анальными швабодными лицензиями - кто с этим разбираться будет?
Я думаю, что большую часть этих проблем можно решить, и займет это как раз лет 20. В ближайшие 10 лет точно ничего не изменится, но в будущем, я думаю, что формошлепство и большая часть геймдева канет в лету - буквально любой порридж сможет купить/нагенерить себе ассетов, описать на естественном языке свою киррильскую игру мечты и кое-как её собрать в работающую игру. Возросшая вычислительная мощь позволит класть хуй на оптимизацию.
>>791199 >управление это все лишь анимация, не думаю, что будет так сложно. в идеале просто добавляешь ее к персонажу в список анимаций, а в качестве триггера добавляешь комбинацию нужных кнопок Не, я хочу чтобы анимация риггилась на положение и направление мышки, а не тупо по кнопкам анимацию запускать. Хочу чтобы ты буквально водил мышкой чтобы мечом махать.
Новоиспечённый вкатыш на связи. Везде пишут, что GetCompanent в Update плохо. Как тогда избежать этого, если нужно взять нестатичную переменную из другого скрипта?
>>791205 >Уже сейчас Copilot по текстовому описанию может набросать тебе работоспособный код средней руки, пройдёт ещё 5-10 лет - и он сможет спокойно написать программу, микросервис или игру. А описание ему нужно будет давать четкое и подробное?
Сап, аноны. Очень нужна идея, как сделать систему заданий, прошу помощи. Игра представляет из себя (или скорее будет представлять) ходилку-квест. Систему заданий я представляю себе примерно как в Life is strange, никакого журнала нет. Когда подходишь к предмету, с которым можно взаимодействовать, над этим предметом появляется надпись, там содержится немного информации о нем. Появление надписей я сделал следующим образом: у объекта, с которым можно взаимодействовать, имеется дочерний объект коллайдер-триггер, когда игрок попадает в этот коллайдер, надпись появляется. Но как следить, какие задания игрок сделал и как вообще реализовать сами задания я никак не могу придумать
любую игру на юнити можно вскрыть и выебать во все дыры даже il2cpp, я немного посмотрел и обычно подобные дллки грузят в игру через мелон лоадер или beepinex и можно проверять директорию на наличие левых файлов и закрывать игру, а вот как быть если дллку загрузили иным способом? обычно выделяют память и создают новый поток через VirtualAllocEx и CreateRemoteThread, как-то можно изнутри игры пробежаться по всей памяти и найти аномалии?
>>791347 Чет сложно, бепикс скачать, плагин скачать, мелон лоудер скачать, потом это все в папках разложить. У меня где-то тула была с одной кнопкой "extract" и без этой ебли все доставалось
>>791363 В настройках проекта, Mono будет работать на mono (вау), il2cpp создаст плюсовый код (работать быстрее не будет, пока не начнешь использовать бурст или джобы какие-нибудь, а из минусов trim может начать удалять generic методы и конструкторы)
>>791362 В комплекте с URP пакетом идет или probuilder-ом
>>791375 Шутка — это фраза или небольшой текст юмористического содержания. Она может быть в различных формах, таких, как вопрос/ответ или короткая байка. Для достижения своей юмористической цели шутка может использовать иронию, сарказм, игру слов и другие методы. Шутка, как правило, имеет концовку (кульминацию), которая заканчивает повествование и делает его смешным.
Сначала надо составить псевдокод всего игрового процесса на бумаге или в Word-e, и потом конвертировать его в настоящий код. Я прав? Этим псевдокодом можно описать как игровой процесс, так и внутреннюю работу компонентов. Возможно, нейросети будущего будут генерировать игры именно по псевдокоду?
Собс-на, как я пришел к этому: Когда-то я просто стал ебашить свою игру, лишь бы не остаться очередной безыгорной чмоней и хоть что-то иметь, пусть и всратое по исполнению. Я давно придумал сюжет, задания и геймплей своей игры, а также я хорошо знаю Unity и C#. Сначала реализовал UI, потом движение игрока, далее некоторые игровые механики. Первый столбняк схватил, когда стал реализовывать паузу. Time.timeScale = 0 оказалось недостаточно, и, не особо заморачиваясь, добавил в некоторые места if (isPaused) ... Это работало, но я уже тогда стал чуять пиздец. Переписал потом все же с учетом реализации паузы, стало норм. Но потом случились следующие курьезы, и код в итоге скатился в сраное говно и писать уже стало почти невозможно. Вот я и подумал, что с этим мне поможет составление схемы, в которой я учту все возможные нюансы, и только потом начну писать реальный код, чтобы не переписывать.
>>791608 Тебе надо в архитектуру и расширяемость, а не блок-схема или псевдокод в ворде. Блок схема то конечно хорошо, но какие ты связи будешь выстраивать, если понимания нихуя нет.
Я прервал для себя порочный круг всех вкатунов в гейдев и наконец-таки создал свою первую поделку (пикрил - моя демка). Осталось ее немного немного доработать, пофиксить баги и можно уже в гуголь плей выкладывать. Отдельный тред как-то глупо создавать, но тут не поделиться своей радостью не могу. Аноны, поздравьте меня :3
>>791782 Да там интуитивно понятно, какие комментарии. Неужели не понятно например что ball.cs отвечает за поведение мяча а textUI за вывод UI? К тому же я по директориям скрипты раскидал
>>791660 Это конечно заебись, но меня больше интересует именно специфика по юньке. В частности хотелось бы где-то ознакомиться с примерами использования архитектуры на основе MVC и/или ECS для юнити.
>>791875 Конкретно цикл не устраивает, мне нужно, чтобы пока кнопка нажата по чуть-чуть отнималось хп. Вот что я сделал. Кстати, скажите пожалуйста, почему этот код крашает мне ОС.
>>791883 >запускает корутин каждый кадр когда кнопка нажата >скажите пожалуйста, почему этот код крашает мне ОС. Пиздец, я смотрю запускать корутины в апдейте это местный мем походу.
>Конкретно цикл не устраивает, мне нужно, чтобы пока кнопка нажата по чуть-чуть отнималось хп. Вот ты говоришь цикл тебя не устраивает, но сам запускаешь корутины ЦИКЛОМ В АПДЕЙТЕ, где логика? Вместо запуска корутинов просто сразу отнимай хп, я ебал в рот блять, тупо переделай свой ебаный корутин в апдейт.
Пиздец просто, чего у вас так руки чешутся юзать корутины где не надо?
>>791906 Во-первых, спасибо за ответ. Во-вторых, не понимаю. Я же создал переменную тэг, перед очередным запуском корутины он проверяет запущены ли другие... Так кажется до меня немного допёрло, корутина просто не отключается. Да?
> Где не надо Я гуглил, на юнити форуме написано, если хочешь отнимать хп постепенно, используй корутины или Math.Lerp. Так как корутины у меня трудно идут, я выбрал их.
>>791960 Смотри, корутин это по сути цикл, апдейт это тоже цикл, запускать кучу циклов в цикле без четкого осознания того что ты делаешь это верный путь крашнуть движок. Апдейт гарантированно запускается каждый ёбаный кадр. КАЖДЫЙ.ЁБАНЫЙ.КАДР. Поэтому хорошенько подумай прежде чем запускать какой-либо цикл внутри апдейта, да и вообще что-либо внутри апдейта, спрашивай себя: а справится ли мой движок с этим каждый ёбаный кадр?
Корутин работает также как апдейт, но в отличии от апдейта его можно приостановить помощи команды yield, которая остановит его на один кадр или несколько если юзать с waitforseconds или как там, или можно остановить полностью при помощи StopCoroutine.
Анон выше правильно сказал что для твоих нужд хватит 3 строчек в апдейте, или если хочешь можешь вынести это в отдельный метод чтобы чистенько было.
Гайз, чет туплю. чтобы скрипт объекта мог использовать код другого скрипта, нужно чтобы другой скрипт был засунут в компоненты(соответствеено юзаем гет компонент и т.д.) или в первом скрипте должен быть создан экземпляр второго скрипта через variable = new script? Эм ай райт и уже обращаемся к методам второго скрипта через переменную?
>>792051 Я решил вопрос так >enemyPrefab.GetComponent<EnemyX>().speed = waveCount; То есть сперва получаешь доступ к игровому обьекту, в данном случае enemyPrefab, а потом геткомпонентном вытаскиваешь скрипт, и из него нужный метод или значение и ебёшь его в рот.
В интернетах пишут: 1. Не использовать Update() (и остальные похожие методы) ни для чего, кроме ловли инпута игрока. А что вместо них использовать-то, ёпту? 2. Не использовать Resources.Load и прочее. А что вместо него использовать-то, ёпту?
>>792146 Да, луч. Нагуглил как надо. А в гамаке есть моусе.х и моусе.у. а тут как бы приходится иметь дело с 3д. С одной стороны не нравится, что решение полностью не мое и свое я бы сейчас такое не написал, даже если бы знал куда копать. С другой стороны даже лернинг юнити говорит, что надо гуглить. Хз карочи
Гайз, хочу пару быстрых вопросов задать. Делаю что-то типа простого битмейкера. Игровой экран - это несколько кнопок, каждая издает свой звук. Будет возможность выбрать несколько разных наборов из этих звуков для составления песни. Я начал делать так - основная сцена одна, кнопки одни и те же. Но в зависимости от выбранной песни в рантайме назначаю им разные разные звуки. Или же нужно сразу просто в инспекторе все звуки сложить в коллекцию в каком-то объекте? Или вообще разные сцены с конкретными кнопками с уже назначенными звуками? Вроде бы напрашивается вариант с заргузкой нужных звуков и присвоением их кнопкам в рантайме. Но чет читаю и там как будто сложно все. Нужно Asset Bundles юзать или Addressable. Умаоляю, подскажите, как вообще принято это делать в Unity, я только учусь.
>>792279 Ну по идее в гамаке такая же метода как с лучом, только за тебя уже всё сделали, потому что там эти координаты нужны постоянно, а в юнити это частный случай из множества других.
Вообще в юнити хорошей практикой для поинт-энд-клик систем считается сделать пасфайндер из невидимого компонента, который ты расстилаешь на поверхностях, куда персонаж сможет ходить, заодно сразу проводя расчёт поиска оптимального пути. Есть бесплатные готовые решения, я видел и пользовался таким в одной из обучалок юнитеков.
>>792288 Не ебу, но у меня есть опыт разработки в вебе, и я тебе так скажу: сделай то что первое в голову приходит. Если что потом просто рефакторингом займёшься. Или нет. Но так или иначе ты что-то сделаешь и получишь попыт.
>>792279 >А в гамаке есть моусе.х и моусе.у. Это супер неправильное решение, друг. Именно поэтому гмак и заглатывает хуй и не станет нормальным движком. Расти на голову выше. Потому что тут буквально кроется полное говно гамака.
>>792450 Да ладно тебе ругаться, гамак прикольный. И мануал там хороший, что для начинающих важно. В юнити без скилов каких-то в скриптинг апи еще поди разберись.
>>792454 Я не спорю, братан. Я сам с гм5 в 2006 году начал. Но блять, у меня часть друзей на нём нахуй и остались и банально не выросли, оставшись тупыми дегенератами, неспособными даже в базовый ООП.
У меня есть знакомый, который на пару с другом оказывается года с 2016 уже как выпускает игры на стим. Игры полный кал на бесплатных ассетах, сделанные без души и даже попытки слепить уникальный геймплей, привнести новую идею. Их игры стоят по 100-150 рублей и имеют по 5-20 отзывов, часть из которых получили игру за бесплатно.
В чём прикол? Типа если вылить в стим тонну говна то она через какое-то время принесёт прибыль?
>>792485 >Типа если вылить в стим тонну говна то она через какое-то время принесёт прибыль? Потому что стим теперь позволяет засирать себя. Полным говном, главное чтоб хоть как-то работало. Полная свобода.
Почему IPointerMoveHandler не задокументирован? Вроде работает но почему этого интерфейса нигде в доках нет? У меня шиза? Че-то не то делаю походу хуй пойми
>>792538 Ну то есть у тебя там суперкласс из нестандартного неймспейса, сам суперкласс не гуглится и ты мне еще какие-то претензии предьявляешь? Вопросы по твоей шизе я так понимаю можно считать закрытыми?
>>792533 Ну русский язык достаточно разнообразный, чтобы придумать нечто отличное от "пацаны, а вы нахуя говно это хуярите?" и достаточно обтекаемое, чтобы получить ответ на нужный вопрос.
>>792799 Ну тут несколько странностей. Например файл, указанный в туториале, я его нахожу по указанному пути и он не PNG, а TIF. Вот конкретно он в инспекторе и тут такая же залупа лол. Или я совсем долбоеб?
>>785963 (OP) Господа добавьте в шапку рекомендацию для ньфагов использовать книгу Разработка игр на Unity 2018 за 24 часа Авторы: Майк Гейг · 2021 Для меня она стала просто настольной библией почти все аспекты движка показаны и разобраны.
В отличие от богомерзкого Юнити в действии, где автор просто усложняет код, ради кода(не берите его чтобы не наткнутся на менеджер для менеджеров и т.п.)
Есть скрипт где камера следует за игроком. В скрипт добавлена булевая переменная следовать\не следовать. Оно все работает
Есть геймобжект при касании которого булевая переменная должна меняться и камера должна переставать следовать за игроком. Оно не работает. Чому? Вроде бы такая система всегда работала
>>792979 Скачал, на досуге пролистаю и отпишусь что думаю.
>>793021 Судя по всему у тебя камера не находится. Проверь правильно ли ты название вбил. Алсо у тебя названия не по гайдлайнсам. Названия гейм обьектов должны с пробелами быть, переменные кэмелкейсом.
>>793021 GameObject.Find использовать хуёвая практика, начинать не стоит. Если тебе просто объект с камерой найти надо, можно Camera.main.gameObject ёбнуть, он по тегу MainCamera находит.
>>793099 >GameObject.Find использовать хуёвая практика, начинать не стоит. А чем плохо?
>>793105 Я не он, но по идее еще можно перетаскивать в инспектор как публичную переменную. Но поиск по тегу ничем не не лучше GameObject.Find, причём я больше скажу, если уникальное имя предмету ты задать можешь, то развешивать всем пердметам уникальные теги нет, поэтому если ты ищешь какой-то конкретный обьект, то поиск по тегу по идее даже хуже.
Делаю простенький платформер. Есть некие интерактивные объекты которые активируются\деактивируются кликом мышки.
Сейчас задумал что бы активировать предметы можно было в определенном радиусе от персонажа. Как это проще сделать?
Есть варианты навесить на предметы триггеры определенного радиуса и проверять находится ли игрок в них либо навесить его на персонажа и проверять находится ли предмет в радиусе.
Какой способ проще и может быть есть способ лучше?
>>793200 И то и другое вариант, просто смотря что тебе нужно. При варианте с триггером вокруг персонажа ты не сможешь сделать триггеры разного размера для разных предметов, зато он будет всего один. Еще можно программно проверять расстояние, но это кал-калыч, сразу говорю.
>>793211 >Еще можно программно проверять расстояние, но это кал-калыч, сразу говорю. С херали? Я всегда пищу с этих мамкиных девелоперов которые навешают тригеров на объект и радуются. Ну да это просто, но что делать когда у тебя поведение объекта зависит от степени приближения к нему? Ну давай расскажи как можно менять размер тригера программно или ты серьёзно будешь юзать несколько тригеров? >>793200 А вообще взрослые мальчики используют райкастинг и не ебут мозг ни себе ни людям. Но если для тебя сложно, то просто програмно следи за расстоянием до цели и создавай нужные условия.
>>793228 Я просто не хочу воодушевлять людей здесь лезть в апдейт без надобности, тут уже были любители засунуть туда корутины.
Каст лучей будет примерно такой же по оптимизации как триггер, зато проще в исполнении. Если ему понадобится менять поведение от степени приближения, то тогда да, только программно.
>>793232 Блядь, при старте у твоего предмета запускается измеритель расстояния, если твой герой пересекает черту определённой условием то срабатывает то что ты хотел. Поиск осуществлять можно по имени, тегу или напрямую в редакторе(что хорошо для производительности, но ужасно неудобно если у тебя не один персонаж) Пчел ну не поленись почитай книгу Разработка игр на Unity 2018 за 24 часа Авторы: Майк Гейг · 2021, я который нихера не смыслю в движке и то понимаю, как делать такие элементарные вещи.
>>793240 Да я тогда слегка подохерел, когда мне товарищи из треда для моего карликового проекта советовали корутины использовать.
Но раз уж пошло, мне вот сейчас просто из любопытсва интересно можно ли реализовать анимацию плавной прозрачности, исчезновения и появления без корутинов. В документации ничего не нашёл в книгах напрямую указывают, что обычном апдейте никакой плавного исчезновения не будет.
>>793247 Можно, и даже с корутинами, но тебе надо убедиться что у тебя запускается только 1 корутина для исчезновения за раз и была проверка запущена ли корутина сейчас или нет, то есть нужна стейт-машина. Опять же корутина по сути тот же апдейт, но который можно запаузить и остановить, поэтому может тебе и апдейта хватит и корутина необязательна.
Где-то читал, что можно написать игру, где только один Monobehaviour. Ну, допустим, а как быть, если есть много объектов, где требуется ловить OnTriggerEnter, OnTriggerExit?
Вот что мне не нравится во многих играх: это скорость курсора/прицела/вращения в игре. В некоторых он быстрый, в некоторых - медленный. Все разработчики добавляют свой параметр speed, который применяется к вращению, и этот speed можно отрегулировать в настройках, если для тебя он оказался слишком медленный/быстрый.
И я тут задумался. А как сделать-то, чтобы скорость движения мыши на рабочем столе операционной системы, (как это настроил пользователь), соотвествовала вращению камеры в игре? И как это должно выглядеть. Я думаю, выглядеть это должно так, как на гифках: курсор должен двигаться с той же скоростью, как и объекты в камере. То есть, курсор прилипает к объектам. Если это происходит, значит, мы не исказили пользовательскую чувствительность/скорость мыши, и ему не надо будет залазить в настройки.
На обоих гифках это один и тот же запущенный сеанс, на второй я лишь отошел подальше.
>>793183 > как публичную переменную только для того чтоб в инспекторе была Если ты на юнити устраиваться куда-то будешь - тебя обоссут всем отделом за такое. Изучи уже [Serialize Field] и не будь уёбком. >>793105 Поиск объектов через геймобджект файнд - хуёвая практика по 2 причинам. Незначительная: Оптимизация. - геймобджект пробегается ПО ВСЕМ объектам в сцене и проверяет их имя. А если у тебя их 3000? Прикинь как такая вообще полуненужная хуета подвесит систему
Значительная: Тотальный обсёр с точки зрения архитектуры. А вдруг ты случайно геймобджект переименуешь? Или у тебя будет 2 таких геймобджекта? Все уже частично покатится впизду. Юзай принцип инкапсуляции ООП (скрипт вася, знает петю, а петя знает влада и обратившись к коле может добраться до вообще любого нужного чувака). Не лучшее решенее, но оно реально снижает обсёры. И не стесняйся юзать испектор и заранее все навешивать.
>>793247 >Но раз уж пошло, мне вот сейчас просто из любопытсва интересно можно ли реализовать анимацию плавной прозрачности, исчезновения и появления без корутинов. Можно блять вообще без программирования, лул. Юзай аниматор и эвенты юнитевские
Хочу вкатиться в юнити, но возникли проблемы уже на уровне запуска. Hub не хочет активировать лицензию, пишет про интернет соединение, с которым в порядке. Пробовал по советам откатиться на старую версию хаба, но не нашёл её в сети. Кто-то решал этот вопрос? Есть варианты?
>>793843 Могут, но имхо возможно реально имеет смысл об этом волноваться только после того как всё уляжется. Возможно потом РФ будет как Северная Корея и тебе не до разработки игр будет.
Как вкатиться на РАБоту unity разрабомАноним01/03/22 Втр 12:39:03#711№793851
Ну работаю я в разработке уже, только не в гейдеве. Ну сделал я одну игру, правда кроме гитхаба, никуда не выложил. Ну делаю я вторую. А дальше то что? Что еще надо? Уже можно бегать по собесам? Или надо 10 ГТА разработать? Нихуя не понимаю, помогите мне!
Хочу вкатиться в юнити, но возникли проблемы уже на уровне запуска. Hub не хочет активировать лицензию, пишет про интернет соединение, с которым в порядке. Пробовал по советам откатиться на старую версию хаба, но не нашёл её в сети. Кто-то решал этот вопрос? Есть варианты? >>793753 Не дает запустить без лицензии, т.е. без хаба.
>>793851 >Уже можно бегать по собесам? Если более-менее что-то приличное, то изи. Вкатываешься в ГК там самый низкий порог. Спустя полгода перекатываешься во что-то приличное. На старте нужно толкь понимание ООП и SOLID паттерна
>>793918 Что такое ГК? Я только про группу компаний знаю. А приличное, ну хз, в моем (((портфолио))) сейчас аналог пикрила и пара расширений для Visual Studio (не путай с VSC). Хуй знает, хватит этого или нет при наличии опыта разработчика в трудовой
Сука как внедрить сенсорное управление? Мне надо пальцем перетаскивать объект. Пытался через тач - так эта хуйня просто в сторону улетает при малейшем касании. Помогите мне пожалуйста!
>>793944 ГиперКазуал. Стандартная мобильная дрисня. На лютых галерах один хуй 40к получать будешь Джуном. И рост в течение года. Буквально заебашь пару раннеров, вкури в юнити аниматор, да гуёвый канвас раздуплись и норм. Работу найдешь
>>793982 Могу тебе ссылку на проект скинуть, сбилдишь, увидишь как работает, если хочешь. Только кек, в самом приложении после билда скрипт засчитывания гола отваливается, хотя на компе все норм
Я хочу еще кликер сделать и спейсшутер. И потом искать РАБоту в гейдеве. а насчет 40к, так я на текущей 30 получаю, так что это еще хорошо видимо...
>>793987 >>793988 Спасибо за отклик, сделал через тач, только теперь два стула - если менять через position то коллизия не срабатывает, а если через велосити, то он начинает вести себя как ебнутый.
>>793997 >40к, так я на текущей 30 получаю, так что это еще хорошо видимо... Это стартовая ЗП во множестве контор для буквально зелёных джунов макак у нас. Если хоть немного показывает мозгов и вывозишь - она растёт. Я сам за год вырос с 50к стартовых до 140к.
>>794005 ты вырос с 50. У меня вообще перспектив по ходу нет. Погугли про Microsoft Dynamics AX (это просто майкрософтовский 1ASS). Парадокс в том что я в решении своих задач даже загуглить нихуя не могу тк все очень специфично.
>>794038 Да я бы рад, только хз как. Опять же, есть план - сделать хотя бы 3 игры. Вот, одну сделал, и та с багами. Смотрю вакансии, а там везде от мидла и выше, и вопросы такие что я ебал, типа что такое квантерионы и подобная ересь. Эх, за что я такой не такой
Анончики, помогите с системой событий. Такой вопрос, после удаления объекта, в скрипте которого есть событие, от этого события отписка происходит или надо отписываться вручную? И вот ещё вопрос. Пример. У меня 3 скрипта: Менеджер событий Противник И ещё один скрипт, для частиц, на том же противнике.
Менеджер событий на сцене сразу, а вот противник генерируется позже. Если я подписался в менеджере на события противника в Start(), то он ведь не подпишется на противника?
>>794348 Ну вот я пытаюсь это сделать, там проблема в том, что в документации... Короче, я не знаю, как узнать количество подписчиков. В документации был какой-то метод, но он не работает для всех событий Вообще хуй знает, для чего он применяется. "GetPersistentEventCount" , я гуглил правда хуёво, но в итоге забил.
>>794443 У тебя трабл с винтовкой и обработкой анимации движком кривоватой. Не твоя проблема, а Юнити. Добавь просто для кости с винтовкой больше фреймов, чтоб не проёбывалось. Буквально поинсерти, чтоб оно не объебывалось с предугадыванием и все будет ок.
Привет, поясните, пожалуйста, что не так с моим сраным роботом. Я пытаюсь приделать ему скелет через Unity Animation Rigging, но он не вписывается внутрь кубов, а наоборот выходит за пределы префаба. Не могу понять почему. Мне кажется что-то не так с префабом, но я недавно начал и не вижу причин.
>>794332 > Менеджер событий > в менеджере на события противника ты долбаеб? Менеджер событий для пидоров, во-первых, во-вторых, если он есть, то он должен содержать события, а не подписываться на них, твоя задача передать противнику менеджер при создании и пусть это он подписывается-описывается. По поводу описки, пойми простую вещь, событие - это делегат, подписка - это добавление указателя на метод к делегату. Таким образом, если сам делегат исчезнет, то исчезнут и указатели, но если исчезнут методы, то ты получишь указатель на несуществующий метод (нулреф), если ты точно знаешь, что делегат уничтожается первым, тогда можешь не отписываться, хотя это моветон.
>>785963 (OP) Так, я понял, что делать анимации в юнити не самое лучшее решение даже по началу. Сделал модельку в блендере и там же ее анимировал. В юнити с ней происходят странное — в редакторе модель повернута в сторону Z, как и положено, вроде бы. Однако при запуске игры, модель поворачивается на 180 градусов. Возможно дело в том, что в блендере модель лицевой стороной была по Y, но в гайдах было сказано, что лучше при экспорте проекта в юнити задать лицевую ось Z, это я и сделал. В чем может быть причина?
Второй момент: сделал регдолл, чтобы во время анимации коллайдеры следовали за моделью. Все работает, коллайдеры есть, они следуют. Некоторые коллайдеры на конечностях неправильного размера, я пытаюсь их отредактировать, но возможности поворота коллайдера по осям почему-то нет. Хотя в тех же гайдах есть, там вертят как хотят. Да и сами коллайдеры, если посмотреть четвертый скрин изначально располагаются на несколько градусов в стороне от позиции модели. Меш модели тоже почему-то повернут. Почему такое может быть?
Ниче не понимаю. Все смотрит на Y, при экспорте указываю, что лицевая сторона Y. В юнити префаб смотрит на Z, как должен, при этом скелет почему-то смотри на Y, а куб на -Y. Если запечь оси, то все кроме скелета смотрит на Z
>>794817 Если игра будет интересной, народ и без этих костылей в жопе прикрутит и моддинг и мультиплеер. А если через IL2CPP прогонять не будешь - еще и спасибо скажет.
>>785963 (OP) Сап ютитач, изучаю летопись еблана от ЮНИТИ в ДЕЙСТВИИ Дошёл до системы сообщений и > Создайте сценарий с именем Messenger и скопируйте в него одноимённый скрипт со страницы 404 и далее весь учебник строится на этой системе сообщений. Я позже конечно нашёл этот скрип, то он категорически отказывается добавлять события которые я пытаюсь объявлять.
И внимание вопрос, так ли нужна эта система сообщений если изначально в юнити не предусмотрено ничего подобного?
Так ли плохо привязывать жёстко ссылки на события внутри скриптов?
>>794842 Почему среди моддеров будто нарочно сидит толпа топовых разрабов с кучей свободного времени, которые ждут пока какой-нибудь вася выпустит кривую но популярную игру, чтобы потом прилюдно унизить его, прикрутив к игре моддинг, мультиплеер и еще патч, который исправит его говноподелие и добавив кучу фичей, которые оригинальный разраб не смог или не догадался?
Почему они просто свою игру не сделают? Зачем им вот так унижать?
windowSettings.Close();//закрывает всплывающие окна в момент начала игры } private void OnEnemyHit() { _score += 1; scoreLabel.text = _score.ToString(); }
Компилято ошибки не находит, но когда стреляю по мобу выскакивает сообщение что подписак не найденно, поэтому удалять нечего. Может я с синтаксисом обосрался? В случае с float всё работает
public const float baseSpeed = 3.0f;//базовая скорость регулируемая ползунком
Привет, подскажите как реализовать вкл/ выкл хелсбара противника в бою. То есть мне надо, чтобы хп у противника отображались только во время боя, вне боя, либо после смерти, хп должны пропасть. Есть такой код:
public class HealthBar : MonoBehaviour { public Slider slider; bool isFighting; public EnemyLogic showHealthbar;
public void Update() { if (showHealthbar.playerInSightRange) { isFighting = true; }
if (isFighting) { slider.gameObject.SetActive(true);
} }
Тут я сделал бул на начало боя, который должен быть тру, если другая булевая переменная с другого скрипта будет тру:
public class EnemyLogic : MonoBehaviour
public bool playerInSightRange;
public void Update() { playerInSightRange = Physics.CheckSphere(transform.position, sightRange, whatIsPlayer);
Большую часть кода я упустил, оставил главное, на мой взгляд.
В общем понятно, что как только я оказываюсь в радиусе противника, он меняет playerInSightRange на тру в скрипте EnemyLogic, isFighting ловит тру из этого скрипта и тоже становится тру в HealthBar скрипте, включает хелсбар. Выкл я еще не делал, пока интересует вкл.
Вопрос почему не срабатывает тру на isFighting, если я попал в зону видимости противника? Наверное я неправильно написал обращение к переменной из другого скрипта, как правильно?
Сделал в Animation Window две анимации, подъем (z позиция меняется с 0 до 0.5) и спуск платформы (c 0.5 до 0).
И тут проблема. Допустим, платформа не до конца поднялась, но я хочу ее отпустить с текущей позиции. В итоге она сначала моментально поднимается наверх, и только оттуда начинает спускаться. Можно ли ее спустить именно с текущей позиции, чтобы не было этих рывков?
Да, я в курсе, что проще вручную сделать в Update. Но мне интересно, можно ли такое добиться с использованием анимации?
У меня одного Пластик наебнулся? Почему-то пропала орга, почти все вкладки на сайте ведут к ошибке 404. Есть подозрение, что из-за санкций. У вас все нормально?
>>795335 Можно, но отдельными костылями через пустой геймобджект по аналогии с динамической анимацией у персонажей с IK. Секса там будет у тебя много если не никогда не делал, и намного проще и быстрее юзать тот вариант который уже знаешь.
>>795282 > паблик поля > физика в апдейте > жесткая связанность > компоненты и говнокод > @ говорит ему про стейт-машину лол
>>795202 если это основное, то ставь Debug.Log(playerInSightRange) раз уж про точки останова не слышал и смотри выдает ли true при пересечении сферы игроком, может в маске накосячил или ещё где
>>795428 >паблик поля Как что-то плохое. И вообще я как увидел костыли с иф-конструкциями вместо стейт-машины сразу пост накатал. От стейт-машины там хуже не станет, и того гляди уровень погромизма поднимет пока изучать её будет.
>>795132 Кстати, ты уволен. Кстати, пошел на хуй Сорян, но я по 3 абзацам на код не гадаю, хз что ты там делаешь, что у тебя кто-то ссылается на несуществующий объект, хотя я тебе сказал, что если делегат будет уничтожен первым - тот, кто и является держателем ссылок - то все ок, иначе нужно отписаться
>>795430 > Как что-то плохое если это не ецс, а ты не мамкин инди-разраб, то да, что-то плохое > костыли с иф-конструкциями принятие решений в апдейте - это не костыли, это говнокод > От стейт-машины там хуже не станет он, с таким уровнем, слово паттерны через год услышит, какая там на хуй машина?
>>795435 блядь, зачем мне тебе что-то объяснять, ты даже не джун, а если где и работаешь, то случайно туда попал, раз не понимаешь, что к пабликам любой вася имеет доступ, а тем более настолько не уважаешь свое время, что готов заниматься драг энд дропом?
>>795439 Ты на вопрос не ответил. Ну имеет доступ любой вася и че? И драг энд дроп это у юнити стандарт, как и паблик поля для него. А ты походу каргокультист, у которого инкапсуляция ради инкапсуляции, без вникания нужно это в данном случае или нет.
Помните механику читов в гта са? вводишь последовательность на клаве и триггерится какой-то чит, хочу так же, пока только в голову уебанский говнокод приходит
>>795442 драг энд дроп у юнити - это интерфейсная фича для ГД, никак не для разработчиков, покажи хоть одно место, где это применяется на уровне движка. Смысл в том, что я в коде пишу 1 строчкой что мне надо, где и когда, а не как уебан потом сижу и вспоминаю какой я там компонент хотел накинуть. Паблик поля имеют место только для сериализации, иначе это долбоебистика, ибо дело не в инкапсуляции, а в безопасности данных и связанности. Похуй, что все твои сервисы на пабликах не имеют смысла из-за простоты взлома, но и так же при работе в команде никто не будет разбираться можно ли твои поля юзать, раз есть доступ, то можно, а потому при последующих изменениях весь проект полетит в пизду, поэтому я и говорю, ты не джун даже, раз банальных вещей не понимаешь, твой уровень - пилить проект мечты на мамкины деньги
>>795447 чекай паттерн цепочка обязанностей, мне кажется, реализация через него
>>795428 Я ставил дебаг, почему-то не было тру во втором скрипте HealthBar, даже когда в оригинале был тру EnemyLogic. Посмотрел дальше по интеренету как можно обратиться к скриптам из другого скрипта, попробовал впихнуть оба на один префаб — сработало. Не очень понял почему не работало изначально. Ну и да, со стейт-машиной я пока пытаюсь разобраться, потому что первый раз вообще про нее слышу. А пока костыли и говнокод насколько позволяют руки для практики
>>795455 Ну вот значит то, что ты скинул - далеко не все, что нужно было. Где-то ты значит поле showHealthbar переопределяешь, если ты его вообще до этого как-то передавал в скрипт, дело не в нахождении на одном объекте, это вообще не связано никак
Сап помогач. Продолжаю пилить игру но столкнулся с проблемой
Нужно реализовать прицеливание по курсору. Сделал по гайду на ютубе то то что получилось "не дружит" с включенным аниматором, даже после того как анимацию прицеливания сделал "пустой". Какой посоветуешь способ решить проблему?
>>795450 >при работе в команде никто не будет разбираться можно ли твои поля юзать, раз есть доступ, то можно, а потому при последующих изменениях весь проект полетит в пизду Ты заебал жопой вилять, тимлид недоделанный. Конкретный случай мне приведи когда паблик поле для перекиыдвания туда драг-н-дропом геймобьекта вызывает последующий каскадный резонанс, в ходе которого проект идёт по пизде. От тебя только общие фразы и переходы на личности пока без конкретики. Ощущение что ты тут зеркалишь на меня своё положение.
>>795518 Конкретно то что по ссылке создавал вроде только текстовик. Вот например в утилите для vuejs https://github.com/vuejs/vue-cli/issues/7054 одна из зависимостей ставила сердечки. В node_modules мире принято на любую однострочную хуйню ставить зависимость, так что это еще много где всплывет.
>>795520 Олень тут ты, потому что сидишь и доказываешь что паблик поля являются исключительным злом, и при этом толком ответить не можешь почему, а прижатый к стенке сливаешься. А факт в том что абсолютно любая фича может сыграть злую шутку, если пользоваться ей бездумно, но твоё бездумное следование догмам это просто другая крайность, восторженный джун ты наш.
>>795531 Я сливаюсь потому что ты долбаеб, который читает текст как ему удобно > паблик поля в компоненте > ПЛОХА? > если это не ецс, а ты не мамкин инди-разраб (читай: проект для себя), то да, что-то плохое > ДАКАЖИ > к пабликам любой вася имеет доступ > ИЧОТАКОВА > простота взлома + жесткая связанность > ПРИВИДИ КОНКРЕТНЫЙ ПРИМЕР. У МЕНЯ НИТАК. СЛИЛСЯ. ЛООХ
Какой, блядь, тебе конкретный пример? Ты сам то о публичных полях в целом, то о том, что у тебя только они для ГО, приведи мне конкретный пример кода на пабликах, я тебе конкретно его разъебу, иначе иди гуляй, пидораха
>>795545 >приведи мне конкретный пример кода на пабликах Я тебе конкретно сказал - чтобы драгндропать геймкомпонент. Тебе написать его? Пожалуйста:
public GameObject mamkuEbal;
А теперь сочини мне сценарий, при котором это приведёт к каскадному резонансу. Я тебе полностью развязываю руки и ты можешь насочинять какие угодно корнеркейсы, постарайся не выставить себя еще бОльшим дауном чем сейчас.
>>795567 вот тебе пример: в твою mamkuEbal подсунули спидозную иглу, и теперь тебе осталось жить пару лет, ведь ты нихуя не смог протестировать перед тем, как юзать это поле, достаточно каскадно срезанировало, ебанашка?
public class Shape : MonoBehaviour { protected Color color; private void Start() { color = GetComponent<Renderer>().material.color; } void OnMouseUp() { TaskOnClick(); }
public virtual void TaskOnClick() { Debug.Log("Mouse click on Shape"); } }
Есть его дитё:
public class Cyllinder : Shape { void Start() { Debug.Log(color); } public override void TaskOnClick() { Debug.Log("Mouse click on Cyllinder"); Debug.Log(color); } }
Ну так вот, если у дитя будет красный цвет, то если я уберу метод Старт, то я увижу после клика на нём что цвет красный. Если же я оставлю этот метод, то он покажет что цвет по нулям, то есть черный. Обьясните что за хуйня? Я пока обошёл это костылём, но на будущее интересно.
>>795608 а, бля, может не правильно помню, просто как-то тесты писал на проверку цвета и нужно было в плей-моде их писать и пропускать кадр, иначе юнити ругалась, что материала не существует
Есть GameObject в виде ружжа. Ружжо становится активным когда персонаж берет его в руки, стреляет и становится неактивным когда персонаж убирает его. На ружже висит дочерний объект ShellPoint по координатам которого генерятся гильзы в момент выстрела.
Однако юнити кидает NullReferenceException при попытке обратится к ШеллПойнту , который как и ружъе в данный момент активен. Проблемы не возникает если ружье включено с самого начала
>>795750 Проблему решил. Вообще это хорошая примета-ебаться с какой то проблемой пару часов, спросить на дваче и тут же ее решить после этого. Но все равно спасибо. Держи котика
>>795769 Я не в курсе о большей части аспектов в юнити.
Ружжо было выключено по умолчанию в иерархии и включалось через аниматор в начале анимации доставания ружжа. Таким макаром попытка доступа к нему выдает ошибку, даже если в момент запроса(хотя может проеб как раз в этом) ружжо включено.
Пофиксил включив его в иерархии и выключая через аниматор на прочих анимациях где оно не используется.
Аноны, пожалуйста, помогите. Пытаюсь сделать так, чтобы объекты как бы примагничивались к главному объекту. В OnTriggerEnter добавляю AddForce к объектам, но они медленно уползают не в ту сторону, почему оно так? Я пробовал заменить на AddForceToPosition тоже самое, повернуть через RotateTowards, ну и через MoveTowards всё одно.
А ещё такой вопрос. А почему объект Vector3 состоит из трёх точек? Конечно, у меня в шараге с линалом было всё очень плохо, но ведь... вектор нельзя же задать тремя точками, да? Заранее спасибо за ответы.
>>795432 Спасибо за ответ. Я не хотел тебя оскорбить или что-то вроде того, анончик сверху спрашивал,- а почему не "протестируешь" и поймёшь, как оно работает, вот я и протестировал. А если удалять вот так вот делегаты, это память сильно не засрёт? И засрёт ли это память меньше, если перед удалением делегата от него отписаться?
Если интересно про тот код, там я инстансил кучу противников, которые друг на друга подписывались и после смерти одного событие посылалось на всех, включая убитого, вот и нулл референс.
>>795852 У тебя какая-то хуйня тут: .AddForce(Vector3.RotateTowards(Vector3.MoveTowards ты вектор силы, который направлен к твоему объекту, разворачиваешь на угол, на который нужно развернуть тело, чтобы его форвард был обращен к цели. Тебе нужно разделить, сперва body.rotation =..., а потом AddForce
А по поводу векторов могу посоветовать "Игровой движок. Программирование и внутреннее устройство | Грегори Джейсон", всё не надо читать, можешь даже тупо только 5 "Глава 5. 3D-математика для игр" - что такое скаляры, какие бывают системы координат и прочее
>анезапно перестали быть видны партикли >пропердолился 2 часа пробуая разные варианты из гугла >в итоге проблему решил простой перезапуск Мда, знакомство с юнити началось заебись.
>>795948 Я так три дня ебался с неработающими анимациями, обиделся и забил на два дня, потом запустил юнити снова и все работало. Нихуя с прошлого раза не поменялось, но все работало как надо
>>795967 >как сука, вы хоть что-то сами умеете искать?
Описание с доков >Представляет генератор псевдослучайных чисел, то есть алгоритм, который генерирует последовательность чисел, отвечающую определенным статистическим критериям случайности.
Юзай семя и при каждом обращении его меняй, будет тебе счастье
>>795948 У меня бывало ломался даже не юнити, а компилятор, код тупо не работал так, как должен, помогала только пересборка проекта. Так что советую почаще ломать и набраться опыта в исправлении на ранних этапах, иначе чревато забросить почти завершенный проект
Делаю кастомный инспектор, и у меня есть список, который помечен SerializeReference, там я храню объекты разных типов.
При клике по элементу у меня делается PropertyField с этим элементом. Все работает, вот только когда в инспекторе раскрываю какой-нибудь элемент - фпс пиздец падает, вплоть до того что инспектором невозможно пользоваться почти. Даже когда там всего элементов 10.
Причем если список обычный, из одного типа, помеченный SerializeField, то все идеально работает даже если я сотню объектов туда закину, то есть проблема именно когда я из инспектора пытаюсь обращаться к полю, которое сериализовано по ссылке.
Возможно ли это пофиксить? Мне по сути просто нужно, чтобы был некий список объектов разных типов, и для каждого типа я мог свои параметры настраивать, вот как в разных нод эдиторах есть разные ноды с разными параметрами - вот мне типа того надо, но намного проще в плане визуала, может есть еще какие-то варианты как это сделать?(без безумия вроде создания в скрипте скрытых скриптабл обжектов)
>>795992 > при каждом обращении меняй Не помогает, я просто спавню сразу несколько разных противников и проблема, видимо, в том, что псевдослучайные числа забиндены на миллисекунды или типа того... Хотя это не так, я вроде гуглил и в Юнити какой-то другой метод используется Если кто-нибудь знает - просветите, это Линейно-Конгруэнтный метод?.
Короче, при спавне получаются волны одинаковых противников, с низкой вероятностью появления.
>>785963 (OP) Есть в природе книга с best practices разработки игр на юнити? Не дебильные туториалы "создаем эрпоге за 10 уроков" после которых у тебя на руках кривой, косой примитивный, но "законченный продукт" из ассетов с диска. А книжка, которая учит делать правильно и отучает делать неправильно, знакомит со стандартами и тонкостями. Как книги майерса для плюсовиков, только для геймдизайна в разрезе юнити.
Код генерации чего либо всегда выглядит как тонна функций в каждой из которых миллион циклов или всё же есть красивые способы для реализации подобного? В коде 0 ссылок на unity. Просто сама игра на юньке
>>796511 А как по твоему производится генерация? Берётся куча обьектов, из них строятся циклы с вероятностями, и далее идут циклы которые генерят это дело в шаблоны или в клетки. То что ты хочешь чтоб красиво и мало, это либо не генерация, либо условная генерация из уже готовых шаблонов по типу выбора готовой конструкции.
>>796549 >А как по твоему производится генерация? Я про красивый код скорее. Понятное дело, что всё в итоге сводится к многократному проходу по циклам с System.Random.Next + coef1 + coef2 + coef3. Но можно ли это как-то красиво обставить, чтобы глаза не вытекали при виде тонны циклов в цикле. Ладно, согласен, вопрос говна.
>>796552 Всё что мне приходит на ум, и то чтобы лично я сделал для себя еслибы была цель сделать красиво, то спрятал бы большинство нужных функций куда нибудь в жопу, и на виду оставил бы грубо говоря коофиценты для ввода рандома. Т.е получилась бы одна функция из которой уже вызывались бы десятки других с нужными коэффициентами. Но это чисто чтоб психологически было легче, суть остаётся таже.
>>796511 В зависимости от задачи может подойти какой-нибудь алгоритм, который может реализовываться либо как набор циклов, либо, с использованием спец. структур данных, он может быть и похитрее.
>>796618 >Можешь обьяснить что должен делать алгоритм? Могу. Есть массив bool[,] определяющий квартиру, где true - это значения, которые являются частью квартиры, а false - пустые места ну или места другой квартиры - не суть. Все ячейки true располагаются так, что находятся как минимум рядом с одной другой ячейкой нет изолированных ячеек сверху, снизу, справа, слева эта генерация уже готова и очень мне нравится. Нужно поделить квартиру на комнаты, так чтобы все ячейки каждой отдельной комнаты были рядом друг с другом. Я выдумал два способа: 1. Делить массив сеткой вот этот почти готов кстанапример - на три области по горизонтали и на две по вертикали. Получаем 6 комнат. И затем в несколько проходов убирать недостатки по типу пустых комнат. Если комнат меньше - делить ещё раз, если больше - объединять наименьшие соседние. 2. Пройтись как по графу вот этот толком не готов.
>>796722 > А почему ты, кстати, используешь шарповский рандом? Я его не использую. Использую юньковский > Покажи, пожалуйста, какой-нибудь кусок кода с Random.Next. https://codeshare.io/nzrV63 - генерация этажа/квартиры
>>796669 Анон, прошу, никогда больше не спойлероёбствуй так, читать такое просто пиздец неудобно. Ну и вопрос чем тебя обыкновенный сортировочный алгоритм не устроил?
>>796812 >Если я тебя правильно понял Не уверен в том, как ты меня понял поэтому просто покажу на примере: у нас есть bool[,] обозначающий общий план квартиры { true, true, false, true } { true, false, false, true } { true, true, false, true } { true, true, true, true } нужно превратить в int?[,] обозначающий план квартиры с делением на комнаты { 0, 0, _, 2 } { 0, _, _, 2 } { 1, 1, _, 2 } { 1, 1, 1, 2 } а вот такого - быть не должно { 1, 0, _, 2 } { 0, _, _, 1 } { 1, 1, _, 1 } { 0, 0, 1, 2 }
>>796854 Ок, в твоём алгоритме false заменяется на пустое значение? Или ты для примера так сделал? И у тебя там комнаты 1 и 2 соединяются, как понять где начинается одна комната и заканчивается другая?
Вообще теперь с пояснением больше похоже на алгоритм Union-Find.
>>796889 > Ок, в твоём алгоритме false заменяется на пустое значение? вообще массив имеет такую форму (bool isQuad, int? numberOfRoom) > И у тебя там комнаты 1 и 2 соединяются Там все комнаты напрямую или косвенно соединяются. Это одна квартира. > как понять где начинается одна комната и заканчивается другая? В смысле как понять в каких местах делить помещение на комнаты? В этом и есть моя цель. Я пытаюсь составить уже составил один почти рабочий алгоритм деления территории на комнаты.
>>796898 >В смысле как понять в каких местах делить помещение на комнаты? В этом и есть моя цель. Не, ты не понял. Ты же сперва задумываешь логику, а потом алгоритм пишешь(надеюсь)? По какой логике строить алгоритм деления большой связанной области на комнаты? { 0, 0, _, 2 } { 0, _, _, 2 } { 1, 1, _, 2 } { 1, 1, 1, 2 } Вот тут как ты понял где комната 1, а где комната 2? Или где комната 1, а где комната 0?
Прошлый тред: https://2ch.hk/gd/res/780319.html
Официальный сайт: 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#.
- Для каких жанров подходит 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
- Движок
Если ты уже умеешь использовать язык, то можно приступать непосредственно к изучению движка. Крайне рекомендуется купить/скачать книгу 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