Добро пожаловать в тред Unity - лучшего 3D и 2D игрового движка современности! Прошлый тред: https://2ch.hk/gd/res/498593.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-storeUnityWiki: http://wiki.unity3d.com/index.php/Main_PageНа Unity сделано много замечательных игр - Rust, Блицкриг 3, Pillars of Eternity, Tyranny, Kerbal Space Program и многие другие. Главным преимуществом Unity перед другими движками является его простота для одиночной разработки. Не нужно иметь целую компанию девелоперов, чтобы сделать хорошую игру. Если ты один или имеешь небольшую команду и хочешь сделать хорошую игру без претензий на ААА, то Unity станет лучшим выбором. Тем не менее, даже крупные корпорации зачастую выбирают для своих игр именно Unity.FAQ- Какие у Unity сильные стороны?- Простота разработки, удобный инструментарий, кроссплатформенность, богатая документация, огромное сообщество.- Какие у Unity слабые стороны?- Сложность в создании фотореалистичной графики. Для графики "как в Crysis" рекомендуется взять другой движок. Хотя Unity вполне способен выдавать не уступающую любым другим движкам картинку, это требует определённого навыка от разработчика.- На каких языках я могу писать скрипты для Unity?- На выбор два языка - C# и UnityScript. UnityScript - это что-то среднее между JavaScript и ActionScript. Выбирай язык по своему вкусу, они оба вполне удобны, но помни, что большинство примеров написано на C#.- Для каких жанров подходит Unity?- Для абсолютно любых! Жанр ограничивается лишь фантазией разработчика (и его умением писать скрипты, разумеется). Можно создавать и РПГ, и стратегии, и слэшеры. Можно делать VR-проекты или Minecraft-подобные песочницы.- На каких платформах работают созданные с помощью Unity игры?- Windows, Linux, MacOS, SteamOS, Android, iOS, Windows Phone, PlayStation4, Xbox One, WebGL, Oculus Rift и многие другие. Полный список можно найти на официальном сайте. Таким образом, игры Unity работают на десктопах, на смартфонах, планшетах, приставках, в браузерах, VR-очках и некоторых других системах.- Часто вижу скриншоты с красивой природой на Unity. Как такое создать?- Очень просто! В Unity встроены удобные инструменты для создания террейна и SpeedTree для создания деревьев и готовая реализация ветра - не нужно ничего писать или скачивать и подключать плагины - ландшафт в Unity создаётся в пару кликов.- Что такое стартер киты?- Starter Kit - это набор скриптов и префабов, а зачастую и графических элементов для игры. Они призваны облегчить разработку игры определённого жанра и как правило разбиты по жанрам (Action-RPG Starter Kit, RTS Starter Kit, 3D Shooter Starter Kit, Space Game Starter Kit, VR Starter Kit и так далее). Также бывают стартер киты различных игровых элементов, не связанных с геймплеем (Nature Starter Kit с дополнительными природными объектами, Medieval Starter Kit со средневековыми объектами и так далее). По сути, стартер киты выполняют в разработке игры ту же роль, что и фреймворки в программировании. Однако стоит отметить, что использование геймплейного стартер кита принуждает разработчика изучать большое количество чужого кода и чужой структуры для внесения своих изменений и полноценного использования. В связи с этим большинство разработчиков предпочитает писать почти всё с нуля, получая полное понимание работы своей игры. Новичкам крайне не рекомендуется начинать знакомство с Unity со стартер китов.- Что нужно уметь делать для создания полноценной игры, кроме Unity-разработки?- Кроме непосредственной разработки игры на Unity, требуется также уметь создавать 3D модели (3ds Max, Blender, ZBrush), 2D рисунки (GraphicsGale, Aseprite, Piskel), текстуры (Substance Designer, NeoTextureEdit), музыку (FruityLoops, Ableton). Не обязательно учить это всё - например, в 2D играх не нужны 3D модели, а музыка необходима далеко не всегда. Также вы можете скачивать элементы для ваших игр на бесплатных сайтах. Если у вас есть деньги, то все необходимые элементы можно заказать у фрилансеров на https://www.fl.ru/ (русскоязычный) или https://www.upwork.com/ (англоязычный).- Бесплатен ли Unity?- Можно свободно скачивать, использовать и продавать готовые игры на Unity с лицензией Personal - это абсолютно бесплатно! Но на бесплатной версии при запуске игры будет появляться короткий стартовый ролик "Made with Unity", а также ваши доходы ограничены 100 000 долларов в год. Для снятия этих ограничений нужно приобретать платные версии лицензий Unity. В конечном итоге, платные варианты используются лишь крупными компаниями с огромными доходами, тогда как обычные разработчики в большинстве своём используют бесплатную Personal лицензию.Обучение - ЯзыкИтак, с чего же начать изучение этого замечательного движка? Прежде всего, с изучения языка. Самые основы C# можно узнать на интерактивных курсах здесь:https://dotnetcademy.net/CSharp/Beginnerили в текстовом туториале здесь:https://www.tutorialspoint.com/csharp/csharp_quick_guide.htmДля изучения основ UnityScript выучи вначале основы JavaScript:https://learn.javascript.ru/Помни, что далеко не все элементы JS есть в US. Чтобы понять, в чём разница между этими двумя языками, прочти эту статью:http://wiki.unity3d.com/index.php/UnityScript_versus_JavaScriptПомни, что тебе достаточно одного языка из двух и учить их оба одновременно не нужно.- ДвижокЕсли ты уже умеешь использовать язык, то можно приступать непосредственно к изучению движка. Крайне рекомендется купить/скачать книгу Unity in action (Unity в действии). В ней подробно описываются множество возможностей движка.http://www.ozon.ru/context/detail/id/34792570/Также посмотри на видеотуториалы с официального сайта:https://unity3d.com/learn/tutorialsЕсли же ты не любишь видеотуториалы (или не понимаешь разговорный английский) и предпочитаешь текст, то посмотри здесь:http://catlikecoding.com/unity/tutorials/Тут крайне подробно описан процесс разработки и приведены примеры кода. Эти туториалы универсальны и описывают множество различных частей игры, от работы с текстурами до генерации карты мира. А вот в этом туториале описыватся разработка двухмерной игры с видом сверху:https://www.raywenderlich.com/61532/unity-2d-tutorial-getting-startedЭто будет полезно, даже если ты планируешь разрабатывать трёхмерную игру. Ни в коем случае нельзя обойти вниманием этот сборник туториалов: https://noobtuts.com/unityВ нём подробно описывается процесс пошагового создания разных игр - двухмерных и трёхмерных. Разумеется, все эти туториалы охватывают лишь часть возможностей Unity. Самый надёжный способ выучить Unity - это начать делать игру и по мере разработки гуглить непонятные моменты. Шапка: http://www.writeurl.com/publish/zukmrogwv45ptyuseyol
Ну и для затравки.Попробовал Unity ECS, выглядит весьма охуенно. Помимо очевидных профитов от разделения логики и данных, завезли оптимизон и многопоточность. Пикрелейтед 50к кубов летают туда-сюда, 40 фпс в редакторе на пеке из 11 года.
>>505729Не думаю что для моих проектов это даст какой-то буст производительности, у меня в основном всё графика съедает. Это скорее для каких-нибудь ртс лучше всего подойдет
>>505795Даже в платформере можно сделать красиво разлетающиеся по физону обломки. Когда разработчики запилят поддержку физики в ecs, конечно.
>>505813Наборы моделек, оружие, пикапы, один набор для построения данжена, его покупали больше всего кстати.
>>505817 currentEmission =2.0F. Color baseColor = baseColorStart; Color finalColor = baseColor * Mathf.LinearToGammaSpace(currentEmission); mrenderer.material.SetColor("_EmissionColor", finalColor);
>>505813Помню презентацию на Unite2016 смотрел одного продавца, который за год проебал 15к (ушел в минус), вот я обосрался с него.
У меня какая-то чертовщина творится с Юнити. Когда я в Scene-окне двигаю мышкой Именно в самом окошке со сценой - в профайлере увеличивается количество объектов и с невероятной скоростью растет память на текстуры, в результате если не замечать это юнити пожирает всю память и крашится. И это даже не запуская игру, всё происходит в эдиторе. В чём может быть проблема, как такое дебажить?Сейчас проверил - такое происходит только если выбрать shaded мод для отображения, любой другой вид решает проблему, что довольно странно, потому что по логике Shaded Wireframe должен быть еще тяжелее, потому что там и текстурки отображаются и каркас, но в нём тоже всё работает как надо, вроде. Какой-то пиздец.
Просто пиздец, просто пиздец, как же заебался ковырять это говно, webgl - это хуже червя пидра, опарышный гной. Блядь. Баг на баге и багом погоняет, через раз собирается , ебля в анальную жопу, только но на бете оно сука заработало и только с выклчюенным pre-build engine. И все равно я не могу заставить эту блядскую ссанину работать с вебсокетами. Пидорский плагни из ассет стора высылает сообщение в виде хуйни которую сервер не распознает, пока сам не поправил с помощью джаваскрипт говна, а почему я вообще должен шкварится об эту динамодрысню вместо номрального апи белого человека? Теперь же имею возварт ноля на любой сокет инсансайди от чего моя жопа воспаляется еще сильнее.еще чуть-чуть и я здаюсь.
>>506941Ну я вообще-то сижу на стандалон сборочке и в хуй не дую, но тут парни попросили веб-версию, ну а почему бы и нет, тем более что юнити якобы поддерживает, и мне все заебись, крмое блядь ебанойсукаврот сети, кто ж знал что там ЛОВУШКА?. Кроме того, это вышло случайно, мне просто захотелось собрать трейды с разных бирж для более удобного отображения, а так как я нихуя не умею, юнити был единственным возможным варинатом для меня в реализации задуманого.
>>506971> парни попросили веб-версию, ну а почему бы и нетЗа такое "попросили" обычно деньги берут, а не "почему бы и нет". Но то уже сам смотри.А вообще, судя по твоим видосикам, ты и правда на юнити зря полез, не для этих задач этот движок.Но если осталось только сточить пару напильников, а всё остальное уже написано, то перелезать уже поздно, да.
Господа, есть ли какие-либо варианты google protobuf, чтобы заработало на ios с il2cpp (а то System.Reflection.Emit и не планируется поддерживать в il2cpp на сколько я понял)
зря новый тред создали, теперь его же школьники видят.>>506983в итоге не нашел где спиздить. хотел сделать быструю растеризацию капсул на смену текущей хуевой. репу почесал-почесал, заимплементил альтернативную версию с обычной геометрией. вышло хуево. потом репу ещё почесал-почесал, поискал в гугле, нашел чуть получше, но как всегда квадратные корни и деление всё испортили. решил спиздить из анрила - там нет, а те места которые меня интересуют написаны лет 10 тому назад.сегодня весь день думал над этим, заимплементил теперь уже вариант со скриншотика. авесоме. оптимизону накатить так будет как минимум в 6-7 раз быстрей теущего.>>506985да я забыл как тот сайт называется с регистрацией раз дохуилион лет.>>506971стоит сказать что ты занят чем-то мистическим и мне интересно что происходит там что ты показываешь
Почему у юнити текхнологиез https://github.com/Unity-Technologies такой засраный гитхаб, это норма? Всё в говне просто. В говнище стены, небо, аллах. Всё в говне. Эталон засраности, имхо.
>>507111>да я забыл как тот сайт называется с регистрацией раз дохуилион лет.https://forum.cgpersia.com/
>>507111> теперь его же школьники видятШкольники в /b/ рулеточки крутят да в /v/ консолесрачи устраивают. Здесь-то им чего делать?
Всем привет. Подскажите пожалуйста, как в Юнити сделать реалтайм текст, как текстуру на 3д модели? Пробовал искать в интернетах, нашёл только как тупо поверх сделать, а не с наложением на модель.
Как декали с грязью типа пикрелейтеда запилить? Нужна прозрачность, как fade в стандартном шейдере, но фейд тени не принимает. Неужели до сих пор не завезли?
>>507274Ну да, там можно нодами в блупринте напихать хоть сотню текстур в один материал с какими захочешь преобразованиями. Никакие декали не нужны. Потом всё, что нужно, объявишь переменными и дёргаешь из игровой логики. Тут кровь по полу, там моча по штанине, на крыше снег или дождь. Некстген, епта.
>>507283ну собственно они пилят свой визуальный редактор шейдеров, его даже можно попробовать, но он пока дико глючный и не стабильный>>507274там все блюпринтами. потыкал ноды, порисовал переходы, посмотрел что получается на каждом шагу. в юнити же пока приходится таки кодить, а кодить шейдеры можно только если понимаешь как оно работает, что весьма проблематично для человека первый раз столкнувшегося с шейдерами
У меня вопрос по архитектруе, есть одна биржа которая прислает данные, данные могут иметь различные каналы, trade, ortderbook и тд (пик 1), вполить до десятка. Для каждой такой хуйни у меня создан евент. Но по каналу могут идти различные данные, десяток торгуемых пар. В итоге на канал подписывается скрипт как такого рода скрипты правильно обзывать, скрипты которые имеют контроль над дрпугими скриптами?, и когда скрипт принимает данные с евента, пытается в словаре найти нужный подскрипт( пик2), и запиздячить ему данные. В общем мне не очень нарвится то что на каждый сука трейд нужно продрачивать словарь. А в случае феникса(биржа такая), нужно дважды продрачивать словарь. Первый раз продрачиваение происходит во время получения данных с вебсокета, ибо сам вебсокет имеет каналы, например BTCUSD trade это 1, а BTCUSD orderbook это 2, вот и выходит сначала продрачиваем словарь чтоб понячть кому вообще данные предназачены с вебсокета, потом уже отсылаем евентом, ну и там еще раз. Тут дело еще в том, что в основном на евент подписан один скрипт, а значит поидее вместо евента можно было бы напрямую по ссылке передавать данные, стоит ли сэкономпленный перфоманс выделки. И вообще, сильно ли евенты нагружают систему? Во время мощных мувов, на всех парах начинается ад, сотни сообщений в секунду по всем каналам. Но слабое место кажется в этом всем это десериализация, так как там есть ебанутые модели(пик3), замечал как иногда профайлер подспайкивал в функции парсинга сообщений с вебсокета. Но большую часть перфоманса в аднный момент жрут апдейты ректТрансформов, так как визуализхация с помощью них, а делать текстуры с помощью шейдеровя не умею. ПК бояирн может проявить смекалочку с многопоточностю и костылями а вебблядь точно соснет. Хуй знает, пока что работает вроде и заебись. Может я просто идиот .Возможно в будущем стоит осилить шейдеры, так как это снимит нагрузгу с СПУ и даст возможность строить горзонтальне профили объема, в том числи и реалтайм.>>507111>стоит сказать что ты занят чем-то мистическим и мне интересно что происходит там что ты показываешьНу короче с сообщения выше должно быть немного понятно что это торговый терминал и просто удобноя визуализация биржевых торгов уровня АНАЛОГОВНЕТ. Я решил поискать золотой грааль в тихом доме, но пока что нашел хуев в рот. Ну нет, конечно, некоторые вещи выглядят совсем по другому и мысли соответствующие мы в матирце и выхода отсюда нет(пик4, пацаны высыпали 10% supply коинов [STRAT/BTC], а цене похуй, она вверх идет, это говорит о том что там были мощные ордера на покупку, аккумуляция короче) и как следствие мощный памп. А стандартные свечки на чарте не учитывают объем на продажу или покупку, они просто отдают свечки с суммарным объемом. На чарте эти столбики выглядят зелеными, ведь цена то идет вверх. Но такое далеко не всегда. В общем мой порыв сугубо исследовательсий.
Как решать проблему с задержкой в 0.5 секунды при проигрывании звуков на ондроеде? Кроме покупки готового решения.
>>507463Ну и что за хуйня. Понял, что делать через плагины эти андроидовские. Ничего сложного, на джаве там хуе-мае, саунд пул и все такое. Но проблема в том что даже пример из документации (https://docs.unity3d.com/ScriptReference/AndroidJavaObject-ctor.html) не создаёт экземпляр чертовой строки. Возвращает Null все время. Что не так я делаю?
Честно пытался в это ваше юнити после уича. Что могу сказать, движок пригодный конечно, простой, но в то же время много чего не хватает и много надо писать самому, либо покупать.Вот это меня насторожило. То есть то, что я имею в уече мне нужно купить здесь, а так конечно если нет видяйки хорошей, юнити вполне пригоден для игр под мобилки самое оно, но мобилки должны быть 10К-15К+, не для дешёвых моделей, где нехватка ОЗУ и места на карте памяти.
>>507578Тут всё просто. Хочешь делать игры - выбираешь Юнити. Хочешь дрочить технологии - выбираешь Уеч.
>>507590>Юнити - 1,5 годных игры>УЕ4 - несколько десятковНайс стори бро.На самом деле не хейта ради, сам начинал с юнити. Однозначно лучший движок для начинающих разработчиков и простых проектов, но нужно понимать, что однажды тебе в любом случае придется вырасти из него и переходить на УЕ4 или КрайЭнджин.
>>507601>УЕ4 - несколько десятковИ сколько из них сделали инди-разработчики? На Юнити дохуя игр от инди.
>>507601И какой бюджет у этих десятков? И какой бюджет в /гд/?Если ты хочешь на успешной галере делать ААА, то надо идти джуном устраиваться, а не часы делать.
>>507607>И какой бюджет у этих десятков?Не больше, чем у тех 1,5 годных игр на Юнити, а то и меньше.>И какой бюджет в /гд/?А уровень /гд/ это твой максимум? Печально если так.>Если ты хочешь на успешной галере делать АААВ твоём мире есть только инди и ААА? Не сложно жить в мире где всё только черное и белое? Или подростковый инфантилизм еще в жопе играет?
>>507601>однажды тебе в любом случае придется вырасти из него и переходить на УЕ4 или КрайЭнджиТы так говоришь как будто все инди вырастают в ААА, достают из жопы многомиллионные бюджеты и основывают студии
>>507619Ты вообще осилил всё целиком?В чём смысл пердеть в /гд/, если ты нацелен на участие в разработке этих годных игр на уече?>В твоём мире есть только инди и ААА?В моём мире есть хобби и профессия.
Сап анончик помоги составить скрипт:Есть 2 камеры и 2 панели интерфейса (Canvas)Если активна Камера1 то Canvas1Если активна Камера2 то Canvas2 а (Canvas1 выключить)Или как может лучше по другому переключать эти панели между собой? дискач
>>507639Не понял, зачем тебе две камеры, но давай начнём допустим с этого:bool C1 = Camera1.isActiveAndEnabled;Canvas1.gameObject.SetActive = C1;Canvas2.gameObject.SetActive = !C1;
>>507646using System.Collections;using System.Collections.Generic;using UnityEngine;public class Canvas : MonoBehaviour { public GameObject FPSCamera; public GameObject CARCamera; public GameObject FPSCanvas; public GameObject CARCanvas; void Start () { bool C1 = FPSCamera.isActiveAndEnabled; FPSCanvas.gameObject.SetActive = C1; CARCanvas.gameObject.SetActive = !C1; } }}Переписал чутка, пишет что:1.error CS1061: Type `UnityEngine.GameObject' does not contain a definition for `isActiveAndEnabled' and no extension method `isActiveAndEnabled' of type `UnityEngine.GameObject' could be found.2.error CS0131: The left-hand side of an assignment must be a variable, a property or an indexerТак ну смысл понятен, допилить осталось. Эххх 3й час над таким простым скриптом сидеть, это боль однако..
>>507646>Там другие кнопки управленияИ чо?У тебя игра должна хранить инфу о своём режиме работы. И если режим поменялся, нужный интерфейс сам должен это обнаружить и включиться/выключиться.
>>507656>3й час над таким простым скриптом сидетьПиздец. А между тем, в годоте это делается в две строки.
>>507656Для твоего варианта надо так:bool C1 = FPSCamera.getComponent <Camera> ().isActiveAndEnabled;FPSCanvas.SetActive = C1;CARCanvas.SetActive = !C1;
>>507662Пиздец говнокод. А что будет, когда ему понадобится третий canvas? Почему нельзя сразу правильный код советовать? Или это такое тонкое устранение потенциальных конкурентов?
>>507656Не слушай его советов. Заведи себе перечислениеenum huipizda {Peshkom, VMashine, VSamoliote, VPizde, VAdu} затем переменную huipizda GdePlayer; затем в Start() установи значение GdePlayer либо по умолчанию для новой игры, либо загрузи из сохранения.Затем сделай массив канвасов и опрашивай их в цикле одной строчкой:Canvas(i).gameObject.SetActive = (i == GdePlayer);
>>507672Хуизация. Не вижу в твоем говне никакой оптимизации. Просто ты ебанул не думая говнину, а теперь её пытаешься умными словами оправдывать.
>>507674Ну смотри, если делать под любое количество канвасов, то получится как здесь >>507673А это овердохуя дополнительных вычислительных операций.
Поясните по лицензиям. Как я понял можно разработать игру на бесплатной версии, купить 1 месяц подписки plus, выпустить игру и отказаться от подписки. Так ли это?
>>507844А теперь ты представляешь себе локацию опенворлда, где сотня разных объектов в одно время обращается к разным полям для получения данных и теряешь сознание вместе с оперативкой и диском.
>>507853>купить 1 месяц подписки plusРазмечтался. Минимум 1 год покупаешь. Просто ты можешь выбрать, выплатить всю сумму сразу, либо платить ежемесячно.Наебать их вполне можно. Но, блять, если ты зарабатываешь больше 100к-200к в год на игре, неужели тебе тяжело купить лицензию? Тем более ты наверняка подключишь Юнити Адс.Обратите внимание: использование Unity Personal ограничено.Если годовой оборот вашей компании составляет больше 100 000 $ или же если вам удалось привлечь на разработку более 100 000 $, вы не имеете права использовать Unity Personal, будь то для прототипирования или в иных целях — см. наше Соглашение с конечным пользователем.. Вы можете воспользоваться версией Unity Plus для компаний с годовым оборотом до 200 000 $ или Unity Pro без ограничения дохода или привлечения финансирования.
Помогите нубу, юнитаны: есть префаб тайла из которого строиться поле, со скриптом который по клику меняет спрайт на другой. В итоге все тайлы инстанциируются, на них есть скрипт и коллайдер, ничего никуда не съехало, но на некоторых тайлах скрипт не работает, или работает не с первого клика. Что это может быть? Вот скрипт, собственно:[CODE]public Sprite [] spriteStates; private void OnMouseDown() { gameObject.GetComponent<SpriteRenderer>().sprite = spriteStates[1]; } private void OnMouseUp() { gameObject.GetComponent<SpriteRenderer>().sprite = spriteStates[0]; }[/CODE]
>>507975>Помогите нубуСрочно сваливай, на уеч, либгдх, godot, куда угодно. Это единственная адекватная помощь, которая тебе реально поможет.
>>507975> работает не с первого кликаИли перекосоёбило часть коллайдеров или (что более вероятно) между ними и мушкой есть ещё какой-то коллайдер.
>>507975Вообще OnMouse использовать плохая идея, он будет срабатывать даже сквозь UI, который накрывает объект, лучше сразу всё делать через:using UnityEngine.EventSystems;public class ClassName: MonoBehaviour, IPointerClickHandler {public void OnPointerClick (PointerEventData event) {//if (event.button == PointerEventData.InputButton.Left) {}}}Тогда даже коллайдеры вешать не придётся, только на камеру надо будет навесить Physics Raycaster
>>507986> он будет срабатывать даже сквозь UI, который накрывает объектПроверка в одну строчку и никаких проблемvoid OnMouseDown> {> if (!EventSystem.current.IsPointerOverGameObject ())> {> ...> }> }
>>507844Два джоба в пайплайн этому оптимизатору.Сижу на гибриде пока, жду, пока пюре не напишут и не заинтегрируют в редактор.
>>508001Ты можешь сколько угодно витать в своём школоманямирке, но ECS - это подмножество ООП, просто у него вместо наследования СУБД с таблицами-полями-запросами.Ща боевые картиночки полетят от тупорезов. 3... 2... 1...
>>508051Только вот в ECS физически не может быть "сотни разных объектов".Там есть системы, по одной на каждый тип поведения (подвинуть персонажа, отрендерить персонажа и т.д.), которые итерируют через лежащие линейно в памяти сущности.
>>508027Я сразу начал на хардкоре, уже две недели перетаскиваю проект в Pure. Вроде Entity Debugger хватает, чтобы понять, что происходит. Для всего остального есть студия.
>>508092Я тоже начал с пюре, но потом понял, что у них из готовых компонентов только позиция и рендерер, а мне и анимации нужны, и коллизии, и куча всего.Кстати, а как совместить гибрид и пюре?https://pastebin.com/DC9NUv97Гибрид выдирает компоненты через GetEntities<State>(); где State это класс с компонентами. В пюре надо [Inject], но оно нихуя не работает с классами-потомками MonoBehaviour (типа того же Animator) и кушает только структуры от IComponentData.Я плохо представляю, как это работает под капотом, нагуглить способа совместить обе системы как-то не получилось.
>>508129Я особо не разбирался, как гибрид работает. Вроде там ecs компоненты обернуты во wrapper, который уже наследуется от monobehaviour.>только позиция и рендерерА мне пока больше и не надо, потом буду в день релиза новых фич их прикручивать. Все равно лучше, чем перекатывать проект после, потому что после надо будет больше работы по переписыванию кода сделать.
Пытаюсь создать аккаунт разработчика в аппле, а он мне постоянно выдаёт ошибку, что у меня двухфакторная защита отключена. Как это пофиксить? Это может быть из-за того, что нет ни одного устройства связанного с аккаунтом?
>>508188Да, так гораздо понятнее, что ты понятия не имеешь о чем говоришь. Но ведь главное уверенность в своей правоте, правда же?
>>508286О чём? О том, что система итерирует через все энтити, а не объекты обращаются к системе?При большом количестве объектов так даже хуже.
>>508295>При большом количестве объектов так даже хуже.Продолжай, мне даже интересен ход твоих мыслей.
>>508317Тогда попробуй поискать книгу "погромирование для начинающих". Может быть там будет написано про обсервер и композицию.
>>508318Ну вот, обиделся.Погромирование для начинающих я читал, но мне все еще интересно, почему ты считаешь, что итерировать по данным, лежащим в неуправляемой памяти друг за другом, хуже, чем по объектам, разбросанным как придется в куче.У тебя какой-то другой процессор с каким-то другим кэшем?
Оптимизировать несуществующие (которые никогда существовать и не будут) игры - любимое занятие местных говноделов
я нуб, подскажите какие архитектуры игор сегодня в моде. Я сам умею только в геймконтроллер с синглетоном в awake и менеджерами в его компонентах.
>>508355Потому что не всем объектам всегда требуется обращаться ко всем системам?Как думаешь есть разница между тысячей мульёнов стационарных объектов, которые через ивенты обращаются к системе движения, когда захотят подвигаться, и системой, которая постоянно опрашивает энтити не собрались ли они идтинахуй?>что итерировать по данным, лежащим в неуправляемой памяти друг за другом, хуже, чем по объектам, разбросанным как придется в кучеЧто то уровня кеширования transform. При том, что объекты можно держать в пуле. При том, что работа с памятью - одна из сильных сторон шарпапо сравнению с плюсами напримерВпрочем как верно написали выше это вопрос не оптимизации, а архитектуры, а насколько удобна эта архитектура видно из того, что неофициальная реализация ecs существует уже давно, а игры на ней сделано полторы, считая переделанный туториал.
>>508394>опрашивает энтитиУ тебя настолько отсутствует понимание, что вообще такое entity, что даже как-то не очень с тобой спорить.Но тем не менее. А что будет, если твои сто мульенов объектов захотят подвигаться одновременно? Правильно, будет фреймдроп секунд на 10. А ECS будет похуй, она просто как обычно поставит объекты на позиции.>объекты можно держать в пулеОни все равно останутся лежать в куче, и для того, чтобы изменить их трансформ, нужно будет прочитать память столько раз, сколько у тебя объектов. При линейной аллокации память читается один раз.>Впрочем как верно написали вышеЭтим альбертинштейном был я. Мне удобно. Причина непопулярности больше в том, что все туториалы по юнити начинаются с "создайте геймобджект, добавьте скрипт" и в том, что реализация неофициальная.Еще раз запостишь боевую картинку - будешь общаться сам с собой.
>>508398>У тебя настолько отсутствует пониманиеНу так просвети то наконец, а то боевую картинку запощу.
>>507894Очень хуево, если так.Годовой оборот 100к$ - это 6.2 млн рублей. Если ты работаешь один и получаешь такие деньги с инди - это дохуя. Уберем половину на налоги-хуйоги, процент стима и еще какую-нибудь поеботу - останется ~ 3 ляма. Годовая подписка на unity plus стоит 20к рублей/год, на unity pro - 95к рублей/год. Не думаю, что это такие уж большие деньги, если у тебя минимум 6.2 ляма рублей в год крутится.Если у тебя фирма, создающая игоры, и ваш годовой доход меньше 6 лямов при ~ 4-6 оплачиваемых сотрудниках и офисе, то это очень хуево, если только ты не создал фирму меньше года назад.
>>508537Да вы что здесь все специально оборот и доход путаете? У тебя оборот может быть 6 миллионов, а доход 10 блядь рублей!!!
>>508539>Да вы что здесь все специально оборот и доход путаете?А ты специально приводишь идиотские примеры? Да, я выпустил инди, оборот у меня 100к баксов, но получил я только 10 рублей и теперь юнитеки посадят меня на бутылку, потому что нет денег на лицензию. Иди нахуй, дурачок.
>>508398>Правильно, будет фреймдроп секунд на 10. А ECS будет похуй, она просто как обычно поставит объекты на позиции.Следите за руками:В ООП фреймдроп будет в момент, когда игра захочет подвигать множество объектов.А ECS не будет похуй, в ECS фреймдроп будет (9,8 секунд по сравнению с ООП), когда первый из объектов захочет подвигаться и всё поле БД загрузится в память со всеми трансформами.Унижайте ECS-блядей, гоните, надсмехайтесь.
Анонушка, объясни, а то я нихуя не понимаю - есть код:void Update(){ .... transform.localEulerAngles = new Vector3(a,b,c)}деструктора для Vector3 там нет. Вопрос: куда деваются потом все эти вектора? transform.localEulerAngles их жрет что-ли?
>>508668Я просто плохо помню C# поэтому сильно не ругайте, только сегодня засел вспоминать что и как. Я так понял что transform.localEulerAngles просто получает ссылку на новый вектор, и так раз-за разом?
>>508668На новый вектор ссылку присвоил. на старый вектор ссылка исчезла, старый вектор GarbageCollector пожрал.
>>508668Что у тебя за вопросы?Когда ты делаешь int a = 1; куда у тебя деваются все эти единицы? Переменная их жрёт что-ли? Конструкция new Vector3(a,b,c) в данном вопросе равноценна единице, это не что-то особенное.
>>508668>new Vector3(a,b,c)Создать новый вектор и положить его в стек.>transform.localEulerAngles = Скопировать значение вектора из стека в поле localEulerAngles, которое располагается в куче, потому что трансоформ это класс, экземпляры классов вместе с полями лежат там.Когда функция вернет свой воид, стек чистится от её данных, и vector3 отправляется к аллаху.Короч не надо тут ничего оптимизировать, все норм.>>508669>получает ссылкуВектор3 примитивный тип данных, передается по значению.
зашквар ли в update объявлять new? Там же за секунду создадутся тыща новых объектов. Наверно, лучше сделать темповые переменные типа temp_vector, или temp_raycast в start, чтобы именно в них запихивать в update
>>508693Откуда пошла такая тупость что new - значит сразу кучу срача в памяти? Вы вообще доки читали? Если ты там стотыщь страктов создаешь - похуй вообще.
>>508712ну ок тогда, я просто предположил, вроде ж логично. В доках про это не видел, или ты имеешь ввиду, что там в каждом примере в update ебашат new? Я думал, это просто ради примера же, чтобы когда поменьше в доках писать
>>508693>Там же за секунду создадутся тыща новых объектовupdate раз за фрейм вызывается вроде, так что раз 30-60 вызовется за секунду, не так уж это и много
>>508729Тогда не стоит конечно, любые тяжелые функции в апдейт не нужно совать, любо вызывать не раз в фрейм а раз в секунду например
>>508672> Без него нельзя вектор объявитьА полем класса его сделать никак?Объявить без него никак, пиздец просто. Ты вообще знаешь что такое конструктор, куча, память? Не?
>>508862Конструктор - это специальным образом спроектированная процедура, выделяющая память для объекта.Куча - это специальным образом размеченный сегмент памяти, так размеченный, чтобы системе было удобнее вытаскивать из этой кучи твоё говно, которое ты туда кладёшь.Память - это специальным образом организованная микроэлектроника, которая в виде модулей вставляется в твою пеку.
>>508678>Когда функция вернет свой воид, стек чистится от её данных, и vector3 отправляется к аллаху.>Вектор3 примитивный тип данных, передается по значению. Спасиб
>>508693Вот мне тоже так показалось, еще и поэтому спросил.>>508783А где вот такой жизненной мудрости можно поднабраться?
>>508913Я конечно же сейчас не про такой очевидный случай как частый запуск тяжелых функций, описаный здесь>>508783, а про оптимизацию в целом
Еще вопрос, я не очень понял, чем такая конструкция отличается от обычной перегрузки функции?a=GetComponent<CharacterContoller>();
>>508917Хуй знает, как по мне все эти интерфейсы выглядят одинаково, что в юньке, что в годоте, что в уече, просто серые/белые/чёрные безликие панельки с кнопками и цифрами, по сути весь интерфейс во всех редакторах спизжен из фотошопа, а в нём ещё откуда-нибудь.
>>508987А можешь на пальцах объяснить как работает эта функция? Что она выдает понятно. Меня интересует механихм
>>508990А что тут непонятного? Ищет компонент по геймобжекту, возвращает первый который подойдет. Сорцы не смотрел поэтому точно сказать как работает не могу, да и нахуй тебе это надо
>>508990https://github.com/Unity-Technologies/UnityCsReference/blob/master/Runtime/Export/GameObject.bindings.cs
Вечер в хату, посоны! Сейчас открыл туториал нубтут из шапки (который https://noobtuts.com/unity/2d-pacman-game) и делаю по нему пакмена. Почти сразу же столкнулся со следующим: в скрипте, который управляет перемещением пакмена есть FixedUpdate, где делается следующее: Vector2 p = Vector2.MoveTowards(transform.position, dest, speed); GetComponent<Rigidbody2D>().MovePosition(p);То есть пакмен перемещается в позицию заданную вектором, с этим вроде все нормально, далее проверяется движется ли пакмен или нет, делается это так: if ((Vector2)transform.position == dest) Если Пакмен не движется, т.е. позиция transform равно dest и можно обработать Input.GetKey чтобы добавить к dest (заданному, как Vector2) Vector2.up/right/left/down в зависимости от того, какие кнопки нажаты. Но в том, то и проблема, что это условие у меня не выполняется никогда и получается, что пакмен бесконечно двигается, хотя визуально он остается на одном и том же месте, т.е. transform.position и dest как-то не сравниваются. Почему же в туториале так написано? Или там какая-то старая версия Юнити и сейчас так делать уже не правильно?
Хочу сделать процедурно генерируемый мир с маленькими элементами как в Lego Worlds.Интересует как в этой игре сделана отрисовка блоков. Готовые 3D-модели? Рисуются ли они полностью или невидимые полигоны отсекаются?Как хранится информация?
>>509310>невидимые полигоны отсекаются?Конечно отсекаются.Конкретно для этой игры наверняка захуярили какой-то специальный редактор, который создавал меши.https://habr.com/post/194620/
>>509097Но я не траллю, правда, я новичок, месяц в юнити, и был уверен, что не существует абсолютно никакого способа объявить произвольный вектор без использования new.
Делаю туториал по танкам, и понял, что нужно подробное описание API движка, документация какая-то куцая. В каких книгах есть подробное описание API движка с примерами (графическими), я ни хрена не понимаю. Например, как именно работает это: https://docs.unity3d.com/ScriptReference/Rigidbody.MovePosition.htmlЕсть код с туториалаhttps://pastebin.com/Ud6pvv291) Вектор m - Vector3 movement2) Вектор p - m_Rigidbody.positionВерно ли 1)? Верно ли, что m_Rigidbody.position вернет вектор p с рисунка или нечто подобное. Как работает m_Rigidbody.MovePosition(m_Rigidbody.position + movement);??Если складывать m и p, то танк не поедет вдоль x, однако все работает, как на самом деле работает функция? Движок в своих недрах учитывает ротейшн объекта?
>>509487Советую создать отдельный проект и там экспериментировать, чтобы разобраться. Плюс по Юнити очень много видео:https://docs.unity3d.com/ru/520/Manual/class-Rigidbody.htmlhttps://www.youtube.com/watch?v=nfczxBY1Y5Uhttps://www.youtube.com/watch?v=WTGcs10Sj34https://www.youtube.com/watch?v=wKgKSg0Nr6A
>>509491Я разобрался, ответ оказался в том, что transform.forward это вектор относительно локальных координат танка, а не вектор глобальной оси Z.
>>509456Объявить это просто "Vector3 mamkaPosition;"Т.е. ты объявляешь переменную, но она не инициализирована.Чтобы её инициализировать надо сделать new. А того дауна не слушай, если инициализация поля происходит неявно в конструкторе по-умолчанию, это не значит, что её нет.
Есть какой-нибудь ассетпак с нормальными моделями для прототипирования игр? Чтобы они не выглядели, как говно с текстурами из паинта.
>>509516Ну я под "объявить" подразумевал так же и задать собственно x, y и z, чего сделать без new нельзя, так что я был прав.
>>509526В стандартных юнити-ассетах есть папка для прототипирования. Лестницы там, хуестницы. Может подойдёт.
>>509542>Объявление обычной переменной, простейшей формы прямого декларатора, указывает имя и тип переменной. Оно также указывает класс хранения и тип данных переменной.>я подразумевалНе надо так.
>>509497> ответ оказался в том, что transform.forward это вектор относительно локальных координат танка, а не вектор глобальной оси ZА мог бы читать что тебе пишут.
>>509551Ну зачем ты определение высрал, я ведь говорил в контексте беседы, а всё началось с присвоения фиксированных значений вектору в апдейте, напомню.
Как же мне горит, кто-нибудь может пояснить мне тупорылому, почему в юнити внезапно перестают корректно играться все сцены? Я ничего не могу запустить, происходит глобальный фриз любых сцены на старте. Причём консоль не ругается на компайлер эрроры или что-то ещё, оно просто в один момент сдохло без объяснения причин.Это "лечится" переносом всех ассетов в работающий проект (теперь постоянно делаю бэкапы), но теперь эта хуйня случается стабильно раз в день и фикс этого говна отнимает кучу времени. Кто-нибудь с этим сталкивался, как отдебажить проблему и найти виновника?
>>509592Как правило когда случается такая хуйня, то какой-то из твоих ассетов все портит, скрипт какой-нибудь или шейдер. Нужно методом удаления искать - удалять часть, и смотреть исчезла проблема или нет, и так методом исключения найдешь. Как вариант можно попробовать переустановить юнити. Дохуя делов конечно а что делать
>>509593Много игр выпустил на анриале? Сколько здесь существуют треды анриала, ни одной игры на нём так и не увидел. А на юнити много видел игр.
>>509550Оказывается, юнитеки купили ProBuilder и теперь он бесплатный. Можно прямо из проджект менеджера установить. Удобно для прототипирования.
>>509642А ты много выпустила, дура? Видела ты, ебанушка. Я тоже видел игры на анриале.Рим - слэшерПУБГ - батл-рояль(включает в себя как элементы шутера так и многих других жанров)Фортнайт - батл-рояльСтрит Файтер, Теккен - файтерыХэллблейд - слэшерПарагон - МОБААрк - опен ворлд выживальщикПсихонавты вторые - платформерМото-рэйсер четвертый - гонкиГотик Армада - стратегияДрагон Квест - РПГВампир - РПГФридэй 13 - онлайн выживальщикИ еще дохуяЮнитипозорище багованное, заткни дыру свою ротовую, а то моча вытекает.
>>509647Что-то я не припоминаю таких проектов в /gd... Наверное, потому что это игры уровня ААА и их разрабатывали игровые студии!
>>509651>Что-то я не припоминаю таких проектов в /gd... Наверное, потому что это игры уровня ААА и их разрабатывали игровые студии!Согласен с тобой, что уеч это топ, а юнитиговно для гдачеров. >>509650>Где твоя игра на анриале?>Жду.Хуя аргумент юнитишкольника, ух как озадачил! Если у меня нет игры на анриале, значит... Что же это значит? Дура блять, нихуя это не значит. Я так понимаю это опять намек на то что анриал для нормальных игр, а юнитиговно для двачеров-говноделов.
>>509663Вот, например https://goo.gl/dzhPXCДавай свою. Или начни кукарекать про то, что это не то и вообще эта игра не игра.
>>509666>https://goo.gl/dzhPXCТакой понос, пиздец, я уж подумал, что придется похвалить юньку и разраба, но это опять трешговно. Реально юнька только для говноделов, это раз за разом просто подтверждается, высрал хуйню и еще не хочет пить анриаломочу. Примитивный геймплей и специально еще графику ухудшают, даже теней нет с лайтмапами, и пиздят про другие движки, что там чего-то не хватает, юнитидебилы.
>>509666>Вот, например https://goo.gl/dzhPXCЧто за кусок говна. Анриало начальник! Этот юнитипидарас опять обосрался.
>>509701>>509683Но ведь вы даже такую не сделали, вы по дефолту проебываете в споре. Я даже ссылку не открывал, это неважно, там может быть пустая сцена с клубами, один хуй он вас сделал потому что пока вы не показали своё вы кукаретики и говно
>>509737>Но ведь вы даже такую не сделали, вы по дефолту проебываете в споре. Спор о том, что юнитиговно хуже лучшего в мире движка анриала не решается предъявлением сценки с кубами, тупица.
>>509766Ой нет, опущенка, давай-ка я тебе на пальцах объясню.1)Вы начали спор о том что лучше юнити или анриал2)В ходе спора прозвучал аргумент>>509647 что никто ЗДЕСЬ не делает игр, после чего унрилопетушку была предъявлена игра сделанная тут3)В ответ унрилопетушок ничего своего объявить не смог и начал кукарекать "азаза игра то гавно", хотя это никакого отношения к предмету спора не имеет, в итоге был закономерно обоссан юнитибоярином.Спор о том что лучше юнити или анриал можно вести на любых уровнях, если хочешь сравнивать профессиональные игры, пожалуйста - Ghost of a tale, Ori and the blind forest, Heartstone, escape from tarkov, и ещё дохуя игр - юнити есть что предъявить, на местном уровне тоже были предъявлены игры, давай сравним с вашими.Ах да, ведь у вас нет игр, вы только кукарекаете.
>>509676>>юнитиговно для двачеров-говноделов, а анриал для двачеров, тралящих в гд анриломВся суть в одном посте, лол.
>>509782>В ходе спора прозвучал аргумент>>509647 что никто ЗДЕСЬ не делает игрНет, аргумент звучал как - сначала сделай игру, потом критикуй, сродни сперва добейся. Не можешь атаковать мысль, атакуй мыслителя. Этот аргумент школьного юнитиговна полностью позорит его и заканчивает спор на поражении юнитиговна.
>>509790Унрилопетушки тут кидают списки ААА игр на уе4, что этот аргумент должен значить? Такое же петушиное кукареканье. Других аргументов от унрилопетушков услышано не было, так что и поражение тут только у тебя в маняфантазиях
>>509794>Унрилобоги тут кидают списки ААА игр на уе4, что этот аргумент должен значить?Это значит топ уровень топ движка, и то что на нем можно создать игры множества жанров.А юнитиговно придумывает, что анриал это конструктор и на нем ничего кроме шутеров нельзя спрограммировать, это означает тупость юнитидебилов.
>>509798Потому что древнее говно мамонта никому уже не нужноеhttps://www.youtube.com/watch?v=3omw9dLkrR8вув
>>509797уе4 для ААА игр и больших студий, юнити для инди, это все адекватные люди понимают. юнитибояре сидят и делают игры, унрилошкольники сидят и пиздят какие охуенные топ игры делают на унриле корпорации. Это и так ясно.
>>509800>уе4 для ААА игр и больших студийАга, все нижеследующий игры сделаны на твоем говноУЕ:Ori and the Blind ForestOri and the Wills of the WispsEscape from TarkovSubnauticaLife is Strange 2 Telltale's Stranger ThingsPillars of Eternity II: Deadfire BattletechLife is Strange: Before the StormTorment: Tides of NumeneraEndless Space 2 Sudden Strike 4Syberia 3god I love all these indies!https://unity3d.college/2018/06/29/telltale-switches-unity3d/
>>509801Я не спорю что есть ААА игры на юнити, я ведь этого и не отрицал. Просто в большинстве своем игры на юнити это инди.
>>509801>Ага, все нижеследующий игры сделаны на твоем говноУЕ:Все говно, кроме таркова, но и у него ничего выдающегося, да еще и дикие позорные просадки по фпсhttps://youtu.be/xvS-XxiYDuY?t=128>>509800>юнити для индиЭто приговор, это как юнити для твг-говна.
>>509805>МНЕ НИНРИЦА ЗНАЧИТ ГОВНО!!!!111Назад в /v/ с такими аргументами, дауненок>юнити для инди>Это приговор>юнитибояре сидят и делают игры, унрилошкольники сидят и пиздят какие охуенные топ игры делают на унриле корпорацииСпасибо что подтверждаешь мои тезисы,
>>509797>множества жанровНо только если там кто-то бегает/прыгает/летает. Для всего остального юнити подходит лучше.Напомню, что именно на юнити сделана самая инновационная игра последнего десятилетия - Kerbal Space Program.
Добрый день!Я забежал сказать, что не нужно динамически подменять материалы динамически. Пусть лучше будет несколько объектов с разными материалами и лучше заменять объекты целиком. На это все.До свидания!
>>509809Не сравнивай редчайший баг с просто плохой повсеместной производительностью юнитиговна. В последней демке книга мертвых фпс ниже 30 падает, это они продемонстрировали свои достижения. Смарити, наш юнитя мыльное говно 30фпсное!>>509810>Kerbal Space ProgramНе удивлюсь, если их аудитории с юнькой совпадают. Вспомнил случай, на сайте американской газеты включили голосование и в финале остались констракт2 и ксп. И за ксп в итоге гораздо больше голосов было, раза в 3 больше. Но там можно было накручивать, голосуешь, трешь историю браузера, перезапускаешь и еще раз можно проголосовать. И организаторы потом написали, что сдетектили накручивальщика из финляндии, он короче часов 15 ебашил подряд. Дело в том, что конкурс шел несколько недель, там по два приложения соревновалось из штук 30 в каждом это ебанько накручивало. Победу присудили обеим программам и, конечно, ничего этот конкурс не значил. Вот юнитидебилы такие же пизданутые.
>>509818>Не сравнивай редчайший баг с просто плохой повсеместной производительностьюРедчайший баг это что блядь, полная неиграбельность пабг на иксбоксе? Может просто у разрабов руки из жопы, также как и у разрабов таркова и движок тут не при чём?>В последней демке книга мертвых фпс ниже 30 падаетНищенка закукарекала, лол. У меня ни разу не просаживалось ниже 30, плюс это демка графона, никто её не оптимизировал под реальную игру>Вспомнил случай, на сайте американской газеты включили голосованиеменя твои истории доебали уже
>>509822>Нищенка закукарекала, лол.Дак а на кого твоя вонючая юнитя ориентирована? На нищих поедателей дешевого индиговна.>>509822>никто её не оптимизировал под реальную игруВсе там оптимизировано, и разрабы столько и ожидали, анриал выдает еще лучшую картинку на супер фпс.
Есть один персонаж, у него 2 коллайдера. Есть предметы которые должны выполнять некоторое действие при соприкосновении с коллайдером объекта с тегом игрока. Но вот только коллайдер у которого включен is triger предметы игнорируют а тот что с выключенным - работает как нужно. Почему все так а не наоборот?
>>509830>Дак а на кого твоя вонючая юнитя ориентирована? На нищих поедателей дешевого индиговна.Юнити ориентирована на всех, долбоеб, смотря что ты на ней сделаешь. Сделаешь инди для мобилок - будет идти на мобилках на 60 фпс, сделаешь ААА графон - будет у нищенок тормозить> анриал выдает еще лучшую картинку на супер фпс.И что теперь, деградант? Никто не спорит что графика в анриале лучше, вот только для нормальной графики нужны нормальные бюджеты и тут мы снова упираемся в>юнитибояре сидят и делают игры, унрилошкольники сидят и пиздят какие охуенные топ игры делают на унриле корпорацииТы говнарик всё продолжаешь и продолжаешь обсираться и подтверждать мои тезисы, всё никак не уймешься, уже всё личико в говнеце>>509831Ну смотря что у тебя там в коде, действия с триггером выполняются в OnTriggerEnter, а действия с коллайдером в OnCollisionEnter, смотри мож че напутал
>>509837Про остальное всё я прав так что там и нехуй спорить, просто меня забавляет унижать унрилошкольников без игр
Скрипт находится в активном объекте. Но вот только панель которая выключена активной не становится, лог не пишется, пауза не ставится, що не так?
>>509860Лол, а схуяли у тебя там что-то должно срабатывать? Кто вызывать твой метод будет, м? Ты в апдейт это пихай.
>>509861>>509862Он тащемта работает, только хуево. Дописал Input.GetKeyDown(), засунул в апдейт и все заработало. Спасиб.
>>509866> Я имел в виду про это Input.GetKey() -> Input.GetKeyDown()Ну так это просто разные методы, но оба рабочие. GetKey срабатывает всегда, когда кнопка нажата/зажата. GetKeyDown срабатывает только один раз при нажатии, хоть ты кнопку нажми и пол часа держи.
>>509872Ну никто тебя не заставлял изначально GetKey прописывать, кто ж тебе виноват.Я просто говорю чем они отличаются и почему у тебя не работало даже так.
Да успокойтесь, над троллем посмеялись, его порвало, посмеялись еще громче. Тут и сказке конец, опоздуны остались с тупыми вопросами и недоуменными глазами.
Как вы боретесь с нулреференс ексепшон? Он у меня всегда вылетает, до этого час искал ошибку а оказалось что просто в файнде ошибся строчной буквой. А сейчас при нажатии на любую кнопку он вылетает, разные участки кода и всегда он, подумываю дропнуть это говно.
>>509996> Как вы боретесь с нулреференс ексепшон?Отслеживаем чтобы все референсы были на месте.Ну и ещё советую ничего из проекта не удалять через проводник/тотал и т.д., только через саму юньку.
>>510001А напомни нахуй оно нужно. Я помню тут пару месяцев назад эта тема поднималась, но всю движуху по итогу пропустил.
>>510003Допустим, у тебя есть префаб домика внутри которого различные NPC, интеректив итемы и так далее. Всё это будет одним префабом. И если ты захочешь изменить NPC, тебе придётся его изменять везде, во всех префабах.
>>510005А, то есть теперь можно заменить (условно) префаб чухана на префаб шлюхи, и во всех домах, где раньше был чухан, появится шлюха, при это префаб самого дома останется с рабочими референсами?Да, занятно.Там ещё речь шла про Prefab Mode, если они наконец-то сделали нормальное редактирование префабов, то я просто счастлив буду.
>>510007>Там ещё речь шла про Prefab Mode, если они наконец-то сделали нормальное редактирование префабов, то я просто счастлив будуДа.https://www.youtube.com/watch?v=NXghnxDe8zMВообще, штука очень крутая и полезная. Давно ждал этого. Можно использовать вложенные префабы для конструктора мобов, например. У тебя есть базовый префаб человечка. Ты создаёшь ещё один префаб, который реализует ИИ управление для этого человечка, либо Инпут управление для игрока. И так далее.
>>509975>>509973>>509972>>509971>>509940Хуя вас порвало, чмоньки. По всему разделу носились все движки поносили, а как начал юньку обоссывать, сразу заплакали и жаловаться побежали. Это же не троллинг, а возмездие и чистая правда.
>>510019Систему сцен спиздили, интерфейс спиздили, ниже опускаться уже некуда, юнитиговно на дне, ВСЁ.
>>510003Это не нужно. У тебя получится ебаный ад из зависимостей, когда изменение в одном префабе будет затрагивать изменения половины проекта, если этим злоупотреблять.А из практики программирования понятно, что если чем-то можно злоупотреблять, то этим непременно будут злоупотреблять.Ограничение на префабы - это хорошее ограничение, которое принуждает к правильной архитектуре. Вложенные префабы будут приводить к неконтролируемому аду.
>>510040> А из практики программирования понятно, что если чем-то можно злоупотреблять, то этим непременно будут злоупотреблятьЭто как оправдывать свои обосранные труханы фразой "если ты можешь обосрать свои белоснежные труселя, то ты их обязательно обосрёшь".
>>510047Любое проявление зависимостей - это зло. Нужно наоборот уменьшать их количество, а не вводить функции для их увеличения.
На офсайте написано что в 2018.1 завезли "Tessellation for Metal".Что такое тесселяция я в курсе, но что это за "Metal" да ещё и с большой буквы?И да, что будет если я прихуячу тесселяцию, а потом билд запустят на платформе, которая её не поддерживает? Никаких эксепшенов не повылезает? Просто тесселяция отвалится и всё пойдёт как надо, только без неё?
>>510370Напрашивается очевидный ответ, что Метал в этом контексте это ТОТ САМЫЙ МЕТАЛ, КОТОРЫЙ ИСПОЛНЯЮТ ВОЕНЫ МЕТАЛА, КАРАЯ ПЕДОВОК ХРУСТАЛЬНЫМ МЕЧОМ
Пацаны, вот что спрошу. Реально ли пилить игорь под какой-нибудь старой версией, например пиратской 3.5, а потом её просто перенести в 2018, такое вообще реально по идее, ничего не сломается?
>>507884>Наебать их вполне можноКаким образом? Указать для оплаты карту, на которой только за 1 месяц оплата и выкинуть ее в мусорку? Написано, что в таком случае они блокируют твой аккаунт, но ты обязан будешь оплатить за весь год энивей. Какие возможны рычаги давления?Уууух юнити, давят нищих студентов-игроделов.
Анон, скажи пожалуйставот у меня в юнити 10 персонажей меши с одинаковой топологией- мне мимику, морфы и анимацию полностью делать каждому отдельно? или у Юнити на дворе все таки 2018?
>>505728 (OP)ананасы, выручайте, что-то наделал, теперь все отдает синевой какой-то. думаю ответ где-то в window->lighting но сам найти не могу...
>>507601>>Юнити - 1,5 годных игрыOxygen not includedRimWorldKSPпродолжать, или ты уже готов признать, что обделался?
>>511461Хули толку продолжать, для многих поехавших на этой борде "годная игра" это многомиллионный ААА проект от корпорации, а инди игры они изначально отбрасывают как "годные" впринципе. Непонятно только почему я как инди разраб должен выбирать движок на котором студии по 300 человек делают игры, что это мне даст вообще. Казалось бы борда разрабов, но походу тут один хуй 90% школьники из веге сидят, у которых один аргумент МНЕ НИНРАИЦА ЗНАЧИТ ГОВНО!!!Заебали уже
>>511482Тролли на любой борде всегда есть. Самое хуёвое, когда на борде появляется ЕДА и начинает КОРМИТЬ. Вот тогда борде и приходит пиздец.Вот нахуй ты высрал свой пост? Ты же покормил тролля.
Похоже в ближайшем будущем Юнити будет полностью переработан. Столько всякий штук выкатили в превью. И ещё переход на последние версии C#.https://www.youtube.com/watch?v=iauWgEXjkEY
>>511532Ну так это единственный выход для Unity. Баги, отсутствие игр, токсичное комьюнити - всё это рано или поздно убьёт движок. Нужно что-то менять. Мне конечно Unity уже не интересен, я пользуюсь более профессиональными инструментами, но двумя руками за конкуренцию и надеюсь ребята из Unity возьмутся за голову и создадут движок на котором можно делать хотя бы простые игры.
Есть один гейобжект. У него есть бокс коллайдер с включенным триггером. Как заставить его не проваливаться в пол?
>>510942Ну же анон, был же какой-то формум, где можно было выцеплять платные ассеты из ассетстора. Я ссылку проебал, но она вроде в каих-то тредах раньше была, может даже в шапке.
Есть элемент интерфейса фиксированного размера, на который требуется выводить определённую пикчу из папки с игрой. Запилить это, вроде как, получилось, используя Raw Image со следующим скриптом:using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.UI;public class LoadWeb : MonoBehaviour {IEnumerator Start(){WWW www = new WWW("file://" + Application.dataPath + "/sample.jpg");while (!www.isDone)yield return null;Debug.Log(www.texture.name);GameObject rawImage = GameObject.Find("RawImage");rawImage.GetComponent<RawImage>().texture = www.texture;}}Проблема: изображение растягивается по всей площади элемента. Если соотношение сторон у изображения другое, то выглядит это так себе.Можно ли как-нибудь запилить автоподгон размера изображения без растягивания?
>>511800https://docs.unity3d.com/ScriptReference/UI.RawImage-uvRect.htmlМеняешь width и heght, подгоняешь под какое соотношение тебе надо, хоть от размера экрана хоть от чего
Сап, туч. Написал алгоритм поиска пути, запускаю игру - бот начинает меня искать ,но проходит секунд 5 и Юнити зависает с концами. Что это может быть? Зацикливание? Если так то как делать отладку этого дерьма?
>>511844- Просчитывается она в тот же момент ,что и кадр(если бот видит игрока)- Ее цель найти клетку ,которая приблизит бота к игроку и сдвинуть бота на эту клетку
>>511849>>511857Заметьте, ни одни из них не указал что там плохоо и не аргументировал почему и не упомянул мимоходом как правильно нудно сделать.Потому что сами не знают но пиздецть - первые кек
>>511864>>511904Нашел! Выход за границы массива. Классика.А есть советы как заниматься отладкой скриптов?
>>511916Во-первых, когда делаешь что-то, из чего в теории может получиться бесконечный цикл, всегда добавляй дополнительный, не зависящий ни от чего счётчик, который останавливает цикл после тысячи/десяти тысяч/любого нужного кол-ва итераций и выдаёт сообщение в консоль.
>>511916Во-вторых, в один for можно впихнуть несколько переменнных.В-третьих, вместо проверки i, i-1, i+1, j, j-1, j+1 можно проверять направление вектора.
Делаю в 2д игру с видом сверху, настраиваю движение персонажа через RigidBodyКак сделать, чтобы он двигался строго определенными по длине шажками? Как будто бы существует квадратная сетка на поле, и чтобы он при каждом нажатии вписывался в следующий квадратик
>>512075Убрать риджид бади и двигать его через трансформ пробовал? Или это слишком простое решение для тебя?
>>512104А я вот тут подумал, а как обычно в ФПС передвижение делают, через РБ или через трансформ пос.?
>>511918> когда делаешь что-то, из чего в теории может получиться бесконечный цикл, всегда добавляй дополнительный, не зависящий ни от чего счётчик, который останавливает цикл после тысячи/десяти тысяч/любого нужного кол-ва итераций и выдаёт сообщение в консольДобавлю этого господина. Когда ебошишь while с сомнительным условием, то лучше хуярь его в корутине с yield return null; в конце тела while'а, и попутно в этом самом теле выводи какую-нибудь инфу о количестве итераций или ещё какую хуйню. Так ты не повиснешь даже если цикл упиздонит в прекрасное далёко, зато дебажную инфу точно увидишь и всё порешаешь.
>>512106> а как обычно в ФПС передвижение делают, через РБ или через трансформ пос.?На юнити? Для этого есть встроенный CharacterController с методами Move и SimpleMoveА уж вариантов велосипедов хуева гора
>>512131Чего не так? Не любишь корутины — делай как выше советовали. Просто ебошь левый счётчик, ставь ему лимит и выходи из цикла если лимит заполнился.
>>505728 (OP)Чуваки, хочу сделать свою особенную физику. Думаю использовать коллайдеры-триггеры и прописывать поведение при столкновениях, поворотов у объектов не будет, какие подводные?
>>512438а колизия будет определяться нормально или с запаздыванием? Если 2 то придется коллайдеры чуть чуть больше делать.
Есть один гейобжект. Ничего необычного, получает рейкаст, теряет хп, хп 0 - уничтожается и спавнит руду.Но как только я пытаюсь заменить уничтожение на деактивацию, объект перестает даже терять хп. Вот по идее должно быть так, 0хп, выполняется Destroy(), устанавливается время спавна nextSpawnTime, создается руда. Как только таймер подходит, объект активируется с 100 хп. Но что то идет не так, вопрос что?
>>512707У деактивированного объекта не работает апдейт.Можно сделать корутину, но нормальным подходом будет сделать менеджер, который будет заниматься спавном объектов, чем пихать всё это в скрипт на объекте.
Пацаны, если я моделил просто здания не из тайлмапов то я долбоёб и мне нужно просто всё переделывать?
Аноны, такой вопрос.Я пишу собственный трехмерный редактор (убийцу 3D Studio MAX, лол), скажем на C# + WinForms (или WPF, но не суть) или на плюсах + Qt, что тоже не принципиально.У меня есть интерфейс, кнопочки, менюшечки и есть, скажем некоторый контрол (какая-нибудь панелька), у которой есть дескриптор (под виндой это HWND) и я знаю как имея этот дескриптор руками создать контекст воспроизведения под DirectX, OpenGL, еще что нибудь, НО:Я не хочу руками выводить туда графику, я не хочу велосипедить собственный движок, я хочу воспользоваться всеми прелесями и мощью самого лучшего движка на планете (и я имею ввиду Unity, конечно же).Как мне подключить Unity к своему проекту, желательно как стороннюю библиотеку (как было раньше: у нас есть OBJ/LIB/DLL библиотеки движка и у нас есть заголовочные файлы, мы их просто включаем в свой проект и дергаем нужные нам функции API) так, чтобы Unity выводил графику в окно моего приложения, а точнее на тот самый контрол?Или единственный вариант подключить Unity к десктопному приложению - это делать это самое приложение на самом движке и в его редакторе используя библиотеки UI сделанные на нем?
>>512725Или в создании йобаплатформера Юнити может помочь, а в создании, скажем, CAD-системы - уже нет?
>>512730А ну то есть оптимальный вариант - делать UI прямо на движке теми UI-библиотеками что там есть и забить на WPF, WinForms и Qt?... Ну ОК, наверное...
>>512723Похоже незаданное значение nextSpawnTime постоянно дает срабатывать ReActivate.Значит эту функцию можно вынести в пустой геймобжект. И при срабатывании Destroy и уже установке заданного времени включается этот геймобжект с скриптом на проверку таймера. Где после срабатывания он сам себя выключает.
>>512731Юнити - это движок для игр, а не для неба и аллаха, был тут недавно один челик, который пытался какой-то биржевый интерфейс на юньке запилить, заебался он знатно, скажу я тебе.
>>512735> Похоже незаданное значение nextSpawnTime постоянно дает срабатывать ReActivate.Да, неинициализированный float равно как и int по умолчанию считается равным нулю.
>>512734Что значить разбирать? Я просто хочу подключить движок к своему проекту, чтобы выводить графику через него, а не велосипедить свои движок. Что не так то?
>>512737Совладал с порядком выполнения всего, работает. Но суть в том, что объект с скриптом у меня один, а руды больше чем один, и как мне не создавая тыщу геймобжектов контролировать спавн каждого блока руды?
>>512736Ясно, ну ОК, буду смотреть в сторону других движков, попроще, например Irrlicht... Ну или блин велосипедить свой на чистом OpenGL/DirectX, раз уж как оказывается у меня такая специфичная задача - создание собственного 3D-редактора/тулзы/CAD-а...
Если RaycastHit ни во что не попадает то он возвращает null, соответственно и условие на проверку попал ли он во что-нибудь будет таким: (r != null) ?
>>512820Татышо! И почему бы мне не переложить эту самую простую часть на сторонний, надежный и протестированный движок, а не велосипедить glBegin()/glEnd()/DrawIndex итдтп? Что меня останавливает и почему?
>>512870Он вернёт hit-инфу о точке попадания в первый коллайдер. Насквозь он не пролетает, во всяком случае я такой перегрузки не видел.
>>512867Чтоб пустить луч через всю сцену и собрать инфу о всех точках пересечения, то нужен Physics.RaycastAll, возвращает массив RaycastHit-ов.
>>512873>Насквозь он не пролетает, во всяком случае я такой перегрузки не видел.Raycast не пролетает, RaycastAll - насквозь, на всю указанную длину
>>512879>>512873У меня есть такой код: RaycastHit2D r; ... r = Physics2D.Raycast(vector1,vector2,length,layerMask); if (r != null)Условие всегда true, что я не так делать?
>>512884Бля, там бы сразу и сказал что у тебя 2д-рэйкаст, он-то не bool возвращает, а RaycastHit2D > Условие всегда trueНу наверное ты всегда во что-то попадаешь, не?
>>512885Да я чет протупил, сорян.Я там специально только с одной стороны выставил стеночки, он мне в консоле ошибки выдает мол NullReference
Как бы в стандартном скрипте на фпс контроллере отключать лок мыши и движение камеры за курсором? Не могу понять где именно ставить условие нажатой клавиши.
>>513012> Зачем? >>512988> Не могу понять где именно ставить условие нажатой клавишиЗатем, что условие нажатой клавиши ставится в апдейт.
>>512988Если то же что и у меня - в апдейте контроллера гаси RotateView() (он из класса MouseLook, в нем вся хуйня твоя вызывается).
Нет в юнити какого-нибудь встроеного редактора кода? Или мне всё-таки придётся качать вижуалстудию для анальной решёточки??
>>513052Visua Ыегвшщ лучший редактор, как ты без IntelliSense будешь?Но как вариант, можно VScode или Sublimetext
>>513052> Нет в юнити какого-нибудь встроеного редактора кода?У тебя искаропки монодевелоп стоит, алё.Но лучше таки студия с решарпером.
Ребята, я тут пытаюсь мешы сгенерить для лайнрендерера, но всегда половина смотрит в другую сторону. Как сделать чтобы все смотрели в одну?
>>513051Без UpdateCursorLock() не сможешь обратно прятать курсор наверное. А вообще хз, я эту вермишель в гробу видел. есличо попробуй просто m_cursorIsLocked теребить.
>>513149Ебаный MS решил придушить monodevelop окончательноhttps://www.reddit.com/r/dotnet/comments/8rxw2x/no_more_monodevelop_on_windows/
>>513197Хуй знает, работал давно на монодевелопе, потом пересел на студию, как небо и земля. Этот монодевелоп теперь даже не трону никогда
>>513270Я не он, но в студии можно найти откуда вызывается тот или иной метод по Alt+F7, дико удобно. Также есть переход к методу/классу/полю по контрол+клик. Подсветка unreachable-кода, помогает сразу увидеть если ты проебался. Конвертация обычных конструкций в LINQ, что сокращает количество строк (но это уже мелочи).И самое вкусное. Если ты хочешь в коде прихуярить что-то, что находится в неподключенном пространстве имён, то оно автоматически подключится. В монодевелопе же у тебя даже в выпадающем списке не будет того, что тебе нужно, только после того как ручками подключишь.Может это всё и в монодевелопе есть, я в нём не сильно ковырялся, хоть и довольно долго на нём просидел.На студию перелезать очень не хотел, но выбора не было (на работе только она), но теперь нарадоваться не могу.
>>511639Нормальный интерфейс. Наконец-то унифицированный тулбар завезли. Сейчас с аддонами пиздец какой-то.
Как сделать, чтобы объект плавно покачивался влево/вправо?То есть, чтоб координата X плавно варьировалась от -1 до 1, и наоборот, от 1 до -1
>>513523>>513529>>513530thank youТока документации https://docs.unity3d.com/ScriptReference/Mathf.Sin.html написано Mathf.Sin принимает в качестве параметра The input angle, in radians. Но, как я понял, ему можно скормить любое число чтоле?
Мне нужно прямоугольник на котором я могу расположить разные объекты и ходить игроком. Как это сделать? Все туториалы - какая-то хуита про таилмапы и всякий прочий сойбойский мусор не представляющий никакой пользы.
>>513736Просто создаёшь прямоугольник и располагаешь на нём разные объекты и ходишь игороком, зачем для этого какие-то туториалы? Это же элементарное действие, проще чем хэллоуворлд.
Сука, как же БОЛЬНО без MonoDevelop. VS Code - просто кусок говна. Студия - тормозная параша.Как жить дальше?
как организовать красивую скриптовую составляющую в проекте? чтобы не было миллиона повторяющих строк для последовательности действийкак вообще это организовано в юнити?
>>513811> как организовать красивую скриптовую составляющую в проекте?Берёшь и без задней мысли организовываешь.> чтобы не было миллиона повторяющих строк для последовательности действийЭто называется "метод".
>>513812без задней мысли я наговнокодить и так смогу, хотелось бы сделать пограмотному Понятно что метод, вызов их организовывать через делегаты, например?
Сап, Кириллы. Давно не был на доске и не обновлял Юнити, возникло сразу несколько вопросов.1) Я использую Visual Studio 2013, потому что MonoDevelop заебал багами с раскладкой/буфером обмена/шорткатами. Из возможностей студии пользуюсь только поиском и Code Map (здорово помогает, особенно если у вас ООП в плохом смысле). 2013 версию поставил, потому что более новая будет грузиться долго на моем некроноуте. Не проебался ли я? Может в новых версиях какая-нибудь киллер-фича есть, такая же полезная как Code Map?2) Что там с Nested Prefabs в новой версии Юнити? Ввели уже? Стабильно работает?3) У меня проект на древней 5.6. версии. Раздражает работа с Macanim, приходится кучу движений мышкой делать, чтобы создавать новые анимационные транзакции. В новых версиях есть возможность копировать транзакции?
>>513817> Не проебался ли я?Вроде нет. На крайняк накати решарпер, если он на 2013 ставится.> Что там с Nested Prefabs в новой версии Юнити? Ввели уже? Стабильно работает?Пока в бетке, но вангуют релиз уже "скоро" (с)По третьему вопросу нихуя не понял какие там тебя движения мышкой заёбывают.
>>513837Это считая фигурные скобки за строку? так и не нашёл где отключить эту хуйню, постоянно сносятся на новую строку
>>513829Ну хз, нужен ли мне решарпер. Я говнокожу, то есть рефакторингом и юнит-тестированием не занимаюсь совсем.>По третьему вопросу нихуя не понял какие там тебя движения мышкой заёбывают.Если Меканим-контроллер дохуя сложный, то добавление нового state всегда больно. Ведь в него и из него выходит туча transition. В 5.6. нет возможности просто взять соседний state c похожими transition копировать и сохранить все эти transition. Приходится как истинный ассетотаскатель кликать мышкой и создавать новые переходы.>>513837Але, Вася, при чем тут количество строк? Ты можешь весь свой проект открыть на карте или несколько классов отображать на одной карте.Я вообще на карте не заглядываю в классы, смотрю на связи между классами обычно.
>>513768Я этот >>513817Пересел с MonoDevelop на Студию 2013. Ни разу не тормозил проект на некроноуте с i5-4200M. Открывается быстрее чем Моно.Проект нормальный >= 10000 строк кода должно набраться.
>>513867Сорян, анон. Я бы мог показать свой, но у него такой хуевый ООП, что моментально зашкварюсь.Выглядит как макароны.
>>513866> Я говнокожуНу если ты знаешь что такое> рефакторингом и юнит-тестированиемто очень сомневаюсь что ты прям совсем пионер и долбоёб, не пойму в чём твоя проблема.
>>513837Не слушайте этого тупого дауна.CharacterController в Celeste - 5000 строк, при этом игра уже перевалила за 100к проданных копий, обеспечив автору безбедное будущее и новый проект.А этот долбоеб сидит в своем мухосранске, в хрущевке однокомнатной, и дрочит на код, кек
>>513876Что-то я не улавливаю причинно-следственной связи.Ты хочешь сказать, что нужно писать лапшу на 5000 строк?Смысл эффективного кода в его эффективности.
>>513879Потому что у такого класса слишком много ответственностей. Такой класс становится трудно понимать, применять и изменять.
>>513878>Что-то я не улавливаю Так ведь я же пояснил, почему не улавливаешь - даун тупой. >Ты хочешь сказать, что нужно писать лапшу на 5000 строк?Да всем похуй, что там у тебя в твоей говноподелке. Пусть даже state of the art code - покупателю фиолетово. Если игра говно - твой прекрасный код ее не спасет и ты потратил кучу времуни на прихорашивание того, что вообще не релевантно.Meanwhile, игры с говнокодом, типа Conan Exiles, PUBG или YandereSimulator принесли авторам нехилые бабки.Тебе, даун, шашечки или ехать, блать?
>>513879100 строк это конечно условно.Просто это я для себя решил, что класс в котором значительно больше 100 строк становится трудно понимать.
>>513881>Да всем похуй, что там у тебя в твоей говноподелке. Пусть даже state of the art code - покупателю фиолетово.Эффективность кода нужна не покупателю, а тебе самому. Это твой собственный инструмент.
>>513885Эта книжка поможет моей игре продаться 100к+ копий? Твой игре помогла? Кажи свою игру, что тубу безбедную жизнь обеспечила.Ах, нету? Вот и нахуй иди с тупыми рекомендациями.>>513884>Эффективность кода нужна не покупателю, а тебе самому.Мне нужна не эффективность кода, а покупатель. Вот когда будут покупатели, тогда и буду думать об эффективности кода в патчах.
>>513888Ты какой-то тупой. По-твоему это какая-то прихоть.Эффективный код это в первую очередь твое время.Я сомневаюсь что с таким отношением к коду ты вообще что-то закончишь.
>>513889>Я сомневаюсь что с таким отношением к кодуC таким отношением к коду пиздуй-ка обратно в софтфар-дев, тебе не место в гейдеве.
>>513881Попрошу Yandere Simulator вон из этого списка. Автор пилит игру уже 5 лет без должного прогресса. Продавать ему нечего, только с Патреона деньги капают, едва достаточные для бомжевания в США.Хотя код говнистый у него, да. if () {} else { if () {} else { if () {} else { if () {} else { За такую лажу у нас на доске расстрел.
>>513889>>513899Вообще, правильным отношением будет заделать прототип из говнокода. Потом показать прототип публике. И только если публика оценит, тогда брать, удалять исходники прототипа нахуй и писать с нуля игру.А не как >>513906 этот, который прототип 5 лет пытается игрой сделать.
>>513906>бомжевания 4k зелеными на протяжении 5 лет, 50к в месяц.Смотрим сюда:https://www.youtube.com/watch?v=WycVOCbeKqQ93% инди-девов прогорают, только около 7% умудряются зарабатывать около 30к в месяц.Так вот поведай мне, друг лучистый, сколько тебе принесла твоя игра за последние 5 лет и что это за игра? :PВопрос, очевидно, риторический.
>>513908Моя игра не принесла ни копейки. Но чуть не занял призовое место на предыдущем TWG! В упорной борьбе проиграл Бластер-копу.Но я то хуи с горы без реального опыта в геймдеве. А Yandere Sim делает великовозрастный разраб, который убежал из коммерческого геймдева. Алсо, он на своей прошлой работе наверняка больше 4к зеленых получал, это же США.Разве это успех? Вот если бы он выкатил законченную игру в Стим и продал, был бы успех.Алсо, я не >>513910
>>513920>Но чуть не занял призовое место на предыдущем TWGПацан к успеху шёл, не получилось, не фартануло
>>513920>А Yandere Sim делает великовозрастный разраб, который убежал из коммерческого геймдева.Что, блять, за оправдания, пошли? Ты сам-то в это веришь, глядя на его код? Почитай его смету, он сам ВООБЩЕ почти нихуя там не делает, 3D-моделинг, анимация, войсовер - все аутсорсинг на деньги патреона.>Но чуть не занял призовое место на предыдущем TWG! А даже если бы и занял - оно бы тебе 50к в месяц принесло? Стабильно, на 5 лет?>Разве это успех?Ты СВОЙ успех, который заметно лучше продемонстрируй? Окромя жалкого и смешного "чуть не занял призовое место на предыдущем TWG". Мамкин борщехуй.> Вот если бы он выкатил законченную игру в Стим и продал, был бы успех.Так нахуя, если можно доить патреонодебилов годами? >Алсо, я не >>513910Да похуй кто, аргументация такая же несостоятельная.
>>513922По делу есть что сказать, кроме: "сперва добейся"?Я уже несколько лет слежу за его проектом. И факты таковы:1) Разраб занимается только кодом, геймдизайном и пиаром, да.2) Несмотря на говнокод он - профессиональный кодер. Он сам говорил, что работал в геймдев-конторе. Занимался прототипами.3) 4к в США - зарплата электрика. Патреон подходит только для нищуков из стран СНГ и Индии. Поток этих копеек иссякнет как только пропадет внимание публики.4) Игра настолько раскрученная, что если бы выпустить ее в Стиме можно было бы получить миллион-другой баксов на старте продаж.
>>513930>По делу есть что сказать, кроме: "сперва добейся"?Нет. А зачем мне тебя слушать, если у тебя нет опыта? Вот девелоперов Hollow Knight или Celeste или Stardew Valley я бы послушал, у них, т.с., first-hand experience на примере за плечами. А у тебя что? Ты кто, хуй с горы? Зачем мне тебя и твои завывания про твою чистоту кода слушать?Или у тебя есть личные примеры, где твой чистота кода тебе миллионный продажи принесла? Так кажи, делись.>Я уже несколько лет слежу за его проектом. И факты таковы:Это не факты, это твой ублюдочное мнение, которые ты, за неимением аргументов и в жалкое попытке ответить - представляешь как факты, как субституцию аргументам.Мне на его проект, как таковой, похуй. Я его привел лишь как пример того, что твоя чистота кода нужна лишь одному тебе, а не покупателям.Не нравится YandereDev? Так давай возьмем Hollow Knight - дырявый singleton на Юнити, костыль костылем поправляет. У них послерелизное добавление простых изолированных боссов заняло почти год, потому как при малейшем изменении говнокода ВСЮ игру нудно тестировать, от А до Я, ибо разваливается.У твой пропаганды кода нет никаких весомых аргументов за плечами. Все похуй, люди покупают игру, а не код. Свой код можешь вылизывать, когда продашь 100к+ копий, в новом доме, со служанкой, отсасывающей тебе под столом.
>>513934Пиздец. Какая еще чистота кода? Я пишу говнокод.Единственный мой пост про качество кода был >>513907В очередной раз убеждаюсь, что двач - это для бессмысленных споров.
>>513934Вот это рукожопый унтерменш подорвался от чистоты кода. До сих пор в себя прийти не может.Объясняю дурачку еще раз, что чистота кода и миллионные продажи ортогональны, то есть никак не связаны.Чистота кода позволяет сделать код более эффективным. То есть возможно сократить время разработки, уменьшить число багов. Время разработки - это ресурс. То есть чистота кода приводит к сокращению бюджета разработки игры.Казалось бы, очевидные вещи.
>>513934>У твой пропаганды кода нет никаких весомых аргументов за плечами.Ты же только что его привёл, лол:>У них послерелизное добавление простых изолированных боссов заняло почти год, потому как при малейшем изменении говнокода ВСЮ игру нудно тестировать, от А до Я, ибо разваливается.
>>513935>Единственный мой пост про качество кода был >>513907Ну так елки-палки, Михалыч, чего-ты тогда вообще влез в эти говнометания?>>5139372 часа спуся, 10 постов спустя и ни одного примера.Сдулся, как шавка трусливая.>>513938>Ты же только что его привёл, лол:Ну пиздец, приехали - передергивания уровня /b/. Прекрасно знаешь, что данный пример был приведен как подтверждение моих слов и все равно опустился до жалкого передергивания. Ну или просто тупой и не понимаешь.Поясняю на пальцах - вместо того, что бы тратить время и усилия на "ле чистоту кода", они игру делали. И какой результат? На июль 2018, у них 1 миллион проданных копий, и это за 1.5 года, при максимальной скидке в 33%. Вместо того, чтобы хуйней страдать, они себе безбедную жизнь обеспечили. А дальше вес просто - наняли кодомакак, таких вот святых идеалистов-дебилов, как ты, и они стали весь этот код причесывать и переписывать для Switch-релиза.Вот и смотри сам - где они, с их миллионами, и где ты, в грязной комнатушке, с красными глазами свои жалкие пару штук отрабатываешь, переписывай чужой говнокод.
>>513934>Вот девелоперов Hollow Knight или Celeste или Stardew Valley я бы послушал, у них, т.с., first-hand experience на примере за плечами.Авторы придумали идею и наговнокодили как могли. Совершенно неинтересная история, ничем не отличающася от пост-мортема какой-нибудь игры с ТВГ. Никакого полезного опыта ты не наберешься.
>>513942>Совершенно неинтересная историязакончившаяся лишь тем, что они миллионеры.И вот только одна характерная черта прослеживается во всех таких случаях - они не прекрасны код писали, а игру делали.
>>513940>Ну так елки-палки, Михалыч, чего-ты тогда вообще влез в эти говнометания?К тому, что Yandere Dev не имеет ничего общего с авторами Hollow Knight, Celeste, Stardew Valley, которые миллионерами стали.Игра не сделана даже на половину, контент частично с ассет-стора или вообще рипнутый. И говнокод ему боком вышел. Он начинал на Unity 4, не может перенести проект на актуальную версию движка из-за говнокода. Не может "боссов" и сюжетную часть в разумные сроки в игру встроить, тоже благодаря говнокоду.Говнокод ему помогал в начале разработки, позволил быстро показать фичи аудитории и стать популярным. Но в последние годы каловый камень кода тянет на дно.
>>513949>К тому, что Yandere Dev не имеет ничего общего с авторами Hollow Knight, Celeste, Stardew Valley, которые миллионерами стали.У них общее одно - они не страдают хуетой и не пропагандируют чистоту кода, они пилят свои игоры, каким-бы они не были. YandereDev был приведен как "приземленный" пример, что бы было понятно, 50к в год там, или миллиона два - - суть одна и та же.
>>513960Для игр такого жанра придётся почти что свой движок пилить, по крайней мере многое с нуля придётся делать, искаропки у тебя дрифт не получится.
Как заставить коллайдер стопить игрока? Какого хуя везде говорят что нужно просто добавить колайдер? Нихуя же не работает.
>>513906> if () {} else { if () {} else { if () {} else { if () {} else {> За такую лажу у нас на доске расстрел. А как по другому проверять множество условий?мимонюфаг
Лол охуеть можно с этим юнити. Обнаружил что хуй знает когда они всетаки добавили возможность иметь коллайдеры на деревьях. Нука думаю пойду пособираю коллайдеры с деревьев, посмотрю где там чё. И хули? это что вообще они сделали, мудаки?Справа дерево на террейне, немножко заскейленное и повёрнутое.Слева снизу дерево в той-же ориентации и скейле как на террейне.Слева сверху дерево в том-же скейле но не повёрнутое.Тоесть лол у деревьев на террейне коллайдеры не вертятся вместе с деревом. Спасибо. Пидоры.
>>514091Да похуй на деревья. ты полюбому что-то не правильно делаешь. Лучше скажи что это у тебя за пиздец из линий там? Нахуя?
>>514106На самом деле тут вообще ничего невозможно сделать неправильно. Потому как у юнити из настроек коллайдеров террейна только наличие, или отсутствие их. Само дерево, если интересно, идёт как экзампл к юнитевскому SpeedTree. А на линии можешь сам посмотреть, Window > Physic Debugger, включи отображение дебага для террейна. Он никогда и не работал правильно для него.>>514109хули? когда проверял в раёне 5 версии можно было иметь коллайдер только на самом префабе и только один. притом ещё и игнирировалась его ориентация. а теперь хопа я неожиданно узнал что тут что-то поменялось. поменялось но всё так-же бесполезно.
>>514116кстати ещё о замечательных фичах юнити. коллайдеры деревьев похоже существуют только в плеймоде. поэтому если делать Physics.OverlapBox то в эдиторе тебе вернется только террейн. однако в плеймоде вернется террейн за каждый коллайдер дерева попавший туда. сделают же!
>>514144>а в Юнити такая же хуевая документацияUnity docs - state of the art.Я серьезно. Таких хороших доков еще поискать.После того устарелого мамонта - тебе вообще рай будет
>>514150>Unity docs - state of the artПо более-менее недавно добавленным функциям доков или нет вообще, или очень поверхностные.
Я тут прослоупочил, оказывается Мишаня Оптимизаторный теперь в юнити работает, наконец хоть будет кому ООП-блядей ссаным тряпьем гонять. https://www.youtube.com/watch?v=p65Yt20pw0g
>>514256А то придут такие из интерпрайза, обколются своими объектами по стопицот полей и ноют, мол, а чо у них юнька тормозит. И на Update все как один дрочат такие, кококо велосипеды нинужны, кудахтахтах. Прямо любопытно будет наблюдать за переобуваниями, после того как Мишаня их под шконку загонит.
>>514258Алсо, нахуй из Интерпрайза в Юнити перекатываться? В геймдеве ведь нет бабла и развития. Надо наоборот.Я вот хочу в интерпрайз, блядские формочки клепать для бухгалтеров за 100к в месяц. Но этому учиться так лень, хотя Юнити вот неплохо так задрочил за пару лет.
>>514279>Я вот хочу в интерпрайз, блядские формочки клепать для бухгалтеров за 100к в месяцИ что это тебе даст? Хочешь просто плыть по течению, как овощук?
>>514282>плыть по течению, как овощук?Но это лучше чем лазить по помойкам, но быть гордым гейдевелопером.
>>514279Удвою, тоже хочу в ентерпрайз, заебало говноигрушки для фриланса лепить чтоб выжить и наедяться что игра мечты выстрелит
>>514256>A Data Oriented ApproachОт того, что процедурное программирование назвали новым модным словом - ничего не поменялось.
>>514282Нырнуть в пучины ООПа с головой, знать и применять десятки паттернов, научиться планировать архитектуру.А в Юньке-то что?void Start () {Hui hui_ref = GetComponent<Hui>();}void PutIt (bool _direction) {if(_direction) hui_ref.FuckIt();else hui.ref.FuckOut();}
>>514298Увы, большими бывают только ААА+ проекты. Куда вообще никого не берут, кроме серьеров 10+ лет опыта.Ну не писать же инди-игру 5 лет, чтобы она выросла до большой?Обычные инди-игры на говнокоде и говнокода им бывает достаточно, если только игра внезапно успешной не становится.
>>514298>Ну в юньке если большой проектТы недооцениваешь глупостью юнитимакака. Они в любом проекте могут такого нагородить, что волосы дыбом встают.Простой проект, который можно сделать за пару месяцев с нормальной архитектурой, они могут мучать годами, а потом еще годами исправлять баги.
>>514303ты сейчас описал любого начинающего геймдева, если ты думаешь что любой школьник возьмется за уеч или сурс и вдруг выдаст охуенный продуманный и эффективный проект то ты либо жирный либо жирный
>>514304>ты сейчас описал любого начинающего геймдеваа ты думаешь начинающий геймдев чем-то отличается от опытного? хорошему коду нужно учиться. это искусство, дисциплина. юнитимакака как писала говнокод в одной игре, так и продолжить писать его в других играх.
>>514291>Кто такой, чем знаменит? Mike Acton, работал в Insomniac Games. Известен как отец-основатель методики Data-Oriented Design, которая, на самом деле, является подытоживанием опыта борьбы с консольным железом прошлого/нынешнего поколения.Собственно, сама методика про cache-friendly размещение данных в памяти. ООП-блядтсвовать никто с ней не запрещает, просто все данные хранятся в фабрике в виде массива на каждое поле, а работа идет с прокси-объектами, которые никаких данных кроме индекса элемента не содержат.
>>514317>просто все данные хранятся в фабрике в виде массива на каждое поле, а работа идет с прокси-объектами, которые никаких данных кроме индекса элемента не содержатТо есть выкинуть нахуй инкапсуляцию данных для ублажения железа, я правильно понял.? Так это и называется процедурным программированием, ващет, без инкапсуляции уже все - не ООП нихуя, по определению .
>>514317>Известен как отец-основатель методики Data-Oriented DesignИдея процедур оперирующих данными стара, как сама идея программирования.
>>514319>То есть выкинуть нахуй инкапсуляцию данных для ублажения железа, я правильно понял.? Так это и называется процедурным программированием, ващет, без инкапсуляции уже все - не ООП нихуя, по определению . Инкапсуляция остаётся на уровне прокси-объектов. Просто data layout меняется с того, который обеспечивается языком/рантаймом:[{x:1,y:3,z:5,w:16,hui:30,pizda:140},{x:1,y:3,z:5,w:16,hui:30,pizda:140},{x:1,y:3,z:5,w:16,hui:30,pizda:140},{x:1,y:3,z:5,w:16,hui:30,pizda:140}]На удобный для процессора и оптимизатора компилятора:{x:[1,2,3,4,5],y:[1,2,3,4,5],z:[1,2,3,4,5],w:[1,2,3,4,5],hui:[1,2,3,4,5],pizda:[1,2,3,4,5]}Вообще, этот момент должен в компиляторе/рантайме решаться, просто сговор с производителями железа мешает это сделать и приходится пилить вот такие костыли руками.Собственно, доклад мишани про то, что он эту хуитку запилит как раз на уровне рантайма и в юнити наступит счастье.
>>514324Так их нет, поэтому и рисуют данные костыли. Причем если в байтоебских языках AoS определено стандартом, потому что там структуры и экземпляры классов обязаны лежать в памяти непрерывным куском, то вот нахуя AoS перетащили в жабу и шарпей, если в рантайме можно смело хуярить данные как угодно - кроме заговора не объяснить ничем. Все что нужно - это перпилить у моно менеджер памяти, что бы он строго SoA хуярил.
>>514304>>514309Внезапный бывший учитель Unity для школоты (Код-класс) в треде.Авторитетно заявляю, что школьники программировать не любят. Им видите ли не нравится сам процесс набивания текста в IDE. Они хотят больше картинок и движения. Так что засилье школьников в Юнити - не более чем миф.Наверняка их больше в UE4, ведь там можно блюпринтами собирать лапшу.
>>514311В геймдеве мало возможностей писать хороший код. Ты пока продумаешь архитектуру и будешь писать универсальный класс для спавна мобов и бонусов, говнокодер Вася уже вакатит свой прототип с копипастой кода, сотнями корутин и проверок в Update(). Игра Васи будет тормозить, никогда не будет толком доделана и пофикшена, но он все равно успеет сорвать куш. А ты с идеальной игрой будешь хуи сосать.В интерпрайзе же Васе просто никто не позволит уродовать проект говнокодом. Твоя зарплата напрямую зависит от качества кода.
>>514330>Игра Васи будет тормозить, никогда не будет толком доделана и пофикшена, но он все равно успеет сорвать куш. А ты с идеальной игрой будешь хуи сосать.И всё это закономерно ебнется, как ёбнулось овер 30 лет назад:https://ru.wikipedia.org/wiki/%D0%9A%D1%80%D0%B8%D0%B7%D0%B8%D1%81_%D0%B8%D0%BD%D0%B4%D1%83%D1%81%D1%82%D1%80%D0%B8%D0%B8_%D0%BA%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80%D0%BD%D1%8B%D1%85_%D0%B8%D0%B3%D1%80_1983_%D0%B3%D0%BE%D0%B4%D0%B0После чего более менее успешные уйдут под крыло крупных студий и издательств, где их насильно будут пиздить и заставлять писать по гайдлайнам.
>>514339Поэтому лучше уж кресты задрочить и OpenGL велосипед написать, после чего пойти анальным рабом-падаваном к крупняку в польскую студию, чем в специальной олимпиаде со школьниками-говноедами участвоватью
>>514339>И всё это закономерно ебнется, как ёбнулось овер 30 лет назад:Что ебнется, даун тупой?Код Undertale - сплошной пиздец. Тоби сейчас - миллионер. Ему уже сама игра и ее продажи нахуй не всрались даже, она на мерче да остальной оклоигровой хуете стабильно зарабатывает.Где там у него что наебнулось?
>>514348>Код Undertale - сплошной пиздец. Тоби сейчас - миллионер. Ему уже сама игра и ее продажи нахуй не всрались даже, она на мерче да остальной оклоигровой хуете стабильно зарабатывает.На атари в 1979-1982 тоже несколько лет успешно клепали говно за 5 недель включая отправку рома на фаб картирджей и запуск линии, не в первый год это ебнулось.
>>512438Я пытался и сделал что-то по этому поводу. Но очень много отладки, заебался. Важно определять хотя бы с какой стороны столкновение, потому что объект Collider, который приходит в триггер, тебе ничего не расскажет.
пилю проект для андроида, сейчас вставала проблема с дверями, не могу придумать хорошую скриптовую логикукакие есть идеи?
>>514381уже накидал, вроде стало получаться, но ситуация следующая, я подхожу к ней, нажимаю клавишу, и она должна повернуться на 90 градусов, пока что реализовал все кроме поворота - нужно чтобы игрок или что то еще не застряло во время открытия
Могу я как-нибудь через шарп получить объект, а затем менять его свойства? Просто присвоить переменной ведь не получится? Через ссылки? И как тогда с ними работать?
>>514407нормально разве что в шарпе 7 версии. че сделать то хочешь? пример приведи. всегда можно делать говно через делегаты.
>>507111После небольшого перерыва вернулся к этой проблеме. Вообще заебись вышло. даже не в 6-7 а в 11-15 раз быстрей текущего. Я уже стал упиратся в чтение и сувание в массивы, чем актуальную геометрию. Интересно как бы сделать сувание в массив быстрым-быстрым.>>507137А я забыл сказать. Спасибо за напоминание! Кстати, то что я оттуда спиздил хуже чем моё. Я себя почувствовал крайне умным.
>>514432как всегда. почитай документацию. если лень читать то видяшечки посмотри тематические. если даже это лень то можешь тупые вопросы в треде позадавать. у юнити-хуюнити то нормас документация.
>>514432>чтобы быстро влитьсяБыстрее всего вливаешься просматривая чужой код. Начни отсюда:https://unity3d.com/learn/tutorialsмимо-единственный-тру-программист
>>514358Щас не 82 год идиот, рынок в миллионы раз больше и растёт постоянно так что такая хуйня невозможна
Как присваивать значение метода Queue.Dequeue ? Переменной того же класса из которого состоит очередь он не передаёт, в функцию он не передаёт. Как?
>>514545Ты не видишь, что в юнити своя Queue с элементами одного класса? Там тред мёртвый. Ну тебе сложно ответить? В доках об этом нет. Там магическим образом возвращают через var. А в методе так нельзя
>>514546>Ты не видишь, что в юнити своя Queue с элементами одного класса? Дурачок, иди читай доки по C# https://docs.microsoft.com/ru-ru/dotnet/csharp/И не возвращайся, пока не прочитаешь все от корки до корки.
ура. эти преобразования матриц в юнити меня уже доебали. целый час понимал как же так хитровыебанно там сферы скейлятся. ещё и этот полуработчий профайлер физона который работает только в рантайме во время которого конплюктор начинает гудеть как будто сейчас взлетит.
>>514560Он его начала еще в самом первом юнититреде писать. До сих пор пишет.Это хронический велосипедист.
>>514506>рынок в миллионы раз больше и растёт постоянно так что такая хуйня невозможнаПузырь раздувается, все логично. Тогда он тоже рос пиздец как. И тоже каждый мудила со своими поделками лез, пока это все не ёбнулось и нинтенда не придумала современную консольную модель в виде анального рабства для компаний-разработчиков платформодержателем. Где платформодержатель приказывает компании как она должна делать свою игру и имеет право отменить её выход.
>>514579Ой блядь проснись, аналитик жопоголовый, ты обосралсяВ 82 году было 3,5 компании с парой оверпрайс консолек и несколькими миллионами пользователей, на которые они высирали оверпрайс говно, из-за чего эти пользователи и перестали это говно покупать. ПОТОМУ ЧТО ОНО БЫЛО ОВЕРПРАЙС И ВЫБОРА НИХУЯ НЕ БЫЛОСейчас в триллионной индустрии сидит миллиард пользователей, в стиме, на десятках консолей, на миллионах мобилок, в социальных сетях и где хочешь блять, хоть у тебя на холодильнике, сидят и ебашат в свои любимые игры. Что там наебнется? Какой пузырь? новая гта преестанет продаваться?Люди перестанут в клаш оф кланс играть? В кэнди краш сага? В батл рояли в стиме? Корейцы перестанут в лолец играть? Сотни тысяч разрабов с голодными глазами перестанут игры делать и миллионы новых пользователей из развивающихся стран перестанут в них играть? Чё ты несешь сука, ты вообще думаешь чё ты пердишь тут? Единственное что произойдет, и уже происходит, это то что стим превратится в гугл плей в котором 99.9% индюков будут разорятся потому что они клепают говно и не могут в маркетинг. Иди нахуй отсюда, клоун ебаный
>>514580>было 3,5 компанииhttps://en.wikipedia.org/wiki/List_of_Atari_2600_games> с парой оверпрайс консолек https://en.wikipedia.org/wiki/Second_generation_of_video_game_consolesУровень аналитики /ra
>>514584Ну это естественно сравнимо с текущей индустрией, ага. Чё ещё пизданешь, мастер википедии? Может средние цены на игры сравним,а? А может перечислишь фритуплей игры в 82 году? Ах да, их небыло нихуя, точно, ты снова обосрался
А как к экземпляру класса то подключить другой скрипт? А то в [SerializeField] можно только спрайты таскать. А мне нужно методы вызвать и получать переменные.
Набросил триггер определил его в скрипте. Ничего не происходит, не вызывается когда в триггер вхожу игроком. Это чё?
>>514295Тупой примитивный быдло-даун:https://www.youtube.com/watch?v=eIf3-aDTOOAhttps://strangeioc.github.io/strangeioc/exec.htmlИди нахуй картошку копать в колхоз, упырок.
>>514687Ты к чему мне этот обучающий видосик для нубасов прислал, Маня? Если ты не можешь жить без замечательных видосиков от юнитеков, это еще не значит, что остальные не могут.Я и так минимальную связность компонентов обеспечиваю в своих проектах.В очередной раз убеждаюсь, что Юнити - это для школоты, дрочащей на новые фичи от юнитеков и их зажигательные выступления на конференциях. Реальные пацаны в интерпрайзе. Поскорее бы съебать от вас в интерпрайз.
>>514560На самом деле я уже давно написал его. Там уже полно клевых фич, вроде динамических обстаклов, автоматического определения укрытий, хранения данных в самом навмеше и управлением их из компонентов, гпу растеризации и прочего-прочего говна.Мне недавно один мой постоянный пользователь написал "чето деревья не работают как надо" и тут то я обнаружил что юнити добавили возможность совать в деревья коллайдеры от чайлдов. ну охуеть теперь. когда начал исправлять это то понял что повсеместное обилие примитивных коллайдеров это пиздец. сел оптимизировать растеризацию хотябы сфер и капсул. попутно рефакторя приличный кусок старого кода. теперь вот всё это заработало, но надо соединить три куска нового кода в один большой и сунуть в старую часть.жду не дождусь когда юнитеки сделают свой новый террейн. вот наверно веселья полные штаны то будет.>>514569да ладно на самом деле я начал писать далеко не в самый первый тред! где-то начиная c 5.6 версии я тут иногда появляться стал. и показывал я не только этот велосипед! вообще может скоро покажу один забавный прототип игры, у меня тут появился один мой старый мудак полный желания реализовывать мои охуительные идеи.
Почему не работает? Банально не вызывается метод. При чём на входящем объекте тоже колайдер и тоже ригидбоди.
Пачаны, а есть функция типа "void Update ()" которая будет вызываться в любой момент времени, но один раз?
>>515217Чего блять? То есть тебе нужна такая функция, которая вызывается каждый кадр, но чтобы вызывалась всего раз?Нууу, наверное это void
>>515217Нет, таких функций в юнити нет. Но я слышал что нечто подобное есть в годоте. Попробуй перекатиться на этот движок.
>>515230> таких функций в юнити нетКаких "таких"? Он же нихуя не объяснил что хочет. Тебе лишь бы лишний раз про годот высраться.
>>515217А нахуя, анон? bool run_once;public float my_time;void Udpate () {if (Time.time == my_time && !run_once) {MyFunction();run_once = true;} И в любой момент времени вызывается и только один раз, охуенно же.
>>515230Ты в состоянии мысль сформулировать? Что тебе нужно? Функция, вызываемая каждый кадр, но запускаемая вручную и вручную же останавливаемая?Если да, то это корутина. Если нет, то попробуй сначала сам понять чего ты хочешь.
>>515241> Функция, вызываемая каждый кадр, но запускаемая вручную и вручную же останавливаемая?> Если да, то это корутина.Можно ещё прикреплять к объекту скрипт с апдейтом, а потом дестроить его, когда больше не нужен.
>>515217Держи, сам в каждом проэкте используюpublic class Timer : MonoBehaviour {public float time;float elapsed;void Update() {if ((elapsed += Time.deltaTime) >= time) {elapsed -= time;SendMessage("OnTimer");}}}
>>5152462 if-проверки в апдейте —далеко не то, о чём надо волноваться в случае 50000 объектов с апдейтом на сцене.
>>515245И начнётся! Потому что слать сообщения строками = быдлокодинг. Путь декларирует числовую константу ON_TIMER и посылает месседжем её.
Нужно писать очень много очень мелких скриптов. Создавать MonoBehaviour на каждый чих и ждать полчаса рекомпиляции не хочется.Какие имеются популярные альтернативы?
>>515253Ну например у меня заскриптованная игра. Мне надо каждую дверь открывать немножко по разному, например. Для каждого монстра сделать разные скрипты.
>>515254> Мне надо каждую дверь открывать немножко по разному, напримерПо разному это как? Под другим углом? С другой скоростью?Делай нужные поля сериализационными и запросто один и тот же скрипт будет делать "немножко по разному" на разных объектах.
>>514770>Методы триде спокойно вызываются в объектах двадэ, не вызывая ошибки при компиляции.Это говнюнити, сынок!
>>515257> Методы триде спокойно вызываются в объектах двадэЧего-чего? На 2д-ОБЪЕКТАХ 3д-метод и так спокойно вызовется, если на нём использовать необходимые компоненты, например бокс-коллайдеры вместо 2д-коллайдеров. Даже на 2д-объекте, да.Это как купить ютуг вместо ботинка и жаловаться что на ногу не налезает.
>>515262Это понятно. Я у тебя и спрашиваю, чем у тебя будет отличаться открывание одной двери от открывания другой.Если значением пары переменных, то делай их сериализуемыми.Если чем-то сложнее, то делай разные методы.Если вообще пиздец как отличаются, то пиши разные скрипты.А то у тебя постановка задачи на уровне "хочу делать много скриптов, но не хочу, а то их много будет".
>>515264>А то у тебя постановка задачи на уровне "хочу делать много скриптов, но не хочу, а то их много будет".У меня постановка задачи в том, что мне нужно писать скрипты внутри юнити. Не только для дверей. Двери это просто пример.
>>515267И в чём проблема их написать?И что значит "писать скрипты внутри юнити"? Прям не в студии пишешь, и не в монодевелопе, а прямо в юнити?
Аноны, такая проблема. У меня есть допустим 3 бота, которые двигаются вперед назад. За их движение отвечает один и тот же скрипт, который рандомно выбирает их направление. Боты двигаются синхронно. Как это фиксить ?
>>515269Потому что C# - это не скрипты. Компоненты - общие для объектов, скрипты пишутся для каждого конкретного объекта.Суть скриптов в быстрой итерации. На C# не удобно создавать и редактировать сотни мелких скриптов.
>>515272Делай задержку перед первым движением, либо делай чтобы они рандомно ждали пару секунд на каждой точке
>>515273> Потому что C# - это не скриптыНазывай как хочешь, суть не поменяется.> скрипты пишутся для каждого конкретного объектаповедаю тебе тайну — один и тот же скрипт (или как ты там их называешь) можно повесить на любое количество объектов.> На C# не удобно создавать и редактировать сотни мелких скриптовСоздаёшь ты не "на C#", на С# ты их пишешь.Так в чём у тебя проблема?
>>515276>Так в чём у тебя проблема? Моя проблема - это твоя глупостьhttps://freegamedev.net/wiki/Scripting
>>515278> Моя проблема - это твоя глупостьЯ же сказал, мне похуй как ты это называешь. Хоть скриптами, хоть евангелиями. Так с какой бедой ты пришёл в тред?
>>515283>Нужно писать очень много очень мелких скриптов. Создавать MonoBehaviour на каждый чих и ждать полчаса рекомпиляции не хочется.>Какие имеются популярные альтернативы?
>>515286> Нужно писать очень много очень мелких скриптовПиши не очень много.> Создавать MonoBehaviour на каждый чих и ждать полчаса рекомпиляции не хочетсяНе создавай на каждый чих.
>>515252Создаёшь много много функций внутри одного скрипта, запихиваешь их все в массив функций, и потом из массива вызываешь их по индексам.
что за пиздец творится в треде? почему тут дают советы уровня "не суй кубик в круглую дырку"? почему тупые вопросы находят такой-же тупой ответ? поскорей бы лето кончилось.
>>515289> почему тут дают советы уровняА какие ещё советы давать? Тут или годотошизик ошивается, или уечепидор, или пара нубасов. Тред на каникулах и отпусках, ничего не поделать.
>>515287Ты тупой? Ты вообще представляешь что такое заскриптованная игра? Квесты, РПГ, адвенчуры, многие заскриптованые шуторы.Мне буквально нужно писать сценарий игры по шагам. Я не хочу писать тяжелые убер компоненты и городить изощреные системы там, где это не нужно.
>>515292> Я не хочу писать тяжелые убер компоненты и городить изощреные системыТак не пиши и не городи. В чём проблема?
>>515295Ну я вижу что ты не хочешь писать MonoBehaviour на каждый чих. Ну так и не пиши. или тебя кто-то заставляет?
>>515292Как правило это все решается сериализацией и созданием универсальных скриптов для одинаковых типов объектовЯ незнаю почему ты этого не можешь понятьДавай приведи примерь про двери, какие ты хочешь отличия в функциональности двух дверей для которых нужно было бы писать новый скрипт
>>515302>Как правило это все решается сериализацией и созданием универсальных скриптов для одинаковых типов объектовЭто решается, если можно сделать общую абстракцию компонента для объектов.Скрипты нужны чтобы писать логику для каждого объекта. Компоненты и скрипты прямо противоположны.
>>515313Вот например в юнити сделали абстракции Rigidbody, Animator, Cinemachine.Мне же нужны скрипты для каждого объекта. Я не могу сделать универсальную абстракцию каждого конкретного поведения.
>>515313> Компоненты и скрипты прямо противоположныВот только в юнити скрипт, который присоединён к объекту, считается его компонентом.
>>515314Я тебе ещё раз говорю, приведи конкретный пример двух дверей, о которых ты говорил выше, и какие функции они должны выполнять каждая
>>515316Да это либо жиробас, либо зелёный, который юньку два раза в жизни запускал.Хотя скорее первое, потому что зелёный на прямые ответы уже давно бы ответил, а не крутил пластинку по кругу.
>>515314Проще будет купить специальный ассет для этого дела. Для простой игры подойдет Fungus.Я на Фунгусе реализую диалоги персонажей и квесты. Можно быстро добавлять новые действия и логику переходов между блоками. Плюс, у тебя будет готовый компонент для вывода текста в любых мыслимых формах.
>>515321С чего ты взял что ему нужен ассет для диалогов и сюжета, он даже не писал какую ему игру надо делать
>>515316Речь не о том, как должна открываться дверь. Это 2 двери с разными сриптами. Например, из квеста.Одна может открываться с заданными интервалами, Другая, например, может проверять инвентарь игрока и быть закрытой, пока игрок не выполнит какое-то условие.
>>515324> Одна может открываться с заданными интервалами, Другая, например, может проверять инвентарь игрока и быть закрытой, пока игрок не выполнит какое-то условиЗапросто делается одним скриптом.
>>515325Молодец. Речь о том, что задачи скриптов определяется конкретным сценарием, а не игровыми механиками.
>>515327И? Как это отменяет то, что я могу повесить один и тот же скрипт на несколько дверей и все они будут работать как я захочу? Какая-то с интервалами, какая-то с песнями и плясками?Ты сам себе сложности создаёшь.
>>515323Отсюда >>515292Сценарий игры по шагам как раз в Фунгусе удобно собирать.Алсо, его можно не только для диалогов использовать. Любую хуиту, которая у тебя в компонентах вызвать можно или Событие дернуть.
>>515330> Любую хуиту, которая у тебя в компонентах вызвать можно или Событие дернутьДля этого есть банальная анимация.Может это ему и нужно, лол.
>>515324ну смотриесть класс Doorbool isLocked;bool isOpen;KeyType key;bool autoOpening;float interval;и пишешь в скрипте все варианты взаимодействия тамс учетом всех этих условий. И проблем нет. Понимаешь дверь это дверь. Ничего сверхъественного ты с ней не сможешь сделать. Она либо закрыта, либо открыта, либо заперта, у неё ограниченное количество характеристик. И так с большинством других объектов. Если что то более комплексное то делай наследование, например класс BaseEnemy, от него наследуется BaseBandit, от него например BanditLord и так далее, и в каждом скрипте прописывай что-то комплексное
>>515328Не можешь ты ничего повесить. Тебе нужно будет создавать кучу специальных компонентов со специальными поведениями такими, какие требует сюжет.
>>515335> Не можешь ты ничего повеситьИ кто мне запретит? Беру скрипт и перетаскиваю на объект на сцене.
>>515324Говорю же, в Фунгусе делай.Создаешь сценарий, создаешь в нем переменные. Сценарий опрашивает игрока bool IsHuitaInInventory(), bool IsQuestDone(), сохраняет в переменные результат.Сценарий выполняется при контакте с дверью, проигрывает нужный блок, проверяет переменные.
>>515333Да епта ты говоришь об игровых системах общих для всех объектов этого типа.Игровые скрипты это прямая противоположность. Скрипты создаются чтобы создать конкретное поведение объектов в конкретный момент игры.
>>515338Уясни ты уже, что в контексте юнити это и есть "скрипт".Ты тут к словам придираться пришёл или проблему решать?
>>515338И это поведение НЕ ДУБЛИРУЕТСЯ. Нельзя взять один скрипт и использовать его на другом объекте. Это уже будет не скрипт.
>>515338Давай ещё один пример приведу. Вот тебе например надо сделать скриптовую сценку - трое солдат выбегают в разные точки, один открывает дверь, второй кидает гранату. Что я предлагаю:Делаешь общий класс Soldierделаешь в нем список структур Action с данными type, position, interactableObject,messageВешаешь скрипт на 3 солдат, у одного в список вносишь Actions типа Move в позицию которую тебе надо, у второго вносишь Move потом Interact, подвешиваешь дверь и посылаешь message Open и т.дЧто ты предлагаешь:Делаешь 3 класса Soldier1, Soldier2, Soldier3Каждому пишешь вручную что надо делатьТеперь понятно в чём отличие?
>>515331Ты про StateMachineBehavior? Оно конечно будет работать, но попахивает каким-то извращением. Ассетов для скриптования сюжетов/квестов хоть жопой жуй. Проще использовать готовое.
>>515347Сейчас он тебе скажет что ты предлагаешь писать классы, а ему нужны скрипты.Ты ещё не понял что это шизик?
>>515338В Юнити ты не пишешь скрипты, ты пишешь код. Нормальный ёбаный код поверх тотально ебанутой на голову системы.
>>515349Я не думаю что он шизик, скорее гуманитарий, не видит механик и не может их систематизировать.
>>515350Ещё один блядь.Это не скрипты это кодЭто не код это программированиеЭто не программирование это сишарпЭто не сишарп это магнитные волны в анусе на орбите юпитера блять
>>515348> Ты про StateMachineBehavior?Да про обычную анимацию. Вот наглядный пример набросал.Тут тебе и временная шкала, и доступ к свойствам компонентов. Расставляй себе ключи как хочешь.
>>515324Разделяешь дверь умеющую открываться и закрываться, делаешь интерфейс IActionListener. Делаешь базовый абстрактный класс ActionCondition который умеет дёргать IActionListener на том же объекте. Потом делаешь пачку разных реализаций ActionCondition. Всё. Дверь открывается пероидически? PeriodicActionCondition? Дверь открывается по предмету? CheckInventoryActionCondition. Бонус-трек - ты можешь скрыть за IActionListener что угодно и эти условия будут точно так же работать! Ты подменяешь дверь на сундук и большая часть кода не меняется! Абстрагировать дверь за неким AnimatedActionListener который в анимации будет дёргать дверь и выключать коллайдер - и у тебя дверь (или сундук) как таковые исчезают из кода.Это ёбаная азбука программирования и самой базовой декомпозиции. Которой похоже ебучих УНИТИ ПОГРОМИСТОФФ никто не учит. Нет, их учат писать "скрипты" вместо программирования.
>>515357> Которой похоже ебучих УНИТИ ПОГРОМИСТОФФ никто не учитДа этот гений вряд ли юнити даже скачивал. Уже сколько постов ноет что ему предлагают код, а не скрипты.
>>515357Ты не понимаешь, что есть 2 парадигмы разработки игр: это программирование путем создания игровых систем, и программирование путем скриптов.Каждая имеет преимущества и недостатки и подходит для решения особых задач.Например, ИИ в шутере лучше сделать системами, что-нибудь behaviour tree или GOAP. Скриптованные враги в шутерах не интересны. В jrpg же, наоборот, лучше будет простой заскриптованный ИИ.
>>515363Нет никакой парадигмы разработки путём скриптов, ты хуйню придумал. Не бывает блядь такого чтобы для каждого объекта в игре писался свой уникальный скрипт, надо конечным быть чтоб так делать
>>515370Так в юнити и так все и всегда используют скрипты, только ты заявляешь что "ваши скрипты - не скрипты".Уже два часа мозги ебёшь, вместо того чтобы игры делать на скриптах.
>>515372>Так в юнити и так все и всегда используют скриптыПотому что это пользовательские/программируемые компоненты, а не скрипты. Я имел ввиду скрипты в классическом понимании.
>>515373> это пользовательские/программируемые компоненты, а не скрипты> "ваши скрипты - не скрипты"О чём я и говорил.
>>515375>Нету таких разработчиков блядьВ серии elder scrolls используются скрипты для игровой логики.
>>515379В тес как раз таки сериализация на сериализации и сериализацией погоняет. Программисты написали базовые классы а потом художники просто данные туда по забивали и все. Ты хуйню несешь реально.
>>515382> В тес как раз таки сериализация на сериализации и сериализацией погоняетПоходу он даже не знает что это. Ему уже раз пять про сериализацию говорили, а он всё про Ерёму.
>>515373>>515363Чем, ебанашечка, набор компонентов такого рода тебе не скрипт? Ты, дебилушка, понимаешь что для использования DSL (чем скрипты по сути и являются) это самый DSL сначала создаются, чтобы было этот самый Domain в котором мы оперируем. Скрипты они по определению относятся к data-driven подходу, компилировать C# намертво в игру не data-driven ни разу.
>>515324см>>515357Другого ответа нет. Создаешь асьтрактный интерфейс и генерик-классы для каждого типа двери. Повторяющегося базового кода не будет, он будет на родителе. Даже плодить детей много не надо, можно группировать по субгруппам - "дверь открывается по предмету" - похуй какой предмет, один скрипт для всех таких дверей.
что-то в треде просто какая-то огромная куча хуйни насрана теперь. умерьте пыл. пощады.алсо какая занимательная проблема. для сферы максимальный угол посчитать было легко, там просто трешхолд по высоте. а вот для повёрнутого элипса как-то дохуя сложно и у меня не хватает на это мозгов. поэтому я просто посчитал для каждого сегмента угол. но в итоге иногда можно увидеть такую вот залупу слева. >>515290надо делится своими достижениями, отвечать на конструктивные вопросы и быть резиновой уточкой для тупых вопросов. >>515251один хуй после конпеляции проекта там будут нормальные делегаты. не представляю чего тут на сендмессенджи бузят. как будто в эдиторе игры играют.
>>515479бгг. хорошо. я скажу самое популярное решение для скриптинга в юнити: ты, короче, ебошиш как можешь. хорошо ебошиш, пока что-то не сломается. а потом когда видно что получается хуйня ты садишся, вдумчиво смотришь почему же так и садишься пишешь уже как надо учитывая ошибки прошлого. и стараешься больше их не делать. желательно никогда.рекомендую. я всегда так делаю. до сих пор эта тактика скриптинга меня ни разу не подводила.
>>515484>Не различает программирование и скриптингВот же дурак. Например, в уече ты ПРОГРАММИРУЕШЬ на C++, а СКРИПТУЕШЬ на блюпринтах.Недоразумения из-за того, что в юнити некорректно используется термины "скрипт", "скриптинг".
>>515494хуйня-говно. пишешь код, он что-то делает. как там кто называет процесс изложения глупой машине чё ты от неё хочешь ващепохуй. когда тебя спрашивают "че ты там делаешь" ты что отвечаешь? "я скриптую"? "я погромирую"? правильный ответ - "я делаю хуйню".и да, спагетти в уе для дегенератов. я называю это не скриптованием, я называю это деградацией. и ты называй.
>>515496Ящитаю что концептуальное разделение на программирование игровых систем и игровых скриптов имеет смысл.
>>515499типа чем оно различается то? если погромист через код говорит "хочу чтобы хуй завернулся в калач" то это погромирование, а если артист через спагетти говорит "хочу чтобы хуй завернулся в красивый калач" то это скриптование? в чем у тебя там различие то? ты давай вот раз выдвигаешь теорию то ещё и раскрывай её. в чем отличие то? в методах изложения? в базовой профессии? может быть в цели? типа пишешь игру это скриптование, пишешь инструмент это погромирование? а может позе в которой ты это делаешь?
>>515409Да что ты пристал к этим дверям? Как насчет квестов для РПГ? Ты можешь сделать мощную систему квестов, которая бы учитывала все возможные варианты наперед, или для каждого квеста писать небольшой скриптик.
Вот еще такое определение. Для игровых систем создаются ассеты с данными, которые влияют на заранее созданное поведение игровых систем. Например, можно создать ассет квеста, указать в нем какие-то данные и система просто будет использовать эти данные.Скрипт же является ассетом с кодом.
>>515503>Ты можешь сделать мощную систему квестов, которая бы учитывала все возможные варианты напередЯ могу сделать мощную систему квестов, которая бы учитывала все возможные варианты наперед
Я всё же склоняюсь к тому, что это тралинг тупостью, но всё же применю свои навыки перевода с гуманитарного.Речь скорее всего идёт о создании игровых сценариев, то есть ему нужен инструментарий для выстраивания иерархии игровых событий. И вопрос был о том, есть ли в юнити кнопка "сделать игру".Ответ: из коробки нет, надо купить ассетна сижиперсии.
>>515516>нужны скрипты>Речь скорее всего идёт о создании игровых сценариевЕбать ты переводчикА я и спрашивал популярные решения/ассеты. Есть, например, fungus, визуальный скриптинг заточенный под новеллы, адвенчуры.
>>515516Он хочет редактор мира как у беседки, чтоб уже готовое было, просто забиваешь диалоги/анимации и всё, только он сам этого понять и объяснить не мог и всем доказывал что программисты этот контент пишут а не художники (парадигма разработки скриптами понел да), а ему тут всем тредом пытались объяснить что программисты просто написали редактор, и всё, на этом их работа закончилась, и что ему нужно такой же редактор писать для своей игры и в него уже контент забивать
>>515516Чего ещё ожидать от гододетей. Игры они не делают, остаётся только срать в юнити-тредах, где кто-то делает игры. От зависти ли или просто от тупости.
>>515552Пока что это у тебя хорошо получается.Я просто спросил за скриптинг в юнити.Не знаешь, так молчи. Нет, нужно поумничать.
Ишь, разумничались тут своими ивентлистенерами, интерфейсами, делегатами. Охуеть, ботаны. Ух как переебал бы!
https://unity-coin.appspot.com/Что думаешь анон? Можно встраивать в свои игрушки и майнить монеро за счет компов пользователей. Вполне себе неплохая схема монетизации если её оглашать при этом
>>515553>скриптинг в юнитиhttp://xgu.ru/wiki/%D0%A1%D0%BA%D1%80%D0%B8%D0%BF%D1%82%D0%B8%D0%BD%D0%B3Такой же как и везде. Берёшь и без задней мысли пишешь код.
Аноны, через один скрипт делаю SetActive(false), и все прекрасно работает. Через другой пытаюсь сделать SetActive(true); и выдает ошибку: NullReferenceException: Object reference not set to an instance of an objectкак пофиксить?
>>515627Сохраняться референс объекта, ибо найти выключенный GO можно лишь через полный поиск по ресурсам
>>515632Недhttps://docs.unity3d.com/ScriptReference/GameObject.Find.html"This function only returns active GameObjects. If no GameObject with name can be found, null is returned. If name contains a '/' character, it traverses the hierarchy like a path name."
>>515635Двачую. ФПС сразу до двух просаживается. А сели такое вызвать дважды, то может и видюха сгореть!
Ребята! Помогите с векторами и матрицами. У меня есть шар, типа планета. Я хочу ходить по ней контроллером от первого лица так, чтобы локальное пространство поворачивалось относительно центра планеты и это отражалось бы на вводе с мышки - если я смотрю вниз, то это не глобальный низ игрового пространства, а центр планеты у меня под ногами. Как бы мне это организовать?
Какого хуя унити не активируется, выбираю Personal и она висит, сделал ручную активацию, ей похуй "Sucksessfully loaded" и висит блять, уу сука уууу нахуй!
>>514025В уече имплементация PhysX Vehicle. Делать аркадную игру на этом - бред, симулятор - тем более.>>513960Первая стадия манямика которая должна рухнуть - настройки колесных коллайдеров трогать вообще не нужно для поверхности типа асфальт.
>>515652вводе мышки то зачем? матрицы то тебе и не нужны, сделай Quaternion который крутит на текущий верх и перемножай на него все векторы которые тебе там надо.хотя тут уже были личности которые пытались планеты, может советы получше дадут, если появятся.>>515700а вдруг он не на асфальте дрифтует? и машинки у него весят не дохуилион как это надо для стандартных настроек?
>>515711а я к тому что хуй его знает что он там наворотил! надо сначала выудить подробности. может там игра про дрифтование игрушечных машинок в песочнице? а может игра про дрифтование на телегах? а может тут ещё и завоулированный вопрос как с этими дверями "двери тут просто для примера". и вопрос вовсе не касается колёс?
>>514687Объясните тупому.Посмотрел видосик, скачал UNITY SOLID GOD TIER PROJECT:https://github.com/DanVioletSagmiller/UnitySOLID/tree/master/Trunk/Demo/Chain%20Reaction%20SOLID/Chain%20Reaction%20SolidЕсть реальный смысл в это задрочиться и построить таким образом свой проект? Или больше времени уйдёт на конфигурацию всего этого дела.
>>515718>Есть реальный смысл в это задрочиться и построить таким образом свой проект?Нет. Знаю только, что подобным страдают в больших игровых студиях, но там свои подходы используют.Тебе стоит использовать какие-то основные подходы для улучшения читабельности кода, но только по мере разрастания проекта. Увидел, что класс твоего персонажа стал слишком большим? Разбей его на несколько классов, чтобы было проще (если есть смысл).
>>515718разве что если речь идёт про первую половину видео и ты недостаточно наступал на грабли чтобы узнать это уже самостоятельно. там да, все советы где он выражал примеры с бобом это он за тебя на грабли наступал. а вторая половина уже более специфичная.
>>515781>речь идёт про первую половину видеотам вообще никакой инфы нету.выступление о том, как какой-то дурачок нахватался вершков и продвигает анти-паттерны.
>>515721>>515722>>515778>>515781А как быть с тестированием? Благодаря всему этому у него миллисекунды занимает отдельный тест, и он может проверить всё без загрузки Юнити.Алсо, отцы .Net и Unity, что можете подсказать по поводу архитектуры? Какие ещё есть варианты? Может, что-то попроще этого.Скоро начинаю большой проект, но сначала хочу все варианты попробовать на мелких.
>>515809И я не про AAA, а просто собираюсь наконец сделать объёмную production-ready игру, и отправить в стим. И чтобы я был уверен в работе каждого отдельного компонента перед каждым релизом.
>>515814И не просто sendmessage, а со строковым аргументом. Всё равно при конпеляции в упити сработает кнопка "зделоть зоебись".
>>515820Сам иногда испольщую UnityEvent только для декларативного выполнения каких-то действий. Такой примитивный визуальный скриптинг на костылях.
>>514687>>515818Тупые докладчики даже не понимают суть dependency injection.Dependency injection значит лишь то, что объекты с которыми взаимодействует этот объект указывают не во время конпеляции, а во время выполнения. Только и всего.Например:// без DIclass MyScript : MonoBehaviour {void Start() {GameObject.Find("OBJECT").SendMessage("message");}}// c DIclass MyScript : MonoBehaviour {public GameObject obj;void Start() {obj.SendMessage("message");}}О чем они говорят на самом деле называется service locator, известный анти-паттерн.
>>515841Вот еще более очевидный пример// без DIclass Text {string text;public void Print() {IPrinter printer = new FilePrinter("c:\file.txt");printer.Print(this.text);}}// с DIclass Text {string text;public void Print(IPrinter printer) {printer.Print(this.text);}}
>>515812Тогда не обязательно, SOLID обычно для проекта над которым работают несколько кодеров.Но можешь все-равно посмотреть на IoC
>>515841>известный анти-паттерн.Вот жеж даун тупой.Твой мать, что тебя родила - анти-паттерн этого мира и враг народа
>>515859https://msdn.microsoft.com/en-us/magazine/mt707534.aspxhttp://best-practice-software-engineering.ifs.tuwien.ac.at/patterns/dependency_injection.html
Для одиночной разработки проще всего создать что-то вроде синглтона Services, который в зависимости от настроек проекта будет инстанцировать релиз/дебаг префаб. А потом вот так получаешь нужный сервис Services.Instance.GetComponent<ISocialService>();Простенько и в рамках юнити-архитектуры.
>>515879Антипаттерщики.Любому, кто посмотрит на этот код с локатарами, сразу становится очевидно, что что-то не так с этим говно. Этот код какой-то нечистый. От этого кода ВОНЯЕТ.
>>515904>FindObjectOfType, FindObjectWithTagОтних фпс проседает до 15, это же юнитигомно, приходится изъебываться как пидарасам.
Аноны, вопрос по мобильному Input'у в Юнити. Как сделать этот ебаный наэкранный джойстик для 3д управления персом? из стандартного ассета? Я не пойму, то ли есть готовые ассеты среди стандартных (там вроде что-то есть, но не могу заставить работать). Ютуб толковых туториалов не выдает кроме как изобретания велосипеда с нуля.А в плеймаркете я вижу массово в говноиграх даже самый конченный разраб умеет вставлять в свою игру этот джойстик. При том судя по его игре он вообще НИХУЯ не умеет делать только ассеты собирать готовые.Вот не прет мне с джойстиком. Если в кратце, как я это вижу: 1. Есть стандартынй фпс-контроллер от юнити.2. Есть "кросплатформинпут" какая-то хуевина, которую на экран добавляешь и она какие-то две равноразмерные полупрозрачные рамки на экран добавляет.А че дальше то? Как их связать чтоб работало как джойстик?Короче аноны поведайте откуда школьники на андроид берут свои джойстики и как их собирают в игру прикрепляют своему управляемому персонажу. p.s. я смотрел смотрел туторы на ютубе, не надо мне тут. Просто там слишком сложная хуйня изобретается с нуля, это не то. Сука не могу допереть пиздец заебало.
>>515956Прямо на перса вешай канвас с кнопочками и скрипт управления и пох - есть перс в сцене - есть и управлялка.
Суп. Как сделать, чтобы объект, приземляясь, как бы проваливался на некоторое расстояние и плавно поднимался на уровень соприкосновения? Хочу леветирующего перса сделать.Не знаю как это загуглить.
>>515969Нихуя не понял. Только что скачал вашу дрочильню. Скажи хоть про что почитать, чтобы это реализовать.
>>515956>Просто там слишком сложная хуйня изобретается с нуля, это не тоЭто кажется, что сложно. Там ничего сложного. Я так написал свой джойстик на основе дефолтной реализации, игроки довольны.
>>515971> Только что скачал вашу дрочильнюИ сразу решил делать хуйню не по уровню?Для тебя сами юнитеки наделали кучу разжёванный туториалов.
>>515976> И сразу решил делать хуйню не по уровню?А тебе-то что, блядь? Охуеть заявление. Просто скажи, про что почитать, чтобы получить информацию, необходимую для реализации задачи.
>>515982> Охуеть заявлениеНу это примерно как сказать "посоны, решил вот выучить немецкий, скачал Шлегеля и чёто нихуя не понимаю".С азов начинать надо.> Просто скажи, про что почитать, чтобы получить информацию, необходимую для реализации задачиПро азы. В шапке достаточно ссылок.
>>515984> Ну это примерно как сказать "посоны, решил вот выучить немецкий, скачал Шлегеля и чёто нихуя не понимаю"А с чего ты взял, что я решил выучить немецкий, мань? Я знаю немецкий, но не знаю слов по сабжу, лол. Просто скажи, что мне нужно конкретно названия, чтобы я мог в доках найти, ну ебана.
>>515987> А с чего ты взял, что я решил выучить немецкий, мань?Совсем в аналогии не можешь?Тогда не удивительно что ты шапку не осилил.
>>515988> Совсем в аналогии не можешь?> Я знаю немецкий, но не знаю слов по сабжуТы - видимо да, если не тралишь. Я могу в кодинг, блядь, да и изначально какая разница, если я прямо попросил. Тебе-то что от того, как я этим воспользуюсь? К чему вся эта демагогия?> не удивительно что ты шапку не осилилВ шапке доки. Те самые, из которых я хочу прочесть инфу, знать бы что именно из них читать.
>>515995> знать бы что именно из них читатьДа ты гений просто. Тебе ж уже написали >>515969Или твой гениальный разум не может загуглить аж несколько слов?
Мужики, подскажите пожалуйста. Есть анимированый персонаж, также есть есть партикалы, конкретно - горящие глаза. Как заставить эти самые партикалы двигаться за анимированым мешем?
>>516035> Как заставить эти самые партикалы двигаться за анимированым мешем?Сделать меш родителем партиклов, например.Если сами партиклы настроены локально, само собой.
>>516036Simulation space - local, scaling mode - local, Render aligment - local, всё равно не работает, партикалы просто стоят на месте. Анимации делал в блендере, если это имеет знание.
>>516038> партикалы просто стоят на местеГифку/видео сделать могёшь? Желательно чтобы зацепить главный свиток партикла.
>>516051> меш - один обьектНу тогда не удивительно.Тебе нужны локальные позиции именно глаз/головы, и под них уже подсунуть эти огни.Судя по видео, у тебя меш с костями, можешь попробовать найти кости на глазницах и прихуячить огни туда. Но это велосипед в квадрате, и то не факт что получится.
Парни, что лучше? К какому варианту вы чаще прибегаете, как разработчики? Вариант а) Есть стандартный или чей-то ассет к примеру FPS Controller. Вы - запихнули "как было", главное шоб работало. Иметь в итоге пару лишних функций, всяких заебов лишних в коде, но зато работает и время не тратится на перфекционизм. Когда понадобится зато потом что-то исправить приходится разбираться в этих дебрях чужой логики.Вариант б)Написать по аналогии свой FPS Controller без лишней хуйни, пространств имен которые тебе нафиг не сдались, всяких вещей, которые так хитро написаны, что вы до конца не врубаетесь. Иметь полный контроль и понимание. Но в итоге на это надо время, вы его тратите, а таких вещей мелких может быть в игре с десяток.Мне просто интересно как вы относитесь к подобным ситуациям и как сильно запариваетесь.
Есть одно 2д колесо. Так вышло что по умолчанию оно почему то ехало в обратном направлении. Повернул его на 180 градусов и оно начинает с дикой скоростью крутится, в чем может быть проблема? Точнее крутитс только спрайт колеса, колижн неподвижен.
>>515895>Для одиночной разработки проще всего создать что-то вроде синглтона ServicesПроще всего передавать объекты через параметры.
>>516122Зависит от ситуации. Если есть время велосипедить, то почему бы и нет.А если дедлайн на носу, то не до этого.
>>516198ну так ты это. потереби настройки фрикшена. или материал какой на пол ебани. я не думаю что тебе вообще можно дать какие-то настройки которые тебе полезны будут.
>>516198Ты дурак? Ты racing sim изкарпки вздумал сделать?Учебник физики 9-го класса в зубы и потом пиши свои кастомные условия.
>>516206какой трюк провернуть то хочешь? юнити не дает пользоватся своим API не в основных тредах почти. поэтому сделай говно в других тредах, вернись в основной и закончи там.
>>516209а хуй знает что у тебя там менеджер делает. если генерирует какие-то изменения для террейна или сам террейн то можешь из побочных тредов делать очередь из того что надо сделать в основном треде. и в основном треде уже через корутины или какую другую хуйню расчехлять и применять эти изменения.вообще советую подождать с этим. там в следующей версии новый террейн подъедет вроде как, хуй его знает чё они там сделают но обещают перфоманс.
>>516218https://youtu.be/CWgi6hE26ig?t=1976 вон даже видео показали! ух заживём! и нестед префабы! и мемори профайлер! и новая хуйня для инпута! и даже чето там с нетворком шабуршат. прямо всё что у них просили лет этак пять тому назад. ещё бы сериализацию сделали по человечески так вообще заебись стало бы.
>>516219Сука тупая, я же уже сказал 2 раза - у тебя есть возможностьь сменить subset .NET на 4.x и любую либу сериализации взять с нюгета
>>516220да что ты. мне ты нихуя не говорил. нахуй иди.а как насчет кейса когда я пишу код другим людям? м? вот выкладываю я в ассет стор свой код, мне что, жирным писать на нём "эта хуйня заработает только если сделаешь хуйню"? или когда расширяешь ебучий интерфейс юнити который нормально работает только с тем что может сериализовать тут то что сделать предложишь? м? нет, эта жопа по имени "сериализация в юнити" неотвратима, если не хочется ещё большей жопы.
>>516219Вот что конкуренция животворящая делает, то анриал что-то выкатил, то говнюнька, они скоро платить нам будут за юзанье движков.
>>516219Лучше бы они тратили деньги не на эти бессмысленные конференции каждый месяц, а на разработку движка.Такое чувство, что в юнити работает целый штат маркетологов, а в грязном пыльном чулане сидит 2 программиста, которые собственно и пилят движок.
>>516226> в грязном пыльном чулане сидит 2 программиста, которые собственно и пилят движокНе в таком уж и пыльном, попрошу вас.один из двух программистов
>>516222Да ты охуел, за рубежом доллар зарабатывать.Накатну-ка я валютному контролю письмецо, давно у нас кто-то на горлышко не приседал.
>>516228а я бесплатно раздаю свой сраный навмеш. имею много фана. иногда работодатели сами приходят и работу предлагают на фоне этого, кстати.хотя да надо бы продать что-нибудь.
>>516220>любую либу сериализации взять с нюгетаДурак, речь о сериализации полей юнити объектов в редакторе.
https://pastebin.com/RRQuYx5tДвощ, почему у меня перс с этим кодом в какой-то момент перестает двигаться с одну из сторон? Как пофиксить?В гугле есть рабочий вариант, но с ним он скользит как по льду.
>>516241вообще хуй его знает, я внимательно не вчитывался. но хочу поинтересоваться.а нахуй ты сделал значения public, если ты всё равно переназначаешь их на старте? почему ты ловишь момент нажатия и отпускания кнопки, вместо того чтобы смотреть просто когда кнопка нажата? почему пользуеьшся кейкодами, вместо инпут.гетаксис? почему игрок двигается до того как получит апдейт инпута?
>>516244> а нахуй ты сделалЯ не сделал, я спиздил из видоса. У меня тот же вопрос к аргументу в функции движения. Мб он дальше в видосах что-то с этим мутит.> вместо того чтобы смотреть просто когда кнопка нажатаКак?
>>516246ты это. какие-то хуёвые видосы смотришь.про аксисы что же ты сам не загуглишь то? https://docs.unity3d.com/ScriptReference/Input.GetAxis.html вот хуяк аксис. имена и прочую хуйню можно настроить в Edit > ProjectSettings > InputПро класс инпута советую почитать повнимательней, раз ты собрался какую-то 2д хуйню творить.
>>516247> про аксисы что же ты сам не загуглишь то?Ну, я пробовал какой-то варик с аксисами, говорю же. Только с ними перс скользит, когда отпускешь кнопку. Да и, кстати, иногда один хуй стопоется.float move = Input.GetAxis("Horizontal");rb.velocity = new Vector2(move * speedX, rb.velocity.y);
>>516270>когда отпускешь кнопкудык бери GetAxisRawи это. Update не для манипуляций с физоном.а что там у тебя стопается - сам дебаж свою хуйню. проверь правильное ли ты говно скармливаешь юнити. если виноват не инпут то проверь по кадрам что там происходит.
У меня элементарный вопрос, на который я почему-то никак не могу нихуя толкового нагуглить. Как настроить текстуру, чтобы на разных гранях фигуры показывались разные куски текстуры? Нашел что-то про шейдеры, но там вообще хуй что поймешь, а конкретно по моей проблеме ничего похожего нет.
>>516274> дык бери GetAxisRawБлагодарю, братишка.> Update не для манипуляций с физоном.Взял FixedUpdate. Оно?
>>516307Ну опять же нихуя нормального не гуглится. Вот эту хуйню читаю https://unity3d.com/ru/learn/tutorials/topics/graphics/unwrapping-and-chart-reduction?playlist=17102 и все, что можно понять, что если выбрать режим "UV Charts", то будут видны какие-то цветные квадратики, которые чего-то там. Просто охуеть. Может, уже кто-нибудь подскажет, как правильно гуглить это дерьмо? Я уже целый день пытаюсь хоть что-нибудь найти по этой теме. В блендере создавать UV умею, можно ли как-то оттуда импортировать в юнити? В гугле опять же нихуя не найти.
>>516415Представь, что есть 3д-модель головы, и есть голова, нарисованная просто на картинке, и ты просто применяешь текстуру в юнити перемещением мышки на модель. Как думаешь, все детали головы будут сразу же изображаться на своих местах? Понятно, что нет, и тут надо вручную устанавливать, где и какие куски будут отображаться. Это все, что мне надо узнать. Тема элементарная, а материалов - вообще нихуя нет.
>>516046Прикольный у тебя монстр. Я б поиграл.Кстати, а где бекграунд такой брал? Это что-то из бесплатных?
>>516198Взгляд обывателя: да нормально машина ездит. Я вообще не прочитав сути сначала глянул видео и ничего плохого не заметил. Потом прочитал и снова пересмотрел - нихуа. Не парься
>>516419Думаешь, я не гуглил эту тему? Запрос "unity uv unwrap" выдает только ссылки на всякие говнофорумы, где спрашивают про это. Ни одного внятного ответа типа "это делается в такой-то вкладке" нет. Возможно, uv не создается, а импортируется откуда-то. Но блять даже запрос "unity uv import" тоже нихуя не выдает. Может, ты уже скажешь, как у тебя получается настраивать текстуры именно в юнити? Я думаю, не сложно будет сказать что-то типа "это делается в такой-то вкладке".>>516424Охуительные аналогии. Это как если бы я спросил у биологички, почему при фотосинтезе выделяется кислород, она бы мне ответила "тебе к химикам, это не по моей теме".
>>516430То есть, uv привязывается к самому 3д-объекту? Ну вот, я даже не видел, чтобы это было где-то написано. Хорошо, попробую.>дураВот это обидно было.
>>516431>Вот это обидно было.да забей на этих петухов. У нас, геймдеверов, таких вопросов будет еще много.
>>516431>uv привязывается к самому 3д-объектуА цвет пикселей привязывается к самой текстуре, прикинь?Съеби отсюда, ньюфаг.
Аноны, у меня на сцене присутствуют два клона персонажа, к ним прикреплен один скрипт, скрипт отвечает за HealPoin.Когда враг наносит урон одному персонажу, то урон уменьшается у обоих. Как это исправить?
>>516612Ну загоняй их в массив, а там уже смотри какой ближеIOrderedEnumerable<T> OrderByDistance<T>(T[] array, Vector3 point) where T:Component{ return array.OrderBy (x => (x.transform.position - point).sqrMagnitude); }
>>516614Чёт я не догнал. Это метод? А чего бы не написать так:IOrderedEnumerable<Component> OrderByDistance<Component>(Component[] array, Vector3 point){ return array.OrderBy (x => (x.transform.position - point).sqrMagnitude); }Да даже ещё короче можно. Вроде Component можно где-то не писать.
>>516625А зачем тут Component вообще?IOrderedEnumerable<Transform> OrderByDistance(Transform[] array, Vector3 point){ return array.OrderBy (x => (x.position - point).sqrMagnitude); }
>>516630А вот так будет работать?public static IOrderedEnumerable<Transform> OrderByDistance(this Transform[] array, Vector3 point){ return array.OrderBy (x => (x.position - point).sqrMagnitude); }
>>516632> this Transform[] arrayЧего-чего блять? Ты создаёшь массив трансформов собственного же объекта? Ёбом токнуть?
>>516633всмысле чтобы так делать:Transform[] array = new Transform[]{...};var sorted = array.OrderByDistance(Vector3.zero);Расширения мазафака!
>>516635Не, ну делай как тебе надо. Я вообще не пойму нахуй тебе велосипедить всего лишь для определения ближайшего объекта по тегу.Я бы загонял вышеуказанным интерфейсом все объекты в массив, а потом его перебирал.
>>516640> почему ты так написалНу потому что у меня так в моём коде, лол. Я там, правда, потом ещё кое-какие махинации делают, но в массив загоняю и упорядочиваю именно так.
Как бороться с пикрил? Это вызывается cullingom? Выкрутил near на 0.01, dynamic occlusion убрал. Не помогает. Как бороться с тем что рядом с камерой фигня происходит? Размер персонажа 1.5, глючащий объект - 7х7м где то.
>>516219>нестед префабыСколько лет они были главной проблемой? 10? Ну вот они ещё столько же будут раскачиваться. Потом забросят на полпути как было с каждой новой фичей.>и новая хуйня для инпута!Они про него года два говорят, никаких движений за это время не сделано. Они даже выпустили "превью" которые в принципе невозможно использовать, кек.>даже чето там с нетворком шабуршатОни с 5.0 шебуршат. Забросили в районе 5.2, в этот раз будет то же самое. Много шума, сделают какую нибудь базу - и забросят.>>516122Вариант а в принципе не жизнеспособен - тебе надо интегрировать контроллер в свою архитектуру что обычно невозможно без переписывания (код типичных ассетов - тотальный кал). Не проблема для паршивой индишатины или ассетфлипа конечно. Можно использовать только для того что работает по принципу "кинул и забыл" и с чем тебе не придётся взаимодействовать.
https://www.youtube.com/watch?v=mQ2KTRn4BMIСтолько усилий, чтобы опитимизировать простой платформер с десятком активных объектов.Производительность C# вообще пушка: не используйте вектора, не двигайте объекты, не используйте UpdateЮнити и правда настолько бесполезный?
>>516785>Юнити и правда настолько бесполезный?Да, не пользуйся им, скрой тред и не заходи сюда больше.
>>516785Есть много скриптовых языков специально оптимизированных для игр. Нет, давайте возьмем C#, который в принципе создавался для других задач и не подходит для производительных реалтайм приложений. Что может пойти не так?
>>516693>Сколько лет они были главной проблемой? я бы не сказал чтобы они были главной проблемой. я бы не сказал что вообще можно выделить главные проблемы. можно конечно перечислить дохуилион старых притензий, но то что показали лучше чем есть, хули.>сделают какую нибудь базу - и забросят.да ладно главное что постоянно возвращаются. если она станет более юзабельная то я только за. сейчас самой высокой прослойкой этой абстракции невозможно пользоватся.>>516785>Unite 16половина советов оттуда уже не валидна. форич поменяли, трансформ и так уже кешируетсякласс с векторной математикой они конечно могли и получше написать, да. да и хуй с этим.
>>516615Хочешь быстро - используй шейдеры, а из скрипта текстуру теребить быстро у тебя никогда не получится.
>>516785>Столько усилий, чтобыснять видос. Платформер бы и так не тормозил, а кеширование трансформа и в более сложных проектах давало такой гигантский прирост производительности, что про него можно было бы и не вспоминать.
>>516781> коей ты, естественно, не являешься? Мне зарплату платят :3>>516785То не C#, то УНИТИ и вызовы между нативным и управляемым кодом.>>516796Какая нибудь LUA намного медленней C#.>>516798> но то что показали лучше чем есть, хули.Они много что показывали. Разговор может идти только когда это будет завершено и готово к использованию.> главное что постоянно возвращаютсяКогда они возвращались к сетевому коду после 5.2? Спойлер: NIKOGDA. Они решили забросить обещанное и всё переписать. Опять.>>516788В прошлом он генерировал мусор. Вроде поправили года два назад.
>>516821А ты сделай бешовный стриминг на УНИТИ, посмотрим что не будет тормозить. Загрузка сцены сделана через такой анус что в некоторых случаях ручная сериализация в XML работает быстрей. Алсо, при загрузке есть синхронный этап вызывающий явно видимый разрыв.
>>516823>Они много что показывали. Разговор может идти только когда это будет завершено и готово к использованию.лол когда ты последний раз видел в сфере погромирования инструменты которые завершены и готовы к использованию? сфера в которой ничего вообще никогда не готово до конца. >Когда они возвращались к сетевому коду после 5.2?на самом деле возвращались. я помню. написали какое-то корявое лобби.
>>516823>Какая нибудь LUA намного медленней C#В бесмысленных бенчмарках.Для игровых скриптов нужен язык ТОЛЬКО с подсчетом ссылок, а не сборщиком мусора. Интерпретируемость тоже является дополнительным плюсом, т.к. можно редактировать код в реальном времени.В юнити нужно писать на C# не так, как это планировалось, а с кучей хаков. Это просто грязный, неприятный опыт хакания языка для задач под которые он не предназачен. Вся эта головная с мусором, пулами. Зачем это? Почему не сделать так, чтобы просто работало быстро?
>>516836Ты дурак? Я кажется ясно написал, что GC неприемлем для риалтаймовых приложений.Как только тебе сталкиваешься с задачей написать высокопроизведительное риалтайм-приложение, ты сталкиваешься с куче GC-проблем, и приходится люто изъебываться и хакать язык.
>>516841что за чертовщину ты пишешь? какие нахуй хаки? не хочешь чтобы GC срал - не плоди сущьности. пользуйся массивами, структами, хуюктами, всем что не генерирует мусор.
>>516846Это невозможно. Сам дизайн языка и библиотек спроектирован с расчетом на создание мусора.Не создавать мусор, значит использовать язык не так, как задуманно. Значит не использовать большинство возможностей. Создавать себе трудности.
>>516848на создание и сразу его собирание. понимаешь? не понимаешь? у шарпа довольно могущественный сборщик мусора и пиздец случается только если ты сам его устроил.вообще. хули ты тут раскудахтался то? ты давай примеры приводи, как так тебя там шарп ограничивает. будем рассмативать что-то конкретное. а то развелось тут школьников.
>>515905>FindObjectOfType, FindObjectWithTag>Отних фпс проседает до 15, это же юнитигомно, приходится изъебываться как пидарасам.Жестокая правда
>>516850Ты тупой? GC вызывает лаги в игре. Создание любых объектов вызывает лаги в игре. Создание объектов, в языке который спроектирован для создания множества объектов.Для обхода этого ограничения нужно не создавать объекты в языке, который полностью задизайнен под создание объектов.Ты не понимаешь всей асбурдности происходящего? C# и любой другой GC язык просто не подходит для игор. Для игр нужные специально спроектированные под эти задачи языки.
>>516854Под хаканием языка я имею ввиду решение задач не традиционным для данного языка способом, а нестандартными, "неправильными" способами ради повышения производительности. То есть использовать язык не так, как это задумано.
>>516854>>516856поскорей бы дегенераты вроде тебя отправились обратно в школу. GC у него там вызывает лаги. охуеть вообще. что ещё у тебя там лаги вызывает? какие у тебя там языки спроектированы без сборщика мусора? м?
Ты тупой, да, бля? Не понял, нахуй?! GC вызывыает лаги в игре, сучка!!! Ты лаг получил? Получил? Косарь отдал? Ах, не отдал, сука...!
Юнитидаун узнал о сишарпе вместе с тем, как узнал об юнити. На перемене между русишем и матешой однокласник показал крутую игору на мобиле и сказал, что она написана на УПИТИ.Юнитидаун уже третий месяц пилит игру мечты и внезапно оказалось, что GC у него тормозит процесс.Во дела! Давайте же пожелаем юнитидауну поскорее узнать о тредах в сишарпе.
>>516888Псоны, как узнать что корутина отработала? Приходится костылить с bool'ом, но может всё же как-то корутина отчитывается что вернула свой IEnumerator и это можно как-то отследить?
Бля, охуенные истории от байтоебов. Сколько игр сделал - 90% производительности жрет рендеринг. У кого там что тормозит? Хуй знает
>>516897Ну просто сборка мусора занимает столько-то микросекунд времени, которые прибавляются к времени твоего фрейма. Чем тяжелее твоя игра, тем заметнее будут фризы.
>>516888жаль только в тредах хуй вместо API юнити. а ещё компут шейдоры есть конечно же. хуяк и несколько терафлопсов если немного попердолится. >>516890ты давай детали рассказывай чё ты там делать собрался. так то хули, например делегатом каллбэк делай. >>516891сколько сделал то?вообще о байтоёбле. вот делаю я растеризацию этих ебучих деревьев. уже какие только хитрости в ход пошли. биты смещаю, байтики в структах считаю, обжекты пулю. ух.
>>516906картинку забыл. вот чтобы сделать две ебучие дырки на земле надо сделать много интересных вещей.
>>516906> ты давай детали рассказывай чё ты там делать собралсяНу вот, например, мне надо запустить корутину (из другой корутины), которая в цикле выкручивает альфа-канал SpriteRenderer'а из ноля в единицу за три секунды. А может и не за три. Короче, дальнейшее действие мне нужно сделать только после того, как эта корутина отработает.Пока делаю так - создаю булеву переменную yoba, в конце корутины присваиваю ей true, а после самого запуска корутины ебошу while (!yoba){yield return null;}То есть этот цикл крутится пока корутина не отработает, затем я из цикла вылетаю и иду дальше.Оно-то работает, но меня не покидает чувство что я пиздец велосипедю.
>>516908со мной тут списался один из моих постоянных клиентов и теперь багрепорты шлёт а я и не против.>>516911да вообще так то нормальное решение.но вообще ты можешь просто вызывать корутину в теле другой корутины. они же последовательно выполняются.как например тут https://answers.unity.com/questions/228150/hold-or-wait-while-coroutine-finishes.htmlили если хочешь фанси-шманси то такая хуйня есть https://docs.unity3d.com/ScriptReference/WaitUntil.html
>>516915>со мной тут списался один из моих постоянных клиентов и теперь багрепорты шлёт а я и не против.Постоянных клиентов чего?
>>516903Для 60 фпс время одного кадра - 16 мс. Сборка мусора например занимает 100 мс: 6 кадров как с куста. И так раз в N секунд. Энджой ер mono вместо скриптового языка.
>>516920навмеша моего, чего. >>516926сколько-сколько у тебя там занимает время сборки мусора? давно в профайлер заглядывал?
каждый раз когда собираю этот пост чувствую будто выебываюсь.>>516936вообще когда я начал его делать то юнитевский навмеш наже не мог генерится в рантайме. а так. да в общем-то дохуя всего. с ним очень уж сложно делать ИИ. нет возможности регистрировать свой контент на навмеше, чтобы например вернуть за один заход удалённость ближайших объектов нужного типа на графе навмеша. чтобы хоп негр каждые пол секунды проверял нет ли где поблизости грибочков а если рядом есть и жрать хочет то пойти собрать ближайший и сожрать.нет возможности возвращать какую-то информацию при генерации пути через какой-то участок навмеша. видеорелейтед. агент проверяет может ли он пройти по синей зоне, ссылку на синюю зону имеет кнопка, а при попытке прохождения через синюю зону агенту сообщается где эта кнопка.нет возможности задавать свои правила генерации оффмеш линков. и по моему там до сих пор не сделали всякое клёвое говно вроде нахождения ближайшего места встречи двух агентов. или маршрута убегания откуда-то. (у меня тоже нету но я хотя-бы это поменять могу довольно легко)в конце концов нет возможности переиспользовать информацию для генерации собственного говна. например на скриншоте хопа немного поколдовал с существующими вокселями и у меня есть и карта укрытий и полуукрытий. и возможность взять несколько ближайших доступных для перемещения точек и например протестировать видимость для них. мегаполезно. и всякие мелочи вроде рэйкастинга на навмеше в юнити по моему тоже не завезли.
>>516941А игру то к этому всему не сделал?На этом этапе есть смысл доработать, сделать нормальную документацию и выложить в ассет стор, хоть там и немного заработаешь
>>516668Бамп вопросу! Как местные профи борятся с артефактами при приближении камеры вплотную к объектам!
>>516942ноуп. хотя имею миллион вагон прототипов, разумеется. самый клёвый умеет обращаться со своим инвентарём и работает по сети. так то у меня не только навмеш в загажнике есть. вообще у меня недавно вернулся один мой знакомый артист с которым мы наконец порешали как совместит наши интересы в одном проекте, так что периодически работаю над этим. может скоро покажу что-то помимо этого говна мамонта.он давно на ассетсторе лол бесплатный лежит https://assetstore.unity.com/packages/tools/ai/k-pathfinder-85181 даже хуёвая документация есть с картинками. хотел выложить платно да в итоге решил что ну его нахуй. в итоге ко мне периодически приходят люди, суют деньги в трусы, просят сделать им что-то.хотя дорабатывать это ещё наверно с пол года буду чтобы перестать звать это альфой и назвать бетой хотя-бы. надо починить некоторое количество старого говна, накатить оптимизации в некоторых местах, ввести некоторые ключевые фичи которые я сам хочу иметь. сильно уж объемный проект для одного человека. ебучий локал авойденс три месяца сожрал в итоге.хотя да, надо бы ебануть что-то со всем этим добром. это же какое могущество!>>516946но зачем?
Сап гдач. Решил запилить аркадную гоночную игру, в духе ridge racer, tokyo extreme racer или wangan midnight. Первоначальной задачей стоит разработка физической модели автомобиля. Ключевой особенностью в подобных играх является то что во время поворотов машина входит в режим дрифта и скользит как бы "по мылу", практически не теряя в скорости. Подскажите с чего можно начать разработку, какие маны почитать и вообще, в какую сторону копать.
>>516949>Увеличь все объекты на сцене.Была такая мысль. Но хотелось бы сохранить естественный масштаб, даже вроде это где то очень рекомендовалось..>>516947>но зачем?Привет, братишкаЧтобы симулятор бассейна сделать, например (потому что могу). А меш воды при близости к камере как то глючно оклюдит
>>516959Вон картинка. Видяха отрезает вроде "лишние" полигоныАлсо, оклюдинг как то зависит от размера отображаемого объекта? Большой меш воды вроде сильнее глючит
>>516965я же кейсы применения не знаю, может ты там катсцену с бабами в бассеине делаешь. и в рендеринге я тоже смыслю не так и много чтобы отвечать на такие вопросы. кстати а в сбилженном проекте то та-же хуйня?
>>516966>я же кейсы применения не знаю, может ты там катсцену с бабами в бассеине делаешьДа там все проще, даже не в воде дело. Просто: как избегать клиппинга объектов отрисовываемых близко к камере (от 0.01 до 0, скажем). Для нуба.>>516966>кстати а в сбилженном проекте то та-же хуйня?Да, тоже
>>516835Подсчёт ссылок тоже форма сборки мусора а так же ведёт к циклическим ссылкам, что очень плохо для предельно тупого интерпретируемого языка. Ах да, в lua нормальная сборка мусора и ты можешь даже контролировать из C-кода сколько времени она займёт (например собирать мусор в ожидании vsync).>>516835>Зачем это?ПРОСТ))). Вообще говоря ты можешь упереться в ограничения C# только если постоянно делаешь говноалогритмы с квадратичной и выше сложностью или делаешь какую то совсем лютую ЙОБУ. В первом случае ты говнопогромист и никакой язык тебе не поможет, во втором непонятно зачем ты УНИТИ выбрал. Ну и УНИТИ то ещё говно под капотом.И C# не является скриптовым языком тут. Вообще нормальные проекты на УНИТИ стараются использовать УНИТИ как можно меньше и держать его за хорошим слоем абстракций, чтобы писать код нормально.>>516828Корявое лобби было уже в 5.2, я его даже использовал.>>516841Приемлем. Надо просто GC делать нормально. Есть рилтаймовые GC которые гарантированно работают заданное время.>>516850В MS-шарпе. В том Mono что идёт с УНИТИ предельно тупой сборщик из учебника едва ли не первого курса, без поколений и всего этого, обёртка над malloc. Они давно говорят что заменят когда нибудь в будущем, но пока ноль движений.>>516854В УНИТИ проблему вызывает говнокод под капотом и переключения между нативным и управляемым кодом на каждый чих. Ну и PC-драйвер для видеокарты - который например может реально загружать текстуры или компилировать шейдеры только при первом использовании, не когда ты сказал их загрузить.>>516911Нахуя тебе короутина если есть АНИМАТОР? Спойлер: аниматор может вызывать методы на GO на котором он живёт!>>516926Старый как мир приём: no malloc per frame. Ты содздаёшь всё что тебе надо с пулами и прочим при загрузке, собираешь мусор и никогда ничего не создаёшь до конца уровня. Так же чтобы GC занял 100мс тебе надо насрать кучу как стадо поносных слонов или запускать игру на счётах.
>>516968>Ты содздаёшь всё что тебе надо с пулами и прочим при загрузке, собираешь мусор и никогда ничего не создаёшь до конца уровня.А если опенворлд?
У меня тут возник вопрос. Вот я создал по гайду из инета скелетную анимацию. И есть ли теперь возможность как-то выдрать ее из юнити?
Есть скрипт который при нажатии на эту картинку должен сделать что-то. В нете прочитал, что UI не поддерживает void OnMouseDown() и что нужно использовать Event систему. Вопрос как к этому прикрепить скрипт и аналог OnMouseDownOn()?
>>517181> я не добавил эвент системуОна сама добавляется при создании любого UI-элемента.Так что если её не было, то только потому что ты сам её и удалил.
1й день в юнити.почему нет пакеджей в меню как в туториале? из стора качаю, импортируются вроде, но в этом меню всеравно пусто. как быть?
Help, намутил апк - на xiaomi с 8 ядерным хз чем и андроидом 8.1, запускается норм. На Sony с arm64 Snapdragon 835 MSM8998 под андроидом 8,0, не запускается, сразу ошибка. В настройках поставил галку на arm64, всё обновил - и Юнити от 12.10.2018 и в андроид студии все инструменты обновил и джаву. в гугле ответы только от 2017го года, где обещают завести поддержку arm64, а в нынещней юнити оно уже есть но не робит. ПОМОХИТЕ!!!