Добро пожаловать в тред Unity - лучшего 3D и 2D игрового движка современности! Прошлый тред: >>489738 (OP)Официальный сайт: https://unity3d.com/ruДокументация: https://docs.unity3d.com/ru/current/Manual/index.htmlУроки: https://unity3d.com/ru/learn/tutorialsФорум: https://forum.unity3d.com/Магазин ассетов: https://unity3d.com/ru/asset-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
И сразу вопрос. Где-нибудь есть инструкции по созданию цивилизацияподобных игр? Ну чтобы там объясняли, как генерировать карту, писать ИИ для таких игр, ИИ для двигания войск и всё такое.
>>498598Тиранни, Раст, Блицкриг, Пилларс оф Этернити. Вообще поддерживаю. Вот у уечепидоров куча примеров, а у нас что? Нажо собирать библиотеку успешных игр и продвигать как пример успешности юнити.
Чёт они охуели и в линуксовой версии 2018 потеряли поддержку старых процессоров, чё мне теперь не делать игры что-ли?
>>498609Ну, я на андроид игру делаю. Сделал билд на 2018 версии, размер файла уменьшился на 6 МБ. Но была проблема со скриптами. В одном скрипте была ошибка, я её исправил, но юнити упорно отказывался видеть изменения. Пришлось реимпортнуть папку со скриптами.Может есть ещё какие-то проблемы...
>>498486>Как ты игру сделал даже не представляю, спиздил у кого-то с гитхаба?Сам навелосипедил почти 17 loc>ставишь на узел тег названия страны и на юнитов вешаешь разрешение ходить по узлам с тегами своей страныНо это же хуйня. Стран может быть пара сотен, + союзники, по врагам тоже можно ходить. Куда проще было бы фильтровать узлы в нормальном предикате, а не сравнивать по каким то тегам с названиями>>498596На гихаб пиздуй, там и движки есть и готовые игры https://github.com/SWY1985/CivOne>>498607Если только оче нужна поддержка c# 7, иначе - нахуй ее, глючит
О, зделол. Как же юнити хорош, без него я бы это месяц делал.Вопрос - я включаю анимацию ходьбы юнита через m_Animator.SetFloat("Forward", m_ForwardAmount, 0.1f, Time.deltaTime);Но при каждом следующем использовании этого метода юнит бежит все быстрее и быстрее. ЧЯДНТ?
>>498650> Но при каждом следующем использовании этого метода юнит бежит все быстрее и быстрееНу само собой, ты же метод несколько раз вызываешь.Я как-то раз додумался корутину из апдейта вызывать, можешь представить что там было.
Короче, пацаны. Пишу мультиплеер для двигающихся кубов с пушками. Так вот, там есть объекты общие для всех, типа кубов на сцене или предметов. Мне надо физику для них и взаимодействие .Нормальный ли вариант сделать одного игрока типа хоста, и чтобы координаты для этих шмоток считал он, отправлял на сервер, а он всем остальным. Так, по идее, если он отрубится, то мы передаём это на следующего игрока и теперь считает он. Вот такой велосипед. Нормас или хуйня? насколько сильно хуйня, я не особо в клиент-серверной параше разбираюсь
>>498698> Пишу мультиплеер> я не особо в клиент-серверной параше разбираюсьМожет сначала туториалы по мультиплееру покурить, не?
Охуенно, пытался купить два ассета, после ввода пароля из смс, произошла ошибка, бабки с карты списали, а ассеты не добавились, даже в истории покупок нет ничего, было у кого-нибудь? Получится решить проблему? Алсо, написал им в саппорт, ну там типа до 5 дней ожидания может быть.
>>498710>>498717Не мог посмотреть в гугле как VPN поднять? В треде уже несколько раз писали что ассетстор заблочен.
Я не смог нагуглить. Скажите пожалст вот в EditorGUILayout.ObjectField есть отдельно хуйня говорящая можно ли совать туда объекты из сцены, или нельзя. А как тот-же функционал сделать если не хочется переписывать инспектор? Есть ли волшебный атрибут?
ПАМАГИТИ!Есть динамическое риджидбади2Д. Я хочу сделать так, чтобы при падении оно уменьшалось в размерах. Рассчитываю через лерп, но во время изменения размеров все начинает дико тормозить. Я уже все испробовал, не понимаю в чем дело. Может кто из гуру подскажет, куда копать?
Как управлять очередностью отрисовки в 3д? По идее, через renderQueue но многие материалы не содержат данного поля (3д текст, спрайты). ЮИ элементы тоже наслаиваются в world space.
>>498725Блять, ну написано же, епт твою мать.https://docs.unity3d.com/ScriptReference/EditorGUILayout.ObjectField.html
>>498753Вот, в видеорелейтед, видна разница, как они падают. Я не представляю в какую сторону гуглить, что происходит? При скейле обрывается расчет физики или что-то подобное?public class test : MonoBehaviour { // Use this for initialization void Start () { StartCoroutine(ScaleObject()); } // Update is called once per frame void Update () { } IEnumerator ScaleObject() { float scaleDuration = 5; //animation duration in seconds Vector3 actualScale = transform.localScale; // scale of the object at the begining of the animation Vector3 targetScale = new Vector3(3f, 3f, 3f); // scale of the object at the end of the animation for (float t = 0; t < 1; t += Time.deltaTime / scaleDuration) { transform.localScale = Vector3.Lerp(actualScale, targetScale, t); yield return null; } }}
>>498763шейдором конечно-же>>498781сферкаст>>498787что написано? не написано там нихуя>>498792не удалось воспроизвести ни с 2д ни с 3д. хуй знает че ты там понаписал.
>>498804renderQueue. сам же перевести можешь. https://docs.unity3d.com/ScriptReference/Material-renderQueue.html
>>498806>https://docs.unity3d.com/ScriptReference/Material-renderQueue.htmlДопустим. Но если у меня в 3д ГУИ картинка наслаивается на панель, мне дополнительный шейдер делать на каждый слой? Как то это тупо. В одном шейдере ведь не может быть разных renderQueueАлсо, придется искать текстуры для переписки стандартного шейдера 3д текста - он, суко, поверх всего рисуется
>>498807>В одном шейдере ведь не может быть разных renderQueueони же вроде в материале ещё настраиваться могут? хотя я не проверял работает или нет>он, суко, поверх всего рисуетсявсегда можно изменить пространство отрисовки канваса на ворлдспейс, или камера спейс же
>>498808>всегда можно изменить пространство отрисовки канваса на ворлдспейс, или камера спейс жеЯ, в данном случае, использую 3Д Текст, без всяких канвасов. Или он устарел и не стоит им пользоваться?
>>498809ну это. с разморозкой, да. это ты там какую-то экзотическую хуиту творишь. там конечно шелухи побольше, но и контроля побольше. и очередность отрисовки на канвасе управляется позицией обжекта в иерархии.
>>498810Окей, попробую переделать. Но другой вопрос - почему у меня текст проваливается в серую панель? Это ЮИ текст на паниле в канвасе с мировыми координатами. Z координата - 0. Так и должно быть или я где то обосрался? Матриал - дефолт ЮИ.
>>498811Если честно то хуй знает что ты там понакрутить успел. Покрути координаты, скейл элементов и прочую хуйню. Там много чего можно покрутить.Кстати а чего ты вообще решил все это в мировых координатах то ебошить? Может сделал бы отдельную камеру которая рисовала бы только UI, двигал бы там все эти надписи через код переводя кординаты из мировых в скрин спейс, имел бы себе отдельный менеджер который за все это отвечал бы.
>>498799Как это не видно? Видно же, что правый объект дергается и медленней падает.>>498803>не удалось воспроизвести ни с 2д ни с 3д. хуй знает че ты там понаписал.Но я же привел код, это единственный код в сцене. Ты не мог бы скинуть свой скрипт для правого шара, а лучше залить куда-нибудь весь проект, если не сложно?
Стандартный террейн неудобный кусок говна. Есть ему альтернатива?Начал рисовать вручную в зебре, но потом осознал, что придется вручную сажать травку и раскрашивать и забил хуй. Так же пробовал импортировать карту высот, но как начинаю что-то фиксить, то все идет по пизде.
>>498830че тебе там не нравится то? карты с травкой так-же легко суются как карты высот и текстурки. там разве что обосрамс с тем что у какой-то из них перепутана X и Y.можно и процедурно ещё генерировать. вон покажу мой старый прототип. клево же.>>498831че хочешь то
>>498816>Если честно то хуй знает что ты там понакрутить успел. Покрути координаты, скейл элементов и прочую хуйню. Там много чего можно покрутить.Да вроде хуйни не делал. Прост в мировых координатах, как я понял, ЮИ элементы - обычные полигоны, вот их и вмазывает z-fighting>Кстати а чего ты вообще решил все это в мировых координатах то ебошить?Ну, сам ЮИ у меня поверх камеры рисуется, только всякая хуйня из сцены в мировых.>>498816>двигал бы там все эти надписи через код переводя кординаты из мировых в скрин спейс, имел бы себе отдельный менеджер который за все это отвечал быЧет дофига переусложнений, пересчитывать координаты сотен объектов при каждом движении камеры, вообще охуеть.
>>498816Кстати, изменение render queue нихуя не помогает - сделал панели 2000, тексту - 3000, также пидорасит. Только увеличение z на 0.0001 помогает
>>498841>Да вроде хуйни не делал. Прост в мировых координатах, как я понял, ЮИ элементы - обычные полигоны, вот их и вмазывает z-fightingвнутри канваса у них нет з-файтинга>Чет дофига переусложнений, пересчитывать координаты сотен объектов при каждом движении камеры, вообще охуеть.да ну брось каких сотен. ты там буквы по отдельности чтоли рисовать собрался. очевидно что отрисовку наоборот нужно отключать если камера слишком далеко, а если близко то и рисовать нечего.>>498842там не совсем так просто всё с очередью отрисовки. как видишь она вполне работает. просто для прозрачных и непрозрачных объектов по разному.вообще че ты там творишь? че у тебя там пидорасит то? говорю - перенеси на отдельный слой который рисует только UI. То есть у всех элементов UI поставь Layer: UI и сделай камеру которая рисует только этот слой.
>>498763а хотя. перечитал твой вопрос и подумал над контекстом. тут и правда проще всего будет просто приподнимать немного UI нарисованный в ворлд спейсе. вообще твои странные проблемы можно было бы решить иным способом. завести ТРИ камеры! одна рисует карту, вторая рисует UI а третья хопа и юнитов!
>>498859да ну не пизди, у меня был прототип в котором было аж пять камер. иметь лишние камеры вполне себе решение если хочется что-то поверх чего-то рисовать. например хопа и вот тут я рисую кликабельное превью карты в лобби. команда 1 выбирает чанк, а команда 2 выбирает чанк за пределами сферы первой команды. а карта вообще на другом слое за три пизды.
>>498854>внутри канваса у них нет з-файтингаУ меня - было см текст на панельке >>498811>>498854>да ну брось каких сотен. ты там буквы по отдельности чтоли рисовать собрался. очевидно что отрисовку наоборот нужно отключать если камера слишком далеко, а если близко то и рисовать нечего.>Куча провинций, юнитов, хз что я еще добавлюВ принципе, я решил свои проблемы - таки нашел текстуру для нового шейдера 3д текста который риcуется не поверх всего а в порядке. остальное по Z поднял на 0.001Осталось только разобраться...
>>498854>говорю - перенеси на отдельный слой который рисует только UI. То есть у всех элементов UI поставь Layer: UI и сделай камеру которая рисует только этот слой.Не, я пока оставил старый 3д текст с новым шейдером. Он прикрепляется к объекту без всяких канвасов - просто и удобно. Там еще и лоды прихуячены..>вообще че ты там творишь?Куча элементов в одной плоскости проваливаются друг в друга
>>498862>У меня - было см текст на панелькеда он загорожден у тебя наверняка чем-то или ещё какая проблема. если префабами пользуешься то ты учитывай что у них очень сильно разный скейл в ворлд спейсе и скрин спейсе.>Куча провинций, юнитов, хз что я еще добавлюда ну брось у тебя на скриншоте даже сотни надписей нет. как бы пересчет пространства то не такая хитрая операция как можно подумать. лучше бы менеджер завел. вот захочешь ты например завести кручение карты. и че? это ты на каждом повороте будешь говорить каждой провинции "поверни свою надпись"? чем-то эта идея попахивает.
>>498864>Не, я пока оставил старый 3д текст с новым шейдером. Он прикрепляется к объекту без всяких канвасов - просто и удобно. так ты это. спавни всю эту хуйню сразу с канвасом. или добавляй эту надпись в какой-то единный канвас для надписей. новый UI же здорово. там тебе и нормальный автоперенос по словам и бест фит и разрешение нормально меняется.>Куча элементов в одной плоскости проваливаются друг в другапо моему у тебя просто хуйня поверх юнитов рисуется. рисуй юнитов поверх всего.
>>498866>да ну брось у тебя на скриншоте даже сотни надписей нет.Так это ж тестовая версия. Так то весь мир долго генерируется. Да и безумие это. но потом таки сделаю - надо чтобы значок армии оставался постоянно размера при любом положении камеры.>>498866>или ещё какая проблемаПохоже. В другом случае очередь отрисовки норм работает.>>498866>вот захочешь ты например завести кручение картыНизахочу. В этом жанре камера не крутится. Зато, может быть сделаю систему чтобы текст названия страны вписывался в размеры страны. но некогда. И сложна.
>>498868>Так это ж тестовая версия. Так то весь мир долго генерируется. так если надписей много то они вообще не должны отображатся до определенного уровня зума же. тебя не просто так ругают за интерфейс же.>Низахочу. В этом жанре камера не крутится. да ну не ври. вон например в Stellaris вполне себе крутится. это у тебя пока карта плоская и хуевая смысла крутит мало. а вдруг у неё карта высот появится, горы, деревья? а тут нате, крутить нельзя. или можно но только вместе с надписями.
>>498870>так если надписей много то они вообще не должны отображатся до определенного уровня зума жеА зум и есть, через ЛОД. Мне пересчет этих сотен(тысяч) объектов не нравится. Лишнее, пока и так работает.>>498870> это у тебя пока карта плоская и хуевая смысла крутит мало. а вдруг у неё карта высот появится, горы, деревья?Вообще, у меня была идея добавить мою же генерацию высот с пикрила, но это вряд ли. Надо работу искать, а с Патреона едва 15 баксов приходит.Перепишу если что, а заранее универсальные механизмы делать - зло. Рефакторинг в данном случае почти ничего не стоит.
Норм идея добавить в сцену объект LoadingManager содержащий ссылки на префабы, материалы и прочее? Или как лучше?
Доброго денечка, мастера Юнити. Я сам в юнити не разбираюсь, нужен ваш экспертный совет. Играю я времена в такую игру, как Project Gorgon - мморпг сделанная на Юнити. И есть в игре большая проблема - производительность. Когда в локацию набивается больше 50 человек, игра начинает проседать в ноль по фпс. Причина известна - анимации. Если отключить их, лаги исчезнут. Разработчик оправдывается тем, что это особенность движка юнити, и пока из эксперементальной фазы не выйдет какая то функция "graphics jobs" проблему никак не решить. Правда это, или кривые руки?
>>498889> пока из эксперементальной фазы не выйдет какая то функция "graphics jobs"Она что, всё ещё в экспериментальном режиме? Охуеть, третий год уже пошёл.
>>498828Так дело не только в коде может быть.Ты в RigidBody не менял ничего? У тебя там gravity поди другое выставлено
>>498726Как раз из-за впн платеж и не проходил, я его вырубил и все ок стало, потом снова поднял, чтобы в самой юньке ассетстор открылся, а в браузере он и так работал слава богу.>>498724Да почему секрет, взял corgi engine, rex engine и pro camera 2d, нарадоваться теперь не могу, я ведь столько времени ебался велосипедил свои костыли, вместо того чтобы делать игру.
>>498912https://blogs.unity3d.com/ru/2018/05/10/launching-3d-game-kit-explore-and-learn-unity-in-3d/Ну вот например, тут тебе и контроллер персонажа, и боёвка, и двери, и шейдеры
Нахуя в документации в качестве примера к классу добавляется атрибут [System.Serializable] если потом все переменные один хуй публичные и будут видны в инспекторе?https://docs.unity3d.com/ScriptReference/Serializable.htmlСейчас вот создал класс с таким атрибутом и с приватными переменными - в инспекторе их не видно.Получается, эта хуйня нахуй не нужна?
>>498961Суть этого аттрибута в том, чтобы показать возможность сериализации всего класса, а не его полей. Ты скорее всего путаешь с [SerialiseField]Создай не монобихувир класс с этим аттрибутом и без него, после чего сделай публичную переменную этого класса в другом скрипте и сравни результат.
>>498961он для класса который не наследуется от монобихейвора же. сериализация в юнити имеет свои особенности. можешь почитать про неё в этом посте. https://forum.unity.com/threads/serialization-best-practices-megapost.155352/
>>498911>Что там с Unity Entity Component System? Уже можно пользоваться? Аноньчики, ответьте, плиз...
Посоны, такое дело.Есть класс Item, который ни от кого не наследуется. Там поля с именем, весом и т.д.В папке Resources/Items лежат префабы, состоящие из пустых геймобджектов с прикреплённым классом Item.На сцене висит скрипт, который делает вот это:public List <Item> allItems;void Start () {allItems = new List<Item> (Resources.LoadAll<Item> ("Items"));}Юнька на меня ругается, говорит что> Assets/Scripts/ItemController.cs(21,40): error CS0311: The type `Item' cannot be used as type parameter `T' in the generic type or method `UnityEngine.Resources.LoadAll<T>(string)'. There is no implicit reference conversion from `Item' to `UnityEngine.Object'Если же Item унаследовать от монобихэвиора, то всё работает безо всяких ошибок. Но мне от него наследоваться не надо. Как быть?
>>498977оно ж тебе пишет - могу грузить только UnityEngine.Object.унаследуй его от обжекта а лучше скриптабл обжекта и убери нахуй префабы нафиг тебе полноценный геймобжект со всем вагоном стандартной фигни?
>>498986> унаследуй его от обжектаПробовал, тогда префабы выдают пикрилейтед. Хотя в консоли никаких ошибок нет.> а лучше скриптабл обжектаДа вот и я всё больше склоняюсь к тому, что придётся курить что это за тварь. Постоянно обходил его стороной, максимум на офсайте видео по нему посмотрел. Но, видимо, день настал.И ещё вопрос.Вот есть у меня префаб айтема, например зелья. У него есть поле, например amount.Вот загоняю я этот префаб в лист игрока и в лист, например, ящика, который можно облутать. И если я изменяю это поле в зелье игрока, то оно же меняется и у зелья в ящике. То есть меняется поле самого префаба, а в листе только ссылки на префаб. Само собой, мне надо чтоб каждое зелье было отдельно от другого.Скриптэйблобджект мне в этом поможет? Или изначально надо было брать не лист, а какую-нибудь другую хуергу?
>>498992не, скриптабл не поможет. тебе нужно что-то типа пар, типаpublic struct ItemSlot{ public ItemInfo Item; public int Count; }и соответвенно список таких слотов в ящике
Всё, я понял. Я просто изначально выбрал ебланскую модель инвентаря. Не так всё надо было делать.Спасибо ананасам за ответы или это был один, слава богу не сильно много нахуевертил, думаю перепишу довольно быстро.
>>499020Есть немного. Проблема в том, что нужен договор оферты на русском, а у них на сайте он только на английскомhttps://unity3d.com/ru/legal/monetization-services-terms-of-serviceМожет кто уже выводил деньги и у него есть договор на русском.
>>499027Блэт, у меня с начала года более 5к просмотров было из Америки, мог долларов 30 заработать, пичалькаАлсо, можно же в Facebook опубликовать приложение, как идея?
>>499027Это ты блять 7к зелеными за 10 дней нахуячил?Это что за игра у тебя такая, да ты, блять, больше чем создатель Iconoclasts в месяц хуячишь
>>498967аргх ебучая сериализация в юнити. сраная срань которая не может сериализовать ридонли поля. хуйня случилась и бегай потом ищи почему.>>498970скачай и попользуйся, что же ты.>>498977заведи свою базу данных предметов. что же ты. на префабах только интерфейсы держи через которые настоящие айтемы с ними взаимодействуют.>>498992так ты каждый итем как экземпляр класса заводи. редактируй не то что в префабе, а то что создано по этому префабу.
>>499036> заведи свою базу данных предметовВ чём её хранить? В скиртблобжухкте? Что легче всего для нуба?> так ты каждый итем как экземпляр класса заводиДа, это я уже понял. Как раз упёрся в стулья, на какой сесть чтоб хранить данные о предмете.
>>499037>В чём её хранить? В скиртблобжухкте? Что легче всего для нуба?йеп. в скриптабл обжекте. там тебе дают волшебную сериализацию юнити. и там есть фича - оно может сериализовать ссылки на объекты в проекте. лучше не придумать чтобы связать кучу цыферок, картинок, префабов и прочего в одну кучу. например на картинке простенький прототип чего-то такого. я могу сказать хуяк заспавни мне предмет номер такой-то. и там ещё отдельно спавнилки могут подправить цыфры с таких на другие.но на самом деле конечно тебе ещё придется полезть в дебри создания интерфейса для своих кастомных окошек в юнити чтобы воспользоватся этим могуществом. так что у тебя два стула. либо велосипед делать, либо взять готовое и делать игры. какую пилюлю выберешь?>Да, это я уже понял. Как раз упёрся в стулья, на какой сесть чтоб хранить данные о предмете.лол ну ты всегда можешь воспользоваться любой другой сериализацией. если у тебя какая-то своя особая структура папок в проекте то хули, XML сериализацию приделай.
>>499043Уговорил, чертяка. Значит всё таки нарушу свой целибат и нормально разберусь с этим дерьмом.Сука, как же всё хорошо было пока не упёрлось в этот инвентарь, его отображение в окне-инвентаре и т.д.
Няши, подскажите, в чем можно нормально анимировать? Модельки беру из Daz, пытался экспортировать в блендер - получается херово, даже в самом дазе лучще. Слышал, в юнити напрямую можно анимировать, но не пробовал. Еще есть позер, но в чем его отличие от ДАЗа я тоже не очень понял.
>>499037Как нубу, тебе объясняю: делай игры, а не думай, в чем хранить нужно. Что первое в голову придет - в том и храни.
>>499036>скачай и попользуйся, что же ты.А я уже нашёл, что она не production-ready, так что нахуй надо.
Знатоки, подскажите, как пофиксить. В 2д платформере, если персонажа упереть в стенку и пытаться идти в неё, он как будто на долю секунды проваливается в неё и потом откидывается обратно, и так много раз. В общем надо, чтоб он в стенку не мог входить, лол.Вдруг сталкивался кто.
Неужели, чтобы один скрипт мог получить доступ к другому public class они оба должны находиться в одной папке?Такая вот хуйня с out of scope
Вроде подгрузка ассетов из сети уже давно в юнети вставлена, а видосов для кирила не завезли.Где посоветуете посмотреть/почитать? Хочу грузить сцены с проприетарного сервака. Мамка денех даст.
>>499101Именно, что без namespace {} вообще!Сработало, когда перетащил с папку, где сидел другой скрипт, к которому хотел обратиться
>>499071Да вот я и попробовал хранить в префабе, но хуйня получается. Сейчас курю скриптэблобжект, пока не сильно понимаю как мне его натянуть на свой инвентарь, но то наверное я уже просто вареный. Отложу до понедельника.
Как мне удалить из списка элемент с определённым именем? Да, я знаю что можно сделать list.RemoveAll(x=>x.name=="Yoba"); но тогда он удалит все элементы с таким именем, а мне нужно только один.
>>499111> просто Remove жеRemove в качестве аргумента требует сам элемент, а мне его нужно сначала найти по имени, то есть по строке.Попробую через Find, как этот >>499110 товарищ предложил.
>>499099Читай про AssetBundle. Именно их загружают. Примеров дохуища. Тебе нужно будет только разделить контент игры на бандлы.
>>499110Получилось, спасибо.> Проверку на нуль можешь добавитьОказалось что не надо, если ничего не нашлось, то Remove не ругается, ему просто похуй.
Пускаю луч из точки нажатия на экран и двигаю объекты, но когда двигаешь их близко, считывается только одно нажатие, второе просто пропадает.
>>499122По вопросу не помогу, но очень советую отказаться от магических чисел и всё держать в переменных. Ну и переменные лучше с маленькой буквы обзывать, даже лучи.
>>499119Тогда var можешь убрать>>499122>Пускаю луч из точки нажатия на экран и двигаю объекты, но когда двигаешь их близко, считывается только одно нажатие, второе просто пропадает.Нихуя не понятно чего ты хотелАлсо, если кто пользуется incremental compiler - где их сайт? Не могу найти, а он похоже ломает что то у меня
>>499029>Алсо, можно же в Facebook опубликовать приложение, как идея?Плохая идейка. ВКонтакте тебе дадут хоть какой-то трафик на старте, а в Фейсбуке крутись как хочешь. Да и денег в социалках нет. Лучше продолжай работать с мобильными платформами.
>>499129>>499130https://www.youtube.com/watch?v=9Oh-U9UzRQs&feature=youtu.beКогда подвожу пальцы на телефоне близко, один касание пропадает, когда отвожу появляется. На видео видно.
>>499134на видео водно, что левый принимает позицию правого. Может, телефон не всиле распознать 2 кацания, если они близко? И переключается на одну точку.
Кирилу на заметку:После последнего крупного апдейта win10 (с вопросами про cortana и пр.) у юнети отвалился Debug.Log()У меня 4.2.f2
>>499134Попробуй уменьшить зону касания в игре. Ты ведь получаешь сырые данные, сделай так, что бы зона касания была меньше, нежели телефон рапортует. В этом случае управление будет чуть более чувствительным к изменению, но пропадать не должно.Device multitouch-то поддерживает?
>>499147что там вообще может в более современных крошится лол. ты что? линуксойд? макоёб? как ты это смог?
>>499149>что там вообще может в более современных крошится лолВ 2017.3.1f1 постоянно грохался редактор при drag&drop
>>499151а это то как у тебя могло случится лол. даже без переписывания редактора? ну ты это. попробуй 2018 чтоли. а то охуеть аж 4.2.f2. даже не 5+ а 4 где были все эти платные фичи.
Как запустить корутин из другого скрипта public ScriptName ScriptName;void start(){ScriptName.StartCorutine(NameCorutine())}не работает
Что нужно знать для того что бы пойти работать джуном? И сколько времени уйдет на обучение? (Зная java, kotlin шарп по идее апну быстро)
вопрос снят, научился гуглить, если кому интересно public ScriptName ScriptName;void start(){StartCorutine(ScriptName.NameCorutine())}
что я делаю не так? Хочу двигать прицел по экрану в координатах от 0 до 1, где (0.5, 0.5) была бы серединойRectTransform myRectTransform = crossHair.GetComponent<RectTransform> ();myRectTransform.anchoredPosition = new Vector2 (newX, newY);Но пизда не рыпается
>>499168Ты его на полпиписьки сдвигаешь, я думаюwindow.GetComponent<RectTransform>().anchoredPosition = new Vector2(150f, 150f);
Анон подскажи, если использовать в сценах скачанный с левого сайта ассет, а потом задним числом купить в сторе, есть подводные? .Unitypackage имеют зашитую информацию о аккаунте или это архив?Покупать все подряд, чтобы изучить и понять а надо ли оно тебе вообще, это негуманно.
Чекал значит туториал рандомный по юнити.https://youtu.be/aFxucZQ_5E4?t=21m29sИ на этом моменте автор меняет направление юнита, если он близок к точке хотя бы на 0.2. Но что делать, если игра лаганёт и из-за большого Time.deltaTime враг перескочит точку? Как это фиксить?
>>499176Кстати, да )))Решение на пике. Самой гуйной пиздюрине надо задать pivot внизу слева. Так и raycast стреляет с теми же настройками
>>499180Проебал майскую распродажу и лепишь отмазки про "дороговизну стульев"? )))Я вот закупился до упора. Мамка денег дала
какая-то хрень с rigidbody... Приделываю его находу. Реагигует и на гравитацию, но не надо.Приложить силу могу и хреновина летит, куда надо, а вот с isKinematic и скоростью вообще не двигается с местаGameObject fireBall = (GameObject)Instantiate(fireBallPrefab);fireBall.transform.position = fireBallSpawn.position;Rigidbody body = fireBall.AddComponent<Rigidbody> ();Vector3 dir = (target.position - fireBallSpawn.position).normalized;dir.Scale (new Vector3 (300f, 300f, 300f));body.isKinematic = false;body.useGravity = false;body.AddForce (dir);//body.velocity = dir;
>>499210> с isKinematic вообще не двигается с местаэто может быть связано с тем, что isKinematic это пометка "не двигаться с места"
Некоторые считают, что 2D в юнити не самый лучший. Сам собираюсь сделать какую-нибудь 2D игру на юнити, но стоит ли?
>>499222Некоторые считают, что стандартный молоток от фирмы производителя "Совок" не самый лучший для забивки гвоздей на 7, только на 5. Стоит ли брать?
>>499224Никак не могу, схлопнувшиеся Ori and The Blind Аorest and Hollow Knight все еще в кошмарах снятся
>"А чо бля, кроме этих двух, продавшихся миллионами и ставшими бессмертными хитами - нет чтоль ничё? Ха, так и знал - сдуулся, ссученок!"И вообще, чой-то троглодит делает утром майского воскресенья вне пещеры?
Хочу сделать игру, 3д экшон. Суть такова. Шарик на плоскости. Шарик бегает за курсором по клику или не по клику, похуй. Стартанул пустой проект. Добавил террейн, добавил шарик. Шарику добавил ригид боди. Камеру привязал к шарику и подвигал, так чтобы смотрела как в стратегиях сверху под углом. В гугле нашел, вот такие ответы.Мне нужен Camera.ScreenToWorldPoint и Vector3.Lerp. Ну позиции курсора вроде считываются и шарик двигается.И похоже у меня перепутаны Y и Z на террейне или хуй проссыш. Шарик постоянно прыгает, а должен по плоскости кататься. Или камеру я неправильно навертел. Помогите.
>>499218Я тупой, спасибо! Убеждал себя, что если-мол сам задаю скорость, то это isKinematic.Заработало!
>>499234> Убеждал себя, что если-мол сам задаю скорость, то это isKinematicЧё чё? Искинематик это если ты движение задаёшь не через риджидбади, а через трансформ.
подскажите где туплю - есть пустой геймобьект, в нем n дочерних объектов. пытаюсь получать дочерние объекты, брать рандомный и перекрашивать его в красный, после чего в цикле менять цвет на белый/красный (воссоздать мерцание). Вообще в юнити 1й день, так что можете хоть ссаными тряпками бить, но прошу помочь. Собсна вот код, проблема на " yield return new WaitForSeconds (2f); " Объект перекрашивается в красный, и на этом больше ничего не происходит. Может как-то можно по другому реализовать или подскажите в чём ошибка?
>>499270Нахуя? Повесь на дочерние объекты скрипт, который будет мерцание выполнять (хоть через коуртину, хоть через Update) и потом просто запускай его.Можешь там параметров накидать - когда /через сколько прекратить и т.п.
>>499271Объект окрашивается в красный, потом начинает мерцать и потом снова становится белым (ну то есть по сути неактивным, но действие потом запилю). Было бы удобнее с 1 скриптом который рандомно выбирает 1 дочерний объект и работает с ним, после чего повторяет то же самое но с другим. Это ведь реализуемо?
>>499272Ну так один скрипт и будет, просто на объектах будет его инстанция. У тебя вообще один дочерний будет, его копии - инстанция префаба.В скрипт логику мерцания пихай и вызывай когда и как надоPomorgatIPrerestat()MorgatDolgo()
>>499273Хм, ну пока выглядит почему то сложнее. Ладно, завтра попробую так. А для будущего - почему моё дерьмо не заработало? Оно как бы и красит объект, но в цикле где должно быть якобы моргание ничего подобного и нет. Другие объекты тоже не окрашиваются.
https://feedback.unity3d.com/suggestions/ability-to-change-the-download-d хочу оставить это здесь. про https://forum.unity.com/threads/asset-store-download-folder.83620/#post-1448812 в курсе, но подход юнитойдов всегда радует. кстати, как юнитойдов называть принято? юниорами норм?
Почему OnBecameInvisible иногда срабатывает как надо, а иногда с задержкой в полсекунды-секунду? На одном и том же объекте. Или это в последней версии нахуевертили?
>>499341Каждый раз улыбаюсь, читая, как местные ноускиллы бомбят от ошибок в коде, который они даже осознать не в силах.
Сап двач. Есть проблема. Есть игра, в ней две сцены -меню и основная игра. При билде меню работает норм, как надо. Основная игра не работает вообще - не отображаются спрайты игрока, враги не создаются, на нажатия клавиш не реагирует вообще. ЧЯДНТ?
Певый скрипт gravity.ApplyGravity(transform);Второй скриптpublic void ApplyGravity(Transform receiver){...receiver.GetComponent<Rigidbody>().freezeRotation = true;}Почему это работает, если мы передаем не GameObject, а только его transform?
>>499363>Почему это работает, если мы передаем не GameObject, а только его transform?Они, по сути, не отделимы в Юнити. Subtle differences возникают в редких случаях.Конечно, при желании можно отделить - но не надо.
>>499365Он будет всегда срабатывать, если объект входит в зону триггера несколько раз. Отключай после первого раза, если нужно
>>499367>Отключай после первого раза, если нужноТак и делаю. Но что значит "входить несколько раз". Иногда срабатывал 2, иногда 3 раза
>>499364>Subtle differences А с точки зрения языка программирования как это реализовано?Типа по умолчанию передается объект класса?
>>499370>А с точки зрения языка программирования как это реализовано?Посмотри сырцы, вроде опубликовали же.>>499369Сразу же на этом же кадре после срабатывания либо отключай либо переменную ставь.
Повернул я свой объект точнее - дохуя объектов на 90 градусов по оси Х и словил gimbal lock.Да, я знаю что можно засунуть в родительский объект, хуё-моё, но разве никак нельзя rotation order изменить?Шёл 2018-ый год, а до сих пор приходится обмазываться костылями в виде пустых родительских объектов чтоб рамки не складывались.
>>499378>Повернул я свой объект точнее - дохуя объектов на 90 градусов по оси Х и словил gimbal lock.Так не используй системы ротации с gimbal lock, используй Quternion'ы - для того и сделаны
>>499396Пример отсюда по убавлению громкости может работать или не работатьhttps://forum.unity.com/threads/fade-out-audio-source.335031/Такое ощущение, что read-modify-write прямо на audiosource.volume да еще в каждом фрейме сбивался и звук не убавлялся. У меня версия 2017.4.2f2В последнем посте я подправил подстройку через отдельную переменную (adjustedVolume) и так заработало.ЗЫ я не Борис если чё
>>498799>>498803Не могу победить дерганья при скейле. Ребзя, помогайте, хоть наведите на мысль. Создал чистый проект, видеорилейтед. Падают астероиды, слева на право: 1) Скейлится, без интерполейта в риджидбоди.2) Скейлится, с интерполейтом в риджидбоди.3) Не скейлится, без интерполейта в риджидбоди.4) Не скейлится, с интерполейтом в риджидбоди.Видно, что плавно движется только 4-й. Камера следует за ним же, но это равноебуче, я пробовал вешать ее и на остальные.Скрипт скейла и камеры прикрепил в пикчах.Как сделать так, чтобы камера следовала плавно за астероидом, а он при этом падая, увеличивался в размерах без дерганий?Я, может, не понимаю каких-то базовых вещей, но подозреваю, что дело тут в работе интерполейт. Ибо 1-й и 3-й астероиды хотя бы ведут себя более-менее одинаково. А поведение второго вообще мне непонятно. Может как-то можно покадрово дебажить, что именно в какой момент происходит?
>>499432Корутину убрал. Прописал в апдейте:transform.localScale = Vector3.Lerp(actualScale, targetScale, Time.deltaTime);Картина примерно такая же.
>>499438Понятно, но как фиксить, как гуглить, где хоть почитать теорию про это? Как работает интерполейт, как в него попасть при скейле? Есть вообще какие-то методы отладки синхронизации в юнити?
>>499431я откровенно неибу в чем твоя проблема. на, хули. http://rgho.st/8ztj9tMgqшарики падают, верхний становится больше. нука поломай это.
>>499442Здесь камера внутри скейлящегося объекта. Попробовал сделать так в своей демке, работает отлично. Спасибо большое, ты натолкнул меня на мысль, которая может помочь.Но насколько это правильный подход, класть камеру в объект? Мне бы хотелось иметь возможность плавно переключаться между несколькими объектами. При таком подходе это какие-то костыли получаются.
>>499443камера заперенчена к не скейлящемуся объекту, а к объекту без компонента который его скейлит. но одна хуйня так как сам видишь что они неподвижны относительно друг друга. что у тебя там пошло не так - а хуй его знает. поломай это и расскажи как поломал, а мы посмотрим.если думаешь что дело в том что камера заперенчена то на, хули. http://rgho.st/7zzlLxBK6 будем считать эту хуиту контролером камеры.>Но насколько это правильный подход, класть камеру в объект?так себе подход. хуевый какой-то.
>>499432>>499431Не слушай этого долбоеба, он хуйню несет, у тебя проблема в камероконтроллере. Ты третим параметром передаешь дельтатайм x4. Время в секундах, которое потребовалось для отрисовки последнего кадраhttps://docs.unity3d.com/ru/530/ScriptReference/Time-deltaTime.htmlТебе-же надо передавать значение от 0 до 1https://docs.unity3d.com/ru/530/ScriptReference/Vector3.Lerp.html Как это делать - решать тебе.
>>499440>но как фиксить, как гуглитУ Brackeys есть видос про "following camera". Так там тоже дергалось в начале, после от разобрался, в какой из апдейтов ставить ( Update, FixedUpdate, LateUpdate - я не помню)Дерзай!
Че пацаны, ECS? Кто-то его хоть за лящки щупал, бо я только на гите нашел оф проэкт и более - ничего. Буд-то создали лялечку, а кодеры-говнищеры ниацынили, так-как дюже сложно, вот ребеночка и хоронят.
>>499445>Не слушай этого долбоеба, он хуйню несетНу так все правильно сказал - у него десинк, ибо LERP неправильно работает. Точнее, работает как надо - по неправильным данным.
>>499444Я, кажется, что-то понял. Дело в этой строчке:transform.position = follow.transform.position + cameraDelta;Мне нужно, чтобы камера при всем этом начинала плавно следовать за объектом. Подозреваю, что нужно smoothDamp использовать, так? Как лучше это сделать, чтобы камера с запозданием перемещалась?>>499445>>499447Спасибо, анончики, я посмотрю, а то совсем уже голову сломал.
>>499451слушай, ты уже утомил. думай давай своей головой. http://rgho.st/8D8dh9RJb на тебе плавное перемещение камеры.предвидя твою глупость - можно написать Vector3 = Vector2. И наоборот. И тут я использовал это чтобы убрать Z у позиции камеры. это не слишком то оптимально, но в общем-то похуй.
Анон, подскажи, что за инфу выводит Инспектор внизу, где подчеркнул, а именно, размер чего указан? Это точно не размер файла, так как он весит 20КБ.
>>499339каком обсере? ты, ебалашка, в "состоянии осознать", что выбор папки - нетривиальная инженерная задача?
>>499461А в чем прикол, если оно весит в разы больше теперь?Алсо, если я буду генерировать мипмапы, размер увелчится сильнее, но на размер билда это не влияет.Где эти объемы данных хранятся-то?
Какие подводные скачать ассет с интернетов, а не покупать его в юнити стор?Потом на выходе игры похерят её? Или как это работает? Сталкивался кто?
>>499493Никаких подводных. Что купить, что спиздить - на выходе получишь просто папку с файлами. Некоторые даже скидываются по 5-10 человек и покупают, если ассет дорогой.У меня вот папка с ассетами на 6 гиг, ни один из них не купил правда там и бесплатные есть. Но я их и не пиздил, какие-то наш художник покупал, какие-то геймдизайнер, а мне через коллаборейт достались, они ж в папке проекта лежат.
Как замутить приемлемый графон в своей игре, если ты программист, а 3д моделлингом почти никогда не занимался?Есть какие-то компромиссы и уловки, чтобы и сил затратить немного и нормально смотрелось.Например, вот хочу я сделать уровень "строительный магазин". Мне нужны модели полок - это легко. А вот всяких товаров и так далее, огромное множество. С этим возникают проблемы.Ну, или может есть какие-то игры, которые выкрутились из этого, сделав всё красиво, но затратив мало усилий, и на них можно равняться?
>>499561> Как замутить приемлемый графон в своей игре, если ты программист, а 3д моделлингом почти никогда не занимался?1) научиться в 3д-моделлинг2) нанять 3д-моделлера3) не ебать себе мозг и пилить прототип, а уж когда будет готова игра — выполнить пункт 1 или 2
>>499563И что, у меня будет, например, лабиринт из серых параллелепипедов (типа, магазин, ок да) и так на всю жизнь и останется? Код и внутриигровой текст то я уже написал весь.Если начать дрочить моделлинг, ну, скажем, 3 часа в день, через сколько приобретается навык для инди разработки, чтобы хотя бы не вырвиглазно было?
>>499569> И что, у меня будет, например, лабиринт из серых параллелепипедов (типа, магазин, ок да)Ну на стадии прототипирования так и делается, да.> Если начать дрочить моделлинг, ну, скажем, 3 часа в день, через сколько приобретается навык для инди разработкиНу тут смотря насколько ты дебил/недебил.Вон парень из нашей команды тридэёбство освоил за неделю на вполне вменяемом уровне (правда он сам по себе художником был и до этого, только 2д), а через год уже творил аки боженька.А у предыдущего было 4 года стажа, а лепил как будто из говна и соломы.
>>499572>>499573Какой-то у вас разброс слишком большой.А почему никто не предлагает просто ассетов накачать?
>>499578> Какой-то у вас разброс слишком большойЧому? Я ж говорю — наш товарищ за неделю наловчился на уровень "норм", затем через год (не задрачивания именно 3д, а вообще, у него и своих хлопот хватает) уже был на уровне "бог". Второй ананас тебе сказал про месяц именно задрачивания, но явно не про уровень бога.А про ассеты — ну хуй знает, ассеты не изменятся если ты попросишь "ну вот тут бы чуть-чуть вот так".Да и вообще определись, тебе скилл или ассеты.
>>499579Да мне... сделать хоть что-то на каком-то уровне.Понятно, что набивка скилла потом поможет и окупит себя в будущем, но это же нужно потратить столько времени на дрочку чего-то, что может и не понадобиться тебе после этого.
>>499578Ежели он юнПограммист, то по-дефолту, первое куда он должен был обратиться - в ассет стор. По той причине и не предлагаем. И вообще, лучше не в сторе искатьт.к. там 3д - помойка, а в каких-то модельстоках, хотя и там за-безплатно, редко что выцепишь.
>>499580> но это же нужно потратить столько времени на дрочку чего-то, что может и не понадобиться тебе после этогоНу вот для этого есть второй стул — искать скилованного братишку, который будет за еду/бабос тебе пилить что надо.Или третий — юзать ассеты, но там найти картошечку в куче дерьма не всегда получается в нужные сроки.
>>499561Чот по-моему ты школьник, а не погромист. На двух стульях одной жопой пытаться усидеть - очень хуевая идея, а еще учти, что третий стул - маркетинг - требует больше первых двух вместе взятых.
>>499585Я не пытаюсь, а просто спрашиваю. Вдруг у вас есть тут эталон типа: "Вот, тут парни не сделали почти нихуя, а картинка получилась норм. Вот как они это сделали. и тд"
>>499586"не сделали почти нихуя, а картинка получилась норм" - это только хороший агент, но найти такого - такой же актив, как и все остальное, и, естесно, все равно не бесплатно.
>>499457Понимаю, что утомил. Стараюсь думать, просто поторопился спросить, пока ты не ушел из треда. Большое спасибо за помощь.>>499586Ну ты попробуй загуглить игры с минималистичной графикой, лоу-поли, вот это все. Но один хрен тут вкус нужен, цвета приятные чтобы были и вообще дизайн.
>>499592сочетание цветов - уже давно расписано в этих наших тырнетах https://flatuicolors.com/ например©Павук
>>499627Ну,как хочешь, так и юзай. Я тебе дал молоток. Как им кудрявые гвозди забивать - тебе решать.
>>499274Так тебе нужно один раз моргать случайным объектом или запускать периодичное моргание?И нахуя тебе рекурсивно корутину стартовать, чем тебя while не устаивает?
>>499469dds - родной директиксовский формат текстур. по сути тупо дамп видеопамяти с текстурой. плюсы - быстрая загрузка в виду отсутствия перекодирорвания, сжатия(есть хардваерное, но его не учитываем) и прочих ништяков, встроенные мипы и т.д. минусы - размер в виду тех же причин.
>>499659>директиксТут 90% анонов пилят мобилкодрочево. Там директикс неприменим.Остальные пилят кроссплатформу. Там тоже актуальнее опенгл.Тут такая тема, что директикс потихоньку в прошлое уходит.
>>499729>Тут такая тема, что директикс потихоньку в прошлое уходит.Ага, сука тупая, он 20 лет как в прошлое уходит. Его OpenGL с десяток лет назад "победил", а потом еще и Вулкан 3 года назад.Все чего=то его побеждают, побеждают - а он, год за годом полнее и жирнее.
>>499729>Тут 90% анонов пилят мобилкодрочево. Там директикс неприменим.несовсем точно написал. формат то родился в дх, еще в первых версиях, но стал дефакто стандартом в виду широкой поддержки на уровне железа.
>>499732Наверное потому Rise of Tomb Raider и FF15 на DX12? а не но победившем Вулкане? Потому как "слил гыыы"Тупопидар мамкин
>>499757> и FF15 на DX12?Это тот порт, лицензионная копия которого тормозит на 20% по сравнению с пираткой? И вообще это халтура и обман десятилетия, столько контента не дошло. Верните Стеллу ааааааааа
Сап. Не могу сверстать пикрил. Всё элементарно: два горизонтальных скролл вью с таблицами под вертикал лайаут. Халп.
>>499790Да с content size fitter-ами в основном. Я думаю. элементы скукоживаются в 0 или не хотят по размеру контента становиться. уже час сижу над этим.
>>499585А не пойти ли тебе нахуй, животное?15 лет в программаче, десяток лет в рисоваче, 4 года в моделлинге. И это, сука, ЕДИНСТВЕННЫЙ способ пилить игры, а не быть обоссаным школокириллом с ДИЗДОКАМИ. Пропорции опыта могут быть разными, но либо ты в соло умеешь всё, либо путешествуешь нахуй.
>>499799Ого, получилось что реально годное сделать за все время?Фанбаза есть? Стало хоть что-нибудь минимально популярным?
>>499827да никто и не напрягался на самом деле только сейчас решил открыть юньку, что-б глянуть че там могло быть сложного.
Сап, аноны. Пилю диплом - программа оценивает какую дозу получил бедолага, подержав в руке кусок урана ну да, они ж на улицах везде лежат. Возникла подзадача:нужна утилита которая позволяет задать модель помещения в котором произошёл казус и позу человека в этот момент времени.Пока пишу редактор позы человека.По сути, мне нужно взять модельку человека, согнуть ей руки и ноги в нужную позу, опционально посадить за стул/стол. Потом нажать на кнопку и получить json с положениями костей и их ориентацией. Юнити мне показалась оптимальным вариантом. Плюс лет 6 назад игрался с ней.Будьте добры, ответьте на вопросы:0) Есть ли что-либо прям готовое под мой случай? Мне не нужны никакие анимации и прочее, только редактор по сути.1) Я хочу кликнуть на руку и потягать за ползунок, поменять её позу. Это задача инверсной кинематики, верно?2) Как переключаться между инверсной кинематикой и прямой кинематикой?3) Как при клике на collision box отдельной части тела рисовать ползунок? (хз как называется, выглядит как три ортонормированных луча rgb)4) во сколько мне обойдется заказать код для подобного?
>>499821От моей первой пошаговой стратегии со смешными спрайтами, нарисованными в лагающем фотошопе.>>499810Лол, всё было хорошо, пока я был маленьким и делал корявые игрульки сам. Потом полез в КОМАНДНУЮ ИНДИ РАЗРАБОТКУ и наглотался невероятных хуёв, когда сидят по 10-15 хуесосов и пиздоболят на тему игры мечты, но никто ничего не делает. Потом хардкорный моддинг для вк3, было очень круто, но в итоге Лига Легенд убила нахуй все такие проекты. Потом семь лет коммерческой разработки тупо за деньги, никакого геймдева, рисовач в свободное время. Сейчас вот достаточно задрочил тридач, чтобы пилить рпгшку полностью самостоятельно, чего и вам желаю. Алсо, юнити это неебически удобная среда, разве что минет не делает, пока игру пилишь, мне бы такую, да в моё тяжёлое детство.
>>499883Мой тебе совет: пиши диплом и не усложняй. Никто твоё кривое юнети-поделье не оценит, а времени потеряешь много.Твой вопрос про позы звучит примерно как "Как делать пиздатые анимации?"Да, инверсная кинематика. Под это есть пиздатые ассеты, но за деньги
тупой вопрос. мне надо нарисовать тактический оверлей, который показывал бы дальность пушек и угол обстрела. что-то вроде такого. в какую сторону воопше копать?
>>499900>>499580> Да мне... сделать хоть что-то на каком-то уровне.> хоть что-то> на каком-то уровнеСука, какой же ты соплежуй-говноед. Представляю твое тупорылое бледно-желтое ебасосево со теклянными глазами, подтглазами мешки, сутулость.
>>499900DrawLine (или как там её), создание панелек/моделек/чего хочешь из кода, превращение координат с гексовой доски в нормальные мировые. Такбля, ебался полторы недели со своими скриптами, почти закончил (нужно только "вслепую", то бишь без тестирования, анимации прикрутить как-то), и вдруг обнаружил, что в половине игр (например, эти ваши into the breach) для скриптов внешних используют lua какие-то. В первый раз их вижу, лёл. Там чистенько, аккуратно, но, сука, я уже несколько недель облизываюсь на свой собственный скриптинг и ПОЧТИ ЗАКОНЧИЛ теперь надо ещё анимации курить, эх Есть у вас какие-нибудь советы по lua? Если юнити как-то просто их умеет читать, то я их как-нибудь имплементирую параллельно своим скриптам.
>>499911>создание панелек/моделек/чего хочешь из кода, превращение координат с гексовой доски в нормальные мировые. это все есть. карта генерируется, юниты создаются, бегают и стреляют. нужно тупо визуалзировать "тактическию информацию" куда можно стрелять.
>>499912Ну вот у меня, например, пиздец вместо тактической информации. Беру сами гексы и меняю их цвет, чтобы информацию отразить. Дохуя разных стейтмашин, но этот пиздец работает и даже не тормозит. +в зависимости от стейта включаю/выключаю проверку на ивенты (типа нажатия клавиш/мышки/кнопок на панели). Так что В ПРИНЦИПЕ это не тактический оверлей, а тот же самый мировой, но при этом подкрашиваю несколько объектов в другой цвет + меняю привычное взаимодействие на особое. Планирую потом шейдеры/модельки поверх спавнить, чтобы красивее было и чтобы не зависеть от особого состава моделек.
>>499914буду наверно поверх рисовать отдельных слой гексов, включать их и назначать цвет по необходимости. в принципе линии мне не нужны, все по гексам.
>>499916Думаю, рисовать линии выйдет дешевле + много путаницы, если будешь на каждый гекс иметь по две модельки. Не слишком хитрый подход, к тому же. А шейдеры ещё дешевле выйдут. Но решать и воплощать в жизнь всё равно тебе, лул.
>>499883> диплом - программа оценивает какую дозу получил бедолага, подержав в руке кусок уранаНу и дипломы у вас.
>>499892соль в том, что это малый кусок диплома, но его нереально обойти. как в пасте про 1 байт, никак. И я потрачу слишком много времени чтобы замутить камеру, сцену и так далее с нуля. нашел вот такой ассет: https://assetstore.unity.com/packages/tools/animation/umotion-pro-animation-editor-95991вроде бы то, что нужно. но как заебашить управление с IK и FK пока непонятно. Если кто хочет халтуру сделать -пишите на [email protected]
Сап, задача у меня такая моя игра нуждается в такой системе которую называют EventAggregator. И для теста мне нужно всего три объекта со скриптами 1.switch - Переключат какой-то bool. и публикует это событие в EventAggregator.2.EventAggregator - Хранит событие. 3.Manager - читает событие, и как результат что-то делает(например добавляет очки)Но при этом switch и Manager, не должны знать друг о друге.Я читал вот эту статью, но я не понимаю как это работаетhttps://habr.com/post/212055/Помогите разобраться
>>499932>https://habr.com/post/212055/оче старая статья. конкретно в юнити реализовали нативно третий вариант в виде EventSystem (новый гуй например работает на ней) https://unity3d.com/ru/learn/tutorials/topics/scripting/events-creating-simple-messaging-system
>>499934Ну например там есть класс UnitDiedEvent. Это отдельный компонент или где он должен находиться?
>>499935> EventSystem (новый гуй например работает на ней) Но ведь только если ты к гую привязываешь какие-то события, не? Типа там на button нажал - хуяк и метод вызвался. А так если просто добавить надпись "Ваня хуй", то eventsystem вроде и не нужен.
Создаю объект через GameObject.Instantiate.Нужно задать объекту некоторые свойства из другого объекта. Конструктор применять не советуют. Start() не может иметь аргументов. Как быть?Мало того, Start() ведь выполняется не сразу после создания объекта, правильно? А в следующем кадре.
>>499950var NewObject = Instantiate(Prefab);var some_component = NewObject.GetComponent<SomeComponent>()some_component.Foo = 1;some_component.Init();
>>499950> Мало того, Start() ведь выполняется не сразу после создания объекта, правильно? А в следующем кадре.Чтоб прям сразу-сразу используй Awake ()
Анон, помоги пожалуйста. Уже битый час не могу понять как написать скрипт на простую смену анимации спрайта по клику мыши на этот спрайт.
>>499955В меканим создай триггер или булеву переменную, сделай переход в нужную анимацию, по клику мышки активируй триггер или задавай нужное значение булевой переменной.
>>499926>https://assetstore.unity.com/packages/tools/animation/umotion-pro-animation-editor-95991Его я и имел ввиду, когда говорил, что есть пиздатые. Этот сделал австриец, судю по говору в видосах.Есть еще Final IK эстонца из Тарту. Тоже дельный, но за те же деньги. И ты пропустил майскую распродажу. Оба были в полцены я купил обаЕсли тебе нужна только одна поза, то можно, наверное, стопкадром из анимации выбрать. А их есть много и бесплатно в сторе.Я невполне понимаю, какого конечного результата ты хочешь добиться этими позами.
>>499991Брось ты этоhttps://forum.unity.com/threads/how-do-i-use-gameobject-find-to-find-an-inactive-object.428277/
Поцоны, есть один пробилдер. Когда создаю два примитива и юзаю boolean SCG tool (любую операцию), то всё ахуеноо работает, за пол секунды выдает желаемый результат, но когда я использую те же операции на polygon shape, то юнити тупит пару секунд и закрывается без какого либо объяснения и ошибки. Сталкивался кто-то с такой же хуйней и смог ли решить эту проблему? Есть ли какая-то альтернатива без использования 3д редакторов?
>>499994Может подскажешь тогда как реализовать подобное - есть префаб с ГУИ, он привязан к объекту. По нажатию на объект нужно выводить этот ГУИ, т.е создавать объект на сцене. Если закрыть его то ещё какое то время до уничтожения ГУИ со сцены нужно иметь возможность снова нажать на тот объект для вызова этого же окна. После уничтожения через какое то время снова можно нажать на объект для вызова того же префаба но по новой, для новой генерации. Извиняюсь за кривое объяснение.
>>500002Даже ебаный торус смогло вырезать в кубе, создав пару сотен полигонов за долю секунды, а с одной платформочки вырерать другую не может. Халп!
>>500010кстати на тему. покажу клевую хуйню. https://www.youtube.com/watch?v=RXpIwdk8Z60пробилдер не трогал, ничем помочь не могут.
>>500009Как я понимаю, гуй висит на объекте стауионарно, а не спавниться.На объект вешает скрипт ShowGUIВ нем делаешь public ссылку на твой гуй (Canvas, Panel или что у тебя там)В том же скрипте имеешь OnMouseDown()В ней активируешь объект, что прописан по ссылкеКорутиной деактивируешь его через заданное времяЧто я забыл?
>>500002>Есть ли какая-то альтернатива без использования 3д редакторов?Нет, это всё полумеры. Тебе религия не позволяет скачать любой редактор и посмотреть пару туторов как им пользоваться?
>>500009лан я еблан, уже разобрался. А активен ли этот объект который я вызываю как проверить? поиск по тегу с последующий активСелф почему-то не срабатывает.
>>500019Не надо ничего искать! Проверяешь:public Canvas myGUI;if(myGUI != null){myGUI.SetActive(true);StartCoroutine(ShutUpIn5Sec());}IEnumerator ShutUpIn5Sec(){yield return new WaitForSeconds(5f);myGUI.SetActive(false);}Вообще все эти Find для лузеров. Чоткие поцаны юзают ссылки через public
>>500019Что тебе мешает сделать в скрипте private bool guiActive?Если труъ, при ни след.слике закрываешь. Если false, то активируешь
>>498593 (OP)Суп, котаны.Делаю первый пробный проект на унити, почти получается, но сегодня весь день проебал себе мозг только с одним вопросом - как, сука, как считать ебаный счет.Ситуация простая - игрок внизу поля, сверху падают бомбы. Когда бомба уходит за границы экрана и исчезает, то нужно счет++ и обновить на экране. На какой объект закидывать скрипт подсчета очков и как отслеживать бомбы, которые появились, упали и исчезли? Няша авансом
>>500033>Когда бомба уходит за границы экрана и исчезает, то нужно счет++ и обновить на экранепосмотри где находится граница экрана в мировых координатах и посмотри не улетела ли верхняя граница баунд-бокса ниже чем эта граница, если пользуешься ортогональной камерой. >На какой объект закидывать скрипт подсчета очков и как отслеживать бомбы, которые появились, упали и исчезли?очевидно что спавнить и уничтожать бомбы и считать хуйню может один и тот-же объект. он же и UI может управлять.а вообще пошел бы ты с такими вопросами знаешь куда? на сайт юнити. и посмотрел бы экзамплы.
>>500033> На какой объект закидывать скрипт подсчета очковПохуй, хоть на сами бомбы (только поле static ебашь) хоть на пустой геймобджект, который у тебя типа геймконтроллером будет.> как отслеживать бомбы, которые появились, упали и исчезли?OnBecameInvisible, например, или под игровым полем размести пустой геймобджект с коллайдером и на него привесь OnTriggerExit, в котором пропиши Destroy(other.gameObject), а на самих бомбах повесь OnDestroy и плюсуй свои очки.Или плюсуй прям с того коллайдера, на котором OnTriggerExitКороче, вариантов дохуя.
>>499561ассет стор же есть. если прогер, то лишняя двадцатка найдется. ну как "двадцатка", я в ассеты косаря три вложил. главное тут если что-то меняешь - делай это с умом, т.к. легко что-то толковое превратить в полное говнище (зато художественно самовыразиться). если ассет дорогой, то это переоценный оверинжиниринг. удели время на слепое изучение ассортимента. например, можно купить комплект 3д-деревьев за 10 баксов, или генератор деревьев за 5.
>>500028>private bool guiActiveПописял тебе в ротhttps://docs.unity3d.com/ScriptReference/GameObject-activeSelf.html
>>499495мне тоже этот вопрос был интересен. с одной стороны, спасибо. а с другой:> просто папку с файламичто, простите? просто файлы? и там не будет просто отчета с твоим id'ом, например?
>>500039> и там не будет просто отчета с твоим id'ом, например?Лол, нет. Только в твоём профиле ассет появится в списке купленных, чтоб если ассет обновился - тебя об этом уведомили.
>>499886> юнити это неебически удобная средаhcr по 10 секунд не бесит? если сравнить удобство с фотошопом - нет ощущения, что юнити говно?
>>500040> нетвот если я игру скомпилил с функцией сбора статистики - мой ид в игре точно будет. я вообще не понимаю, могут ли тут пруфы быть. может, сам юнити где-нибудь обмолвился-де "мы ничего такого не делаем"? на чем основано твое мнение?
>>500046> мой ид в игре точно будетПапка с ассетом нигде не кричит "я ассет, пасаны!" Может ты это сам написал. Или ты думаешь что в офисе юнити сидит армия макак, которая каждый билд сверяет с базой ассетов?> на чем основано твое мнение?На пикрилейтеде, например. Один из билдов вполне себе висит в стиме и приносит на хлеб с маслом палить я его, конечно же, не буду.
>>500050я ничего, а ты? мамку твою могу извинить. мне интересно что 15летПрограммач + 10летРисовач про оба пункта ответит.
>>500051> палить я его, конечно же, не будупалить и необязательно. более того, тебе же повредить может. но пруфы у тебя жидкие (почему их такими считаю - выше писал) - особенно если говорить именно про id аккаунта.> сидит армия макаккогда ассеты скачиваешь, юнити показывает какие файлы новые и какие - общие. независимо от их местоположения, по хешу контента. попап "calculating assets hash" опять же. армия макак врядли нужна для уже автоматизированной работы. по факту - до поры до времени юнити на это забивает.
>>500054я сегодня в магазине сравнивал мороженное и желатиновых мишек. мороженное оказалось лучше. никто не знает почему. с субъективными ощущениями всегда так.
Называйте меня поехавшим, но у меня в скомпилированной игре пропадают кнопки и текст. Перезапуск не помогает, сохранения в игре ещё никакого и нет. Что это блядь такое? В Unity всё в порядке, в игре сначала исчезла кнопка, теперь и часть текст (делаю текстовую игру). Что это блядь такое?
>>500055> но пруфы у тебя жидкиеНу я тут не убеждать пришёл, а на вопрос ответил. Или ты думаешь что я товарищ майор юнити-разлива и всё жду когда ты спиздишь ассет чтоб тебя повязать?Если хочешь успокоить своего внутреннего параноика — купи и не парься.
>>500058дружище, я ассеты покупаю (потому что про западный и штатовский копирайты читал и потому что воровать нехорошо). вопрос у меня был не тот, на который ты не можешь ответить. мою надежду найти спеца по кишкам юнити ты не оправдал, благодарю за потраченное время.
>>500061Ну значит мистика. Хотя вот недавно у меня слайдер исчез, в иерархии есть, галочка стоит что активный, а его нет. Забил хуй, лёг спать, утром проснулся, запустил - всё нормально.
>>500063Скомпилировал заново (причем изменений никаких не производил) - всё на месте. Проверю через час, лол.
>>500062> мою надежду найти спеца по кишкам юнити ты не оправдалДа я и не претендовал.> и потому что воровать нехорошоДык и я не воровал, я уже писал что они мне достались от группы ребят, с которыми я работал и которые сами залили их в проект, а потом были и не против если я их себе оставлю.> благодарю за потраченное времяДа не за что.
>>500063Да, с юнькой иногда классическое "Перезапустии и все пройдет" срабатывает, но очень редко, т.к. чаще всего - это оплошность человека, а не машины
>>500064Кстати, если у тебя бэтка, то советую откатиться на стабильную версию. Там порой и не такое бывает.
Почему этот индоскрипт не работает, если объект, что хочу вращать мышкой, сидит "чайлдом" на дереве моего first person controller?https://www.youtube.com/watch?v=S3pjBQObC90Если же отдельно и даже чайлдом другого объекта, то норм.Короче, вопрос про то, как повращать перед рожей айтим из инвентаря
>>500081там из кода только это void OnMouseDrag() { float rotX = Input.GetAxis ("Mouse X") rotationSpeed Time.deltaTime; float rotY = Input.GetAxis ("Mouse Y") rotationSpeed Time.deltaTime; transform.RotateAround (Vector3.up, -rotX); transform.RotateAround (Vector3.forward, rotY); Debug.Log ("rotating"); }Так вот, если этот объект со скриптом весит на FPC, то OnMouseDrag() не в вызывается вообщеи при отключенном FPC тоже
>>500082смотри, немного знаний английского и смекалки тебе помогут https://docs.unity3d.com/ru/530/ScriptReference/MonoBehaviour.OnMouseDrag.htmlмое вангование: у тебя нет коллайдера на обьекте к которому ты крутишь скрипт
>>500085Есть коллайдер. Тебя подвёл твой русский: я же писал, что если объект не чайлд, а отдельно, то крутится
>>500089>>500091>>500090во всех трёх случаях FPC деактивирован.и курсор мышки свободно двигается и виден
Чуваки, подкиньте норм или не норм туториалов по созданию редактора/конструктора 3д объектов. Например, редактор транспорта, где я могу поставить каркас, колесики, еще что нить (по сетке или свободно), чтоб потом это работало и игралось. Я интуитивно понимаю, что от поставленных объектов зависят свойства/способности сборного объекта, но как это реализовать, понять не могу.Удалось найти только туториалы про редактор лиц ((Еще примеры: Crossout, Robocraft, Sims (дом), Spore, Angry birds с машинками.
>>500095Дело было не в коллайдерах. С ними всё норм. И, кстати, у коллайдеров нет иерархии. Мешало rigidbody на parent. Причём при любой комбинации UseGravity и isKinematic. Rigidbody на самом объекте не мешает его крутить, опять же, если на parent его нет.
>>500101Туториал - это нечто конретное. А твоя задача - нет, ее можно реализовать хуилионом совершенно разных способов. Ты наверное сможешь найти туториал по какому-то одному конкретному способу, но подумай, нахуя тебе это, если твоего абстрактного мышления понять это не хватает.
>>500138я бы такие туторы тоже посмотрел. к взаимодействию объектов, я уверен, много подходов есть. вот у меня есть генератор уровней. есть стометровки с самопальными joint-компонентами. есть спавнер блоков, который joint'ы ищет - иногда из-за него лаг случается. надо переделать. единственная мысль - при awake джоинта искать спавнера в родителях. а в туторе могут других мыслишек подкинуть.
>>500146Подкидываю мыслишку: закрой нахуй юнити, и не открывай, пока не сделаешь на любом языке абстрактный сериалайз/десериалайз всех сцен на любой момент времени.
>>500159https://answers.unity.com/questions/12301/how-can-i-get-a-parent-gameobject-of-gameobject-us.html
>>500163MyYobaScript script = transform.parent.GetComponent<MyYobaScript>();if(script != null) script.ShowMyZalupa();
как по-взрослому и для кат-сцен работать с камерой? технически всякие самописные вращения, перемещения и переключение пост-эффектов умею. хочу с камерой нормально работать, а не ворочать ее грудой скриптов и сплайн-ассетами. и не держать сценарий нумерованными объектами в иерархии, а видеть что с камерой происходит. мне камеру красиво тяжело (т.к. я не оператор-постановщик), а тут еще и разные ракурсы, переходы между ними. кто-то делал кат-сцены и раскусил удобные решения (платные норм)? таймлайн стоит ковырять, какие от него плюсы?
>>500163> как это работает?Монобехэвиор ковырял? Тебя и ебать не должно как это работает, просто прими это как факт.А если уже тебе пиздец как интересно почему это работает именно так — это будет тебе домашним заданием.
Звиняйте за тёмную картинку. Вот, взял отстреленную голову и несу. Но она создана копириванием меши, а раз раньше сидела на плечах, то оффсет сохранился (пик2). Какой он, можно узнать из MeshRenderer.mesh.bounds.center. Исходя из этого вектора и навешены коллайдеры.Вопрос: как мне сделать по-людски, сдвинув меш к пивоту, т.е. вниз?Хочу голову крутить и ею бросаться, что при таком сдвиге получается криво.%парентить в empty и сдвигать там не хочу%
>>500138Ну в туторах могут быть приемы, которые я смогу применить. Еще я уверен что есть какие то частые грабли.
>>500126Как ты в блендере играть собрался? Я же примеры в конце написал. Нужно чтоб объект был создан в игре и им можно было играть.
>>500254да ты верно дебил. до того как ты их импортировал и после. импортируй ка давай куб с стороной в один юнит. и посмотри. может поменялось чего! вот удивительно то будет!
>>500255Хуя ты прям помог, импортировл куб со стороной в юнит и сразу всё заработало, заиграли фанфары, мамка пирожков испекла, друзья звонят, поздравляют.
>>500257ну и че? куб то перестал быть кубом, или че? что поменялось? давай, мы тут с тобой делаем базовую науку - наблюдение.
>>500258Да оказался обсёр где-то при триангуляции во время экспорта. Вместо чекбокса при экспорте соединил все вертексы руками. Всё нормально.
Сорян за тупой вопрос - а в 3д форматах, которые понимает юнити, есть аналог служебных каналов у картинок, или это отдельными мешами делается?
Huley they talk about "non-code content" в отношении asset bundles??? Ведь в сцене всё на скриптах и держица-вертица, блэть! В прифабах-то скрипты не похерятся же
>>500382Классы компилятся в бальшую дллку, которую можно заранее набить, а всякую мелочь типа новых юнитов и ребаланса нормальные люди обновляют через какой-либо формат данных.
>>500386Ээ, ну как бы да, "цвет вертексов", но в файле геометрии, а не в текстурах - такое есть? Я хочу просто чтобы дезигнер хуярил коллайдеры/споты под партиклы/итд в своем редакторе, а в юнити-реализацию оно оборачивалось через код.
>придумал идею для хоррор-рогалика с пушками и процедурными канализациями>пока пилил базовую часть, решил что все идеи - говно>начал пилить другую хуйню
>>500500О, очередной разработчик 2д параши с программер артом закукарекал. Много вас таких за последние пару лет повидал, унылее петухов не сыскать. Никаких амбиций, никаких стремлений, только вечные поклепы унылой шаблонной хуеты и пуканье в тредике. Удивительно, как ты вообще додумался готовый движок использовать, а не сел сначала писать диалект лиспа под себя. Ты жалок и смешен.
>>500506>Никаких амбиций, никаких стремлений>и это мне говорит мамкин червь-пидор, накупивший да напиздевший ассетовКак отвратительно.
>>500510Но ведь ты даже с готовыми ассетами не сможешь работать, мань. Ты не можешь в постпроцессинг, ты не можешь в шейдеры, ты не можешь такой графон как на вебм, ты не можешь в оптицизацию, не можешь в генерацию, ты вообще ничего не можешь кроме как двигать своего пиксельного аниме рыцаря по мануалам из гугла. Ты - бесполезный кусок червя-пидора, не нужный ни одной уважающей себя конторе, да и самому себе скорее всего тоже. Будь я на твоем месте - я бы давно ригидбадимувнулся в окно, нахуй ты вообще нужен?
>>500512>>500513Да нах так прикладывать этого разработчика кликеров для геймджолта с тремя фолловерами из собственного класса? Он же сейчас вскроет себе вены тупой ножовкой, а тред навсегда закроют за доведение
>>500512> не нужный ни одной уважающей себя конторевот это система ценностей! комплексуешь, что можешь только на дядю работать, а без указки тебе даже готовые шаблоны не помогут игру сделать? не комплексуй, бесполезного хуйла на этой планете 99%, ты просто такой же как все. это нормально.
>>500568Чего-ты застеснялся-то на вопрос ответить? Испугался, что укажут на твое место? Жидкий тролль какой-то пошел, хлюпкий да пидарковатый.
>>500569ах так то вопрос был. нет, я не хуйло. ты хуйло. этого ожидал? ну, все по плану идет - давай свою многопроходочку.
Как лучше хранить динамически генерируемый разрушаемый ландшафт? Планируется физика жидкости и сыпучих материалов.
>>500579что за хуйня у тебя в голове то? как собрался реализовывать все это - так и храни. о какой части ландшафта речь? карта высот, карта чего? как float[] храни, нахуй
>>500581Планета с гравитацией. Изменение ландшафта как в Astroneer, при этом "висячие в воздухе" воксели падают под воздействием гравитации.Вообще не ебу как это реализовывать, вот за советом пришел.
>>500579интересно, как такое на юньке вообще сделать. недавно видел ассет про физику, где камни трескались под давлением колес. ассет про воду (с волнами на gpu) тоже видел. про сыпучие пески ничего кроме партиклов с коллайдером не видел. подозреваю, что как там реализовано - так и надо оставлять.
>>500582лол ну почитай про marching cubes. вообще лучше пойди возьми готовое, пилить воксельный движок даже зная что делаешь это на добрые пол годика в лучшем случае. спизди какой-нибудь Voxel Farm или что-то в этом духе.>>500583я не слишком развивал тот проект, если он тебя интересует. сделал в нем эту фичу с тем что можно применять модификаторы к уже готовым картам и решил на этом остановится. и доделать уже важную фичу в моем сраном навмеше.на самом деле я могу весь тред засрать тут своими велосипедами. у меня накопилось много всякого забавного говна. на немножко. (а игр нет)
>>500587Может можешь посоветоваит какой-нибудь литературы напрямую или косвенно связанную с геймдевом (процедурные генерации там, всякое такое)
>>500579В пример можно привести джпег формат, где одинаковые пиксели в блоке хранятся в виде начала блока, конца и самого значения. Но у тебя так майнкрафт получится.
>>500589на самом деле это такой мастер-план. в самом начале я поставил цель "сделать процедурный мир с большим упором на ИИ" и не забил.как приделаю пару полезных фич к навмешу то вернусь к основной цели. этот микроскоп оказался очень полезным, им можно сваи забивать, не то что гвозди.>>500598пожалуй нет. не могу. так как большинство того что я реализовал имело под собой краткое описание из какой-нибудь статьи, а не какой-то огромный багаж знаний.но вообще если интересно то основная идея взята из этого текста http://www-cs-students.stanford.edu/~amitp/game-programming/polygon-map-generation/ там все приятно и с картинками. я просто приделал к этому нодовый редактор всяких там шумов и хуйни которые бы накладывались по маскам биом. >>500599неа, там ещё интересней чем может показаться. это процедурная анимация. я как-то почитал немного про то как сделана анимация в overgrowth и подумал что хуево что зайчик бегает только вперед-назад но не вбок. а как блендить такое? нужна какая-то хитрая интерполяция. ебанул бленд филд примерно как у меканима где в качестве ноды выступают 2 кривые - движение ноги вбок и в сторону (скриншот). сделал экспорт кривых с готовых анимаций, потягал их пол вечера. по земли стали елозить шарики. потом приделал на энной высоте жопу, к жопе небольшую инверсивную кинематику, стало похоже на ножки. потом чуть интересней - я стал высчитывать предполагаемую акселерацию исходя из текущего движения пятки и эта акселерация стала толкать пружинку под этой жопой. что и делает эти покачивания жопы вверх-вниз.у меня нет видео что там дальше. но дальше я сделал эти покручивания бедра в такт шагу, сделал множественную пружину где каждый следующий сегмент влияет на предидущий, чтобы типа жопа прыгала, но башка не прыгала так сильно. и на этом закончил. потратил наверно неделю на этот клевый прототип.решил что если в моем проекте будут шагающие танки то определенно воспользуюсь этой хуйней.
>>498593 (OP)есть тут кто юзает magica voxel?как центр модели(pivot point) настрить (передвинуть в центр объеката) в самом юнити нету инструмента,и в проге тоже.я заебался выражать через пустой объект,это как-то неправильно.помогите раку ебаному
>>500611посмотри proBuilder (он нынче бесплатный), другие редакторы. сам я спокойно живу и без редактирования пайвотов, но кнопку "pivot to center" по одному из ассетов явственно помню.
>>500614> я бы тоже жил,но у меня есть моделька машины,у которой должны крутиться колеса,а когда центр нихуя не в центре колеса они крутятся как земля вокруг солнца по орбите.вообще странно,что такого простого инструмента нет в юнити,типо есть pivot to center,однако он только в редакторе показывает нормально,когда речь доходит до вращения,он естественно сбиваетсяпомню делал игрушки на скирре и там была функция в редакторе
>>500626ну у юнити куда не плюнь - везде что-то не так. посмотри, например, туторы по тряпочным материалам в юньке. или, например, "find reference in scene" есть в project, но нету в hierarchy. а еще как найти в иерархии все по произвольному коду - ну, конечно, написать свой скрипт. как кастомайзить хоткеи? написать свой скрипт. или вложенные префабы: мало того, что их нет, так еще и ссылка на под-префаб сохраняется при неведомом мне стечении обстоятельств. или поворот объекта внутри скейленного объекта приводит (не всегда) к искажению объекта, если оба рендерятся. меш-коллайдер в скейленном объекте пересчитывается (явно не на gpu) по 100мс, поиск по иерархии тоже при крайней необходимости, gc высвобождает драгоценные (нет) 20 метров за пару фреймов, от и до говеный ui ассет-стора и компиляция не работающая при включенном впн... быстро привыкаешь к этому говну и перестаешь его запоминать - а так в юньке на месте только самый базис. но есть и всякие удобные полу-документированные штуки (типа v и ctrl+shift+f).
>>500633когда отправил вспомнил, что нет возможности выровнять объекты, уронить объекты (роняются только при dnd из префаба). затосковал по 95му ворду, где можно было кучу кнопок вывести на экран и мышкой перемещать их между панельками (вот тут бы юнитивый воркспейс реально пригодился). ну и вдогонку еще косячки в памяти всплыли. слои сохраняются на уровни юнити (а не проекта), слоев 32 штуки и не больше, скейл не меняет радиусы у лимп и партиклов. и на фидбек уважаемым разрабам юнити срать. но ты держись, в 2018й (не пробовал) случилось (ли) подкомпиливание только измененного кода и (смею надеяться) нас покинул кеш ошибок.
>>500551>а без указки тебе даже готовые шаблоны не помогут игру сделать? Там из шаблонов только текстуры из гугла и модель человека из конструктора. Все остальное я делал сам, а ты просто завидуешь что не способен в такой уровень разработки. Вечный рисовальщик пикселей для аниме рогалика, даже жалко тебя становится.
Господа, начал ковырять ScriptableObject дабы хранить в нём предметы, то есть общую базу предметов, а также инвентарь игрока, содержимое лутабельных сундуков и так далее.Так вот, написал я класс Item, прописал там поля, конструкторы, все дела. Отдельным скриптом, наследованным от ScriptableObject, описал лист этих самых айтемов (ItemList, например), затем третьим скриптом я из этого ItemList создал asset-файл, который лежит себе в папке и хранит всё что я в него засуну.Как я понял, именно так это и работает.Так вот, всё оно хорошо, но возникает вопрос.Это мне что, под каждый список создавать такой asset-файл? Для списка игрока, для каждого ящика? А если у меня 100 ящиков, то это 100 таких скриптаблобджектов в папке будет?Я, конечно, догадываюсь что скорее всего так оно и есть, потому что ну а как ещё. Но как-то оно странно.Ну да, я могу через скрипт на ходу запихивать в списки из базы всё что душе угодно и пока обойтись одним файлом-базой, но в конце концов будет же возможность сохранения и где-то придётся их хранить.
>>500649> общую базу предметовХватит одного скриптабла, другим скриптом через референс к этому ассету ты просто наполняешь инвентарь сундука > инвентарь игрока,Юзай json, редактировать скриптаблы в рантайме нельзя
>>500650> другим скриптом через референс к этому ассету ты просто наполняешь инвентарь сундукаНе, это понятно, я так это и делаю. И сундук так наполняю и инвентарь. Проблема в том, что когда я нажму "сохранить игру" когда-нибудь, то надо будет куда-нибудь его содержимое всё таки выгрузить из памяти.> Юзай jsonНу вот, ещё одну новую хрень курить. Ну да ладно, пригодится.> редактировать скриптаблы в рантайме нельзяДа вроде можно. Во всяком случае в общую базу (единственный скриптабл что у меня пока есть) я в скрипте через конструктор могу добавлять новые айтемы.
>>500651>Да вроде можно. Во всяком случае в общую базу (единственный скриптабл что у меня пока есть) я в скрипте через конструктор могу добавлять новые айтемы.Сконпелируй и еще раз попробуй>то надо будет куда-нибудь его содержимое всё таки выгрузить из памяти.в json>Ну вот, ещё одну новую хрень курить. Ну да ладно, пригодится.Там ничего сложного. Ты по сути сохраняешь класс на жесткий диск, со всеми его переменнымиhttps://docs.unity3d.com/Manual/JSONSerialization.html
>>500652> Сконпелируй и еще раз попробуйПопробовал, добавляется. Ну и да и хуй с ним, не важно.> Там ничего сложного. Ты по сути сохраняешь класс на жесткий диск, со всеми его переменнымиОкей, спасибо, гляну что это за дичь. Уже хочу разобраться с этим сраным инвентарём и забить хуй пилить игру дальше.Хотя хорошо что инвентарь оказался таким злоебучим, хоть что-то новое узнал.
>>500653>Попробовал, добавляетсяА новые скриптаблы создаются? Я просто когда сам с ними знакомился, помню что на какой-то подводный камень наткнулся, и с тех пор редко их юзаю, в основном какие-нибудь настройки храню, которые игроку не нужны
>>500654> А новые скриптаблы создаются?Ага. Я даже вот такую вот хуету написал чтоб ручками на каждый ящик свой файл не создавать. Чтоб по имени файла отдельный скриптабл был, откуда при загрузке подтягивать содержимое. Работает как нехуй.Но если json зайдёт, то это не пригодится.
>>500655И правда, скриптаблам таки завезли сериализацию. Беру назад свое утверждение о необходимости использовать json
>>500656>You can serialize ScriptableObjects to Json with JsonUtility.ToJson, and save that to a fileХотя стопе...
>>500656> Беру назад свое утверждение о необходимости использовать jsonНо тогда я правильно понял, что действительно под каждый ящик надо держать свой скриптабл?
>>500650> Юзай jsonСтранный этот ваш JSON.Выдаёт хуй без масла, хотя список не пустой. Чего ему надо?
>>500666Попробуй вот такую хуйню, работает вроде чётко.https://www.youtube.com/watch?v=C9WFOX6kDoo&t=7sмимо_не_вникал
>>500667Да один класс захуевертить это и так понятно. Мне б список загнать. Можно, конечно, через цикл каждый элемент цикла загонять, но как потом его прочитать?
>>500670Хрен его знает, просто ебошу JsonUtility, как и написано вот тут >>500652> https://docs.unity3d.com/Manual/JSONSerialization.html
>>500671Ты видео нормально посмотри, там сторонний плагин используется, под видео ссылка на него есть.
>>500672Плагин это здорово, но разве "искаропки" json не хавает списки что ли? Если нет, то конечно придётся обмазываться плагином, но как-то это странно, я ж не многого прошу.
>>500675Вот тут >>500666 на первом пике обычный класс с полями, на втором - список экземпляров этого класса. Я хочу этот список скормить в JSON, а он мне выдаёт null. А если скормить один экземпляр класса, а не список, то всё нормально.
>>500666Короче, завернул список в отдельный класс. Работает, но как-то это костыльно.Ну да и ладно, пока и так сойдёт.Всем спасибо.
>>500679попробуй Json.Net для юнити. https://assetstore.unity.com/packages/tools/input-management/json-net-for-unity-11347стандартный очень прост и заточен под юнитовские геймобжекты и скриптаблы и вечно тупит на обычных.
Ананасы, посоветуйте статью с типсами по использованию платформо-зависимой компиляции.Дали на работке проект, а там пикрил. Ниразу жо этого не видел такого пиздеца, подключение библиотек и объявление переменных в зависимости от платформы.Я уже привык каждый раз спрашивать себя, когда чувствую возмущение по поводу чужой работы: "Мол, а может это ты петушок не шаришь?". Поэтому и прошу подсказок. Проект собирали в последний раз под WebGL больше полугода назад, все работало, решили накатить обнову. И посадили за это дело меня джун-макака, до этого был чем то между Technical Artist и разработчиком, но разрабатывал только инструменты для таких же technical artist'ов. Никаких гитхабов и прочих систем контроля версий нету (пиздец а не галера) просто один проект под всевозможные платформы. Разумеется, это дерьмо выдает ошибки при попытке запустить в бравзере (abort(x) at error). Крч мне кажется, что это потому что какие библиотеки не зашились в проект и при попытке их вызвать происходит краш. Все это, разумеется из-за таких вот пре-процессинговых директив или нет?.
>>500735> Проект собирали в последний раз под WebGL больше полугода назад, все работало, решили накатить обновуУ меня под WenGL не компилится уже давно. Пару раз попытался разобраться в чём хуйня, а потом забил, всё равно только под форточки пишу.Ну а про платформенно зависимую компиляцию вроде прилично написано, покури, может чего найдёшь. Я эту хуету использую только чтоб держать editor-скрипты для создания скриптаблов в папке с остальными скриптами и чтоб компилятор не ругался при билде.
>>500739>Я эту хуету использую только чтоб держать editor-скриптыНу вот и я. А так, если надо под разные платформы какую-нибудь логику, то просто разные ветки.А по поводу объявления библиотек, так это вообще бред как по мне, фишка в том что линкер сам откинет те библы, которые не используются в случае чего. А по запросы "Unity platform dependent compilation" только уроки касательно синтаксиса по всей видимости для тех, кто читать не умеет, в официальном мануале все расписано. Вот и решил поинтересоваться у анона, а может и годный линк поймать.
Спасибо тому ананасу, который посоветовал хранить общую базу предметов в скриптабле, а списки игрока/ящиков хуячить в файл через json. И остальным товарищам спасибо, не часто тут помогают советом, а не сразу хуй за щеку толкают.Пришлось немного покурить эту тему, но по итогу это такое удобное говно, что я себе уже несколько ментальных пощёчин отвесил за то, что раньше в эту тему не залезал.
>>500758А я пришел к тому, что вообще все данные храню в одном scriptableObject, который сериализую в json, когда надо сохраниться.Т.е. схема такая.При начале новой игры scriptable десериализуется из "пустого" json, который содержит некоторые начальные данные.В процессе игры монобехавиоры не содержат никаких данных, все данные хранятся в scriptable, монобехавиоры хранят ссылку на "свой" кусочек, модифицируя и зная только его.Когда надо сохраниться скриптабле сериализуется в файл, при загрузке десериализуется назад.Дополнительный охуенный плюс - совершенно похуй на смену сцен, потому что сцена только рисует то, что находится в скриптабле.
Анон, вот какого дъявола? Это все ебаный РКН? Пару месяцев назад все было хорошо. Что делать-то с этим с соединением все в порядке? По треду бегло пробежал - не нашел подобной проблемы.
после полутора дней мучений с дополнительными спрайтами поверх в виде оверлея понял что это гиблая идея и решил попробовать шейдеры. знаю что это такое только теоретически и повтыкав в код шедйера нихера не понил, решил попробовать любезно предоставленный экспериментальный шейдер граф. после еще одного дня за тыканием окошек и рисованием линий начал приблизительно понимать что это за херня и даже получил нужный результат, но внезапно оказалось, что со спрайтрендерером он не дружит в принципе(ибо называет параметры рандомно выставляя наружу только описание, а тому нужны _MainTex и _Color, попытки, как было предложено на форуме, изменить параметры в дебаге привели к вылетам 3 из 5 раз. те 2 раза когда не вылетело - не сработало.пришлось вернуться к коду. благо понимания принципа осталось, вроде даже получилось то что я хочу ( снизу вверх - дефолтный спрайт, спрайт с узорной маской, спрайт со сплошной маской принципиально не отличающийся от просто задания цвета)
>>500771Твоё кунг-фу по описанию пока сильнее моего я даже не всё понял, хуёво быть мной, потому как я только-только ворвался в это дерьмо, но ты лишний раз подтвердил что это довольно полезная дичь.
Гружу вот так из сети и сцена действительно кешируется, ибо после перезапуска грузится моментально, а там 400МБvar www = WWW.LoadFromCacheOrDownload("https://www.dropbox.com/s/xyz/level1?dl=1", 1)вопрос, блэть, где этот кэш лежит?
>>500626> pivot to center> они крутятся как земля вокруг солнца по орбитеhttps://assetstore.unity.com/packages/tools/modeling/mesh-combiner-and-pivot-editor-51142 вот на глаза попалось
>>498593 (OP)Подскажите, как можно "Добавить текстуру в текстуру", желательно с альфа-каналом. Не совместить два полигона с разными текстурами, а именно изменить существующую текстуру, смешав ей с другой по заданным координатам. Я знаю как это сделать попиксельно через скрипты, но это слишком медленно. Есть быстрый способ?
>>500843делай попиксельно через шейдересли нужна именно отдельная текстура - генерируй отдельно через рендер таргеты. https://docs.unity3d.com/Manual/class-RenderTexture.html
>>500845Благодарю, попробую RenderTexture. Но, похоже всё таки мне придётся изучать шейдеры, чтобы делать что то нестандартное.
>>500846>придётся изучать шейдеры, чтобы делать что то нестандартное.это не так сложно как кажется. для эксперимента может поставить ShaderGraph + LightweightRenderPipeline(они еще слишком глючные для реального использования) в отдельном проекте. там удобно визуально рисовать шейдеры и уже понимая что происходит переводить в код.
>>500992> Где искать уроки? Видео, статьи, книги?Если сможешь прочитать шапку, то может и хоть один урок осилишь.
>>501019первый варинт был 3дон мог в расстановку тайловрасстановку меховдвижение меховно так как в моделинге я ноль и хоть и смог в блендере сделать хекс, то двигать кубик вместо меха стало скучно. а найти спрайты мехов оказалось куда проще чем вменяемые модельки
>>501027Без обид ))Мой потолок после 6-ти выходныхhttps://www.dropbox.com/s/0j7xpnm23338si2/2018-05-23%2021-12-56.mp4?dl=1
Подскажите нубу. Хочу ИИ сделать, что бы он армиями управлял в стратежке, пикрил. Хз, как делать, вообще ничего не знаю.У армий, в принципи, могут быть следующие задачи:-консолидировать армии-уничтожать армии противника-захватывать провинции-гонять повстанцев-пока все
Парни, поясните за ассетбандлы, пожалуйста.До того, как столкнулся с нуждой импортировать модели, я банально брал папку ресурсов и создавал на компе пользователя её копию. Если добавить туда новые файлы, то игра их тоже как бы видит. Во время игры я либо подгружаю с компа файлы, либо из внутренней папки ресурсов, если запрещена подгрузка. Ну, логика понятная - соответствие папок внутренних и внешних.А с ассетбандлами как это работает? Создаётся AssetBundles папка, и только из неё их можно загрузить? Оно совмещается с папкой ресурсов как-то? Какая там иерархия вообще?
>>501071Раскури Asset Bundle Manager для начала. В описании внизу он его тянет с гита. Но сейчас он уже в Asset storehttps://unity3d.college/2017/06/04/use-assetbundles-assetbundlemanager-update-unity3d-games/Сам начал неделю назад. Уже гружу сцены с сервака. Брат жив.
>>501072Мне так-то нужно только модели импортировать постольку поскольку obj, как оказывается, без анимаций и костей импортируется. Ну, раз и модели импортировать таким методом, чому бы и не прикрутить обычные форматы таким образом как альтернативу.Спасибо за ссылку, покурим.
>>501078Попробуй открыть любой obj блокнотом. Там банально список вертексов с увишками. Ты можешь это как меш импортировать в рантайме очень даже легко, но ни костей, ни анимаций не будет внутри. >>501072>>501073В общем, почитав, я ничего толкового не прочитал. Во-первых, юнити у меня старый (5.2 что-то там), ибо 32бита и нет возможности ничего поменять в этом плане Новые примочки мимо меня проходят, в общем.Будет ли работать такое? В папку ресурсов для эдитора положу ассетбандлы, дам им расширение читаемое (тхт, например), создам из этого бандл When you create your AssetBundle, save it as a .txt file. Then load it as a TextAsset, and create the AssetBundle with AssetBundle.CreateFromMemory( textAssetRef.bytes )., и будто подгружать это в рантайме как обычный бандл, но из папки ресурсов. В папке ресурсов у конечного пользователя делать всё таким же образом. Взлететь должно, думаю. Жуткий велосипед? Что я упустил из виду? Если юнити так и так бандлы читает тем же способом, что выше под спойлером, никакой разницы быть не должно, наверное?
>>501070мне тоже интересно. при постановке задачи я бы учитывал: 1. важность задачи - оборона пекина важнее атаки на петропавловск камчатский...2. расстояние до цели (+скорость) - ...катапульта из хабаровска рванет защищать столицу, но штурмующая рио-де-жанейро конница продолжит покорять далекие земли...3. вероятность успешного исхода - ...чтобы базирующиеся в пекине лучники не целились (из окопов) по сверхзвуковым бомбардировщикам, а метнулись атаковать ближайший вражеский аэродром.все три фактора - числа от 0 до 1 (расстояние от 1 до 0). имеем список задач. сначала его фильтруем: 1 и 3 должны быть больше 0.2. сравниваем две задачи по сумме 1 и 3. если сумма отличается больше чем на 30% - берем лучшую задачу. если сумма примерно одинаковая - берем цель поближе. числа не надо делать одинаковыми на всю программу: хочешь безбашенную и самонадеянную нигерию - поставь ей x3 модификатор успешности.далее я бы ввел генералов. им необязательно быть юнитами на карте, могут быть невидимой абстракцией. юниты сами по себе не воюют, только по приказу от генералов. так вероятность успешного исхода может случиться адекватная. т.е. надо захватить хабаровск, защищенный катапультой. три лучника строем пробьют оборону, а три лучника приближающиеся по-очереди также по-очереди и передохнут. это и есть твое "консолидировать армии". плюс, у генерала есть запрос. если у него есть пять лучников, то генералу нужно их защитить от гипотетической конницы - ближайший город знает, что строить надо копейщиков, а не шестого лучника. так же, на уровне генерала ты можешь модифицировать важность задачи: первый генерал про оборону, второй про атаку. чем больше городов юнитов - тем больше генералов. в атакующих генералах легко идти от задачи. надо захватить город, поблизости есть два атакующих генерала. у первого атакующего генерала вероятность 0.1, у второго атакующего 0.15, но в сумме у них 0.5. говорим первому идти ко второму, второму стоять и ждать. они встретились - перекидываем юниты от первого ко второму. второй идет в атаку. первый телепортируется в ближайший город с запросом initalUnit. у обороняющихся генералов тоже можно от задачи. штаты напали на канаду: проебываем виннипег, чтобы отстоять оттаву.т.е. имеем маршала (контроллер генералов), который формирует список целей. имеем генералов, которые знают вероятность успешности действий. имеем юнитов, которые ходят за генералами. если маршал молчит - генералы действуют по своему усмотрению. т.е. если у нас мирное время и ничего не меняется, генералы стоят в городах и пишут запросы на новых юнитов. а если чехия напала на словакию, маршал увольняет всех генералов обороны - все юниты идут в атаку. список целей строим (ситуацию) стоим из: вероятность выжить, вероятность победить. чем ценнее победа, тем более агрессивную страну получим. если цена у победы ноль, то ии не развяжет ни одной войны (швейцария).
>>501080>Попробуй открыть любой obj блокнотом. Там банально список вертексов с увишками.я про это и говорил
>>501080>Во-первых, юнити у меня старый (5.2 что-то там), ибо 32бита и нет возможности ничего поменять в этом плане Новые примочки мимо меня проходят, в общем.Это тупик же. У меня подержаный Lenovo X230 под геймдев, да и то с Win10 64-bit
>>501091Нормальнааа. Чем ниже характеристики у твоего компа, тем гарантированнее игра будет лучше идти на более сильных компах пользователей. Я ж не 2д платформер делаю, а файрэмблемклон, тут много оперативы и видюхи не надо.
>>501092Характеристики? Вот я и брал в Акихабаре не с nvidia, а ссаной Intel 4000Но отрезать себя от ништяков неправильноСистема ассетбандлов притерпела много изменеий к лучшемуна пике всё, что нужно, чтобы загругить бандл асинхронно с сервака
>>501117чтобы легко менять скругление уголков, скорость рывка и гарнитуру для текста поверх бара. нет
Ребзя, короче вот что, приходят ордера по вебсокету, нужно передать данные в другой скрипт (оредрбук), вот думаю сделать это на евентах. Но а что если оредруков будет тысяча, а данные предназначены только для одного? Триггерить 1к рассылку и столько же IFэов это пиздец, ведь я не знаю для какого именно предназначено. А что если передавать в контроллер ордербуков какой ордер пришел, а там уже держать словарь с 1к оредрбуков, дергать нужный, и передавать ему, а? В этом случае хуита с перебором. Ордербука всего два, и по сути похуй на производительность, но интересно как правильно делать, где баланс между производетльностью и лапшой в говнокоде. Второй вариант больше нравится, так как общение происходит только между контроллерами (скриптами, которые управляют другими скриптами/геймобжектами, содержат данные котоыре возможно в сей момент визуализировать не надо)
>>500606не секрет. медленно но верно приближаюсь к своему тридцатнику. увлекаюсь всем этим наверно лет пять. >>500649но зачем? база предметов в скриптабл обжекте это база референсов на ресурсы. сами предметы можно сериализовать любым сраным методом. просто предмет должен содержать в себе поле "чертеж меня номер такой-то" и когда ты говоришь "хочу чтобы этот предмет появился" ты смотришь какой у него чертеж в базе данных, а потом суешь статы этого предмета в то что заспавнилось. ресурсы игры отдельно, предметы отдельно.>>501070лол ну вообще у тебя теперь проблемы которые можно обсасывать очень долго. вон почитай например http://hevi.info/tag/artificial-intelligence-in-real-time-strategy-games/
>>501153>http://hevi.info/tag/artificial-intelligence-in-real-time-strategy-games/СЛОЖНАААААСделаю на ифах пока (уже сделал)
>>500579>>500579>Как лучше хранить динамически генерируемый разрушаемый ландшафт? Планируется физика жидкости и сыпучих материалов.В текстуре жи>>500582>Планета с гравитацией. Изменение ландшафта как в Astroneer, при этом "висячие в воздухе" воксели падают под воздействием гравитации.Тысячи людей это делали и не доделалиХочешь, сурцы мои посмотри https://github.com/Nashet/Interactive-ErosionАлсо, зацени этого хуйца https://twitter.com/BioGridGame>>500598>Может можешь посоветоваит какой-нибудь литературы напрямую или косвенно связанную с геймдевом (процедурные генерации там, всякое такое)Весь интернет этим завален, просто погугли. Если инглишь знаешь, конечно.
Анон, есть контроллер с rigidbody и capsuleCollider. В коллайдере все настройки дефолтные. Если упираюсь в наклоненное препятствие и продолжаю жать кнопку движения вперед происходит первый пик. Почему так?
Подскажите с анимациями.Тренируюсь на кубах, сделал анимацию скачков (за 60 фреймов z с 0 до 1 и обратно в 0), всё норм, ибо от 0 до 0, а вот захотел анимацию поворота и даже как-то не знаю, что делать. Базовые туториалы скурил, но там не объясняется, как вообще эти значения изнутри аниматора с перемещением в координатах совмещать. Допустим, делаю анимацию поворота по z от 0 до 90 - в аниматоре при переходе к чему-либо 90 в последний момент в 0 обращается. Как мне не допущать разворота обратно? Ещё видел в каких-то видео, как использовали какое-то значение, выражающее, сколько моделька пройдёт игровых метров за время анимации, но в аниматоре я такого не нашёл.
Реально ли на юнити создать качественную стратегию, как, например, у парадоксов, чтобы страны были динамическими или нет?
Блет, как же я не люблю когда Юнити виснет. Ушел в бесконечный цикл - завис. Обпатился к несуществующей хуйне - завис. Это блять редактор для прототипов или что? Так сложно задетектить зависание и сказать об этом? Надо жи прощать ошибки пользователя..
>>501245> Обпатился к несуществующей хуйне - зависСхуяли? Про цикл — это да, но если обратился к несуществующей хуйне, то просто эксепшен выкинет.
>>501246Хз, молча виснет. Может в другом делоОно, кстати, нигде в логах не пишет чему решило зависнуть?
>>501225Если упростить вопрос, я хочу сделать анимацию поворота модельки. Что нужно в анимации сделать, чтобы при собственно повороте (скажем, при нажатии стрелки) поворот модельки был правильным и не сбрасывался?Вот у объекта проигрывается анимация, ок. В анимации координата Х прибавляет 100 на последнем фрейме. В окне просмотра аниматора Х сбрасывается до нуля. Если объект стоит на Х = 0, сбросится ли Х до нуля по окончанию анимации?
>>501225>>501289Чёто ты усложняешь. Берёшь модельку, ебашишь ключ на ротейшене, потом поворачиваешь модельку как тебе надо и ебашишь второй ключ.
>>501225> в последний моментapply root motion должен помочь> пройдёт игровых метров за время анимациивот тут https://docs.unity3d.com/560/Documentation/Manual/nav-MixingComponents.html посмотри список "NavMesh Agent and Animator". а вот тут https://docs.unity3d.com/560/Documentation/Manual/nav-CouplingAnimationAndNavigation.html - есть пример кода, в т.ч. "Update position based on animation movement". хотя я бленд-анимашки не люблю из-за некрасивых переходов (может, варить не умею) и помню какой-то другой (из документашки) пример применения, где аниматор через слои копали - но найти я его не смог.
>>501292Спасибо, вроде оно. https://docs.unity3d.com/Manual/RootMotion.html>RootPosition(Y) >RootPosition(XZ)А у меня вместо высоты Z, мда. Видимо, мне только в бленды дорога. Оно и к лучшему, наверное.
Обоссыте меня, если очень нужно!Имею сцену весом в 400 МБ даже в упакованном виде.Так мне говорит Asset Bundle Manager.Иерархии всё разложено по полочкам (пропы, хуёты, террейн). Каждая группа собрана чилдренами в "empty"Получалось грузить сцену из бандла целиком. Теперь хочу по частям. То есть перетянуть с папку проекта, сделав из групп и подгрупп префабы. Их по частям запаковать в отдельные бандлы и грузить по логике появления (террейн, пропы, мобы).Если у "контейнеров" (empty) координаты были (0,0,0), то так и спавнить.Где я обосрусь с подливой? Грузить буду асинхронно.
>>501298если у сцены есть ссылка на префаб - префаб грузится вместе со сценой. т.е. пока не загружен префаб - не загружена и сцена. но если тебе нужно 400мб прогрузить перед тем как что-то показать - то так и надо. сделай сцену "лоадинг" и грузи сначала лоадинг а после асинхронно грузи нужную сцену. и не забудь про небольшую дырку между лоадинг-сцена загрузилась и мы начали грузить следующую сцену (в плеймоде и закомпиленной игрухе лоад сцены ведет себя по-разному).
>>501301Спасибо, анонче! Геймобжекты из иерархии, конечно, надо пидорнуть, если в планах их спантить.У меня и есть (пока) сцена start, где тупо гуй с progressBar из слайдера. Сразу грузит бандл, показывая прогресс, и активирует из него сцену. Хотел бы и в самой сцене расставить триггеры, чтобы зашел, остановил время в игре, на панели показал, что что-то грузишь. Заспавнил, похерил панел, включил время и пошел дальше.С дропбокса можно грузить по ссылке. А потренироваться можно и на локальном сервачке, я так думаю
>>501298Нигде не обосрешься. Так и надо делать - компоновать сцену из бандлов. Хотя для объема 400 мегов это, наверное, излишне.
что может быть за хуйня?есть 2 спрайта для подсветки юнитов.1. обычный спрайт с кружочком, если юнит выбран - SetParent(unit, false), SetActive(true). все ок, перецепляется между юнитами как положено2. спрайт с анимацией - вращающийся кружочек(по кадровая). то же самое, но при наведении(IPonterEnter - SetParent(unit, false), SetActive(true), IPointLeave - SetParent(uicontroller, false)m SetActive(false)и вот он появляется нормально только первый раз. ворлдкоординаты растут с каждым следующим прикреплением на тысячи, локальные остаются (0,0,0). крепится к правильному объекту(видно в иерархии). больше нигде этот объект не используется. в чем, мать его, проблема?
>>501377ну я прост пропустил false во втором setparent, благодобря чему спрайт сохранял свои координаты и прикрепляясь повторно уезжал в ебеня.
Помогите разобраться с траблой в коде!https://pastebin.com/2XS3J7v2Ошибка: Assets/Scripts/PresistentManagerScript.cs(43,49): error CS0118: `System.IO.File' is a `type' but a `variable' was expected
>>501424Ты куда-то закидываешь System.IO.File (который тип, а не переменная). Скорее всего ты забыл System.IO.File.ReadAllText() или что там есть вообще, чтобы получить строку или что тебе надо.
>>498593 (OP)Пагни помогите. Как сделать чтобы ФПС контроллер не проваливался под текстуры на стыке генерируемых чанков. Если можно, то объясните попроще, а то я нуб.
>>501344лол да ну брось полно игр с клевым ИИ. разве что на фоне этого раздела можно кого-то впечатлить.после того как приделаю к навмешу возможность регистрировать в нем какой-то контент чтобы искать его через навмеш и пару фич с навигацией типа "ищи эту зону" то наверно вернусь к этому проекту. в прошлый раз я таки сделал чтобы этот клевый контролер для ИИ синхронизировался по сети.хотя конечно было бы здорово запилить какую-то форму гпу рэйкастинга.могу ещё показать немного. ИИ клево бегает, прыгает и пригибается. и немножко более ранняя версия того контролера, но лучше видно че там ИИ думает.>>501245а ты не пиши бесконечные циклы. пиши чтобы оно само там делало эксепшен после дохуилиона итераций. на стадии написания прототипа бесконечный цикл это головная боль.>>501442как реализовал то все это?
>>501444>как реализовал то все это?Я скачал готовый проект этого ютубера:https://www.youtube.com/playlist?list=PLFt_AvWsXl0eBW2EiBtl_sxmDtSgZBxB3Для ознакомления решил сам побегать по ландмассу, но что-то у меня работает не так как надо.
В сцене есть ИИ. Он ходит по локации случайным маршрутом. У персонажа есть фонарик, который можно включать и отключать. Как сделать так, чтобы при включении фонарика ИИ бежал на персонажа, а при выключении терял его и снова рандомно ходил по локации?
>>501450Набираешь в гугле "game AI free without sms" и читаешь, читаешь, читаешь и выбираешь понравившуюся архитектуру.А можно просто на ифах сделать, стеной кода.
Поцоны, нужна помощь. Есть два скрипта которые должны добавлять всех входящих и выходящих из триггера врагов в List (скрин2), а также, удалять убитых врагов (скрин1) из Lista. Проблемы возникают именно с удалением мертвых врагов из списка. Как сделать чтоб эти дохлые пидарасы удалялись из моего списочка?
>>501477А жопу мне тоже ивенты подтирать будут? Анончик, помоги чтоб без этой хуйни. Ивенты это для девочек, а я хочу кодить как бородатый мужик.
Аноны, нужна ваша помощь. Делаю платформер типа пикрил, где игрок по Y прыгает по платформам, есть несколько вопросов1) Как делать нормальную генерацию, как в том же дудл джампе? У меня плеер либо не достаёт в какой-то момент до платформы, либо наоборот платформы слишком близко. 2) Как уничтожать все платформы которые не видит камера? То есть сгенерировал платформы вверх, игрок прыгает всё выше и выше, а те платформы что камера уже пролетела - удалять.3) Хочу сделать механику прыжков такой же как и в DoodleJump, но что-то не догоняю как реализовать. В общем, у меня начинается уровень, игрок прыгает, пролетает через 2-3 платформы по Y во время прыжка, и затем улетает в ебеня со скоростью кометы. Как это исправить? То есть нужно сделать чтобы этот триггер не стакался (если игрок на платформе - AddForce.Impulse), после того как я пролечу через другие платформы, до тех пор пока не завершится анимация прыжка. Блять, я не знаю как это объяснить, просто запустите http://vseigru.net/igry-na-lovkost/21959-igra-dudl-dzhamp.html, и поймете что я имею в виду.
>>501483>Как уничтожать все платформы которые не видит камераПрикрепи к камере коллайдер со скриптом, который уничтожает объекты при столкновении.
>>501481Сам нахуй иди. Ты предлагаешь совсем ебанутый вариант с еблей в анальную жопу. С таким же успехом я могу отнимать 1 от enemy.Count, каждый раз, когда умирает враг.
>>501483> Как уничтожать все платформы которые не видит камера?void OnBecameInvisible () {Destroy (this.GameObject);}
Есть пассивный мультиплеер с клиент-серверной архитектурой, есть сверка состояния сумки у клиента с её состоянием в БД на сервере перед любым изменением (будь то покупка, продажа, дроп и т.д.). Если состояние сумки у клиента отличается от состояния в БД, то она синхронизируется с экземпляром из БД, после чего снова происходит попытка выполнить действие и только после успешно пройденной проверки на идентичность происходит запись результатов действия. Так вот, насколько это безопасно? Есть ли какие-нибудь советы по безопасному устройству архитектуры мультиплеера? На что ещё стоит обратить внимание по части защиты от взлома?Сама игра на unity (с#), сервер на php
>>501475Ну и говнокод.Луч точно с тегом игрока?А ивенты хорошая вещь, не в твоем случае, правда.бородатый мужик
>>501490И кстати, анончик, раз уж у меня тут такой каминг аут, то глянь на мою только начатую боёвочку. С интерфейсом всё понятно, его делать буду позже, а вот с концепцией не определился. Сначала думал сделать полностью безучастный динамичный файт, за которым было бы просто приятно наблюдать (с прыжками на критах, уворотами, блоками, кучей fx и т.д.), а интерес заключался бы в большом количестве пассивных веток умений => большое кол-во возможных вариантов настройки героя.Но сейчас начал потихоньку сомневаться в целесообразности такого подхода, ведь пилю один, а значит баланс у большого кол-ва пассивных умений сделать не смогу. Да и по всем канонам надо бы игроку дать решать что-то в игре, иначе заскучает. Интересно твоё мнение, анон! Стоит менять концепт файта или двигаться в этом направлении? Может быть у тебя есть свежие идеи?
>>501497Сделай что б можно было кричать бойцуЖ Етух, что ле, не мужик, и т.д. Кто громче кричит тот и побеждает
>>501484>>501486Спасибо. А насчёт прыжков что? Как сделать чтобы прыжок не стакался от каждой платформы, через которую я пролетел? Чтобы персонаж всегда прыгал на одну и ту же высоту, за исключением каких-нибудь ускоряющих платформ, как в DoodleJump. Спасибо.
>>501492Наверное, вещь хорошая, но я надеялся обойтись без нее для столь тривиальной задачи. На самом задал не тот вопрос изначально задал. Меня интересует 1) как лучше всего сравнить два объекта, например мертвый объект с каждым объектом из списка в данном случае 2) может ли колайдер одного и того же обьекта отличатся, если он получен из разных скриптов?
>>501503>лучше всего сравнить два объектаObject1.Equals(Object2)>2)Нет, "Collider c;" это ссылка, объект всегда один и тот же.
Снова взялся за старое, вернулся к тикерам. Для одного графика с жирными свечками вполне годно, но теперь нужны более точные и несколько штук друг на друга наложенные. Вот хуйнул 1800 линий, лагает. Не ну можно жить, но это хуйня, если ебануть два гарфика к примеру. В шейдеры не умею, но похоже это единственный выход?
>>501522Ты ебобо? Иди читай про ивенты на хабре, это сейчас со списка удалить надо,.потом еще звук воспроизвести, очки в стату добавить понадобиться, и как ты это собрался делать без ивентов? Никак, пидор.
Хорошо, то что я тупой я понял. Давайте еще что-то новое о себе узнаю. Стало очевидно, что вся проблема, в том, что по какой-то причине, колайдер в списке отличается от колайдера, переданого в функцию RemoveEnemy, ибо фаза один срабатывает, фаза 2 срабатывает, фаза 3 нихуя не работает! Вопрос знатокам, в чём возможная причина сей оказии? инб4 ты тупой
>>501530Спасибо, пидор на добром слове, я обязательно изучу данный материал, но хотелось бы здесь и сейчас понять в чём причина нежелания скрипта подчинятся моей магии. Я ведь уже засунул хуй, так стазать, нужно доебать эту тварь до конца, а не говорить, ой у меня не стоит, давай завтра там, давай я изучу ивенты, а потом будем ебатся и так далее
>>501533Один и тот же обьект не равен сам себе, как такое может быть?Верхняя часть выдает true, нижняя false.
>>501545в первом ты сам задаешь значение enemy внутри метода и тут же проверяешь. иными словами, у тебя написано: "x=2+2; if(x==4)" - всегда правду вернет, можешь if убрать.а во втором случае ты смотришь ранее присвоенное значение. x!=4 бывает по следующим причинами: "x=2+2" не случилось, случилось "x=3+3", случилось (enemy хранит последний) сначала "x=2+2" а потом "x=3+3".
>>501558Дело в том, что объект один и тот же во всех трех случаях, но почему-то не идентичен для скрипта.
>>501558>>501561Скрипт1 берет колайдер обьекта по вхождению в тригер, добавляет в список. Скрипт2 берет колайдер обьекта после того, как обьект потерят все hit points, вызывает функцию RemoveEnemy из скрипта1 и сравнивает эти два (на самом деле один) обьекта, Если обьекты идентичны, то обьект удаляется из списка. Но почему-то обьект не идентичен сам себе же.
Пдждите, а эвенты типа// rise event on day passed EventHandler handler = DayPassed; if (handler != null) { handler(World.Get, EventArgs.Empty); }они разве параллельно вызываются?
Аноны, помогите нубу в Unity. Подскажите, что можно использовать вместо AddForce.Impulse? Эта хуйня прибавляет силы каждый раз как я пролетаю через объект (или как-то ещё с ним взаимодействую), а мне нужно чтобы сила не прибавлялась. Пытался создать переменную со значением "5f", потом создать класс Vector2, а потом локальной переменной с полем "y" присвоить мою переменную со значением "5f", но так эта хуйня не работает вообще, а почему - не ебу. Что не так делаю?
>>501570подсказываю гугл https://answers.unity.com/questions/12878/how-do-i-zero-out-the-velocity-of-an-object.html или документацию https://docs.unity3d.com/ScriptReference/Rigidbody.MovePosition.html . выбирай сам, но тебе нужно для себя понять стоит ли выпиливать физику. я бы физику оставил и пошел по первому варианту.
>>501563> на самом деле одинну тут или ты мне врешь, или я в https://msdn.microsoft.com/en-us/library/bsc2ak47%28v=vs.110%29.aspx что-то не понимаю. зачем ты проверяешь похожесть объектов? чтобы можно было удалить похожего врага? попробуй сравнение по ссылке (==) - сработает? хотя, не пробуй - если у тебя объект не похож на (якобы) самого себя, то это разные объекты. хотя, попробуй-таки.
>>501566Нет, они вызвываются синхронно. Внутри ивента лежит список функций, которые вызываются по очереди.
>>501584более того есть старая архитектурная проблема шарпа - все может пойти попизде если в процессе вызова эвентов кто-то отпишется от этого эвента или объект будет удален
>>501594что лучше - молоток или отвертка?апдейт нужон для постоянного отслеживания и изменения состояния а короутины для отдельных растянутых на несколько апдейтов процессов. разные же вещи.
>>501580Зачем мне врать, если мне нужно разобраться в чем причина такого поведения, что бы в дальнейшем я мог решить эту проблему, эсли столкнусь с ней еще раз. Оператор == я первым делом еще использовал, еще до equals, результат тот же. > зачем ты проверяешь похожесть объектов? чтобы можно было удалить похожего врага?Да, хочу проверять (после потери всего hp) есть ли такой обьект в списке (полученных объектов при попадании в триггер) и удалить его из этого самого списка. Но по какой-то причине объект (любой объект) при вхождении в тригер и при убийстве отличается. На самом деле, если бы небыл таким аутистом, уже забил бы и сделал другим путем, но я не могу, я должен понять почему этот объект сам себя не признает. Еще раз вставляю вебм. Если рваг входит в триггер и "умирает", то количество врагов в списке не меняется, если враг входит и выходит за пределы триггера, то кольчество врагов в списке меняется, как и должно быть.
>>501608>Список содержит коллайдеры>а проверка по геймобжектуСука, сделай list GO и храни ГО там и по ним чекай. Заодно на будущее - вдруг у объекта будет 2 коллайдера для головы и тела?
>>501610Да нет же, берет коллайдер у обжекта и сравнивает со списком, а сравнивать объекты я решил для дебагинга. Коллайдер один на обьект. За лист ГО спасибо, если можно, поподробнее, если нет - сам найду.
>>501584>Нет, они вызвываются синхронно. Внутри ивента лежит список функций, которые вызываются по очередиТ.е. сначала заканчивается выполнение одной функции в очереди и затем выполняется следующая функция в очереди?
>>501625>Т.е. сначала заканчивается выполнение одной функции в очереди и затем выполняется следующая функция в очереди?да. упрощенно эвент это тупо список делегатов и при его вызове идет foreach(delegate in list)delegate();
>>501632Да, я потом понял через пару минут о чём речь и даже немного покраснел. Я сделал всё так, но результат остался прежним.Скрипт врага, который передает gameObject в функцию RemoveEnemyhttps://ideone.com/OyC3FlСкрипт коллайдера, колайдер является дочерним обьектом "игрока".https://ideone.com/aX3UkT
>>501632>>501633Вот что выдает консоль, то есть функция RemoveEnemy запускается, но обьекты опять не идентичны
Пацаны как связать два типа , только объявлять структуру? Почему нет обобщения как у делегатов, чтото типа Struct<Image,Text> imageAndText ?
>>501637в C#6+ есть кортежиTurple<T0,T1...>Turple<int, string> a;a.Item1 = 1;в 7+ расширили до анонимныхи анонимные rjhnt;b типаvar a = (1, "test");int b = a.Item1;public (int, string) foo() { return (1, ""); }(int a, string s) = foo();если не ставил инкрементал компилер - объяви где нить темплейтstruct <T, T1> Pair {public T Item1; public T1 Item2}и юзай её
>>501639Короче проебался с синтаксисом анонимных кортежейhttps://blogs.msdn.microsoft.com/mazhou/2017/05/26/c-7-series-part-1-value-tuples/
доска оживилась. сразу видно что лето.покажу рисование кругов вокруг сфер. >>501448а хуй знает че там у тебя. смотреть че там в его проекте не нравится фпс контролеру я конечно не буду. попробуй воспроизвести это в более маленьком масштабе. попробуй заимплементить свой фпс контролер с rigidbody в конце концов.>>501450лол ну если игрок у тебя один то сделай в каком-нибудь сраном синглтоне public static bool который бы говорил включен ли там в игруна фонарик. и обращайся из всех сраных мест туда.>>501637либо С#6+ либо сам себе ебани пару-тройку дженерик структов.
Аноны, есть пара вопросов.1) Как сделать смерть игрока если он падает с платформ на пустое пространство? Платформы генерятся вслед за камерой, а те что камера не видит - уничтожает. Короче говоря, у меня камера бежит по X, и в том месте где она - там генерятся платформы, а если игрок за камерой не успевает по платформам скакать - смерть. Так вот, как мне реализовать смерть игрока, если он попал в ту зону, где платформы уже уничтожены? Тут какой-то метод из юнити типа OnTrigger нужен или что?2) Как сделать добавление очков единожды за платформу? То есть, чтобы очки начислялись за одно соприкосновение с платформой на каждую платформу. Вроде есть какой-то Once, но это вроде с анимациями связано. Но у меня прыжок это не анимация, а строка кодапикрандом
>>5016511. так же как и платформам. а на OnDestroy повесь запуск геймовера/респауна/что там тебе надо2. ну напримерpublic ScorePlatform : MonoBehaviour{public int Score;private bool used = false;public int GetScore(){int score = used ? 0 : Score;used = truereturn score;}}и при регистрации приземления не Score = Score + 1; а Score +platform.GetComponent<ScorePlatform>().GetScore();
>>501475>>501533>>501545>>501561>>501608>>501633>>501634 Бамп вопросу, уже вторые сутки ебусь, никак не могу понять почему одни и тот же gameObject не равен сам себе
>>501665Делаю скрипт, который записывает в список GameObject все обьекты с тегом врага. После этого атакую те самые записаные обьекты, когда они теряют хп, они должны передавать свой gameObject в функцию и вызывать ее. Функция находится в скрипте тригера, который соберает эти попавшие обьекты в тот самый список и если gameObject убитого врага содержится в списке, то удаляет его из него. Всё. Но по какой-то причине не делает этого. Из нового, то что GetInstanceID() у обьектов всётаки равный, значит обьект один и тот же для скрипта, но почему-то if (enemies.Contains(killedEnemy)) {enemies.Remove (killedEnemy);} не реагирует.
>>501671enemies это список всех зашедших в тригер врагов, killedEnemy это убитый и переданный в функцию враг.
>>501678По референцу тоже проверял, всё работает. Думаю единственным решением будет проверять на самом враге вошел ли он в триггер, и передавать gameObject врага в список только вот где его хранить и в этом же скрипте врага удалять себя из списка.
Я уже совсем близко подобрался к разгадке кода Да Винчи, но мне всё еще нужна помощь величайших умов игростроя. Выяснилось, что всё таки в листе id не соответствует ни убитому, ни вошедшему обьекту, кроме того цикл выдает сразу три разных id, а List.Count сообщает о том, что обьект в листе всего 1. Чё нахуй вообще происходит? Почему в листе сразу 3 id? Помогите, Христом Богом молю.
>>501706Погоди, так ты пытаешься удалить GO убитого врага, а вот скажи - как враг умирает? Destory или Disable?
>>501711Да, я пытаюсь удали GO из списка. Врага из сцены удаляю через Destroy. Но я не думаю, что проблема в этом, ибо даже если не убивать врага, а просто проверять лист во время вхождения врага в тригер, цикл по enemies уже выдает эти три enemy GetInstanceID.
>>501714>>501720Просто уточнял, ибо Destory превратить реф на объект в null.GetInstanceID должно быть уникально, я хз почему у тебя дупы, где-то в коде навреное что-то выполняется не раз и не два.
>>501653Спасибо, это работает, но только с одним объектом за всю игру. Как сделать так, чтобы работали все платформы?
>>501737Скорее не он странный, а просто нубу даёт советы ещё более ёбаный нуб. И префабы тут не помогут, потому чтоScore = Score +platform.GetComponent<ScorePlatform>().GetScore();Cпециально выделил жирным. Каким хуем это должно работать у того дебила - я не ебу вообще. Что с префабом, что без префаба персонаж будет получать очки только с любой одной платформы в игре, будь это клон или оригинальный экземпляр, потому что присваивается метод из другого скрипта, а в этом методе значение равноint score = used ? 0 : theAmount;Это будет работать точно так же, как если бы я написал ScorePlatform.theAmount = 0/40/1000/etc;Соотвественно, я получу 0/40/1000 при соприкосновении с любой одной платформой в игре, от остальных я не получу ничего, потому что там =, а не +=.
>>501770А причём тут это? Я говорил проScore = Score +platform.GetComponent<ScorePlatform>().GetScore();Этом дерьмо ни при каком желании очки не будет прибавлять, потому что тутScore = Score + методА в этом методе значение равно 0 или любому другому. А прибавляться ничего не будет, потому что used = true, а потом возвращаем этот score, которому присвоен used. То есть мы как бы говорим "получи очки единожды за игру".А не работает потому что метод писался от балды, на скорую руку. Так оно работать не будет, потому что из-за used = true ничего прибавляться не будет, потому что никакой прибавки в методе и нет. Соответственно, если мы выпилим used = true - мы не получим значения из прошлой строчки (то есть значение будет 0).Вот на примере: int score = used ? 40 : theAmount; used = true; return score;В первой строке мы имеем значение "40", благодаря второй и третьей - мы его получаем ЕДИНОЖДЫ от любой платформы. Иными словами, нам нужна прибавка в методе. А её нет.И если мы уберем вот эту хуйню "platform.GetComponent<ScorePlatform>().GetScore();" и поставим вместо неё значение, тогда очки будут прибавляться, но не так как нужно тому нубу.Виновником всему этому - дебил, который этот метод писал. В методе должно быть +=, и проверка был ли игрок на этой платформе или нет. Вот и всё. А ваши костыли ебаные (которые вы создаёте с целью ШОБ ПОПРОЩЕ) работать не будут, потому что вы даже не проверяете как они будут работать.
>>501780Не уверен, что таки понял о чем ты, но вообще, бля,if (!used) { код } решил был траблу заранее и понятно сразу стало что куда
>>501780>называет окружающих дебилами>очки не будет прибавлять, потому что тут Score = Score + методЕще и картиночку прилепил, лел.
>>501780ты че несешь дубинушка?1. Score в Score += метод это общий счет2. Score в компоненте - это количество очков за платформу3. used - метка использованния платформы. 4. и самое страшное Score и used в 2 и 3 индивидуальны для каждой платформы(я бы попытался тебе объяснить чрезвычайно сложные концепции типа и переменной, но это видимо слишком эдвансед тема)
Поясните нубу ебаному в Unity, как сделать проверку на то посещал ли я объект или нет? Ну, то есть был ли он задействован в игре. Испробовал уже кучу хуйни, и activeSelf, и "if(collision.gameobject == true)" - не работает нихуя.
>>501914Тебе ООП или ДОД решение? По ООП тебе достаточно завести поле у обьекта, в котором записан счётчик твоих посещений. По ДОД тебе нужно завести синглтон, который хранит все свойства всех обьектов в файле. Но читает не весь файл, а только те данные, которые относятся к читаемому свойству. Иначе говоря, когда ты обратишься к ДОД-объекту за количеством посещений, контроллер прочитает в базе данных счётчики посещений всех-всех объектов, найдёт твой и выдаст тебе инфу. Удивительно, но эта хуйня на 0.15 секунды быстрее, чем поиск метода в ООП.
>>501921Ну, короче говоря, нужно узнать посещал ли игрок объект или нет. Если не посещал - вывести одно, если не посещал - вывести другое.
>>501937Значит был ли вообще задействован объект в игре или нет. Если коллайдер/коллизия объекта не была задействована - сделать что-то, если была - вывести в дебаг что я уже это сделал. Так понятно?
Юнити-господа, как мне заинстанциировать объект в пределах двух линий по типу пикрилейтеда? Ограничения сверху и снизу - то хуйня, там всё норм. А вот слева и справа? Если с прямой линией всё понятно, то вот с наклонной - хуй знает.
Да какого хуя эта параша ёбаная не работает? void OnBecameInvisible() { Destroy(gameObject); }Сука, что с ней не так? Это какой-то устаревший метод в моей версии или что?
>>501955Сам с неё горел недавно. Кто-то советует закрыть вкладку сцены, мол, "камера" сцены тоже считается за камеру, кто-то ещё какую хуйню советовал. По итогу забил хуй и поставил пустой прямоугольный коллайдер по периметру камеры (ортогональной, понятное дело) и уничтожал объекты по OnTriggerExit
>>501960Читал я это. Если запустить сцену, взять объект за оси и ручками гонять её за пределы сцены и обратно, то событие, которое прописано в OnBecameInvisible, работает как нехуй. А если запустить объект в свободный полёт, то он улетает за пределы камеры и пидорит в неведомые дали, даже не пытаясь чёто сделать после того как стал невидим.
>>501960> When running in the editor, scene view cameras will also cause this function to be calledХех, значит правильно советуют> закрыть вкладку сцены, мол, "камера" сцены тоже считается за камеру
>>501956вариант первый, простой. для трапеции с параллельными оси y нижней и верхней гранью1. взять уравнения прямых(для этого нужны 2 точки прямой, например там где они пересекаются с отекающими прямыми снизу и сверху2. испульзуя эти уравнения получить x координаты точек на прямой для заданного y искомой точки3. проверить находится ли x точки между x координатами точек на прямойвариант второй, для произвольного выпуклого многоугольника1. получить уравнения прямой для каждой грани(нужны координаты углов строго по порядку)2. подставить координаты точки в уравнение каждой грани и запомнить знак результата3. если знак для всех граней (пропуская нули) одинаков - точка лежит внутре.
>>501956У тебя всего 4 точки же. Возьми и заспавни в пределах 2 треугольников используя барицентрические координаты. (Когда стороны треугольника являются координатной осью). если хочешь какое-то хитрожопое распределение то вычисли площадь каждого треугольника и используй соотношение их площади для того чтобы узнать какой из двух выбрать для спавна.
Анончики, скажите - существует ли возможность из game view объект добавить в scene view?Нашел вот такой ассет: https://assetstore.unity.com/packages/tools/modeling/probuilder-111418Позволяет редачить сцену и создать её как список объектов.Я могу затем написать скрипт, который сохранит их все на диск.То есть, редактор из scene view создает объект для game view.Задался вопросом: а возможно ли обратное - в game view например скриптом создать куб (для примера) и сделать его видимым в scene view как постоянный объект?
>>501977 >>501945а хотя. тогда они кучковатся в центре будут. как насчет того чтобы найти края из этих 4 точек брать рандомную точку то дех пор пока она не будет находится в пределах одного из двух треугольников?
>>501985>>501977>>501956а хотя лол погоди я подумал целых 5 минут так как проблема то клевая.смари, можно взять треугольник, сказать что 2 его стороны это оси обычной координатной плоскости. но одна её сторона наклонена. когда берешь рандомную координату, то если она выходит за пределы левого треугольника, то мы отражаем её координаты, чтобы они соответствовали координатам в правом треугольнике но как будто он левый. понял, да? мы по прежнему имеем квадратную координатную сетку, поэтому у нас не будет сраного распределения и координата всегда будет в пределах треугольника, поэтому не надо угадывать координату до тех пор пока она не появится в пределах треугольника.интересно как эта хуйня называется, наверняка название есть.
Блядь, как же горит порой с этой ебучей юнити-хуюнити, и тупых макак которые над ней работают. Это вообще нормально? Создаю я такой публичную переменную bool, чекаю/анчекаю его в скрипте, внезапно вместо моих 10 очков мне прибавляется 20 очков за убийство врага. Как я это исправил, догадаетесь? Правильно, перезапуском Unity. Сука, в такие моменты я просто ненавижу эту парашу, и дебилов которые над ней работают. А если у меня будет большая игра, как я буду искать почему это говно так работает? Уёбки.
Help cykablyat!Есть вектор v. На его залупе весит меш. Надо вычислить, какое вращение приложить, чтобы залупа вектора тыкала в [0, 1, 0]Поясню, чтобы было понятно. Меш = голова пидора. Вершинки сидят со смещением к его очку-пивоту. Пивот могу занулить, но голова как на палке сбоку. Хочу выстроить ее вертикально, чтобы сдвинуть ебало в очку, где ему и место.Повторяю вопрос. Position обнулён на [0, 0, 0] и запарентин. Центр головы находится по центру коллайдера на ней. Этот вектор надо выправить параллельно [0,1,0].Как блэть?
>>501956Пусть есть две прямые: AB и CD (левая и правая).Есть два стула - алгоритм с тремя рандомами и с двумя и математикой.Все числа рандомные лежат в пределах от 0 до 1. Алгоритм 1.Суть: находим случайную точку на АВ, потом на CD и случайную точку между ними.1) Генеришь rnd1.2) Находишь точку P на прямой AB с координатами:по Х: rnd1 (B_x - A_x) по Y: rnd1 (B_y - A_y) 3) Генеришь rnd24) Находишь точку E на прямой CD с координатами:по Х: rnd2 (D_x - C_x) по Y: rnd2 (D_y - C_y) 5) Теперь есть прямая PE.Генеришь rnd3 и находишь:X: rnd3 (E_x - P_x)Y: rnd3 (E_y - P_y)Готово вы восхитительны!Алгоритм можно упростить если брать середину отрезка PE.Алгоритм 2: обойдемся 2 рандомами, так как вообще говоря это дорогая функция. находим точку P, решаем уравнение для прямой BD, подставляем туда Y точки P и находим E_x. Теперь находим случайную точку по Х между Е и Р1) Генеришь rnd1.2) Находишь точку P на прямой AB с координатами:по Х: rnd1 (B_x - A_x) по Y: rnd1 (B_y - A_y) - это Y координата нашей будущей точки3) Вспоминаешь уравнение прямой: y=kx+b;Работаем с прямой CD - находи k.k_DC = (D_y-C_y)/(D_x-C_x)4) Находишь b_DC:b_DC = D_y - k_DC D_x5) Из P_y = k_DC E_x + b_DC получаем: E_x = (P_y - b_DC) / k_DC6) генерим rnd2 и находим координату по X: rnd2 * (E_x - P_x)
>>502001ну и дополню, что везде можно сделать функцию в одну строчку если составить уравнения и посокращать всё. Я хз как часто тебе надо генерить точку между линиями. Если часто - второй алгоритм лучше так как рандом по умолчанию дольше сложения и деления несколькхи чисел
>>501956>>501945на, держи. я внезапно понял что я и сам хочу эту хуйню. сам там оптимизируй че как там не сложная математика.http://rgho.st/8czzdVGzh
>>502005Проблема не в этом. Предстать, как голова сидит на теде. У тела все меши просчитаны относительно к точке [0,0,0]Теперь меш копируется, чтобы сделать её отдельной от тела (отстрелить к хуям нахуй блэть!). Её пивот так же останется там "внизу". То есть голова как на палке, если ее вращать. Анимация на неё более не распростаняется. Мне эти головы по игре надо собирать, а они как на палках. Простое смещение их центра головы в [0, 0, 0] давало умеренно удовлетворительные результаты.иПоэтому и хочу ту "палку", на которой голова, выстроить ВЕРТИКАЛЬНО, чтобы след.шагом сдвинуть меш к пивотуПойми, что если пидор лежал горизонтально, когда я ему отхуярил голову, то и меш головы будет висеть на "палке" (от пивота), висящей ГОРИЗОНТАЛЬНО.Я их, сцука, навешиваю перед камерой, а они торчат в стороны. А надо выставить вертикально.
>>502012на здоровье, да.>>502009эй это же весело! вот задают на форуме интересный вопрос, а хопа придумал ответ. а потом хопа и придумал ответ ещё лучше. и идея понравилась и хули бы и не заимплементить. получение рандомной точки на произвольном ограниченном пространстве звучит как что-то полезное!>>502010в чем твоя проблема лол схему нарисуй или скриншот покажи
о. поперло. вот так пару дней хуем покрутил и собрал клевую штучку.надо будет ебануть поиск пути который бы искал какую-то специфичную зону и заодно который бы искал путь за пределы какой-то специфичной зоны.
>>501292>>501294Продолжаю делать анимации.Приспособил под свои события пример из https://docs.unity3d.com/560/Documentation/Manual/nav-CouplingAnimationAndNavigation.html , но тут несколько проблем возникло.Для теста пока что использую вместо lookat как в примере transform.LookAt. Из-за этого анимации как-то дёргаются. В примере используют anim.SetLookAtPosition и anim.SetLookAtWeight во время OnAnimatorIK() -- правильно ли я понимаю, что это то же самое, что и я использую, только "дружелюбное" к анимациям? Так как двигаю кубы, то анимация у меня для прыжков, и с каждым прыжком из-за остановок с блендами высота куба немного набирается т.е. анимация прыжка не до конца проигрывается. Как нормальные люди такое решают? Первая мысль - разбить анимацию прыжка на взлёт и падение, и проигрывать падение когда значение высоты максимальное пока значение высоты не опустится до нужной позиции. Но я ж нуб, на словах описать легко, а как это воплощать в жизнь? Мне переменные высоты в аниматоре хранить как-то, снаружи их высчитывать или что?
>>502048у меня зоны и до этого были, просто мало инструментария было для того чтобы их указывать. теперь вот захотел сделать побольше методов указывающих че где.и не за сто баксов а бесплатно. для всех бесплатно.
>>502148>и не за сто баксов а бесплатноДык поэтому и дал тебе ту ссылкуВ ассет сторе полная за 100На его сайте есть и free
>>502163И видел, и пробовал. Мне динамичное обхождение препятствий не надо пока.Чего тебе-то не достаёт?
>>502172бесплатная версия разве что грид ебанет. зачем оно? там конечно есть всякое говно вроде навигации по тому что ты там ручками сделаешь или совсем что-то смешное вроде навигации по точкам соединенным линиями, но все это баловство.>Чего тебе-то не достаёт?много чего. кое что я и сам не заимплементил пока что.из того что есть у меня:чтения сплат мапа у террейна для указания стоимости путиотдельной генерации пути который чтобы преодолеть надо пригнутсягенерации соединений с прыжкамигенерации укрытийа ещё в бесплатной версии нет локал авойденса насколько я помню.я конечно могу ещё перечислить дохуилион всего что хотел бы видеть сверх этого. например возможности регистрировать что-то на навмеше чтобы искать это в достижимом пространстве учитывая стоимость перемещения. или ту фичу как у юнити с особыми зонами которые бы имели ссылку в навмеш из компонента и переключали его проходимость из компонента. или наоборот чтобы навмеш имел ссылку на этот компонент и тогда можно было бы получать путь, но с оговоркой "если хочешь пройти по этому пути то надо переключить хуйню в этом компоненте". тогда можно было бы сделать например чтобы ИИ сначала сходил вставил ключ, чтобы дверь открылась рядом. или какую-то форму гпу рэйкастинга в конце концов. все это здорово если хочется сделать какой-то клевый ИИ.а что этот бесплатный астар? хуита какая-то.
>>502178вообще - хуй знает. я стремлюсь к своим идеалам. все мои идеи эволюционировали многократно по мере достижения новых высот. что-то где ИИ имел бы те-же возможности что и игрок и мог бы надрать ему жопу. но не за счет уменьшения возможностей игрока. в краткосрочной перспективе что-то где один игрок бы командовал болванчиками как например в маджести, а другие игроки пытались проникнуть к этому игроку на базу и нажать кнопку. в долгосрочной что-то с самостоятельным миром. например чтобы игрок слонялся по руинам а его преследовали терминаторы. чтобы они сами высылали подмогу, ломали стены, могли пользоваться предметами, обходили сбоку, пользовались укрытиями, имели цепь командования и вертолеты с прожекторами и десантом. и чтобы в траве могли прятаться во время боя. чтобы вот хопа потерял из вида терминатора, побежал в сторону где последний раз видел а он хопа нашел рядом густую траву по пояс, сел и сидит, проходиш мимо а он вскакивает и стреляет.вообще мелкие прототипы половины этого я сделал, например чтобы ИИ пользовался предметами, цепь командования, укрытия. показывал видосики в треде. но чтобы сделать такое заебись определенно нужно иметь более крутой способ получения, хранения и применения информации о мире. как доделаю то что перечислил в том что хотел бы видеть то наверно вернусь к своим прототипам. хотя конечно много что можно ебануть сверх этого.
Чему у меня в редакоторе починился z-fighting а в webGL все равно пидорасит? настройки Quality одинаковые.Чинил через увеличение Z координаты. Там разве другая камера в webGL?
>>502188Анонче, да воздастся тебе за дерзания твои!Тоже думаю над ИИ, но в сторону "чтобы тёлка дала"
>>502267Но гипотетически карта может быть объемной. Да и там в 3д все, хочется 3д. А поднимать выше я координату не хочется - и так видно что флаг не на своей плоскости находится а висит вышеАлсо, вот демка, таки запилил юниты ходящие по карте, почти как у взрослых: https://nashet.github.io/Prosperity-Wars/WEBGL/index.html
>>502331>сообщиНет, я тогда мгновенно перекачусь с годота на говноюньку и запилю игру, и про HXGI никому не скажу, чтобы конкуренты не успели воспользоваться годнотой!
>>502372Сама версия норм, только вот монодевелоп в ней ведёт себя как уебан. Если ебошишь на студии, то накатывай.
>>502380>>502384>>502392Это потому что вы не гуглите. Такая проблема со многими англоязычными программами есть. Нужно использовать хотя бы одну комбинацию клавиш НА АНГЛИЙСКОЙ РАСКЛАДКЕ - ктрл+в, ктрл+с, любую - до любого другого действия. Тогда и только тогда комбинации клавиш будут работать. Как вариант - переключите стандартную раскладку клавиатуры на английскую, чтобы при открытии любой программы сразу английский работал. Японская раскладка тоже сойдёт. Любая латинице-базовая, т.е. иероглифы поддерживаются лучше, чем кириллица, лёл.
>>502399>Японская раскладка тоже сойдёттут обосрался с подливойУ меня Lenovo X230, купленый в Акихабаре. На нём японская win10 64-bitИ та же хуйны с ctrl+v
Парни, как быстро решительно прикуртить базу данных для сохранения информации, отсортированой по айди? Что курить/гуглить?
>>502514Издержки процедурной генерации. Даже пубг этим страдает. Есть специальный софт, который все это устраняет, но можно и руками.
>>502317>Но гипотетически карта может быть объемной.Когда она станет объемной твои надписи станут залезать под горы, потому что все буквы в одной плоскости. Для 3Д тебе придется другой способ рендера текста делать.
>>502317а ложить надписи на горы после того как они станут обьемными, но все равно рендерить их поверх всего, кроме юнитов? не?
хитровопрос. допустим у нас есть лист с абстрактными классами который не сериализуется, но наполняется сериализованным говном когда происходит OnAfterDeserialize. а как отобразить его в инспекторе то? я конечно могу сделать CustomEditor для него и реализовать отображение элементов этого листа. но тогда я не могу воспользоваться CustomPropertyDrawer которые уже по человечески написаны для содержимого этого листа. как воспользоваться CustomPropertyDrawer для листа который не сериализуется?
>>502636От создателей Копателя Онлайн и Блокады 3D? Васяны вышли на новый уровень, теперь они нашли ассеты оружий и пропов в высоком качестве.
>>502637Слышь, бля!>Игра была разработана на игровом движке «Unity 5», что безусловно дает ей колоссальное преимущество.КАЛАСАСАЛЬНА!
>>502662а я делаю.вообще, после вечера фрустрации и выражения недовольства ебаной сериализации юнити которую делали нелюди, я пришел к выводу. можно заняться той-же хуйнёй что делают эти мудаки. тоесть не делать наследование-хуедование, сделать один сраный тип, сунуть в него пару значений и значение из энама говорящее какого типа эта хуйня и рисовать его значения используя сраный свитч. но это просто ебаный цырк и я такое могу делать только потому что разница между наследниками это пара float
лол юнити что ты делаешь прекратиприменил EditorGUI.PropertyField для Quaternion и юнити выдало мне эту хуйню. и тут то я узнал что у юнити нету человеческого метода рисовать в инспекторе кватернионы.>>502683для кого сложная?
>>502687>человеческого метода рисовать в инспекторе кватернионыТы всегда можешь предложить свой инновационный метод рисования четырехмерных векторов.
>>502688что же такое игры?>>502698иновационный метод рисования четырехмерных векторов это ебануть все четыре оси в одну строчку, так-же как это происходит с Vector2 и Vector3.ну а для кватернионов могли бы уж сразу сделать рисовалку в eulerAngles. прямо как у трансформа в инспекторе.я, конечно, сделал. но задумался почему не сделали за меня.
>>502701Что это вообще такое? Я выпустил три тайтла, заработал на хату и тачку, нахуй тебе хуйней всякой заниматься, что это вообще лол.
>>502456>какая раскладка загорается, RU, EN или JP?Только родная японская по дефолту. Никаких других клавиатур не ставил. В других "англоязычных" прогах (редакторы, Visual studio) такой хуйни не замечал.Для справки: в японской винде латиница по дефолту. Для кракозябров надо переключать
>>502701>могли бы уж сразу сделать рисовалку в eulerAnglesКватернион -не ротешник, а МЕРА вращения.Куда твоя рисовалка показывать-то будит?
Как я понял, у Unity существует два языка для реализации игровой логики: C# и UnityScript. На что будет проще перекатиться бывшему крестовику? Есть ли разница между этими двумя вариантами в плане производительности?
>>502732Школота тупая, хуйни с вики начитается и верещит с умным видом. Юнитискрипт год назад уже похоронилиhttps://blogs.unity3d.com/ru/2017/08/11/unityscripts-long-ride-off-into-the-sunset/
>>502735Ну а сразу так спиздануть не мог, сраный выебонщик за решеткой? Я думал у меня фактическая ошибка в суждениях, а тут бля сука лишь частность.
>>502740Ты же элементарного найти не можешь, беспомощная собака, куда ты суешь морду в погроммирование.
>>502741Ты мне еще указывать будешь куда лезть? Я в программировании был пока ты еще формочки в борланде клеил, салага.
>>502742>Я в программировании был>Нихуя не знает, не может нихуя найти, задает детские вопросы>Стыдно позорится перед всеми
>>502748>Сидит в своем манямирке за скриптовой решеткой>Думает, что другие должны в первый же день разбираться как он>Не понимает, что люди не сразу осваиваются с новыми вещами, потому что ничего кроме юнити не пробовал
>>502750>потому что ничего кроме юнити не пробовалЯ все движки пробовал и тестил, а ты просто жрешь то что тебе двачеры скажут.
Аноны, подскажите, как сделать фонарик? Без энергии, модельки. Просто свет, который можно, нажав на кнопку, включать и отключать. В интернете не нашёл.
>>502763Забыл дополнить. Свет должен включаться на полсекунды. Допустим, нажал E, свет включился и сразу же сам отключился.
>>502763вешаешь лайт на персонажа, все для фонарика (включая "блик" лампы) у него есть. по нажатию кнопки включаешь/выключаешь. если >>502768включаешь кнопкой и стартуешь короутину, которая через полсекунды выключает
>>502730шарп подхватывается крестовиком за полчаса-час пролистывания книжки троелсена. стандартную библиотеку можно подтянуть походу.
>>502716Я тоже с JP по дефолту сижу. Чтобы хуйни не было, первым делом при открытии моно ктрл+ц, ктрл+в, ктрл+с. После этого дела все комбинации работают, как надо. Нет, я не защищаю моно. Просто видел много программ, в которых не просто комбинации, клавиши просто не работают без предварительного танца с бубном. Ух, сколько я с Gauntlet игрой бодался
>>502806собственно можно сделать сборку на любом .net языке и подлинковать её к юнити, но писать на C++.clr может только очень сильный извращенец. это же нереально стремный пиздец у которого с плюсами меньше общего чем у c#
>>502810Бред. Много топовых тайтлов на юпити написаны на с++. Я встречал в сети свободный интрпретер, но сейчас не могу найти.
Боги юнити, скажите вот такую вещь.Есть у меня в пространстве залупа, которую я через Vector3.MoveTowards двигаю к другой залупе. И всё вроде бы хорошо, но вот что заинтересовало. Я могу двигать её только с определённой скоростью. А можно ли без велосипедов задавать не скорость, а время? То есть, условно говоря, прописать "будь там-то через 2 секунды", а уже от этого оно само посчитает необходимую скорость.
>>502826Высчитываешь расстояние, делишь на время и получаешь скорость. Ничего никогда на юнити не делал, просто скроллил.
>>502816блэть, я-то думал, что допфишка какая-то, чтобы конусный источник выглядел как реальный фонарь
что-то немного более практичное чем абстрактные манипуляции с навмешем. надо будет напильником обработать>>502706ха-ха. не первое лето я читаю подобные комментарии. время когда школьники активируются. чё покажешь?>>502717>Кватернион -не ротешник, а МЕРА вращения.че предлагаешь то? переименовать Rotation в Rotation Measure? >>502730чего на UE то не перекатишься? там тебе кресты. так то в юнити никому ничего кроме C# нахуй ненужно. можно подключать конечно свои библиотеки но это сомнительное удовольствие.
>>502812воопшем-то только логику. собираешь в обычную дллку, поверх неё делаешь managed сборку(на любом .net языке) с прокси monobehaviour которые дергают функции из либы. учитывая что нормально встроенные типы передать в unmanaged либу не получится - то еще развлечение. подозреваю то, о чем ты слышал - это il2cpp который переводит нетовский il в код на сях, который уже компилится в нативный для платформы, которые не поддерживают .net
>>502902Есть еще аддон за бабки, чтобы IES профили (характеристика реально существующей лампочки, можно качать на сайтах всяких филипсов и дженерал електриков) использовать:https://assetstore.unity.com/packages/tools/photorealistic-lights-ies-59641
Объясните дебилу, какая принципиальная разница между> public string name;и> public string name > {get; set;}И так и так это строка, которую я могу вертеть из других классов. Так в чём разница?
>>502927> if (Input.GetKeyDown(KeyCode.Mouse0))Если чё, для этого есть > if (Input.GetMouseButtonDown(0))
>>502927Можешь без корутины. Делаешь флоат, каждый тик апдейта прибавляешь к флоату тайм.дельтатайм, если флоат выше 0.5, то вырубаешь свой фонарик. При включении фонарик обнуляешь флоат, чтобы таймер сбрасывался.
>>502941Потому что корутины быстрее апдейтов. ему выше в треде посоветовали закорутинить Но с такой мелочью неважно, я думаю.
>>502952Это я знаю. Первое - поле, второе - свойство.Это всё заебись, только вот> И так и так это строка, которую я могу вертеть из других классов. Так в чём разница?
>>502918Проперти - это как метод, только проперти. Ты можешь в get засунуть что хочешь, прямо как в метод. Допустим, get { а++; return a; } set { a = value; }, и каждый раз, как будешь требовать свою проперти, она будет увеличиваться на 1Олсо, интерфейсы не принимают переменные, только проперти.
>>502918первое - поле(field)второе - свойство(property)принципиальное отличие поле - это тупо переменная в классе. пропертя - это переменная и два метода - get и set т.е. public string name {get;set;}это тупо синтаксический сахар для private string _name;public string _get_name() {return _name;}public void _set_name(string value) { _name=value;}это открывает тебе 2 фичи1. можешь написать свой сеттер/геттернапримерprivate int _n;public int n { get => _n; set => _n = value < 0 ? 0 : value; }2. у геттера и сеттера свой уровень доступа, например ридонли свойствоpublic int n {get; private set;}в контексте юнити еще свойства не попадают в инспектор. приходится писать свой редактор. >>502927private void Update(){if(mousedown && !light.enabled) StartCoroutine(light_off());}private IEnumerable light_off(){light.SetEnabled(true);yield return new WaitForSeconds(0.5f);light.SetEnabled(false);}
>>502954А быстрая запись get; set; просто быстрая запись, обычно тебе бы нужно было дополнительную переменную использовать, но с быстрой записью не надо.
>>502956еще одна мелочьдля валуе типов возвращается копия значения. соответственно полям структуры нельзя присваивать значения. например transform.position.x = 5 пошлет тебя нахуй, потому что Vector3 - структура а не класс.
>>502954>>502955Братишки, я это понимаю. Я почему и написал именно > {get; set;}То есть абсолютно пустые, без нихуя.Натолкнулся вот на такое в чужом коде и понять не могу - зачем? Почему просто как поле не обозначить?И да, интерфейсами там и не пахнет.
>>502959у многих тупо привычка, ибо стиль программирования на шарпе предполагает свойства, некоторые фичи стандартной библиотеки(включая сериализацию и прочую привязку свойств к чему либо) завязаны на свойства, интерфейсы завязаны на свойства, ну и потом в случае необходимости автосвойство {get;set;} разворачиваяется по необходимости в просто свойство с кастомным геттером/сеттером. кстати в 8.0 собираются добавить поля в интерфейсы.
>>502962> у многих тупо привычкаБыла такая догадка, но она была быстро отброшена. Как оказалось - зря.Всем спасибо за ответы на идиотский вопрос.
Вот карп рыба хитрющая, по мели не идет, ее надо на удило тяжелое брать, а то сорванец этот так и норовит соскочить.
В чем проблема? Почему колесный коллайдер не вращается? Даже через посредников. Как переделать модель чтоб было заебись?
>>503038В смысле когда ты поворачиваешь колеса влево-вправо (стиринг), а не полное поступательное вращение вместе с колесом вокруг оси при езде? Потому как последнее вообще смысла не имеет.
>>503040Коллайдер при привязке к кабине устанавливается по дефолту под 90 градусов. Вопрос не о повороте. Видно же на скрине что не по оси колеса коллайдер. И вот как это пофиксить.
>>502953Модификацию через пропёрти можно, если надо, перехватить в субрутине. То есть класс может отслеживать, что в его пропёрти делают. Типо делаеть set {} и в нем проверяешь, что тебе лезит в очко. Ести неформат, то просто игноришь или выдаёшь обрабатываемое исключениеЕсли просто public, то любая хуемразь может модифицировать, и класс этого не заметит.В серьёзнос прогроминге тебя обоссут да чисто public, вместо пропёрти. В юнети всем пох. Здесь игры делают
>>503061зы. пока делал скрины, выпили инкрементал компилер для теста. таки без него юнити может только в C#6.0 сразу поотваливались conditional switch и анонимные кортежи.
и воопше разбаловалисьс#6 им маломы тут год назад во всю на огрызке от C#4 писали, где даже инициализаторов свойств не было, а им блжад уже локальные функции подавай!
>>503067Корутина - это тот же самый обычный метод, но который возвращает IEnumerator (и который должен съйилдить хотя бы раз). В апдейте вызывай, но убери её саму из апдейта.
>>503067Все эти новомодные языки пиздецки раздисциплинировали кодеров. Вот в старом добром Паскале корутину нужно было бы описывать строго вначале хостовой рутины, перед блоком begin ... end; И это охуенно! Это дисциплина, не дающая кодеру стрелять себе в ногу.
>>503067StartCoroutine(SegodnyaEbemMamkuOPa());....}IEnumerator SegodnyaEbemMamkuOPa(){yield return new WaitUntilSheSleeps(10f);// nobody gives the fuckwhile(1){Trash();yield return new WaitForSeconds(0f);}}
>>503067Анон, если те папка разрешит, можешь апдейт сделать корутинойIEnumerator Update(){LetsFuckMyOldSistah();}
>>503076>>503075в чем проблема? вполне валидное применение локальной функции. вот только поддержки локальных функций у него нет.
>>503080>вполне валидное применение локальной функции.>вот только поддержки локальных функций у него нет
>>503099из года в год все хуже и хуже, кстати. прошлым летом треды с юнити тоже дай боже недели по 3 жили.
Сцуко юнити такое юнити. Заметил, что OnPointerEnter регистрируется только для части юнита. Сначала подумал, что полгон колайдер хуево генерится(юниту рантайм выставляется спрайт а по спрайту создается колайдер), посмотрел - все ок, но для составного полигона событие срабатывает только для первого многоугольника. 2 часа тыкался пытаясь разобраться что за хуйня. В результате помогло удаление/добавление рейкастера. с теми же параметрами(там параметров то целых 2). хотя до этого менял второй параметр(макс количество проверок) во все стороны.
Пацаны, можно ли с помощью видеокарты и шейдеров распаралеливать вычисления. Есть массив из миллиона элементов, каждый нужно на свое место положить (timestamp), можно ли массив разбить на количество вычислительных блоков видеокарты, типа давайте парни разгребайте?
>>503166лучше скажи че ты там делаешь, так как скорей всего ты маешься хуитой.так то да, можно. например смотри - я заимплементил хитрую растеризацию на гпу.но ты учитывай что перемещение данных на видеокарту и обратно само по себе требует время, так что если ты там собрался сотни мегабайт перемещать то я бы не советовал.>>503145слушай, ты какой-то отбитый. может все-же шарп сначала подучишь, туториалов там посмотришь? >>503144шутку про тролейбус из батона думаю мы все знаем.
>>503144хотя, а причем тут ЮНИТИ? графоний от 3d редактора зависит, блендер там , майя, а не от движка
>>503170>так как скорей всего ты маешься хуитойВерно, вот есть такая хуйня, думал сделать расчет горизонтального объема торгов, 72 часа -300к элементов, 12 мб вес на харде, хз сколько в памяти. Пока просто интересуюсь, но в будущем, когда будет время и желание, хочется график как на пикрелейтед, с объемами и плавным ресайзом.
>>503180ну такое то особо без проблем. ты только учитывай то совать и изменять информацию довольно легко, а вот объединять и вытаскивать довольно трудно. потому что все происходит одновременно и синхронизировать проблемно. >>503184лол где эта хуйня, какое-то время назад тут поднимался интересный вопрос про формирование процедурных linq запросов. смотри как клево! ух! linq - благо!но вообще что за хуйню ты понаписал то? чейто?
>>503172>графоний от 3d редактора зависит, блендер там , майя, а не от движкаОт расчета света. А это шейдеры, которые хитровыебанно рендеряд твои материалы
>>503188>но вообще что за хуйню ты понаписал то? чейто?поиск пути для робадов. ранее использовал тупо дейкстру(ибо надо было чего дебажить и нужны все доступные клетки для подсветки) теперь дошел уже до реальной реализации а в ней проблема с тем, что на поворот робада тоже тратятся очки движения. первое выражение рекурсивно получает все возможные пути с учетом поворотов, второе из этого списка отсеивает только самые короткие.
Сап, никто кастомные едиторы для интерфейсов или листов интерфейсов не писал? Если есть у кого, или сцылочки на подходящие статейки - кидайте, с меня - как всегда
>>503184>var list = run_list.Select(i => i.coord).Distinct().Select(coord => new path_target{..}).ToList();Да ты охуел. Мозг же сломаешь от количества точек.
>>503209потому и разбил на строкизы. работает, даже посчитало что быстрее зделать шаг назад и потом повернуться чем идти напрямую через ландшафт
>>503290> чтобы перемещался не сам объект, а только его камераЕсли в этом вашем юнити есть локальные координаты, то тебе надо двигать локальные координаты камеры, которые локальны относительно родительского объекта.
Пытаюсь реализовать перемещение камеры без поворота самого объекта. Почему-то хоть я и указываю локальные координаты, камера не поворачивается в родительском объекте, а поворачивает сам родительский объект. Аноны, вы знаете причину?
Чтобы намертво закрепить камеру на определенном расстоянии надо скрипт писать или это предусмотрено штатными средствами как у UE?
>503345как обычно - ставишь git/svn/что там тебе нравится, ставишь в юнити сохранять мета файлы текстом, заводишь репозиторий и впиред. в платной версии там вроде есть что-то еще, но я особо не смотрел
>>498593 (OP)>лучшего 3D и 2D игрового движка современностиПроиграл что-то.Пикрелейтед - вся суть юнити.
>>503498linq не предназначен для выскогопроизводительного кода игр, тупая ты свинораха, это для продакшена с большими тимами где читабельность важна и кодомакаки меняются каждый день.>linq>в играх>с реал-тайм бюджетом в 16msВпрочем, если ты делаешь говноВН или ты YandereDev (ему персонально можно) - тогда похуй, соси
какую клевую хуйню сделал. возможность добавлять зоны не из словарика.зоны теперь могут содержать в себе обжекты и возвращают их при поиске пути через них. агент сначала ломится к зеленому квадрату, видит что у него на пути какая-то хуйня, а хуйня ссылается на координату кнопки. когда агент заходит на кнопку то она переключает bool внутри обжекта который референсится при поиске пути. и тогда агент хопа и понимает что ему можно ходить по синей зоне и идет к зеленому квадрату.абстрактненько. можно ведь любую хуиту сунуть которая будет появляться только при поиске пути через конкретно это место.>>503190лол интересно как ты дебажиш такие конструкции когда что-то идет не так. реализовал бы нормально, с heap и прочим говном.>>503293лол а как же вижуальное погромирование?!
>>503510>лол а как же вижуальное погромирование?!Я лучше буду писать на DirectX, чем ебаться с этими блупринтами.
>>503495>>503514Заваливает камеру при движении в бок. В чем проблема, человек, который хорошо знает Unity?
>>498593 (OP)Поцоны, хочу сделать управление на босе, чтоб игрок мог бегать(скользить) только вокруг оси боса. Но с одним условием, чтоб после того, как я отжимаю кнопки управления, игрок еще немного скользил по поверхности по этой же оси, собственно по этому RotateAround мне не подходит. Подскажите как такое реализовать?
>>503541Возможно по формуле (x-a)^2 + (y-b)^2 = r^2 можно высчитывать местоположение игрока.А инерцию наверное надо реализовать через определение ускорения игрока на момент отжатия кнопки и сделать передвижение по этому ускорению так, чтобы оно плавно стремилось к нулю.
>>503544Спасибо, я понял твой намек сделать через RotateAround и просто поменять gravity в InputManager
>>503518как же их делать когда юнити не дает то что я хочу? приходится делать своё, а потом уже хватать все остальное. так то я бы с радостью.>>503544текущее положение вектора в радианах:Mathf.Atan2(y, x)
>>503626ой не тот хоткей двач зачем ты так. продолжение:прибавь к радианам сколько там тебе надо.получи вектор обратно:Vector2(Mathf.Cos(radian), Mathf.Sin(radian))экзампл надо?
>>5034721000 и один способ сделать "по-другому", столкнувшись с юнитевскими багами. Понятное дело, что в здравом уме не стоит юзать юнет, а если хочешь гибкости, то сразу качаешь тмПро. Просто такой подход, "не нравится что-то дефолтное, качаешь ассет или пишешь своё". Мне норм.
Пишу стратегию. Собираюсь сделать возможность выделять юниты мышкой. Я сделал эту функцию, но я не знаю каким образом ее отрисовывать. Создавать объект и рендерить что ли под область мышки?
Кто-нибудь мне объяснит наконец-таки человеческим языком как исправить регулярно выплывающие ошибки в консоли "Refresh case sensivity failure" связаную с .meta файлами? Что за ? Что хочет от меня этот Юнити, что ему не нравится? Что на семерке, что на десятке одинаково парит мозги этой темой. В гугле ответы по этой теме какие-то унылые, не хачу такие. Хочу послушать вас.
Анонасы, а можно в Юнити 2017-18 вернуть .net 2.0? (не субсет)А то там только 3.5 и 4.6 а у меня дллка только 2.0 поддерживает (https://github.com/gkngkc/UnityStandaloneFileBrowser)
>>504257Так мусор сам Юнити и создает. Он создает какие-то служебные файлы к ассетам, которые я добавляю в проект и сам же на них бугуртит. -_-
>>504415ты добавляешь левые файлы. (например винда добавляет Thumbs.db если в папке есть картинки) юнити создает к ним мету. потом левые файлы удаляются/меняются, юнити проебывает метаданные и начинает нести хуйню.
Шоу "ебанутое поведение Юнити" снова в эфире! Функция UnloadSceneAsync может вернуть null (что в документации не сказано!) и из за этого говна мене прямо по середине выходных надо срочно ехать час в офис заниматься билдами в аппстор потом что дедлайн уже вот сегодня. Вместо того чтобы бухать как все нормальные люди.
Что любой уважающий себя юнити-аристократ должен знать из математики? Как я понял, пока делал игру с катящимся шариком, векторы - это мастхев.
>>504482Что значит "знать"?Линию пересечения двух плоскостей движения объектов, каждый из которых задан векторами position и velocity, нарисуешь?
>>504522>Сам выбрал себе работу юнитимакаки у мобилкопидарасов.Но у юнити нет альтернатив, что поделать.
Как сделать свой сорт оф логгер в игре выводить сообщение что хуйня нейм началась Но тут вопрсоа два, первый это как сделать для юнити обжектов, второй как выводить из класса без наследования от монгобихейвор?
>>504522Юнити безальтернативная, увы. Наличие возможности например купить готовые сплайны с редактором перевешивают все недостатки с точки зрения бизнеса. Я вообще год за Cocos2D в конторе топлю, уеч слишком велик для наших говноигрулек.
>>504559Можно подумать, у тебя кокос не будет хуйню делать. У меня, кстати, юнька работает отлично, все косяки, которые встречались, были только из-за моего кривого кода.
>>504563Я хотя бы могу узнать что именно он делает, а не работать с недокументированным чёрным ящиком. Ты не представляешь как в уече помогает доступ к исходному коду. Возникает вопрос - смотришь код - вопрос решается.> У меня, кстати, юнька работает отлично, все косяки, которые встречались, были только из-за моего кривого кода. Ну это пока. До тех пор пока ты не наткнулся на ещё одну функцию что ведёт себя не так как указано в документации.
>>504535> СинглетонБуээээ.... Сильное связывание в своём худшем проявлении.Прячешь логгер за интерфейсом и инжектишь его через DI.>>504533Debug.Log* не требует вызова из монобехевиора исключительно.
>>504568>Я хотя бы могу узнать что именно он делает, а не работать с недокументированным чёрным ящиком. Ну, так и посмотриhttps://blogs.unity3d.com/2018/03/26/releasing-the-unity-c-source-code/
>>504641Мальчик, ты вообще в курсе что это просто банальная прослойка между .NET и нативным кодом? И что UnloadSceneAsync уходит прямо в нативный код? Разумеется не в курсе, иначе бы не гнал хуйню.
Анон, у меня есть класс Team в нем Enam TeamList и переменная TeamList teamList. Есть еще класс Unit и он должен знать какой команде принадлежит, и в зависимости от значения teamList по разному реагировать. Сначала подумал что у юнита может быть свой список команд и переменная в которой хранится значение его принадлежности , но как оказалось их нельзя сравнить, как это решить?
>>504732Enam? если ты про енум то его можно использовать снаружи через имя класса public class A { public enum E { ...} }public class B { public A.E e; }
>>504736так и сравниватьpublic class A { public enum E { e1, e2} }public class B { public A.E e; public void Foo(){if(e == A.E.e1) do_something();else if(e == A.E.e2) do_somthing_other();}}
>>504775Делать AAA Multiplayer rpg/action, сам скорее всего не справишься, по этому ищи команду на Gamedev.кг
>>504780Раньше проходил какой-то тутор аля "СДЕЛАЙ ШУТЕР И СТАНЬ ОЛОЛО ГЕЙМДЕВЕЛОПЕРОМ С БОРОДОЙ С НУЛЯ", но как-то не особо пошло. Хочу в этот раз хорошо усвоить все основы и не торопиться, благо время есть.
float px1 = a1.x - b1.x; float py1 = a1.y - b1.y; float px2 = a2.x = b2.x; float py2 = a2.y - b2.y;2 часа мучений блжад. почему элементарное пересечение прямых блжад не считается. сука.
>>504854У вас там отдельный кружок по корявому задаванию вопросов?"Не считается" это как? Что выдаёт?
>>504882все уже считается, пост был отправлен уже по факту исправления. 2 часа мучений из-за = вместо -. хоть бы варнинг какой выдало
>>504887я знаю. от этого горит еще сильнее.зато у меня теперь есть отличный рейтрейсер на гексагональной сетке, который проверяет только len*2 гексов.
Как у плейна сводить альфу на ноль в том месте куда попадает луч? SetPixel, SetPixels очень фпс просаживают.
Здарова, бандиты! Начал вкатываться в моделирование, хотел бы уточнить, сколько примерно faces, на одном экране, может вывести на 50-60 фпс современный нищий Xiaomi, ну например снапдрагон 430?
>>505113ах хоткеи двача интересно как их отключить лучше бы капча быладелал чтобы из текущей сцены сохранялся массив геймобжектов в скриптабл обжект. получился хуй. но лол юнити мне пытается что-то сказать и я не совсем понимаю что
>>505115она говрит "тип объекта неправильный", какого типа GameObjectLibrary и что ты пытаешься туды сунуть?
>>505245лол да знаю я что он неправильный. на самом деле он правильный. он имеет тип геймобжекта и суется в него геймобжект и я его обратно получаю. но сериализацию оно разумеется не пережвает. просто этот обьект находится в проекте, а то что я пытаюсь в него сунуть находится в сцене. а юнити такое не делает.
Хуйнул примитивный логер для вывода сообщений, надо же смотреть когда с базы дозагрузится говно. Логер устрен элементарно, статическую функцию накидываю сообщений в лист, апдейтом лист обрабатывается. Ну норм вроде, а вот только как быть с несколькими потоками. Ну как обычно первое что в голвоу пришло это скидывать сообщения в потокобезопасный мешок и дерьгать оттуда. Может быть это неправильно?
Анон подскажи что нужно делать. Создал простенький шутер с мультиплеером на uNet, потестил на локалке, вроде все нормально работает. Что нужно сделать чтобы я мог хостить, а ко мне могли подключатся без локалки/хамачи, т.е. по IP? Кстати статический ip провайдер мне уже выдал
Покидайте идей как сделать реестр инстансов компонентов, ну или префабов чтобы можно было их в массиве перебирать. Причём нужно создавать несколько реестров для разных типов объектов (например разных типов юнитов).FindObjectofType юзать не хочу так как он медленный. Вот если бы кеширование к нему прикрутить.
>>505673Через Threading, с помощью Threadpool. На самом деле всего один поток пока что, который либо постепенно пишет в базу чтоб не превышать рейтлимит, либо извлекает пару лямов позиций. Я вот хз что будет если приложение снять через диспетчер, поток тоже умрет?
>>505792да, поток умрет. если тебе нужно завершить его корректно - кидай треду с ним Interrupt() и лови ThreadInterruptException внутре
Может кто подскажет? Как сделать так чтобы текст на экран выводился побуквенно(с анимацией), весь гугл прочекал ничего толком не нашел.
Help, намутил апк - на xiaomi с 8 ядерным хз чем и андроидом 8.1, запускается норм. На Sony с arm64 Snapdragon 835 MSM8998 под андроидом 8,0, не запускается, сразу ошибка. В настройках поставил галку на arm64, всё обновил - и Юнити от 12.10.2018 и в андроид студии все инструменты обновил и джаву. в гугле ответы только от 2017го года, где обещают завести поддержку arm64, а в нынещней юнити оно уже есть но не робит. ПОМОХИТЕ!!!