>>559305Ебааать, и это представители юнити? Я лучше на анриле посижу тогда, там хотя бы community manager няшная тянучка.
Пиздос, они в последней версии террейн сломали. Делаю райкаст из камеры в персонажа - получаю в хитпоинте ТЕРРЕЙН. Сквозь персонажа нахуй. Подложил под чарактера куб, в хитпоинте ТЕРРЕЙН. Ебись ты конём, рисую линию из камеры в цель райкаста. Всё хорошо. Рисую линию из камеры в хитпоинт. А это вторая линия и она даже не параллельна первой, и тянется хуй знает куда. Ну ёб твою мать.
Вопрос, на который ответить могут только телепатыКогда я приближаю камеру к 100+ объектам, сокращая таким образом их количество в области обзора, фпс падает, когда удаляюсь от них и держу все из них в области обзора, фпс растёт. Очень слабо растёт, разница на моей довольно старой пекарне в 10 фпс при очень простых моделях, от 60 до 70 в итоге, но тем не менее. Ничего с окклюженом не делал, один источник света, менял только шейдеры, чтобы ритмично прозрачность у половины объектов менялась в зависимости от времени. Сделал префабы, которые состоят из нескольких стандартных юнитовских фигур, заменил все модели, оставив те же шейдеры - фпс упал до 20-30, при этом наоборот при приближении фпс растёт на 10. Что это вообще может быть?
>>559513И тебе привет, очередной "я самый умный юнити дураки не знают как делать движок".Очевидно же, что движок говно, ведь ты у мамы гений, и ошибка 100% не в твоем проекте.
Единственный реальный мешающий баг, который я находил за все работы - это иногда после билда ломались ссылки на префабы.
Парни, как из скрипта скопировать объект в сцене? Ну тоже самое что и Ctrl+D или просто Ctrl-C/V. Собвенно какую именно функцию вызвает редактор когда ты жмешь Ctrl+D? Я хочу вызвать ее из скрипта.
https://en.wikipedia.org/wiki/John_Riccitiello>John Riccitiello (/rɪkɪˈtɛloʊ/) is an American executive who serves as chief executive officer (CEO) of Unity Technologies. Previously, he served as CEO, chief operating officer and president of Electronic Arts, and co-founded private equity firm Elevation Partners in 2004. Riccitiello has served on several company boards, including those of the Entertainment Software Association, the Entertainment Software Rating Board, the Haas School of Business and the USC School of Cinematic Arts. Надо быстрее игры делать, пока такие CEO не успели ввести лутбоксы в Юнити.
>>559527Пять лет работало, анон, с 4.х, на 5.х. Но они немного переделали райкаст, судя по всему, из-за чего и сломалось. Уже починил, всё работает заебись.
Господа знатоки, я правильно понимаю, что если мне на уровне нужен триггер, который, например, активирует движение других обьектов, то мне нужно писать скрипт отдельный? Или все же в самом Unity есть какая-то функция, которая делает триггеры, как например Button задает действия в самом инспекторе? Или может быть существует какой-то стандартный скрипт-триггер, который один раз пишешь и потом суешь в него обьекты и таймлайны/анимации?
Вопрос про AnimatorУ меня есть самолетик c Rigidbody, он летит вперед с помощью скрипта, движение через Rigidbody.MovePosition. Все работает нормально.Хотел добавить ему анимации, idle и все такое, чтоб он покачивался и т.д. Влючил Animator, покрутил его, записал это, настроил анимации и переходы и пиздец, он теперь не плавно летает а его колбасит жостка. Он вроде и двигается по анимации и летит вперед, но его потрясывает и дергает сильно.Вопрос: ЧЯДНТ и как по нормальному анимировать игровые движущиеся обьекты?
Бля, что за хуйня. В юнити всё нормально, а когда запускаю игру на андроида внизу появляется это ебаная белая полоса. Как её убрать?
>>559924Я поправил ту штуку, спасибо за ответ. Но в итоге мне окончательно помогла смена Update mode в Animator с Normal на Animate Physics. Заработался что-то и забыл проверить этот момент. Анимация стала плавнее и вроде перестала дергаться.Вообще довольно сложную систему анимаций они сделали, как мне кажется. Не всегда понятно, что именно нужно сделать.А ведь еще есть Timeline, там тоже свои приколюхи.
Хочу сделать, что бы субтитры можно было пропускать по нажатию кнопки. После того, как вывожу какую-либо фразу на экран, я использую "yield return new WaitForSeconds(time);" что бы приостановить корутину. Но как мне сделать так, что корутина продолжала работать не только когда кончится время, но и тогда, когда будет нажата кнопка на клавиатуре? В голову приходит только такой вариант:float time_passed = 0;while (time_passed < time){ if (Input.GetKeyDown(KeyCode.Space)) break;time_passed += 0.1f;yield return new WaitForSeconds(0.1f);} Это нормальный подход или есть вариант лучше?
Как сделать генератор коммиблока? Чтоб можно было бегать по нему и желательно добавлять этажи рантайм. Какие инструменты нужно использвать и вообще позволяет это сделать юнити без анальной боли?
Принес свое говно. Работает, и вращение сохраняет по локальной Y оси. Разобраться бы еще с интерполяцией.
>>560435Советую инструмент ВЕРТЕКС. Очень гибкий. Делаешь из них меш, ну генерируешь и надо их генерировать ну чтоб коммиблок выходил. Ну сдвигать вертексы. Потом еще у-вэ координаты инструмент чтоб на вертексы текстуры накладывать. Так что советую оба этих инструмента.
>>560478Только по геймдизайну пока вообще хороших идей нет для мобильной платформы. И как оптимизировать этот праздник тоже по не умею.
>>560424У тебя Input.GetKeyDown может не сработать. Нажатие кнопки вниз нужно отлавливать в апдейте, эта хрень очень чувствительна ко времени. Например, в лейт апдейте она промахивается в 9 случаях из 10, а у тебя арбитрарный пропуск в 0.1 сек. Как думаешь, как часто пробел срабатывать будет?while() { yield return null; time_passed += Time.deltaTime; if (NAZHALI_KNOPKU() || time_passed >= time) break;}yield return null пропускает один фрейм. Нажатие кнопки может быть нужно отлавливать через переменную-посредника, типа где-нибудь в апдейте ставишь чек на нужную кнопку, делаешь переменную тру, если переменная тру, делаешь её фолс и возвращаешь в NAZHALI_KNOPKU() тру. Прошедшее с последнего фрейма время это Time.deltaTime.
>>560482Arbitrary. Значит, что то, что ты делаешь, ничем не обосновано. Например, у тебя проверка на какое-то слово в тексте, и ты везде ручками вписываешь строку в каждом месте, где эта проверка происходит, вместо того, чтобы задать где-нибудь строковую переменную с нужным значением и сверять с этой переменной.
>>560481Чушь пишешь. Update(), корутины и LateUpdate() вызываются всегда по очереди за один цикл обновления. Там не может ничего пропасть.
>>560504Весь инпут стейт захватывается в начале кадра. Там ничего в реальном времени каждый раз не считывается
Есть способы вызвать корутин так что, бы он не завершался, когда завершается функция, которая его вызвала? Кроме SendMessage.
>>559513>Physics: Fixed an issue where raycast may fail on terrain collider (1063586)О, юнитеки в бетке 2019 пофиксили всю хуйню. Хотя мне уже и не надо.
Можно ли как то из левого скрипта узнать, что был активирован конкретный триггер? персонаж зашёл в область триггераВ этом скрипте есть ссылка на триггер, но сам скрипт привязан к геймобжекту, который не связан с персонажем.
>>560584так корутина и не завершается, она живет внутри монобехейвора никак не связанная с местом вызова
Конечно вопрос платина, но все же.Как лучше всего удалять обьекты со сцены в игре?Есть монетки, игрок их собирает- они удаляются. Но слышал не один раз, что Destroy это плохой вариант и надо его избегать. Получается, достаточно просто скрыть текстурку? Или как?
>>560693>Есть монетки, игрок их собирает- они удаляются. Но слышал не один раз, что Destroy это плохой вариант и надо его избегать. Конечно, избегай, там просадки до 5фпс. Если две монетки быстро собераешь, то юнити может завистснуть!
>>560704>Сарказм или нет?Нет, конечно, люди неспроста трезвонят, юнити и от платформера может тормозить, нужно оптимизировать!https://www.youtube.com/watch?v=3mR-9KrXDFc&t=1323s
>>560712Хочу на оба стула сесть.>>560711Спасибо, буду разбираться.Наговнокодить всегда легко, а я хотел бы сделать масштабируемый проект с хорошей производительностью. Я блин один movement скрипт пишу уже 4 дня. Очень сложно сделать по нормальному, когда не научился еще. Вообще игры сложно делать, очень сложно, столько сил надо, столько воли и терпения. А еще надо не перегореть на пол пути и довести все до конца.
>>560718>Вообще игры сложно делать>выбрал unity, на котором даже 10-летние дети с легкостью делают игры
>>560725Тоже самое можно про любой игровой движок сказать. Да и вообще все в жизни делают 10 летние дети. Так что не знаю, что ты мне хотел сказать этим.
>>560718>Хочу на оба стула сесть.Хоти дальше, от тебя мало что зависит - ты своими скриптиками на ядро движка никакого влияния оказать не сможешь. Будет у юнити где-то затуп на большом кол-ве объектов - придется смириться, такова плата за удобство и низкий порог входа.
>>560734У юнити не низкий порог входа, прогать на сисярпе довольно сложно. В редакторе легко модельки расставлять, но это не вход, это
>>560748>>У юнити не низкий порог входа, прогать на сисярпе довольно сложно. В редакторе легко модельки расставлять, но это не вход, это Для тебя написаны десятки ассетов уже готовых систем, которые нужно только драгндропнуть в сцену и прочитать туториал для даунов.
>>560753Комбинировать и настраивать шаблоны, чтоб геймплей был как в dmc - задача геймдизайнера. За тебя только позаботились, чтобы тебе не нужно было лезть в код и изобрели за тебя велосипед.
Ребята, а планировать мультиплеер и поддерждку модов для игры, которую я собираюсь пилить по сути один- это сильно влажная фантазия? Или в юнити это не так уж и сложно?
>>560689Завершается, я проверял. Если вернуть на какое то время управления и функция, которая вызывала коррутину завершится, то и коррутина не продолжится выполняться.
Ребята, а планировать мультиплеер и поддерждку модов для игры, которую я собираюсь пилить по сути один- это сильно влажная фантазия? Или в юнити это не так уж и сложно будет сделать, гайды в помощь и вперед?
>>560711Пулинг капля в море на самом деле.С графеном больше всего проблем. Причём поликаунт в сцене сильно не влияет (сюрпрайз мазафака), влияет всё что прицепил к камере.Дефолтное юнитевское стоит отключать к хуям (АА, post-process stack если есть, етц). Искать замену менее тяжёлую этому всему, юзать текстурные атласы, лоды, terrain2mesh (система террейна полная параша). На шейдоры стоит взглянуть и использовать mobile по возможности.Ну это всё так, личные наблюдения, могу быть не прав.
>>560755>Комбинировать и настраивать шаблоныСлился петуч, ничего там нет, кроме примитивной хуйни типа платформеров или наоборот суперрпоге конструктор, изъебы которого учить сложнее шарпа. Вместо того, чтобы сделать вот например двиг финалки 12, вот 13, вот дмц, они так же пилят универсальное говно со своим! скриптом.
>>560693Я дестрою без просадок фпс. Но это у меня из-за дизайна необходимость - каждый объект уникален, и ему могут быть прописаны любые значения игроком, пулить такое бессмысленно. Если у тебя монетки всегда одинаковые, то суй их в пул. Или, если тебе в принципе норм, если будет невидимая монетка висеть в прошлом месте (мало ли - респавн или что-нибудь такое захочешь делать), то GameObject.SetActive(false) или как-то так в помощь.По моему личному опыту пулить надо главным образом элементы интерфейса. И вообще юнити как-то очень хуёво с изображениями обращается, Я-то по наивности думал, что 3д сложнее 2д, ан нет, 3д у юнити быстрый, а вот 2д в каждой первой юнькоигре лагучий и полон ошибок - достаточно на 2д игры на юньке в стиме глянуть.
>>560752>Для тебя написаны десятки ассетов уже готовых систем>Пиздишь, лошок, дмц системы нету, и из платформераговна ее не собрать>за тибя фсе сделать, сам пиши
Хочу почитать-попробовать ECS, стоит вообще? И что читать, а то на юньке примеры какие-то соплежуйные, устал смотреть, хочу сразу хеллоуворлд.
>>560886ECS сейчас на таком этапе, когда для использования надо смотреть сорцы и читать патчноуты.Судя по твоему вопросу, стоит еще годик подождать.Но если прям вообще хочется, то документация на гитхабе, видосы на ютубе (хоть и немного устаревшие), мне этого хватило чтобы вкатиться.
>>560889Я люблю начинать изучение с аутирования над готовым примером, а не с трех часов бубнежа что такое Е C и S по отдельности и вместе.
>>560890Чтобы ассетодаунам, коих большинство на юнитиговне, которые хотят сделать клон топовой игры, можно было купить и сделать, уебище тупое. Думай своей даунской башкой, прежде чем хуйню спрашивать.
Есть объект с mtl файлом.Есть fbx сцена, где используется этот объект. Почему юнити делает материал для этого объекта полу прозрачным. Нахуя он так делает? Как это пофиксить?
А еще вопрос про производительность. Читал вот, что объекты с коллайдерами ни в коем случае нельзя двигать, если к ним не прикреплены rigidbody, типа это нарушает просчеты физики движка и все такое.А я вот двигаю их, они у меня в качестве триггеров работают для игры. Возможно не самое лучшее решение, но теперь мне что, на них rigidbody лепить чтоль? Хотя их всего 9 штук. Наверное это не так уж и критично. Короче: двигать коллайдеры без рб или нет?
>>561337>объекты с коллайдерами ни в коем случае нельзя двигатьОбесните тогда, как с этими rigidbody управляться, если мне физика не всралась? У меня она вся заскриптована на триггерах. Коллайдеры тоже на объектах есть (как иначе просчитывать столкновения игрока с врагами и препятствиями?) А если не дай боже где-то оставлю rigidbody, начинается цирк с конями, гда объекты взбираются друг на друга и творят прочую содомию.Мне не нужна эта физика, хочу максимально заскриптованное перемещение.
Олсоу, почему именно без rigidbody двигать нельзя?Использую character controller, везде где читал - юзается или character controller, или rigidbody. Значит с контроллером должно быть норм, это какбе полностью предусмотрено функционалом, а он физику не юзает.
>>561370Потому что обычные коллайдеры предназначены для статики. И если ты их двигаешь без ригидбоди, то там много перерасчетов происходит. Как-то так. Так было раньше. А как в новых версиях - хуй знает.
Вот. Но это старая инфа. https://unity3d.com/ru/learn/tutorials/topics/physics/physics-best-practicesИгровые объекты, не имеющие компонента RigidBody, считаются статическими коллайдерами. Об этом важно помнить, поскольку пытаться перемещать статические коллайдеры крайне неэффективно, так как он заставляет физический движок пересчитывать физический мир снова и снова. К счастью, профилировщик сообщит вам, перемещаете ли вы статический коллайдер, добавив предупреждение на вкладку предупреждений на CPU Profiler.
>>561450Это всё ещё актуально только для 2D режима, в 3D мир больше не перерисовывается. Начиная с версий 5.х.
>>561368Is Kinematic на Rigidbody вырубает его физику же.>>561349Спасибо, успокоил.>>561370character controller все предусмотрено, можешь двигать как хочешь.
Кто-нибудь может человеческим языком пояснить, в чем разница между компонентом Animation и Animator? Мне для игрока какой использовать? Можно ли оба сразу использовать? Понятно, что есть гайды, только человеческое обьяснение от анона было бы намного понятнее. Хотя бы в двух словах можете обьяснить их разницу?
>>561488>Is Kinematic на Rigidbody вырубает его физику жеУ меня такая хрень происходит, даже с kinematic:https://answers.unity.com/questions/651764/keep-enemies-from-moving-on-top-of-each-other-like.htmlВсе constraints включены. На изменение slope limit ему похуй.Если убрать вообще rigidbody и оставить коллайдер, всё норм. Не знаю баг это, или я делаю что-то не так.
>>561512Мне кажется, у тебя со скриптом управляющим этими обьектами что-то, если даже такие изменения не помогают. Но на крайний случай это да, баг юньки, хех.
>>561547Сколько полигонов в среднем задаешь на одну модельку (юнит), и сколько задаёшь на здания.?А так же сколько в среднем анимаций цепляешь на одного юнита?Как визуализушь спецэффекты. (вспышки выстрелов, взрывы).Я пытаюсь понять, как максимально повысить производимость RTS, минимально урезав в визуализации.
>>561557Никак, бегаю на серых кубах и лоупольных пижженых ассетах, пока ебусь с навигацией и механикой приказов и режимов взаимодействий.
>>561505аниматором пользуйся. тут тебе и стейт машина для анимаций и инверсивная кинематика и прочее говно вроде прилипающих ножек. Animation старое как говно мамонта и им не рекомендуется пользоваться. он нужен только если хочется велосипедить.>>561562расскажи че сделал>>560886стоит просто потому что вместе с ним идет вся эта хуйня в виде джобсов и бёрст компайлера. что на самом то деле просто заебись. но если тебе хочется просто ECS то лучше как по старинке ебошить все структами. когда ECS станет более юзабельным то пересесть со стула на стул будет не так и больно>>560871чем тебе террейн то не угодил? кроме полужопинских колайдеров у деревьев он довольно клёвый. и в последних версиях даже не такой тормозной.
>>561660Окей спасибо.Так круто сделал, беру InputX и Y и анимацию зависящую от етого замутил, прикольно получилось. До этого просто дергалось, а это я в скриптах замудрил. В общем разобрался, спс, буду аниматором пользоваться.
>>561660>когда ECS станет более юзабельнымЛепить на геймобджекты прокси-компоненты и обрабатывать их в системах можно уже сейчас, не теряя доступа к этим данным из monobehaviour. Можно даже сами монобехавиоры в системах процессить, производительность правда такая себе.Джобсы и бёрст идут отдельными пакетами, кстати.
>Cтрелковый тренажер с учетом опыта компьютерных игр разработали в РФНу и кто из вас, уёбков, это сотворил?
>>559524Ну смотри, ближе камера - для большего числа пикселей пикселей надо рассчитывать освещение. Может быть это перевешивает.Это так, просто предположение с дивана.
Новый нюфаг в этом ИТТ. У меня задача сделать плавный переход в ЧБ после некоего эвента. Юзаю post processing stack, пикрелейтед наскриптовал вот такую хрень, но плавного перехода нет, все умножается сразу и переходит моментом ЧБ и все. Подскажите плез на что умножать чтобы было плавно.
>>561828Просто вычитай от saturation дельтатайм. Дельтатайм при 60 фпс всегда равен 1/60, ты всегда получаешь одно значения при текущих вычислениях.
>>561744да, но в monobehaviour компоненте можно просто оставлять индекс структа в каком-то глобальном массиве и сделать чтобы когда ему что-то надо то он щемился туда. в целом конечно ECS удобней чем вся эта хуйня и приятно когда не надо изобретать свой велосипед и можно просто сесть на готовый. просто пока сидения не приделали, сидеть на нём не удобно.джобсы и бёрст то отдельными пакетами конечно, но учитывая сколько их подгоняют друг под друга я не удивлюсь если они в итоге станут чем-то одним.>>561760в целом да, есть. но в большинстве случаев об этом думать не стоит. разве что ты там сортировку оптимизируешь или ещё какую важную хуйню. опрятный читабельный код > производительный код>>561843и до этого писали. только куда лучше когда уже что-то за тебя написано, а не как в годоти!
>>561660>>561609Пока есть:Загрузка юнитов из базы характеристикЛокализация интерфейсаУниверсальные абилкиЧастично сделана указание не в точку карты а в геолокацию, типа "иди к мосту" или "охраняйте сектор В2"Тактическая и стратегические карты/камерыНесколько видов перемещения по местностиЗайчатки на АИ и разведку по приказуЗайчатки радиоразведки - будет замена туману войныБазовая экономикаГовняная навигация на юнити навмеш.В планах решить перепиливать это на ЕСЦ или нет(планирую масштаб одной мотострелковой роты на игрока, вроде бешеная производительность не нужна)И как привертеть кооп и мультос.
>>559292 (OP)https://blogs.unity3d.com/ru/2019/02/26/on-dots-c-c/Сколько же сил они в эту хуйню вкидывают, хотя главное в борьбе с анриалом это рендер.
>>561852довольно большой список описал. что сделать то пытаешься?>>561856дааа кому нахуй нужен рендер. инди-хуинди не могут себе его позволить один хуй. а кто может позволить тот может позволить и перелопатить весь рендер юнити. а тут хопа и перфоманс завозят (то чего у анрила нет)
>>561859ну дык. границы то интересно узнать. вдруг ты там хочешь ебани побольше вплоть до уровня "в тылу врага" где у каждого юнита свой инвентарь.
>>561860Не, не настолько. (хоят в тылупирога я веселился перезаряжая танк руками, нося по одному снаряду на солдате)Микры поменьше, подумать побольше. Игрок типа в чине от летехи до подполкана.
>>561858>инди-хуинди не могут себе его позволить один хуйЧто эта идиотская фраза должна значить? Ты же понимаешь, что, даже просто кубики расставленые в анриале уже красиво выглядят, инди-хуинди именно в этом и нуждаются, чтобы двиг компенсировал.
>>561862вообще в тылу врага если бы имел кнопочки позволяющие автоматизировать некоторый охуительный процесс вроде "подобрать патроны с трупов" то там подобное было бы менее мучительным. вообще ты вот докладывай об успехах в тред, всегда интересно что другие делают же.>>561863они выглядят как кубики и там и там. просто анрил тебе в ебало ещё сует всякие отвратительные вещи прямо в окне сцены. лучше игры делай, а не графон. графон не сделает из плохой игры хорошую.
>>561872>графон не сделает из плохой игры хорошую.Какая разница, тупица, вообще похуй на качество игры, главное засветить скрины и продать. Качественный гейплей можно и без движков делать. Нахуй они весь этот оптимизон пилят, юнити это что, двиг для стратегий? На деле одно платформероговно.
>>561876нука выдели платформоговно из списка за последние пару лет https://en.wikipedia.org/wiki/List_of_Unity_games
>>561882>нука выдели платформоговно из списка за последние пару лет Pikuniku! Протыкал несколько ссылок, игр где нужен сложный просчет практически нет, ну где, в феникс поинте? Фсе.
>>561889что, теперь не платформоговно уже? а рассматриваем как сильно игры комнату обогревают? так то разумеется довольно много игр из списка требуют перфоманс. рпг говно вроде Pathfinder, или PoE2 уже прилично требует. ну а говно вроде Oxygen Not Included или RimWorld так ваще охуеть. на юнити то говно самых разных жанров выпускается. если оно ещё тормозить перестанет так будет просто замечательно.
>>561895>Там видно что даже на ультре, не оч графен.Так вопрос, на что тратить ресурсы, на улучшение графона или чтоб код быстрее выполнялся.>>561894>что, теперь не платформоговно уже?Платформероговно имелось в виду, что средний индюшатник не пилит свой XCOM.
>>561900>Так вопрос, на что тратить ресурсы, на улучшение графона или чтоб код быстрее выполнялся.вообще если рассматривать вопрос про инди-хуинди то я бы не сказал чтобы на анриле инди-хуинди имело графон сильно лучше чем в юнити инди-хуинди. можно вспомнить всякое вроде Everspace, или Moss. но я бы не сказал чтобы они так уж хорошо выглядели для того как анрил облагораживает графон. Escape from Tarkov вон сделан на юнити а тоже иногда выдает хорошую картинку. или Ghost of a Tale. а ведь инди-хуинди.с другой стороны если открыть https://en.wikipedia.org/wiki/List_of_Unreal_Engine_games#Unreal_Engine_4 и полистать то там раз через раз либо шутан либо адвенчура. тогда как на юнити жанры выходящих игр разнообразней.>Платформероговно имелось в виду, что средний индюшатник не пилит свой XCOM. дык ведь сложно же. хотя на юнити время от времени вон выходят же шедевры вроде симулятора финляндии "my summer car" с его симуляцией ломающейся машины. правда сложно сказать станет ли он лучше со всеми приблудами для перфоманса, или тем более графона. или вон этот ублюдок рокет же пилит свой stationeers с симуляцией газов. правда он темболее лучше не станет от новых приблуд.на анриле что-то этакое навскидку я только satisfactory вспомнить могу.
>>561903Да я не сравниваю с анриалом, я говорю, что нужно вкидывать бабло в рендер, чтобы индюкам легче было картинку лучше выдавать, а там и преимущество перед анриалом видно будет, а на оптимизации сишарпы большинству насрать и никто про них не узнает.
>>561908по моему напрямую сравниваешь постоянно упоминая его.да ладно сколько игр на юнити имели пиздецовую оптимизацию, особенно на релизе. пальцев на руках и ногах не хватит сосчитать. притом некоторые игры вроде BattleTech были бы куда популярней если бы небыли такими тормозными.вообще. если юнити будет давать более крутые инструменты для того чтобы делать перфоманс то будет выходить больше игр требующих этот перфоманс. и тогда преимуществом будет уже это. на юнити и так уже проще лепить игры отличающиеся от экшонов и адвенчур, разрыв в этом преимуществе будет ещё больше.
Там в последней версии подвезли шейдор с прозрачностью, который тени принимает? Чтоб стекла делать. А для декалей, чтоб прозрачность, как в режиме fade, только тоже с тенью?
>>561915>по моему напрямую сравниваешь постоянно упоминая егоКогда я писал, что не сравниваю с анриалом, я имел ввиду, что центром разговора является юнити и из оптимизации, а не юнити против анриал, ты тупой блять.>>561915>сколько игр на юнити имели пиздецовую оптимизациюЮнити тут мало поможет>>561915>если юнити будет давать более крутые инструменты для того чтобы делать перфоманс то будет выходить больше игр требующих этот перфомансДа дело в том, что у них уже все заебись, с перфомансом. На сколько сишарп медленнее плюсов? Во сколько раз его можно ускорить?
>>561918>сишарп медленнее плюсовПодобными сравнениями ты только демонстрируешь собственное незнание программирования.
>>560823очень странно, но ладно можт ты и правна всякий случай: ты надеюсъ понимаешь что корутина сама по себе вызывается один раз, а если надо чтоб она работала в бекграунде, то внутри нее надо ставить бесконечный цикл while(true)
>>561918>Когда я писал, что не сравниваю с анриалом, я имел ввиду, что центром разговора является юнити и из оптимизации, а не юнити против анриал, ты тупой блять.тогда нахуй ты вообще анрил то вспомнил. весь диалог задала фраза>хотя главное в борьбе с анриалом это рендер. вот и говорим о борьбе. >На сколько сишарп медленнее плюсов? Во сколько раз его можно ускорить?у юнити то шарп в плюсы компилится один хуй. вообще какой-то дурацкий вопрос. всё зависит от контекста. вон довольно сильно можно ускорить отключением проверок чтобы выстрелить себе в ногу наверняка https://docs.unity3d.com/Manual/IL2CPP-CompilerOptions.html но то что сейчас там делают разумеется лучше чем вся эта хуйня. и чтобы это получить не надо совать кочергу себе в задницу так глубоко как сейчас.>>561923ещё и на прохожих бросаешься. возможно ты просто школьник который и в игры не играет а только кинцо смотрит?
>>561924но она не работает в бэкграунде. она все так-же крутится в основном потоке. https://docs.unity3d.com/Manual/ExecutionOrder.htmlхотя у корутин конечно клевый синтаксис местами. можно например сразу ебануть IEnumerator Start() {} и тогда вызовется на старте.
>>561925>тогда нахуй ты вообще анрил то вспомнил. весь диалог задала фразаЭто у тебя просто очко уже четко заточено на срач, на обвинения, и в любом разговоре тебе нужно выискать врага.
Сап, гд. Есть камера, которая рендерит определенный слой в RAW Image, которую потом вывожу в Canvas. Получается что-то наподобие карты. Так вот, нужно запилить метки, а чтоб это сделать нужно как-то изъебуться и получить WorldPoint по сути с картинки, но это полная хуйня. Да, можно получать координату по ScreenToWorldPoint, но у меня ещё есть и Main Camera, которая рендерит уже в Display 1, в итоге получается я все равно ограничен пространством, охватываемым Основной камерой. Есть идея карту открывать на весь экран, основной камере давать такие же параметры как второй(Size, Position). И уже юзать ScreenToWorldPoint, а потом менять параметры на предыдущие. Но это как-то костыльно очень. Что можно сделать? Или лучше поменять метод для рендера карты, на какой?
>>561963сделай рэйкаст который ты пускаешь из камеры которая рендерит в картинку, хули. а вообще можно скипнуть картинку и сразу рендерить камеру на какой-то участок интерфейсам типа такого. тогда и возится с экранными координатами даже не придется.
>>561999Изображение выводится на экран с 1 камеры, и если я буду рейкастить экран через 2 камеру, то любая полученная координата будет в пределах размера 1 камеры.
>>561802Разве с ними не контачат battle state games которые escape from tarkov замутили? Могли бы им заказать. ах да, я вдруг представил, что живу там где хотят сделать что-то качественное а не попилить бюджет, глупый-глупый.
>>562146Так в этом же и прикол. Гравитация направлена не к центру меша а к ближайшей нормали. С боксом ещё отлично работает но сфера "сглаживает' нормали и объекты ложатся на планетоид ненатурально и качаются .
Анон, подскажи пожалуйста.Хочу сделать такую панельку в 3д игре, что когда игрок входит с какой-то её частью в контакт, конкретно эта часть обьекта меняет цвет/добавляет очков, а остальной обьект остается неактивен.У меня получилось сделать это с целым обьектом, но я так понимаю, мне надо разделить меш на кусочки и считать отдельно каждый кусочек. А сейчас у меня меш это один большой кусок, лол.Как его разделить? В какую сторону копать? Или мне проще вообще не ебаться, и построить обьект из отдельных маленьких кусочков и считать каждый отдельно?
Сап. Подскажите как создать башню с физикой раскачивания. Есть платформа управляемая игроком, есть плиты, падающие на эту платформу. Собственно эффект должен быть следующим - собираем башню, и со временем чем больше элементов в ней, тем больше чила раскачивания при резком передвижении. Чтобы было понятнее - https://play.google.com/store/apps/details?id=net.otouch.cake например это, либо то, что на скрине. Пытался взаимодействовать с rigidbody, HingeJoid и прочие joinы, но с физикой до этого не работал. Добился приблизительного результата с помощью rigidbody, но после 30+ платформ башня, дае если стоит идеально ровно, начинает проседать и нижние блоки начинают "скользить" толипод собственным весом, толи еще под чем.
>>562184То есть сама башня должна быть устойчивой и раскачиваться только от движения самой платформы, а не под действием собственного веса. С весом, гравитацией пытался играться, но все значения дают примерно одинаковый результат.
https://www.youtube.com/watch?v=NwPIoVW65pE>>562184> если стоит идеально ровно, начинает проседать и нижние блоки начинают "скользить" толипод собственным весом, толи еще под чемПосмотри на материал объекта, по умолчанию он относительно скользкий. С весом rigidbody тоже пошамань. В видео Фодди, который любит с физикой играться, вроде какие-то интересные вещи говорит.Сам я физон практически не тыкал обоссы но не бей, 300к/нс сениор, но судя по туторам складывается впечатление, что чаще удобнее имитировать фичи через пару строк кода и коллайдеры, чем пытаться заставить rigidbody делать то, что ты хочешь. Rigidbody без пердолинга идеально подходит для того, чтобы у тебя по арене бочки катались, мусор ногами пинался и т.п.
>>562200Материалы тоже пытался потыкать, что интересно, кто-то говорит, что это из-за эффекта bouncing, мол колебания башни увеличивается и вся конструкция становится нестабильной. При этомполностью отключить его так и неполучилось, даже с подобными параметрами. В общем гляну туториалы еще, но если будут идеи - пишите, а то я совсем не вкуриваю. Ну и писать собственную физику, даже самую простецкую, не радует.
>>562171а нахуй ты с этим ебешся? у тебя панельки чтоли каких-то нестандартных размеров? просто одну панельку передвигать куда тебе там надо не хочешь?>>562184по переключай режим детекции коллизии. а вообще физон цепочки объектов никтогда и не давал хорошего результата. наверно лучшим советом будет постоянно уменьшать массу блоков которые сверху бросаешь.
>>562274И правда, если платформу сделать статичной, а каждый последующий блок делать немного легче, то конструкция становится устойчивее. Другой вопрос - как можно было бы придавать эффект "раскачивания" от передвижения нижней платформы?
>>562275вообще хуй его знает. тут уже я не вижу таких простых решений и никогда не пытался это делать. может просто будешь придавать сам Rigidbody.AddForce в сторону в которую платформа двигается? можно например придавать силу не сразу всем объектам, а делать её волной относительно высоты. но вообще твоя затея немного не вписывается в то как работает физон. посчитать где столкнутся обьекты "А > Б" то не сложно. а вот посчитать в цепочке коллизий "А > Б > В > Г > Д" как А взаимодействует с Д уже довольно сложно и ощутимо зависит от того в каком порядке эти объекты обрабатываются физоном. чем в юнити насколько я знаю не дают управлять. самым простым решением получить лучший результат будет наверно написать свое подобие физона, но это не выглядит хорошим решением.
>>562274>а нахуй ты с этим ебешся? Да хотел сделать так, чтоб если увеличивать/уменьшать длину пластины этой, то автоматически скрипт уменьшал/увеличивал число элементов, которые меняют цвет/добавляют очки.Я наверное плохо обьяснил, потом попробую сделать так, как планировал, но пока буду переставлять просто все эти штуки.
Господа, а можно сделать, чтоб на обьекте было два BoxCollider, а я через OnTriggerEnter(Collider other){ }получил вхождение именно во второй коллайдер, а не первый? Как уточнить, какой именно коллайдер я хочу проверить? Вопрос глупый, но чот не получается разобраться.
Сап, гд.Делаю 2D шутемап и столкнулся с таким багом:Когда префаб пули прилетает в мобов, он сначала дамажит их от того, что влетает в агро-сферу (сферический коллайдер, который заставляет мобов агриться, если игрок в него заходит), а потом повторно еще при соприкосновении непосредственно с мобами. И такого быть не должно, пуля должна коллайдить только мобов и после этого исчезать.Детектор повреждений (висит и на мобах и на персонаже) у меня выглядит следующим образом:public virtual void OnTriggerEnter2D(Collider2D other) { if (DamageSources.Contains(other.tag)) { StartCoroutine(TakeDamage()); } }То есть, есть списочек с тегами, выведенный в инспектор, где можно назначить, от чего будет идти дамаг по мобу. Все еще не очень понимаю, каким образом агро-сфера (которая висит чайлдом у Enemy) реагирует на источник дамага. Алсо, пробовал прицепить к агро-сфере еще скрипт с IgnoreCollision(), выглядит так: [SerializeField] public Collider2D other; private void Awake() { Physics2D.IgnoreCollision(GetComponent<CircleCollider2D>(), other, true); }Тоже нихуя не работает. Даже пробовал из других скриптов в этот делать SendMessage(), вроде и отправлялось, а все равно не срабатывало.А вот код с которым пуля должны исчезать при коллайде с вражиной: public void OnCollisionEnter2D(Collision2D collision) { if (collision.gameObject.tag.Equals("Enemy")) { Destroy(gameObject); Debug.Log("Bullet has been destroyed"); } }Причем, пробовал и другие теги ставить и на других объектах тестить - пуля никак уничтожаться после коллайда не хочет.ЧЯДНТ?
>>562445>по разным физическим слоямТы имеешь ввиду слои, которые в инспекторе настраиваются сверху? Если да, то пробовал - бестолку. >убери колизию одного с другимАгро-сфера и так не должна ни с чем реагировать, кроме объектов с тегом Player. Вообще. Никак. Там в коде ни строчки про коллайд с другими объектами, а сверху еще скрипт с IgnoreCollision() висит.
>>562446поставь агросфере слой 1, поставь плееру слой 2, поставь всему остальному любой другой слой, оставь у слоя 1 колизию только со слоем 2.https://docs.unity3d.com/Manual/LayerBasedCollision.html
>>562447Охуеть, сработало! Спасибо, анон, теперь сфера дамаг не воспринимает.Но проблема с тем, что пуля не исчезает, осталась. Может, и тут чего подскажешь?
>>562449в душе неибу, то что ты дал на дваче все равно читать невозможно. если в твоем посте кода больше чем сообщения то лучше суй его на пастбин и ссылку в тред кидай. потрогай пулей врага, проверь вызывается ли OnCollisionEnter2D на ней. а вообще нахуй ты пулями как индивидуальными объектами управляешь? сделай себе менеджер пуль, который вместо всей этой хуйни c коллизией каждый тик бы делал Physics2D.CircleCast траектории пули и уже так проверял колизии-хуизии.
>>562452>если в твоем посте кода больше чем сообщения то лучше суй его на пастбин и ссылку в тред кидай.Полный скрипт пули https://pastebin.com/xUcshwk1>потрогай пулей врага, проверь вызывается ли OnCollisionEnter2D на ней. Не вызывается. Враг реагирует на пулю, пуля на врага - нет.>а вообще нахуй ты пулями как индивидуальными объектами управляешь?Потому что так проще. Я в программирование три месяца назад вкатился, пока с трудом ориентируюсь.>сделай себе менеджер пуль, который вместо всей этой хуйни c коллизией каждый тик бы делал Physics2D.CircleCast траектории пули и уже так проверял колизии-хуизии.Вот это я даже не до конца понимаю как будет работать. Что плохого в том, чтобы пули отдельными объектами вызывались?
>>561852А ты не тот анон, который пилит RTS с углублённой системой приказов для юнитов? Просто сейчас уже у тебя уже командная ветка, более развита, чем у 75% современных ртс.
>>562454лол ну проверь слои может пуля не коллайдится с тем чем должна>Потому что так проще. Я в программирование три месяца назад вкатился, пока с трудом ориентируюсь.да ладно, референс от валуе типа отличаешь и нормально>Вот это я даже не до конца понимаю как будет работать. https://drive.google.com/open?id=1pgW8GGhCHtP5fWxeViWxhmHNr_kkeUP6ну на тебе небольшой экзампл. можно пол часика и потратить на анона с двачей.код: https://pastebin.com/Q6tQqMD0>Что плохого в том, чтобы пули отдельными объектами вызывались?всё раскидано по куче скриптов, потом искать что где как вызывает. да ну нахуй.ну и вот оптимизон можно сделать! не удалять и не создавать лишние объекты.
Товарищ аноним, помоги советом.Хочу сделать собственный редактор уровней, чтобы игрок мог сам создавать уровни в будущем, да и чтоб мне было проще. основной геймплей как раз и реализуют сами уровни, поэтому и хочется специальный редактор для этогоЕсли говорить просто, то мне для создания собственного редактора нужно создать отдельный Юнити проект, в котором будет созданный мной инструментарий по моделированию карт, который по итогу будет созданный уровень переводить в файл по типу сейв файла, только с настройками уровня. Файл, в котором будут указаны координаты всех обьектов и т.д. А потом я просто в самой игре реализую возможность загрузки всех этих обьектов по их координатам из файла. Получается цепочка: Отдельный проект редактор уровней -> создание в нем уровней с помощью заложенного мной функционала -> сохранение координат и свойств обьектов в специальный файл -> загрузка этого файла в самой игреЯ правильно все понимаю? Или есть какие-то другие варианты, не такие очевидные?
>>562476ты все правильно понимаешь. гугли как сериализовать и десериализовать. хотя редактор и игру можно и в одном проекте хуячить, просто билдить по разному.
>>562463>ну на тебе небольшой экзампл. можно пол часика и потратить на анона с двачей.Спасибо, конечно, анончик, знатная штука, но я даже с кодом перед глазами очень слабо перевариваю работу всей этой штуковины. Но на всякий случай схоронил, может, подсмотрю для себя чего полезного. Алсо, сколько нужно заниматься кодом, чтобы такой скрипт написать за полчаса?У меня бы на него пара недель ушла.
>>562607Тоже глянул скрипт его, и правда крутой. Я же правильно понял, что у него на пастебине там два скрипта в одном, где public class BulletExplosion : MonoBehaviour{это уже другой скрипт начинается?А вообще такое с опытом приходит же, я думаю какой-нибудь эксперт написал бы еще лучше и еще более компактно. Кстати, тот анон программистом работает или это чисто для себя ты так кодить научился?
лол раздули мне тут ЧСВ.>>562607>я даже с кодом перед глазами очень слабо перевариваю работу всей этой штуковины.наверно надо было комментов нахуячить ещё чтобы понятно было. но это ещё пол часика бы заняло. там то просто всё.class BulletManagerExample : MonoBehaviour висит на камере чтобы вызывать OnPostRender на ней и линии рисовать. но вообще можно было иметь в другом месте скрипт который бы в Camera.onPostRender добавлял свой делегат и делал то-же самое.class BulletExplosion : MonoBehaviour возвращает в пулл партиклы которые закончили свою анимациюstatic class BulletManager управляет всей этой хуйнёйBullet[] bulletsArray хранит все выпущеные снаряды, те у которых время жизни больше 0 считаются активнымиint bulletsCreated считает индексы которые были использованы в этом массивеint[] freeIndexStack в него возвращаются освободившиеся индексы из массива буллетовint freeIndexStackLength сколько индексов содержат значения в этом стакену а дальше думаю и так понятно. когда спавнится пуля то если в стаке есть свободный индекс, то берется он, если его нет то увеличивается используемый размер массива пуль. если размеры чего-то из этого достигли физических размеров массива то массивы ресайзятся. >Алсо, сколько нужно заниматься кодом, чтобы такой скрипт написать за полчаса?как всегда зависит от того что дрочишь. подрочишь недельки 2-3 массивы, сможешь массивы. подрочишь GL в юнити, сможешь его. узнаешь про пуллы, сможешь этот фокус с пуллом партиклов. а то что я все это в одном месте объединил, так не первый раз пишу подобные менеджеры. после того как у тебя на такое ушла бы пара недель, второй раз написал бы ты так-же за пол часа.>>562616сразу три класса в один пастбин сунул, чтобы не открывать три ссылки. так то да, их надо в 2 разных файла совать, чтобы вешать в юнити можно было на геймобжекты. впрочем в экзампле и так все рассовано куда надо.>А вообще такое с опытом приходит же, я думаю какой-нибудь эксперт написал бы еще лучше и еще более компактно.а надо ли? и так засрал местами все тернарными операторами. >Кстати, тот анон программистом работает или это чисто для себя ты так кодить научился?умеренно работаю, но научился то для себя.
Можно ли как-то проверить не текущий стейт аниматора, а предыдущий ему? Каким макаром это можно реализовать?Хитрым образом юзать StateMachineBehaviour? Записывать в переменную?Так проверяю текущее состояние:animator.GetCurrentAnimatorStateInfo(0);Есть ли какие-то варианты?
>>562643наиболее адекватно через StateMachineBehaviour.OnStateExit обновлять переменную последнего стейта. но это на каждый стейт это говно придется совать. че сделать то пытаешься?
>>562646Допустим аниматор в состоянии "атака", сразу после него нужно войти в стейт "бег" при соблюдении условия. У меня получается, что если зажата кнопка бега и игрок жмёт при этом кнопку атаки (не отпуская бег), он останавливается, выполняет атаку, а дальше по идее должен быть транзишен обратно в бег, который работает криво и играется часто невпопад (хотя казалось бы и condition указан нужный). Отчего хотелось бы этот момент захардкодить скриптом, минуя транзишены.
>>562666а просто не отсылать триггер атаки в аниматор если магнитуда вектора бега отличается от нуля не?
>>562668Ну хотелось бы, чтобы атака имела приоритет перед бегом. В теории проблему должно решить что-то вроде этого (после атаки мы по дефолту возвращаемся в idle, скрипт проверяет что мы таки движемся и меняет idle на run):var clipInfo = animator.GetCurrentAnimatorStateInfo(0);var controller = GetComponent<CharacterController>();... if (controller.velocity != Vector3.zero) { if (clipInfo.IsName("idle")) { animator.CrossFadeInFixedTime("run", 0, 2); } }Но это почему-то не работает при постоянно зажатой клавише бега и игрок тупо в idle продолжает двигаться.
>>562676Сделай себе менеджер состояний персонажа через энум и из него решай какую анимацию проигрывать. public class Player : MonoBehaviour{public enum PlayerState { IDLE, WALK, SPRINT, CROUCH, DEAD } public PlayerState currentPlayerState;}Используй кучу проверок всего и вся типа игрок стоит на поверхности, игрок идёт, игрок дрочит, игрок падает, (не)нажата любая клавиша и т.д. и каждое действие ограничь правилами. Энум автоматом присваивает членам индексы, и ты можешь их напрямую кидать в аниматор, если хочешь, по типуanimator.SetInteger("state", (int)Player.PlayerState.WALK);
>>562627Ух, ебать. Сохранил твой пост .txt-файликом рядом с экземплом. кстати, вопрос про пулю, не реагирующую на врагов, все еще актуаленнасчет слоев, как ты сказал - если пулю пихать во 2 слой, где и враг, то она будет снова коллайдить агро-сферу, которая на 1 слое и коллайдится только со 2.
>>562688>>562676Анимации и так через энум внутри аниматора выполнены. Гуглите BlendTree, переходы между анимациями аниматор сам обрабатывает, если правильно дерево задать, достаточно указывать новую анимацию только, а аниматор сам правильно переходы выполнит.
>>562739>игрок тупо в idle продолжает двигаться. Так у него ввод неправильно обрабатывается, причём тут переходы.
что-то над добавлением тени от отрезков думал явно дольше чем оно того требовало на самом деле>>562676так сделай приоритет над бегом. вообще нахуй читать состояния аниматора, когда ты все переходы и так извне указываешь?>>562734ну так добавь коллизии нужного слоя с нужным. хотя думаю за это время и так уже догадался.
Пытаюсь заюзать visual code, открываю рандомный скрипт, но в консоли этого редактора выдает Error: The reference assemblies for framework ".NETFramework,Version=v4.7.1" . Установить 4.7.1 не получается - выдает ошибку, что на компе уже установлена поздняя версия. Да, я вроде недавно установил 4.7.2.Потом попробовал вручную в файлах .csproj заменить 4.7.1 и на 4.7.2, и вуаля, работает, но при перезапуске проекта там снова заменяется на 4.7.1. Короче, это юнити заменяет.Что же делать
>>563141>не лгбтЧе?>Обновления ставишь?С момента покупки (месяц назад) на ноуте ничего вручную обновлял
Почему юнити не умеет рисовать графические примитивы или рисовать тысячи спрайтов на экране, не создавая тысячи объектов?
>>563158>графические примитивыче надо то? https://docs.unity3d.com/ScriptReference/Handles.html это чтоли?>рисовать тысячи спрайтов на экране, не создавая тысячи объектоврисуй партиклами, хули. или через GL ебани, или шейдор напиши за пять минут.
>>563158>Почему я не умею рисовать графические примитивы или рисовать тысячи спрайтов на экране, не создавая тысячи объектов?Поправил.
>>563159>че надо то? https://docs.unity3d.com/ScriptReference/Handles.html это чтоли?Это же в редакторе сцены
>>563165Это что же за движок такой, в котором еще особые умения нужны для того, что в других одной строчкой кода делается?
>>563168в редакторе сцены хуйню рисовать, да. а ещё гизмосы есть.так то хуй знает что тебе надо. че хочешь то? это? https://docs.unity3d.com/ScriptReference/Graphics.DrawMesh.htmlили это?https://docs.unity3d.com/ScriptReference/Rendering.CommandBuffer.htmlлично я советую почитать про geometry shader и написать хуйню которая бы читала ComputeBuffer, или вертексы меша и генерировала на их местах то что тебе там надо.
>>563170это и в юнити делается одной строчкой. вот только скорее вопрос что тебе надо. какого эффекта хочешь достигнуть. вон например хохуилион разноцветных квадратиков без создавания обжектов. а можно и картинку с хуем на их месте рисовать. а можно и атлас картинок с хуем ебануть и анимировать.
Кто в кватернионах шарит помогити.Проблема пикрил, у этой функции вперед это z. Но я использую капсулу у которой z всегда сбоку. Мне нужно чтоб вперед было y или -y, чтоб нормально капсулу повернуть. Засунуть капсулу внутрь пустого объекта и поворачивать его пробовал, но у меня капсула с физикой и соединение с точкой сопливым становится. Сопля исчезает при силе джоинта в миллиард, с такой силой взаимодействие с другими объектами невозможно.Пытался повернуть целевой вектор на 90 градусов по оси х матричным умножением. Только нормально он двигается по оси х, а по остальным говно.
Просто взял в одно рыло за пять минут поди написал, пэйнтеропидары на такое неспособны.https://www.youtube.com/watch?v=s7FKGgpaiDs
>>563210Пытаюсь сделать конечности, которые будут поворачиваться по направлению к точкам. У капсул ось вперед это з, сами капсулы повернуть нельзя.Засунул конечность в точку и прикрепил фиксед джоинтом. Но от этого конечность двигается как на пружине, настройки джоинта те же самые что и без точки.Еще пытался повернуть сам вектор целевого направления матричным умножением. Но нормально поворачивается только по одной оси.Хочу чтоб двигалось как на втором пике и без пружинистости. Такое получится с кубом, но мне куб не очень хочется квадратные конечности.
>>563208 >>563231если у тебя уже две оси есть то найди третью ось через кросс-продукт, хули. например таким образом тут находится третья ось. первые две - движение мышина экране и направление от экрана. в итоге меч всегда смотрит по направлению движения мыши.>>563208сую в ComputeBuffer массив всех точек которые хочу написать и рисую простеньким шейдором https://pastebin.com/1TVj9xXp
Что-то не въезжаю, батчинг у рендера означает что в видюху все заезжает как один инстанс?Например я импортировал 150 унитазов и нажал статик, то они закомбайнятся в один меш изкарабки, вручную их комбайнить в рантайме лишнее?
>>563259если имеют один материал то да, будет само батчится в один дравколл https://docs.unity3d.com/Manual/DrawCallBatching.html там конечно всякие ограничения туда-сюда, почитай внимательно
>>563262>>563259У меня лично нихуя не батчилось(работает ли в твоем случае - можешь проверить через рендер дебаг кадра), пришлось самому объединять(по запросу unity mesh combine сразу нагуглишь как это сделать).
>>559585Что-то представил лутбоксы на функционал, подумал, что освещение из лутбоксов не заходит, сделал игру в полной темноте.
>>559898На любой же чих надо писать. Триггер просто запускает этот крипт. Кажется так было в 16 году.
>>563259А если я делаю 3д игру и не заморачиваюсь вот с такими вот штуками- это сильно хуйово? Или я сам пойму, что это хуйово, когда у меня игра лагать будет?
>>563277Жизнь показывает что в принципе похер, каждый сам решает оптимизировать или нет (но хуевая репутация все равно достается юнити, потому что геймерам на такие вещи паебать).
>>563282>но хуевая репутация все равно достается юнити, потому что тыщи нюансов, забыл про одну галочку из ста и фсе, ЮНИТИПИЗДЕЦ!https://blogs.unity3d.com/2019/02/28/srp-batcher-speed-up-your-rendering/?pubref=twitter-social&utm_source=twitter&utm_medium=social&utm_campaign=engine_global_announcement_2019-02-28_srp&utm_content=bloghttps://docs.unity3d.com/Manual/GPUInstancing.html
>>563286А что будет с текущим пайплайном? Я правильно понимаю что они в конечном итоге всех пересадят либо на LWRP либо на HDRP, либо на свой кастомный RP?
>>563294>либо на LWRP либо на HDRP, либо на свой кастомный RP?Да, у них теперь нет одного, сразу три варианта нахуй. Хотя я удивлен, что не десять. Вот бы гайд хороший по всем этим оптимизациям, чтобы попорядку 1- поставить галочки гпу залупы в материалах. 2 еще какие-нибудь галочки в другой залупени. 3 в лодах галочки хуялочки
Я вот сейчас с LWRP сижу ебусь, нахуй я на нем проект начал, шейдеры все разьебало, нихуя не работает нормально. Конечно ето я тоже туплю, не знаю где какую галочку поставить, но ето пиздец все равно.
>>563298Верным путем движутся в сторону забагованного говна годота.У них там уже целый зоопарк разного забагованного говна.А еще этот идиотизм давайте все писать на C# с какими-то лютыми костылями и говнокодом. Так и говорите, что платить C# обезьяне дешевле, чем C++ спецу. Нет, они еще выебываются своими велосипедами ебаными.
>>563316Я кстати вот особо не разбирался, но правильно понимаю, LWRP он как HDRP, только для не такой мощной графики/менее требовательных ПК?
Ага, я сначал не понял и потом тоже не понял.Создал HDRP - Visual effect graph работает как надо.Создал Lightweight RP - Visual effect graph не работает, точнее вроде как показывает окошки свои, но на сцене нет никаких эффектов.Я хуй его, может быть я что-то не так делаю, но там работает, а там нет. Это нормально, я слоупок и так и должно быть или оно должно везде работать?
>>563339>Currently, the Visual Effect Graph runs on the High Definition Render Pipeline in Unity 2018.3, with planned support for the Lightweight Render Pipeline coming in future releases. Да, я дурак. Сам с собой разговариваю тут.
Есть кто юзает блендер? Какой лучше шейдер выбрать, чтобы нормально отображался в юнити?По умолчанию там principles bsdf, но в юнити эта моделька отображается полупрозрачной. Мне нужен только цвет, roughness, metallic - не нужны
Ору!Unity has identified a Remote Code Execution flaw in the Unity Editor. We have rolled out a critical security patch to remediate this issue. You can select your Unity version and find the appropriate patch with instructions at https://unity3d.com/security#CVE-2019-9197 As with all security matters, we take this situation very seriously. Should any more details be identified, we will update you immediately.
Как блять сделать, чтоб больше этих ебаных фотонов залетело в окно при выпечке? Снаружи-то заебись, внутри пизда темно.
>>563539Добавь источник освещения внутрь.Ну да, это наебка по факту будет, ну а как бы и чо дальше-то?
>>563550Где выбрать? Куда нажать?Посмотри на скриншот, где юнити. Материал, который идет в комплекте с кубом, какой-то неактивный. Я там ничего изменить не могу.
>>563552вообще охуеть, материал уже не может сам. ну ладно. жми на чтонибудь в окошке Project > Create > Material. сделается материал. жми на материал, выбери в легаси диффуз, или ещё какую хуйню. перетяни материал на модельку.
>>563556Ты вообще мой пост >563359 видел?Я не хочу назначать материалы в юнити. Я хочу назначать материалы только в блендере,и чтобы при экспорте в юнити моделька отображалсь так, как и в блендере
>>563562разумеется я его проигнорировал. материалы блендора - для блендора. материалы юнити - для юнити. не нравится как оно экспортируется - ебись с настройками импорта/экспорта. но разумеется лучше всего иметь одни и те-же материалы на разных объектах, так что следует пользоваться материалами в самом юнити.
>>563566>не нравится как оно экспортируется - ебись с настройками импорта/экспорта.Блендер не экспортирует в юнити, акститесь.
>>563562>Я не хочу назначать материалы в юнитиВ официальной справке написано, что юнити не назначает материалы самостоятельно. Не хочет он блядь.
>>563582Все же, юнити не игнорирует материалы, который идут в моделькой. Вот этому кубу в юнити я не назначил материалы, и все же видно, что он уловил красный цвет. Некорректно, но все же.
>>563570не он же там экспортировал какую-то хуиту но она была настолько бесполезная насколько могла быть https://docs.unity3d.com/2017.2/Documentation/Manual/FBXImporter-Materials.html
>>563590Блендер пока не запекает пбр карты. Есть способ, но он состоит из многих уровней, вручную из нодов вытаскивать штук 11 карт и потом в фотожопе объединять. Они запилят годный экспорт в 2.8, но пока нет.
>>563592да так то насрать что там куда блендер экспортирует, в этом говне текстуры все равно невозможно делать. лучше субстанс пейнтер спиздить какой. я к тому что он все равно чето там экспортирует и оно оказывается в юнити.
Я хуй его, почему в HDRP нет поддержки нормальных скайбоксов? Я нашел только возможность загрузить CubeMap, мне что теперь надо ебаться пол дня и переделывать мой скайбокс в cubemap. Какого хуя?!
>>563675но зачем для этого нужно было качать ассет? ты пункт создания файлика с кубмапой что-ли не нашел?
>>563667Я пользовался до этого скайбоксами, вообще хз. Просто не понял, в чем смысл убирать поддержку скайбоксов, когда в ассетсторе такое разнообразие разных скаев, а я не могу ими пользоваться нормально.
>>563715Я уже сделал, даун, там все просто конечно, но я все равно в ахуе с того, нахуя они убрали поддержку скайбоксов нормальных.
>>563745Какого хуя я вообще что-то обьясняю отсталому, который не понимает, что в HDRP нет ебаной поддержки скайбоксов, и мне приходится тратить время на переделывания скайбокса в кубмапу, вместо того чтобы блядь просто зайти в ассетстор и установить тот скайбокс, который мне понравится.Иди нахуй короче, еще время тратить на срач с тобой.
Суп /gd!Я уже физически устал гуглить, поэтому спрошу тут.Опишу ситуацию: есть компьютер без доступа в сеть, есть Unity ver. 2018.3.4f1 крякунутая. Так же есть последняя версия asset SteamVR последней версии.А теперь вопрос: как мне подключить этот asset к юнити офлайн?Выход в интернет с данного ПК невозможен ни при каких условиях. И вообще как можно перекидывать asset'ы из Unity с интернетом в Unity без интернета.Сорян за ебанутый вопрос.
>>563978скачанные ассеты у тебя в аппдата/чёто-там лежат. ищи, там будет файлик .upackage или типа того, вот, её тебе и нужно скинуть на оффлайн, а в самой юнити есть import package где-то в верхних менюшках, всё просто короче, хуй знает почему не загуглилось у тебя
>>563978Скачивай ассеты через юнити, перекидывай на флешку, загружай на комп без интернета, что не ясно?
>>563978возьми скачанный файл из Users\Кирил\AppData\Roaming\Unity\Asset Storeа потом в нужном юнити надови сюда и ткни на нужный тебе фаел. эта фича с ассетами и сериализацией в юнити же охуительная.
Есть ли какой нибудь относительно ПРОСТОЙ способ прокнтролировать или настроить порядок выполнения awake в классах? Знаю про Script Execution Order но это не совсем то, что мне нужно, + оно херит порядок выполнения других скриптов. Ну а вообще я недавно вкатившийся поэтому может пояснит кто как правильно в таких случаях делать архитектуру чтобы можно было контролировать такие процессы изначально
>>564026зависит от контекста, как всегда. дай контекст.например если ты инициализируешь скрипт в Awake и каким-то другим скриптам обязательно надо чтобы он инициализировался перед их выполнением то просто добавь флажок чтобы Awake вызывался только один раз и вызывай его из других скриптов, чтобы когда он вызовется сам то сразу делал return. или просто не пользуйся Awake. а например инициализируй скрипты иерархично. например чтобы они добавлялись друг к другу в Awake, а в Start начало цепочки вызывало то что надо ему, а то что вызвалось вызывало то что надо ему.
>>564036Ну, инициализировать иерархично звучит легче и правильнее всего, правда со временем будет сложно контролировать. Вообще уверен, что умные люди уже придумали некие паттерны проектирования чтобы не возникало таких вопросов изначально, но пока с этим всё плохо, не знаю что читать конкретно об юнити, кроме статей на хабре, лол. Нашел вот недавно этого чувака (кстати русский) github.com/dimmpixeye/ecs, он в своем фреймворке каждый метод контролирует, но для понимания на моем уровне сложно, да и не хочется учиться чужим фреймворкам.
>>564039ну, поэтому я и спросил про контекст. хуй его знает же что ты там творишь. лично я пользусь флажками в основном. если А хочет чтобы Б инициализировалось первым то оно заставляет его инициализироватся первым в любом случае. просто и не надо следить за всей иерархией вызовов. но если ты там какую-то хуйню творишь которая отдельно в каком-то менеджере обрабатывается то разумеется нахуй такое.>>564041мировую позицию измени лол
>>563815Лучше буду постить картинки в треде, чем переделывать скайбоксы в кубомапы, менее пиздецовое занятие.
Здрасьте. Скажите, чего там по UNET'у? Ему предлагается какая-то замена, или выпизднули на мороз мол сами свои серваки поднимайте? Сейчас пользоваться UNET'ом уже зашквар и нужно переходить на какой-нибудь фотон?Я по мануалу полазал, про новую систему мультиплеера только название написано и все.
В стандартном террайне свет нормально запекался, сделал модель fbx - такая шляпа. жму generate lighting - за пару секунд он что химичит, и ничего
>>563316>Верным путем движутся в сторону забагованного говна годота.Скачал https://github.com/Unity-Technologies/FontainebleauDemoПотестить, не запускается, миллион ошибок.
Работал ли кто-то с UMA?https://assetstore.unity.com/packages/3d/characters/uma-2-unity-multipurpose-avatar-35611Как оно на практике?Планируем использовать для кастомизации, пока вроде все устраивает, но хотелось бы послушать про подводные камни.
>>564156Так пишешь, как будто лично ты выпустил дохуя игр. Но все ведь понимают, что это не так, и ты такое же дно без игор, как и эти твои С++-спецы, но они-то хотя бы знают язык номер один в геймдеве, а ты просто макака, таскающая ассеты по сценке.
>>564156А какая разница, кто что выпустил, если демки юнити действительно уже не запускаются. Материалы большинство просто розовые, эффекты из этой статьи не запустились у меняhttps://blogs.unity3d.com/ru/2019/03/06/visual-effect-graph-samples/Это тожеhttps://github.com/Unity-Technologies/FontainebleauDemo
>>564198Юнитипидар уже совсем обезумел, демка с эффенктами вышла месяц назад, с материалами тоже, а с лесом 28 января. Юнитипидар даже не следит за релизами юнитиговна, а слепо защищает.
Есть что-нибудь более быстрое чем sabreCSG для процедурной генерации 3д уровня?А то он даже на каркас пары комнат(7000 треугольников, 15000 вершин, впрочем я могу и это сократить раза в два) тратит заметное количество времени(7 секунд), в то время как я бы хотел генерировать ну хотя бы 50-60 комнат, а это получается уже займёт около 7 минут.Если нет то видимо придётся собирать меши из составных частей с кучей лишнего говна, а csg использовать только в тех случаях, где из меша надо что-то вырезать.
>>563087о ебать! я смог! как же я собой доволен! неделю исследовал пространство проблем локал авойденса. думал как же мне бы так хитро сделать чтобы агент уклонялся и от других агентов а ещё и от границ навмеша в добавок. и сегодня пошел прогулятся в магозик, а хопа в очереди придумал хуйню что радиальное пространство может иметь конвексные свойства. и всё сразу так хорошо стало, катарсис наступил. наверно продавщица у кассы решила что я наркоман.теперь у меня есть эта хуйня которая крутится там себе в паре массивов быстро-быстро
>>559292 (OP)Ананас, есть 2д аркада, планирую прикрутить кооп на 2х человек, чтобы мы смогли с друганом играть в суперконту по сети. В какую сторону копать?
А вы уже знаете про D O T S Data-Oriented Tech StackЕще не знакомы с новым баззвордом изобретенным ушлыми маркетолагами юнити чтобы ссать вам в уши? Что же, можете ознакомиться здесь https://blogs.unity3d.com/2019/03/08/on-dots-entity-component-system/
>>564368>In my last post, I talked about HPC# and Burst as low-level foundational technologies for Unity going forward
>>564405>работать быстрееНа стендах юнитеков. А ты не рефлексируй, а качай новую версию и оплачивай про-лицензию.
>>564374Вырастет только зарплата у маркетингового отдела юнити.Судя по темпу разработки, в ближайшие 5 лет ничего не изменится точно.
Аноны, как лучше замоделить бумажный самолет, который летит сам по себе? Ну там физическая модель, туда-сюда. Чтобы как в kerbal space project было. Я так понимаю, подъемная сила будет выводиться через синус?Решил сделать подарок на 8 марта своей половинке. Уже девятое, но похуй: летит бумажный самолет. Дергая телефон, аки простату, наводим его на сердечко. После вылезает поздравлениеДумаю над воздушными потоками, чтобы интереснее игралось Только-только установил юнити, установил JDK и планирую наваять интерактивную открытку под андроидИз скиллов - C# знаю кое-какМогу потратить часов 12, в запасе турка с кофе и 1,5 литров домашнего вина
>>564460>на нормальном языке C++Пофиксил шарподауна.И юнити тут не при чём. Пролетает. Кресты только УЕЧ, КРАЙЭНЖЫН и конечно ГОДОТ.
Впервые в юните треде. Аноны, какие подводные перекатываться из гамака в юнити? Работаю в GMS PRO и с каждым разом все чаще изобретаю велосипеды отрезая встроенные функции гамака. Сейчас борюсь между выбором покупать гм2 или начинать учить шарп. Говорят что юнити даже проще гамака, так ли это? Уже привык работать с кнопочками типо КОНЕЦ АНИМАЦИИ,Алармами и прочими вещами из гамака, которые помогают работать и не знаю, проще ли заниматься таким в юнити.
Далее идёт «С++». Что это такое? Есть такая группировка «Движкописатели». Она разрешена в России от 18 лет и старше, хотя видно, что движки пишут и в 13, 14 и 15 лет, и у нас многие дети тоже их пишут. Это язык, на котором ты пишешь велосипеды, или ставишь директиву ifdef на куски кода, где ты самыми изощрёнными способами стараешься делать всё чтобы не делать игру. То есть там ты можешь придумать себе архитектуру движка, придумать ту же систему ентити компонентов, так же зайти в parameters_new_2.cpp и забыть прописать куда надо дефайн. Но там ещё более изощрённая ситуация. Ты не просто выделяешь и освобождаешь память, а тебе даются умные указатели, множественное наследование и конструкторы с переносом и ты должен в каждом классе перегружать операторы и делать выборы между ссылкой и указателем. Почему он называется С++? Потому что им ведется ссанье себе в рот. Специальный способ нассать себе в рот там - это попробовать в статической памяти создать объект класса с виртуальным конструктором.
>>564473Никто не заставляет стрелять тебя себе в ногу, главное не быть дауном. С сишарпе же ты максимум можешь похлопать себя по ноге розовым дилдо, влажным от анальных соков, и это не делает его лучше как язык.
>>564488Лучше/хуже всегда должно оцениваться в контексте задачи. Если очень важна производительность - с++ лучше. Если важна скорость разработки - к крестам лучше не прикасаться.
>>564471Я хочу писать логику игры, а не бороться с утечками памяти и сегфолтами. И если C# не нормальный, то годотскрипт и подавно.
>>564477Андрюша, ты? Юнити не сложнее гамака. Только там 2д, это 3д с видом сбоку и костылями. Например, там нет методов рисования примитивов (линия, круг, квадрат) или рисования спрайта без создания объекта. Тут говорят, что все это можно, если ебаться с шейдерами. Еще, например в гамаке есть такая фича, при импорте спрайта можно указать, что он будет использоваться как тайл, и гамак автоматически добавит к нему границу, чтобы при скейле не было щелей между рядом стоящими тайлами. В юнити это надо вручную делать. Долгое время в юнити не было пиксель перфект камеры из каробки, она недавно появилась, но в официальную поставку не входит и, опять же, выглядит костыльным решением. В общем, перечислять еще много можно.
Блядь, помогите, пиздец.UI, как блядь его сделать нормально. Какого хуя когда я в юнити смотрю на него он нормального размера, а когда из билда играю то все спрайтики/поля/менюшки все блядь маленькое как хуй у лилипутика! На канвасе стоит оверлей, дело в максимальном размере спрайтов или что блядь? ПОМОГИТЕ!
>>564517Короче перефразирую- как сделать чтоб кнопки на канвасе увеличивались вместе с разрешением экрана?
>>564518Ахуеть блядь мне канвас скалер нужен как отдельный компонент, какого хуя ни в одном гайде нет этого, пиздец!
>>564514Ну итого я не увидел профита пересаживаться. Разве что будет повод шарп выучить. Ладно, тут видимо разговоры не помогут и надо просто попробовать сделать игру на юнити. Самому пощупать, сравнить.Что меня выдало? Мои шизоидные высеры?
Анон, чё за херня? Юнити же бесплатный, но я захожу на оф сайт и вижу какие-то ограничения до 100 000 баков прибыли с проекта то фри, если больше то плати процент. Анон скажет, что даже продав свою гавноигоря, ассеты к нему и свою мамку то один хрен не доберёшься и до 10 000 баков за год, но кто мешает издателю заставлять платить процент с анона и с 1000 баков в год?
>>564344вообще, делаю. но показать нечего. надо уже доделать это ебучее обновление, выложить да и правда лучше игры поделать. >>564355переделываю уклонение от столкновений в своей хуйне. пространство это допустимая дельта скорости. от него отсекаются линии генерируемые другими динамическими препятствиями. но надо же чтобы агент ещё от границ навмеша уклонялся. раньше границы чанков не содержали пустых еджей и их нельзя было использовать для того что на первом видео. поэтому я просто использовать навмеш рэйкастинг чтобы узнать есть там че-то или нет. это был рабочий вариант, но хуевый. покажу на видео. если на пути есть навмеш то агент веером проверяет куда воткнутся лучики и проверяет пересечения с дельтой скорости. оно работает нормально то тех пор пока агенты не встречаются на уголках и в каких-то тесных местах.а чтобы сделать лучше мне тогда наверно 3-4 недели понадобилось бы. теперь я стал умней и мне понадобилось 3 дня чтобы добавить недостающую информацию. но вот ужасная проблема - а как ей воспользоваться то? надо как-то на доступную дельту скорости накладывать тень от границ навмеша чтобы агент не шел в стену в попытках уклонится от другого агента. и чет залип. сначала стал топить в сторону булевых операций с полигонами. и хотел адитивно накладывать отрезок за отрезком. но там всё разумеется пиздец какие тяжеловесные решения. а надо то всё быстро-быстро и чтобы квадратных корней небыло и кэш-френдли чтобы было и чтобы ненужные для достижения результата куски кода не вызывались. и чет залип на этом говне на добрую неделю. сложна.>>564366лол и айзека показывает. неделю с катакомбами ебатся то это довольно немного, если игра про катакомбы. че делаешь то? помню когда хуй про Galak Z рассказывал он там все клёво показал рассказал. https://www.youtube.com/watch?v=ySTpjT6JYFU может чего оттуда спиздиш. >>564451а просто выразить через дот продукт forward вектора и velocity вектора не? вообще ололо ты конечно нашел когда начинать делать проект и кому дарить. проебешся пару дней только с изучением api>>564477лол вот небось и андрюша подошел. подводных камней нет, юнити сложней гамака но только потому что там больше говна надо подрогать чтобы понять что оно делает и зачем оно надо. всякие кнопоки типа "конец анимации" и прочее разумеется в юнити есть. можешь свои спрайты и прочее хоть в самом юнити анимировать. в профитов пересаживания разумеется много, если хочется чтобы в твоем обсюрити было что-то кроме трупов, плохого дождика и непонятной речки.но ты это. лучше вот задавай конструктивные вопросы. "как сделать Х имея У".>>564539ты это. издателю такие вопросы задавай.
>>564540> просто выразить через дот продукт Я хотел изъебнуться. Но твой вариант мне нравится куда больше, тем более, что времени мало По мере допиливания буду отписываться Ты крут, анон
Хочу менять яркость материала в зависимости от расстояния игрока до него: игрок далеко- материал тусклый, игрок близко- материал яркий.Как лучше это сделать- скриптом на обьекте или шейдером на материале? Шейдер вообще может работать с расстоянием от игрока до обьекта?Обьектов будет много, поетому думаю, не будет ли много скриптов на обьектах которые высчитывают расстояние давать просадку на систему?
>>564566че ты там сделать то пытаешься? может просто блум ебанешь?>Шейдер вообще может работать с расстоянием от игрока до обьекта?может даже с расстоянием каждого ебучего пикселя на нужном тебе материале работать ололо и это почти ничего не будет стоить. шейдор разумеется лучше. если не умеешь писать то скачай шейдорную лапшу.>Обьектов будет много, поетому думаю, не будет ли много скриптов на обьектах которые высчитывают расстояние давать просадку на систему?ты бы хоть сказал на какую платформу там, сколько объектов, статичные ли они, или динамичные. хуй его знает же, можно же k-d tree ебануть чтобы не считать расстояние до всех объектов если они статичные, например. нужен ли тебе там полный градиент или просто хочется чтобы цвет менялся когда игрок близко. можно же и через OnTriggerEnter/OnTriggerExit ебануть например, просто сам игрок триггер будет этот перемещать
>>564566о точно а можно же просто на игрока повесить источник света, поставить ему кулинг маску только с нужными обьектами чтобы он только на них светил
>>564573>>564572>кулинг маску только с нужными обьектами Тоже подумал об этом в самом начале.>шейдор разумеется лучше. Ну вот походу пора с шейдерами разбираться, хочу ваще сделать красивый шейдер чтоб он сеточкой такой был четенькой и все двигалось и переливалось.Спасибо за ответ, буду разбираться тогда.
В материалах не силен, анон, помоги, как сделать, чтоб материал на обьекте не растягивался, а повторялся, если обьект растянут?Или мне надо не растягивать обьект, а ставить миллион стенок, например?
>>564756>>564745Окей, спс, буду разбираться.А еще такой вопрос: если у меня игра состоит из повторяющихся сцен, существует какой-то специальный способ создать подготовленный макет сцены со всеми начальными настройками или мне просто создать одну сцену базовую и её копировать каждый раз?
>>564765если перетянуть обьект из сцены в папку с проектом то получишь префаб. можешь потом этот префаб совать куда угодно и получать копию хуйни которая в нём. в последних версиях даже наконец добавили человеческий редактор префабов и они могут наследоваться друг от друга.
>>564768Игра-головоломка, где задний фон и настройки общие всегда одни у уровней. Просто я создаю новую сцену и она пустая, я думал может быть можно как-то сделать, чтоб создавать не пустую сцену. Но я уже разобрался, походу префабами проще всего. Или сценой дефолтной. В любом случае спасибо за помощь, приятно, что друг-другу помогают люди тут.
>>564771в том какой объект скопируется и к чему будет референсится? https://youtu.be/ibmdm_PoyMA вообще. оригинал чего? вот есть у тебя в сцене хуйня какая-то. навесил ты там на кубик графона, скриптов, чайлдов ему сунул в довесок. и хочется тебе напиздячить этих кубиков. ты же не будешь каждый раз собирать этот кубик. ты его либо скопируешь, либо сохранишь как префаб и накопируешь куда надо. только если ты префаб в папке проекта будешь менять то можно ещё и все кубики сразу в сцене менять.а можно ещё лучше - сделать префаб с префабов внутри теперь. когда ты сохранил кубик А, сунул его в кубик Б и сохранил кубик Б. теперь если ты будешь менять кубик А то он будет меняться и в кубике Б.
Сап /gd/, что делать если я клинический долбаёб не способный что либо сделать? Как заставить себя что-то делать? На протяжение двух лет пытаюсь что либо сделать, но так и не дохожу до того момента когда могу что-то где-то показать или выложить? Времени блять 24/7 свободно, я блять уже с ума схожу от своей ущербности.
>>564775так ты это. задумай что-нибудь. у меня вот есть идеал, я ебошу потому что хочу чтобы было вот как я хочу. и ты хоти.или хотя-бы сиди рогалик делай. с фичей.
>>564776Я придумал тебе интересное задание.В юнити есть пекейдж для импорта svg. Надо взять оттуда триангуляцию и сделать библиотеку для риалтайм-отрисовки.Я вот телепортировал https://github.com/jaquadro/LilyPath за пару часов. Но это кривая забагованная библиотека.Хватит дрочить свои навмешы. Принеси реальную пользу юнититреду, потому что бесплатных библиотек для отрисовки просто нет.
>>564775На самом деле тут никаких секретов нет и ты сам наверное это знаешь - надо лишь начать. Не просто создать проект в юнити, а начать что-то делать, вместо того чтобы весь день играть в игоры млм сидеть на сосаче надо ну хотя бы несколлько часов сидеть в юнити и что-то там ковырять. И так несколько дней, потом это войдёт в пртвычку и ты уже будешь просто тупа чилить за деланием игры - ведь тебя никто никуда не гонит, если ты устал то просто можешь отдохнуть(может дойти до того, что просто посидеть и посмотреть свои наработки, повспоминать что где ты как делал - станет отдыхом)Вообще на самом деле легко сказать "просто начать делать", ведь начать делать - это нихуя не просто. А все потому, что нельзя делать то чего ты не знаешь. Чтобы сделать любое простое действие - надо знать что за простое действие ты собираешь сделать, если конечно оно у тебя не доведено до автоматизма(т.е. даже чтобы сделать чаы ты же должен сначала достать чашку, вскипятить воду, полодить заварку, а потом залить её в чашке - и каждое из этих действий по отдельнотси ну очень простое, а в совокупности уже немного сложнее). Поэтому перед тем как открыть юнити и тут же закрыть из-за того что ты не знаешь с чего начать - ты должен подумать вот что именно ты прямо сейчас хотел бы сделать(в идеале начать надо с того, что тебе кажется простым - управление персонажем, собрать простой уровень из кубов и т.п. - то в чем ты уверен), вместо "сделать заебись".А ещё лучше не просто подумать, а ещё и записать для себя примерный план задач(не всю игру а лишь конкретно тот аспект которыф ты хочешь сделать) и разбить каждую из задач на подзадачи.
>>564778да ну нахуй. у меня то это рисование линий имеет утилитарный характер. я не хочу ебстись ещё с рендерингом и углубляться во всю эту срань. я навмеш то стал делать потому что игры хочу делать с хорошим ИИ. просто когда стал делать ИИ у юнити не было адекватных средств для навигации. теперь кстати у юнити есть, но пока ебошил навмеш узнал что в ИИ можно этим микроскопом забивать такие гвозди которые с навигацией юнити уже не забить.а тут линии рисовать. игры про линии и круги не хочу делать!лучше закончу следующее обновление, да продолжу делать уже хотя-бы один из проектов своей мечты. уже столько идей накопилось. вон ещё ECS подьехал, вот лучше со всем этим добром что-нибудь сделать.
>>564776Ебал я в рот этот идеал, я уже заебался, у меня папок с заброшенными проектами блять под три десятка, и запала и сил творить по пол года уже нету что-то идеальное в мечтах.>>564779Знаю это, проходил, еще год назад, есть вордовский док, каждый день делаю список задача, не большой, на пару часов что хочу реализовать, или начать делать, делаю, делаю, и блять потом смотрю что получается, ищу ближайший аналог чтобы было с чем сравнить, и понимаю блеять весь пиздец сука, что нахуй это надо, это либо уже есть, либо реализовано в сто раз круче чем я задумал и на этом фоне просто 0 смотрится то что я делаю. В юнити когда начинаю проект сижу по 12 часов в день ебошу, в студии, блендере, фотожабе, мучу, в итоге пиздецсукаблять, хочу блять творить, но сука такое чуство что когда я родился скилл уёбищности у меня на максимуме с самого начало. Пиздец дошёл до ручки, плачусь на сосаче ебаный рот, пиздецпиздец. Сукаааааааааааааа.
>>564783> и блять потом смотрю что получается, ищу ближайший аналог чтобы было с чем сравнить, и понимаю блеять весь пиздец сука, что нахуй это надо, это либо уже есть, либо реализовано в сто раз круче чем я задумал и на этом фоне просто 0 смотрится то что я делаюА, вот это уже другое дело. Впринципе тут можно клин клином сделать - достаточно посмотреть какое говно в стиме(и тем более в гугл плее, если ээто твой случай) мало того что вообще есть, так ещё и взлетает. Тут в соседних тредах можно поискать примеры.Если не поможет - то надо как-то осознать чем конкретно твоя игра будет отличаться от других. Ведь если она чем-то отличается, имеет какую-то свою особенность, то это уже причина её сделать. Ну и ещё неплохо куда-то прогресс свой постить и какие-то комментарии к нему получать, тогда у тебя модет пояаиться какое-то чувство ответственности за свое поделие.
>>564782>а тут линии рисовать. игры про линии и круги не хочу делать!А как ты будешь делать крутой процедурный интерфейс для своей игры? Неужто через unity ui?Вот тут-то библиотека для рисования и пригодится!
>>564783да ладно тебе шило в жопе чтоли сидеть мешает. надо же сказать "хочу хуйню Х". и делать хуйню Х. если она уже сделана то либо купи, либо укради. надо же быть ориентированным на конечный результат чтобы хоть что-то было сделано!>>564787да можно и через него. так то он довольно клёвый же. тут ручкой постучал, тут кнопку надавил и уже всё замечательно. лично у меня к нему никаких притензий нет. разве что кривые безье и векторную хуйню в нём и правда неудобно рисовать. но как по мне так проще допилить то что есть чем начинать делать другое с нуля.вообще у меня ещё накопился приличный опыт и обычного Immediate Mode GUI, где первым сложно воспользоваться всегда есть эта альтернатива с которой через код куда проще работать.
>>564783Я тоже так начинал, и вордовские доки, и проектов десяток, и реализации разные, понимаю тебя.Сейчас просто уже осознал, чего конкретно хочу, и ебашу как могу. Если ты точно не знаешь, чего хочешь, конечно и мотивации максимальной не будет. А так да, пишу каждый день на бумагу, что я делал сегодня, помогает оценивать прогресс. Весь стиль жизни вообще переменил, перестал в игры играть так много, понял, что если хочешь ебашить игры- то надо реально ебашить игры, как на работу ходить. Ток работа, которая удовольствие приносит, как писал анон выше. Найди свой проект мечты, в котором ты будешь уверен и занимайся им. Главное по силам бери проект. Ну и не забывай тренировать сам скил геймдизайна- участвуй в геймджемах разных, там обычно темы ебанутые, как раз напрягают кукушку, как например по теме "пульты управления" сделать прикольную игрушку за 2 дня.Ну и да, мильные камни, разделяй каждый день на мелкие задачи, помогает не распыляться и заниматься только тем, что приближает выход технической демки/альфа/беты игры, а не настраиванию вон той прикольной функции в течении 3 часов, лол.
>>564788Да вот после первого десятка и стал ориентироваться как раз на результат, специально выбирая и делая то что можно сотворить за не более пару недель, как видишь я в пизде. Не отрицаю что возможно неправильно все равно рассчитывал что-то>>564789Эх, пожалуй вот это единственное в чем ты прав, конечную цель точно не вижу и не ощущаю, расплывчато частями собирается, но не в целое что-то. Насчёт игр, сериалов, опять же двачей, с первым раз в месяцок что-нить запуская, и забивая, разве что сериалы посматриваю со скролом разных форумов. Был опыт у меня треда, и темы, из него я понял что мне не требуется это, ну по типу отчитываться в тему, так как итог предсказуем, сначало пишешь почти каждый день, потом реже и реже. Ладно хватит ныть мне, а то пиздец, никогда не думал что как побитая шлюха прийду поныть на сосач. Когда у всех ирл и так больше проблем чем у меня Спасибо аноны.
>>564791>специально выбирая и делая то что можно сотворить за не более пару недельнаверно это и есть корень проблем! вот я когда начинал делать навмеш у меня полное осознание того что я нихуя не знаю как сделать то что хочу и что это займет дохуя времени. и даже если я ориентируюсь на результат его все равно сложно получить. а если не получить результат тут, то не могу переидти на следующую ступень. я то тоже десятки проектов начинал. просто каждый раз думал "вот без этого кусочка пазла всё хуйня".правда я попал в иную крайность. всё что я хочу сделать требует навмеш. но с навмешем можно ебаться как и с рогаликами - бесконечно. теперь у меня только один путь к успеху - продолжать ебошить. так и делаю от одного выгорания к другому.
>>564798переменчиво. некоторые части написаны довольно неплохо, такие как вокселизация. тогда как триангуляция и поиск пути написаны через жопу. проект только выходит из состояния прототипа. ну и большая разница в производительности между тем что на ассет сторе и в том что у меня сейчас. после следующего обновления производительность в поиске пути будет заметно лучше.вообще так то вся хуйня что может крутится в параллельных потоках крутится в них. и навмеш не вызывает кода сам, так что можно пооптимизировать частоту вызова нужных функций.ну и основной упор делаю прежде всего на то чтобы получать максимум функциональности, даже в ущерб производительности. я конечно стараюсь делать более легковесные варианты, но они обычно откладываются на потом.
>>564801Не думал просто подцепить Recast, Detour и RVO2? Два первых по идее встроены в Юнити, но недоступны из C#. Для последнего есть реализация на C#, я в одном проекте использовал.
>>564804да думал конечно. некоторые куски моей хуйни напрямую базируются на них. и большую часть времени я скорее работаю над их ошибками. например Recast разбивает регионы по принципу flood fill. что приводит зачастую к пиздецовым результатам триангуляции. плюс у меня например написаны отдельно вокселизация примитивов и всякие сферы и капсулы у меня гораздо эффективней разбиваются на воксели. плюс у меня более крутой код который позволяет перекидывать попроще информацию с этапа вокселей в эджи навмеша и довольно много всякой метадаты хранится именно в эджах.кстати с помощью Recats/Detour был сделан этот ныне мертвый проект https://www.youtube.com/channel/UCHfVoqUJiIrAjW_ENCWsJ_g когда начинал делать свою хуйню большую часть я реверс инжинернул именно оттуда. некоторые ответы кстати рекаст не содержит. например как более эффективно хранить воксели чтобы можно было добавлять новую информацию и не плодить при этом сущности.сейчас большая часть генерации навмеша у меня базирована на этой работе https://upcommons.upc.edu/bitstream/handle/2099.1/16508/Ramon%20Oliva.pdf но правда я не делаю этого фокуса с камерами и вокселизацией с помощью z-буффера.RVO2 я кстати хватал. локал авойденс у меня базируется на нём. но у него есть множество недоработок. например вариант когда у агентов нет пространства для уклонения вообще там сделан отвратительно. поиск ближайших агентов так себе. статичные границы там обрабатываются по тому-же принцыпу что и агенты. делается отступ на радиус агента и всё такое что нахуй ненужно когда навмеш уже сгенерирован.ну и некоторые вещи там просто отсутствуют. например там нет ничего чтобы толкнуть агентов когда они застряли друг о друга.все эти проекты довольно крутая отправная точка, но их подходы имеют свои ограничения. я же стараюсь сделать свою хуйню максимально универсальной чтобы у меня небыло проблем с добавлением функционала.
>>564807> все эти проекты довольно крутая отправная точка, но их подходы имеют свои ограничения. я же стараюсь сделать свою хуйню максимально универсальной чтобы у меня небыло проблем с добавлением функционала.А какой ты вообще функционал планируешь?
Какие в юнити есть полезные возможности которые я не увижу при первом взгляде на его интерфейс?Вот типа ScriptableObject, но только полезные.
>>564808этот вопрос остается открытым и по сей день! прежде всего я хочу всё что позволило бы как можно сильней упростить оценку ситуации о внешнем мире для ИИ в 3D. в качестве целевого жанра предполагается шутан в большом процедурном динамичном мире. так что полезность фич рассматривается с точки зрения того чтобы можно было отображать как можно больше информации о мире через навмеш и как можно больше было способов повлиять на состояние навмеша и способы менять эту информацию. основной фичей остается то что можно отковырять какой чанк навмеша и сгенерировать его заново не трогая остальных частей.например у меня отдельно существует хуйня для организации логики дверей. можно например в какой-то зоне оставить метадату которая вернется когда путь ищется через эту зону. и если путь ищется через проход двери то можно было бы вернуть метадату в путь, как-то её интерпретировать и отправить агента в другое место. например на видео информация о том как открыть дверь содержится в самом проходе и агент идёт давить кнопку. или например эта замечательная хуйня когда генерируются розовенькие укрытия. хотя там просто переиспользуется информация вокселей.или например в следующем обновлении можно будет регистрировать на навмеше какую-то информацию и вернуть аппроксимированную дистанцию до списка объектов не возвращая путь. убирать из генерации пути целевые зоны. локально менять цену пути.ну а так разумеется у меня дохера далёких планов. хочу более крутой способ редактировать оффмеш линки. чтобы больше контроля было над тем как генерируются прыжки и чтобы можно было организовать логику лесниц. хочу flood fill навигацию чтобы можно было посчитать путь докуда то для всего навмеша чтобы тыщи зомбей знали куда бежать не высчитывая путь для каждого из них.хочу гпу рэйкастинг, чтобы можно было по информации которая учавствовала в генерации навмеша пускать лучики и например смотреть какие из них уткнулись в навмеш а какие хуй знает куда. хочу более круто генерировать меш самого навмеша чтобы он группировался по нормалям. тогда он будет идти всегда вдоль поверхности и можно будет пускать агентов по сгенерированным вэйпойнтам а они будут следовать вдоль поверхности везде и всегда. а не только на границах навмеша.в конце концов хочу сферические миры. и чтобы можно было из всяких там менкрафтов взять воксели и быстро-быстро сгенерировать по ним навмеш минуя кучу этапов генерации.
>>564809лол а ScriptableObject то пиздец какой полезный. че хочешь то? вот compute shaders например пиздец какие полезные.
>>564811> лол а ScriptableObject то пиздец какой полезный.Я не вижу в нём толку(можешь ли подсказать если он есть?)> че хочешь то?Всякую йобу типа ECS и жоп системс. >вот compute shaders например пиздец какие полезные.Шо? Шейдеры-то тут причём? Это же уже не по части юнити, а отдельная область.
>>564812>Я не вижу в нём толку(можешь ли подсказать если он есть?)он использует сериализацию самого юнити. в нем охуеть как удобно хранить ресурсы проекта. можно сказать вот здесь у нас короче такая текстура, эти данные, этот префаб. и совать их везде. и всякие клёвые фичи есть. например можно сделать один скриптабл обжект частью другого и хранить информацию удобно. например видишь этот граф справа? >>564788 каждая нода сериализацется в отдельный скриптабл обжект и хранится внутри скриптабл обжекта самого паттерна. и я могу свободно перемещать всю эту хуйню по проекту, запаковывать и передавать другому человеку и так далее. и самое главное оно может сериализовать ссылки друг на друга, что нормально делается только бинарной сериализацией иначе.>Всякую йобу типа ECS и жоп системс. вообще на самом деле они не являются чем-то уж столь крутым. массивы со структами и многопоточность были и до этого. >Это же уже не по части юнити, а отдельная областьсейм щит. можно кинуть туда кучу информации чето посчитать сложное и вернуть. или не возвращать. например сделать симуляцию ткани на них.
>>564812но вообще конечно помимо ECS и джобсов наверно надо вспомнить бёрст компайлер https://docs.unity3d.com/Packages/[email protected]/manual/index.html вот это действительно ёба и техномагия.
>>564814> например можно сделать один скриптабл обжект частью другого и хранить информацию удобно. например видишь этот граф справа? >>564788 каждая нода сериализацется в отдельный скриптабл обжект и хранится внутри скриптабл обжекта самого паттерна. и я могу свободно перемещать всю эту хуйню по проекту, запаковывать и передавать другому человеку и так далее. и самое главное оно может сериализовать ссылки друг на друга, что нормально делается только бинарной сериализацией иначе.Вот это уже неплохо кстати.> вообще на самом деле они не являются чем-то уж столь крутым. массивы со структами и многопоточность были и до этого.Ну это действительно не что-то очень крутое и инновационное, но это полезная вещь, которая освобождает тебя от переизобретения своей схожей системы и открыв впервые(ну не в первые, а скадем в десятый раз) юнити ты сразу не знаешь что она вообще тут есть - вот таких полезных возможностей которые должны знать олды я хочу.> сейм щит. можно кинуть туда кучу информации чето посчитать сложное и вернуть. или не возвращать. например сделать симуляцию ткани на них.Ну это то да, но это ж не юнити, это я и сам знаю.>>564815Во, это тоже интересно выглядит, то что надо.
>>564816>Вот это уже неплохо кстати.жа. вообще конечно иметь дело с ебучей сериализацией юнити это боль, но скриптабл обжекты для организации проекта незаменимы. они по сути являются префабами, но для данных, вместо геймобжектов. ну и конечно круто что в них вызываются всякие каллбэки. типа там OnEnable.>Ну это действительно не что-то очень крутое и инновационное, но это полезная вещь, которая освобождает тебя от переизобретенияда-а-а как бы это сказать. этак можно начать перечислять всю хуйню что сунули в пакадж менеджер и ассет стор. там и обрубок тридэ макса в виде пробилдера и хуйня для пост процессинга и текст меш про. всё это просто заебись. не говоря уже о всей той хуйне что сунули в неймспейс UnityEditor с помощью которой можно на коленке быстро-быстро допилить функционал самого юнити. а если покопаться то есть даже не документированная хуйня. типа UnityEditor.Graphs на котором сделан UI для аниматора. так что хуй его знает что тебе надо и что может понадобится. ну и конечно же надо знать о существовании репозитория у юнити https://bitbucket.org/Unity-Technologies/ крайне рекомендую к ознакомлению UI бранч.
>>564815>велосипед, который транслирует C# код в ассемблер с simd инструкциями>вот это действительно ёба и техномагияэто говно костыльное, которое работает только на простых демках. а в юнити какие-то долбоебы, которые пишут собственную платформу для C# кода вместо того, чтобы делать движок.в юнити взялись за кусок который они не смогут проглотить.выхлоп от этого все равно никакой для 99% пользователей.
>>564910Этот берст сам по себе очень специфический, + он работает только с ECS жоп системами, который должны только выполнять простые арифметические операции над компонентами что еще более специфическая задача.Охват аудитории тут вообще никакой. Никому это не всралось.
>>564913Двачую.В движке нет самых базовых вещей вроде нормальной поддержки сети, функций отрисовки графики, терейн примитивный не обновлялся с первого релиза. Все пакеты в вечном превью сырые и забагованные. Зато есть векторизация специфического кода для специфических случаев.Ебанутые в руководстве сидят.
>>564916>терейн примитивный не обновлялся с первого релизаБесит эта хуйня, люди в одно рыло такие системы делают, можно в юнити хотя бы по одной фиче в год запиливать? https://www.youtube.com/watch?v=AvZ87w9MwBw
>>564932Нет, жди когда они берст компилер сделают через 3 года. Ускоришь свой код складывания векторов.А пока плати за ассеты. Зря тебе ассет стор что-ли сделали?
Хочу сделать простую мультиплеерную игру, но ни разу ещё ничего не делал с мультиплеером. Что оптимальнее всего использовать для этого?Игра сама ну очень простая, там вообще похуй хоть на сервере она будет обсчитывать хоть пир ту пир, так что если в юнити нихуя нету для мультиплеера то подскажите другой движок под это дело. (Хотя я хотел бы в идеале на юнити)
>>564963Не могу прислать скрины, сейчас не дома Представь, что ты заспавнил шарик и бегаешь им туда-сюда по плоскости. Камера дочерний объект от этого шарика. Она намертво привязана к нему А хотелось бы, чтобы как обычных играх — вместе со сдвигом шарика, двигалась камера, но в некоторых пределах, позволяющих выгодно показать скорость через эти сдвиги. Bouncy на симбиане играл? Так-то можно самому попытаться накодить, но почти наверняка моё первоначальное видение — говно, и придётся сотню раз переписывать. Хочется побыстрее. Позорное желание, но что есть >>564972А в тексте нет? Пиздец как не люблю ютубы. Но за наводку спасибо, в крайнем случае посмотрю на
>>564983Очевидный Cintmachine, выстави ему там границы как тебе надо и поиграйся со скриптами, можно добиться очень интересных эффектов.
>>564341и тут то я понимаю что вместо ближайшей точки на линии по хорошему надо брать вторую точку равнобедренного треугольника чтобы скорость не снижалась. интересно есть ли способы попроще.>>564910 >>564913лично мне бёрст компайлер определенно пригодится. я вижу ему множество применений. compute shader так себе когда дело доходит до коллекций с разными размерами, а тут как раз то что надо.вообще. вот наконец дали инструменты чтобы делать игры с какими-то сложными вычислениями на цпу. а народу не нравится. а всего то надо делать игры не про графон!>>564932лол потому что одному человеку чтобы запилить хуйню вроде рисования дорог на террейне надо надо максимум 2-4 часа. предполагается что подобное говно ты и сам запилишь. хорошо что они ебутся со всякими проблемами производительности вместо хуиты.>>564983возможно стоит начать с открытия вижуал студии? иначе твое первоначальное видение так и останется говном. и что самое ужасное - будет говном каждый раз. уж с камерой то ты сможешь совладать.на физон приделай если дурак. пускай камера болтается на джойнте и имеет пиздецовый драг чтобы не болталась.
>>565088>вот наконец дали инструменты чтобы делать игры с какими-то сложными вычислениями на цпу. Кому нужны сложные вычисления возьмет уеч библиотеку на си. Проблема высосана из жопы.Те, кому реально нужна производительность, и так ее сделают без ецс и костылей. Ассетотаскателям эта ебля и подавно не нужна.Вот и получается что у этого говна нет пользователей.А вот хороший террейн был бы реально полезен.
>>565099>библиотеку на сии охуеет её совать. пользоватся нативными плагинами сродни сованию кочерги себе в жопу. всё нормально пока не глубоко. а тут дают гораздо более юзабельную хуйню. ну и производительность у этой хуйни конечно повыше чем то что можно получить отключая проверки границ массива, нуллы и всё такое.>А вот хороший террейн был бы реально полезен. хуй его знает что тебе там не хватает. починили бы физон деревьев, исправили перепутанные оси, дали бы побольше экзамплов как там под капот залезть и больше то ничего и не надо.
>>565106Ты больше юнитиблядей слушай. Тебе и не такую хуйню расскажут.Ты думаешь всякие hollow knight и escape from tarkov как-то выиграют от ецс? Да нихуя. Им этот дроч на процесорный кеш и simd вообще не нужны, там просто считать нечегоИгры у которых боттленек в процессоре не часто встречаются.
>>565127они - нет. впрочем я не считаю их хорошими играми. поэтому я и сказал >а всего то надо делать игры не про графон!факторио конечно сложновато будет сделать но уже не так плохо как раньше.
>>565128Да я тебе еще раз говорю, что ецс как его делают в юнити - это очень специфическое решение для очень специфических проблем. У игр делаемых на юнити просто не бывает таких проблем! Юнити выбирают за простую архитектуру - хуяк-хуяк добавил компоненты и игра готова. И делают на юнити простые игры. Никто не будет ебаться на юнити с байтоеблей и ецсом. Никто! В юнити занимаются откровенно хуитой сейчас.>факторио конечно сложновато будет сделатьда епта делаешь кастомный менеджер апдейта с низкой частотой например 10 раз в секунду (больше там и не нужно) и можешь хоть тысячи заводов ставить. Все будет упираться в графон.
>>565129>У игр делаемых на юнити просто не бывает таких проблем!а потом смотришь на лагающее говно вроде oxygen not included, или rimworld и думаешь "хмм наверно надо пеку обновить" да? наверно нет проблем потому что те кто не смогли их решить даже до альфы не доползли.а может просто из-за засилья бездарного говна стандарты игростроя падают>да епта делаешь кастомный менеджер апдейта с низкой частотой например 10 раз в секунду что лол, предлагаешь кусками обновлять? типа вот в этот фрейм у нас обновятся эти заводы, а в этот эти? хороший способ заебать себя настолько чтобы никогда не закончить.
>>565129>>565128Многопоточность и линейное хранение нужных данных в озу - никоим образом не зависят от концепции ецс. Иначе говоря, в компьютере можно и без всяких ецсов параллеить то что тебе нужно и даже линейно хранить нужные данные. А еще если ты решил заняться такими оптимизациями, то тебе вовсе не обязательно бросаться в крайность и для абсолютно каждой хуйни на 0.1мс процессорного времени предусматривать многопоточность.Собственно у меня тут ещё пара вопросов есть:1. Могу ли я шарповские средства для параллелинга нагрузки использовать в юнити?2. Или лучше джобс систем посмотреть?3. Или в юнити помимо джобс систем ещё что-то есть для этой цели?я мимопроходил если что
>>565135>Могу ли я шарповские средства для параллелинга нагрузки использовать в юнити?Там все упирается в то, что данные обновлять нужны обновлять из главного треда и вообще это медленно.Лучше бы в юнити добавили функции для быстрого апдейта батчами трансформов и т.д. А данные в массивах я бы и без их ецс хранить мог.
>>565135>Могу ли я шарповские средства для параллелинга нагрузки использовать в юнити?зависит от того какой версией шарпа будешь пользоваться. так то можно и потоки создавать и тред пуллом пользоватся, мониторами и прочим говном. но например Array.Parallel нету в 3.5 шарпе юнити. >Или лучше джобс систем посмотреть?посмотреть если ты собираешься синхронизировать работу потоков в основном потоке.
>>565134> rimworldПрямо сейчас его запустил, вижу мои залоченные 144 фпс, нагрузка максимум 60% на один поток, т.е. мой процессор и 240 фпс вытянет(стоило 240гц монитор взять!)Правда это почти самое начало игры, вроде неделя игрового времени прошла, у меня пара полей и несколько помещений построено, хуй знает что дальше будет. Но я думаю ничего особо не изменится, потому что когда-то давно я в него играл и не помню проблем(но точную метрику из поздних этапов игры я сейчас конечно не смогу посмотреть).
>>565128Игры типа факторио существовали еще во времена одноядерных пентиумов.Мой целерон в котором и кеша-то почти не было спокойно гонял что-то такое как сейчас помню.
>>565135вообще учитывая что API юнити почти не работает из любого другого потока кроме основного (есть пара исключений но так себе) то скорее вопрос в том как много твоё будет взаимодействовать с API юнити. если много то да, лучше джобсы. они на самом деле клевые с этой фичей копирования всей нужной информации в потоки.>>565137>апдейта батчами трансформова можно просто не пользоваться трансформами, если не надо!>>565139поиграй недельку, развей колонию в которой будет бегать пара десятков жителей с одного края карты в другой, замерь фпс когда случится очереденое нашествие сотни другой орков. всякое говно вроде поиска пути там начинает отжирать просто пиздец.к слову в oxygen not included та-же проблема с поиском пути. после пары сотен цыклов и десятка дупликантов тоже становится не играбельно. правда там эти мудаки только недавно сделали поиск пути многопоточным.>>565141факторио несколько подняло масштаб и уровень всего этого. до этого ближайшим аналогом были только всякие tycoon игры. в них разумеется не было всей этой хуиты с жидкостями, дронами и так далее.
>>565088>лол потому что одному человеку чтобы запилить хуйню вроде рисования дорог на террейне надо надо максимум 2-4 часа. предполагается что подобное говно ты и сам запилишь. хорошо что они ебутся со всякими проблемами производительности вместо хуиты.Ты меня разочаровываешь, вроде умный, но такой тупой. Там же не рисование дорог, это отдельная крутая террейн-прога, и кстати он запилил полное встраивание в юнити, ты глянь другие видосики. Совсем со своим патфиндером обезумел.
>>565088>лол потому что одному человеку чтобы запилить хуйню вроде рисования дорог на террейне надо надо максимум 2-4 часа. И каждый из тысяч пользователей будет ее запиливать, и еще тыщи небольших фич, хотя это может сделать один раз один юнитиразраб за пол рабочего дня, и люди не будут тратить впустую кучу времени. Найс у тебя логика.
>>565158да знаю я что эта хуйня есть и что она не только дороги рисует. ещё и стоит дохера на ассет сторе. но раз показали рисование дороги - обсуждаю рисование дороги. а то вот в ньюфаго-треде недавно тоже про дороги вспомнили. может это один и тот-же человек и только дороги тебя и интересуют?вообще если обсуждать World Creator и прочие процедурные генераторы террейна. их всех объединяет один минус - если в них хоть что-то не подходит проекту то он нахуй ненужен. например вот был у меня забавный проект генератора террейна (впрочем он и сейчас есть, кочует из проекта в проект). и мне нужен был специфический способ генерации некоторых его ступеней, которые переиспользовались потом в ИИ. генерируй я это с помощью чужого кода я бы проебался хорошенько с тем чтобы выковырять то что мне надо куда надо. генерируй я это с помощью того что мне дало бы юнити я бы получил хуй с маслом потому как наверняка запрятали бы всё снова в какую-то жопу.так что жизнеспособность каких-то таких подобных фич пускай лучше решает рыночек на ассет сторе. кому надо - те купят, или украдут нужную им хуйню. единственное что по настоящему надо всем это чтобы это говно работало. а с этим в юнити до сих пор проблемы.>>565161некоторые утилитарные вещи можно и просто с вики взять как например это: >>564050такие мелочи на каждом углу бесплатно лежат. конечно было бы здорово если бы некоторые мелочи уже присутствовали в юнити, типа там разглаживания террейна полосочкой чтобы дорожки было рисовать попроще. но пускай лучше сделают уже что-то более полезное. они насколько я знаю до сих пор даже не запилили рисование травы с помощью декалей, хотя планировали. вот пускай лучше это запилят, вот это действительно было бы полезно.
Юнити тренируется на своих минидемках чтобы в итоге выкатить суперигру, слишком уж успех эпиков заманчив
>>565167если бы в арехе не кричали на каждом углу кто из персонажей гей а кто лесбиянка я бы тоже может и сходил посмотрел. это всё просто ужасно. хорошо что он провалился.
>>565166>вот пускай лучше это запилят, вот это действительно было бы полезно.А вот хуй тебе, ничего делать не будут, сам делай. Ты понимаешь, что ты будешь пилить патфайндер всю жизнь? Ты никогда уже не вырвешься...>>565166>а то вот в ньюфаго-треде недавно тоже про дороги вспомнили. может это один и тот-же человек и только дороги тебя и интересуют?Да, это был я, но я не про такие дороги и террейн. Я увидел в дмцлокации и подумал, что наверняка у них специальные инструменты для их рисования есть, поребрики всякие делать, я просто не знаю. Если вручную моделить, вдруг там производительность просядет. Большой меш на части резать? Гемор какой-то.
>>565169>А вот хуй тебе, ничего делать не будут, сам делай.вообще, они вроде собирались. когда эту хуйню показали https://unity3d.com/book-of-the-dead после этого они и стали ворочаться с террейном. может и ещё чего клёвого запилят. запилили же они оптимизон. и то что вдали террейн теперь не выглядит как говно. и что можно теперь соседние террейны сразу редактировать. вот заебись, вот хорошо сделали. пускай ещё что-нибудь сделают.>Ты понимаешь, что ты будешь пилить патфайндер всю жизнь? Ты никогда уже не вырвешься...конечно! стоит сказать что я ни о чем не жалею! с ним в портфолио кстати неожиданно довольно легко найти работу по мелочи чтобы с голоду не помереть, а то что надо допиливать становится все меньше и меньше. так что время которое я могу уделять своим интересам всё больше и больше.>Если вручную моделить, вдруг там производительность просядет. Большой меш на части резать? Гемор какой-то.вообще обычно в проекты добавляют всякое там говно чтобы прямо на месте левел десигнер мог разрезать и соединить что ему там надо. оно зачастую ещё и как-то специфично для проекта. так то разумеется левел дизигнерам там надавали каких-то инструментов чтобы упростить им задачу. но вряд-ли оно работало бы за пределами DMC.вообще то что инструменты делают специфичными для каких-то задач то обычное дело же. например есть интересное чтиво о том как земеля устроена в БФ3. https://media.contentapi.ea.com/content/dam/eacom/frostbite/files/gdc12-terrain-in-battlefield3.pdf интересно пиздец. но подошло бы что-то этакое к DMC? нет конечно.
>>565170>интересно пиздец. но подошло бы что-то этакое к DMC? нет конечно.Поэтому и ненужно, пусть этот огрызок будит, нам и так нравиться! Будем изъебнуться!
>>565172ну так то этот огрызок можно лобзиком обработать до того что нужно. так как добавлять фичи проще чем вносить изменения в чужие, или темболее убирать их.хотя так то никто не мешает запилить свой собственный террейн. тут был и тот молодец с симуляцией жидкостей на террейне и помню года полтора-два назад был другой хуй который свой террейн делал.
>>565176может они хотели сделать хорошую игру. а не очередной платформер. но случился кризис идей. такое происходит на каждом шагу.
>>565182Ну не знаю, по-моему на каждом шагу происходит, что чел хочет сделать игру, начинает, и потом что угодно делает, на любые ухищрения идет, придумывает железобетонные оправдания, только бы не пилить игру. Террейны, патфандеры всякие...
>>565189а как иначе то? кнопки "сделать заебись" не сделали нигде. а движок это отправная точка, а не готовый инструмент.
>>565191Я имел ввиду намеренное избегание игроделанья, творческого процесса придумывания игры, уход в зону комфорта, где есть четкие цели, и ты знаешь как решать.
Анон, я вот смотрю когда такие вот штуки, всегда немного теряюсь. Люди за короткий срок делают прикольные интересные игры, и они считай практически просто так их делают, чисто для конкурса, как такое вот творчество своеобразное, не преследуя целей конкретных. А я вот хочу сделать игру, которую потом продавать можно и все в таком духе. Да и вообще, люди за неделю делают прикольные игры как я за несколько месяцев не смогу сделать. Это как-то демотивирует немного. Ни разу еще не создавал законченного проекта, не доводил дела до конца. Хотя с другой стороны так вот за что не возьмешься, и можно делать и делать, ведь идеалу нет предела, можно шлифовать и дорабатывать игру сколь угодно долго.Ех. Что про что написал вообще не понял, и ладно.https://www.youtube.com/watch?v=XeV0bmTLacM
С какими знаниями погромирования можно уже лезть в Юнити? Знаю С# до основ ООП.Хочу 2д пиксельную РПГ сделать, с ахуенным сюжетом
Недавно вкатился в юнити, делаю максимально простую мультиплеер парашу с пушками которые стреляют ядрами. И собсно все.Так вот когда клиент стреляет, ядро летит и дергается в полете, вибрирует. Виновата конечно моя криворукость и rigidbody, и посему появились вопросы. Можно ли как то реализовать полет ядра по дуге без этого rigidbody? Если же нет, то как избавиться от вибраций?У меня была идея использовать два метода с двумя разными префабами снаряда, первый метод будет использовать префаб сервер онли и не будет виден игрокам и физика будет рассчитываться только на сервере для реализма попадания. Второй метод будет использовать префаб локал онли скажем так для АНИМАЦИИ ПОЛЕТА, который будет обрабатываться отдельно у каждого игрока просто для вида. В итоге будет при выстреле вылетать два ядра, одно только на сервере со всеми вытекающими при попадании в определенный колижн, другое будет вызываться на всех клиентах и будет показывать полет снаряда. Но встает вопрос с реализацией такого пездеца. МетодВыстрел(){CmdМетодВыстрел()МетодВызоваАнимацииПолета()}[command]CmdМетодВыстрел(){блаблаблаNetworkServer.Spawn(x)дестрой()}[Client]МетодВызоваАнимацииПолета(){NetworkServer.Spawn(x) ИЛИ NetworkServer.SpawnWithClientAuthority с перебором ВСЕХ активных подключений. Насколько будет затратно такое решение?}Надеюсь изложил понятно, буду рад любой помощи ибо уже день жизни просрал на это все, мануалы и гуглы. У меня получилось реализовать мою идею только через SpawnWithClientAuthority но я боюсь это лютый пиздец и если будет одновременно около 100 человек то пойдут лаги(инет канал говно на домашней машине конечн).
>>565127>>565142>>565135Поясните, как делать на Unity двухмерные песочницы по типу террарии, старбоунда, оксиген нот инклудед и т.д. Интересует именно как пилить и обсчитывать сетку изменяемых блоков. В гугле большинство мануалов либо про 3d FPS, либо про 2d платформеры с заранее собранным уровнем, а про то что мне надо в упор не могу найти.
>>565547http://www.gabrielgambetta.com/client-server-game-architecture.htmlнаверно надо тебе дать эту ссылку, там в целом всё ёмко и с картинками.но тут всё грустно. не советую пользоваться сейчас UNet и лучше заебошить свою хуйню с помощью шарпа, или воспользоваться сторонними решениями. например фотоном. по этой причине: https://support.unity3d.com/hc/en-us/articles/360001252086-UNet-Deprecation-FAQраньше можно было сравнительно что-то сделать этой средней прослойкой. можно было регистрировать свой сорт команд в NetworkServer и NetworkManager пользоваться и оно ещё было сравнительно полезным. но теперь хуй.>>565548охуеешь. 2д сандбоксы далеко не самый простой в имплементации жанр. там дохуилион мелких сложных мелочей и все они из разных сфер. ну а так. советую почитать на той страничке https://catlikecoding.com/unity/tutorials/ про Marching Squares. тебе не нужны сами Marching Squares, но там довольно много про то как хранить всё это так чтобы было удобно менять.
>>565548а вообще лучше спизди https://forum.unity.com/threads/532699/ расковыряй и посмотри что внутри. наверняка интересное чтиво.
>>565553>не советую пользоваться сейчас UNet и лучше заебошить свою хуйню с помощью шарпа, или воспользоваться сторонними решениями. например фотоном. по этой причине: https://support.unity3d.com/hc/en-us/articles/360001252086-UNet-Deprecation-FAQЯ на самом деле пользуюсь не совсем юнетом, а Mirror https://github.com/vis2k/Mirror. Хороший вариант или все же слезать и садиться на pun?
>>565553>>565554Спасибо, поизучаю.>>565554>а вообще лучше спиздиКак спиздить? Вряд ли такие штуки на торрентах выкладывают.
>>565197>Я имел ввиду намеренное избегание игроделанья, творческого процесса придумывания игры, уход в зону комфорта, где есть четкие цели, и ты знаешь как решать.
>>565431Какой-то дебил.А системы это не объекты, значит?Сам придумал какую-то архитектуру, сам назвал ее ООП, сам ее опроверг. Феерический долбоеб.
>>565634>ЗнаюВ википедии прочитал, знаток?Нам важно сейчас, то объект инкапсулирует поведение. Именно это делают его >>565629 системы.Вся разница только в том, что вместо того чтобы инкапсулировать код еще дальше в компоненты, как мы это делаем в юнити, он весь код вывалил как свои мудя в функции Update(), сделав код более сложным для поддержки.
>>565628>>565629>>565627Вы чо рофлите? Ецс это по сути подмножество ооп, в котором избегаются многоуровневые иерархические системы(свойственные большинству йобы напрограммированной с оопом).
>>565640А, ну и да, говоря, что "мы не используем ооп" он явно имеет в виду что они не используют все эти худшие проявления ооп в виде чудовищного количества классов где все друг от друга наследуется.
>>565637В юнитивском ецс это хотя бы имеет смысл, т.к. там обещают прирост скорости. Ты размениваешь удобство и поддержку кода на производительность. Это хотя бы понятно. Пишешь процедурную лапшу, зато все работает быстро.Но в обычном ецс как архитектуре ты размениваешь хороший дизайн на говно ради чего? Непонятно.
>>565637ООП - это парадигма, т.е. в каким терминах мы рассматриваем что-то. ООП рассматривает программу в терминах объектов. Все что нужно закодить в программе - рассматривается как объекты - набор данных с конкретно зашитым кодом для их обработки.ЕЦС идет врознь этому. Объекты не выделяются по сути. Выделяются сущности, которые состоят из более атомарных компонентов (сугубо данные, без привязки к коду обработки). Выделяются системы, которые не имеют понятия ни о сущностях, ни об объектах тем более. Они просто берут нужный массив компонентов, и применяют над ними обработку. Это уже многое делает для разделения и развязывания лапши в коде. Код будет все еще разобранным конструктором, в котором можно легко убрать или добавить новый элемент. В ООП это уже было бы скрученным/собранным конструктором, с фиксированными деталями, и тебе либо разбирать детали надо, либо добавлять поверх, что вызывает усложнение.Да, сама система или менеджер ецс будет объектом скорее всего, и вся остальная программа может иметь объекты и написана в ООП стиле. Но сам по себе ЕЦС и его область влияния в программе требует совершенно другого понимания и представления, это другая парадигма.
https://gfycat.com/ru/backfineisabellineshrikeСмотрите какое говно, на реддите 800 плюсов, трава будто водоросли под водой, хотя в книге мертвых уже годно былоhttps://youtu.be/DDsRfbfnC_A?t=118
Конкретна это дерево сделано по базовым inputX=GetInput("Horizontal" ) и inputY аналогично. Суть в том, что на пеке нет плавного перехода от 1 к -1, когда нажимаешь D и A, из-за чего анимация такая дерганная.Появляется вопрос, как сделать это нормально?
Много закешированной памяти, вообще едитор часто падает из-за нехватки памяти. Но у меня кроме двух билдов на 300 мб и едитора с хромом ничего не запушено. Могут ли это быть утечки памяти из говнокода? Завтра добавлю 16, погляжу.
>>565693>вообще едитор часто падает из-за нехватки памяти.Нужен скрин ошибки.>Могут ли это быть утечки памяти из говнокода?Сомнительно.
>>565654Ого, вот это ты обьяснил, спс. Я уже кодирую почти пол года, но так особо и не вникал, что за ООП и какая в этом всем разница. Узнал только, что есть F# мультипарадигмальный, необычный какой-то, а есть С#, который в юнити и ООП. И кодил себе все это время, особо не вникал.Как думаете, если прям в программирование уходить, стоит ли читать про о шаблонах проектирования и порождающие шаблоны, или для игростроя это не надо? Понятно, что скилл растет потихоньку и когда просто фишки разные делаешь для игры, но если вот уходить в программирование глубже, чтоб разбираться лучше, в какую сторону можно еще копать, что думаете?
>>565706Алсо, это нормально кстати, что я вот сколько говнокодю, так и не читал ни одной книжки по С#. Пересел на него с Питона и сижу вот до сих пор, общие принципы вывел для себя какие-то. Может быть они и не правильные. Стоит может быть вообще начать с книжки по C#? Или что как развиваться дальше в этом деле, господа? Или само все придет?
>>565705https://forum.unity.com/threads/shadergraph-export.537032/Типа можно, но с заебами экспортнуть, как я понял. Не все так просто.
>>565654> ЕЦС идет врознь этому. Объекты не выделяются по сути. Выделяются сущности, которые состоят из более атомарных компонентов> Выделяются системы, которые не имеют понятия ни о сущностях, ни об объектах тем более. Они просто берут нужный массив компонентов, и применяют над ними обработку.Одна и та же хуйня по своему смыслу.Залупа1 наследуется от ЯИмеюКоординаты полностью эквивалентно объект залупа1 содержит компонент ЯИмеюКоординаты, за исключением типа отношения. Но нам не важен тип отношения, нам важно что отношение имеется.Если принципиально чтобы все компоненты были в одном массиве - можно в конструкторе каждого компонента добавлять их >>565706>Я уже кодирую почти пол года, но так особо и не вникал, что за ООП и какая в этом всем разница. Погугли, там материала на 5 минут изучения в лучшем случае.>Узнал только, что есть F# мультипарадигмальный, необычный какой-то, а есть С#, который в юнити и ООП. Почти на любом языке(из адекватных) можно почти в любой парадигме писать.>Как думаете, если прям в программирование уходить, стоит ли читать про о шаблонах проектированияШаблон проектирования = прикольный полезный приёмчик. Иногда очень ползный. А иногда и вредный.Ты сам скорее всего некоторыми вещами которые называют шаблонами проектирования пользуешься, просто не знаешь этого.>Понятно, что скилл растет потихоньку и когда просто фишки разные делаешь для игры, но если вот уходить в программирование глубже, чтоб разбираться лучше, в какую сторону можно еще копать, что думаете?Смотря чего ты хочешь.Офк я бы посоветовал побайтоёбствовать в си и поковырять опенгл(не обязательно много), если ты этого ещё не делал.И обязательно алгоритмы и структуры данных.
>>565711> Одна и та же хуйня по своему смыслу.> Залупа1 наследуется от ЯИмеюКоординаты полностью эквивалентно объект залупа1 содержит компонент ЯИмеюКоординаты, за исключением типа отношения. Но нам не важен тип отношения, нам важно что отношение имеется.> Если принципиально чтобы все компоненты были в одном массиве - можно в конструкторе каждого компонента добавлять ихБлять не дописал. Короче можно добавлять их в общий список, да. Но суть не в этом, суть в том, что ООП - это не обязательно лапша, ООП - это довольно широкое понятие которое скорее включает в себя и ецс, а не противопоставляется ему. Аналогично оно вклбчает и говно с полиморфизмом и наследованием.
>>565711>Залупа1 наследуется от ЯИмеюКоординаты полностью эквивалентно объект залупа1 содержит компонент ЯИмеюКоординаты, за исключением типа отношения.В каноничном ЕЦС даже нету объекта залупы, ибо не нужен.Ну блять, очевидно, что в конце концов оно эквивалентно, потому что мы хотим получить одно и то же поведение. Но достигается это разными путями. И тип отношения как раз-таки важен.Один массив принципиален тем, то локальность данных становится более юзабельной для проца. Можно пойти дальше в оптимизации и сделать не массив структур, а структуру массивов, что позволяет на 100% гонять SIMD.По сути это уже область data-oriented design (не путать с driven), и ООП далек от ДОД.
>>565558а хуй знает, у меня опыта обращения с ним нет. ты и расскажи.>>565559>Вряд ли такие штуки на торрентах выкладывают. с торрентов порой можно спиздить даже бесплатные вещи ололоhttps://www.cgpeers.to/ зарегистрируйся завтра, авось найдешь.>>565561в целом да. хуёво всё. ну и хуй с этим, им всё равно невозможно было пользоваться.>>565654сколько воды а. мог бы просто написать "структы хорошо, массив структов вообще заебись, пишите кэш френдли код".>>565669ни краткого описания проекта чтобы оценить объем времени который на него придется проебать, ни требуемых скиллов. будет удивительно если хоть кто-то ответит.>>565685ну что же ты. видно же что аксисы прыгают к нулю когда жмешь в другую сторону. хани текущее значение инпута отдельно, а от аксиса только знак бери при управлении.>>565693конечно могут. что ты там сделал то.
>>565735в ООП обжекты. хуй его знает в какую жопу памяти они засунуты. когда одному обжекту надо чето с другого то разумеется конплюктор лезет в оперативку искать что там надо. обжекты могут быть рядом, а могут не быть. а в ECS магически обжект только один - массив с значениями. его можно хопа быстренько сунуть в кэш процессора, сказать "сделай это имея этот массив" и всё сразу быстро-быстро становится.
>>565717>конечно могут. что ты там сделал то.Сделол приложение для трейдинга и исследований. Грешу на едитор, иногда зависает при попытке запуска в дебуг моде. Может быть с вебсокетами что-то не так. Попробую завтра запустить с десяток инстансов, посмотрю как дело пойдет.
>>565654>Они просто берут нужный массив компонентов, и применяют над ними обработку. Это уже многое делает для разделения и развязывания лапши в кодеНа простых примерах уровня position = position + 1
>>565737что-то знакомое. наверно ты тот анон который задавался вопросами как рисовать график не снимая свитера с пол годика назад.>>565738большинству хватит и этого. в конце концов не обязательно всю хуйню переносить в эту хуергу. например когда симулируешь мир и большая часть обьектов даже не имеет репрезентации в сцене.
>>565736> в ООП обжекты. хуй его знает в какую жопу памяти они засунуты. когда одному обжекту надо чето с другого то разумеется конплюктор лезет в оперативку искать что там надо. обжекты могут быть рядом, а могут не быть. а в ECS магически обжект только один - массив с значениями. его можно хопа быстренько сунуть в кэш процессора, сказать "сделай это имея этот массив" и всё сразу быстро-быстро становится.Ты чо рофлишь? Классы - это чисто синтаксическая хрень(даже с учетом наследования и перегрузки методов - ты можешь и сам ручками на си тоже самое сделать со структурами и функциям, а еще можешь написать транслятор который будет переводить нечто вроде yoba.addKek(2) в addKek(&yoba, 2) - и все, вот тебе твой личный ооп), позволяющая рассматривать программу на более высоком уровне абстракции. Физически куда хочешь туда и можешь засунуть их данные, это зависит от средств языка программирования. Вот пишу я на шарпе Жопа жопа = нью Жопа() - я знаю что среда исполнения шарпа из своей "управляемой памяти" выделит где-то кусок, который является абстракцией над куском физической памяти.С другой стороны когда я на С++ пишу Jopa jops = malloc(sizeof(jopa)1000)(или можно с++ вариант new Jopa[1000]) - я знаю что я выделил линейный кусок памяти, который содержит достаточен для хранения 1000 объектов моего класса.От того что конкретно в шарпе есть ключевое слово структура и оно отличается от класса тем, что в отличии от класса доступ к объекту ее типа модно получить нк только по ссылке - никоим образом не влияет на саму концепцию ооп, а лишь является странным ограничением конкретно шарпа.
>>565741мне кажется ты обдрочился на пллюсы и не совсем понимаешь разницу между тем что такое структ в плюсах и структ в шарпе. на, советую почитать.http://www.developingthefuture.net/c-structs-vs-c-sharp-structs-vs-c-plus-plus-structs/
>>565730и лерп ебанул лол. а знаешь как ещё можно делать? axis = Mathf.Clamp(axis + (Time.deltaTime axisSpeed axisDirection), -1f, 1f);вместо лерпа можно линейно смещать нужную ось на дельту времени.чтобы значение менялось пропорционально времени, а не дистанции.или ещё круче - завести публичный https://docs.unity3d.com/ScriptReference/AnimationCurve.html и брать из него прибавляемую дельту чтобы совсем уж контролировать скорость изменения анимации.а ещё смотри какая хуйня есть https://docs.unity3d.com/ScriptReference/Animator-stabilizeFeet.html будет приклеивать ножки к земле на ебанутых разворотах. можно иметь забавный эффект.
>>565742> мне кажется ты обдрочился на пллюсы и не совсем понимаешь разницу между тем что такое структ в плюсах и структ в шарпе. на, советую почитать.Мне кажется ты посты до конца не дочитываешь.>>565741> От того что конкретно в шарпе есть ключевое слово структура и оно отличается от класса тем, что в отличии от класса доступ к объекту ее типа модно получить нк только по ссылке - никоим образом не влияет на саму концепцию ооп, а лишь является странным ограничением конкретно шарпа.
>>565747>Мне кажется ты посты до конца не дочитываешь.не разобрался что-ли. в шарпе структ копируется только по значению. и структ не может быть null. разница в том что если ты делаешь например массив классов, то ты делаешь массив со ссылками. а если ты делаешь массив структов то тогда они будут у тебя линейно в памяти лежать. в шарпе структы не наследуются. и если ты напишешь SomeStruct myStruct = new SomeStruct () то ты не выделяешь новую память.>>565748так я же дал ссылку на анимейшон курв уже. он вот просто заебись для таких манипуляций.
>>565749> не разобрался что-ли. в шарпе структ копируется только по значению. и структ не может быть null. разница в том что если ты делаешь например массив классов, то ты делаешь массив со ссылками. а если ты делаешь массив структов то тогда они будут у тебя линейно в памяти лежать. в шарпе структы не наследуются. и если ты напишешь SomeStruct myStruct = new SomeStruct () то ты не выделяешь новую память.Но я же именно об этом и написал.А также написал, что это проблемы конкретно самого шарпа, сама концепция ооп не обязывает выделять память для объектов класса с доступностью только по ссылке.
Подскажите, в каком направлении копать.. 2Д проект.Есть геймобджект, внутри которого несколько спрайтов.Задача 1: Надо менять его прозрачность целиком. Сейчас делаю так - вешаю скрипт, в нём ссылки на все спрайты и меняю прозрачность каждого спрайта. Но это неправильно же..Задача 2: Надо отобразить половину этого геймобджекта. Представляю как сделать с одиночным спрайтом. Сделать новый спрайт, в котором часть пикселей будет с этого спрайта, а часть- прозрачные, но это тож неправильно, наверно.. И с целым так не сделаешь.. Ну или как то уж очень геморройно будет рассчитывать это..Нутром чую что нужны шейдеры, но как их повесить на геймобджект - чёт не понял..
>>565787>вешаю скрипт, в нём ссылки на все спрайты и меняю прозрачность каждого спрайтаТоже так делал, когда 2Д занимался. Можно без ссылок менять еще, GetComponent<Sprite> делаешь скриптом и внутри уже меняешь, и ссылка не придется делать, получится универсальный скрипт смены прозрачности. Но я сам говнокодер поэтому скорее всего это тоже не совсем верно. Еще не забывай, что есть Анимейшн или Таймлайн, если это какие-то кнопки то можешь прозрачность через Анимации менять прямо из Юнити без кодинга.>>565787>Надо отобразить половину этого геймобджектаНу твой вариант тоже норм. Можешь с шейдерами разобраться. Тоже не эксперт в этом, но тебе нужен материал, на котором висит шейдер. Но для 2Д не нужно так заморачиваться. Как делаешь так и делай, лол.
>>565787Сам нашёл ответ на задачу два.1. Объект, который надо отобразить убирается со сцены и перемещается в другое место.2. Добавляется вторая камера, в поле зрения которой только нужная часть объекта3. Изображение со второй камеры накладывается на нужное место в кадре.Как то так?
>>565787>>565823Это какой-то ад. Не проще разделить спрайт на два или шейдер написать? Скорее всего даже шейдер уже есть чтобы карту прозрачности задать спрайту.
>>565838С одним спрайтом проблем нет, но если объект из нескольких спрайтов состоит? В моём случае космический корабль (спрайт), на нём спрайты пушек и спрайт силового щита. Всё это должно проходить через портал, так что бы нос корабля исчезал в одном месте и появлялся в другом. Вариант с двумя камерами не канает.. То есть всё работает, но камеры нельзя повернуть под углом, либо только вверх/вниз, либо только вправо/влево.. Делал такое на другом движке, всё легко и просто, просто накладывается маска прозрачности и всё.. А тут как то...
>>565861Блин, тоже только хотел сказать про ето. Ну это да, самый логичный вариант, только маску надо делать.
Но ведь игру нужно делать не так, как высночалопрототип, кубики и зона со всеми возможными актиностями и активными предметами, на все пишутся скриптыпотом по сюжету все объекты множатся расставляются, накладывается графон дизайн анимацииТолько потом уже начинается полировка особенностей жеа тут большинство сразу пытается сделать особенность, забивая на остальное
>>565926про что несёшь? Какая ещё "полировка особенностей"? Что такое "особенность"?Ну и я уж молчу про то что вот так>прототип, кубики и зона со всеми возможными актиностями и активными предметами, на все пишутся скриптыпотом по сюжету все объекты множатся расставляютсяигру не надо делать.
>>565929Что не ясно, сначала должен быть рабочий прототип максимально примитивный, но с возможностью наращивания мяса и уже охватывающий всю игру от начала до концаникаких шейдеров, анимаций, углубления в просчет полета пули, так игру не сделатьА вот сначала сделав проходимую от и до болванку, можно, потому что имея болванку останится ее только расширять и полировать, вводить усложнения геймплеяА если берешься сразу за полировку камеры то есть риск дропнуть все, потому что сложную рутину нужно делать сразу
Какие есть годные туториалы?В официальных много проблем из-за того что они для старых версий, а тот что рассказывает как рандомно генерировать карты/игровые поля вообще жутчайший пиздец и должен быть о том как делать не надо
>>565935>никаких шейдеровБудто они дохуя много времени занимают.>анимацийЕсли делаешь один и в том числе планируешь делать анимации - то как раз нужно иногда переключаться на другой вид деятельности, в том числе и анимации.А если делаешь не один - наверное в команде будет кто-то, кто как раз графоном и занимиается. >углубления в просчет полета пулиЕсли ты об оптимизации, то отчасти тут можно согласиться. Но лишь отчасти, потому что иногда лучше сразу сделать нормально. Ну и иногда опять же для разбавления нагрузки будет полезно вместо очередной рутины заняться пулями, особенно если есть идея как правильно сделать.
>>565940>В официальных много проблем из-за того что они для старых версийДокументацию смотри. очевидно. Там часто есть мануалы с вводными статьями в какой-то определенный модуль.
>>565947Ну кароч делаешь твитор и постишь гифы с прогрессом создания, типа вот анимация травы, вот взаимодействие, незвначай тычешь патреоном и ждешь донатсов
>>565953Ну давай разберем по частям твои игры )) Складывается впечатление что ты реально пиздящий ассеты юнити-даун )) Вся та хуйня тобою сделанная это просто клоны, разработчик ты комнатный) ) от того что ты много 2д говна сделал, скилл твой лучше не станет) ) ассеты пиздить не мешки ворочить, много вас по чисткам Valve оттаяло )) Про таких как ты говорят: Valve не хотели, Google Play не пропустил) Вникай в моё послание тебе< постарайся проанализировать и сделать выводы для себя)
>>565975чьмо, юнити позволяет сделать 3д графон не хуже чем на уе4>>565963Ясен хуй, в шарпе ты хотя бы можешь нормальный код писать, а в блюпринтах попробуй эту паутину ебаную распутать.
>>566017Могу конечно. Только я не умственно-отсталый, чтобы вместо делания игры ебашить говно на крестопараше и по сотне раз прописывать рутину всякую.
>>565926Хуйню спизданул. В нормальной игре на кубиках геймплей не сделаешь, взять для примера какой-нибудь dark souls, там весь геймплей и вся боевка завязана на анимации и их тайминги. Ты не напишешь "скрипты", пока у тебя не будет готового набора анимаций. Ты не задизайнишь нормально уровень без готовой боевки, ибо расположение врагов с учетом их боевых систем будет влиять на дизайн.Максимум, что можно спрототипировать на кубиках - какой-нибудь симулятор ходьбы, всё.
>>566026Ну да, надо вообще сразу байт-код ебашить, вообще ништяк будет.>>566023Регай кап на кодфорсес, говно.
>>566130Ну вот еще и яндекс браузер юзает, ну типикал юнити-дурачокВиртуальная машина ему зачем-то, интеллиж айдия что-ли со значком pc?
что за прорыв канализации в треде?>>565782ну во первых - у нас тут только шарп. а в шарпе различие между тем что может линейно в памяти хранится, а что нет довольно конкретны. поэтому никаких>Жопа жопа = нью Жопа() - я знаю что среда исполнения шарпа из своей "управляемой памяти" выделит где-то кусокво вторых - если писать хуиту вида "если А делай Б, иначе В" это не совсем перегрузка методов. если вернутся к ECS то любой сорт перегрузки методов всегда плохо для производительности. (ну, если конечно они не абстрактны)в третих - в том что ты предложил нельзя добавлять поля. это такой-же полиморфизм насколько в юнити адекватна сериализация полей.>>566148лол что ты там делаешь что аж физон понадобилось оптимизировать. подкрути время солвера для физона, нажми "статик" везде где оно статик, поменяй режим просчета колизий в RB если менял. не пользуйся меш коллайдерами, если пользуешься.
>>566249> ну во первых - у нас тут только шарп. а в шарпе различие между тем что может линейно в памяти хранится, а что нет довольно конкретны. поэтому никакихНо я же именно об этом и писал!Шла речь о концепции ООП и концепции ЕЦС, которые существуют и вне шарпа. Поэтому повторюсь - то что шарп заставляет тебя выбирать между двумя стульями "сгруппированный кусок данных который мы разрешаем хранить в массиве" и "сгруппированный кусок данных с перегруженными методами и кучей всякой вспомогательной шняги который мы запрещаем хранить в массиве" не предоставляя промежуточный лайтовый вариант класса - проблема шарпа.> во вторых - если писать хуиту вида "если А делай Б, иначе В" это не совсем перегрузка методов.Таблицу указателей на функции нужно использовать.> если вернутся к ECS то любой сорт перегрузки методов всегда плохо для производительности. (ну, если конечно они не абстрактны)Перегрузка метода = программа будет обращаться в таблицу ссылок на методы этого класса чтобы найти нужный метод и вызвать его. Как бы да, и память лишнюю пожрёт, и время на то что бы перескакивать на нужную функцию потратит, но если и так используются обычные функции, а не инлайн вставочки какие-нибудь один хуй разница не прям очень велика.> в третих - в том что ты предложил нельзя добавлять поля. это такой-же полиморфизм насколько в юнити адекватна сериализация полей.О чем именно речь? Если о реализации на си - можно сделать чтобы можно было добавлять, только синтаксис пиздец неудобный будет.
>>566250тред что-ли сторожишь лол, вместо того чтобы игры делать>не предоставляя промежуточный лайтовый вариант класса - проблема шарпа.да так то лайтовый вариант можно сделать через некоторые ухищрения. в шарпе структы хранят не только типы значений же.>Таблицу указателей на функции нужно использовать.да как бы никто не запрещает и в шарпе пользоваться делегатами лол. в структе можно хранить ссылку на метод (желательно статичный) и говорить "пользуйся этим когда делаешь Х" но это надо быть совсем ебанько чтобы заниматся этой хуйнёй.>Как бы да, и память лишнюю пожрёт, и время на то что бы перескакивать на нужную функцию потратитна самом деле конечно важно что оно будет делать это вообще. в ECS то методы от данных отделены.>О чем именно речь?об этом:>я на С++ пишу Jopa jops = malloc(sizeof(jopa)1000)(или можно с++ вариант new Jopa[1000]) - я знаю что я выделил линейный кусок памяти, который содержит достаточен для хранения 1000 объектов моего класса.говорю об размере стака. ты выделяешь кусок памяти под объект размером столько-то байтиков. полиморфизм же не только изменение методов, он так-же подразумевает изменение размера самого объекта.ну а сравнил с сериализацией юнити потому что ололо в эдиторе она представляет из себя эту хуйню https://docs.unity3d.com/ScriptReference/SerializedProperty.html где буквально плюхнули всё в кучу чтобы это работало как вся эта куча.
>>566252На юнити в среднем только первого уровня удается добиться, максимум второго, даже до флаппи бердс не дотягивает.
>>566293Настройка анимаций чуть не половина всей работы.Это ебать как сложно оказывается, даже при наличии готовых анимаций.
>>566305я не выдержу слушать как какой-то мудак час гундит мне в ухо. что там?>>566306только одно дело ебатся с анимацией, а другое дело запилить весь важный код поддерживающий игровую логику пользуясь анимациями в духе рогалик-куна.что по твоему приблизит тебя сильней к готовности проекта? следует ли пердолится с анимациями когда игры нет?
>>566307>следует ли пердолится с анимациями когда игры нет?Зависит от игры. Если геймплей завязан на анимациях (аки дарксоулс, salt & sanctuary), без них и механики особо не будет.Если это симулятор ходьбы можно не пердолиться.
>>566309на самом деле конечно прежде чем начинать пердолится с анимациями следует понять в какую сторону пердолится пользуясь силой прототипов. а для них не очень то надо анимации. а то результат может сильно отличатся от ожидаемого и придется переделывать все по 30 раз вместо 10.
>>566314судя по обилию "ue4_memes" на доске прорыв канализаци похоже случился со стороны какого-то дегенеративного паблика в социальных сетях. всё это просто ужасно.
>>566316Прорыв канализации, это когда говноеды что здесь пилят пикселепарашу прутся на стим и засоряют его своим 2д говном
>>566348Я? Неее. Я же не пользуюсь юнити. Это ваше, так сказать говно. Насрали в стим суки. Людвиг Аристархович, стим же элитная платформа ну! Идите в ич ои
Есть объект, который постоянно расширяется вверх. Как увеличить size камеры (orthographic), когда объект расширяется и доходит до границ экрана и при этом выравнивать камеру по оси Y, чтобы низ объекта был соответственно внизу экрана?
>>566388Чисто в теории если кинуть на обьект коллайдер, то ты можешь узнавать края коллайдера через скрипт и попробовать что-то делать с этим.Хотя наверное тебе лучше воспользоваться Cinemachine, там наверное есть какие-нибудь хитрые настройки на такой случай.Но это так, с дивана мнения.
>>566393Вот через коллайдеры как раз и думал - 2 plane невидимых снизу и сверху. Но как то слишком костыльно, может есть что ПОЭЛЕГАНТНЕЕ.
>>566395Не, не надо 2 плейна, ты можешь прям на обьект кинуть коллайдер, и через скрипт брать данные об этом коллайдере, когда твой обьект будет вместе с коллайдером расти. https://docs.unity3d.com/ScriptReference/Collider-bounds.htmlТипа такого.Но это тоже костыль, наверняка есть элегантнее методы
>>566396да можно и без коллайдера. баунды много у чего есть. наверно самый адекватный https://docs.unity3d.com/ScriptReference/Renderer-bounds.htmlну и советую посмотреть этого https://www.youtube.com/watch?v=iccMGaIlE5o
Странный вопрос, но можно ли смешивать у обьекта rigidbody физику типа AddForce и прямое перемещение через transform? Или надо выбрать что-то одно, и оно так не будет нормально работать?
>>566474не стоит. если ворочаешь RB то к трансформу лучше вообще не обращаться. там у юнити есть внутренняя магия того какон там обновляет форсы, позицию и прочую хуйню. если собрался менять позицию то лучше пользуйся самим RB. https://docs.unity3d.com/ScriptReference/Rigidbody-position.html
>>566480зависит от скиллов и того чем можешь подтвердить их. например я тоже самоучка, однако периодически нахожу в своём ящике предложения о работе.
>>566484> однако периодически нахожу в своём ящике предложения о работе.А как работодатели выходят на твой ящик и вообщ на твои проекты?
лол во дела. поменял то что навмеш делает когда отделяются чанки и как они вообще собираются. и заодно поменял функцию которая возвращает ближайшую точку на линии на менее дурацкую и более точную. и что-то всё. пиздец. при попытке получить позицию на навмеше мне иногда пиздят что результат находится вне границ навмеша. посмотрел может я где-то проебался в новом коде? нет, все в порядке. отдебажил порядок позиций в точках еджей, там тоже все замечательно. пока дебажил и тут облагородил всё. выкинул ненужные функции из класса с математикой, облагородил здесь, там везде. всё прекрасно, всё замечательно. и теперь до меня наконец дошло. оказывается теперь точность функции возвращающей точку на треугольнике и на линии стала одинаковой. и если нужная позиция внутри конвексной области то берётся точка на треугольнике. а если нет то на всех линиях. и сравнивается какая ближе. а я не добавил приоритизацию что если расстояние до нужной позиции одинаковое, то выбирать надо ту которая находится внутри навмеша, вместо той что снаружи. так что какая зона была первой та и победила.история о том как проебать почти неделю на поиски не в том месте. не забывайте проверять какой результат более правильный, если правильных может быть больше одного.>>566484а хуй знает. через ассет стор стоит полагать. ну и я в своем навмеше оставил закладку "контакты" на видном месте. хотя это конечно не так часто происходит, но происходит.
Анон, как думаешь, какой вариант лучше?Хочу сделать бонус, который при подбирании ускоряет игрока на несколько секунд. 1) Использовать для этого корутину, которая будет считать время и изменять скорость игрока, а потом возвращать на место2) Прямо в скрипте использовать Time.time для отсчета времени и не делать никаких корутин.Что лучше?
>>566616чет оба хуйня. что будешь делать когда 2 раза бонус ускорения поднимешь, например? в апдейте можно добавить времени, но считать повторяющиеся бонусы неудобно. в корутине удобно, но продлить эффект там будет не так удобно.
>>566630Всмысле второй хуйня?Второй способ самый верный и простой. Считать повторяющиеся бонусы - это задача по пгрограммированию для первоклассников.Start: SpeedBonusTimer=0Update: if SpeedBonusTimer >0 SpeedBonusTimer -=DeltaTimeOnCollision: if collider.tag == "Speed bonus" then SpeedBonusTimer = 15000
>>566632Ну и можно разумнее сделать,при подборе перед увеличением спидбонустаймера смотреть - если спидбонустаймер меньше нуля - увеличить скорость игрока. Если больше - пох.В апдейте:Если спидбонустаймер > 0 спидбонустаймер -=дельта Если спидбонустаймер <= 0 Отнять бонус к скорости КонецеслиКонецесли
>>566630>>566635Спасибо большое, понимаю, что для первоклассника задача, хотел уточнить у експертов сразу, чтоб не косячить.
>>566632я к тому что код срабатывающий по таймеру не смотрит на предыдущие состояния персонажа. самым верным способом собирать бонусы разумеется является собирание всех существующих бонусов в какую-то коллекцию и на каждом изменении этой коллекции возвращать персонажа в дефолтовое состояние и накладывать все бонусы в правильном порядке заново. а сам таймер когда бонус спадет хранить в самом бонусе который хранится в персонаже.
>>566640>я к тому что код срабатывающий по таймеру не смотрит на предыдущие состояния персонажа.???Код срабатывающий по таймеру ничем не отличается от другого кода. Я же написал как сделать чтобы он смотрел на состояние персонажа.
>>566641подобного сорта код потом выльется в нечитабельную хуйню на самом деле. в грубом виде система бонусов должна выглядеть примерно так.
>>566646Конкретно под пару бонусов и моей реализации хватит.Если нужна целая система бонусов - то, как сделал ты, точно не надо делать. У тебя не предусмотрена отмена бонуса, линейное ускорение будет конфликтовать с уможением(конечно это легко сделать и с твоей реализацией правильно, но тем не менее у тебя на пике сделано неправильно, это так, чтобы какие-то мимокрокодилы бездумно не скопировали твой код), ну и в дополнение к этому на игроке будет висеть несколько одинаковых бонусов и все они - объекты с перезаписанными методами, брр, а ещё постоянно будет теребиться, сортироваться и ресайзиться(впрочеи конкретно ресайз фиксится заданием фиксированной вместимости) список.
>>566661>впрочеи конкретно ресайз фиксится заданием фиксированной вместимостиХотя нет, не фиксится. Память перевыделяться не будет, элементы же смещаться будут.
>>566661да как бы все это опционально и тривиально. можно например добавить опционально параметр public void AddBonus(Bonus bonus, bool extentTime) и если он true то перебираешь коллекцию с бонусами и если типы бонусов одинаковые то вместо добавления бонуса, добавляешь время от бонуса. функцию отмена бонусов тоже дописать к этой хуйне не долго, так как функция применения бонуса уже написана.ускорение линейно накладывается первым, умножение последним и это контролируется изменением одной цыферки.ну и всегда можно ебануть код который вместо абстрактной хуиты и пложения сущностный делает тебе какие-нибудь структы со статичными делегатами. это уже детали имплементации.как по мне это как раз проще расширить под любую хуйню чем писать говнокод в апдейт и возвращатся к нему десятки раз.
>>566667Ну так то согласен, но в любом случае всё зависит от того что вообще нужно. Если как в доте 40 видов дебаффов - тогда такая система необходима. Если одно лишь ускорение да какая-нибудь неуязвимость - пох.
>>566677мой опыт подсказывает что диздоки пишутся на салфетках сидя в баре. никогда не знаешь что за хуйню захочется сунуть ещё! хобана сегодня у нас бонус на ускорение, а завтра у нас бонус на ускорение и ускорение которое сильней но жрет хп со временем! а после завтра ещё регенерацию хп добавим! а послезавтра ещё что-нибудь ебанём! так что лучше быть готовым ко всему.
>>566679>диздоки пишутся на салфетках сидя в бареСкорее на туалетной бумаге сидя на унитазе. И чернила всегда под рукой!
>>566679Так, пидор с приподнятыми 10см волосами, худое лицо, одеваешься в рубашки, имеешь старый айфон, ходишь с тонким белым наушником в одном ухе.Геймдизайнеры в барах не сидят. Нормального человека от слова "бар" колбасит. Бары для неуверенных в себе чмошников что насмотрелись фильмов, и думают поход в бар их сделает крутыми
>>566646Фига вы тут понаписали, хех. Спасибо.Мне вообще просто ускорение к самолетику в игре добавлять на время, но все так и есть, лучше заранее предусмотреть все моменты, чтоб потом не ебаться.>>566664
>>566249лол что ты там делаешь что аж физон понадобилосьпрыгающий по планете шар.Пытался ебаться с чарактер контроллером так как считал это выбором в пользу производительности.
>>566720постэффектами реализовать>>566723вообще, он дает некоторые бонусы, но не в таких случаях. ты на планете то хоть коллайдер конвексным сделал?
>>566646>>566661Позвольте еще спрошу кое-что .Я вот самоучка программист, и по сути дальше Void и Static ничего не знаю толком, все скрипты у меня в классе МоноБехавиорс, про абстракции я вообще первый раз слышу.Вы сами учились всему этому или где-то до этого в универе проходили? Или с опытом пришло?
>>566730опытом. то как работает абстракция и ссылки до меня отлично дошло когда я делал свою первую систему инвентаря которую пиздил из jagged alliance 2. и я бы не сказал чтобы какое-то большое количество мозгов для этого нужно было. так что ебош что-то сложней чем три в ряд и заимствуй чужие решения, если не можешь свои.
>>566720>Как назыается такая графика Гравюра вроде.>и как ее реализовать?Рисовать в таком стиле/запилить шейдер.
>>566730> Вы сами учились всему этому или где-то до этого в универе проходили? Или с опытом пришло?Сначала ходил на кружок информатики, потом стал часто гуглить что-то в стиле "opengl уроки, c++ ооп, c++ как сделать инвентарь, opengl как сделать загрузку моделей". Понимал тогда не очень много, сам с нуля писал мало и потому пытался всё найденное собрать в кучу и адаптировать. И так постепенно прогрессировал, позже прочитал книгу по с++ чтобы интуитивные знания закрепить, и так далее. Новому вкатывальщику могу порекомендовать параллельно с игрой читать что-нибудь по шарпу(книгу или может есть видеокурс какой-нибудь) и решать может быть какие-нибудь задачи(сначала конкретно по языку, потом и олимпиадный низких уровней, хотя можно и сразу, как хочешь).
>>566755Потому что это 0.0.12 версия, а я жду 1.0.0 версию, потому что между этими версиями может поменятся все что угодно.
>>566762да ладно сама концепция то никуда не денется. там конечно сравнительно недавно меняли как вся эта хуйня инициализируется и куда всё пихать, но пользоватся этим можно уже сейчас. https://github.com/Unity-Technologies/EntityComponentSystemSamples они там самплы поменяли довольно сильно. я немного потрогал. вроде нормально. недельки полторы с навмешем ещё посижу да наверно поделаю проект с помощью ECS и джобсов.
Алгоритм импорта blend файлов в unity вроде прост, но у меня чет материалы не подгрузились. Типо я создал сценку, загрузил текстуры и наложил материалы, сохронил, кидаю в юнити но грузится только меши, сохронял с cycles render, я чот упускаю походу, подскажите
>>566824а чего им подгружаться то. материалы юнити и блендора совершенно разные вещи же. в юнити присваивай материалы самого юнити.
Курю книги по геймдизайну и есть вопросы юнитачу.1) сколько игр выпустили?2) изучали ли вы геймдизайн или просто интуитивно мутите.3) зарабатываете геймдевом или это хобби или 2ая работа?
>>566827> 1) сколько игр выпустили?0> 2) изучали ли вы геймдизайн или просто интуитивно мутите.Интуитивно> 3) зарабатываете геймдевом или это хобби или 2ая работа?Хобби/будущая работа
>>566832У меня такая же проблема была, я просто материалами юнити решил пользоваться. Если ты найдешь другой способ напиши сюда пожалуйста.
Ну а вообще тип самые юзабельные форматы для юнити, чтобы не париться, а просто экспортировал и забыл, fbx?
>>566772>там конечно сравнительно недавно меняли как вся эта хуйня инициализируется и куда всё пихать, но пользоватся этим можно уже сейчас.Да там с каждой версией будут все менять и ломать обратную совместимость, нужно ждать полноценный релиз.
>>566838лучше создай материалы в юнити и пользуйся ими. я уже давал аналогичные советы. >>563556>>566844да ладно базовые части то наверно не поломают. такие вещи как "архетип" то по моему особо не поменять чисто логически, а такая базовая хуйня это почти весь код. как там оно инициализируется то на самом деле не так и важно. кстати когда они в прошлый раз меняли это то они ничего не ломали, они просто добавили лучше методы. там раньше можно было написать атрибут для статичных функций типа вот его вызывай как только все начнется. а сейчас что-то ещё сделали.
пишу пиксельную 3д игору на юньке, хочу реализовать сглаживание пиксельной графики как на пике, как называется этот алгоритм, что можно почитать по теме? реализовал свой, но он хуевый.fixed4 calculate_smooth(float2 ts, float2 uv) { float2 uv1 = uv; float2 uv2 = float2(uv1.x+ts.x, uv1.y); float2 uv3 = float2(uv1.x, uv1.y+ts.y); float2 uv4 = float2(uv1.x+ts.x, uv1.y+ts.y); fixed4 col1 = lerp(tex2D(_MainTex, uv1), tex2D(_MainTex, uv2), 0.5); fixed4 col2 = lerp(tex2D(_MainTex, uv3), tex2D(_MainTex, uv4), 0.5); return lerp(col1, col2, 0.5); } void surf (Input IN, inout SurfaceOutput o) { //fixed4 col = tex2D(_MainTex, IN.uv_MainTex); float2 ts = float2(1.0 / 512.0, 1.0 / 512.0); float2 uv1 = IN.uv_MainTex; float2 uv2 = float2(uv1.x+ts.x, uv1.y); float2 uv3 = float2(uv1.x, uv1.y+ts.y); float2 uv4 = float2(uv1.x+ts.x, uv1.y+ts.y); fixed4 t1 = calculate_smooth(ts, uv1); fixed4 t2 = calculate_smooth(ts, uv2); fixed4 t3 = calculate_smooth(ts, uv3); fixed4 t4 = calculate_smooth(ts, uv4); fixed4 col1 = lerp(t1, t2, 0.5); fixed4 col2 = lerp(t3, t4, 0.5); fixed4 col = lerp(col1, col2, 0.5) * IN.color; clip(col.a - _Cutoff); o.Albedo = col.rgb; o.Alpha = col.a; }
>>566853> как называется этот алгоритм, что можно почитать по темеАнтиалиасинг, алгоритмов дохуя.Гугли unity postprocessing, там ТАА сразу модно повесить.> реализовал свой, но он хуевый.> fixed4 calculate_smooth(float2 ts, float2 uv) {> float2 uv1 = uv;> float2 uv2 = float2(uv1.x+ts.x, uv1.y);> float2 uv3 = float2(uv1.x, uv1.y+ts.y);> float2 uv4 = float2(uv1.x+ts.x, uv1.y+ts.y);> fixed4 col1 = lerp(tex2D(_MainTex, uv1), tex2D(_MainTex, uv2), 0.5);> fixed4 col2 = lerp(tex2D(_MainTex, uv3), tex2D(_MainTex, uv4), 0.5);> return lerp(col1, col2, 0.5);> }> void surf (Input IN, inout SurfaceOutput o) {> //fixed4 col = tex2D(_MainTex, IN.uv_MainTex);> float2 ts = float2(1.0 / 512.0, 1.0 / 512.0);> float2 uv1 = IN.uv_MainTex;> float2 uv2 = float2(uv1.x+ts.x, uv1.y);> float2 uv3 = float2(uv1.x, uv1.y+ts.y);> float2 uv4 = float2(uv1.x+ts.x, uv1.y+ts.y);> fixed4 t1 = calculate_smooth(ts, uv1);> fixed4 t2 = calculate_smooth(ts, uv2);> fixed4 t3 = calculate_smooth(ts, uv3);> fixed4 t4 = calculate_smooth(ts, uv4);> fixed4 col1 = lerp(t1, t2, 0.5);> fixed4 col2 = lerp(t3, t4, 0.5);> fixed4 col = lerp(col1, col2, 0.5) * IN.color;> clip(col.a - _Cutoff);> o.Albedo = col.rgb;> o.Alpha = col.a;> }Жесть
>>566854>unity postprocessingспасибо, все никак в юньке найти это не мог. оказалось проще чем я думал.
Как можно проверить столкновения до запуска физики в реалтайме? У меня есть два объекта(немного сложной формы, не просто кубы) и один надо разместить максимально вплотную к другому.Пока что в голову приходит только двумя рейкастами определять на какое расстояние объект надо подвинуть.
>>566952что за привычка у людей не давать полный контекст. нет бы сказать "у меня объект формы такой, у меня объект формы другой, такие кондиции, для этих целей". какой совет хочешь то? может просто баунды проверишь? или это?https://docs.unity3d.com/ScriptReference/Physics.ClosestPoint.htmlа может это?https://docs.unity3d.com/ScriptReference/Physics.CheckBox.html
>>566956> "у меня объект формы такой, у меня объект формы другой, такие кондиции, для этих целей".Суть в том что я сам не знаю заранее его форму, так как он генерируется.> может просто баунды проверишь? или это?> https://docs.unity3d.com/ScriptReference/Physics.ClosestPoint.html> а может это?> https://docs.unity3d.com/ScriptReference/Physics.CheckBox.htmlДа, спасибо, это пригодится.В идеале я хотел именно тест на пересечение - дано два коллизион меша и мне надо понять пересекаются ли они или нет. Но наверное и этого хватит.
Если я создам геймобжект в другом потоке - он же не заспавнится, правильно?А если я создам его в другом потоке, а потом сделаю Instantiate в основном?
>>566960API юнити можно использовать только в основном потоке. Без юзания функций юнити делай что хочешь в любых потоках.
>>566959>Суть в том что я сам не знаю заранее его форму, так как он генерируется.ну так хотябы примерные правила генерации бы описал. а то хуй даже знает. если объект конвексный, то ответ один, если нет то другой.>В идеале я хотел именно тест на пересечение - дано два коллизион меша и мне надо понять пересекаются ли они или нет. Но наверное и этого хватит. ну, проверить пересечения треугольников не так и сложно. можешь заимлементить его своими силами.>>566960ты не можешь создать геймобжект в другом потоке. API юнити тебя пошлет нахуй. но ты можешь переслать информацию о том что создать в основном потоке и создать уже так, разумеется.
Смотрите, есть предположим пикрил.Слева - ну какое-то множество треугольников - фигура 1, справа ещё одно - фигура 2. Мне надо разместить(не руками, а алгоритмом, конечно) фигуру 2 внутри фигуры 1, чтобы получилось типа того что на пике 2(ну или сообщить что это невозможно). Как это лучше сделать?Причём меня интересуют два варианта:1. Если фигуру 2 нельзя вращать2. Если фигуру 2 можно вращать
Какие есть годные туториалы о том как не по мудацки сделать инвентарь/статус скрин персонажа?У меня мозг немного поплыл когда начал представлять как с другого окна взаимодействовать
>>566976если честно то ты довольно сложные вопросы задаешь. мне довольно интересно что ты там такое творишь.в целом наверно для обоих вариантов можно позаимствовать некоторые идеи о best fit rectangleможно последовательно протестировать границы, предположив что они имеют одну общую сторонуhttp://www.datagenetics.com/blog/march12014/index.htmlно они будут валидны только если одна из фигур конвексная. если не вращать то хуй знает. наверно можно предположить что фигура 2 находится на одном из вертексов фигуры 1 и толкать пересечениями с другими сторонами вдоль касаемой стороны. и протестировать все комбинации сторон и вертексов. но чето это выглядит как очень плохое решение.>>566977лол уж этого говна то на ютубе наверняка навалом
>>566976наверно типа такого можно. например есть синяя фигура и красная. можно например выбрать какой-то вертекс, какой-то стороны. и начать проверять стороны. если фигура пересекается со стороной то двигать фигуру вдоль касаемой вертекса стороны. и так последовательно проверять все второны и сохранять разветления. но это чето выглядит пиздец как не эффективно.>>566982ну так то да. поэтому смотри сразу несколько.
>>566976а, а наверно ещё можно сделать типа суммы минковского. только вместо круга взять форму 2. типа такого, только вместо наружи рисовать вовнутрь.
>>566976>>566992после медитации в потолок. да, наверно это лучшее решение. вообще можно побрутфорсить даже. например как вариация суммы минковского можно растеризовать фигуру 1 и 2, выбрать какой-то абстрактный центр фигуры 2, двигать вдоль границ фигуры 1 центр фигуры 2, вычитать из пикселей фигуры 1 пиксели фигуры 2. оставишиеся пиксели это то куда влезет фигура 2. по сути то-же самое я делаю для навмеша, только для фигуры в форме круга.сделать то-же самое делая ротацию фигуры 2 этак по 5 градусов пока не сделает полный оборот. почти нихуя не требует и можно распаралелить хорошо. можно даже на откуп гпу отдать.
>>566981>мне довольно интересно что ты там такое творишь.Я делаю процедурную генерацию карты(на пик пока не смотри, это не то, об этом дальше).Пока что я чётко продумал что это должно происходить в несколько этапов, вкратце: первоначальная разметка - довольно грубо разбивает карту на сектора и ставит на их границах "коннекторы"(могут быть разных типов - ничего, большая дверь, маленькая дверь и т.п.), детализация разметки - она должна учесть где находятся так называемые коннекторы и сгенерировать ещё одну разметку внутри себя - уже с заданием конкретных типов комнат(коридор - это тоже комната), и дальше каждая комната в зависимости от её типа и того где и как к чему она подсоединяется она собственно доделывается - для неё строится модель и она наполняется контентом.Так вот, сейчас я пока что всё делаю трёхмерными AABB "комнатами"(сначала сектора - это случайное размещение AABB комнат, и всё что внутри генерируется - тоже из них состоит). С ними легко работать, производительность почти любых операций(поиск пресечений, объединение если возможно) над ними отличная.И тут есть две вещи которые меня напрягают.Первая - с таким подходом кажется карта будет не очень интересной(хотя я поизучал карты в alien isolation и doom 3 - это игры на которые я и ориентируюсь, а ещё много разных примеров генераций и "unity sci fi map" - вроде и так должно быть нормально, тем более что внутри каждой такой AABB команты я смогу легко хоть углы гладкие сделать, хоть вообще любой формы комнату собрать - главное ведь чтобы она влезла).Вторая - я сейчас вплотню подошёл к наполнению комнат(основа более ранних этапов уже почти готова, там по сути уже просто делать новые алгоритмы генерации остаётся и подобрать для каждой зоны подходящие) и тут вытекающее из первого - раз уж структура комнат AABB, значит внутри них надо сделать что-то интереснее - какие-нибудь колонны, дополнительные стенки(не параллельные осям координат, а ещё и под углом не 90 градусов и даже круглые), выступы(в некоторых случаях), подъёмы(типа разный уровень пола) и т.д. И более того - надо на этом ещё и разместить контент всякий. Понятно что я могу сделать какие-нибудь воксели в том числе с довольно большой плотностью - просто чтобы внутреннее устройство комнаты проработать. Но комнат будет много и я не уверен что это вообще удобно и эффективно будет и даст лучший результат.Зато если сделать всё из треугольников - то по итогу у комнаты будет форма при виде сверху будет например как у той фигуры 1, и тогда что-то ещё необычной формы(фигура 2, пусть будет она конвексная - хотя бы так) надо будет думать уже как правильно размещать и если элемент заведомо большой - то как-то сложна, просто так бездумно вдоль границ его тащить не очень действенно будет наверное.Ну и да - вот эту часть, внутреннюю проработку комнат я ещё не начал делать(разве что для сборки модели всё что надо есть), поэтому хорошо бы сразу продумать что примерно я смогу реализовать чтобы это не занимало несколько минут расчётов и если такой подход не зайдёт - что-нибудь попроще подумаю.Кстати сайт вроде 10\10, ща пойду искать там ещё интересные идеи.>>566985Да, я думал о чём-то таком.>>566992Вот это кстати даже если не поможет - интересная вещь, может найду ей ещё какое-то применение.
>>567022лол ну придумал. упоротся вместо вокселей геометрией. тут только удачи пожелать можно. на самом деле я конечно советовал бы представлять комнату как воксели, если хочется охуевшие углы то лучше просто отделять комнаты друг от друга. чтобы у разных участков были просто разные кординатные оси, но все они представлялись как грид. что-то вроде грида в Cities Skylines, который следует за дорогой но сама дорога то ветляет. минусы геометрии конечно заключаются в том что к ней сложно применять алгоритмы расчитанные на грид. а всякая хуйня вроде клеточного автомата в рандомной генерации довольно сильно помогает.>Кстати сайт вроде 10\10, ща пойду искать там ещё интересные идеи.да, он довольно хороший. хотя конечно он не так глубоко как хочется рассматривает всякую интересную хуйню из теории графов которая тебе сейчас бы пригодилась. ещё наверно посоветую это почитать https://catlikecoding.com/unity/tutorials/marching-squares-2/ про шагающие квадраты. можно представлять комнаты как воксели, просто сделать так чтобы воксели имели нормали. и таким образом добиватся более комплексной формы.>Вот это кстати даже если не поможет - интересная вещь, может найду ей ещё какое-то применение. сумма минковского довольно хорошо развита если искать всю хуйню связанную с обходом препятствий. так как там надо генерировать какую-то форму вокруг объекта в форме агента и избегать эту форму. в принцыпе это же можно делать и для того что ты хочешь, то там конечно придется для проверки отражать форму по XY осям и её вычитать уже.ещё наверно надо посоветовать тебе почитать алгоритмы бинарных операций с полигонами https://en.wikipedia.org/wiki/Boolean_operations_on_polygonsв частности алгоритм Sutherland–Hodgman будет тебе наиболее полезен.
>>567028>лол ну придумал. упоротся вместо вокселей геометрией.Ну типа это исключительно создания более интересного вида комнаты изнутри, чтобы убрать ощущение что тут всё по сетке сделано. В контексте этой задачи воксели меня отпугивают тем, что если комната скажем очень большая например 100х100х8(пусть будет это метры) то куча элементов массива вокселей будут бестолку там лежать и мешать скорости алгоритмов.Бля, что-то появилось желание пере
>>567035>то куча элементов массива вокселей будут бестолку там лежать и мешать скорости алгоритмов.так то да, но опять же это вопрос способа хранения. всегда можно мерджить одинаковую информацию в один большой воксель. например опять же как это у меня сделано в навмеше - у меня воксель просто имеет min-max значения. и все воксели хранятся используя всего 2 массива. а на этапе комбинации и вовсе 1. плюс всегда можно для разных операций подгатавливать какие-то маски. типа маску свободного пространства, например. и вместо перебирания всего воксельного пиздеца перебирать удобную информацию.
>>567035Э, пост отправился.Короче появилось желание саму структуру разметки карты как на верхнем уровне так и на локальном перевести в воксели с разными уровнями детализации из моих текущих ААВВ комнат - так мне в будущем возможно не придётся изъёбываться внутри каждой отдельной комнаты для получения например диагонального коридора, а я сразу смогу диагональную команту сделать. И к тому же так можно будет больше алгоритмов реализовать - но они будут правда помедленнее, потому что сейчас например комнаты 4х4х2 и 100х100х10 это всего лишь 2 вершины графа и для описания каждой из них надо всего лишь две точки в пространстве. А на воксельной карте тут для должной детализации пришлось бы кучу вокселей делать. А если комнат больше сотни - как-то много получается. Надо подумать.>ещё наверно посоветую это почитать https://catlikecoding.com/unity/tutorials/marching-squares-2/ про шагающие квадраты. можно представлять комнаты как воксели, просто сделать так чтобы воксели имели нормали. и таким образом добиватся более комплексной формы.Спасибо, посмотрю.>ещё наверно надо посоветовать тебе почитать алгоритмы бинарных операций с полигонами https://en.wikipedia.org/wiki/Boolean_operations_on_polygonsКстати я скачал ассет для таких вот операций и даже немного его доработал что работал больше чем в одном потоке, но я его планирую использовать для построения мешей - уже после того как всё сгенерировано и осталось только построить всё на основе этого.
>>567038>например опять же как это у меня сделано в навмеше - у меня воксель просто имеет min-max значения. и все воксели хранятся используя всего 2 массива.Ну кстати да, но если так хитро делать то не будет мгновенного произвольного доступа по координатам. А хотя с другой стороны может он и не очень-то нужен будет... А вообще даже если нужен - можно заебашить октри какое-нибудь чтобы ну хотя бы не очень долго это было. Лан, похоже правда лучше пока не поздно в воксели перекатить всё это дело.
Mono develop стоит того чтобы ее конпелять для win7? почитал на гитхабе про то шо нет бинарников, рофлят про то шо это проделки миркософта, чтобы вижуал студио юзали
>>567042Monodevelop - это blender в мире опен сурс IDE. Небольшая команда создала отличную и производительную IDE не уступающую по функционалу топовым продуктам, и уж точно превосходящее всякое тормозное java-говно типа rider.Проблема в том, что C# не самый востребованный язык, так еще microsoft решили слить эту ide.
>>567042Алсо, в любом случае отладки не будет. Поэтому смысла сейчас использовать monodevelop с юнити нет.
>>567039>4х4х2 и 100х100х10 это всего лишь 2 вершины графа и для описания каждой из них надо всего лишь две точки в пространстве.я даже не знаю что ты там такое экономишь лол. если тебе надо в высоту ещё информацию делать то ты кстати можешь делать расширяемый слой вокселей. чтобы например у тебя было что-то вроде struct MyData<T>{public int nextData;public T someData}и хранить в массиве MyData[] dataи допустим в гриде 10 на 10 первые 100 индексов зарезервированы под первый слой. допустим у них если нет информации то nextData = -2. а если там есть дата то -1. а если там есть дата и за ней ещё дата, то там индекс следующей даты которая размещена после первых 100 индексов. и если достиг лимитов массива то просто расширяешь его. ну и периодически можно этот массив переводить в более удобную сортированную информацию. таким образом можно поэкономить память и иметь скейлящийся в высоту грид.>Ну кстати да, но если так хитро делать то не будет мгновенного произвольного доступа по координатам.да ладно, просто всё то надо это прочитать весь столбец в этом случае. например у меня воксели хранятся примерно вышеописанным методом. но чтобы вместо рандомного доступа был линейный когда я читаю столбец я перевожу всю информацию в два массива на этапе когда требуется только чтение.где используя аналогичный пример всего лишь 100 индексов. и там содержится int startint lengthи другой массив где значения выравнены по столбцам. и столбцы содержат информацию где она начинается в соседнем массиве и сколько там её расположено.хотя вообще че я распинываюсь. у меня где-то был класс который примерно это делает https://pastebin.com/0EyTyCeU на, почитай. там правда с пуллами, но думаю понятно что они примерно делают. ну и написано так себе. почитай GetOptimizedData и SetOptimizedData
>>567041вообще, если ты делаешь закрытые комнаты то с вокселями это даже проще. у меня например воксели содержат информацию о внешней оболочке обьекта. а если у тебя подземелья, то тебе можно наоборот - внутренней информации. вместо min max иметь информацию типа floor, celling и иметь карту пустот.
>>567047Ладно, тогда шо юзают с юнити, я хейтер visual studio, подскажи. Тип в книге unity in action автор советует, если выбора ниет придется vs брать хуль
>>567051лол что за говно в твоей голове. блокнот (и вариации) используй если VS не нравится. я сидел с монодевелопом он пиздец. ебучие хоткеи работают только в английской раскладке. что за хуйня. где мой сплитскрин. как мне писать код без двух мониоров. ну нахуй, лучше с VS сидеть.
>>567052Ладна не пепикай, буду в notepad сидеть, уже лучше чем visual_диплодок на несколько гб качать
>>567058> Ладна не пепикай, буду в notepad сидеть, уже лучше чем visual_диплодок на несколько гб качатьОн того стоит.
>>567078>тормозноеУ тебя ай3 чтоб в красивой коробочке? Я вот не знаю ни одной IDE, которая может тормозить на минимальном пека игродела. Хотя райдер свой законный гб памяти из-за JVM отжирает, да. Лично я на VS видел фризы, на райдере - нет. IO на райдере просто мгновенное. По сравнению с VS CODE - как будто из Эстонии в Японию переехал.>VS CodeА, так это ты, Игорян? Ещё бы Notepad++ предложил.
>>567083>Хотя райдер свой законный гб памяти из-за JVM отжирает, да.>IO на райдере просто мгновенноеСотрудник jetbrains, залогиньтесь
>>567083>вот не знаю ни одной IDE, которая может тормозить на минимальном пека игродела. intellij idea и платные аддоны к ней тормозят даже на топовых меках
Анон, помоги оценить, не наебнется ли все.Экономический симулятор, есть, допустим, 100 магазинов.По каждому я делаю класс для хранения информации о текущем состоянии, который будет использоваться для дальнейшего сохранения.Хочется сохранять информацию о общей сумме продаж и затратах за каждый из дней. Планирую все хранить в List<int>. Иными словами будет 100 магазинов у каждого из которых есть 3-4 List<int>, которые хранятся в памяти. Скажите, это для современных пекарней же ерунда и лучше даже не заморачиваться о производительности?
>>567114собственно, откуда мы можем знать как часто ты будешь обращаться ко всему этому и какие операции будешь производить? в ХРАНЕНИИ этого - никаких проблем.а вообще пиши код так чтобы все это можно было потом поменять без лишних проблем на что-то получше. то есть пользуйся инкапсуляцией.
>>564423Я перекатился. Охуеваю от скупости документации и примеров, донимаю народ в годот-треде теперь глупыми вопросами. Хотя выглядит неплохо (примерно так же). Особенно порадовало, что под винду тебе не надо качать гигабайты. Ну и MIT лицензия. на этом, кажется, плюсы заканчиваются. КОроче, кактус придётся жрать в любом случае. Просто будет отличаться цвет колючек.
>>565189Могли перегореть. У меня так сессионка есть. На юнити клиентская часть уже готова (конкретно, сама игровая сцена - меню и переходы надо допилить, + модели нормальные вместо заглушек (т.е. визуал)). Но вот потратил на логику на серверной части раза в 3 больше уже, а там конца и края не видно, пока отложил в дальний ящик. Иначе перегорю - для первой игры это слишком круто. Я не потяну с нынешним количеством времени. Перекатился, делаю сейчас нечто сильно проще (однопользовательское) с, надеюсь, оригинальной механикой и идеей. Посмотрим, что получится.
>>567126>не надо качать гигабайтыЕмнип через инсталлер юнити с билдом под винду меньше гига надо качать. В любом случае поздравляю тебя с тем что ты решил бросить гейдев, хоть и таким странным способом.
>>567087Работал на идее несколько лет на картофельном fx6100 с 8 гб ОЗУ, и что-то я не помню тормозов. Неужто за три года они смогли это исправить?
Как блять дрочиться с шейдорами? Шейдорграф ниножон.Вот хочешь сделать хуйню. Хуй знает, как. Гуглишь - нихуя нет.Ищешь туторы. Все туторы "часть 1 - как покрасить объект сплошным цветом без учета освещения". Последующие части отсутствуют.
>>567197на самом деле это пиздец какое сакральное знание которое надо собирать по кусочкам. почитай тутhttps://docs.unity3d.com/Manual/ShadersOverview.htmlдокументация умеренно полезная и содержит примеры.ещё этот хрен часто шейдоры пишет и фокусы показывает иногда клёвыеhttps://www.youtube.com/channel/UCJKLCjeujQj-d3JjsbVtkJw
>>567183Но я как раз один из тех кто делает игры. А то если игры не делать то в срачах не получается убедительно срать.
>>567197>Ищешь туторыВот тут-то и обосрался. Надо не туторы смотреть, а получать фундаментальные знанияhttps://thebookofshaders.com/http://developer.download.nvidia.com/CgTutorial/cg_tutorial_chapter01.html
>>567203>>567209Сяп, гляну потом> обосралсяМне не всралось изучать ВСЁ. Мне нужно-то два шейдора было. Для декалей и для стекла. Один наковырял. Еще один никак.
>>567203В какой раз прихожу к тому, что о геймдеве и движках ютьюб знает больше, чем гугл. Внезапно, но с вопросами начал ходить именно туда, а не в поисковики.
Девелопаны, я ведь не один это ощущаю, иногда кажется, что ты делаешь какую-то поебень, и никто в жизни никогда не будет в неё играть, даже не смотря на то, что друзья говорят, что это вроде бы неплохой концепт?Это нормально наверное... Недостаток уверенности такой... Просто надо продолжать и будь что будет. День за днем потихоньку идти к релизу.
>>567356зачем ты её делаешь тогда, если уверенности нет.вот у меня железная уверенность в своём основном проекте, но только потому что он нацелен на очень конкретную аудиторию. лично я в свое говно определенно играть бы стал.но хули, поделись че ты там делаешь. тут же полно диванных геймдизайнеров, вместе и решим поебень или нет.
>>567356>Девелопаны, я ведь не один это ощущаю, иногда кажется, что ты делаешь какую-то поебень, и никто в жизни никогда не будет в неё игратьА ты игры делай для себя, если тебе понравится игра то другим тем более.
>>567356Нет, с продвижением разработки ты должен получать все больше положительных отзывов. А так скорее всего действительно говно пилишь как даун.
Почему юнтипидары такие конченные? Там новости какие-то постят, ролики ахуенные, тут тухлота, только верещание.Как вам музычка?https://twitter.com/unity3d/status/1107820018962698240
Ну вот юнити и начало пилить свой физический движок, а пердели на велосипедиста хуана.https://twitter.com/LotteMakesStuff/status/1107878191702650881
>>567448>а пердели на велосипедиста хуана.А зачем ты сравниваешь частную компанию с миллиардными доходами и проприетарным софтом и 2.5 любителей пилящих опен сурс проект?
>>567454Начал съезжать, пидарасина, то там библиотеки супироптимизированные и лучше не сделаешь, велосипеды нинужны, а тут оказывается нужны, да побольше.
>>567455Да мне в общем-то все равно что там юнити делают. Они могут позволить себе все что угодно.>то там библиотеки супироптимизированные и лучше не сделаешьРечь была вообще не о том, а о принципах опен сурс разработки. О том, что нужно не свои велосипеды писать с нуля, а брать и контрибутить в другие проекты. Именно в этом потенциальное преимущество опен сурса - в распределенном решении проблем.У Хуана же типичная философия разработки проприетарного софта. Вот в этом была суть критики, что он пиарится за счет опен сурса, но сам не следует его философии.
>>567458Например, если бы Хуан взял bgfx для рендеринга, то внезапно бы оказалось, что в разработке годота участвуют не только Хуан и команда, но также и все коммюнити bgfx! Потому что все, что делалось бы для bgfx автоматически делалось бы и для годота.Понятна суть?
>>567458Так нахуя по-твоему юнити свой велосипед пишут? Ну может есть какой-то смысл в них, а не просто дурак хуан велосипедист?
>>567463>Ну может есть какой-то смысл в нихДля Хуана - точно нет.Юнити могут делать что угодно, потому что у них есть для этого ресурсы. У них таких экспериментальных разарботок не один десяток. И они могут дропнуть их в любой момент без сожалений. Для юнити это просто эксперимент сделать физический движок на их ECS.Хуан свой обосранный рендер 3 года пилит в одиночку и винит во всем драйверы нвидиа. У Хуана нет таких ресурсов, чтобы пилить велосипеды для забавы.Это разный уровень. Нельзя их сранивать
>>567465Не преуменьшай значение, юнитипидрила, это большие деньги, никто там ради забавы не ведет разработку, это серьезный бизнес и у них есть очень серьезный конкурент. Пилят, значит суперпрофи видят в этом смысл
>>567469Да это скорее ты преувеличиваешь значение. Для таких компаний как юнити это ничто. У них там десятки дармоедов на зарплате без дела сидят.
>>567479>>567474Бля, ну да, если так посмотреть на финансы, вообще хуй знает что там происходит. Один журналист писал, что дирик юнити ему сказал, что за год заработали 300кк. Край за 70 купили, сколько интересно у них на разработку уходит.
>>567422>Как вам музычка?Вот просто того кто дал добро на эту музыку в роликах сразу казнить надо, это же пиздец
>>567481>сколько интересно у них на разработку уходитСамый маленький процент наверное. На конференции больше тратят.
Всем привет!Хочу сделать анимацию поворота игрового объекта с 4мя шагами по 90 градусов.Есть ли в Unity простой способ через Animation сделать так, чтобы проигрывалась одна и та же анимация поворота на 90 градусов, но с учетом измененных значений в Rotation компонента Transform? То есть чтобы анимация поворота только прибавляла к текущему значению оси значения, а не брала кейфрейм первого кадра, возвращала ротацию объекта как в первом кейфрейме и заново воспроизводила тот же самый поворот, без учета того, что такой поворот уже был?
>>567490игродел мышкой что-ли? анимации же используют локальные координаты, можешь сунуть крутящийся геймобжект в другой геймобжект и крутить второй крутя первый.
>>567491То есть Unity из под коробки посредством Animator'а такое делать не умеет?https://unity3d.com/ru/learn/tutorials/topics/scripting/simple-clockЧтобы начальный кейфрейм мог быть динамическим по анимируемым значениям: Curve -> Keyframe0: Transform.Rotation.Z = Current;
>>567496да как бы аниматор он же анимации воспроизводит, а не скриптовый язык чтобы референсить хуй пойми какие значения.хочешь ротации складывать - пользуйся кодом.
>>567500Можно какой-нибудь простой гайд по квантерионам? Я так понимаю, без них никак Открываю "квантерионы простыми словами", там с самого начала какой-то пиздец с разложением матриц и коэффициентами Матрицы-то ладно, умножать несложно — знания первого курса ещё живы на пятом. Но хотелось бы, чтобы было не два листа теории с переворотами, а пошаговое объяснение что к чему
>>567499>>567500Вроде междуCurve -> KeyFrame0: Rotation.Z = 0FCurve -> KeyFrame1: Rotation.Z = 90FИCurve -> KeyFrame0: Rotation.Z = OnAnimationBeginValue + 0FCurve -> KeyFrame1: Rotation.Z = OnAnimationBeginValue + 90Fразницы существенной нет.Странно, что второй вариант не реализован, ну или не доступен через редактор непосредственно. Было бы здорово...
>>567502по моему тебе надо просто пройтись по документации и посмотреть чё там есть полезного.https://docs.unity3d.com/ScriptReference/Quaternion.htmlтам не так и много всего.и внимательно прочитать:>You can use the Quaternion.operator * to rotate one rotation by another, or to rotate a vector by a rotation.ну и помнить что кватернион это ротация и что порядок применения ротаций важен.>>567504на самом деле какая-то хуйня. я не представляю зачем плодить сущьности и делать лапшу из значений, когда можно просто воспользоваться двумя геймобжектами.
>>567502>Открываю "квантерионы простыми словами"Зачем ты это открываешь? Все, что тебе нужно знать о кватернионах - это значение, в котором хранится вращение. Все.Ты же не открываешь "float простыми словами" чтобы понять как процессор умножает вещественные числа.
>>567509ну блять. кватернион он хуяк крутит, да? крутит круто с учетом того где верх а где низ. из одного поворота в другой. ты такой кубик налево повернул и говориш "хочу кубик повернуть направо". вращаешь кубик слева направо, а он хопа и больше не повернут. потому что лево + право = вперёд. круто, да?
>>567506>>567508Кажется, дошло Блин, действительно общение с людьми работает лучше, чем затворничество с мануалами когда дело касается трудностей
>>567514Обычно, чтобы с кватернионами не заморачиваться, в коде проще переводить в эйлеры, менять как надо, используя доходчивые градусы по осям, и потом возвращать обратно.
>>567517не соглашусь. манипуляции quaternion > euler + euler > quaternion обычно ужасная срань. все промежуточные ротации лучше иметь заранее подготовленными. и следует делать операции вида quaternion + (euler > quaternion) чтобы повернуть одну хуйню в другую на какой-то эйлер.
>>567517А зачем тебе с ними возиться. Все что тебе надо, это знать как объявить переменную с вращением. В юнити там для этого много конструкторов на все случаи жизни.Тут скорее фундаментальная проблема с пониманием вращения как свойства объекта.
>>567526То есть тебе, например, проще представить в голове или на бумаге описать математически вращение объекта именно кватернионами?
>>567530как в примере >>567511 право - кватернион, лево - кватернион, сальтуха черз ухо - другой кватернион. поворот обьекта в пространстве выраженный переменной - это замечательно. действие описанное переменной! ух!
>>567517>чтобы с кватернионами не заморачиваться, в коде проще переводить в эйлеры, менять как надо, используя доходчивые градусы по осям, и потом возвращать обратноhttps://www.youtube.com/watch?v=IVZ2qxmUMMk
>>567530Ты ебанутый? Все что тебе надо знать - это ось вокруг которой ты собрался вращать и угол. Кватернионы, еулеры - это кодировка вращения, которая тебя как погромиста на юнити не должна волновать вообще.
Как сделать несколько слоев физики на один объект?У меня чувачек на пике, у него части ног и рук составные и соединены джоинтами. Из-за того что часть ноги составная настройка пик 2 не работает, то есть ляжка и голень сталкиваются друг с другом. Я не хочу всему телу сразу ставить один слой, мне надо чтоб левая нога сталкивалась с правой. Делать просто слой для каждой отдельной части тоже не хочу, потому что таких тел в игре будет несколько и если один решил пнуть коленом в ляжку врага, то из-за слоя голень пролетит сквозь ляжку. Тут как раз можно было бы еще один слой для врага сделать, но я хз как.
>>567537а ты разве не это хочешь?https://docs.unity3d.com/Manual/class-ConfigurableJoint.html>Enable Collision
>>567537ладно, кружка кофе помогла. приношу извинения за флуд.что у тебя понимается под "составная"? юнити же игнорит чайлдов у болтающегося RB.
>>567543>составнаяОбжект с ригидом и джоинтом без коллайдера, его ребенок это сам коллайдер (без такой структуры моча и говно). Настройка джоинта видать не работает на ребенка. Вот я хочу чтоб они и не сталкивались между собой, но сталкивались с такими же конечностями от другого тела.
>>567568она не работает если он сам rigidbody, вроде. сама то настройка отлично работает. может просто не будешь иерархию творить? или просто сделаешь скрипт "убрать иерархию на старте"?
>>567571Убрать иерархию не вариант, для джоинта нужен кватернион, функция кватериниона поворачивает объект стрелкой з вперед. У капсулы з торчит с боку, я использую обжект чтоб повернуть капсулу. Попробуй щас из капсулы убрать коллайдер, оставить джоинт и ригид. А кубику наоборот оставить только коллайдер. Чекнем, может я что-то намутил
>>567573но это ничего не поменяет. важно только то какие коллайдеры являются чайлдами у RB, а какие у RB в более низкой иерархии. вон переместил джойнт на саму капсулу, убрал у капсулы всё, разумеется ничего не поменяется.нахуй тебе иерархия для магии кватерниона всё равно непонятно.
>>567574>>567573по факту ничего не поменяется даже если джойнт является потомком того к чему прикреплён. разве что не будет дрыгатся, если дрыгать вышестоящий обьект. но так-же не будет с ним коллайдится. хотя в этом случае можно наблюдать забавную магию трансформации коллайдеров, потому как у квадратика сверху скейл 3, 1, 3
Два скрипта разрослось уже на 3к строк,а добавлять туда еще много чего надо, часть выбросил в партиал, в общем такой вопрос, как прыгать между функциями быстро, можно ли определенную функцию закрепить\открепить к бинду, или просто зажать допустим альт и крутить колесом, и на каждый евент прокрути колеса в фокус будет братся следующая функция, чтоб таким образом можно быо быстро проскролить в нужное место без напряга?
https://www.jetbrains.com/dotnet/promo/unity/?utm_source=reddit&utm_medium=cpc&utm_campaign=rider&utm_content=unity_card
>>567504Всё, нашел.Кому надо, чтобы анимация учитывала новое, динамически изменяемое состояние объекта и его параметры - изучать Root Motion. Самое оно. Без костылей и колёс.
>>567619может просто называть функции так чтобы их можно было найти максимум по 3 первым символам? что ты там такое хуячишь что аж на 3к строк?
>>567702файл в котором больше 100-200 строк - это детектор кодомакаки и признак неумения в архитектуру. файлы 1к строк и больше это уже диагноз.
>>567714лично у меня в проекте нет ни одного файла больше 150 строк, это учитывая пустые строки для форматирования и комментарии
>>567714>файл в котором больше 100-200 строк - это детектор кодомакаки и признак неумения в архитектуру. файлы 1к строк и больше это уже диагноз.В демках юнити, где там телка бегала кракозябриков мочила у нее контроллер 800 или даже больше 1к строк, юнитипидары опять признали, что юнитиговно говно.
>>567727У меня нет понятий про размер файлов больше 100 строк, это по понятиям юнитидолбоеба юнитиговно.
>>567739Это понятия хорошего кода. Причем тут юнити.Большие файлы это бардак, который невозможно ни прочитать, ни отрефакторить, ни изменить. Это явный code smell и признак отсутствия архитектуры. Что такое вообще большой файл? Это длинные методы и большое количество методов в классах. Общепризнанные антипаттерны.Вместо разбития задачи на подзадачи, говнокодер хуярит все в один огромный файл.
>>567744Кстати да, плюсану. Я думаю это все знают, код должен быть легко масштабируемым и легкочитаемым. А так, когда у тебя гигантский скрипт как ты там разбираться будешь, как менять, сколько головняка. Или сравни, когда у тебя много разных маленьких скриптиков и каждый отвечает за свою задачку маленькую, грубо говоря.
>>559898у меня следующая задача - нужно сделать 2д человечка который будет анимироваться по всякому и чтобы ему можно было менять руки/ноги. можно ли это сделать с человечком который заанимирован через кости в skinning editor?
>>567744аутист если для класса надо реализовать пару дсятков методов ты их по разным файлам раскидаешь?
>>567774>ля класса надо реализовать пару дсятков методовhttps://en.m.wikipedia.org/wiki/Single_responsibility_principle
>>567853>синг респонсабилит принсипл)>паттернс)>код смелл)>антипаттерны)>смузи)>акичектю)>абстракт прокси фактори бим)>ПАЦАНЫ ПОДСКОЖЫТЕ КАК СДЕЛОТЬ ЧТОБЫ ВРАГ АТАКОВАЛ ИГРОКА ТОЛЬКО КОГДА ОН СПЕРЕДИ
>>567714Искал я как то исходник biginteger'а и че ты думаешь? Там 2,5к строк, зато каждый метод за любую херню расписан. Давай перни еще что это кодомакаки написали.
>>567857У тебя 2 пути: или выучить это все начать программировать игры. Или до конца жизни сидеть в юнититреде и задавать тупые вопросы.Выбор за тобой.То, что ты критикуешь - это многолетний опыт наступания на грабли и выроботанные лучшие практики. У тебя просто нет столько времени в жизни, чтобы самому наступить на все грабли и на личном горьком опыте выучить это все. Поэтому заткнись и иди читай книжки по программированию. Их не для лулзов пишут.
>>567860Классы стандартной библиотеки - это исключения. Это базовые строительные блоки любой программы, поэтому их делают универсальными как швейцарский нож, чтобы пользователи не писали это все сами.
>>567866А значит все остальное не надо делать универсальным и даже если что-то нереализованное понадобилось - костылить на месте(в другом файле), я понял.
>>567868Все остальное нужно наоборот делать специализированным. Лучше 10 компоненот делающих простые вещи, чем один супер компонент делающий все сразу
>>567870Функционал можно добавить. Простые компоненты можно повторно использовать в другом контексте. А вот код из суперкомпонента в другом контексте не используешь, поэтому единственный способ использовать код из универсального компонента - это добавить в него еще функций и сделать его еще больше, сложнее и универсальнее.Такой замкнутый цикл говнокода.
>>567871сорян но игры это не только код "если нажал кнопку - иди вперёд". если дробить функционал на микрохуйню то рано или поздно потребуется либо менеджер, который всем этим управляет и уже он станет супер-классом. либо это всё превратится в спагетти из ссылок.единственное разумное требование к коду это чтобы если ты похерил это - не сломалось все остальное.
>>567869ало чел очнись в юнити разрешено писать не только компоненты которые ты будешь вешать на геймобжекты
Не работали демки с визэффектами, и вообще пэкиджминаджер не работал, не мог загрузить файлы. Сейчас накатил последний выпуск, пофиксилиПроигрываю с видосов этого типаhttps://www.reddit.com/r/Unity3D/comments/b3h2mn/work_in_progress/
>>567897Да и хуй с ним. Кому нужен terrain. Лучше сразу 3 физических движка добавить! Вот это нужная фича.
https://answers.unity.com/questions/32990/how-to-settransform-on-a-matrix-i-calculate.html>Unity doesn't store transforms as matrices. Instead it stores a transform as a local position (Vector3), local rotation (Quaternion), and local scale (Vector3). Some things, like shear, can't be represented this way.Уебки
>>567986Мне надо именно shear трансформации сделатьТут только писать шейдор и оттуда доставать матрицу (делать я это конечно же не буду).Почему сразу нельзя указать матрицу - непонятно.
>>568021>Мне надо именно shear трансформации сделать>что за нелепую хуйню ты творишь?Ты дурак? Мне надо спрайт исказить как на картинке
>>568073Экспортить из пейнтера, пересохранять в пейнте или фотожопе, галочки потыкай, настроечки всякие
>>568021Кстати, я сегодня вот начал в шейдерах разбираться, там же как раз про эти искажения твои и написано>геометрия проекции ожидается в гомогенных координатах, которые используют два значения для пикселя на экране (x,y), одно значение для глубины (z) и одно значение для гомогенного пространства (w). Мне кажется не так уж и сложно написать шейдер, который будет изгибать спрайты твои.(если что статья https://docs.unity3d.com/ru/500/Manual/SL-VertexFragmentShaderExamples.html)
>>568069а просто взять и подрыгать вертексы спрайта через матрицу не?https://docs.unity3d.com/ScriptReference/Sprite-vertices.html
>>568078в юнити то их у много чего дрыгать можно. иногда даже написаны функции помогающие это делать. надо просто документацию залезть и почитать. вон например хопа подрыгал вертексы текста >>564788 указав кривую в инспекторе.можно конечно и шейдор было написать, но нахуй оно надо.
>>568080кстати, если кому интересно то у старого гуи юнити можно даже напрямую матрицы менятьhttps://docs.unity3d.com/ScriptReference/GUI-matrix.htmlчерез них можно забавно линии рисовать, например.http://wiki.unity3d.com/index.php/DrawLine
>>568077>вместо того, чтобы просто создать матрицу, которую юнити и так нужно создавать, вручную двигать вершины мешанет, такой способ мне не подходит. я хотел сделать простые эффекты анимации с трансформом, но видимо не судьба.
>>568089чтобы получить корректный ответ надо задавать ВЕСЬ вопрос. какие эффекты? эффекты чего? сколько? как? что за хуйню ты творишь что тебе это понадобилось?может ты просто дисплейсмент шейдор захотел? типа там травку пошевелить, или чтобы миллион рыбок хвостиком махало красиво?
>>568075Безуспешно полчаса тыкал в юнити в дизайнере, помог лишь фотошоп Изображения -> Режим -> галочка "RGB" (стояла градации серого).Пиздос, теперь всегда фотошоп что ли юзать
>>568073Над превьюхой бирюзовых звездочек настойки компрессии и формата, выбери compression none для начала.
>>568099Не знаю, как это в дизайнере, в пейнтере есть экспорт карт в юнити, все гладенько. Выложи эту пикчу, тоже потыкаюсь.
>>568145Сейчас попробовал, создал в дизайнере карту в градация серого, в юнити все нормально, если в фотошопе так же создать тоже нормально.
Неужели пидары решили что-то полезное сделать за годhttps://twitter.com/avashly/status/1108821917572710400
>>568179>пидары Меняют имидж, прикидываются типа не пидары, но мы то знаем, что у всех этих девок есть хуи
Что вообще в гд по зарплатам? Скажем, у прогеров с годом опыта? Вот думаю в гд идти, или жаву выучить - на жаве, говорят, через год работы уже больше сотки будешь получать.
>>568172>Как там 2д? Нормас? Я хотел годот, но не люблю питон. Говорят, есть какая-то пиксель-перфект камера, с помощью которой делается годное двадэ. Я сам не видел, правда.мимоОПгодотреда
>>568189>Какую игру сделаешь такая зарплата и будет.Зачем ты его обрекаешь на голодную смерть? Лучше пусть на заводик валит.
https://blogs.unity3d.com/2019/03/19/unity-support-for-stadia-heres-what-you-need-to-know/Проиграл с бомбления ассет флипперов в комментах. Уебки хотят еще и стадию засрать своим говном.Как хорошо что epic store провел по губам таким.Ничего не имею против голожопого инди, но таким место на humble bundle'ах всяких и itch.io. Всяк сверчок знай свой шесток.
>>559292 (OP)https://www.patreon.com/hedonБлин, даже ему донят почти 200 бачей за игруя тоже хочу себе патронов собрать( и пилить с небольшой поддержкой, чтоб не ходить на работу и было что покушать, игру мечты
>>568485Как же проигрываю. Показывают банальные вещи как какую-то революцию. Это не быстро стало, это просто было медленно без возможности сделать быстрее.
>>568496Стало обычно блять. Ты такую скорость можешь получить на любом нормальном движке. Тут нет какого-то достижения юнити.
>>568503>физическую симуляциюНо там не физическая симуляция, а какой-то упрощенный алгоритм (с каким-то hashing). Разница в том, что в баннимарке нет коллизий частиц друг с другом. Ну так и он однопоточный на js.
>>568511Нет. Не в том суть. Сраниваются разные вещи. Сначала сранивается однопоточный алгоритм + оверхед обновления трансформов и многопоточный алгоритм без оверхеда. Потом вообще сравниваются 2 разные версии алгоритма.
Пагни, нужна помощь. Как сделать простенькую систему диалогов в 2D игре? Чтобы при нажатии кнопки возле нпс запускался диалог с облачками над головой нпс и игрока. Должно все выглядеть как пикрил. Для этого нужно объединить OnTriggerEnter и Input.GetKey? Перерыл кучу гайдов, ничего похожего нет.
>>568485на самом деле не особо. для симуляции жидкости конечно вычислительные шейдоры нужны а не физон.https://youtu.be/Gude_1WJJDQ>>568564лол какие трудности. ну, да. сохрани в важном месте переменную что игрок в диалоге, чтобы только один диалог можно было открыть, а управление отбиралось на время диалога. ну и справни облачки над персонажами. для упрощения задачи спавни их в игроков пространстве из префабов, а не в пространстве камеры. а OnTriggerEnter то вообще хуй знает зачем. просто начинать диалог кликом мышки на персонажа не?
>>568564Поясняю ньюфагу вешаешь на нужные обьекты(нпс), коллайдеры, делаешь им свойство триггер+ригджбоду is kinematic, потом скрипт на игрока(которому даёшь еще в придачу компонент чарактер контролер, им изи управлять), if OnTriggerEnter, то ставишь переменной своей тру, и высвечивается что типо можно говорить, в этот же момент в update отлавливаешь ifinputgetkeydown, и если игрок нажал нужную клавишу и наша переменная тру запускаешь скрипт диалога. В нём если 2д проще всего по канвасу сделать изображение(облачко)+ текст внутри него, этот текст берётся из твоего скрипта, бля кароч если по пунктам и подробно это надо в ворде писать или блокноте тут заёб в этом уёбищном окошке. Короч в твоей задачи нет ничего сложного, единственная проблема найти картинки(спрайты), код за пару дней разберёшся.
Анчоусы, не гоните ссаными тряпками ньюфага. Как вывести персонажа выше моей тайлмапы в 2д? Я уже гуглил, менял слои и их сортировку. Нихуя не помогает.Карту делал в Тайлед и портировал через Тайлед2юнити.
>>568570> на самом деле не особо. для симуляции жидкости конечно вычислительные шейдоры нужны а не физон.> YouTube: Obi Fluid 4 for UnityКак-то слабовато. Почти то же самое было 7 лет назад в телефонах с тегрой 3.https://youtu.be/n8tklfzkcDo
лол. о да. поменял как хранится всё. генерируется просто заебись, все замечательно. но, блять, после сериализации-десериализации что-то пошло не так. боль.>>568579ну так, эта хуйня и в юнити уже давно. вроде года 4, или больше уже. ещё тряпки с желе продаёт. и самое клёвое - верёвки https://www.youtube.com/watch?v=kM36Q1m3jSAхотя конечно такую хуйню можно и самому на коленке сделать, Obi просто продает что-то довольно универсальное. вон например хрен сделал игру про танчик в каше https://habr.com/ru/post/328284/хотя до Nvidia Flex далеко.
>>568598как следующий апдейт на эту хуйню сделаю. ололо решение одной проблемы триггерит другую. переделал как хрянятся еджи для локал авойденса, локал авойденс перестал быть говном, но в процессе поломал рэйкастинг. вообще хуй знает что случилось но иногда еджи дублируются. переделал хранилку для вообще всех эджей но теперь они неправильно сериализуются где-то. или неправильно хранятся. наверно как решу эту проблему то можно уже и закруглятся и поделать игры. столько идей охуительных накопилось.>>568606м! https://assetstore.unity.com/packages/tools/physics/nvidia-flex-for-unity-1-0-beta-120425 и правда что-то такое сунули. надо будет посмотреть что там такое интересное. я не следил.
Че это и как фиксить? Зеленый куб поворачивается к золотому шарику и серому. Когда поворачиваю опору то происходит говно какое-то, то же самое и по другим осям. Зеленый куб не ребенок красного куба, соединен только джоинтом.
>>568681лол наверно даже стоит попросить у тебя эту хуйню просто чтобы понять что ты там вообще делаешь. код хотя-бы дай.прибавляешь не ту ротацию что-ли? или не в той последовательности? зелёный делает два оборота, желтый один.
>>568682В апдейте:Vector3 direction = targetpos.position - initpos.position;Vector3 directionsec = secondpos.position - initpos.position;Quaternion trotation = Quaternion.LookRotation(direction,directionsec);joint.SetTargetRotationLocal (trotation, initialRotation);последняя функция найдена на реддите, нужна чтобы джоинт нормально поворачивалсяSetTargetRotationLocal идет перед этой и передает space локальный при одном условииstatic 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; Quaternion worldToJointSpace = Quaternion.LookRotation (forward,up);//изначально (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; }Я бы и рад понять как это работает( пытался сам дописать, но не.
>>568683а это на стартеinitialRotation = joint.transform.localRotation;Если опора неподвижная то все ок.
>>568683а, магия дельта-ротаций. ну попробуй с теми-же параметрами Space.Self сунуть.вон там где if (space == Space.World) меняется последовательность в какой прилагается ротация. в одном случае для локального пространства, а в другом случае для глобального результат.Я бы и рад понять как это работает( пытался сам дописать, но не. Если че то ты можешь визуализировать все эти ротации сделав Vector3 vector = quaternion * Vector3.forward;и нарисовать через Debug.DrawRayхотя я не уверен какое там направление у joint.axisкстати а зачем такие трудности с поиском дельта-ротации? проще же прицепить джойнт на пустой геймобжект и вместо всего этого крутить сам геймобжект, предполагая что целевая ротация равна ротации геймобжекта. чтобы вместо двух ротаций иметь дело с одной.
>>568685хотя на самом деле наверно надо просто результат умножить на Quaternion.Inverse (joint.transforn.rotation) или что-то такое. по моему тут нигде не учитывается что сам джойнт будет крутится.
>>568685>визуализировать Отрисовать вектор каждого промежуточного кватерниона?>какое там направление у joint.axisДефолтное, но от поворота осей джоинта ничего не меняется.>такие трудности с поиском дельта-ротации? проще же ...Я делал не дельта ротации, я пытался заставить поворачиваться объект к точке, кроме этого кода ниче работающего не нашел. Если сунуть самый первый LookAtRotation в джоинт то ерунда происходит. И мне нужно именно через точки поворачивать а не через еще одну ротацию, у меня в игре будет такая механика.>>568686>сам джойнт будет крутится. Зеленый куб не ребенок красного и джоинт у зеленого. Я ща чекнул, джоинт относительно зеленого не поворачивается.Но интересно то что если я двигаю золотую и серую точку отдельно то все норм, а если кручу красный куб который родитель обоих точек то дополнительный поворот происходит.На реддите про эту функцию читал типо у джоинта свое пространство собственное и на него надо доворот делать. Есть ли способы это проще реализовать ну или хотя бы понятнее?
>>568688>Отрисовать вектор каждого промежуточного кватерниона?ну да. а хули нет? так по порядку и разберёшь что оно делает.>Дефолтное, но от поворота осей джоинта ничего не меняется.да нет. я не помню какое направление к какому направлению отсылается.>Я делал не дельта ротации, я пытался заставить поворачиваться объект к точке, кроме этого кода ниче работающего не нашел. ещё раз. зачем ты пытаешься крутить объект через джойнт когда ты можешь покрутить то к чему цепляется джойнт? ты же имеешь ротацию самого обьекта плюс ротацию джойнта относительно того к чему он прикреплён. к чему такие сложности?>Я ща чекнул, джоинт относительно зеленого не поворачивается.>Но интересно то что если я двигаю золотую и серую точку отдельно то все норм, а если кручу красный куб который родитель обоих точек то дополнительный поворот происходит.проще уже заставить тебя запаковать ассет да выложить в тред всю эту хуйню. чем пытатся понять что к чему у тебя там крепится, какие настройки у чего и все остальное.
>>568690>>568681а-а-а хуй знает что там у тебя не так. вон все замечательно крутится. у тебя Connected Body чтоли красный куб, или че?ебучий миллион настроек у джойнта. дольше вспоминал какая настройка отвечает за силу ротации.лол ргхост заблокировали.https://drive.google.com/open?id=1MxlmfHSJ_Bkw1X_X3Y6xYstycQY5tIL9на, покрути сам.
>>568690>>568693ЭТО ЧЕ, 300К/НАНОСЕК ГОСПОДИНЫ СПУСТИЛИСЬ С НЕБЕС ЧТОБ НАПИСАТЬ ПАРУ СТРОЧЕК?Как вы это сделали? Почему я посмотрев кучу туторов многочасовых сделал хрень, а вы за пару минут накидали как надо?СПС ЗА КОД. Ща буду проверять.Я тут дебаг линии расставил, но на них нет лишнего поворота, все равно нифига не понятно(.Красная и синяя это векторы до точек, белая это самый первый кватернион который подается в функцию, зеленая и желтая образуются из осей джоинта, циановая на развилке показывает кватернион с локальным пространством, черная финальная.https://drive.google.com/file/d/1CK4MG6iaOAkX1H8XH6sY29EStvrKpt-l/view?usp=sharing
>>568709Проверяй на какое значение камера повернута по оси У и не давай выйти за предельные показатели.
>>568693>>568703Пощелкал и увидел что у тебя>>568685>проще же прицепить джойнт на пустой геймобжект и вместо всего этого крутить сам геймобжект, предполагая что целевая ротация равна ротации геймобжекта. чтобы вместо двух ротаций иметь дело с одной.Я это не просто так делаю, я из джоинтов собираюсь конечности сделать и потому мне надо чтоб две части были соединены. Если ты понимаешь как кватернионы работают может подскажешь?Я сделал более наглядный пример.
Девелопаны, а вы создаете SoundManager для своих проектов? Или просто средствами самого Юнити все делаете?Просто я думаю создать такой менеджер, и чтоб монетки, к примеру, когда хотят произвести звук подбора, посылали в скрипт менеджера команду воспроизвести звук. Это норм вообще? Или уже все это придумали и я просто не нашел этого еще?
Братаны, вот честно, пытаюсь всё делать по уму - пользовать эвенты всякие, а не просто каждый фрейм что-то там чекать и присваивать. Но это всё ведёт к тому что компоненты становятся всё больше и больше - уже нельзя просто переделать работу предыдущего компонента, нужно учитывать стейт и вся хуйня. Я вот думаю, может впизду заморочки с эвентами и хуярить всё в Update? Сейчас у меня апдейт есть только в системах которые действительно каждый кадр меняют состояние, во всех остальных нету. Разумеется в разумных пределах - переделывать условные меши каждый кадр я не собираюсь, а вот чекать були и присваивать всякие цвета - да.
>>568739Я тоже пытаюсь все делать по уму и у меня такая же ситуация. И мне вот кажется, что у нас ума мало и опыта нет. Нормальные программисты держат это все в голове, все стейты и т.д.
>>568741нахуй держать в голове если можно написать? Можно даже прямо в скриптах написать две палочки // и после них все что нужноА еще можно написать 3 палочки /// и тебе сделают шаблон для документации метода
>>568753Я это понимаю все, уже пишу так, про 3 палочки не знал, я ток про комментирование группами # недавно узнал. А что, типа 3 палочки поставил и у тебя потом в файле с документацией что-то появится или как?
>>568754Нет, там появятся появятся теги для описания метода между которыми ты можешь написать описание метода, описание входных данных, описание возвращаемого значения. И потом когда ты будешь в другом месте наводить курсос на этот метод - будет выводиться его описание.
>>568703>ЭТО ЧЕ, 300К/НАНОСЕК ГОСПОДИНЫ СПУСТИЛИСЬ С НЕБЕС ЧТОБ НАПИСАТЬ ПАРУ СТРОЧЕК?лол это же я, постоянный посетитель треда, хуй-который-делает-навмеш. и на самом деле это довольно тривиальная задача, просто надо немного практики.>Я тут дебаг линии расставил, но на них нет лишнего поворота, все равно нифига не понятно(.да ладно продолжай всматриваться. я всматривался и стало понятно. главное понимать что кватернион это вот как пространство повернуть. и вот так через наложения поворотов пространства друг на друга всё и крутится. что все относительно, в общем!>>568713а, сразу бы и сказал что инверсивную кинематику для джойнтов захотел. хули, можно спросонья и сделать разминку для мозгов.на. часика полтора подумал, почитал тот код джойнтов и решил что нахуй. проще напрямую через дельта-ротации.https://drive.google.com/open?id=1OQUJMmtd1Pd7OxhCfzqpYWXqQDFDseTjкод правда приздец какой грязный вышел, но ключевых значений меньше, так что наверно понятней. я спросонья лучше не могуа вообще если честно то лучше бы взял что-нибудь вроде https://assetstore.unity.com/packages/tools/physics/puppetmaster-48977 пупет мастера и игры уже делал. разве что тебе интересно самому эту хуйню постичь.>>568739ебош в апдейт. делать эту хуйню сразу - проеб времени. сначала прототип, потом когда самому понятно будет как сделать лучше то скопировать вставить код куда надо, или написать по другому проще чем всю эту хуйню сразу делать. просто пиши код так чтобы уже эти манипуляции было сделать легко.
>>568713алсо. вообще, по моему это слишком сложная задача для неподготовленного человека творить колдовство кватернионов. может проще поделаешь чего? например поделал бы для практики что-то вроде такого. хуйню для маркировки територий, только маркеры не являются геймобжектами. делая такое можно узнать как перевести объекты из одного пространства в другое и это намного проще чем пытаться с наскока научится в голове одну ротацию накладывать на другую. тут тебя от цели отделяет хотя-бы конкретное число операций, а не какая-то мешанина которая усложняется пропорционально числу звеньев.
>>568825Ну ты и накатал, ща буду разбирать.>инверсивную кинематику Я ее и сам могу сделать, мне просто нужно было узнать как нормально джоинты повернуть. Кажись в твоем коде есть инфа.>пупет мастераА если вдруг что-то там не так пойдет то я обосрусь там разбирать от чего, еще больше чем до этого. У меня то идей куча, там не только человек, и конечности не только из 2х звеньев.С ходу заметил одно отличие между мной и тобой. У тебя плече содержит джоинт который вертит предплечье, у меня наоборот, предплечье содержит джоинт который крепится к плечу. Может быть из-за этого у меня все ломается. Но я делал так потому что плечи тоже надо крепить к телу. Если два джоинта повесить на одно тело то в скрипте их нельзя отличить, скрипт будет у обоих менять значения. Придется делать промежуточные точки между плечем и телом, а я буду так долбится только в крайнем случае.Спс.>>568839Джоинты просят кватернионы. Но так в новой версии, я до этого все тоже самое пытался сделать в юнити пятой версии. Там они просто углы еулера просили, но сами по себе ублюдские были (части тряслись даже если у всех джоинтов нулевая сила и тд) трахался с настройкой а потом забил на долго. В новой версии вместо этого не очевидные повороты, о которых ни из какого туториала не узнать.
>>568865>Я ее и сам могу сделать, мне просто нужно было узнать как нормально джоинты повернуть. Кажись в твоем коде есть инфа.там же все просто вроде. если у джойнта стартовая ротация Quaternion.identity то все что тебе надо указать это как далеко повернуть от нулевой ротации. я тебе оси советовал подебажить потому что там заметно это. например у плеча один из дебагов в начале отображает forward вектор близким к горизонтальной плоскости. вот как далеко он отходит от этой плоскости такая ротация и должна прилагаться относительно начальной ротации.надо было мне это более очевидно отдебажить. вообще когда с векторами-хуекторами и кватернионами взаимодействуешь то всё куда проще если их дебажить как можно сильней.хотя с локтем я конечно там хуйни местами понаписал. по хорошему там надо было просто сделать локоть локальным для плеча и брать локальную ротацию, но тогда он не будет так смешно дрыгатся. и там немного кода отведено просто для того чтобы перевести целевую ротацию в локальную для локтя. потому что очевидно надо делать поправку на то что локоть крутится постоянно и надо вычитать его глобальную ротацию.и эту манипуляцию разумеется и с плечом надо делать если хочешь присоединить плечо ещё к чему-то.>А если вдруг что-то там не так пойдет то я обосрусь там разбирать от чего, еще больше чем до этого. У меня то идей куча, там не только человек, и конечности не только из 2х звеньев.там наверно есть хуйня и не только для человечков. хотя конечно хуй знает что сунули. остается поспрашивать на форуме разработчика. или украсть и расковырять.>С ходу заметил одно отличие между мной и тобой. У тебя плече содержит джоинт который вертит предплечье, у меня наоборот, предплечье содержит джоинт который крепится к плечу.это же обычная иерархия костей для гуманойдов. когда артисты человечков моделят их иерархия костей начинается с копчика. и на это много причин.>Но я делал так потому что плечи тоже надо крепить к телу. Если два джоинта повесить на одно тело то в скрипте их нельзя отличить, скрипт будет у обоих менять значения. лол ну вообще можно просто сделать в теле два геймобжекта на которые крепятся плечи, вместо одного. кстати открою секрет - если сделать публичным ссылочный тип, то ты можешь туда в инспекторе переносить отдельные компоненты. и хватать их не через код а просто сунуть нужный таким образом.>В новой версии вместо этого не очевидные повороты, о которых ни из какого туториала не узнатьа хуй даже знает как это знание передать. я сам нигде туториала не встречал. у меня порог вхождения был не таким крутым как у тебя, мне надо было просто сначала покрутить вертексы через матрицу, потом понадобилось складывать матрицы, потом делать это уже без матриц, а потом хуяк и понадобилось найти позицию коллайдеров деревьев не имея самих коллайдеров. и вроде и понятно теперь стало.
Анончик, миленький, спасай.Нужно, чтобы обьект после входа в коллайдер начинал вращаться, а на выходе он имел угол поворота тот, который ему будет задан в скрипте. Как это сделать? С углами вообще не имел до этого дел, там кватерионы, эйлеры какие-то. Как посчитать разницу между входящим углом и выходящим? Это главное, остальное сам если что додумаю
ЕБАННЫЙ В РОТ ЭТОГО ЮНИТИПочему, когда я пытаюсь добавить абсолютно девственно новый любой скрипт к объекту, всплывает неведомая хуйня с ошибкой "Can't add sccript behaviour AssemblyInfo. The script needs to derive from Monobehaviour!"В 5 версии такой хуйни не было
>>568925с УГЛАМИ дел не имел? охуе-е-еть.>коллайдер начинал вращаться, а на выходе он имел угол поворота тот, который ему будет задан в скриптеты угол поворота,или угол вращения хочешь?это?https://docs.unity3d.com/ScriptReference/Vector3.Angle.htmlможет это?https://docs.unity3d.com/ScriptReference/Quaternion.Angle.html>>568926тебе же написали >Can't add sccript behaviour AssemblyInfo. The script needs to derive from Monobehaviour!наследуйся от монобихейвора если хочешь добавлять это на геймобжект. а возможно ты наркоман и у тебя имя класса не совпадает с названием файлика. и это было во всех версиях юнити.
Юнити господа, я в замешательстве. Замоделил елку, вершин - 884. А судя по статистике юнити, она содержит 21K вершин. В гифке видно - с елкой 32К, вырубаю елку - 11К
>>568925А, вроде нашел Quaternion.LookRotation, попробую с ним поковыряться. Ух эти углы ебань жосткая.
>>568930А всё, понял, я скрипт забыл назвать именем объекта, вот ето тупанул. Вот что значит год не притрагивался.
>>568930Есть обьект, который летит все время прямо. Хотел поворачивать его в особых зонах внутри коллайдера, летел самолет прямо, залетел в эту зону, бах и плавненько повернул налево, вылетел оттуда и дальше летит себе прямо. Спасибо за помощь кста, уже голова от этих углов болит.
>>568932скайбокс убери и точечные источники света. юнити прибавляет ко всей твоей хуйне все значения пропорционально тому чего и сколько оно там рендерит. это же не хуйня чтобы модельки моделить, а хуйня чтобы отображать их.алсо, советую почитать уже про ветер. лучше нарежь себе веток да склеивай через tree creator. >>568937ну примени к самолету https://docs.unity3d.com/ScriptReference/Transform.Rotate.html или https://docs.unity3d.com/ScriptReference/Transform.RotateAround.html каждый кадр в таком-то направлении.
>>568932о, пофиксил, там все не так просто. Сделал все объекты статическими, запек свет, теперь елка 3.5К вершин
>>568939>алсо, советую почитать уже про ветер. лучше нарежь себе веток да склеивай через tree creator. cпасибо, ща поизучаю это
>>568932>Замоделил елку, вершин - 884>>568940>о, пофиксил, теперь елка 3.5К вершинХуя ты пофиксил.Уже обсасывалось, он там сто раз рендерит и каждый проход записывает, короч говно
>>568941на самом деле я не думаю что осилишь. юнити довольно глубоко запрятало то как деревья шевелят листочками. проще свой собственный шедор сделать чем пользоваться встроеным. https://docs.unity3d.com/Manual/SpeedTree.html в общем-то делает за тебя всю эту хуйню, но он все-же далек от идеального. лучше открой юнити, GameObject > 3DObject > Tree и посмотри сам на эту хуйню. там можно для листочков меши использовать насколько помню. лучше нарежь с ёлки кусков да здесь собирай.если че то по моему этот шейдор листочками шевелит https://github.com/TwoTailsGames/Unity-Built-in-Shaders/blob/master/CGIncludes/SpeedTreeVertex.cgincоно там берёт информацию из дополнительных UV карт и толи какую-то специфичную иерархию обьектов просит, толи хуй его знает.
>>568942Указал в tree в качестве основного ствола собственный меш, но на него не действует group seed, который влияет на форму. Видимо, чтобы ствол скукоживало, его в его модель нужно кости добавить, хз, изучаю дальше
>>568996Да просто интересно. Также в несколько раз уменьшаются треуголники и вершины когда у directional lihght поставить mode в "baked". Было "realtime"
>>568869Смотри, нащупал загадки человечества. Тут дело не в твоем или моем коде, тут сам юнити. Опять, сделал два тела, соединил джоинтом, повернул оси у тел и оси джоинта в соответствии с мировыми. Код из трех строк тупа LookRotation по вектору от старта до цели.Если цель не ребенок объекта в котором джоинт то все норм, можно повернуть этот объект, поворот джоинта сохранится. Но если цель является ребенком объекта с джоинтом то все, юнити потеет и выдает херню, желтая линия это вектор кватерниона джоинта. Не совсем понимаю логики. Видно как я цель в начале подергал, поменял вектор, джоинт нормально отреагировал. А если вектор меняется от поворота родителя то кирдык.Вот теперь думаю как с этим работать, наверное где то придется создавать невидимую обездвиженную куклу скелет. Как это скажется на удобстве работы и возможности создавать много конечные тела придется узнавать.Надо эту деталь в справочники и туторы засунуть.
Вечер в хату анонасы. В тред призываются олды и все неравнодушные. Вопрос касается шарпа. Сейчас пытаюсь вкурить ООП, конструкторы, перегружаемые методы, наследование, полиморфизм, так вот вопрос, нахрена это всё? Если в юните всё делается скриптами и никакой адекватной архитектуры там не построить. Может ну эту дичи с ооп и сразу курить юнити?
>>559292 (OP)Как сделать управление, чтоб и на васд и стиком от геймпада в три де кубик двигатьпочему я натыкаюсь на сотни решений этой хрени через трансформ, ригидбоди, что за костыли на костылях, где официальное лаконичное решение или какой из костылей лучший?
>>569159Поясняю по храдкору. Выкидываешь всю эту хрень нахуй, для кодинга в юнити тебе надо следующее - понимать что ты пишишь, уметь гуглить похожие или отдалённые примеры на инглише, в теории знать ооп дабы не плодить говно код в х10 размере, и юзать поиск по функциям docs.unity3d.com, ВСЁ.Для совсем аутистов можно даже это убрать, оставить только таскание асетов и копирывание кода из ютуб роликов.
>>569072я смотрю до тебя всё не доходит что всё относительно. код дай. или запакуй в ассет и дай всю сцену. я уже не представляю что у тебя там за нелепые проблемы.следи за разницей между синей линией и синей палкой. и желтой хуйнёй. это та разница которую надо дать джойнту. очевидно же.https://drive.google.com/open?id=1UXknU9fjm60ruAtYvBlpw0Mwn2hrZVGw>>569159а как без этого то? как без конструкторов, ООП, полиморфизма и прочего? это всё - надо. например вот надо тебе кнопку для интерфейса. не простую, которую нажал-отпустил и она сработала, а такую чтобы она каждый кадр пока давишь на неё срабатывала. как это проще всего достигнуть? наследоваться от кнопки и сказать "ебош каждый кадр", конечно же!а вообще мой тебе совет: решай проблемы по мере их появления. обращайся за помощью когда чувствуешь что пишешь хуиту. но для начала тебе надо начать писать эту хуиту.
>>569239>код дайtPos = target.position - transform.position;Quaternion tRotation = Quaternion.LookRotation(tPos);forearmJoint.targetRotation = tRotation;Написал же что код простой.>я уже не представляю что у тебя там за нелепые проблемы.>это та разница которую надо дать джойнту.Да не, теперь проблем нет, спасибо.
лол иногда юнити выдает удивительные ошибки. иче? хуль с этим делать то? сделают же.>>569240дык ты это. не забывай. когда с кватернионами дела имеешь - надо знать где ВЕРХ. верх это очень важно. кросс-продукт очень полезен для того чтобы знать где верх, где низ, где право, где лево. а взаимодействуя с локальными ротациями надо понимать как перевести ротацию в локальное пространство для другого объекта.очевидно что в том что ты понаписал верх хуй знает где. и ротация никак не становится локальной.
Девелопаны, есть один уровень, на нем будут распологаться префабы обьектов, расставляемые в редакторе. Обьектов будет >500. Мне нужно сделать загрузку и сохранение положения этих обьектов, то есть сериализовывать и десереализовывать их позицию в пространстве. Мне же лучше всего сделать сериализацию через XML? Или есть какие-то другие функции в Юнити сейчас? Как лучше всего записывать позицию обьектов на уровне, чтоб их позиция потом в файле получалась?А то в интернете много разных варинатов, я просто думаю, какой лучше использовать, чтоб побыстрее файл этот обробатывался.
>>569266чуть подробней. что представляет собой то что ты собрался расставлять? просто префабы, или они как-то структурированны? монетки например? тебе это только для эдитора, или ещё и после того как проект сбилдишь надо?
>>569268Типа монетки, да, собираемые игроком обьекты. Никак особо не структурированы, несколько видов префабов просто. Вообще я собираюсь писать редактор уровней, и файл мне нужен будет для того, чтобы игроки смогли строить свои уровни и делиться ими. Но это пока только в теории все, мне же сейчас надо разобраться с расставлением и сохранением монеток по уровню. Но последующая масштабируемость кода была бы не лишней.Так что, есть идеи какие для такого?
>>569269ну если они имеют конкретные префабы, а не какая-то мешанина то сделай себе какой-нибудь структ типа [Serializable] public struct MySerializedData { public int prefabID; public Vector3 position; public Quaternion rotation; }и сохраняй себе их в лист. и напиши интерпретацию этих айдишников туда-сюда. при увеличении масштабов тебе конечно придется в этом случае более внимательно следить че какой айдишник там репрезентует. сериализацию уже по вкусу, желательно чтобы можно было редактировать через блокнот, хотя для чего-то такого можно даже свою собственную написать.для чего-то очень дохуя повторяющегося можно и отдельно лист завести куда и вовсе только позиция объектов сохраняется, чтобы ты такой вжух заспавнил сразу много монеток зная что вот тут только монетки сохраняются.а вот базу префабов что там эти айдишники репрезентуют храни в ScriptableObject, так как там можно заебись хранить референсы на ресурсы проекта.
>>569269> есть идеи какие для такого? Я всегда сериализую специально созданный для таких целей массив, в котором элементы представляют собой чётко обозначенные данные, которые могут меняться в игре. Допустим, у меня есть префабы монеток и, скажем, грибов. Я не буду сериализировать сами эти префабы, ибо в файле будет много лишних данных, которые мне не нужны и которые будут увеличивать размер файла.Я сделаю массив, в элементы которого будет помещаться такой словарь {"ItemType" : "", "Position" : ""} Далее, я сделаю две процедуры: 1) на сериализацию, которая будет обходить все префабы по выделенному мной критерию и записывать из них свойства в файл (собственно говоря, сериализировать), 2) на десериализацию, будет доставать данные из файла и будет создавать несуществующие экземпляры из соответствующих префабов, либо обновлять свойства существующих.Плюс метода: я полностью контролирую содержание файла данных, не допуская записи в него гигов лишней хуйни. Например, я могу в файле держать вообще говоря разнородное содержание: Часть элементов корневого массива - это свойства подбираемых объектов (айди карты/уровня, позиция, тип, цвет, величина), другая часть - это свойства врагов (айди карты, позиция, состояние, хитпоинты), третья - свойства персонажа игрока (айди карты, позиция, состояние, хитпоинты, содержимое инвентаря, журнал). И т.п.Минус метода: это всё таки велосипед, который может проигрывать в скорости встроенным в шарп методам. Но кого это ебёт на пентиуме 100500 с эртээкс 2К?
>>559292 (OP)Привет, тредю, пишем с друзьями игру, и возник вопрос: какой метод программирование профитнее, ООП или процедурное?
>>569276на юнити хоть? для чего? вы учитывайте что если вы ILL2CCP пользуетесь то с процедурным погромированием можно себе и в ногу выстрелить.
>>569278да, на юнити. для себя, просто нравится. >ILL2CCPа вот что это такое, я лично пока понятия не имею, потому что все, что я сделал с юнити на данный момент, это скачал его. сейчас учу сисярп
>>569280тогда не забивай себе голову этой ерундой. ебош пока работает. пока учишь ЯП как раз таки надо стрелять себе в ногу как можно чаще.конкретно в юнити лучше всего всегда работал дата-ориентированный подход. когда ты всё свое говно в структах держишь и обрабатываешь одной жирной функцией всё сразу. и они сейчаснабирает популярность со всеми этими ECS, многопоточностью и так далее.
Если поставить у direction light (солнце в открытом мире) mode->baked и запечь сцену, то она начинает выглядеть как-то хреново, по сравнению если бы было mode realtime - на объектах пропадают блики, да и сами они становятся тусклее. Тени только нормально фиксируются. Все объекты static, не двигаются, поэтому нет смысла делать realtime освещение
>>559292 (OP)Суп /gd/, кто знает в unity c# есть какой вариант сократить определённый набор строки в короткое название? К примеру есть кусок кода "GetComponent<NameScript>().", в скрипте он пишется овер дохуя раз, и порождает большую кашу(из-за изменения структуры пришлось половину скрипта перенести в новый скрипт, и теперь такие траблы), так вот, есть ли варик как-то его сократить дабы в студии не мешалось это? По типу "GetComponent<NameScript>()." = Stn или типо того и далее бла-бла-бла.
>>569303Не пизди, GetComponent возвращает ссылку на экземпляр существующего компонента, а не класс.https://docs.unity3d.com/ScriptReference/GameObject.GetComponent.html
>>569303А не пашет у тебя потому, что ты не знаешь, что такое экземпляры и чем они отличаются от классов.
Антон, как делаются такие вещи как в посте >>539009?Интересует именно момент надевания хомута на модель.Осёл без хомута и осел с хомутом - это две разные модели или координаты хомута обычно хардкодятся?Общий кейс: голая модель персонажа. На него нужно надеть штаны перетаскиванием. Как технически это реализуемо?
>>569300кстати а че ты там столько раз компоненты то хватаешь? не кешируешь чтоли?>>569309лол вообще охуеть какие вопросы уже задают. хомут это обычный геймобжект, одевается он на геймобжект-слот который имеет какую-то ротацию/позицию и информацию че туда сунуть можно. когда игрок тыкает на слот таская предмет в руках то предмет уничтожается и создается заново но уже в слоте и всей экстра-хуйнёй что делается при надевании кординатах и позиции слота. конкретно для персонажей это немного сложней. потому что хомут конкретно в этом случае просто куча кубиков, они никак не деформируются при движении. для персонажей там обычно отрывают куски меша вместе с костями и приделывают новые, но разумеется это не единственный подход.
>>569348Объясняю, тупица, импорт готовой сцены с наложенными в ней материалами/текстурами производится в unity, но по дефолту она их не грузит, как мне запилить шобы всё автоматом подхватывало, пробовал в инспекторе ковырять, нишо не получилос
>>569361Так и пиши подробно, пидарасина, напрягаешь людей своей ленью и тупостью. Хоть бы у тебя ничего не получилось, сука, проклинаю твою мамку на смерть.
>>569369Хорошо шо я детерменист и точно знаю что ты еблан. Возможно ты опять не понел, но я тебе (такой тупице) прямо напишу что твой пук с дивана абсурден. И я тебе советую больше здесь не высовываться, раз твой моск напрягается от моих вопросов. Место тебе в /b/
>>569372>моск напрягается от моих вопросовНе мозг напрягся, даун, а напрягаешь переспрашивать тебя, ты даже это не понял, кусок говна. Понятно почему у тебя материалы не подгружаются, ты же долбоеб.
>>569309Просто как сходить посрать:Штаны скинятся на скелет тела и импортируются в хуюнити, делоешь префаб.Когда надо одеть штаны - инстансишь префаб куда-нибудь в рут тела и назначаешь skinnedmeshrenderer кости тела к штанам. И никуда координаты двигать ненужно, оно само встает.Если надо оптимизон то меш комбайнить конечно еще надо бы.
>>559550AssetDatabase.Dublicate()или как то так, посмотри, там много функций. Но этот класс не для рантайма
>>569364ты что то напортачил при экспорте. Юзай fbx и если уже юзаешь его, то поройся в настройках экспорта своего 3д редактора.
Как эти пидары так делают, пиздец. В играх же так невозможно? Скажите что невозможно, затенения же не будет.https://www.youtube.com/watch?time_continue=1&v=6NzeTnz6UG4
>>569445а че мешает то? трудно но можно (но не стоит того). ещё и нвидия вон свой рейтрейсинг проталкивает, с ним то вообще заебись.
>>569446>ещё и нвидия вон свой рейтрейсинг проталкивает, с ним то вообще заебись.Это технология будущего, когда средняя видюха будет его поддерживать? >>569446>а че мешает то? трудно но можно Ты пробовал? Я просто пробовал, не получается. Там много подводных, волоски должны бросать тень друг на друга, в движках это расстояние больше чем вся прическа, то ли отдельно как-то нужно мутить контактные тени, то ли еще что. Удивительно, конечно, делают профи.
Короч посоны, есть один массив данных, но может быть продолжительная работа в другом потоке которая проходится по массиву. Если один поток (unity) будет делать просто Add() , а второй обращаться по индексу, брат будет жив?
Бывает такое что когда в дебаг моде триггерится брейкпоинт, один з юнити билдов зависает пока не нажму продолжить, что это?
>>569448>Это технология будущего, когда средняя видюха будет его поддерживать? разумеется не скоро.>Там много подводных, волоски должны бросать тень друг на другаа зачем тени от волоса на волосах то. главное чтобы темным внутри становилось. можно предварительно посчитать эти затенения с нескольких углов и интерполировать относительно направления света. как это делается например для крон деревьев. так то вариантов дохера как сделать красиво.>>569474а синхронизировать то как собрался. хочешь безопасности в потоках - используй массивы, а не листы. а ещё volatile используй.>>569476это брейкпойнт.
Как ограничить нагрузку на процессор и жесткий диск чтобы во время загрузки все не висело. В некоторых играх загрузка сделана грамотно и ничего не виснет.
Есть ли готовые примеры серверов самых простывх, чтоб просто можно было пройти авторзацию и после получить какие-либо данные, больше ничего не нужно.
Анчоус, молю, помоги с этой ебалой, я уже заебался. Только не гони ссаными тряпками ньюфага.Есть один ригидбади и коллайдеры. Пик1 и пик2 - эти вот ваши коллайдеры и ригидбади, на пике3 - мой говнокод персонажа. Собственно в чём проблема: мой ебучий персонаж не реагирует на коллайдеры и всё равно проходит сквозь всё. Шо делать, я не понимаю. В гугле все ньюфаги не понимают как работает аддфорс, так что ответа внятного я не нашёл.
>>569537Лол, добавил и пофиксилось. Спасибо. В гайдах, которые я смотрю, не было ничего про добавление коллайдера персонажу. Мда блять
Аноны, пытаюсь делать игру по устаревшему руководству.В последней части анимирую босса.http://websketches.ru/blog/2d-igra-na-unity-podrobnoye-rukovodstvo-p8До всего этого дошел нормально, код подправил где надо.Тут тоже основные косяки кода исправил вроде, но выглядело кривовато.Например в анимации Hit не мгновенно передвигались нужные спрайты. Но большую часть проблем убрал.Однако босс совершенно не крутится в режиме игры.Тобишь не вертится в анимации атаки и не покачивается в идле.На сцене все анимации отображаются корректно.В чем там дело?Вот оригинал туториала на инглише с более-менее работающим кодом, который я и использую.https://pixelnest.io/tutorials/2d-game-unity/animations-1/
Анон, делаем игру в команде, и вопрос как лучше всего реализовать КОМАНДНУЮ работу, а то сейчас кто-то делает какую-то часть игры, потом скидывает проект другому человеку и из-за этого порой по дню никто нихуя не делает.
Качайте, господа новички.https://rutracker.org/forum/viewtopic.php?t=5709690Unity в действии. Мультиплатформенная разработка на C#. 2-е международное издание 2019 RUS
>>569730https://rutracker.org/forum/viewtopic.php?t=5709690Unity в действии. Мультиплатформенная разработка на C#. 2-е международное издание 2019 RUSАнончик, а ссылочка то битая.
>>569740ниче не битая, скачал только что. Прочитал пару страницу. Но так непривычно читать русскую документацию. Скачал оригинальную на английском
>>569752В смысле, сайт рутрекера не открывается? Так его ж зароскомнадзорили давным давно. Гугли способы обхода
Искал книгу, а нашёл охерительный сайт, не благодаритеhttps://coursehunters.net/course/kniga-unity-v-deystvii-multiplatformennaya-razrabotka-na-c-2-e-mezhd-izdanie
Девелопаны, вопрос не про Unity, а просто про жизни. Я думаю, тут есть понимающие людей, может быть кто-то поможет...Есть два стула. На одном работа нормальная, стабильная, с высокой зарплатой овер 100к месяц, но тяжелая и довольно грязная. На другом - работа на себя, попытка сделать игру вместе с другими людьми, идея открыть свою студию и пилить проекты самые разные.На какой стул сесть, как вы думаете? Стартовый капитал в любом случае небольшой есть, для начала хватит
>>569764Так я и пришёл в геймдев, потому что ноулайфер. Если бы была возможность нормального заработка, нормальной жизни, давно бы женился, купил дом и детей растил, а так живу своим миром.мимокрокодил 32лвл
>>569774Он бросит работу, проест сбережения, назад не возьмут и будет бомжевать и верещать, что игрострой погубил его жизнь.
>>569775А как же тысячи проданных копий, гора денег, собственная студия и тесла в гараже?>>569766Не вариант, работа слишком сложная.
>>569782>Не вариант, работа слишком сложная.Я имею ввиду, если деньги есть, делай руками других, студентоты какой-нибудь.
>>569785А... Ну так страшно, вкладывать деньги, не факт же что выстрелит игра и вообще кому-нибудь понравится. Хотя это такое...Перекат делать будем, господа?
>>569792Бросать работу тем более высокооплачиваемую страшнее. Шараг полно художественных, там можно концептов заказать, так же моделек. Ну не знаю, хочешь бомжевать, дропай ради гейдева.
Почему модельку пидорасит при вращении? Моделька плавца импортирована из блендера. Мне надо вращать ее в плоскости XZ так, чтобы она смотрела на красный шар. Только вращаю я не родительский трансформ, а дочерний Rot_Swimmer_Rig (ну надо мне так, чтобы родительский не вращался). Вижу в редакторе, что нужный мне трансформ повернут, значит вращать надо вокруг оси Z. Вычисляю угол поворота, изменяю локальный эйлеровы углы, и вижу какое-то хаотической вращение на первой гифке. Попробовал для проверки вращать вокруг оси Y, все стало нормально (вторая гифка). Почему так?
Господа, а можно ли в юнити сделать так, дабы каждый раз не закидывать один и тот же ассет в проект? Ну типо чтобы они загружались вместе с созданием проекта по дефолту. Надеюсь внятно высрал свой вопрос.
Сука блять пиздец как подгорает. Как подгорает сука с Юнити блять и его разработчиков сука блять. Блять пиздец нахуй. Ну а теперь к делу...В Юнити 2018 убрали возможность импортировать какую-то часть из Стандартных Ассетов в проект. То есть Assets > Import Package > ...пусто блять...". Осталось только Custom Package там.А раньше там было "Cameras, Characters, Effects etc... Куда это все делось ? Почему этого нет сейчас? Я так понимаю теперь только можно импортировать весь стандартный ассет целиком через assetstore?Сука пизда ебаная весит дофига и каждый раз ее всю импортировать??? Там нельзя выбрать просто папочку с персонажами потому что много зависимостей от других скриптов и эта хуита так просто не импортируется. ПАМАГИТЕ
Анон, помоги разобраться начинающему как работают обновления в Юнити. Допустим, Я освоил шарп, запилил что-то простое и начал пилить долгострой мечты. Что будет с моим проектом через год, когда обновятся ассеты и сам движок? Не получится так, что Я должен буду начинать все заново на пол пути из-за несовместимости версий? Будет ли обновление принудительным? Смогу скачать ту версию движка, после сноса системы, на которой создавался проект?
Есть тут такие же извращенцы, которые скриптят на болте с помощью визуального скриптинга? Хотелось бы узнать как взять с блока инпут филда текст и переставить его в переменную для дальнейшей работы. Я что-то пытаюсь там костылями сделать, но чёт нихуя не выходит.
>>569963Обновление движка в процессе разработки - это событие осознанное. Сами разрабы не рекомендуют обновляться, если нет нужны в каком-то конкретном фиксе либо фиче из новой версии.Игры крупнее платформера от васяна666 я бы за пределами LTS-версий вообще запретил.
Сколько стоит прмерно написать сервер на С# чтоб он принимал данные с несколькх бирж по вебсокету (трейды), сохранял их в базу, а тем кто залогинен мог отдавать данные как с БД так и новоприбывшие потоком. В общем суть затеи иметь возможность смотреть графики цен реалтайм, с возможность проскроить назад. Также нужен простой менеджмент, вьебать бана или кинуть системное сообщене свиньям. Сейчас считаю на своем же пука, начинает фризивать на сильных движениях в три инстанса. Какие могут быть подводные камни при найме?
>>571319От нагрузки же зависит. С нулевой нагрузкой, как тебе, вероятно, и нужно, под ключ - в районе ляма. С поддержкой - можно и за 200к функционирующую версию прадукта запилить. Подводные самые обычные - неквалифицированный хуесос возьмет леньги и сделает пердящее разваливающееся говно.
Решил попробовать рендер камеры в текстуру, закинул plane, videoplayer, чет не получилось полез в доку там написано что только в расширенной версии, сийозна? или я просто не так делаю?
Кароч. я ебанутый художник. вот теперь хочу высирать свои художества еще и в виде .exe Собсн всё норм, но одну хуйню ники не догоню. Значит речь о текстурах. Вот, например в тридэхе я накидал хуйню из восьми разных кубов. И хочу на всех них ебануть текстуру_нэйм. Чо происходит. Все кубы обтягиваются текстурой одинаково X1. Можно потайлить, но потайлю для одного кубика - попидарасит остальные. Раньше я как-то делал такое, что текстурва отлипает от UV и ложится на все объекты с одинаковым тайлингом. Памахи блядь вспомнить, пездец же я ебал. пол-бороды вырвал уже, ну