Вопрос по быстродействию.Закладываю в игру сразу локализацию. Храню тексты в нескольких json файлах.Есть статический класс, который при необходимости дергает инфу из нужных файлов (те самые json, лежащие в resources). Дергаю инфу через Resources.Load<TextAsset>(path);Умом понимаю, что неэффективно каждый раз дергать одни и те же строки, лучше для каждого объекта их закэшировать и менять только при смене языка юзером в настройках.Но с другой стороны, у меня обычная 2д игра, где не так много вычислений. Можно ли забить хуй или лучше таки оптимизднуть?Мало ли там Resources.Load мегамедленный и на некропеках будет хрустеть и тупить.В update, fixed update и late update у меня все это не вызывается конечно же. Только когда нужно.
Котаны, есть проблема, приходит много данных, Json парсер спайкает, иногда коннект вообще падает. Требуется раскидать выполнение задач, для каждого подключения - отдельный поток. Вопрос, как передавать данные в главный юнити поток? Первое что в голову пришло - для каждого типа данных сделать ConcurrentQueue, кидать туда данные, а в юнитипотоке использовать TryDequeue() ? Какие способы могут быть?
>>547011Task<YourData> DoWork(object argument);Запускаешь таск из основного, потока, смотришь когда он выполнился, забираешь t.Result.
>>546999>Мало ли там Resources.Load мегамедленный и на некропеках будет хрустеть и тупить.Так пишешь, как будто само unity не будет хрустеть и тупить на некропеках.
>>547042>Как решать проблему в юнити на некропеках, что даже интерфейс в игре не грузит?Написать обладателю "хахах, лошара, нищеброд, что ли работу не найти, хуанан с алика не купить?"
>>546999Хуйню делаешь. Делай из CSV, ты можешь такой файл из Экселя и аналогов сразу в игру вставлять. Алсо, локализация ничего считай не весит и оптимизировать её загрузку не имеет смысла.Вместо ресурсов используй сразу бандлы.
Здравствуй, анон.Делаю туториал с офф-сайта 2D_RogueLikeВидео ниже, время 4:20Не понимаю, почему он делает именно статик переменную. Уж и переводил и прочее, но нихуя не понимаю, но видимо смысл в этом какой-то есть.Подскажи, пожалуйста, анонhttps://youtu.be/7NYXBUWmFvU?t=260
>>547131static = глобальная переменнаяhttps://ru.wikipedia.org/wiki/%D0%93%D0%BB%D0%BE%D0%B1%D0%B0%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F_%D0%BF%D0%B5%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D0%B0%D1%8F
>>547136в c# нет скриптов. static может быть объявлен в классе и прочитан как MoyClass.static_peremennaya = 10.Но ты так никогда не делай
>>547015Но как быть если данные прилетают в другой поток? Таких потоков может быть несколько, нужно оттуда передать данные в главный по мере поступления. >>547021У меня нет выбора.
Какая разница междуgameObject.SetActive(true/false);иgameObject.enable = true/false;чекал документацию и answers.unity, но видимо моё знание ангельского не позволяет понять это.Может кто описать простыми словами?Заранее спасибо!
>>547059>>547055Ладно, перефразирую.ПОЧЕМУ юнити не показывает ГУИ на некропеках? Почему именно ГУИ-то? И при этом сбоят шрифты. Некропеки по идее наоборот офисное оборудование, проблем-то быть не должно с этим. Это ж самый базовый функционал.>>546999Двачую этого. Даже если будешь в памяти сотню мегов локализации держать (посчитай сам, сколько весит 1000 вордовских страниц), то это не особо на производительность повлияет. Разве что некропеки>>547190Открой юнити, напиши где-нибудь в коде интересующую функцию, правой кнопкой по ней -> Find declaration.
>>547246>ПОЧЕМУ юнити не показывает ГУИ на некропеках? Почему именно ГУИ-то? И при этом сбоят шрифты. Некропеки по идее наоборот офисное оборудование, проблем-то быть не должно с этим. Это ж самый базовый функционал.Просто разрабам юнити похуй на это. Скорее всего там какая-то мелочь, которая правится за пару дней, но всем похуй, плюс код закрыт - никто не ткнет носом в говно. Они нацелены на продажу своего детища разрабам, а у большинства разрабов - нормальные пекарни, на нищуков всем поебать.Это не годот, в котором это бы давно пофиксили через issue на гитхабе.
>>547254>Это не годот, в котором это бы давно пофиксили через issue на гитхабе. Вот поэтому на годоте игор и нет - фиксят всякое говно вместо того, чтобы важными вещами заниматься.
>>547258>>547254В моём опыте, годотоподелие на некропеке жутко лагает, а юнитеподелие не отображает интерфейс корректно, но не лагает "беспричинно".
>>547264При чём здесь моя кофеварка? Ну, возьмём другой опыт. Годотоподелие лагает, юнитеподелие не имеет проблем с интерфейсом и не лагает.
>>547260>а юнитеподелие не отображает интерфейс корректноСкорее всего ты запустил в низком разрешении, а скейлинг канваса в игре настроен на абсолютные размеры.
>>547260>юнитеподелие не отображает интерфейс корректноТак за это надо ебать в голову того, кто делал гуй в этом поделии. Сам-то по себе гуй у юнитиигр не исчезает.
1) https://blog.theknightsofunity.com/Не смотрел вообще на адекватность советов, но вдруг что-то полезное найдете2) https://habr.com/ru/users/charoplet/posts/Переводы туторов с сайта unity3dstudent.com и прочеемб в шапку можно запихнуть, я хз
Итак, СПЦ-кун на месте.В общем, решил я переделать игру в сорт оф сурвайвл хоррор. Вместо бесконечных лестниц будут коридорыSCP-087-01 это не просто лицо, это та самая светопоглощающая темнота. У игрока есть ментальное состояние, если которое падает, то появляется 01 и убивает его. Поднимать ментальное состояние можно шумя стукая всякими вещами об другие вещи, светом и музыкальными шкатулками (sic!). В общем, тем, что отгоняет 01 от игрока. Цель игры - survive as long as you can. Всё естественно в виар и только в виар.
Здравствуй, анон.Подскажи мне кое-что насчёт наследования. Возможно я не совсем правильно его понимаю (либо не понимаю вообще)https://pastecode.xyz/view/b2a52b21 - код тут и на прикрепленных файлах - для твоего удобстваВот мне конкретно неясно применение base в данном случае.Т.к. класс Enemy является наследником класса MovingObject, следовательно он так же имеет поляpublic float moveTime = 0.1f;BoxCollider2D boxCollider;Rigidbody2D rb2D;float inverseMoveTime;Вызывая Enemy.Start(), мы заносим значения в собственные поля собственные поля класса Enemy.А вот вызывая base.Start() мы заносим значения в поля, которые унаследовал класс Enemy, путём вызова функции из класса - родителя.Верны ли мои размышления/догадки? Если нет, то каким образом вообще действует base.start? Или вызванная функция base.Start заносит значения именно в класс-Родитель и тем самым происходит, грубо говоря, "общение" между классами.Верно ли то, что в классе Enemу, исходя из моих размышлений, имеет поля:boxCollider = GetComponent<BoxCollider2D>();rb2D = GetComponent<Rigidbody2D>();т.е. можно вполне написать функцию в Enemyvoid unsetIsTrigger(){rb2D.addforce(somevalue);}Заранее Спасибо, анон.
>>547397Да, класс наследует все поля и вызовы от родителя и ты можешь получить к ним доступ не переопределяя заново. В этом и суть наследования.
>>547404но вызывая base.Start(), можно сказать что вызывается метод в родителе и заносится значения именно в родитель, а не в класс-наследник?
https://issuetracker.unity3d.com/issues/vr-particle-systems-cause-task-dot-rasterdata-dot-indexbuffer-equals-equals-null-error-and-lead-to-graphical-glitchesКто-нибудь сталкивался? Как побороли?
Примерно как то так игрок должен использовать окружение чтобы выживать. Попадает в туман == падает психическое состояние. при падении псих состояния ниже определённой планки игрок умирает. Хочу сделать чтобы обьекты, ударяясь об что-либо, ненадолго рассеивали туман.Собственно, вопрос к знатокам:По факту я сейчас использую объёмный туман, но мог бы добиться подобного же геймплея с помощью поинт лайтнинга. Что сильнее нагружает железо, лайтнинг без теней или вольюметрик фог? аура
>>547419Это 2 разных скрипта, которые висят на 2х разных объектах.Вопрос же относится к base.Start.Это просто разграничение.Тк Start переопределен в классе-наследнике, но нам нужно выполнить то, что было изначально? Именно так это используется?
>>547441Откуда нам знать, что тебе там нужно выполнить? Тот метод, который определен последним выполнится. Если что-то выше в иерархии хочешь вызвать - руками.
>>547476Камеру трясёт так же как трясёт голову, на которую надет шлем. Из за низкого фпс на видео создаётся впечатление рывков, на самом деле там всё ок
>>547464ну ексель-моксель.Если в классе-наследнике, в функцию, которую мы переопределили выполнить base.Start() что будетБудет ли это аналогично этомуprotected override void Start() { animator = GetComponent<Animator>(); target = GameObject.FindGameObjectWithTag("Player").transform; //base.Start();boxCollider = GetComponent<BoxCollider2D>(); rb2D = GetComponent<Rigidbody2D>(); inverseMoveTime = 1f / moveTime; }
Какого хрена навмеш такой дырявый?Хочу сделать динамически спавнящуюся арену: игрок входит в триггер, срабатывает эвент, спавнится граница арены (с компонентами navmesh obstacle), за которую по идее не должен никто проникать. НПС выбегают за неё, как у себя дома. Потыркаются немного и они уже за пределами.Может я намудил с настройками агента?
Добавил плавную анимацию рассеивания тумана. Осталось добавить просчёт радиуса рассеивания за счёт силы удара о поверхность, звуки и продолжительность в зависимости от типа материала объекта
>>547397Лень читать твою портянку, но выскажусь на основе картинок.НЕ ДЕЛАЙ ТАКВсегда предпочитай композицию наследованию, всегда.Не надо наследовать enemy от moving, просто добавь два независимых компонента. Как ты с наследованием будешь турели делать, например?
>>547559Что ты юнитипидарка бомбанула та? Есть реальный косяк юнитиговна, какое это к тебе отношение имеет, что у тебя пердак порвался?
>>547508У тебя проблемы с пониманием наследования. Запомни, наследование это как гены родителей и потомков. Если у родителя была переменная foo и метод bar, то потомок унаследует переменные и методы родителя. Так же потомок может унаследовать "мутировавшие" гены, переопределяя методы со своей логикой и/или спользуя существующий код предков. Подробнее про наследование читай тут https://docs.microsoft.com/ru-ru/dotnet/csharp/tutorials/inheritanceАлсо, "pro tip" от анона по поводу composition over inheritance верный. Наследование имеет ряд проблем, которые сложно побороть и по этому лучше используй композицию (это когда у тебя несколько разных скриптов, которые выполняют одну простую задачу, но заебись и могу даже общаться друг с другом) чем наследование (когда у тебя хуева туча базовых классов и ты пытаешься одним классом сесть на все стулья)Например, у тебя есть обьекты (unit), которые могут быть как вражеские, так и дружественные. Создай один простой класс unit, который содержит в себе данные (например хп, скорость движения, команду) и дальше уже наращивай функционал отдельными скриптами, которые будут обращаться к этому unit классу, получать данные и манипулировать отображением (например moveable, который содержит логику движения, attackable, который содержит логику калькуляции получаемого юнитом урона и т.д.)Такая архитектура позволяет тебе держать код DRY (Dont repeat yourself - не дублировать код в десятках разных мест, а просто подключать нужные компоненты к обьектам в стек компонентов), упрощает читаемость и тестируемость кода т.к. покрыть тестами компонент, который следует принципу Single responsibility очень легко и приятно.
>>547570Алсо, по поводу компонентно-ориентированной парадигмы можно более подробнее почитать здесь. https://habr.com/ru/post/243479/
>>547566Зачем тестить, я тебе и так скажу, что юнити забагованная параша для школьников, можешь укатываться в божественный уеч или не менее божественный годот, там игры делают себя сами, достаточно голосом сказать "зделой мне заебись!" и пойти сразу стричь бабло в стиме. Как думаешь фортнайт сделали?
>>547546>три полигона с прозрачностью не может нормально отрендерить.Там вообще какой-то юнитипиздец!Проблема связана с тем, как прозрачные объекты сортируются в Unity. Обычно объекты рисуются с использованием z-буфера, который рисует изображение глубины при визуализации сцены. Это гарантирует, что рисуется только самый близкий пиксель, поэтому все отображается в правильном порядке. Проблема возникает с прозрачными объектами или, точнее, с полупрозрачными пикселями. Когда объекты полупрозрачны, они не могут быть точно записаны в буфер глубины. Это связано с тем, что в z-буфере делается предположение, что в любом пикселе на экране нужно рисовать только один объект в обмен на чрезвычайно быструю сортировку. Полупрозрачные объекты требуют рисования нескольких пикселей в одной и той же точке, поэтому их необходимо рисовать до или после остальной части изображения. Естественно, это приводит к некоторым ошибкам сортировки, потому что сортировка по пикселям, как найдено в буфере глубины, не представляется возможным. В Unity метод сортировки просто берет центральную точку сетки и предполагает, что вся сетка находится на одном и том же значении глубины. Практическим результатом этого является то, что если центр вашего прозрачного объекта находится позади другого объекта, то весь объект будет визуализироваться позади него.Теперь, когда мы обсудили причину, давайте поговорим о решениях. Есть, на самом деле, несколько возможных, хотя все они связаны с компромиссами. Я буду обсуждать 3 здесь:Выключатели Вырезные шейдеры решают эту проблему, применяя фильтр к текстуре, давая каждому пикселю логическое значение: видимое или невидимое. Это позволяет рисовать сложные формы, и поскольку ни один пиксель не является полупрозрачным, используется буфер глубины. Компромисс здесь заключается в гладкости - вы потеряете приятные, мягкие края, которые вы получите с прозрачными объектами. Это наиболее точное решение, и для небольших, удаленных или с высоким разрешением текстур это определенно лучшее решение.Сегментированные сетки. Это немного сложнее сделать правильно, и это только приблизительное. Идея состоит в том, что вместо одной большой сетки вы разделяете ее на несколько маленьких, каждая из которых несет часть текстуры. Поскольку сортировка прозрачности осуществляется по сетке, это позволит решить проблему реже, поскольку каждую часть объекта можно отсортировать по отдельности. Компромиссы здесь заключаются в производительности и сложности реализации.Z-ввода. Другой вариант - просто записать в z-буфер в любом случае. Это работает, но производит некоторые артефакты. Любой другой нарисованный полупрозрачный объект всегда будет выше или всегда будет позади объекта, который вы рисуете, то есть сортировка по глубине между этим объектом и другими прозрачными объектами просто исчезнет. Часто это хорошее решение, если вы очень редко перекрываете объекты или если ваш объект находится напротив поверхности, так что никакой другой прозрачный объект не пройдет под ним.Есть больше возможных решений, но это некоторые из наиболее распространенных. Причина, по которой вам так сложно найти одно решение, заключается в том, что его нет - есть несколько. У каждого есть свои преимущества и недостатки, и вы сами решаете, что лучше всего соответствует вашим потребностям.
>>547546>>547576>Проблема связана с тем, как прозрачные объекты сортируются в Unity.Как в шейдере сортировка прописана - так и сортируются.
>>547581И что ты сделал? Проблема при включенном солнце через один меш видно тени через другой нет. Да там еще есть траблы странные, я начал это тестить когда ужасные косяки на прическе увидел.
>>547570Верно ли я понимаю, что то, что ты описал, можно реализовать путем простого переноса скрипта в скрипт через инспектор, как например обычные public поля.Что приходит на ум ещё, в классе "родителе" сделать свойства
>>547558Я так и не делаю.Просто смотрю урок с офф. Сайта и пытаюсь понять.Как я уже понял, не зря я спросил
>>547592>Верно ли я понимаю, что то, что ты описал, можно реализовать путем простого переноса скрипта в скрипт через инспектор, как например обычные public поля.Не понял твоего вопроса.Ты делаешь класс unit, даёшь ему паблик поля (например скорость движения), потом делаешь класс moveable, в котором хранишь логику передвижения. В этом moveable ты прописываешь работу с компонентом unit (например берёшь значение с переменной скорости движения и производишь манипуляции на основе этого значения с rigidbody).Как это всё подключать? Кидаешь вначале unit компонент на обьект, который является у тебя юнитом и потом кидаешь moveable на него если он должен двигаться. Если же у тебя объект тоже юнит, но двигаться не должен (например, здание), то не кидаешь на него moveable. Иначе говоря, компонентами ты придаёшь сущности некоторое специфичное значение\возможности.
>>547585Просто шейдер с z-сортировкой. Там один тег, лол.>ужасные косяки на прическе увиделДля причёсок Cutoff, а не Transparent. Плюс ты ещё будешь охуевать с "юнитипиздеца", когда увидишь, что твои причёски прозрачные с одной стороны. Как всегда, виновата юнити.
>>547596Юнититупица опять что-то умничает, ахуеть. Юнитиговно рендерит с косяками, он нихуя не понял, какую-то хуйню записал без освещения и радуется, даун.
>>547595Ну смотри, мы же можем во втором скрипте (moveable) написатьPublic Unit scriptName;Ну и потом в инспекторе просто в поле перенести скрипт
>>547607Да, можно. Так же можно сделать проще, написав в OnEnable или в Start у MoveablescriptName = GetComponent<Unit>();и тогда Moveable сам найдёт этот компонент если он существует у геймобжекта.Опираясь на это ты можешь сделать, например, возможность работы не только с Unit, но и например с Building или чем-либо ещё, просто через кондишн
>>547610Читай документацию https://docs.unity3d.com/Manual/PostProcessing-Stack.html и делай наоборот.
>>547610Алсо раз ты юзаешь lightweight rendering pipeline, то возможно у тебя там более новый постпроцессинговый стек. Если картинки в доке не сходятся с тем, что у тебя - читай эту доку https://github.com/Unity-Technologies/PostProcessing/wiki
Отбой тревога. Внезапно, заработала. Хуй знает почему, в коде вроде ничего не менял, но после очередного запуска Unity всё таки сделал из JSON файла массив.
>>547632В смысле не принимает, тупица, я тебе вебмку записал с проблемой, а ты какую-то хуйню пилишь.И на твоей вебмке хуйня>>547616, почему через выделенную плоскость видно наклоненную плоскость, а нижнюю горизонтальную нет?
>>547558Есть ли какие преимущества у композиции перед наследованием?Кроме удобства для программиста в чтении и редактуры кода?Есть ли какие-то существенные отличия по скорости работы при больших нагрузках и загруженности сцены? Или может быть недостатки?
>>547640>работы при больших нагрузках и загруженности сцены?>unity>большие нагрузкиПроиграл. Пофиг что использовать, все равно будет тормозить.
>>547640Всё уже тысячи раз было написано по поводу composition over inheritance, можешь зачитаться: http://bfy.tw/LsoS
>>547712>Создаешь материал в новом супер аш ди пайплайн рендере юнитиговна>Рендерит как говно, позор по всем статьям>Ты винават! Ты! Празрачнасть это сложжна, юнити - это когда нужна изъебнуться!Юнитипиздец классический, во все поля.
Аноны, подскажите новичку. Я потихоньку изучаю юнити, читая "Юнити в действии" Хокинга от 2016 года. Вторая глава - создание простенького 3д шутера: сделали модельку, прикрепили ей на голову камеру, задали вращение и перемещение. На бумаге все хорошо, но "в действии" возникли сложности. Проблема в переменной Time.DeltaTime. Автор пишет, что она нужна для того, чтобы сделать игру фреймо-независимой (frame rate independent, то-есть на мощном компе имеем условно 60 кадров, на слабом - 30 кадров. С постоянной скоростью наш герой на мощном компе убежит дальше, чем на слабом, поэтому надо вводить Тайм.ДельтаТайм и умножать ее на скорость перемещения. Но как только я дописываю эту переменную, у меня герой начинает очень медленно двигаться, прям как улиточка. Без нее все хорошо. С ней - медленно и плохо. Комп не слабый. Игроделы, поясните пожалуйста, может в современных редакциях эту функцию переделали? Книга 2016 года, два года прошло. Код пишу такой же как у автора. В чем может быть проблема? Нужна ли эта тайм.дельтаТайм?
>>547901При использовании дельта тайм, скорость передвижения у тебя считай указывается за секунду. Т.е. раньше у тебя было условно 10f за кадр, стало 10f за секунду. Увеличивай до нужного.
>>547901Время.дельтаВремя - это время в секундах, прошедшее с предыдущего фрейма. В секундах. С предыдущего фрейма. Что у тебя обозначает скорость, которую ты умножаешь на часть секунды? В этом и есть вопрос.
Короче, пацаны, я уже не человек, я зверь нахуй! Ебусь третий день с дерганным кинематик ригидбади. Пробовал все: двигать камеру в Fixed/Late update, все виды интерполяции, вертикальную синхронизацию и еще миллион всего. Как фиксить это говно?
Unity Technologies дала заднюю в конфликте с ImprobableПод давлением общественности компания Unity Technologies всё же признала свою подлость, которую она учинила в отношении компании Improbable, заблокировав её деятельность и возможность легального обслуживания её клиентов, использующих её сетевой продукт Spatial OS, интегрирующийся с Unity Engine. В связи с этим, все разработчики, кто использовал мультиплеерную систему Spatial OS в своих играх, были вне закона, преступниками, которых можно было привлечь к ответственности за нарушение условий TOS (Terms of Service) движка Unity. Этим она нагло нарушила свои обещания, что Unity будет открытой и лояльной для разработчиков платформой.До этого Improbable привлекла на свою сторону Epic Games, которая сейчас является основным (и очень влиятельным из-за успеха «Fortnite») конкурентом Unity Technologies в сфере игровых движков. Unity Technologies всячески выгораживала свои односторонние действия, обосновывая изменение правил некой необходимостью. Теперь сообщила о том, что ныне она восстанавливает лицензию Improbable на тех же условиях.Сооснователь компании Unity Technologies некий Joachim Ante с барского языка ляпнул, что они приняли решение восстановить возможность обслуживания третьими сторонами, предлагающими ПО и услуги для движка Unity. В компании к чему-то заявили, что они не считают Improbable партнёром и не имеют никакого понимания в их инструментарии и бизнесе. Нужно отметить, что она и не должна влезать в чужой бизнес.Так или иначе, сообщество пользователей движка выиграло, разработчики оного решили отменить последние ужесточения по использованию продуктов основанных на движке. Теперь пользователи могут использовать ту версию движка на той лицензии, по которой они её приобретали. А новые правила TOS будут вводиться с новыми версиями, и будут действовать только на новые версии с момента подписания соглашения. Это также разрешит третьим лицам предлагать свои услуги, связанные с движком. TOS будет обсуждаться и редактироваться на Github, благодаря чему пользователи смогут узнавать заранее о том, что их ждёт с каждым апдейтом.Справедливость восторжествовала, Unity Technologies посрамлена за попытку диктовать монопольные условия для разработчиков, подключающих к движку сторонние инструменты и услуги.Пункт 2.4 уже изменён, однако в нём все равно заложены жесткие условия о запрете использования символики и упоминания торговой марки Unity, из-за чего даже упоминание об интеграции вашего плагина с Unity может юридически караться. Будьте внимательны и осторожны!Вот этот пункт полностью:Unity developers are free to use any service offered to Unity developers (each, a “Third Party Service”). Unity does not have any obligation to provide support for any Third Party Service provider or Third Party Service under this Agreement. Third Party Service providers may not, without Unity’s express written permission: (1) use a stylized version of any Unity name, trademark, logos, images or product icons, or other Unity-owned graphic symbols; (2) use a product name confusingly similar to a Unity product or that could be construed by Unity developers as being a Unity product or service; or (3) create or use any marketing materials that suggest an affiliation with, or endorsement by, Unity. All use of Unity’s trademarks must comply with Unity’s Trademark Guidelines.
>>548096С импропадлом год пытались связаться, т.к они реселлили лицензию юнити, что было запрещено. Чтобы не ставить под удар пользователей юнити, юнитеки разрешили это продолжать. Широкий жест. Твой копипаст пиздёж чистой воды, кстати.
>>548109>Твой копипаст пиздёж чистой воды, кстати.>БАБАХ!!!Ну конечно. Когда анриал начал обоссывать уже совсем по-жесткому у юнити начались широкие жесты. Ты же понимаешь, что широкие жесты может себе позволить только свободный господин (анриал), а не зажатый со всех сторон подыхающий петух (юнити).
>>548110Так на анрил всем похуй. И всегда было похуй. И всегда будет похуй. Зачем ты его вообще приплёл?
>>548110> зажатый со всех сторон подыхающий петух> юнитипока в мире есть школьники и студенты, юнити будет процветать. вообще, вся эта возня с сетевым сервисом выглядит как пустой форс, с учетом того что среди пользователей юнети реально использующих сетевые функции наберется примерно ноль целых хуй десятых, а с учетом того что этой поеботе есть альтернативы, сам кутёж вокруг этого дерьма выглядит как потужный форс
У Юнитевских ебанашек оказывается Application.version работает через анус и при плохой погоде на 3 планете второго газового гиганта Альдебарана возвращает 1.0.ЁБАНЫЙ ПИЗДЕЦ АНУСА ТРИ ЁБАНЫХ ДНЯ ОТЛАДКИ ЧТОБЫ НАЙТИ ЕЩЁ ОДИН БАГ ЮНИТИ В САМОЙ-САМОЙ ОСНОВЕ ИХ ЕБАНУТНОГО ГОВНОДВИЖКА КОТОРЫЙ ПРОВЕРЯЕТСЯ ТУПЫМ АВТОМАТИЧЕСКИМ ТЕСТОМ! АЖ АНУС К ХУЯМ РАЗВОРОТИЛО.
https://www.youtube.com/watch?v=E6xCubQpFwgПочему версия на Юнити какая-то дерганная. Обзор камерой не плавный в сравнении с версии на UE4.
>>548312>схуялиА схуяли ли оно должно работать быстро на C#, где на каждый чих создаются выделяются объекты в куче?Выбирая unity, ты определяешь сам для себя, что удобство, низкий порог входа и ассет стор для тебя важнее производительности, просто нужно принять это и смириться, не гнаться за скоростью.
>>548330> где на каждый чих создаются выделяются объекты в кучеНу если пишешь как мудак, то так и будет. Такие вещи решаются на уровне архитектуры скриптов.
>>548330Я тут подобосрался , дергать .preferredHeight у текста немного накладно, за скоростю не гонюсь, но стараюсь сделать с запасом, иначе потом может быть БОЛЬНО.
>>548253>Почему версия на Юнити какая-то дерганная.Они delta time не сглаживают. Сглаживание dt - это вообще главная пионерская тайна. В UE dt сразу же проходит через Moving Average, в Юнити ты должен сам использовать smoothDeltaTime. При этом способа сказать анимации делать так же нет.Кулстори: в одной игре мы случайно выключили фильтрацию dt и на форуме поднялся вой про "игра тормозит! безрукие разрабы!!1111". При включении назад всё стало снова работать "плавно", хотя ничего больше не менялось. Использовали moving average на 11 кадров с отбрасыванием двух наибольших и наименьших dt.Гугл тот источник в котором я это нашёл уже не находит.
Нашёл таки: http://bitsquid.blogspot.com/2010/10/time-step-smoothing.htmlДаже такая штука как dt не так тривиальна как это пишут в туториалах.
Двач,пытаюсь нормально реализовать инвентарь. Есть несколько вопросов.1)Если у меня в инвентаре есть опция сортировки, то мне надо отсортировать список предметов, потом заново пересоздать UI инвентаря?2)Как мне сделать списко предметов у персонажа. Например у меня есть класс Potions{...} Weapon{...} Armour{...} и абстрактный класс Item{...} который соджержит вес,цену и всё такое.Мне нужно получается делать три списка для каждого класса? или как?
>>548350Запили базовый класс для предметов, наследуй все предметы от него. Храни все в одном списке с этим базовым классом. Изи.
Почему свойства класса типа "int?" не отображаются в инспекторе? Если создать свойство с типом "int", то она сразу и в инспекторе появится, а с типом "int?" нет, нихуя. Можно её как то вытащить?
>>548364Нет, он из Англии. Тупые америкосы отрезали из окончаний вида "our" букву "u" и радуются, а настоящие аристократы пишут красиво, много гласных
>>548367https://trends.google.ru/trends/explore?q=Armor,ArmourИзвольте, мосье... Как давно аристократия перебралась в страны третьего мира и колонии?
Подскажите, кто с векторами и кватернионами работал.Пытаюсь понять как поворачивать джоинты. Заставил тестовый куб поворачиваться к точке найденным на форумах кодом, смотрит вперед он осью з. пик1 Мне нужно поворачивать конечности тела, они тоже осью з смотрят. Но с таким направлением управлять поворотом невозможно, хочу чтоб нога поворачивалась по направлению нарисованной стрелки. пик 2Можно ли повернуть гизмо не поворачивая объект?Я попытался поменять в том коде вектора которые определяются как вверх и вперед на такие чтоб вверх это был з а вперед тот что смотрел вниз и получил бред, повороты вообще не к точке и не адекватные. пик 3 Еще не понимаю: в коде вектора берутся от осей джоинта, если покрутить бегунки осей чтоб они повернулись то результат не меняется, а если переписать в коде вектора как я сделал то меняется, в чем подвох?Если ли годные туторы которые объяснят по какой логике выстраивать вектора и кватернионы самому?Большая часть кода, Space тут идет selfstatic void SetTargetRotationInternal (ConfigurableJoint joint, Quaternion targetRotation, Quaternion startRotation, Space space) { // Calculate the rotation expressed by the joint's axis and secondary axis var right = joint.axis; //старая версия лицевая сторона з var forward = Vector3.Cross (joint.axis, joint.secondaryAxis).normalized; var up = Vector3.Cross (forward, right).normalized; //новая версия //var up = Vector3.Cross (joint.axis, joint.secondaryAxis).normalized; //var forward = Vector3.Cross (up, right).normalized; Quaternion worldToJointSpace = Quaternion.LookRotation (forward, up); // Transform into world space Quaternion resultRotation = Quaternion.Inverse (worldToJointSpace); // Counter-rotate and apply the new local rotation. // Joint space is the inverse of world space, so we need to invert our value if (space == Space.World) { resultRotation = startRotation Quaternion.Inverse (targetRotation); } else { resultRotation = Quaternion.Inverse (targetRotation) startRotation; } // Transform back into joint space resultRotation *= worldToJointSpace; // Set target rotation to our newly calculated rotation joint.targetRotation = resultRotation; }
Все таки юнити как то хуево выглядит. Вроде правильно пбр все дела, но некрасиво, чего-то не хватает, в анриале любой примитив годно смотрится, может фильтры какие-то хитрые.
>>548666Арт хуевый. Плохая палитра. Давай одни и те же ассеты в разных движках, чтобы было честное сравнение.
>>548699Из фильтров скорее всего пост процессинг v2 и всё.https://youtu.be/pJHy5ecLtiI>>548700С тобой не согласны не только тут, но и там>incredibly beautiful>looks awesome >This is really a fantastic looking
>>548710Ты не понял иронию. Дело было так:>>548666> юнити как то хуево... в анриале годно смотрится, может фильтры какие-то хитрые>>548691> пост с охуенным юнити, которое уделало анрил всухую>>548699> Может фильтры какие-то хитрые?
>>548714>пост с охуенным юнити, которое уделало анрил всухуюЮнитидолбоеб, ты совсем в шары долбишься. Обычная говно демка, материалы металла и асфальта, хуйня. Это не красиво, а нормально.Лучше дайте ссыль на какой-нибудь гайд или ассет с волосами годными в юнити, а то одно говно.Типа такого, там внизу мармозетский вьюверhttps://www.artstation.com/artwork/qA0rg2Или такого, хотя вряд ли в юнити такое возможноhttps://docs.unrealengine.com/en-us/Resources/Showcases/PhotorealisticCharacter
>>548721https://www.youtube.com/watch?v=KV4uYQjI4OEБуквально 2 секунды в гугле. Проблема всяких ноющих чмошников не в том, что тот или иной движок лучше/хуже, а в том, что у них руки из жопы растут.
>>5487215 стадий принятия неизбежного:Отрицание ты был здесьГнев теперь ты здесьТорг ДепрессияПринятие
>>548728Если ты будешь помогать людям, которые в первом предложении сыпят оскорблениями, а во втором просят помощи, то тред будет состоять из таких людей на 90% минимум.Помогай лучше тем, кто просит с уважением нормально. А этого петуха игнорируй.
>>548728Реально юнитидауны иногда сумасшедшие попадаются, не ты вчера про блендер пбр за пару сек нагуглил, тупица? Волосы для игр не делаются тысячами волосинок, придурок.>>548732А разве если человеку помочь и он полюбит юнити он продолжит срать в треде, даун? Хорошая у тебя логика.
>>548733>Ну и видос с "доминацией" уе4Но доминация продемонстрирована уже тут>>548721, юнитидаун, а ты какую-то васянскую хероту запостил.
>>548734> человеку помочь и он полюбитМожно прилететь на планету, на которой ты живешь и обнять тебя?
>>548721Причем тут движок, придурок? Движок - это менеджмент ассетов и логика. Рендер - это шейдеры, в том числе пользовательские.Какой ты шейдер кожи сделаешь/купишь в юнити, настолько у тебя будут реалистичные персонажи.В уече шейдеры из коробки лучше (читай: более ресурсозатратные), но в юнити на мой взгляд с шейдерами и вообще проще работать
>>548734Дебс, ты что-то писал про производительность в своем вопросе? Нет? Вот и обтекай.Из твоего же примера>Hair geometry using UE4's hair shader is generally going to be constructed using a series of non-planar sheet surfaces, which is a common approach in many real-time hair solutions. These can be authored in the DCC app of your choice.Унрыл предлагает тебе самому делать геометрию и самому завозить текстуры кстати, у них просто шейдер есть. В упити уже давно присутствует пбр, есть блядь куча ебаных демок, которые можно скачать и выдернуть шейдер на волосы и импортировать геометрию+текстуры из уеча. Так что тебе, дауну, еще нужно? Кнопку "сделать пиздато"?
>>548741Это даже не битва шейдеров, а битва ассетов. Вот видос с дефолтным шейдером юнитиhttps://www.youtube.com/watch?v=LuxX08Q8v_AОхуенно смотрится, только вот сколько долбоёбов из гд могут использовать фотограмметрию? Несколько или нисколько? >>548743>производительностьhttps://www.youtube.com/watch?v=p1JZijEO3B8100 фпс же. Охуенная производительность.>Волосы для игр не делаются тысячами волосинокhttps://www.youtube.com/watch?v=VFWr44ZIEZcПока уе4едауны сосут вчерашний день и делают волосы плашками, юнитигоспода вкатываются в новый стандарт индустрииhttps://www.youtube.com/watch?v=GEa8HBX1X0A
>>548743>Дебс, ты что-то писал про производительность в своем вопросе? Нет? Вот и обтекай.Юнитипидрилка нагуглила крутые волосы, которые непригодны для игр и что-то верещит.>>548743>В упити уже давно присутствует пбр, есть блядь куча ебаных демок, которые можно скаТак я и просил гайды или демки, а ты начал выделываться как ебанько.Итог, вы так и не представили ни одного гайда или демки (из якобы кучи), чтоб можно было посмотреть вот эти текстуры, вот так охуенно это выглядит (хотя бы как в мармозетовском примере >>548721 ). От вас просто какие-то эксперименты с партикловыми волосами, которые пока никто не юзает. Значит на юнити это очень сложно или невозможно сделать. И вообще это говорит о том, что вы просто не в теме и не пытались сами сделать. Только юнитикукареки.
>непригодны для игрЭтот дебич застрял в 90х. Уже лет пять во многих играх такие волосы.https://www.youtube.com/watch?v=M8Nhe34sHJs
>>548769Давай короч демку одну из кучи ебаных демок с такими волосами, потесчу, или юнитипиздабол. Ну мы же знаем что ты балаболка обыкновенная. Ты юнити-то хоть раз открывал, ты по ходу только ютуб юзать умеешь.
У меня в скрипте есть IEnumerator Start_dialog функция, которая выводит субтитры на экран. Мне нужно сделать функцию "Choice", которая показывала бы игроку варианты выбора ответов в диалоге, при этом субтитры должны перестать отображаться, пока игрок не выберет реплику своего персонажа. Проблема в том, что у меня от этой функции виснет весь юнити. Пробовал сделать функцию "Choice" как IEnumerator и вызывать её в функции Start_dialog через yield return Choice(), но всё равно юнити намертво зависает. Как остановить функцию Start_dialog, не останавливая при этом всю игру?
>>548773А не шёл бы ты нахуй? Вот тебе одна демка и тести.https://mega.nz/#!14UwUCzS!izFVVzGufLZooN9riQ1FcwiMq3XWK5nYXyLm2dGyhgo>>548796В спорах рождается истина. А вообще пошёл я игры делать. Нахуй срачи с уёбками.
>>548806> если в функции "Choice" есть бесконечный цикл, то юнитине> зависаета обрабатывает бесконечный цикл. И, заметьте, делает это лучше уеча.
>>548806Всё, кароч разобрался. Оказывается нужно было после каждой итерации в цикле возвращать yield return null;
>>548802>Вот тебе одна демка и тести.Прикольно она работает, вблизи 38fps, вдали 100, в игре объявление - ребят, близко не подходите, а то зависнет. Три зверюги, и юнити фсе. Кучи демок, устаревшие технологии, вы конченные балаболы, что и требовалось доказать.
>>548811- раздался пронзительный голос со стороны параши.Но пацаны, как всегда, не обратили внимания на это визгливое кукареканье. Пусть кукарекает, что с него взять?Петух — не человек, и сегодня ему предстоит очень трудная ночь. У него уже в течение полутора лет каждая ночь была очень трудной, и теперь его анус был разработан настолько, что он без труда мог спрятать в нём банку сгущёнки.
>>548811Вдали 100 фпс, вблизи 100 фпс. В игре требование - обновите железо. Для даунов, кстати, поясню, производительность не зависит от юнити, там плагин от нвидия, который с 2015 уже в играх используется повсеместно.https://developer.nvidia.com/hairworks>>548814Ну да, что-то серуны сплошные вместо спорщиков.
>>548825>Это не юнитиговно лагает, это не волосня лагает, это тебе нужно купить gtx2080!Так вот оно какое, юнитиговно, требовательное к железу. Вот бы волосню можно было сделать менее требовательной, но нет, юнитиговно на это не способно, только анриал может.
>>548848У меня 1050ти, значит юнитиговно нестабильно и по разному у всех работает, это вообще позор. Вас это не настораживает, юнитидауны? Ну вот еще один пример.
Есть какие-нибудь ассеты или руководства для создания диалоговой камеры, типо как в ведьмаке? Т.е. что бы камера фиксировалась на том персонаже, который сейчас говорит.
>>548873> ассет что бы камера фиксировалась на том персонаже, который сейчас говоритНадеюсь, что нет. Возьми готовый ассет и прикрути к репликам переключение между камерами.
>>548883Руками поставить камеру не судьба? (Предыдущую можно даже не отключать). Результат от автопостановки камеры может тебя очень неприятно удивить.
>>548879>Это не ты исходники годдота подправлялНет>>548860А что ты скажешь, если не подтасовал? Как будешь оправдывать этот косяк? Нвидия продажная? Драйвера? Петушина.
>>548893Т.е. вручную писать диалоги тебя не смущает. Не смущает тебя и продумывать требования и последствия к отдельным репликам. И хитрые взаимодействия разных диалогов тебя не смущают. А вот именно камеру поставить - непосильная задача? Ладно, сходи-ка лучше в пизду.
>>548883Возьми вращение чарактера и прибавь к нему 180 градусов. Не забывая обрезать 360, если получаем больше. Алгоритм простейший же.
>>548907Бля, а ты же не думаешь что Ведьмаке или там любой другой рпг-параши камеру для каждого ссаного диалога настраивали?
>>548916Так и реплики не писали - нахуй надо. А то еще озвучивать, переводить на 40 языков и опять озвучивать.
>>548921Не неси хуйню. Алгоритм камеры в ебало делается изи. Но расписывать мне лень, я кушою. Ебитесь сами.
>>548924Вот всё тебе расписывать надо. Голову собеседника просто вращаешь на 180 градусов. В юнити вообще есть LootAt, кстати.
>>548931> Голову собеседника просто вращаешь на 180 градусовИ оба перса смотрят в камеру. Собеседник как пикрил, ГГ скрыт за ним.
Для диалогов лучше делать две камеры и между ними переключаться или лучше делать одну камеру и её поворачивать?
>>548967Как мы уже выяснили, поворачивать надо головы персов, а не камеру. Камере, вообще, надо static указать, никуда не поворачивать - пусть болтается, как в редакторе поставили. Две переключать, конечно. Красивый разворот/отъезд камеры это уже не по-индюшачьи.
>>548969>Две переключать, конечно. Красивый разворот/отъезд камеры это уже не по-индюшачьиНу можно, к примеру, гасить экран перед поворотом камеры, а потом его снова зажигать.
>>548972Напомни, для чего используется этот монтажный прием? Насколько я помню, он чутка разделяет сцены; показывает что между "было" и "стало" прошло какое-то время, например. Не?
Бля, воспользовался LookAt, а он направляет камеру на ноги персонажа. Как его заставить на ебало смотреть, а не ноги?
>>549012Ну и нахуй мне тогда вообще этот LookAt если бы я сразу могу и так вращать? Ладно, оказывается моделька разбита на рёбра и прочую парашу. Среди них есть Head и на него можно направится через LookAt. Только как получить доступ к ребру Head? Transform.Find(), если я правильно понял, ищет только среди детей, а внуков и правнуков уже не ищет. Писать Transform.Find("Root").Transform.Find("Ribs").Transform.Find("Neck").Transform.Find("Head") по моему не вариант. Есть какой то более православный метод найти пра-правнуков исходного gameObject?
>>549024> найти пра-правнуков исходного gameObjectОх, наебешься же ты в разработке. Связи должны быть прямые, очевидные. Задаешь контроллеру диалогов камеру и на какой объект смотреть.
Как научиться обращаться с трехмерными экшен-платформерами? К примеру я хочу закодить объект так, чтобы он умел бегать по стенами определенный период, но при увеличении скорости мог оставаться дольше на объекте. Как решение такой задачи гуглить? How to make your character run on walls in Unity?
>>549024https://answers.unity.com/questions/799429/transformfindstring-no-longer-finds-grandchild.htmlЕсли не хочешь так каждый раз делать, обойди иерархию при инициализации и скинь результаты в hashmap/map. Но будут нужны уникальные имена, для однозначной идентификации
>>549049Думаю, тебе нужна управляемая сила для каждого объекта https://forum.unity.com/threads/setting-the-gravity-of-an-object.312147/
>>549049>Как решение такой задачи гуглить? Пиздос, блять. Дожили. Я просто в ахуе.Ладно там синтаксис нагуглить или какой-то алгоритм. Но блять, тупо логику работы гуглить это пиздец.Короче бросай геймдев, бросай программирование, это не для тебя.
>>549063благодарствую>>549064>бросай программированиея еще и не начал, маня, уйми пердак. На зло тебе пойду теперь =)
>>549081Так я и не отшучиваюсь, а вполне осознанно заявляю, что ты - даун, который влез хуй пойми куда, был накормлен хуями и теперь в попытках сохранить лицо из последних сил пытаешься меня якобы деморализировать своими унылыми вскукареками, но в ответ получает лишь хуй за щеку. Твой ход, чушка.
>>549084>речь на 99% состоит из заученных на двачах диалогах>"осознанно заявляю"Лол. Удачи тебе, хули еще сказать.
>>549087>"осознанно заявляю"Назови хоть одно правило в русском языке, которое не допускало бы такого словосочетания.>речь на 99% состоит из заученных на двачах диалогахТвоя из вконтакта и че? Мой вопрос никаким образом не предопределяет наличие навыков кодинга, его суть - "как сделать 3д платформер с такой-то физикой и че гуглить". Все. У тебя нет ни единого основания делать какие-либо выводы да и мозгов нету, чтобы их грамотно изложить, если бы оно и было.
>>549093Хорошая у тебя позиция, безосновательно нарекаешь дауном, при этом сам делаешь глупые ошибки в понимании смысла и составлении запроса, и пытаешься приплести сюда "аргументированные основания, выводы". Молодец.
>>549098>безосновательно нарекаешь дауномТо есть твои попытки приписать мне действие "отшучиваешься" и "идешь нахуй" раскрывают твой образ, как человека знающего, мудрого? Нет, ты анальный клован, который влез куда не просили.>при этом сам делаешь глупые ошибки в понимании смысла и составлении запросаКакие такие ошибки, довен? У друго анона не возникло проблем с ответом на запрос, а ты подгорел на ровном месте. Пиздуй на процедуры уже да таблетки прими.
>>549024Transform.Find("Root/Ribs/Neck/Head");Но это пиздец. Если у тебя в игре не 50% полуросликов, то используй для высоты константу.>нахуй мне тогда вообще этот LookAtЧтобы быстро получить нужный вектор, очевидно же.>>549049Вопрос настолько пиздецовый, что я не могу на него ответить.
>>549048>Задаешь контроллеру диалогов камеру и на какой объект смотреть.А в Юнити у всех объектов уникальные имена? Даже у дочерних? Или могут существовать два объекта с одинаковым именем?
Сап геймдач. На мобилке есть сцена с примитивными нпс (кричеры) 10-15 штук. Какой тип анимации меньше кушать будет? Костная (Костей примерно три-четыре) или вертексная, морферами?
>>549172Из коробки гпу-акселерация есть только у скиннед мешей. Кости. Есть вертекс морфер с гпу ускорением на форуме юнити.
>>549110> уникальные именаКакие еще имена, ебёнь? Ссылка на GameObject, а лучше (или не лучше, тут я хз) на специально созданный компонент LookCameraTo. И обязательно сцена с примером как эта подсистема должна работать (возвожмно, даже строго без префабов в такой сцене).
>>549112Вместе веселее же. Мимо-анонДавай даже так:- Я открываю редактор и пытаюсь создать диалоговую систему. Через час она пишет ошибку сериализации.Теперь редактор у тебя - что делаешь?
В каких случаях в компоненте Light в пункте mode нужно ставить запекание или реальное время? От чего это зависит? Как мне узнать что лучше поставить?
>>549223Я то думал что если объект двигается перед источником света то значит нужно реалтайм если объект статичен то подойдет запекание а оказывается все наоборот.
Как проще всего сделать координатную сетку в Юнити? Кубиками? Типо 1 кубик - 1 клетка? Или есть способ проще?
>>549275Вообще, в юнити и так есть координаты. Принято так: одна единица равна одному метру. Т.е. куб 1х1х1 это куб метр-на-метр-на-метр, если смещен на 15 по иксу, то он смещен на 15 метров.
>>549280Суть не в этом, суть в том, что мне нужно сделать именно видимую сетку. Которая прямо во время игры будет проявляться.
Слушайте, вот как сохранять обычные значения, координаты и прочее в статичном мире это понятно. А как сохранять рандомно генерирующийся манямир? Обьектов может быть тысячи, не прописывать же каждый ручками?
>>549321Прозрачную текстуру сетки натяни.Хотя еще есть vectrosity, но с линиями из большого числа сигментов она просаживает фпс.
Возможно ли при в 3д игре с видом сверху запилить сорт оф зрение относительно персонажа? Тоесть есть персонаж, на него сверху смотрит камера, по дефолту камера видит все обьекты на сцене, а возможно ли заблокировать те участки, которые невидимы с точки зрения персонажа? Тоесть допустим перед стеной стоит персонаж, а за стеной ничего не видно потому что обзор от персонажа заблокирован? Как это можно реализовать? Пробовать через освещение?
Блядь, не могу отключить ебанный скрипт. Скачал ассет "third person controller", работает, вроде нормально, но мне нужно во время выполнения моего скрипта отключить скрипт "vThirdPersonInput", но хуй там плавал. Это пидорасина просто не находиться. GameObject.Find("V Third Person Input"); возвращает nullКласс vThirdPersonInput просто не видит, соответственно через GetComponent<> тоже не выходит ничего найти. Как, блядь, мне получить доступ к этому сраному скрипту и вырубить его нахуй?
Бесплатный персонаж нигга из ассет стора не отбрасывает тени, в чем может быть проблема? Мой первый опыт собрать что-то не по туториалу
>>549546Ты удивишься, но GameObject.Find ищет геймобджекты, а не компоненты.https://docs.unity3d.com/ScriptReference/Object.FindObjectOfType.htmlИ без пробелов, пробелы добавляются в редакторе просто чтобы читалось лучше.
>>549314Берешь и сохраняешь каждое деревце и домик в скрипте. Как ты по-другому сохранишь координаты N объектов, если не писать каждый из них в файл?
>>549565Все стандартное, сейчас поменял направление камеры и вообще тени пропали в ортографической проекции, в редакторе только нигга не отбрасывает тени.
>>549574Пробовал, не помогает С ортографической проекцией разобрался, камера была далеко, а с ниггой все еще проблема
>>549555>>549583В общем дело было в Unlit шейдере, с ним тень не отбрасывалась, буду переключать на дефолтный. Двачику все равно спасибо.
Кароч, я хочу сделать клетки используя Plane. Нахуячил кучу плоскостей, но, бля, они сливаются все в одну. Как визуально их разбить на клетки? Попробовал какой то ассет Quick Outline, но он хуита полная.
>>549563Блядь, да не видит он класс "vThirdPersonInput". В упор сука не видит. Как добавить его в область видимости моего скрипта? using не помогает.
>>549625Класс с прописной буквы называется? Попробуй в vscode "Third" ввести и посмотреть на автодополнение.
>>549629Я так и делаю, и там отображается только "vThirdPersonCamera", а "vThirdPersonUnput" нихуя. Названия класса, кстати, именно с маленькой буквы.
Есть вот такая текстура. Как её присобачить к материалу? Что бы у объект был цвет материала, а по краям были чёрные линии этой текстуры. Пробую перекинуть текстуры на объект, но исчезает материал объекта. А если снова закинуть материал, то исчезнет текстура. Как сделать так, что бы они одновременно весели на объекте?
Как для UI Button создать свою событие на onClick()? А то он разрешает выбирать только функции, типо OnMouseDown() и прочие события связанные с нажатием мышки.
>>549782Как-то можно, но я особо не вникал.https://unity3d.com/ru/learn/tutorials/topics/interface-essentials/building-custom-inspector
>>549546Блядь, так и не могу отключить этот ебучий скрипт. Как его найти? Почему он не появляется в IDE?
>>549761Глянь чибзика этогоhttps://youtu.be/zc8ac_qUXQYТам ещё есть чутка про уи, объясняет мало, но то что тебе нужно - есть.Через инспектор как-то делает
>>549546Почему вы все такие больные что-то ищете через Find? Вы не смотрели ни одного обучающего видео Unity? Создай ссылку и работай с ней.Если объект спавнится, запоминай ссылку во время создания.Используй пулы объектов.
>>549892Что как? Создал объект. Запомнил его в поле класса.Ты только что пятый класс закончил?У меня дети на скратче лучше программируют.
>>549870Блядь, спасибо, я до этого как то догадался. Только одна проблема, что бы отключить компонент, нужно написать следущею команду:GameObject.Find("vThirdPersonController").GetComponent<vThirdPersonInput>().enable=false;А моя IDE НЕ ВИДИТ класс "vThirdPersonInput", блядь, и поэтому выкидывает исключение.>>549891Ты блядь вообще поехавший, мне не геймобжект нужен, а компонент геймобжекта. И всё проблема в том, что я не могу получить ссылку на этот ебучий компонент.
>>549917Нахуя? Открыть скрипт в IDE я и так могу. Проблема, блядь, в том, что мой другой скрипт не видит этого скрипта, соответственно не может его отключить.
>>549922Пиздец, ты ещё детский сад не закончил?Пройди хотя бы один простенький курс по шарпу, прежде чем раскидываться хуями направо и налево.Ссылку, блядь, он получить не может. А лизать залупу у юнити у тебя отлично получается. Долбоёбина.
>>549922Ты пробовал тег повесить на объект и через равенство или например comparetag привязать объект.Либо делай поэтапно с проверками.Мб он у тебя где-то стопится из-за хуйни.И вопрос, в каком месте/скрипте ты хочешь отключить этот скрипт?
>>549943Всё мимо, анонче. У этого долбоёба левый чарактер контроллерhttp://www.ricardoferro.com/jorgenegreiros/vAPI/API/html/class_invector_1_1v_character_controller_1_1v_third_person_controller.htmlЕстественно, без прописанных неймспейсов не работает и работать не будет. Но раз этот долбоёб настолько токсичный, то нехуй и подсказывать, пусть залупу сосёт.
>>549910Что тебе понятно, долбоеба кусок?Ты спрашиваешь вещи, которые очевидны любому, кто на базовом уровне знает шарп и юнити. Пиздуй обучалки смотри.
Нужна помощь с математикой, читаю кнннигу по матану и все равно не могу решить задачу.Дано: делаю твин-стик шутер с видом сверху, есть контроллер анимации персонажа который принимает относительные координаты h и v для перемещения в пространстве.Сейчас сделано так, что при нажатии кнопки вперед персонаж движется в сторону взгляда.Хочу, чтобы независимо от направления взгляда при нажатии на кнопку вперед персонаж на экране двигался вверх.Точно должно быть элегантное решение, перемножение матриц и вот это все хуе-мое.Куда посмотреть, что почитать?
Как задать локацию объекта на сцене? Пишу название объекта в vs, он его не видит и не знает. Новичок в юнити, перекат из ue4
>>550029В таких случая делают пустой объект который прикрепляют дочерним объектом к персонажу а к пустому объекту прикрепляют саму камеру и тогда поворот взгляда не меняет направление.
>>550046Там хуйня какая-то. Если знаешь как конкретно эту хуйню сделать скажи плиз. Я пытаюсь понять как тут все работает
>>550033Спасибо за подсказку, с InverseTransformDirection получилось то что нужно. (InverseTransformVector тоже работает, разницы не отразил)
>>550102Тут есть один нюанс, как бе. Допустим, я тебе скажу, что Instantiate и AddComponent возвращают ссылки на то, что сделали, ты же все равно не поймешь, о чем речь. И будешь дальше акакать в треде, вместо того, чтобы сделать пару обучающих проектов, разобраться и не доебывать анонов с базовой хуйней.Твои вопросы это что-то уровня "объясните, как писать букву ж".
>>550102Просто для тех, кто посмотрел первый урок это выглядит примерно как:- Парни, как мне добраться до библиотеки?- Прямо и направо- НО КАААААКК?- В смысле как? Вон туда иди 100 м, повернёшь направо и ещё 50 иди.- НО КААААААК?- Ходят ногами, блядь, дебил необучаемый- НО КААААКК?НАхуй я тебе это объясняю вообще. Иди уроки смотри.
Кароч, проблема была в том, что я неправильное имя указывал в using, так что теперь я смог найти и отключить этот злосчастный скрипт. Алсо, половина постов написано не мной, а каким то троллем.
>>550148Ну, ничего другого от типичного двачеребенка мы и не ждали. Располагайся под шконкой, нарекаю тебя именем Акакий.
>>550324Хуй знает, жалко крайтеков. Мало того, что на грани банкротства, так ещё с кидалами связались. Надеюсь просто в порыве хайпануть, а не реально сотрудничать.
Как мне сделать два спрайта, использующих одно изображение, но показывающие разные его части? Увишки менять или что? А если анимировать эти спрайты захочу? Я примерно представляю, как оно должно работать, но хочу мудрые советы услышать.
Почему в юнити почти каждая функция отдельный класс? В чем смысл? Отдельный класс для ходьбы... Чё за бред. И почему скрипты нужно прикреплять к объектам, а не объекты вставлять внутрь скриптов?Как тогда осуществлять процедурную генерацию, выбор чараткер меша в зависимости от условий, рандомные выборы мешей. Как собирать объекты в готовые составные части чтобы юзать и в других уровнях. Чё за бред
>>550463>Как тогда осуществлять процедурную генерациюМного ли ты видел игр на unyti с нормальной процедурной генерацией? То-то и оно.
>>550489распидор, твой хуец сосет только твоя рука, судя по твоему круглосуточному дежурству в /gd/а теперь гавкни еще )
Сука, ебанный Юнити кириллицу в рот ебал.Почему когда я использую кириллицу, то она блять сама по себе отображается, а числа, переводимые в string - нет? Без кириллицы все в порядке.
И все таки, как запилить сохранение рандомно создаваемого мира? В каждый обьект сувать скрипт который при своем рождении или перемещении будет отсылать данные о себе в скрипт который отвечает за сохранение? Не слишком ли много информации нужно будет создавать? Ведь обьектов на сцене может быть очень много.
>>550537Отдели геймобджекты от их содержания. Сериализуй дату в JSON, либо списком, либо деревом, либо сложным объектом. Тут как тебе удобнее будет.Информации не слишком много. Гораздо больше надо заботиться о том, что происходит на сцене, а не о сохранении данных.Один раз создал, сохраняешь. Этот >>550541 правильно сказал, что можно сохранить seed для рандома, если у тебя мир генерится динамически.
>>550541Сид предположим я сохранил. А как быть дальше, допустим из определенного ящика в процессе игры вытащили предмет, как сохранить это изменение? Ведь при загрузке будет использоваться стартовый сид.>>550545> Гораздо больше надо заботиться о том, что происходит на сцене, а не о сохранении данных.Проблема у меня только с тем что задачи на сцене для меня более понятны в решении чем работа с данными.> Один раз создал, сохраняешь.Предположим что некий сид в спавнит два обьекта. Один обьект я уничтожил в процессе игры. Куда мне сохранить эту информацию? Изменить сид? Или добавить некую службу которая при загрузке стартового сохраненного сида будет изменять сцену исходя из записаной даты в файле?
>>550546>А как быть дальше, допустим из определенного ящика в процессе игры вытащили предмет, как сохранить это изменение?Можно генерировать объекты в сундуке во время открытия, можно сохранять уровень и тип ящика.>>550546>Один обьект я уничтожил в процессе игры.Этот объект у тебя пропадёт из списка сохранённых.Можно оставить список в покое, но указать статус "destroyed".Эти проблемы решаются по мере поступления. Это не должно быть так сложно.Имей в виду, что последовательность создания объектов надо сохранять, конечно же. Тогда генерация не пострадает.
>>550546Можно сохранять в таком виде:{"locations": [ {"items": [{"Name": "sword", "state": "broken", "location": [1.02, 7.35]}, {"Name": "mamka_opa", "state": "fucked", "location": [2.2, 8.8]} ]}]}Т.е. в сейве у тебя есть список локаций с параметрами, внутри списка локаций есть список итемов, их состояние и где они лежат. При загрузке локации ты это дело парсишь и расставляешь ассеты там где надо. И править удобно.https://ru.wikipedia.org/wiki/JSON
>>550634Вот тебе и ответ, такое количество объектов чрезмерно. Вообще хватит плодить майнкампфы, заебали.
>>550635Это не майнкампф, это мое видение 3д кококлизма DDA. Пока что просто разбираюсь с параметрами генерации.
>>550638Если вкратце, тебе нельзя генерировать столько кубов. Генерируй только видимые поверхности. Ну и не используй деревья, если планируешь пересчитывать рантайм, лол, я на этом погорел.
Мне в скрипте, в одной из функций, нужно дожидаться того, что пользователь нажмёт на элемент интерфейса. Как это лучше всего проверять? Пока есть такая идея: повесить на каждый элемент интерфейса скрипт, в котором есть функция onClick(), при срабатывание которой этот скрипт записывает значение в public переменную исходного скрипта, который ожидает, что элемент интерфейса будет нажат, и который будет в бесконечном цикле проверять эту переменную.Чувствую, что это способ очень корявый, как можно это сделать лучше? И вдогонку ещё один вопрос. В рпг и не только есть диалоговые кольца или просто ряд реплик, которые можно выбрать. Так вот, эта реплики, которые выбирает игрок, лучше делать как Button или же просто как Text?
>>550612>ЗаброшенДа если даже заброшут, маняюнити даст посасать многим движкам за счёт своего удобства в 3д (в 2д чёт хуево, ето да)
>>550721Блядь, щас бы для проверки нажатия кнопки отдельный паттерн пилить. Разве это задача в юнити уже не решена?Вот в GUI есть метод, который создаёт кнопка и ожидает, когда она будет нажата. в UI есть что то похожее?
>>550638>cataclysm dda>на unytiЛучше сразу забудь, в лучшем случае получится тормозной огрызок, в котором нет и половины фич оригинала.
>>550961М-А-Р-К-Е-Т-И-Н-ГС настоящим data-driven ecs, который любят за производительность, не имеет ничего общего.
>>55100450к кубов шевелились в 60 фпс на моей древней пеке. Лично я перекачусь ближе к релизу, когда физон добавят.
Скачал стандартные ассеты. Я хочу использовать только ассет first person controller (добавляет ходячую капсулу с управлением клава+мышь). Если при импорте поставить чекбокс только на нем, то сначала выдает ошибку, что не может найти CrossPlatform. Если все же импортировать и этот CrossPlatform, то ему опять не находит какие то библиотеки.Я пробовал и так, и эдак, но проблемы нет только когда импортирую ВСЕ из стандартных ассетов.Что я делаю не так?Мне просто нужна ходячая капсула от первого лица, почему я должен качать все остальное
Можно ли как то скрыть интерфейс, кроме как с помощью SetActive()? Т.е. просто скрыть его, а не выключать объект.
Почему в Unity никак нельзя вывести в инспектор настройки параметров скрипта с типами как "int?", "float?" и т.д.?Сделал всё как документации - создал отдельный серелизуемый класс, занёс в него все нужные параметры, но в инспекторе отображаются все параметры, кроме "int?", "float?".
>>550945Большая часть фич не связана с тайлсетовой механикой так то.>>550668Сейчас попробуем создать большой мирок, надеюсь LOD поможет.LOD конечно помогает, поле из 500х500 кубов создалось нормально, 708х708 уже начал гадить ошибками что превышен лимит включеных коллайдеров на сцене. Собственно идея по оптимизации появилась, а что если еще и выключать все коллайдеры которые не в определенном радиусе, некоем бабле так сказать.>>550668Чому нет?
>>551089Да кароч, я уже нагуглил, что юнити Nulleble типы вообще не поддерживает. Но появилась другая проблема. Мой Property Drawers почему то возвращает пустой объект. Т.е. там у всех параметров стоят либо 0, либо null. И в инспекторе все параметры расставил. Вот класс, который я использую для Property Drawers:[System.Serializable] public class Dialogue_options{ public GameObject Collector; public float Time; public int Point; public float Distance;}Вот так он объявляется в скрипте:public class MyScript : MonoBehaviour{ public Dialogue_options options;}Во время выполнения скрипта объект options создаётся, но все параметры объекта, как я уже сказал, выше имеет значение либо 0, либо null, а не то, что я вставил в инспекторе. Что я делаю не так?
Забыл для партиклов прописать, что бы у них при колизии обнулялась скорость. прикольные рикошеты получились.
https://forum.unity.com/threads/unity-freeze-when-connecting-vs-debugger.529863/Сталкивался кто? Пиздец не могу уже, через пару запусков с помощью дебугера юнити вешается намертво.
>>551091>Чому нет?Я тот самый довен, который пилил майнкампфоподобную хуйню. Слился, кстати, на непонимании, как оптимизировать пересчёт мешей. Теперь-то я знаю, но пилить кубы влом. Потом я генерировал ещё меши и деревья оказались просто пиздецки медленными, в десятки раз хуже массивов.
>>551147Не знаю, я пока не могу осилить нормально управляемую генерацию манямирка с кубическим полом посему скорее всего буду пробовать рандомные префабы чанков с лесом, городом и прочим.
>>551152>рандомные префабы чанков с лесомБля, я ему про алгоритмы, а он мне про ландшафт. Честно говоря, похоже, что тебе нужно дохуя учиться и рогалик ты выпечь не сможешь. Вообще нахуя тебе кубы? Кококлизм твой построен на копании? Нет? Генерируй любую плоскость - n*4 вершин, потом элементарный трис фан и готово.
>>551154> Честно говоря, похоже, что тебе нужно дохуя учиться и рогалик ты выпечь не сможешь.Все так.Кубы это первая тулза для генерации рандомного мирка которая пришла в голову. Хотя можно и просто плоский мирок для начала оформить.
>>551162В инспекторе чего ты расставил параметры? Разве там можно ставить скриптам дефолтные значения?
Можно как то на время запретить ввод с клавиатуры? Что бы нажатия клавиш не считывалось вообще и Input возвращал со всех клавиш 0
>>551158Так, может, тебе вообще процедурный террейн не нужен? Если нет планов его активно крушить, то лучше использовать дефолтный юнити террейн. Гуглишь алгоритмы по типу шумов перлина, диаграмм вороного, генерируешь карту высот и в путь. Хотя по той же карте высот я вот кубы генерировал.>>551175Я так понял он пытается создать скриптейбл объект, но вместо этого просто втиснул тег сериализации. Очередной неосилятор справки.
>>551175>>551179Да нет, проблема была в том, что у меня был другой объект, на котором весил такой же скрипт, но я ему забыл выставить параметры.
Как импортировать json файл в юнити как TextAsset? А то юнити не воспринимает мой файл как TextAsset.
>>551198И так было json. И на txt пробовал менять. Всё равно нихуя, не распознаёт файл как текстовый. Что за хуйня? Я без этого текст не работает в билде.
Я слышал, что у вас в треде многие скучают и ждут крутых идей. Почему вы до сих пор не сделали клон dota autochess? Это же эталонная и протестированная механика для онлайн мобилки сессионной, ещё и монетезировать легко.
>>551276Не кощунствуй, тут весь раздел крутится вокруг "сделать клон %игранейм%, только хуево и про мемы".
Скачал Skybox/Cubemap extended, можно ли добавить солнечный диск?Или его нужно непросредственно на текстуре рисовать?
Назвал пару объектов в сцене русскими буквами. Очень понравилось. Это нормально вообще? Вродеб всё работает, но как-то это не точно. Есть внятные гарантии/документация на этот счет. Юнити мне гарантирует что оно будет работать на всех главных платформах. Ну или хоть на винде крашиться от кирилицы не будет?
>>551617Некоторые программы нормально не работают если учетка содержит что-то кроме латиницы, а ты про игровой движок спрашиваешь.
>>551712Название геймообдекта это просто строка, которую показвают пользователю. Сам движок оперирует айдишниками.
>>551789Сейчас бы в 2к19 не отличать скриптовое API от исходников движка.Хотя, чего ожидать от unyti-животных, они и c# от unyti не отличают, думают что это одно и то же.
>>551617Ты совсем еблан штоле? Начнём с того, что твоя поделка будет крашится вообще на всём, где не будет установлено русского языка. Закончим ещё больше кучей проблем типа локали и карренси которое к тебе подрадётся сзади.
>>551745>Сам движок оперирует айдишниками.Да хоть чем он у тебя оперирует. Факт в том, что работать это будет только там где есть русский язык.
>>551826>>551827Хуйню несете, вот я скачал какую то японскую игру, у меня нет никаких японских языков и локалей в системе, распаковалось всё с хуевыми именами файлов из тире и точек. Ничего, игра запустилась и прекрасно работала, только конечно на японском языке. Так что поебать как у него названы объекты в редакторе.
>>551833Японские игры вообще через раз запускаются. Как раз твой пример показывает что разраб был грамотным и именовал внутренние обьекты на английском. А я только вчера ебался 4 часа пытаясь запустить очередного японца. Но вообще можно поступить проще, я скомпилил игру с одним русским наименованием менюшки которые всплывают сразу при запуске игры. И запустил на соседнем ноуте где нет русского. Игра наебнулась. Та-же игра, но с версией английского наименования - работает. Правда вместо русских букв в меню - каша. Но работает же. Другими словами ты просто делаешь много потенциальной ебли из-за какого-то совсем пустяшного профита.
>>551833Так тебе и говорят, что если объекты именованы на английском, у тебя любая игра откроется, а если на русском, японском - нет.
>>551617> Назвал пару объектов в сцене русскими буквами. Очень понравилось. Это нормально вообще? Вродеб всё работает, но как-то это не точно. Есть внятные гарантии/документация на этот счет. Юнити мне гарантирует что оно будет работать на всех главных платформах. Ну или хоть на винде крашиться от кирилицы не будет?Все должно нормально работать. Еще можешь и в скриптах на шарпе использовать русские имена и названия.>>551827> >Сам движок оперирует айдишниками.> Да хоть чем он у тебя оперирует. Факт в том, что работать это будет только там где есть русский язык.Везде будет работать. Лол, с чего она работать то не будет?>>551845>Игра наебнулась. Та-же игра, но с версией английского наименования - работает. Правда вместо русских букв в меню - каша. Но работает же.Она не на юнити была сделана. В юнити вся эта хуета в билд идет - и вообще насрать, что там есть на компьютере, а чего нет.
>>551851>Я написал игру на юнити, скомпилил её в 2 вариантах, с русскими наименованиями и без, тот что с русским вылетает при запуске на винде без русского.>НЕТ ПИДАРАС ОНА НЕ НА ЮНИТИ, Я ТЕБЕ РАССКАЖУ СЕЙЧАС НА ЧЁМ ТЫ ИГРЫ ПИШЕШЬ СЛУШАЙ СЮДА...Поехавший чтоле?
А можно ли сделать так чтоб часть код прилетал из вне, например с сервера, а через рефлексию его добавлять? Не обязательно то что класс наследуется от моноибхавор, смысл затеи таков чтоб приложение работало только онайлн, ну точнее еесли что пидорах можно было бы дропнуть без права пользования.
>>551902Что блядь шейдером? Тот кун хотя-бы подробности расписал. Нахуй ты советы даёшь если элементарно не можешь обьяснить подробности человеку?
ебать ты долбоёб братишка, земля те пухом. тебе аноны скрины показывают где чо тыкнуть, нет не хочу смотреть скрины, и погуглить тоже не хочу. причем сам твой скрин из тутториала где всё это дерьмо есть. размытости если хочешь то это тебе постэффекты качать надо, но учти, это сделает тебя пидарасом с постэффектами
>>551905Лан, я тоже буду отвечать на любой вопрос ШЭЙДЕРЫ, не особо вникая в подробности. Сойду за умного.
Пацаны, сильно зашкварно пользоваться визуальными скриптинг солюшенами? Типа playmaker или bolt. Думаю туда вкатиться, как оказалось я слишком дебс в программировании, может так что-нибудь высру.
>>551904Какие подробности? Ты заебёшься потом эту плашку двигать вслед за камерой. А теперь вопрос, если ты можешь натянуть на плейн блюр, почему ты не можешь сразу натянуть блюр на шар?>>551908Нет, на дефолтном процедурном небе блюма нет, это скорее оутлайн с размытием. Делается через шейдер, работает без постэффектов. Да и постэффекты тоже шейдер.
>>551930>ты не можешь сразу натянуть блюр на шар?Потому-что блюр на шаре будет выглядеть как говно, не?
>>551930> если ты можешь натянуть на плейн блюр, почему ты не можешь сразу натянуть блюр на шар?> натянуть блюр на шарчуваки, простите, а куда я попал? это точно гейдев конфа профессианалов гей дева??> на дефолтном процедурном небе блюма нетблюм есть повсюду и нигде. по сути дела, блум это дополнительный проход рендеринга, это кадр из игры, в котором отрисовываются только те пиксели, чьё освещение + яркость текстуры выше определенного предела, затем это всё размывается и накладывается на оригинальную картинку. если есть HDR, то эффект будет заметнее на контрастных кадрах, если нет то просто светлые пиксели будут иметь небольшой ореол.блюр же тут вообще ни при чем, блюр дает просто размытость. вот эти ахуительные затеи потипу ебануть плейн с блюром на место солнца и жить с этим дадут вам пикрел >>551936ДА А ХУЛЕ МЕЛОЧИТЬСЯ МОЖНО СФЕРУ СРАЗУ ЕБАНУТЬ. чтобы в удалённом ландшафте еще застревала
>>552028>ДА А ХУЛЕ МЕЛОЧИТЬСЯ МОЖНО СФЕРУ СРАЗУ ЕБАНУТЬ. чтобы в удалённом ландшафте еще застревалаДа можно сразу разместить сферу радиусом 6,9551*108 и разместить её на расстоянии 150млн км. Хули нет то.
>>552028>в удалённом ландшафте еще застревалаШейдором решается, просто добавляешь запись в з-буфер и вуаля, сфера рисуется всегда поверх всего.
https://blogs.unity3d.com/2019/01/31/unity-2019-1-beta-is-now-available/>Incremental Garbage Collection (Experimental)Теперь на юнити можно даже почти делать игры.
>>552133>Теперь на юнити можно даже почти делать игры.Год работы, а там хуйня какая-то, несколько мелких улучшений, галочки туда сюда поперемещали.
Как архитектура у ситискайлайн устроена? Боюсь, что если в лоб такое на отдельных геймобжектах в апдейтах делать - оно и при в десятеро меньших масштабах будет лагать. И еще, раньше находил блог разработчика академиа: скул симулятор, где он публиковал всякие статью по юнити и алгоритмам, но потом потерял. Может, кто подскажет?
>>552155Все просто - он сделан на ue4, а юнитеки им просто проплатили, чтобы они всем пиздели, что сделали на юнити.
>>552155Раз ты понимаешь, что херова гора объектов со скриптами не прокатит, то догадываешься, что нужны менеджеры, которые буду рулить херовой горой объектов.
>>546997 (OP)Какие преимущества у юнити перед анриалом? Или анриал полностью превосходит юнити по всем статьям?
Сап, двощВопрос: какие преимущества у scriptable object по сравнению с со своим кастомным классом, содержащим данные? В чём удобство то?
>>552257Судя по https://unity3d.com/ru/how-to/architect-with-scriptable-objects я так понимаю, что скриптейбл обжекст это просто способ обходится без синглтонов? Да, god-object это антипаттерн, но разве можно обойтись без него при реализации игры, которая использует процедурную генерацию? Это ведь приведёт к какому то пиздецу на уровне сериализации\десериализации сохранений. Например следуя даже совету >Создавайте сцены с чистого листа: избегайте существования транзитных данных между сценами. Всякий раз, когда вы вызываете сцену, должен происходить полный разрыв с предыдущей сценой и загрузка с нуля. Это позволяет вам иметь сцены с уникальным поведением, отсутствовавшим в других сценах, и без всяких заморочек.Если есть сцена Game, которая генерирует уровень процедурно, есть Menu, которая содержит главное меню. Как без транзитных данных разработчик должен сказать сцене Game и скрипту, который генерирует процедурно уровень, что нужно использовать именно определённый seed чтобы воссоздать уровень из сейв файла? Получается, что скрипт генерации уровня должен каким то образом узнать, что игрок пытается либо запустить новую игру (и использовать рандомный seed в ГПСЧ), либо загрузить сейв (и использовать сид, который был использован игроком ранее)Я вижу ещё конечно вариант с полным decoupling'ом процедурного генератора от игры вообще. Чтобы он работал в фоне, генерируя чанки лвла и сохраняя их в файлы, а сцена уже подгружала бы их отдельно в зависимости от необходимости. Но помоему это уже какой то лютый оверинжиниринг для команды, в которой один программист и один 3д артист, например.
>>552259а, т.е. это в нём я должен хранить сид для ГПСЧ, например? А он как то инстанцируется? или получается, что если у меня 5 слотов для сохранений, то должно быть и 5 обжектов?
В общем, хуита это какая то. Намного удобнее иметь собственные классы, в которых можно и сериализацию сделать, и мозг не ебать. Выглядит это как то ну очень странно. А пример, который приводит юнити про миллионы данных, которые занимают по 4 мб и при инстанциации обьекта приведут к бессмысленному потреблению памяти - чересчур гиперболизирован. Даже если смотреть в контексте огромного потребления данных, то чтобы был реальный ущерб игроку необходимо иметь не 10 и не 100 обьектов, а тысячи их. И то в современных реалиях если игра сожрёт гига 4 памяти в никуда, то это терпимая хуйня. Хромой вон жрёт всю память нон-стоп и ничего, остаётся топ 1 браузером. Вообще не понимаю куда движется юнити. Вроде пытаются и индюшатинке угодить, и при этом делают какие то бесполезные для инди фишки. Корпоративный сектор давно уже на других движках сидит, хули они рыпаются? Боль.
>>552264По дизайну он создается в редакторе, хотя можно и в коде, наверное.Ты ничего не должен, я ими вообще не пользуюсь, например. Глобальные данные храню в статическом классе, сейвы пишу в json.
>>552279>Глобальные данные храню в статическом классе, сейвы пишу в jsonНу вот я тоже так делаю. У меня есть game manager - синглтон, который содержит в себе структуры данных. Сейчас вот занимаюсь созданием конфигурационного меню в игре и сохранением данных. Встал вопрос о том как это правильно сделать в юнити сцп-кун на месте, всё ещё изучаю юнити и чёт смутило наличие таких вот "дата"-контейнеров, которые вообще без цели. Алсо уже прочитал, что они не позволяют сохраняться между сессиями игровыми из коробки по этому вообще бесполезны для моих задач. Буду делать через json тоже
>>552278Ты про скриптейблы? Они тебе не нужны до тех, пока не понадобятся. Это звучит бредово, но это так. То есть я ещё помню, как пилил игру, где на ГО висел объект с тысячей полей, которые я назначал вручную. Чтобы не ебаться, я сделал из него префаб и ебался с префабом. Сейчас же у меня есть один скриптейбл, пять инстансов этого скриптейбла и всё. Ну, не всё, ещё несколько разных есть. Угорел по этой херней, удобно данные хранить.>>552279Без кода скриптейбл создать невозможно, лол. Я считаю это адовой недоработкой, что нужно создавать эдитор скрипт, чтобы создать инстанс скриптейбла.
>>552284>они не позволяют сохранятьсяНаоборот, ты пишешь туда i=5 в коде и оно автоматически сериализуется.
>>552290Я имел в виду инстанциировать скриптабле, конечно же.Инстанциируется от через менюшки в редакторе.
>>552292Странно. Почему трисов в два раза меньше вертексов? В ста кубах 800 вершин и 1200 треугольников.
>>552290>Они тебе не нужны до тех, пока не понадобятсяТащемто как всегда. Когда то мне так же говорили про интерфейсы пока я не понял в чём их удобство.>>552290>Без кода скриптейбл создать невозможно, лолНу тогда я вообще не понял как с ними работать. В общем, похуй. Пойду делать как мне удобнее тогда.>>552293>Наоборот, ты пишешь туда i=5 в коде и оно автоматически сериализуется.Я говорю о сериализации в контексте создания системы сейв\лоад. На самом деле я примерно понял где я могу это использовать. У меня есть крафтинг, рецепты я сделал через массив, который редактирую в скрипте префаба. В теории я мог бы просто сделать папку, туда складывать инстансы скриптейбл обжекта рецепта, которые содержат требования и результаты для крафта. И эту папку подгружать, например в awake или on enable например, приводить её к нужному виду внутри скрипта и работать.В общем, я ожидал большего от этих скриптейбл обжектов, ну да ладноСпасибо за помощь
>>552297А разве юнити не пропускает триангуляцию граней меши, которые не видны с точки зрения камеры?Убери все кубы, оставь один, включи ортогональную камеру и посмотри на результат
>>552297У меня дефолтный юнити куб-состоит из 48 вершин. Так много из-за рендеринг пайплайна, реально куб имеет 24 вершины, они удваиваются из-за второго прохода. Почему 24? Всего 8 вершин, которые "дублируются" по 3 раза для жёстких нормалей.
Как считаете, для главного перса нормально 40к треугольников, или слишком?>>552304>Всего 8 вершин, которые "дублируются" по 3 раза для жёстких нормалей.Первый раз слышу. ужс
>>552155Боюсь, что если в лоб такое на отдельных геймобжектах в апдейтах делать - оно и при в десятеро меньших масштабах будет лагать.Если будешь делать все через жопу и без осознания того что делаешь то да будет лагать.Смотри вебм у меня 5000 движущихся объектов и ничего не лагает.
>>552306>Первый раз слышуТам на самом деле UV, нормаль, тангенс, цвет. Нельзя строить куб из 8 вершин. Точнее можно, но он не будет отображаться корректно.>40к треугольниковВ кризисе было вдвое меньше, лол. Ну, для ААА-проекта с тпс-камерой это нормальное количество.
>>552147Ты даже не представляешь насколько тяжело работать с таким количеством кода и править все это что бы ничего не поломать.
>>552312>В кризисе было вдвое меньшеНу а в первых играх, наверное, поликов по 5 было. Просто там же ебучие анимации, кажется сделал поликов вдвое больше, а обсчет может в десять раз увеличиться. Если в 2 раза то пофиг.>>552312>Нельзя строить куб из 8 вершин. Точнее можно, но он не будет отображаться корректно.Так там с любыми моделями цыфры раз в 8 больше, кубик просто в качестве примера.>>552313В блендере тоже много кода, за 2 года перелопатили в годноту, в нем пять-10 человек работает на постоянке, при том сам тон как менеджер, один над интерфейсом. Нет, я ничего не хочу сказать, может так оно и есть, но кажется такие цыфры внушительные, миллирды долларов, а на деле пшик.
>>552318>В блендере тоже много кодаБлендер весит 300мб, юнити 3Гига, так что по сравнению с юнити в блендере мало кода.
>>552318>а в первых играх, наверноеЯ просто привёл яркий пример игры, которая до сих пор не идёт в 60 фпс на топовом конфиге - 2080TI и 4к монитор. Вообще все эти ублюдки забыли лицо своего отца и пилят геометрией складки на одежде во имя экономии текстурной памяти на соснолях.>за 2 года перелопатили в годнотуПитон выбросили хоть?>>552321>юнити 3ГигаПро пакеты забыл же. Куда больше.
>>552328>>552328>пилят геометрией складки на одежде Вот и я тоже хочу без нормалки сделать, потому что нормалка как-то хуево запекается, и не могу решить проблему
>>552318blender написан на чистейшем как слеза младенца си с простой архитектурой и декомпозицией всего.юнити это тонны легаси-говнокода на с++, который без экскаватора не разгребешь.
>>552394>blender написан на чистейшем, как говно разлагающейся спидозной шлюхи, скриптовом питоне, который тормозит на любой конфигурацииБлендер на столько не костыльный, что принудительно пытается установить 41 килогерц настройках звука при запуске. И не может, потому что никто не запускает малвари (как блендер) с правами админа. На самом деле, он даже с правами админа не может. Блендер на столько на острие прогресса, что это дерьмо не стартует на десятке. >>552338Попробуй инверсить зелёный канал.
>>552402>Попробуй инверсить зелёный канал.Да она нормально и правильно все впадинки показывает, но будто с шумом каким-то
Двощь, помоги найти инфу о 3д процедурной генерации. Хочу чтобы была полная процедурная генерация, но не понимаю как это сделать в полном 3д. Точнее понимаю, что можно просто взять некий многомерный массив, где каждый слой это ось в 3д пространстве. Далее брать рандомную координату в этом пространстве, рандомно генерировать комнату, но вот как потом эти комнаты объединять я не понимаю. И если по 2д ещё можно нагуглить, то по 3д почему то инфы толком нет...
>>552464А точнее по 3д есть инфа, но она почему то строится на основе заготовленных частей уровня. Мне это не очень подходит потому, что я хочу разбить левел на чанки и стримить левел в рантайме, а не загружать нахуй всё в память и страдать иными словами нужна генерация как в майнкрафте, где непосещённые игроками территория даже не сгенерирована и соответственно в будущем, при изменении алгоритма генерации новые территории будут сгенерированы без проблем
>>552475Не, просто у меня каша в голове и я неправильно сформулировал вопрос.2д решения отличаются ещё одной плоскостью в пространстве, но для меня эта плоскость критична т.к. я хочу использовать лестницы, разные уровни высоты потолков и т.д. Псевдо 3д генерация, которая на самом деле делает все комнаты одинаковыми по высоте мне не подходят т.к. это уныло, а вот каким образом мне построить всё в 3д И ПОТОМ ещё по-чанкам генерировать не тупики, а полноценное продолжение уровня.Пикрил серым нарисованы границы чанка, внутри красным 3 комнаты, одна из которых ещё содержит в себе лестницу. Задача потом взять этот чанк и каким то образом достроить от него в Nое кол-во сторон коридоры в комнаты в других чанках.Все 2д алгоритмы, которые я вижу делают замкнутые уровни, а я ищу способ создания бесконечного уровня, который будет генерироваться по прохождения игрока. Самый простой способ, который я сейчас вижу это ограничить чанк высотой 4 метра (т.е. максимальная высота 6 метров вместе с метровыми стенами, рандомно генерировать от 2 до 4 метров высотой комнаты и подъёмы-спуски делать только в виде обычной лестницы, разбитой в 2 чанка (низ-верх лестницы)
>>552493Пока это писал, вспомнил как в рогаликах делают лестницы в данжах как способ перехода на новый уровень... возможно это самый лёгкий способ для меня и его стоит использовать. Все комнаты на уровне будут на одной высоте пола, а вот высоту потолка я уже смогу рандомно задавать. На уровне может быть несколько лестниц, которые будут выступать как переход между уровнями. На левеле всегда должны быть как минимум 2 лестницы, одна - которая приводит игрока, а вторая которая уводит на следующий рандомный уровень. Таким образом и обратная совместимость будет с последующими версиями, и возможность добавлять новые методы генерации уровня.
>>552493Наверное, самый простой вариант - плясать от соединений чанков: посчитай "плотность" генерации чанка, необходимое количество переходов в другие чанки, их позиции, и только потом уже генерируй содержимое.
Аноны, если я создам в папке Resources свою папку, куда буду складывать свои ассеты, и буду извлекать из этой папки эти ассеты следующем образом:Resources.Load<Material>(@"MyFolder\MyMaterial");То будет такой код работать после сборки? Или все ассеты должны храниться чётко в корне папки "Resources", что бы иметь к ним доступ, когда игра будет построена?
>>552659Да, будет. Не, строгой привязки к Resources нет. Ну и моежт неочевидную вещь для тебя скажу - каталогов Resources может быть сколько угодно и в каких угодно каталогах. Например, "Assets/Materials/Resources", "Assets/Configs/Items/Reources" и т.д. Единственное, избегай вложенности "Resources/../Resources". Отвалиться ничего не отвалиться, но делать так все же не стоит.Второе алсо, лучше много каталогов Resources все-таки не создавать.Третье алсо, в сочетании со вторым, "Resources.Load<Material>(@"MyFolder\MyMaterial");" - такой код говно. Хорошей практикой является создавать в каталоге Resources объект ScriptableObject, в котором перечислены ссылки на все необходимые объекты (которые находятся вне каталога Resources). Еще более лучшая практика - создавать ScriptableObject со ссылками на другие SO, а уже в них указывать ссылки на объекты.
Недавно начал изучать шейдеры, застопорился на добавлении карты нормалей. В surface шейдере всё понятно: распаковываешь нормали из текстурки, ищешь скалярное произведение между направлением света и полученной нормалью, получаешь значения от 0 до 1, и перемножаешь их со своим светом.Но когда спускаешься на уровень ниже, такой подход у меня не сработал. Я посмотрел гайды, и там идёт речь о tangent-пространствах и каких-то преобразованиях с матрицами, и потом на самом интересном месте, во фрагмент шейдере, они используют готовую функцию от юнити, куда ты просто передаешь все полученные результаты и он сам всё делает. Но это никак не объясняет как заставить нормали работать, а эту кроличью нору include-файлов я не смог осилить.У меня вообще игра 2D, в которой я к спрайтам добавляю карту нормалей, чтобы красиво было, мне не нужны всякие HDR, Отражения, блики, скайбоксы, BRDF_PBS, да даже тени не нужны, плюс у меня все объекты это плоские спрайты без изменения по z. Где можно найти реализацию нормал-маппинга в изоляции? Или может кто-то сам сталкивался и может пояснить?
>>552673Понятно, спасибо за разъяснение. Т.е. Resources.Load() будет искать ассет не только в папке Resources, но и в других каталогах?
До чего ж охуенный у юнити аниматор, как же удобен его 2D блендтри. Но пилить приходится всё равно на стейт машинах и через флаги, а не через скорость.
Struct A = new Struct();Struct B = A;structs.Add(B); А можно ли без B, а сразу сказать чтоб А добавилась как новая копия, а не как ссылка на А ? Чтото вроде structs.Add(newcopy A);
Кто-нибудь пишет для своих подделий Unit-тесты? У меня есть игра-кроссворд, и я уже заебался в ручную каждый уровень играть и тыкать во всё подряд что бы искать баги. Можно ли, а если можно, то как, с помощью юнит-тестов имитировать пользовательский ввод, что бы тест сам прогнал все уровни и протыкал все кнопки, а в случае ошибки записал в лог?Знаю что есть офф гайды от юнитеков, но просмотр их займёт много времени и будет обидно если они мне не подойдут
С помощью AddListener() можно заставить какую-нибудь кнопку вызвать функцию при нажатии этой кнопки. Если я назначил одну и туже функцию нескольким разным кнопкам, как узнать, какая кнопка была нажата? В Windows Forms был такой параметр, как Sender, можно ли здесь намутить чего-то подобного?
>>553131тебе - нельзяknopka.OnClick.AddListener(() => OnClick(knopka));void OnClick(Button knopka) {}
Сначала скажу что вообще ничего в этом не шарю. Подскажите как сделать так чтоб когда я что-то говорю в микро то вопросизводится анимация моего перса
Сначала скажу что воообще ничего в этом не шарю. Подскажите как сделать так чтоб когда я что-то говорю в микро то вопросизводится анимация моего перса
>>553153Видимо совсем не шаришь. Короче средствами Unity этого сделать нельзя.Можешь попытаться сделать через наследование классаhttps://docs.unity3d.com/Manual/AndroidUnityPlayerActivity.htmlНа устройстве нативным кодом определяешь громкость, если выше определённого значения, то сообщаешь сцене UnityPlayer.SendMessage() играть анимацию, иначе паузить.Про другие платформы гугли сам.
>>553169Нормальным вы не подсказываете, а залетному добоебу, который про программирование не слышал, ты расписываешь тут.
>>553171Исходя из моего опыта, люди, называющие себя "нормальными" и "адекватными" на деле такими не являются. Что еще раз подтверждается твоим постом, кстати.
Юнитач, объясни мне пожалуйста зачем нужен КОНКРЕТНО awake.Я понял, что он работает даже при отключенном скрипте. В документации написано что его используют для инициализации переменных перед началом игры.В пример (эвэйком вы активируете счетчик патронов врагу а стартом даете ему возможность стрелять) я не въехал.Два скрипта из документации где ты активируешь один куб через другой вообще не об эвэйке. Помоги.
>>553249он нужен что бы что-то сделать с геймобъектом перед его активацией 1 раз? Почему это нельзя сделать используя start?
>>553249можно разнести критичную информацию по стадиям когда ебаться с очередностью выполнения скриптов заебнонапример, у тебя один объект (А) имеет ссылку на другого (Б) и в своем старте А берет инфу из Ба вдруг Б не успел еще в своем старте инициализировать какие-то данныые? пизда. поэтому Б делает это в awake
>>553252То есть awake всех объектов сцены вызывается перед 1ым кадром.эвэйк нужен что бы например вызвать нужные компоненты и быть увереным, что тебе не выдаст ошибку?Зачем он вызывается даже при выключенном скрипте?
>>553252Кажется я понял.Awake нужен что бы инициализировать компоненты или переменные своего геймобъекта а Start для того что бы ГАРАНТИРОВАННО получить эти переменные или компоненты для другого геймобъекта, которые на них ссылается.
>>546997 (OP)Какое же ваше юнити говноподелие. Как можно пользоваться этим калом, когда уже есть годот.
>>553267Действительно. Зачем делать игры и зарабатывать деньги на Unity3D (https://unity3d.com/ru/learn), когда можно быть бичом-прокрастинатором на никому не нужном гондоте.
>>553276Непонятно, зачем отдавать жадным юнитекам часть заработанных денег, когда можно делать такие же и лучшие игры на Godot ( https://docs.godotengine.org/en/3.0/getting_started/editor/unity_to_godot.html ) и становиться еще богаче.
>>553320>что УЕ4 позволяет делать игры в разы лучше чем юнитикал?Нет, не позволяет. Если бы позволял, то все бы делали игры на нем, а не на юнити.
>>553370Просто лень переучиваться, когда начинали им влили в уши хуйню про юнити, а теперь уже не осилят ничего другого.
>>553389Ну давай начнем с элементарных. Покажи в уече Animator.Юнити - это платформа для разработки игр, а УЕЧ - движок unreal tournament. На юнити можно сделать любую игру в кратчайшие сроки, а на уече из коробки только мод для UT. Вот и вся разница.
Зачем отвечать этому больному ублюдку? Ну, не может он игры создавать, нет мозгов. Зато нашёл себе применение на дваче. Стал срущим петухом шизиком.
>>553399> а на уече из коробки только мод для UT.О, икзперд, помню тебя всем тредом обоссали в прошлый раз. И вот снова ты обосрался.
>>553414>из коробкиСделать любую игру можно даже на голом OpenGL, представь себе, вопрос только в том, в какой бюджет это тебе обойдется.Мы тут игры делаем, а не движки на уече.
>>553422Как что-то плохое. Еще ассеты сокращают бюджет разработки, то это только натурально их использовать.Да, скачаю ассеты и сделаю и заработаю деньги, пока ты будешь фантазировать.
>>553432Официальные компоненты движка с документацией и кучей примеров в интернете это не то же самое, что ассеты от Васяна, которые:1. могут быть глючным куском говна2. без нужных тебе фич3. стоить дохуя денегПока мы будем делать игры, ты судрожно роняя кал будешь пытаться прикрутить забагованные ассеты стоящие как твоя годовая зарплата и которыми непонятно как пользоваться, чтобы реализовать базовые функции движка. Тратить свое время, нервы и деньги.Думай, решай.
>>553585И как их применить? Создать шейдер, вставить в него код билборда, назначить этот шейдер материалу, а потом назначить этот материал спрайту? Так?Про лукат уже думал, но хз, нормальный ли это подход.
>>553593>Создать шейдер, вставить в него код билбордаЭто если у тебя шейдер с билбордом. То да, всё правильно. Лукат нормальный подход, если потом с трансформом ещё как-то взаимодействовать надо. Для просто рендера шейдер идеально.
Карочи, хочу реализовать в игре лейку. Смысл в том, что есть некий объект, из которого, когда он наклоняется, льётся вода. В какую сторону нужно копать, что-бы реализовать это? И как определить, куда попадёт в итоге вода?
Какое же юнити говно, как только я открываю его, сразу находятся баги, то статтеры, то с опейсити беда, ну как вас не засирать? Вот за пять минут прикрутил к дефолтному скелету шариков, сделал анимацию одной крутящейся руки, тело неподвижно, в юнити на generic все нормально работает. Переключаю на humanoid и его начинает качать. Bake into pose помогает, но при переходе от одной анимации к другой опять эта же хуйня. Просто говно говна, ищи несколько часов, почему эта хуйня глючит.
>>553624Нет, я знаю, в какой момент нужно проиграть анимацию, но вот как лучше реализовать эту самую анимацию воды, льющихся из лейки? И как определить, куда льётся вода?
>>553633>как лучше реализовать эту самую анимацию воды, льющихся из лейкичастицы>>553633>как определить, куда льётся вода? SphereCast
>>553646Соси хуй, дура юнитипидарская. Это от вас только пиздеж, в сторону нормальных движков, я обоссываю только за реальные баги юнитиговна.
>>553649>я обоссываю только за реальные баги юнитиговна>делает какую-то хуиту не рабочую, без понимания как это вообще все работать должно и винит движокЕдинственный реальный баг - у тебя в голове. Игровой движок - это инструмент профессионалов, а не игра для скучающих идиотов ваннаби игроделов.
>>553659>делает какую-то хуиту не рабочуюОбоснуй, юнитипидар, ты вообще не понял о чем речь, потому что тупой еблан.
>>553659Ну-ка, расскажи мне как профессионал должен обходить баг с тем что лайтмапы рассчитанные на одной платформе и положенные Юнити прямо в проект, не читаются на другой.
>>553632Схуяли твой хуманоид должен быть в движке? Движок это плеер для контента, нужен хуманоид - хуяришь в блендере и импортишь. Все равно дефолтные ассеты это говно говна нет смысла использовать их.
>>553666У юнитиразрабов спроси, юнитипидар, если сделали значит должен. И сделали говно багованное, фирменный юнитиговеный стиль. Причем галочек опять натыкали, и они реально помогают, но сук, при смешении двух анимаций вся хуйня галочная сбрасывается, такой обосрамс.
>>553638>частицыОк, спасибо >SphereCast Ну и как я пушу сферу по кривой? Касты же строго по прямой двигаются, разве нет?
>>553673>Это не я неправильно делаю! Так все работает, юнитидаун, докидываю анимации с разных скелетов и встают идеально, только шатает при переходах. Юнитиговно воистину багованная хуйня.
>>553786А тебе чего не нравится, юнитипидар? Мои претензии справедливы.Юнити это кусок багованного говна, общественность должна знать.
>>553789Двачую. Бывает наткнешься на игру, которая вешает комп 100% нагрузкой и греет до 90 градусов на простой картинке, потом смотришь - так и есть, юнитиговно.
>>553790> 100% нагрузкой и греет до 90 градусовКомп под 100% нагрузкой должен работать ка часы на температуре на проце в пределах рекомендованной, если ты забыл термопасту намазать - то жто уже твоя вина.>100%нагрузкаА это вообще отдельного внимания заслуживает, в hw тебе бы уже на голову нассали
>>553792> ВРЕТИ! Это у вас компьютер неправильный, а не юнька кривая!Ничего другого от юнитимакак и не ожидалось, кек.
>>553789>Мои претензии справедливыХз, я твои баттхертные посты не читаю. Моя юнька работает как часы.
>>553800>я твои баттхертные посты не читаю>на самом деле читает каждый пост и верещит - НЕ ВЕРРУУ!Юнитипидар пытается наебать. Хотя может он действительно в это верит. Прочитал, забугуртил с правды, заюзал спасительную юнитипидарскую слепоту, и пишет что не читал, и ведь не пиздит, верит. Как в 1984
>>553800>Моя юнька работает как часы.Так это потому, что ты еще не начал делать игры.Пока ты запускаешь юнити для того, чтобы сворачивать в трей и идти срать на двач, багов никаких не будет.Как только начнешь делать игры - сразу наткнешься.
>>553804>>553806Еще раз, в чем проблема? Не нравится движок - не пользуйся.У меня все отлично работает согласно документации.
>>553825>36 фпс>фреймтайм 27.5 мс>на сцене из 3х сфер и нескольких линий>все работает отлично, согласно документацииПроиграл.
Котаны, есть одна функция, внутри нее есть for loop. Когда я из лупа пытаюсь запустить эту функцию еще раз с немного другими данными он ругается стаковерфлоумом. Я погуглил, говорят что в функциях низзя вызывать самих себя. Но мне нужно прогнать данные еще раз, как быть? Вызывать другую функцию которая будет вызывать эту?
>>553830У тебя должно быть условие выхода из рекурсии. Напримерvoid recursion(int n) { if(n == 0) { return; } recursion(n - 1);}И вызывать её через recursion(5), например.
>>553831Примерно такой схематичный вот код у меня, условие есть, когда i станет ниже n перезапуск функции должен прекратиться. Это правильное решение или у меня в основном коде опять глупая ошибка в вычислениях?void test(int i){if( i > n){b = i - r;test(b);}else{b += i;return;}
>>553836Ну а что это, если не врети? >вбросил скрин с 30 фпс на пустой сцене>ой, сорян, вот нормальный скрин, с 60 фпсПлюс каким образом этот скрин доказывает, что ты что-то там делаешь? Я тебе тоже могу принести скринов крузиса из гугла и сказать, что я на годоте это сделал.
>>553824>Еще раз, в чем проблема? В багах нелепого юнитиговна. Если тебе что-то не нравится тут, свали нахуй.
>>553832Это же подгоревший даун без игр из годототреда.Какие игры, о чем ты. Они там ждут и фантазирует разработку игр.
>>553837>врети 2.0Понятно.Не понятно только, почему ты с горящей жопой по треду бегаешь, вместо того, чтобы дропнуть плахой юнете и делать своё говно на другом движке.
>>553839Нет там багов.Мои 37 фпс в редакторе вызваны исключительно моим личным кодом. Который я уже пофиксил, кстати.
>>553854Ты воюешь с мельницами. Никому, кроме тебя, проблема не кажется такой серьёзной, если вообще воспринимается как проблема.
>>553855Это ты попытался шуткануть, юнитиеблан?>>553857>Никому, кроме тебя, проблема не кажется такой серьёзнойПотому что ты не юзаешь гуманоида, поэтому она "НИКОМУ" не кажется серьезной >>553806
>>553854Если ты не знал, юнити детектит тех кто делает игры из шариков и кубиков, помечает их как обоссаных школьников и режет им фпс, подсовывает баги и т.д. Чтоб малолетние свиньи сразу перекатывались на уеч и не засирали форумы своими свиными визгами.
>>553860>Если ты не знал, юнити детектит тех кто делает игры из шариков и кубиков, помечает их как обоссаных школьников и режет им фпс, подсовывает баги и т.д.Самый уебанский юмор, даже стыдно такое читать, что еще ждать от юнитипидара.>>553825Юнитипидар, у тебя фпс маленький потому что юнити тебя задетектила и режет!
>>553868Зато у меня игра есть, а ты так и будешь ныть, что плохой юнити не дает тебе закириллить игру мечты.
Свинья >>553863 продолжает хрюкать, токсичное животное исходится на говно так будто кому-то не похуй что у него шары не крутятся как надо. Типичная истеричная порванная свиная хуйня, батя скорострел спустил в мамашу шлюху, результат - свинота испражняется в гд.
Тем временем наш герой набирался сил, чтобы вновь ринуться в атаку на столь ненавистных ему квалифицированных мерзких юнитипидаров.
Как закрепить объект за камерой? Что бы куда бы камера не повернулась, объект всегда был бы перед ней на одном и том же месте?
>>553844>Магомед насиловал меня в задницу исключительно потому, что он горячий восточный мужчина, так что ничего плохого в этом нет
>>553878Тупица, шарики для теста, нахуй мне перса грузить по 20 раз.>>553877>БАБАААААХ!!!11321!"!!!Чего ты рвешься, чмо? Если бы не было этих багов, которые годами не фиксят, я бы хвалил юнитиговно, а так ты юнитиеблан и мать твоя дебильная шлюха.>>553880>Тем временем наш герой набирался сил, чтобы вновь ринуться в атаку на столь ненавистных ему квалифицированных мерзких юнитипидаров.
>>553887>Чего ты рвешься, чмо?)Говно что-то хрюкает в ответ пытаясь прикрыть свою порванную сраку, но получает только струю мочи в ебло.
>>553895Порванная хуйня неделю засирала всю нулевую своими воплями про юнити, а потом скачала юнити чтоб крутить шарики. Жрет говно и хрюкает, типичная свинья)
>>553895> юнитипидары дауныНа самом деле, их надо жалеть. Вот ты думал, почему они так болезненно реагируют на любое упоминание юнити в негативном ключе, как будто им сказали что ебут их мамку? Для юнити-пидора юнити - это святое, потому что для него это единственный шанс прикоснуться к миру геймдева и почувствовать себя разработчиком. Юнити-пидор не может ни в один нормальный движок, не может программирование, не может в любую форму творчества и создание контента - для него у юнити припасен ассет стор, где он может купить/скачать результат творчества других людей и фантазировать о том, что это сделал он, перетаскивая ассеты по сцене, предаваясь своим влажным фантазиям о том, что он теперь разработчик игр.
>>553853Так, проверку я запилил но ругается он на что то другое. Вот строки после запуска функции судя по логу работают, можно ли рассматривать запуск функции как альтернативу return или около того? Как будет выполняться дальнейший код после того как я вызову эту же функцию?
Дженерик строитель на стройку. Риг гуманоид, зациклено 4 анимации. Надо фиксануть провал ног в землю, но это мелочи.
>>553928Участок когда в слоте уже есть некоторое количество предметов, а при добавлении все предметы не влазят в слот. К слову в текущей версии все работает как нужно, но непонимание осталось.
>>553931Вчера пилить начал, лол. Жанр миниградостроительный сим\трэш. Думаю сделать технологичный сеттинг с бесполезными людишками, которые будут бесить игрока и вызывать порывы всех убить. Игрок же рулит искусственным интеллектом, который создан людишкам угождать.>>553932Изначально анимация такая и есть. Это ещё слишком качественно.
>>553944>Изначально анимация такая и есть. Это ещё слишком качественно.Она не может такой быть, это мокап, у людей так руки не гнутся. На каком-то этапе анимацию закозлили, скорее всего юнитиговно гуманоидом.
>>5539361) Сделай foreach циклforeach (var slot in slots)Или хотя бы сохраняй текущий компонент слота такvar slot = slot.GetComponent и далее используй его. GetComponent накладно вызывать каждый раз, плюс читаемость кода становится хуёвой.2) Используй continue в цикле, чтобы пропустить слот, вместо того, чтобы городить вложенные if.if (slot.empty) continue;
>>553950> Или хотя бы сохраняй текущий компонент слота так> var slot = slot.GetComponent и далее используй его. GetComponent накладно вызывать каждый раз, плюс читаемость кода становится хуёвой.Да, надо так и сделать в самом начале.> 1) Сделай foreach цикл> foreach (var slot in slots)В чем профит перед for?> 2) Используй continue в цикле, чтобы пропустить слот, вместо того, чтобы городить вложенные if.Пнятненько.>>553937>>553958Не давите, я начинал тыкать юнити без каких либо знаний сисярпа или любого другого языка.
>>553961>я начинал тыкать юнити без каких либо знаний сисярпа или любого другого языкаНастоятельно рекомендую изучить хотя бы основы C#. Иначе ты будешь городить пиздец вместо кода. Хотя у тебя неплохо получается с нулевым опытом программирования. А если ты подучишься немного, то вообще зашибись пойдёт.
>>553966Основы я изучаю в процессе просмотра туторов самой юньки или при написании той или иной функции в других гайдах. Да, там может быть не вся нужная информация но просто так сидеть и упарывать доки довольно утомительное занятие.
Help! Сделал игру на мобилки, но устройства сильно греются. Тестировал на статичной сцене, update-ы выключены, за 5 минут сильно нагревается.Может ли это происходить по тому, что я не использую POT-текстуры (512512), они у меня все разных размеров, типо (355122)?
>>554007>но устройства сильно греются.А ты чего от unyti ожидал, что будет летать и совсем не жрать батарейку? Выбрал УДОБНЫЙ движок, плати за удобство.
>>554009Двачую. Вот выбрал бы Гондот и устройства бы вообще не грелись. А знаешь почему? Потому что не было бы и игры.
>>554011Твоя ирония очень смешная, но так-то годот бы меньше жрал аккум и нагревал, т.к. там билд нативный, а юпити ты тащишь еще и рантайм шишарпа на телефон, который не родной для андроида. Т.е. поверх рантайма андроида на джаве ты еще запускаешь до куча рантайм шишарпа, а потом удивляешься, а чего телефон нагрелся?
Аноны, почему после того как я приостановлю испускание частиц с помощью GetComponent<ParticleSystem>().Stop() они больше не запускаются с помощью GetComponent<ParticleSystem>().Play()? Вызываю функцию Play() и нихуя не происходит. Как вообще контролировать испускание частиц через скрипты?
>>554012Ты, видимо, не в курсе, но Mono остался далеко в прошлом.IL2CPP Compiles C# code into CIL, converts the CIL to C++ and then compiles that C++ into native machine code, which executes directly at run time.
>>554014Обсасывали же уже сто раз, что эта хуйня никак не ускоряет, а нужна чтобы хоть как-то запускать код на шершавом на платформах, на которых поддерживается только нативная сборка (iOS)
>>554045Нет, они еще при импорте конвертируются самой юнити как надо. Если конечно ты ничего не грузишь в рантайме.
>>554045https://www.google.com/search?q=unity3d+android+heathttps://docs.unity3d.com/Manual/MobileOptimisation.htmlGood practiceMobile GPUs have huge constraints in how much heat they produce, how much power they use, and how large or noisy they can be. So compared to the desktop parts, mobile GPUs have way less bandwidth, low ALU performance and texturing power. The architectures of the GPUs are also tuned to use as little bandwidth & power as possible.
>>554013БАМПБля, помогите решить эту проблему. Почему то один раз Play() срабатывает, а после второго Stop() вызов функции Play() не приводит к появлению частиц. НУ ЧО ЗА ХУЙНЯ
>>554056Купи ассет Mega Yoba Particles за 249.99$, очевидно же. Стандартный функционал в юнити почти весь сделали кривым, специально чтобы додики покупали ассеты.
>>553898>Порванная хуйня неделю засирала всю нулевую своими воплями про юнитиНе преувеличивай, когда я пишу юнитиговно и юнитипидары дегенераты, это не вопль, а спокойная констатация факта, я бы вообще этого не делал, но долг оградить новичков от юнитиговна зовет. Да и сами юнитипидрилы уж много докучают во всех тредах. >>553898>а потом скачала юнити чтоб крутить шарикиПо твоей юнитидаунской логике я только установил и сразу нашелся баг. Да и какой блять, при смешивании анимаций, его же невозможно не увидеть. А что будет, если реально разрабатывать на юнитиговне? Там багов тьма.Юнити у меня уже давно установлен, как только я запускаю это говно, с ним постоянно случается какая-то хуйня.
>>554160Еще про распидара напиши, юнитидолбоебина.Вы юнитипидрилы вообще ахуели и забыли кто вам движок пишет что ли? Посмотрите, животные ебаные>>519411
>>554161Так и пиши сразу что тебе не нравится юнити из за пидоров, хуль ты хрюкаешь про баги, свинина)
>>554162Все вместе юнитипидар, наказание по совокупности. Но если бы багов не было, то и не карал бы вас так жестко.
https://docs.unity3d.com/uploads/ExpertGuides/Create_High-Quality_Light_Fixtures_in_Unity.pdfТолько посмотрите насколько нужно изъебнуться в юнитиговне, чтобы светильник нормально запекся.
>>554070Блядь, Pause просто останавливает частицы. Они буквально зависают в воздухе и не пропадают, пока ты не отключишь паузу. А мне нужно, что бы частицы пропали.
>>554229Это все не то, тебе похоже выключать спавн новых частиц в эмиттереhttps://docs.unity3d.com/ScriptReference/ParticleSystem.EmissionModule-enabled.html
>>554229ParticleSystem.Stop(includeChildren, ParticleSystemStopBehavior.StopEmittingAndClear);И чтобы запустить ParticleSystem.Play(includeChildren);Код блядь, из документации. >>553947Люди у него так, блядь, не гнутся, вообще охуеть. Про кейфрейм редукшн не слышал? Про одну кость на вертекс? Про ёбаный ретаргетинг в 3д пакетах?
>>554236>ParticleSystem.Stop(includeChildren, ParticleSystemStopBehavior.StopEmittingAndClear);>И чтобы запустить ParticleSystem.Play(includeChildren);>Код блядь, из документации. Блядь, я строчка в строчку написал и всё равно Play не вызывает частицы.Кароче я в итоге эти ебаные частицы повесил на отдельный объект и просто нахуй вырубаю уже его.
Посоны, а при компиляции, например, под Андроид, в получившемся билде есть информация о том, на какой винде все сделано, использовалась ли Visual Studio и т.п.?Не набутылят потом, если под левой виндой все делать? Не охота чего-то под Линухом потом пересобирать.И почему многие озабочены вопросом лицензий на Макс, Фотошоп и т.п.? Или это все ребята из больших студий в гейдеве на дваче лол.
Аноны, а можно как-нибудь сделать так, чтобы мой скрипт автоматически добавлялся, если я добавляю встроенный в Юнити компонент? Как RequireComponent, только наоборот.Если конкретнее, что у меня есть компонент LightControl, который должен автоматически добавляться если я добавляю встроенный Light. Такое можно сделать без сложной ебли с редактором?
>>554267Не, тут суть в том, что я после перерыва в пару недель могу забыть что теперь не просто нужно добавлять свет, но еще и скрипт. Если я помню про скрипт, то значит этой проблемы нету, так что такой вариант не подходит.Не люблю когда накапливаются вещи которые нужно помнить, это как бомба замедленного действия - в конечном итоге что-то забудется и это выльется в баг который заберет время.
>>546997 (OP)Рябзя, кто знает когда 2018.4 билд придет? , когда ждать new multyplayer layer ?, альфа на гитхабе не интересует.
>>554012Поэтому 90% игр из мобильных маркетов сделаны именно на юнити? А на таком клевом годоте сколько? 0,3%?
Суп двощ. Пилю майнкрафт. Можно тут у вас посидеть и покидать вам свои мадскилзы? А то мне хочется похвастаться и социал апрув получить.
>>554300>когда ждать new multyplayer layerNIKOGDA. Они ещё прошлый не доделали, а ты новый хочешь. Пора бы привыкнуть что обещалки Юнити - это предёж в воду.
>>554348К сожалению, вынужден согласиться. Менеджмент разработки в юнити работает из рук вон плохо.Куча начатых, вечно сырых проектов, никогда не доделанных толком.sprite shape вообще еще с 4-го unity делают
>>554353>еще с 4-го unity делаютУже бы давно сам сделал что тебе надо, только хрюкать в тредах умеешь.
>>554347>ни может быть багав! это фичи!>>554349>юнити не трожь! Юнити не козел, ты козел!>>554355>сам праграммируй сибе движок!>>554356>ни может быть никакой разработки, нивазможна! Ты для теста сделал гуманоида из шарикав, это же так смешно!Юнитипидары опять показали свои зверинные рыла.
>>554359>Ты вообще понимаешь как физические движки работают?>>554236>Про кейфрейм редукшн не слышал? Про одну кость на вертекс? Про ёбаный ретаргетинг в 3д пакетах?
>>554355Непонятно зачем тогда УНИТИ нужно если ты по сути всё сам делать должен. Причём ладно если с нуля функциональность что не предусмотрена. Но ты по сути должен делать за УНИТИ то что они в комплекте с движком типа-поставляют и ради чего ты движок и выбрал.
>>554363Свинорыл в одном треде пишет что любой двиг который подогнан под конкретные задачи лучше чем юнити-всё-в-одном, тут уже пишет что ему НУЖНЫ ВСЕ ФИЧИ СРАЗУ, ты уж определись свинья что тебе хорошо а что плохо.
>>554322хз что за баг, дома открываю проект и вроде кровотока нет. Меж тем сёдня я уже намерен побродить по этому мирку.
Скорее всего задаю крайне нубский вопрос, но как сделать чтобы камера следовала за игроком не рывками.Как это доработать?void Update () { transform.position = new Vector3(player.transform.position.x, player.transform.position.y, -10f);}
Как перезаписать текстовый Ассет? Resources.Load даёт возможность только считать текст, а Resources.Unload создаёт другой файл с ассетом.
>>554376Блядь, ты ебобо? А как я получу доступ к текстову файлу после того, как игра будет собрана? Мм? Путь до файла то измениться. Да хуй с ним путём, текстовые ассеты в билде не лежат в открытом виде.
>>554375>>554380Ты блядь, умник хуев, хочешь чтобы тебе файлы внутри билда пересобирались в рантайме? А не пойти ли тебе свой движок писать с такими требованиями? Сохраняй на диск и не выебывайся.
Двощь, подскажи инвалиду, как в generic методе использовать instantiate?Есть скрипт Foo, который наследуется от MonoBehaviourЕсть List<Foo> FooList который обычный лист (префабы внутри)Есть метод T SpawnRandomItem<T>(List<T> list) { int i = Random.Range(0, list.Count); return SpawnItem<T>(list);}T SpawnItem<T>(T prefab) { return Instantiate(prefab);}Проблема в том, что T тайп может быть чем угодно для компилятора и он отказывается тайпкастить T в угодный юнити обжект. Как можно это обойти? Дайте какой-нибудь грязный хак типа Instantiate((MamkuEbal)(Object)(object)prefab) плес или подскажите как решить проблему. угорел по generic методам, брат T, Cannot implicitly convert type 'T' to 'Зависимости нет'
>>554389Очень простоhttps://docs.microsoft.com/ru-ru/dotnet/csharp/language-reference/keywords/where-generic-type-constraint
>>554386>>554387Блядь, ну ёбанный в рот. Application.dataPath в Юнити приводит в папку Assets, а при билде приводит в совершенно другое место. Ну ёбанный рот, хули блядь всё так не продумано с вводом/выводом данных.
>>554407#if UNITY_EDITORбла бла Assets #elseбла бла другое место#endifТупорылый даун ни в чем не разбирается, хуево ему сделали видите ли.
>>554410Не, это заебись конечно иметь два набора данных, один из которых будет хранится в Ассетах и использоваться при работе в Юните, а другой будет использоваться только в конечном билде игры. Охуенно, а главное удобно, пиздец просто.
>>554414Всё как у взрослых, это ты еще параллельно для яблофона и ведра ничего не разрабатывал, я б на тебя посмотрел.
Весь юнитред проигрываю с неосиляторов справки. А ведь есть специальная папка, в которой ассеты не затрагиваются юнькой и просто копируются в билд.
>>554426Ага, вот только ебучие файлы в андроиде всё равно хранятся в jar и работать с ними нужно через класс WWW, а значит нужно написать отдельный код для работы с файлами в винде и отдельный код для работы с файлами в андроиде. Заебись, чо.
>>554414Чтобы "переписать" текстовый ассет тебе нужно:проверить, если в dataPath есть нужный тебе файлесли его нет, копировать сначала туда файл из resourcesоткрыть этот файлprofit!
>>554452точнее persistentDataPathМожно написать простую абстракцию типа файловой системы для за несколько минут
>>554471>Хотелось бы хранить данные в папке с игройво-первых, это васянство, и игра может быть в папке без прав записи. просто не делай така во-вторых, у тебя же там androidты определись уже
Анон, подскажи хороший ГПСЧ. Встроенный в юньку не подходит из за того, что он глобальный. Стоит ли использовать System.Random? Думаю вот взять что-нибудь уровня xorshift, мне вообще не принципиальна всякая хуйня типа предиктэблости алгоритма и т.д., главное шоб адекватный рандом был и тредсейф
Есть один 2д контроллер персонажа. Сейчас к нему прикручена самописная физика, где сперва собирается массив векторов куда сдвинуть перса, а потом по суммарному вектору вызывается transform.Translate(...). Встала проблема что персонаж иногда проваливается в коллайдеры стен. Есть какой-то толковый гайд по написанию не самого простого коллайдер детекшена или лучше использовать у риджитбоди метод moveposition?
Привет. Пишу пост-шейдеры для 2d и появилось много вопросов. Самый первый и основной (увы может быть выбрал не правильный раздел форума): как правильно (быстрее/проще) подготавливать специальные карты (Normal Map и прочие) для шейдера? У меня уже есть своя реализация (все работает), но мне кажется, что можно как-то проще и удачнее все сделать. Буду рад советам, критике и даже если просто скажете, что именно гуглить.Сейчас постараюсь подробно расписать, как у меня все работает.1) Формирование начального изображения:1.1 Есть игровые объекты со SpriteRender у которого шейдер "spirtes/default". Они рендерятся камерой с учетом слоев, положения и прочего. 1.2 И в методе OnRenderImage(RenderTexture source, RenderTexture destination) в переменной "source" я получаю готовое изображение на которое я хочу наложить эффекты.2) Формирование доп. карт:Здесь у меня было два решения. Опишу который использую сейчас.2.1 В цикле перебираю объекты со SpriteRender, которые сейчас на экране. Далее заменяю им Sprite на заранее нарисованную карту. (Смущает это место, приходиться держать массив с объектами и на каждом кадре их перебирать)2.2 И далее рисую Graphics.DrawTexture в заготовленный RenderTexture. (Сама подготовка метода занимает время RenderTexture.active, GL.PushMatrix, GL.LoadPixelMatrix, и чем больше рисуем спрайтов, тем дольше соответственно).2.3 Когда цикл заканчивает работу, на выходе я получаю готовую спец. карту которую можно передать в шейдер пост. обработки.Еще был второй вариант. В нем я также как и шаге 2.1 меняю спрайты, но вместо 2.2 я рендерю через вторую камеру, которая рисует в RenderTexture.Мне кажется, что наверняка есть более простой и удачный вариант. Очень надеюсь, что вы сможете мне подсказать.
>>554358Найди тогда движок лучше, чем маняюнити. И не кукарекай про годот, там даже 3д пока адекватного нет.
>>554768Ты понимаешь, тупой юнитипидар, что это никак не связано. В юнитиговне полно ошибок, и я ими недоволен. Это не значит, что я должен съебывать на другой движок, переход грозит трудностями, захочу съебу, захочу нет. Ты такой человек, вот если нет ничего лучше, и ты вынужден жрать говно, то ты считаешь, что еще и нужно радоваться и хвалить юнитиговнецо, потому что ты даун.
>>554777>я ими недоволенСвинья недовольна, теперь будет трясти своей порванной сракой пока ей годот не допилят. Ну охуеть теперь.
>>554792Это пишет свинорылый которому только и делают что ссут в ротеш во всех тредах. Пристрастился к моче смотрю.
>>554823Юнитиговно имеет много багов, я просто говорю об этом. То что у вас бомбит, это вообще странно. Нет чтобы признать, согласиться, что есть такая хуйня, вы исходите на говно со своим врети. Отупели уже варясь в своем тухлом треде, юнитипидары.
>>554836У меня нет такой цели, юнитипидаренок, я сам затроллен багами юнитипараши. Но похоже тебя сильно задевает каждый пост и ты нехило бомбишь.
>>554874Порванная свинья еще что-то осмеливается хрюкать в ответ, впрочем для свиного поведения это норма.
>>554884>свинорыл начал лепить боевые картиночкиПоходу это клиника, получается я издевался над больным. Бля аж стремно стало.
>>554834Люди не признают потому что в их опыте не было багов, очевидно же. Ты тут весь тред засрал в попытке заставить людей думать так же как ты, но у нас у всех разный опыт использования юнити.Лучше бы игры делал.
>>554898Да это сумасшедший из годотреда поломался от осозная факта, что годот никому не нужный, бесполезный движок.
>>554899А мне нравится годот. Я делаю игру на юнити, но при этом читаю новости годота, интересно куда он сможет зайти с такой моделью.
>>554899У бедняги же ресентимент от того, что он потратил много времени на инструмент разработки, от которого нет пользы.Теперь он пытается успокоить совесть внушив себе то, что это время нельзя было потратить лучше на изученеие юнити, так как юнити это тоже забагованный и плохой движок!
>>554901>А мне нравится годотЗайди в годототред. Мы там популярно объяснили, почему единственное, куда идет годот - это жопа.
>>554903>он потратил много времени на инструмент разработки, от которого нет пользы.Это про юнитиговно, тру. А годот я сразу не стал юзать после тестов рендера.
Юнитач, как ты подходишь к обучению? Пока я выполняю уроки с оффициального сайта, читая документацию и по учебнику Unity in action, хочу узнать как анон учился движку.
>>5549131. Прочитал книгу для начинающих прогать на C#2. Просмотрел все гайды для начинающих на сайте юнити 3. Начал пилить свою игру по принципу "Я хочу чтобы в моей игре было вот это - гуглю как это сделать" Я сразу знал что хочу делать 2D-игру, и это срезало много углов, мне кажется с тридэ у меня бы так не вышло. Тут важный навык это правильно гуглить то что хочешь на английском, если английский хромает, гугл может не понять.Самое эффективное обучение - когда ты сразу же применяешь полученные знания, базарю. Плюс это и мотивации дает больше. Я так на месяц забил на все аспекты игры кроме шейдеров и дрочил их пока не смог сделать кастомный шейдер который мне нужен был. Алсо, сейчас буду дрочить JobSystem, кто-нибудь знает хорошие гайды? На поверхности чет не могу ничего найти пока достаточно подробного.
Как сделать 3Д облако ГАЗА? Не облако на небе, а именно ОБЛАКО ГАЗА. Зелёное, прозрачное, что бы оно проходило сквозь объекты и имело коллайдер.
>>554913>Юнитач, как ты подходишь к обучению?Смотрел официальные туториалы, пока не освоился с движком более-менее комфортно. Потом читал официальную документацию. Это все паралелльно делая игру.Книжку свою выкини.Потом SendMessage-кун сдвинул мне парадигму и я прозрел как нужно писать игры на юнити.
>>554940Частицы жрут много. И у меня уже есть другие частицы, которые нужно проверять на попадание. Какая я тебе отличу, какая частица облака попала на объект или чего то другого?Я хочу сделать облако одним объектом с коллайдером.
>>554913Сделал два обучающих проекта из туториалов, про катание шарика и кораблик с астероидами. Попутно их немного допилил, добавив физон.Собственно, это всё.
Ребята. Есть одна маленькая проблема.Пилю что-то вроде воргейма с пошаговым боем. В начале хода ИИ продумывает свои действия. Все вычисления ИИ кидаю в отдельный поток. Но пока он усиленно считает, анимация при игре на мобилке в основном юнити-потоке слегка подвисает. Как сделать так, чтобы на ИИ не выделялись критичные ресурсы системы? Может приостанавливать вычисления каждую сотую секунды или еще что? Можно и опоздать на пару-другую секунд с расчетом хода, главное, чтобы рваной анимации не было. Для пошаговых боев время вычисления не столь принципиально.
>>554994Ты уверен, что именно потоки вызывают фризы? Может много мусора создается и из-за его очистки появляются фризы. Тебе нужно профайлер подрубить.
>>555016Ну в ИИ-потоке много всякой хуйни создается. Каждая возможная позиция, считай, просчитывается. Объекты, очевидно, в памяти создаются и удаляются десятками тысяч. Но эти операции же для этого и выделены в отдельный поток, чтобы не тормозить основной. Может сборщик мусора срабатывает не в самые удачные моменты, что и вызывает фризы, хз.Тормоза есть только во время обсчета хода ИИ. В остальное - нет. Да и графоний в игре 2д не особо перегруженный. Графика фризов вызвать не может.
Пачаны, а где можно почитать про то как работать со сценами в сложных играх. Интересует не просто "загрузка" сцены или переключение, а то как правильно их использовать в сложных играх, комбинируя несколько разных сцен. Например, должен ли разработчик сделать для режима новой игры одну сцену, а для загрузки уже сохранённой игры другую сцену или всё-таки разработчик должен как то жонглировать обьектами? Или может быть если есть несколько разных режимов игры (сцен), но во всех них используется одно и то же меню, то разработчик должен создать отдельную сцену для меню и адаптивно грузить её во все остальные?А то я вот столкнулся с проблемой загрузки сохранённой игры и у меня получается дублирование обьектов если разделить сцену продолжения игры и новой игры, а если делать на эти оба режима одну сцену, то получается должен существовать некий god object, который содержит в себе флаги для этой сцены (продолжать игру или начинать полностью новую и т.д.)
>>555130Обычной практикой является взять данные, сейв или новую игру, и на основе этих данных построить сцену.Положить под ноги нужный террейн, расставить-повернуть все объекты, отметить опции диалогов у нпс, которые ты с ними уже обсуждал и так далее.Естественно, одна локация - одна сцена. Или две локации и одна сцена, можно разные вещи в разных слоях делать.Как пример, берешь из сейва дату-время, загружаешь данные нпц, смотришь в сейве, жив ли этот нпц, берешь из данных нпц его расписание, ставишь его в том месте, где он должен стоять и делаешь его делать то, что он должен делать.Изи же.
>>555164Это изи если только у тебя таких нпц несколько и у них одинаковая логика. Если ты, например, делаешь скурим, то такая система не жизнеспособна из за того, что каждый новый объект со своей логикой нужно сохранять/загружать по новому. И получается, что если у тебя 10к таких вот НПЦ, то это минимум 10к флагов в сейв файле о том жив ли этот нпц или нет. Как то по-моему это не совсем годное решение для сохранения игрового прогресса.Я конечно не скурим делаю, у меня всё проще, но тем не менее это не повод делать всё костылями. Мне же потом ещё этот проект поддерживать и каждый апдейт не должен ломать предидущие сейвы игрока. По этому я и ищу более кошерное архитектурное решение
>>555166Извини за нескромный вопрос, но почему, на твой взгляд, во многих играх сейвы весят десятки, а иногда и сотни мегабайт?
>>555172В скуриме, например 3мб занимает сейв.Ну тем не менее ладно. Вопрос не об этом был. Но и вопрос я уже решил свой иначе. Просто сделал проверку наличия сейв файла при загрузке сцены. Если есть сейв файл, то загружаем с сейва, если нет, то по дефолту. Кнопка продолжения просто переключает сцену, а кнопка новой игры удаляет сейв и потом переключает сцену. Немного кривовато, конечно, но я же индюшатина. Бог простит.
>>555198>3мб Алсо нужно не забывать, что там ещё хранится изображение. Сколько там метаданных и сколько реальных данных одному лишь Тодду известно
Ебать че твориться! Юнити выпустила 300 материалов. Непонятно, юнити что, больше не говно? Не знаю пока, нужно тестировать, если нельзя карты получить и в пейнтер засунуть то юнити продолжит оставаться ультраговном.https://assetstore.unity.com/packages/2d/textures-materials/unity-measured-materials-library-138814
>>555198У Скайрима движок старый, корнями из тех времён, когда было принято экономить место на диске, а не сохранять все-все-все текущие параметры сцены, а потом загружать. Естественно, что с таким подходом всё весит относительно мало. >>555166>И получается, что если у тебя 10к таких вот НПЦ, то это минимум 10к флагов в сейв файле о том жив ли этот нпц или нет.Вменяемый алгоритм сжатия такую информацию сожмёт так, что никакому шакалу и не снилось. Ну и, если мне память не изменяет, иногда трупы неписей появляются там, где они должны нормально живыми находиться? А ещё НПЦ при перезагрузке выбирают каждый раз новый маршрут передвижения. Это должно что-то говорить об используемых способах уменьшения веса файла.
>>555207Лучше бы они вообще не делали демки свои сраные и материалы свои сраные, а доделали бы, блджад, свои пакеты.
>>554974Ну так частицы же жрут дохуя, разве нет? Сколько их понадобиться на создания одного облако? Несколько тысяч? А у меня приложение для андроида.
>>555166> И получается, что если у тебя 10к таких вот НПЦ, то это минимум 10к флагов в сейв файле о том жив ли этот нпц или нет. Да. А это аж целых полтора килобайта несжатых данных.>Как то по-моему это не совсем годное решение для сохранения игрового прогресса.А как еще можно сохранить данные о статусе нпц? Ты совсем поехавший?> Я конечно не скурим делаю, у меня всё проще, но тем не менее это не повод делать всё костылями. Мне же потом ещё этот проект поддерживать и каждый апдейт не должен ломать предидущие сейвы игрока. По этому я и ищу более кошерное архитектурное решениеКакое еще решение? Здесь вариант только один может быть: записать состояние параметров игры во время сохранения и восстановить состояние параметров игры во время загрузки. Иначе - невозможно чисто по законам базовой логики.
>>555237>полтора килобайта несжатых данныхЕсли ты имеешь ввиду, что 1 флаг это 1 бит и далее считать, что разработчик максимально плотно пакует данные в сейв файлах, то нет разницы какой алгоритм сжатия применять. Просто из за слишком высокой энтропии данных результат работы алгоритма сжатия будет либо крайне низок, либо вообще отрицательным.>А как еще можно сохранить данные о статусе нпцЭто уже всё зависит от алгоритма работы нпц.>>555204>У Скайрима движок старыйА unreal engine делали вообще на базе id tech 4. Не в движках дело, а в методах реализации решения.
>>555265>Нет багав, ВРЕЕЕЕТИИИДаже в этом случае юнитипидар не принимает реальность.>>555202>Непонятно, юнити что, больше не говно? Состояние юнити ухудшается с каждым днем. HDRP новый проект создается минут пятнадцать, материалы распаковывались минут сорок, все это с ошибками. У меня также иконки розовые, советы по установке не помогают. Даже без запуска в редакторе хуярят ошибки бесконечно. Ну и, конечно, наебали, куда у юнитиговна без этого. Материалов всего штук 30, просто разные цвета сделали, такой позор. Но юнитипидары верещат от радости - 300 матириалав!УРААААА!Могли бы хоть 3к сделать, или 3кк, оттенков много, чего мелочиться.
>>555237>А это аж целых полтора килобайта несжатых данныхЭто только флаги жив-мёртв, есть же ещё данные о самих нпс. Можно группировать флаги, выделить флаг "начало живых", выделить флаг "начало мёртвых", итого просто два флага + айдишники нпц, минус полтора килобайта данных.
>>555279>Можно группировать флагиТы напроч ебанутый и никогда не сделаешь игру с таким подхдоммимопро
>>555269>Материалов всего штук 30, просто разные цвета сделали, такой позорЧет и правда юнити наебщики еще те. Я думал там уникальных 300 материалов.
Все претензии обоснованы. Этот раунд за годотодауном.Действительно, получается странная ситуация из-за двойственности ассет стора и менеджера пакетов.
>>555269>наебали, куда у юнитиговна без этого. Материалов всего штук 30, просто разные цвета сделали, такой позорДЕНЕХ НЕТУ НА МАТЕРИАЛЫ! Все на шлюх и тачки ушли, проебали миллиарды на коксик!
>>555306а в ассет магазине не пакеты что-ли? например, у этого пакета материалов есть зависимости с другими пакетами, но так как ассет стор это не менеджер пакетов, и работает по принципу "скачал zip и распаковал", то единственный способ решить зависимости это писать в readme.txt какие версии пакетов нужно отдельно еще скачать.чем дальше, тем будет хуже.это сейчас почти все пакеты в превью и ассеты не используют их
>>555315юнити вырыли себе яму с этими вечно сырыми, вечно меняющимися API пакетов. в которой они себя же и похоронят.https://en.wikipedia.org/wiki/Dependency_hell
>>555286Скорее кривой костыль ради иллюзорной выгоды. Конкретно в случае сейвов костыль бесполезный, но в целом интересный.На пике практически пустой сейв (один) от just cause 3.>>555290Я такие хаки горожу только при пересылке по сети, там и байт сыграет. Кстати, пошёл нахер.>>555315Ну так в пакет надо зашивать зависимости и не устанавливать пакет без наличия пакетов. Элементарно же, ёпта.
>>555322Что за велосипеды вы придумываете?По сути нужно сохранить состояние сцены при выгрузке, и восстановить состояние при загрузке.Делаешь какой-нибудь SeriazableObject, у которого есть функция GetState() возвращающаяя какой-нибудь State объект. в этом State есть, например, имя префаба и данные.Массив этих стейтов просто сериализируешь на диск.При загрузке просто удаляешь все объекты с SeriazableObject на сцене (так как они уже есть в сохранении) и в цикле создаешь все объекты из префабов и назначаешь им данные.
Кароч, есть объект, на него попадают некие частицы. Как определить, что частицы на него попадают в течении некоторого времени? Ну например, если частицы попадают на объект в течении 2 секунд, то происходит какое то событие?Сначала я просто считал частицы, но потом выяснилось, что в итоге промежуток времени зависит от мощность устройства, на котором запущена игра - если мощный мобильник, то нужно кол-во частиц "накапает" быстрее, чем в случаи слабого телефона. Можно ли сделать этот промежуток времени не зависимым от вычислительной мощности телефона? Или, по крайний мере, слабо зависимым?
Ткните плиз, как партиклами создается эффект скорости, эффект трейла ветра около мултяшный такой, как в спудермане, например?Алсо, всегда было интересно, как в гоночных играх определяется кто на каком месте.
>>555334>>555336Ты заебал уже своими частицами и облакамиvoid OnParticleCollision() { chastica_vremya = 0; }void Update() {chastica_vremya += Time.deltaTime;if (chastica_vremya > maximumVremyaMezhduChasticami) total_vremya = 0;else total_vremya += Time.deltaTime;if (total_vremya > nuzhno_vremeni)SendMessage("POLITO");}
>>555336>Алсо, всегда было интересно, как в гоночных играх определяется кто на каком месте.Интересный, кстати, вопрос. Самым очевидным кажется считать расстояние до финиша * на кол-во кругов, но ведь не всё так просто... Ещё как вариант - сортировка по кол-ву оставшихся чекпоинтов + расстояние до следующего чекпоинта.
Накидайте, пожалуйста, материала как сделать разрез на объекте по направлению удара. Например, если топором хуйнуть по арбузу чтоб он резвалился на 2 части и разрез был в именно в месте удара.
Сап, анон, расскажи, а есть ли простой путь как создать бесшовный мир в Юнити?Не говорю про окружение/освещение, на это мне пофиг. Персонажи серьезно жрут производительность. Когда их штук 20 в сцене еще нормально, но 50 в редакторе уже лагает. Проблема, конечно же, кроется в куче корутин каждого нпс.Пробовал тупо SetActive(false) на персонажей, но после выключения/включения они ломаются. Опять корутины гребанные, ведь они останавливаются после отключения GameObject.Спавнить персонажей путем Destroy(this.gameObject) и потом Instantiate(GameObject _prefab) тоже плохой вариант, так как из-за этого фризы и забавные баги с полетами нпс в небе.
>>555327Так анон поднял вопрос об экономии места. А с твоим подходом это нереально, лол. А в моей игре ещё и не сохранится ничего скорее всего.
>>555417Не буду комментировать твою простыню об "я зделол говно и оно работает как говно".Если отвечать на твой вопрос, то нет, простого пути нет. Как и в любом другом движке.
>>555417Заставляй персонажей реюзать уже просчитанные варианты действий. На всю орду персонажей используй один апдейт, для каждого вида действий одна корутина со своим списком задействованных персонажей. Тут без хитростей не обойтись.Не уничтожай и создавай персонажа заново, а суй его в object pool. Натянуть на уже имеющуюся головку новую текстурку дешевле, чем создавать новую головку. Можно, например, мир разделить на квадраты, и использовать две разные логики для персонажей в квадрате, находящемся близко, и для персонажей в далёких квадратах. Скажем, вдалеке будем персов деспавнить и просчитывать их позишон по упрощённой схеме без анимаций (ведь тело-то деспавнилось), а как только ГГ подходит достаточно близко спавнить их в их предполагаемую точку. Ну и да, редактор работает медленнее, чем билд. Редактор следит за кодом до определённой глубины, и дебаглоги серьёзно жрут производительность.
>>555434Хорошо, какой тогда сложный путь по подгрузке персонажей?Можно ли через асинхронную загрузку сцен без заметных фризов?
>>555436Спасибо, годные советы, так по идее и должны делаться игры с открытым миром.Но я, конечно, так делать не буду, потому что это тысячи строк кода и недели или месяц работы. Пусть уж лучше неблагодарные игроки потерпят фризы несколько раз.
>>555417А нужны ли тебе эти корутины? Если корутины ради проверки рядом ли ГГ и запуска каких-то действий, то смести акцент и чекай в ГГ, рядом ли нпц. Если на корутинах построен АИ - выброси аи к хуям и пиши заново. Чтобы нпц не взлетал в небо, спавни его чуточку выше коллайдера, над которым спавнишь. Проверяй сначала через Bounds.Intersects, например, а потом спавни.>>555435Нет, причём здесь два списка? Я когда писал вообще думал про массив байтов вида "id_персонажа:жив ли он". В таком случае можно сделать "живые:id, id, id, мёртвые: id, id, id". Ну само собой флаги должны быть специфичными. Можно даже обойтись без флагов, в начале поставить шорт, который укажет количество живых. Пока свойство у нпц одно - будет работать идеально. В реальной жизни породит массу боли. Экономия в пару килобайт, как она есть.
>>555442В бесшовном мире надо грузить контент, а не сцены.Создаешь чанк, спавнишь игрока в центре. Когда игрок дошел до края, грузишь новую порцию контента, размещаешь в сцене, телепортируешь игрока в то же место в мире, где он должен быть.Загрузку можно сделать асинхронно, как и инициализацию.
Хочу задать довольно телепатический вопрос.У меня есть три модели и один способ привести их к общему знаменателю. Если упрощать, то я вычисляю через bounds рендерера размер модели, а потом через отношение нужного размера к имеющемуся меняю скейлинг модели. Какой бы у трёх моделей размер ни был в оригинале, всё равно все будут одинаковые. С этим проблем нет.Я спавню эти три модели во многих инстансах на одинаковой высоте в разных х и у. И, сука, все эти модели находятся на разной высоте. Х и у всегда правильные, а z всегда нет! Но при этом у всех инстансов одной модели одинаковая высота, как и надо, т.е. выходит что каким-то образом в обход моих манипуляций с подгонкой под одинаковые размеры модели как-то свои изначальные параметры умудряются пропихнуть.Какие параметры? Я не знаю. Если упрощать, я меняю transform.position на значение, высчитываемое независимо от параметров модели, т.е. задаю, что все модели должны быть 2 метра ростом, и потом смотрю не на рост моделей, а на заданные 2 метра. Всегда ли transform.position значит центр обжекта? Судя по трансформу в эдиторе, у них при разной визуальной высоте одинаковая z в трансформе прописана.Какие вообще у трансформов есть параметры, которые могут такое вызвать?
>>555602Стрелочки с осями находятся как раз в том месте, где у объекта "центр". Рискну предположить, что это где-то в районе ног.
>>555604>>555619Вложил все модельки в пустые геймобжекты, двигаю эти пустые геймобжекты - результат ровно тот же самый.
>>555604По идее, если пивоты заранее разместить в нулях, то проблемы быть не должно. Так что у него скорее всего где-то в животе.
>>555637А как их заранее в нулях разместить? Я потыкал вроде чего-то, походу, трансформ пустого родителя равен трансформу модельки, хотя и смотрит в другую сторону. Возможно, мне надо сначала поменять размер, потом вложить в пустой объект, и затем задать позицию для родителя. Как-то неинтуитивно оно всё.
Посаны, короче я построил процедурную сетку из нод для охуенной пошаговой стратегии. Запилил патфайдинг, всё работает заебись. Вопрос такой: как лучше отображать эту сетку из нод в игре? Отрисовывать квадратный спрайт для каждой ноды это будет пиздец неоптимально наверное. Можно было бы просто наложить одним спрайтом всю сетку, но по идее там не должны отображаться непроходимые ноды (например которые под зданиями). Как думаете? Может я хуёво объясняю, ну вот пояснительный рисунок.
На реддите видел кусок видео из презентации, где хуй из юнити запускает на телефоне проект с здоровенными трущобами и летающими тачками. Где можно код и описание посмотреть?
>>555602Все три типа моделек считают, что они на правильной высоте находятся. Что, блядь, за хуйня. >>555641Пустые родители проблему не решают. Пробовал включать и не включать WorldPositionStays, никак не выправляет ситуацию>>555650Мне бы желательно изнутри юнити проблему решить.
>>555779Всё, сообразил. При инстанциации спавню в позицию (0, 0, 0), нахожу центр через GetComponent<Renderer>.bounds.center (если есть дети внутри префаба, вычисляю среднее арифметическое их центров), сохраняю центр, а затем при всех операциях движения типа transform.position = newPos отнимаю центр от newPos.
Опытным путем выяснил что функции "OnCollisionEnter2D" и "OnTriggerEnter2D" не реагируют если коллизия произошел с объектом того же вида что и ты. Например 2 заспавненых врага Как это исправить? Хочется чтоб реагировало на любое столкновение.
Етить, зашел в тред задать вопрос, сижу уже 20 минут читаю срачи о том, говно юнити или нет, лол.Все же вопрос знатокам- как лучше всего сделать "колебания" ткани по физике? Простые дрыглящиеся штуки, как я понял, можно прифигачить через разные джоинты, а вот с тканью как я хз. Как функция эта называется или как искать что-то по теме этой? Как это вообще называется, а то ничего толкового не могу найти плохо искал наверноеЗаранее благодарю.
А еще вопрос игроделам.Это нормально, что я ни одной игры еще не довел до ума? У меня уже наверное десяток проектов начатых, дохожу до определенного этапа и закидываю его, начинаю другой. Надо ли с этим бороться? Можно сказать, что это для обучения все, но как-то не комфортно от такого количества недоделанных проектов.
Режь. Режь объём проектов, до тех пор, пока не будешь уверен в том, что это(твой проект) можно реализовать в одного.
>>555867Вообще я слепой, нашел, что есть компонент Cloth в самой Юнити, в принципе можно с ним работать. А вариант с Blendee тоже хороший, но там же придется все колебания ткани выставлять в виде анимации и она будет казаться статичной, не? https://www.youtube.com/watch?v=tKIzdLpawes
>>555849Что сложного в том чтобы написать в гугле Unity cloth physicsНа первой же странице гугла получишь результаты типа https://www.youtube.com/watch?v=tKIzdLpawes
>>555851>Надо ли с этим бороться?Ты начинаешь обедать, не доедаешь. Идёшь срать, останавливаешься на пол шишки. Дрочшь, но не кончаешь. Работаешь, но не зарабатываешь. Конечно нужно бороться с тем, что ты не заканчиваешь проекты. Всегда нужно доводить до ума всё иначе зачем начинать делать что-либо? Если твоя цель - конечный продукт, то бери и делай. Не получается сделать - ищи обходной путь, но цель должна быть достигнута или ты фуфел и тюфяк.
>>555928>Я вор в законе>ЮНИТИПИДАР!!!Фраер ты, а не вор. Порядочные воры не будут сами кого-либо оскорблять, а через бродяг распространят порядняк. АУЕ
>>555930>Порядочные воры не будут сами кого-либо оскорблятьЛол, ты меня со всеми не равняй, я самый уважаемый. Хуй сосать будешь, юнитипидар? Соси давай.
>>555847>Опытным путем выяснил что функции "OnCollisionEnter2D" и "OnTriggerEnter2D" не реагируют если коллизия произошел с объектом того же вида что и тыНет такого.
>>555945>ты меня со всеми не равняйА ты у нас особенный? Да, тогда ты прав. Молва по дороге пошла, что ты настолько особенный, аж ночью платья надеваешь и в туз берёшь, а я тут тебя с порядочными людьми сравниваю.
Двощь, как правильно проверять коллизии при использовании compound коллайдеров? Получается, что ивент ontrigger/collider enter|exit выстреливает несколько раз и если проверять по rigidbody, то при выходе одного из коллайдеров логика срабатывает криво. Я так понимаю, что built-in решений нет и нужно самому вести список коллайдеров и при полном опустошении списка считать, что коллизии с этим обьектом нет?>>556000Трипл врать не может.
>>555993Я хотел тебе ответить, но хз что сказать, в дефолтных юнити мануалах все написано, что сложного, проверять коллизию между тэгами или обьектами?
Хуй знает че аноны спорят насчет юнити-вс-анрил. Для хоуммейд проектов новичков юнити - идеальное решение.
>>556156>Для рисования графики для хоуммейд проектов новичков не нужен комбайн-фотошоп, пэйнт идеальное решение.Съеби, юнитидаун.
>>556174>>556003>>555928>>555269НЕ НРАВИТСЯ - ПОШЕЛ НАХЕР ОТСЮДАТЕБЯ НЕ ЗВАЛИТЕБЕ ТУТ НЕ РАДЫУЙДИ ОТСЮДА, НЕ ЗАСИРАЙ КОММЕНТЫИ БОЛЬШЕ НИКОГДА НЕ ПРИХОДИ
>>556225>НЕ НРАВИТСЯ - ПОШЕЛ НАХЕР ОТСЮДАНет, не нравится - буду говорить об этом, и не бомби, юнитипидар. У меня нет никакой предвзятости, я и про другие движки пишу, что думаю. Юнитиговно.
>>556228Ну и какой движок по твоему не имеет недостатков?Если все говно, тогда какой смысл называть определенный движок говном?
Есть камера. У камеры есть дочерний объект. У дочернего объекта тоже есть объект. Нужно Сделать так, что бы этот объект появился ровно перед камерой. Как это сделать? Ведь при изменении его координат он двигается относительно дочернего объекта камеры. И как заставить двигаться этот объект в направление от камеры?
>>556232Кто-то имеет больше недостатков, кто-то меньше, среди людей есть хорошие, есть говнистые юнитипидары. Не все с недостатками говно, юнитиговно - говно.
>>556260Ага блять так и вижу, как ты сидел за двумя мониторами и ИССЛЕДОВАЛ все движки.На одном мониторе у тебя открыт юнити, на другом - всякие графики там, таблицы, схемы, которые показывают НЕУТЕШИТЕЛЬНЫЕ РЕЗУЛЬТАТЫ.Не смеши меня дебил, все что тебя разочаровало в движке юниты - так это, что ты там не нашел кнопку СДЕЛАТЬ ПИЗДАТО
А ноны, изучаю потихоньку Юнити, спасибо за ссылки на книгу Хокинга "Юнити в действии", очень интересно. Но возник вопрос:вот есть у меня на вкладке Проджект ресурс Енеми. На сцене, самой модели нет нет, потому что Енеми порождается кодом. И есть скрипт Движение с логикой движения этого врага. Скрипт был ранее присоединен к ресурсу Енеми. А теперь вопрос, если я сделаю изменения в скрипте Движение, расположенном на вкладке Проджект, то эти изменения автоматически зафиксируются для скрипта Движение ресурса Енеми? По факту это один и тот же скрипт?То-есть если я сохраню изменения, сделанные в скрипте Движение, ресурс Енеми их подцепит и автоматом заменит для себя? Или я должен как-то сказать ему, чтобы он заменил скрипт?
>>554368> камера > void UpdateНачни с того, что все перемещения камеры пихай не в Update, а в LateUpdate.
>>555417> корутины гребанные, ведь они останавливаются после отключения GameObjectТак запускай их заново при включении, не?
>>556284Да, юнитихуйлушка, я изучал все топовые движки, мне эта тема интересна. Юнити это багованное говно, и чем дальше тем больше. Уже даже сраные материалы не работают. Пидарасы зарабатывают по 300кк в год, что они там делают вообще.
Где найти текстовые уроки по юнити? Можно на английском.Не из серии "мы делаем такую-то игру", а подробно и структурировано по устройству движка.Книгу на 1000 страниц читать не хочу, т.к. там ужсано много воды и всё разжёвывают как для даунов. В документации же тупо перечисляют список функций, без намёка на их применение.Есть ли вообще такие уроки, разделённые по разделам?
>>556389Я хочу узнать про устройство движка, прочитать про классы и их применение. В видосах же просто показывают, как создать такую-то игру, сделать ту или иную штуку, абсолютно никуда не углубляясь. О структурированности информации и речи не идёт.Ещё видео снимают шепелявые люди, которые жутко долго тянут каждое слово и порой забрасывают всё через пару серий.
>>556401Есть заброшенный канал чувака (точнее, даже перезаливки с его канала), который вполне доходчиво на русском поясняет за основы (и поглубже основ) юнити.Типа "сегодня делаем инвентарь", "сегодня делаем шейдер", "сегодня разбираем инверсную кинематику".Но это, опять же, видео. По текстам или "книги на 9000 страниц" или краткие туторы из ФАКа, которые как раз таки "делаем игру".На всякий случай держи видосыhttps://www.youtube.com/channel/UCyh-t-R60C3IwX8iId9y1Rw/videos
>>556377>Уже даже сраные материалы не работаюто божесрочно напиши об этом в поддержку!!! А то они и не знают, что у людей не работает!!!
>CEO John Riccitiello told Cheddar in April of 2018 that the company was earning about $300 million in annual revenue.Край купили за 70 миллионов, юнитиговнолоджис по ходу тратит на разработку миллион, остальное распиливает.
Есть объект. У него есть коллайдер-куб. Есть второй объект. Он нет меша, но тоже есть коллайдер-куб. В общем, в теории, когда второй объект по подает в первый, должна сработать функция OnCollisionEnter, но в итоге при их столкновении ничего не происходит и функция не вызывается. Почему?
Кароч, такая проблема. Нужно было сделать чтобы шарик и платформа циклично сталкивали в двух точках. Ну я посчитал расстояние и задал в скрипте через таргет, чтобы они бесконечно так двигались. Однако после каждого столкновения они по чуть-чуть начинают отклоняться. Буквально спустя минуту они уже перестают касаться друг друга, хотя первый удар происходит идеально. Уверен что посчитано все правильно так как при малейшем изменении скорости первый удар сразу смещается. Мб кто знает в чем проблема, я новичок в юнити.
>>556514> Почему?> Note: Collision events are only sent if one of the colliders also has a non-kinematic rigidbody attachedНу даже хуй знает.
>>556376Расскажи пожалуйста, как ты сделал это? Мне возможно для игры нужно будет что-то подобное. В какую сторону копать вообще, какие штуки юзать?inb4: юзай мозг, уроки юнити бесплатно без спс и мокрых геймдевелоперов
>>556583Я тебе даже видосик кину, мне не жалко.https://youtu.be/o9RK6O2kOKo?list=PLU3fRDDqpcLnIq9YNieVhGrHmUtQE8yAcЕсли вкратце - делаешь цепочку кривых безье, проходящих через кубы. Определяешь срез меша. Потом строишь меш по точкам кривой на основе среза.
>>556584я другой анон но вопрос все равно задам. а нет ли ссылочки о том как сделать чтобы точки на кривой безье были на одинаковом расстоянии? я пердолился с этим и самым простым решением показалось сделать как обычно а потом интерполировать.
Не закупился шоколадками, думалка не работает, даже список задач сформулировать не могу. Эх, прощай, диета, буду жирный, но умный.
Аноны, как ускорить запекание света? Я про baked indirect, GI и AO.Заибался уже по два часа печь свет. Тем более что игра у меня с простыми шейдерами, только диффуз карты и все. Никаких отражений нет и прочего. Источник света один глобальный baked directional, один глобальный realtime directional для не статических объектов и baked spot несколько мелких для освещения в замкнутых пространствах. Видел в документации про Unity 5.5 какую-то фичу под названием Precompiled GI. Там Юнитеки хвастались, что с этой фичи можно как-то сохранить данные GI и потом запекать свет за несколько минут. Но в новом Юнити не вижу такой опции.Только не советуйте пожалуйста сторонние ассеты, хочу как можно меньше ассетов в проекте.
>>556913Не веришь? Вот я тебе ссылочку подгоню: https://unity3d.com/learn/tutorials/topics/graphics/introduction-precomputed-realtime-gi?playlist=17102
Можно ли сделать так, что бы у функция выполнялась в единственном экземпляре. Т.е. сколько бы раз функция не вызывалась бы, если такая функция уже выполняется, то другие такие же функции не вызываются для данного объекта.
>>556954if (!funkciya_vipolnyaetsya){funkciya_vipolnyaetsya = true;Funkciya();}void Funkciya(){//Твой кодfunkciya_vipolnyaetsya = false;}
Бля, почему если у системы частиц в настройке коллизей выставить Type = Word, то частицы начинают вылетать не постоянно, а порциями? Типо одну секунду частицы испускаются, потом происходит перерыв на секунду, и только потом частицы снова испускаются. При этом в режиме Planes частицы испускаются без перерыва. Как это пофиксить?
Есть два объекта с коллайдерами. Как сделать так, что бы эти объекты могли проходить сквозь друг друга, при этом не делая один из этих коллайдеров триггером?
>>556954Каким образом эта ебанутая идея пришла тебе в голову? Хоть один аргумент, зачем это может понадобиться психически здоровому человеку?
>>556954Через корутину.Coroutine co;if(co==null) co = StartCoroutine (edinstvennayaCorutina);else Debug.Log("Lezhat + sasat");
>>557035Что за рейс кондишон? Можно, например:if (funkciya_vipolnyaetsya == 0){funkciya_vipolnyaetsya++;Funkciya();}void Funkciya(){//Твой кодfunkciya_vipolnyaetsya--;} >>557038Например, ты вызываешь функцию, а её результат уже получен
>>556954> если такая функция уже выполняетсяЧто значит "уже выполняется"? Если ты функцию хоть из 10-ти разных мест запустишь, она никогда не будет выполняться несколько раз одновременно.Создай в студии проект, пропиши свой код, поставь брейкпоинт, да проклацай F11, поймёшь как это работает.Или ты её в параллельном потоке запускаешь?
Есть скрипт, в кототором есть контейнера, в контейнере элементы. Как пробрасывать на верх сообщения что элемент был изменен, использвать эвент или держать ссылку на дочерний элемент и вызывать функцию?
Короч юнити опять пиздануло по мне. Раньше при импорте нормалмапы если что-то не так, появлялась кнопка fix, я жал ее и нормалка правилась как надо. Сегодня кнопка перестала появляться. И еще прикол, когда жмешь закрыть юнити спрашивает сохранить нет, жмешь сохранить и открывается окошко normal map settings, и через секунду юнити закрывается. ЧТА ДИЛАТЬ???
https://blogs.unity3d.com/ru/2019/02/14/procedural-stochastic-texturing-in-unity/Неужели, что-то нормальное выкатывают, опять поди наеб. Только вчера из пэйнтера импортировал в юнити и заметил, что текстуры сильно темные, нужна калибровочная сцена. Вспомнил про этот бутылек, скачал с ассет стора, все конечно с ошибками, небо пропало, нихуя не заработало короч.
Какие подводные в покупке про версии на торрентах, с целью убрать злоебучее лого в начале? Кроме того, что я не смогу продавать свои высеры. Какая сейчас последняя версия вообще?
>>557091>>557092Вообще события лучше, уменьшают связность.Но ты можешь сделать transform.parent.GetComponent<Kontainer>()то же не связно получитсяНА нулль проверь не забудь
>>557243Да мне насрать. Я хочу избавиться от лого и все. Я даже не спрашиваю, как. Я спрашиваю, есть ли подводные в пиратке? Будет ли напрямую работать ассет стор, например?
Возможно я задам тупой вопрос, но все равно задам. А как увязать MeshInstanceRenderer и виндзоны? Хочу вот чтобы у меня в ECS овощи на грядках росли и дрыгались когда ветер дует.>>556594Через интерполяцию так себе если надо много
>>546997 (OP)Хочу писать эрпоге с видом сверху или от 3-го лица. Выбирать юнити или анриал? Кресты понимаю/писать умею, в коде в целом могу разобраться, но походу это особо не надо ни там, ни там.
>>557260Проще через шейдер смещение сделать.>>557261Надо и там и там. Если кресты дроченые, то унрыл. Если решетки точеные, то юпити. РПГ и там и там можно сделать, так что сам попробуй и реши, что тебе больше нравится.
>>557261наебёшся и там и там. в анриле можно под капотом пошабуршать и никто не остановит тебя от выстрела в ногу, но в этом говне бесконечно ломается подсветка синтаксиса в коде если пишеш на плюсах. и много говна для шутанов, но только для шутанов. лично я выбрал юнити из-за того что там переход на новую версию гораздо менее болезненный обычно и обновляется чаще.>>557263да-а-а, а ещё можно просто высаживать деревья и совать в ентити айдишник инстанса дерева и террейна и так шевелить. так даже проще. но мне лень склеивать много говна в одно поэтому и спросил.
Я помню тут как-то постил один фаг который пили свой навмеш ассет c avoidance и т.п. хренью для юнити стора - он еще тут?
>>557278он ещё какое-то время будет WIP. но я скоро в ассет стор наверно суну довольно большое обновление, если мои драгоценные тестеры не найдут какого-то крупного пиздеца.там в целом 4 важных куска кода: 1) растеризация коллайдеров в воксели2) делание из вокселей юзабельной информации3) делание контура из вокселей4) триангуляция этого контурана ассетсторе отрефакторены 1, 2. в следующем обновлении будет ещё 3, плюс более адекватный способ поиска информации на навмеше, плюс много других мелких изменений для повышения стабильности.когда отрефакторю 4 то проект наверно перейдет в состояние беты и станет гораздо более юзабельным. сейчас из-за того что триангуляция говно генерация чанков растёт совсем не линейно. и нету возможности ретриангулировать чанк, так что и динамических обстаклов нету.но динамические обстаклы не так и сильно нужны учитывая что чанки один хуй генерируются довольно быстро.
>>557289Пава вопросов: какой конкретно feature-set вообще он предлагает:И насколько просто (по сравнению со стандартным Навмешем Юнти) интегрировать фнкционал в уже существующую демку где готов левел и враги расставлены и текущая имплементация на навмеше.
>>557290довольно большой на самом деле. из клёвых:1) навмеш разделён на чанки и есть возможность убрать какой-то чанк из навмеша и сделать его заново не меняя остальных частей навмеша.2) у всех порядочных навмешей есть возможность указывать стоимость пути в какой-то области. у меня тоже есть. можно указывать компонентом на обьекте, можно указывать специальным маркером (у маркера кстати множество других фич, например им можно указывать где наоборот надо вырезать дырку в и проложить путь через стену например) и самое клёвое - можно читать текстурку на террейне и интерпретировать сплат-мапы как модификаторы стоимости пути. чтобы хопа где нарисовал дорожку там и будет дорожка.3) агенты могут быть разных размеров. какой сет навмеша используется указывается ссылкой на специальный скриптабл обжект4) можно автоматически генерировать укрытия5) рэйкастинг на навмеше6) отдельно генерация зон проходимых при приседании (в параметрах агента есть чекбокс и указание другой высоты)7) возможность регистрировать в тех самых маркерах какой-то обжект, который возвращается если по той территории проложен путь. мегазаебись для организации логики дверей.из менее клёвых:8) генерация спотов для прыжков вверх-вниз. довольно хуево сделано, но оно не так глубоко спрятано, так что при желании можно поменять как там отбраковываются споты и как обрабатываются9) локал авойденс. в версии на ассет-сторе только для агентов.10) возможность быстренько вернуть набор несколько ближайших доступных Vector3 на навмеше11) возможность немножко ускорить генерацию всего этого дерьма делая растеризацию на гпу12) а ещё я не пизжу с коллайдерами для деревьев. я не поленился написать быструю растеризацию для примитивов (кроме куба) и я не поленился написать как перенести коллайдеры дерева в инстансы деревьев. правда тут пиздит уже само юнити, потому что вроде как до сих пор коллайдеры на деревьях не крутятся вместе с инстансом. и всякое говно ещё. например отдельно есть поиск пути с указанием нужного модификатора стоимости пути. чтобы агент хопа и нашел ближайшую такую-то територию. может ещё забыл чего.ну и всё это дерьмо конечно-же с максимумом многопоточности. в основном потоке информация только собирается, а склеивается и извлекается в потоке навмеша.в следующей версии из клёвых фич ещё будет возможность указывать зоны-модификаторы стоимости пути, чтобы быстренько поменять где-то стоимость хождения чтобы агент например избегал место где скоро граната ебанёт. и возможности регистрировать свою хуйню с Vector3 на навмеше и искать её. чтобы например хопа рядом где-то предмет выпал, а его можно зарегистрировать на навмеше и быстренько найти всю ближайшую хуйню и примерную стоимость пути туда. ну и всякие фичи поиска пути ещё будут вроде пути в выбранном направлении.насколько просто - а хуй его знает. у меня не заимплеменчено какого-то дефолтового контролера, например. когда просишь путь из А в Б то тебе возвращается набор вэйпойнтов. как ты их там интерпретируешь это уже твое дело. хотя разумеется экзамплы есть как это можно делать. когда и как запрашивается путь тоже твое дело, путь ищется только когда ты его просишь. это юнити вроде делает за тебя всё. у меня надо побольше кнопок давить. например обновление локал авойденс солвера надо отдельно функцией вызывать, самому пихать какой ты там вектор хочешь, а потом самому интерпретировать безопасный вектор движения, например.
>>557308он бесплатный лол. и останется бесплатным. могу ещё и бета-версию дать, но там возможно что-то поломано и устаревшая документация.
>>557261>Выбирать юнити или анриал? Где больше туториалов то и выбирай. Хотя что то что то обладает своими плюсами и недостатками.
>>557209Никаких подводных камней нет, всё работает и коннектится с ассет стором. Сижу на такой юньке уже 3 года, аккаунт до сих пор не в бане.Есть лишь один ньюнас, это какой патчер, или затычку ты найдёшь на просторах. Словить гавнеца есть нехилый шанс такой.
>>557543>Есть лишь один ньюнас, это какой патчер, или затычку ты найдёшь на просторах. Словить гавнеца есть нехилый шанс такой.Это ты про вирусы? Ну это в любом торренте найти можно.
>>557544Про сам исполняющий файл, есть оригинал, есть множество скомпиленых китайских копий братьями нашими меньшими китайцами.От безобидного, запустишь нихера не работает, до более печального, пизда системе.
У меня открыта легкая тестовая сцена с двумя аниматорами, в ходе игры в профайлере внезпно появилась вот такая дилда посреди ничего. Это откуда, это почему такое?
>>557545>до более печального, пизда системе.Сказки какие-то нахуй, я как комп купил в 2007 сижу без антивируса, и никогда нихуя не было. Несколько штук рекламных когда-то давно находил чистилкой дрвеб после установки мейл говна, и потом сколько раз сканировал все чисто.
>>557576>я как комп купил в 2007 сижу без антивируса, и никогда нихуя не было.Если отбросить высокий вариант что ты просто типикал пиздобол, и принять на веру твой ответ, то скорее всего ты сильно лукавишь насчёт этого.За более чем 10 лет не словить серьёзного говнеца из инета можно только в нескольких случаях.Самый очевидный это сидеть на парочке сайтиков, по типу соц.сетей, смешнявок и т.п, в том числе качая софт и нужные вещи только с пары проверенных трекеров.Возможно, ты возразишь и скажешь, что это не так, и твой кругозор более обширен, и ты сидишь/посещаешь намного больше интернет порталов?Тогда остаётся два варианта, либо у тебя есть опыт, и понятие что как работает, и где можно подцепить говна на интуитивном уровне, но тут возникает сразу вторая проблема, качая что либо с довольно сомнительно ресурса, запускать и проверять на реальной машине, это удел либо дурачка которому не важна его инфа, либо человека надеявшегося на удачу.Второй же вариант ошибка выжившего, другими словами, за столь долгий период времени тебе просто везло. Хотя я склоняюсь всё-таки к тому что ты пиздаболишь/сидишь на парочке сайтов.>>557563Отпиши [email protected]
>>557618Да, я в основном качаю с рутрекера и сгпирс. Ну давай, расскажи, на какой сайт зайти, чтобы поймать вирос.
>>557618Я не он, но тоже сижу без антивируса уже лет так 10. Чужие флешки в комп не пихаю, софт тяну только из надёжных источников. Если уж попадается что-то сомнительное — проверяю через вирустотал перед запуском.Раз в несколько месяцев на всякий случай прогоняю систему антивирусной утилиткой, чтоб внутреннего параноика успокоить, но стабильно всё чисто.Ещё и иногда поглядываю что у меня в автозагрузке и службах, да. И хосты посматриваю.
>>557631Верю. Но с такой паранойей можно дойти до того, чтоб будешь сидеть на виртуальной машине без подключения к сети. А то мало ли что, знаешь ли.Моя система ведёт себя так, как я хочу, мокрые писечки вместо рабочего стола не показывает, левых процессов и служб не обнаружено. Так что мне норм.
Эта книга вообще актуальна ещё? Она 2016 года. В ней говорится что автор использует Unity 5. Но сейчас даже нумерация уже другая. Двигло с тех времён сильно изменилось?
>>557653Хуй знает. Но большАя часть нововведений из юнити 5 уже помечена как obsolete. Для знакомства с нуля подойдет, но если хочешь быть на острие прогресса, то скорее всего придется самому руками щупать новые фичи, потому что пока по ним напишут детальные туториалы и юз кейсы, юнитеки уже весь движок перепишут заново.
>>557543но нахуя?>>557653ощутимо. за три года то дохуя поменялось. вон в последней версии выкатили даже новые префабы, например. с некоторыми элементами юнити-хуюнити надо теперь по иному взаимодействовать.вообще нахуй тебе какая-то книжка? документацию открой, а не книжку.
>>557658я ставлю под сомнение свою технику онанизма когда вижу такую хуйню.>>557660а ты приебись к каждому в темном переулке и спроси сколько они игры сделали и движков написали. они же все хуесосы небось.
>>557653Я её читал примерно год назад. В принципе, если впервые юньку открыл (или сисярп слабенько знаешь), то почитать можно, на пользу пойдёт. А так — ничего особенного.Устарела не сильно, потому что в какие-то адовые дебри автор и не залезает. Так, проходится по эдитору, иерархии, какая кнопочка чего значит. Рэйкасты там, XML, вайтбоксинг.Короче, если совсем зелёный — почитай.
Сап, как в юнити мутить локальное понижения уровня террэйна? Например хочу я речку сделать, и воды налить. А в последней версии функция "Понизить уровень террэйна" - не работает. Или он не работает только у меня? Помогите плес.
>>557631Если уж впадать в крайности есть вообще уязвимости на уровне архитектуры процессора, там антивирус особо не поможет. Ну а если смотреть со стороны паранойи - можешь ли ты и в правду доверять своему антивирусу? Производитель антивируса по сути получает полный доступ ко всей ОСи, всем процессам и их данным. Не говоря уже про доступ к файловой системе.
>>557888Ты сейчас на полном серьёзе представляешь банальнейшую зщиту антивирусом как параною? Параноя, это когда я программировал свой DDWRT на роутер со сменой пароля каждую неделю + Анализатор трафика на OrangePi с логерами. А антивирус - это банальная мера безопасности. позволяет хотя-бы более менее буть уверенным в том, что никто майнера на твой комп не поставил или троян.
>>546997 (OP)Я один такой в треде. >Создал проект. Запилил игрока, камеру, пару фич.>3 фича делается примерно через 9000 сраных способов. >Примерно на 8999 способ фича начинает работать и даже доставлять.>8998 хуёвин от прошолых способов лень удалять>Создал проект ЗАНОВО. Запилил игрока, камеру, тройку фич.>4 фича делается примерно через 9000 сраных способов. >Примерно на 8999 способ фича начинает работать и даже доставлять.>8998 хуёвин от прошолых способов лень удалять>Создал проект ЗАНОВО. Теперь с 4 фичами.И так блядь каждый раз. Пилю игру 14 дней, а у меня уже 14 версий игры.
>>557631Да, некоторым не нужно. Просто от этих некоторых антивирус никак не спасет. Так что антивирусы - ненужное говно.
>>557892> Я один такой в треде.> >Создал проект. Запилил игрока, камеру, пару фич.> >3 фича делается примерно через 9000 сраных способов.> >Примерно на 8999 способ фича начинает работать и даже доставлять.> >8998 хуёвин от прошолых способов лень удалять> >Создал проект ЗАНОВО. Запилил игрока, камеру, тройку фич.> >4 фича делается примерно через 9000 сраных способов.> >Примерно на 8999 способ фича начинает работать и даже доставлять.> >8998 хуёвин от прошолых способов лень удалять> >Создал проект ЗАНОВО. Теперь с 4 фичами.> И так блядь каждый раз. Пилю игру 14 дней, а у меня уже 14 версий игры.Тут все такие. Думаешь, кодерам просто так по 10к в месяц платят? Нет. Их платят именно за умение писать легкоподдерживаемый и легкорасширяемый код.
>>557889Я тебе говорю, сижу больше десяти лет, и твои вирусы это миф, и даже установка одного антивируса это паранойя. И в новой винде я тоже отключил вирус, потому что прочитал, что из-за него папки долго открываются. Ну какая-то защита все равно есть, перед установкой прог вылазит окошко с запросом разрешения
>>557904Довен, ты наверное из тех, кто вакцинацию отрицает? Хули, микробов же не видно, наверняка это какой-то жидовский миф.
>>557912Нет, не отрицаю, мы же не теоретизируем, ебанько. Я тебя четко спрашиваю, как получить вирос, на какой сайт нужно сайти? Может ты даун и на каком-нибудь сайте школьника васеньки качаешь игру, сделанную этим школьником весом в 10кб. Ну тогда по делом тебе, долбоеба кусок.
>>557922>почитай как пентагон вшивает виросы в харды, почитай как микрасофт можит тебе все данные удалить. СТРАШНААА!Понятно, пидарнутая ты собака.
Подскажите пожалуйста, как сделать обмен местами, двух объектов по клику мыши на каждый из них. Аля пазл
>>558032хуяк по первому - трансформ запомнил, хуяк по второму второй трансформ запомнилVector3 pos = transform1.position;transform1.position = transform2.position;transform2.position = pos;
Кодить нихера не умею, только учусь, но крайне надеюсь на вашу помощь.Анончики, я к вам с вопросом - как можно в 2д платформере менять состояние плеера со скольжения по платформе на сорт оф прилипание к ней, по нажатию кнопки? Код вроде бы уже есть, но проблемка в том что оба состояния идут через Update() и строчка, отвечающая за съезжание по стене вроде как обновляется по фреймам, из-за чего нажатие кнопки ему как об стенку горох.Пока что получилось только заделать прилипание просто через OnTriggerEnter, без съезжания и без кнопок, или же с кнопкой, но если заменить GetKeyDown на GetKey и зажимая её. Зажимать не катит, хотеть по нажатию единожды.Извините если чё что я с наверное тупыми вопросами, но гугл не помог.И наверное кусок скрипта который и не даёт мне покоя if (stickY == true) { if (Input.GetKeyDown(KeyCode.E)) { float moveVertical = Input.GetAxis("Vertical"); rb.velocity = new Vector2(0, moveVertical * speed); } else rb.velocity = new Vector2(rb.velocity.x, -2);
Появилась небольшая проблема. Вообщем я загружая сейв с помощью статичного метода, в котором создается экземпляр с игровой инфой, и этот метод возвращает созданный объект в саму сцену, где инфа запихивается куда надо. И вот енгин дает варнинг мол я trying to create a MonoBehaviour using the 'new' keyword. This is not allowed.Можно ли просто игнорить это сообщение или слегка переделать код? Если переделать то почему?
>>558291Можешь просто кастовать луч в направлении движения и вниз, и если соприкасаешься с какой-то стороны, но не снизу, то включаешь прилипание. Найди на ютубе Sebastian Lague, у него в серии туториалов про 2д платформеры было и скольжение, и прилипание, и отпрыгивание от стен и ходьба по наклонным поверхностям произвольного угла.
>>558293Суть описана в варнинге. МоноБехевиор не может существовать без GameObject, следовательно создавать надо GameObject и прикреплять к нему мб с помощью AddComponent.
>>558295Видимо из-за этого придется создать новый промежуточный класс без MonoBehavor, чтобы просто передавать свойства туда сюда.
СЦП-кун на местеНовый lightweight rendering pipeline виар годный, движения моушн контроллеров плавное, как в уиче. Хотел перекатиться в уе4, но раз шейдерные графы ввели, фпс поправили, то начал сомневаться в перекате. Осталось чтобы ещё физон завезли и время компиляции сократили, тогда юич будет топ.
Вопрос про JobСуть - пытаюсь перекинуть поиск пути в джобы, создаю обычный IJob т.к. хз как в паралель это вынести.Так вот через iJob с Schedule и Complete у меня получилось это сделать.Сейчас использую Allocation Persistent, как я понял Persistent значит что данные будут храниться пока их руками не задеспозить, правильно? Может мне стоит использовать Temp или TempJob? Не понял в чем их различине.Вызов Execute напрямую холдит главный поток?Вызов через Schedule просто кладет мой Job в список, а Complete начинает их выполнять?Как работает стек дальше? Это аналог await'a? Когда джоб закончится мы вернемся в стек и пойдем дальше линейно?Что будет если в одном инстансе запустить несколько джобов?Можно как-то сделать 1 джоб на 1 инстанс? (сейчас сделал через бул флаг, но выглядит как костыль)Еще вчера вычитал что джобы могут возвращать только коллекции и заранее созданные т.е. сейчас у меня 2 переменные NativeArray<node>(200) для результатов, где я молюсь что больше 200 нодов не будет никогда и NativeArray<int> где [0] всегда = число нодов т.к. CopyFrom для массивов разной длинны НЕ работает.
>>558299Где про пайплайны можно почитать?Хочу сделать софтверный рендеринг как на пс1/пс2, сейчас можно сделать через шейдеры, но мне не нужны все эти двойные подходы и прочее.
>>558294Может я в очи сношаюсь, но в том плейлисте ничего подобного найти не получилось.Хз, мне же нужно именно заделать переключение состояние в апдейте, может быть приоритет задавать по нажатию кнопки или блочить предыдущую строку, без понятия как. А у того погромиста обычное скольжение по стенам, мне же нужно и то и это.
>>558312Ассета наверните, молодой ретрофил.https://github.com/dsoft20/psx_retroshaderНа пс2 графон уровня пеки с поправкой на очень малый объем видеопамяти, все что тебе надо это очень мыльные текстуры.
>>558383Покури сорцы эмуляторов. За тебя тут никто рендерер делать не будет, а ты по всей видимости хочешь именно этого.
>>558312https://docs.unity3d.com/Manual/ScriptableRenderPipeline.html#customhttps://github.com/Unity-Technologies/ScriptableRenderPipelineНе думаю, что ты решишь ковыряться в нём, но удачи.
Юнитач, окажи пожалуйста помощь.Пытаюсь реализовать гравитацию для отдельной нормали.http://www.gamasutra.com/view/feature/131997/games_demystified_super_mario_.phpМне нужно найти ближайшую к персонажу нормаль (полигон)Для этого я пускаю луч от центра персонажа к центру планетоида и беру нормаль на пересечении луча. Что бы проверить использую Debug.DrawLine и предполагаю что получу желтый луч но получаю центр сцены. Ломаю голову целый день, что я делаю не так?
Кто имеет опыт половой ебли с facebook sdk плагином для юнитей?У меня проблема, вот сорт оф дебажный метод получения друзей. Там по документации начиная с апреля 2018го они выпилили /me/invitable_friends/И оставили довольствоваться /me/friends/Который по идее должен возвращать жсон с друзьями, которые тоже установили приложение.А оно высирает теперь только хуй, в котором поле с количеством друзей всего.AppConfig.Facebook_app_id это ид моего приложения, ну это и так понятно, так сказать.
>>558523Имена переменных пишутся с маленькой буквы, тебе это в любой конторе на жопе выжгут каленым железом в первый же день чтоб не забывал.
>>558547Потому что с большой пишутся имена классов. Поразбираешь чужой код где все понаписано хуй пойми как тогда поймешь.
>>558549> Потому что с большой пишутся имена классовИ свойства. И публичные поля.Ну, если уж совсем в стандарты углубляться.
>>558552Конечно будутhttps://social.msdn.microsoft.com/Forums/vstudio/en-US/f75d6cb4-084f-4f2a-95c0-6d7f1b67c978/msdn-c-coding-standards?forum=csharpgeneral> Public instance field> Pascal>>558553Хуй их знает, вот так вот решили.
https://docs.microsoft.com/en-us/dotnet/standard/design-guidelines/capitalization-conventionsХм, и правда, а почему тогда в юнити клали болт на некоторые правила?
>>558554Пардон, ссылку из обсуждения впихнул.Вот исходный материалhttps://docs.microsoft.com/en-us/previous-versions/dotnet/netframework-1.1/x2dbyw72(v=vs.71)
>>558555У нас из-за этой хуйни даже проблема была. В самописном API одного дерьма был аналог Vector2, в который паковались данные и отсылались в юньку. А там x и y были с большой (публичные ведь, ёпта), само собой Vector2 такую конструкцию слал строго нахуй.Вроде мелочь, а пришлось занырнуть и переписать.
>>558952Нужно правильное вращение на плоскостяхЕсли планета небольшая, то на больших плоскостях будет съезжать как с горки
>>558955но ты-ж сферический коллайдер используешь. откуда там плоскость. не проще пользоваться трением и прочей хуйней?
>>558960Да я просто примитив для теста сделал. Это работает с любым мешем и мешколлайдером или отдельными.
Бля, почему у меня частицы испускаются промежутками, а не непрерывно? Если в Colision->Type выбрать Plane, то частицы испускаются нормально, но если поставить режим World то 1 секунду испускаются частицы, потом 1 секунду не испускаются, потом опять 1 секунду испускаются и т.д. Чо за хуйня?
>>558972как по мне так какая-то хуита. если хочется чтобы гравитационные силы считались вокруг произвольных форм то следует разбивать их на воксели, или пирамидки и отдавать на откуп гпу. чтобы у тебя там силы считались у всего для всего.>>559167в душе неибу что за туториал
>>559239Есть документция по такому методу?Я руководствовался этой статьей.http://www.gamasutra.com/view/feature/131997/games_demystified_super_mario_.php
>>559258наверно есть, но тут не так много базовой теории один хуй. можешь вон посмотреть это, например.https://mickyd.wordpress.com/2014/02/01/n-body-galaxy-simulation-using-compute-shaders-on-gpgpu-via-unity-3d/только можно представлять же тело как фиксированные воксели и считать гравитацию уже так.так то полно экзамплов как крутить это говно. например https://github.com/PatrickPurcell/Gravity-Demoклево жеhttps://www.youtube.com/watch?v=Hz42sDJE2e4правда это потребует явно больше времени и не уверен что такие охуенности требуются для твоей задачи.
>>559282> https://www.youtube.com/watch?v=Hz42sDJE2e4> Вычислитель псевдоэнштейновской гравитационной кривизны на основе шейдера.Лол, охуеть, самое то для мобильной платформы.Но вообще поражает сколько может юнити при хороших мозгах.Спасибо, но пока для меня это слишком сложно.
>>559310на самом деле на могильной платформе тоже можно, конечно. Compute Shader то и там работает.кстати стоит сказать что синтаксис в шейдорах не такой и сложный как может казаться. код менее функциональный сам по себе, меньше кнопок доступно. правда дебажить его боль.
Как сделать так, что бы Image менял свои пропорции в соответствии со спрайтом, который в него вставлен, но при этом не менял бы размер?
>>559344даже интересно стало нахуй оно надо.полагаю проще всего просто ставить картинку через код. и менять всю хуйню что надо уже так.но если хочешь через инспектор то наверно проще наследоваться от Image и написать внутри уже всю хуйню как тебе надо. сорцы UI то в открытом доступе.https://bitbucket.org/Unity-Technologies/ui/src/0651862509331da4e85f519de88c99d0529493a5/UnityEngine.UI/UI/Core/Image.cs?at=2018.3%2Fstaging&fileviewer=file-view-default
>>559344>>559360а вообще. наверно можешь просто вложить свой image в что-то другое. что имело бы фиксированный размер, тогда как вся хуйня внутри менялась как ей вздумается. как-то так. в разделе Layout то много хуйни для такого.
Пацаны, где взять нормальные лоупольные деревья для террейна? Имеется ввиду не мультяшные, а нормальные. Блять смотришь старые видосы по Юнити там были у людей по дефолту лоуполи деревья из стандартных ассетов или еще откуда-то. Щас бля в стандартных ассетах 2 SpeedTree есть уже подзаебавших, а где найти лоу-поли полууебищные старые деревья? Они ведь где-то раньше на каждом углу валялись я чую это, ибо нубы бы не смогли тогда их в свои видосы запихнуть.
Помнится тут был анон, который мастерил свою симуляцию эрозии?Если ты все еще тут: https://www.youtube.com/watch?v=eaXk97ujbPQ
Привет, помогите, пожалуйта, вылетает инити.версия 2018.3.14 f1 Началось с того, что установили beautify и skyshop - они не зашли мы их удалили и пошли краши, потом открыли бэкап- краши, потом переустановили юнити- краши, потом новый проект- перенесли пропсы -опять пизда. mono-2.0-bdwgc.dll caused an Access Violation (0xc0000005) in module mono-2.0-bdwgc.dll at 0033:b7e456d5.