Это копия, сохраненная 14 мая 2023 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Прошлый тред: https://2ch.hk/gd/res/766778.htm (М)
Официальный сайт: https://unity3d.com/ru
Документация: https://docs.unity3d.com/ru/current/Manual/index.html
Уроки: https://unity3d.com/ru/learn/tutorials
Форум: https://forum.unity3d.com/
Магазин ассетов: https://unity3d.com/ru/asset-store
UnityWiki: http://wiki.unity3d.com/index.php/Main_Page
На Unity сделано много замечательных игр - Valheim, Genshin Impact, Subnautica, Albion Online, Endless Space, Beat Saber, Boneworks, Rust, Блицкриг 3, Pillars of Eternity, Tyranny, Kerbal Space Program и многие другие. Главным преимуществом Unity перед другими движками является его простота для одиночной разработки. Не нужно иметь целую компанию девелоперов, чтобы сделать хорошую игру. Если ты один или имеешь небольшую команду и хочешь сделать хорошую игру без претензий на ААА, то Unity станет лучшим выбором. Тем не менее, даже крупные корпорации зачастую выбирают для своих игр именно Unity.
FAQ
- Какие у Unity сильные стороны?
- Простота разработки, удобный инструментарий, кроссплатформенность, богатая документация, огромное сообщество.
- Какие у Unity слабые стороны?
- Сложность в создании фотореалистичной графики. Для графики "как в Crysis" рекомендуется взять другой движок. Хотя Unity вполне способен выдавать не уступающую любым другим движкам картинку, это требует определённого навыка от разработчика.
- На каких языках я могу писать скрипты для Unity?
- На выбор два языка - C# и UnityScript. UnityScript - это что-то среднее между JavaScript и ActionScript. Выбирай язык по своему вкусу, они оба вполне удобны, но помни, что большинство примеров написано на C#.
- Для каких жанров подходит Unity?
- Для абсолютно любых! Жанр ограничивается лишь фантазией разработчика (и его умением писать скрипты, разумеется). Можно создавать и РПГ, и стратегии, и слэшеры. Можно делать VR-проекты или Minecraft-подобные песочницы.
- На каких платформах работают созданные с помощью Unity игры?
- Windows, Linux, MacOS, SteamOS, Android, iOS, Windows Phone, PlayStation4, Xbox One, WebGL, Oculus Rift и многие другие. Полный список можно найти на официальном сайте. Таким образом, игры Unity работают на десктопах, на смартфонах, планшетах, приставках, в браузерах, VR-очках и некоторых других системах.
- Часто вижу скриншоты с красивой природой на Unity. Как такое создать?
- Очень просто! В Unity встроены удобные инструменты для создания террейна и SpeedTree для создания деревьев и готовая реализация ветра - не нужно ничего писать или скачивать и подключать плагины - ландшафт в Unity создаётся в пару кликов.
- Что такое стартер киты?
- Starter Kit - это набор скриптов и префабов, а зачастую и графических элементов для игры. Они призваны облегчить разработку игры определённого жанра и как правило разбиты по жанрам (Action-RPG Starter Kit, RTS Starter Kit, 3D Shooter Starter Kit, Space Game Starter Kit, VR Starter Kit и так далее). Также бывают стартер киты различных игровых элементов, не связанных с геймплеем (Nature Starter Kit с дополнительными природными объектами, Medieval Starter Kit со средневековыми объектами и так далее). По сути, стартер киты выполняют в разработке игры ту же роль, что и фреймворки в программировании. Однако стоит отметить, что использование геймплейного стартер кита принуждает разработчика изучать большое количество чужого кода и чужой структуры для внесения своих изменений и полноценного использования. В связи с этим большинство разработчиков предпочитает писать почти всё с нуля, получая полное понимание работы своей игры. Новичкам крайне не рекомендуется начинать знакомство с Unity со стартер китов.
- Что нужно уметь делать для создания полноценной игры, кроме Unity-разработки?
- Кроме непосредственной разработки игры на Unity, требуется также уметь создавать 3D модели (3ds Max, Blender, ZBrush), 2D рисунки (GraphicsGale, Aseprite, Piskel), текстуры (Substance Designer, NeoTextureEdit), музыку (FruityLoops, Ableton). Не обязательно учить это всё - например, в 2D играх не нужны 3D модели, а музыка необходима далеко не всегда. Также вы можете скачивать элементы для ваших игр на бесплатных сайтах. Если у вас есть деньги, то все необходимые элементы можно заказать у фрилансеров на https://www.fl.ru/ (русскоязычный) или https://www.upwork.com/ (англоязычный).
- Бесплатен ли Unity?
- Можно свободно скачивать, использовать и продавать готовые игры на Unity с лицензией Personal - это абсолютно бесплатно! Но на бесплатной версии при запуске игры будет появляться короткий стартовый ролик "Made with Unity", а также ваши доходы ограничены 100 000 долларов в год. Для снятия этих ограничений нужно приобретать платные версии лицензий Unity. В конечном итоге, платные варианты используются лишь крупными компаниями с огромными доходами, тогда как обычные разработчики в большинстве своём используют бесплатную Personal лицензию.
Обучение
- Язык
Итак, с чего же начать изучение этого замечательного движка? Прежде всего, с изучения языка. Самые основы C# можно узнать на интерактивных курсах здесь:
https://dotnetcademy.net/CSharp/Beginner
или в текстовом туториале здесь:
https://www.tutorialspoint.com/csharp/csharp_quick_guide.htm
Для изучения основ UnityScript выучи вначале основы JavaScript:
https://learn.javascript.ru/
Помни, что далеко не все элементы JS есть в US. Чтобы понять, в чём разница между этими двумя языками, прочти эту статью:
http://wiki.unity3d.com/index.php/UnityScript_versus_JavaScript
Помни, что тебе достаточно одного языка из двух и учить их оба одновременно не нужно.
- Движок
Если ты уже умеешь использовать язык, то можно приступать непосредственно к изучению движка. Крайне рекомендется купить/скачать книгу Unity in action (Unity в действии). В ней подробно описываются множество возможностей движка.
http://www.ozon.ru/context/detail/id/34792570/
Также посмотри на видеотуториалы с официального сайта:
https://unity3d.com/learn/tutorials
Если же ты не любишь видеотуториалы (или не понимаешь разговорный английский) и предпочитаешь текст, то посмотри здесь:
http://catlikecoding.com/unity/tutorials/
Тут крайне подробно описан процесс разработки и приведены примеры кода. Эти туториалы универсальны и описывают множество различных частей игры, от работы с текстурами до генерации карты мира. А вот в этом туториале описыватся разработка двухмерной игры с видом сверху:
https://www.raywenderlich.com/61532/unity-2d-tutorial-getting-started
Это будет полезно, даже если ты планируешь разрабатывать трёхмерную игру. Ни в коем случае нельзя обойти вниманием этот сборник туториалов:
https://noobtuts.com/unity
В нём подробно описывается процесс пошагового создания разных игр - двухмерных и трёхмерных.
Разумеется, все эти туториалы охватывают лишь часть возможностей Unity. Самый надёжный способ выучить Unity - это начать делать игру и по мере разработки гуглить непонятные моменты.
Шапка: https://www.writeurl.com/publish/qzgktisltkskaitem6aa
Так сделал бы перекат, я не умею, и так неделю ждал его.
Да, я в курсе про СтрингБилдер и то что выводя в консоль оно записывается и в лог файл, но как сделать каждую ячейку одинакового размера чтобы матрица не плыла?
Можно ли как-то сделать экран загрузки во время перерисовки этого? Сцена не меняется.
Возможно Log("Value1\tValue2\tValue3"); проканает. Но я не проверял.
Я не эксперт в юнити, но мб просто панель ui по верх всего сделать на время загрузки?
Думаю можно по еблански сделать, создать массив(список или любая другая структура) объектов которые должны подтянуть инфу дать интерфейсы через которые будут отчитываться скриптику отвечающему за отрисовку говна. Ну и считай меня ползунок от кол-во отчитвашихся к всем.
Даже похоже получилось что ли? Насколько я знаю, для тру ецс надо еще сильнее разграничить системы. Например у меня одна система может ссылаться на поля объекта другой системы. То есть писать отдельную систему для передачи и получения данных между игровыми механиками.
Грубо говоря система1 может записывать значения переменная а. Система2 обращается через контроллерна геимобжекте другой системы к этим полям. Через геткомпанент<контроллер-системы1>().а. Меня с говном сожрут за такое ецс.
Я вот такое решение нашел, вроде норм, только я так понял у него корутина вообще никогда не стопается или как? Стоит ли ее стопать для экономии ресурсов?
https://answers.unity.com/questions/63413/know-when-prefab-has-finished-loading-after-resour.html
Сап Кириллы. Как бы вы реализовали такой вид лестницы в 2D?(где лестницы в основном приставные-тыкнул вверх-полез наверх)
Есть мысли, что может происходить во время этих изменений?
А не, напиздел лол. Как раз fixed dpi делает фреймтайм ровным.
а на пролете разворачивать про триггеру?
Если двигаться по лестнице A D, то нет. Если W, то да.
Тебе для каких задач? Проект на тысячу человек? Поддержка в течении десятка лет разными командами? Если нет, то не еби мозги и делай как получается, все равно на каком-то этапе превратиться в говно и нужно будет рефакторить.
Если же хочешь архитектурутм то ебани ЛеоЕЦС в проект и делай в ее рамках. Будет и гибкость и модульность и без этих кривых геймобжектах на чистом шарпе, при желании даже сможешь движок менять.
FAQ устаревший. Надо бы поменять.
>На выбор два языка - C# и UnityScript
Нет уже давно UnityScript. Зато добавили визуальное программирование на Bolt.
Над такой ебой буду думать уже на следующем проекте. Этот даведу как есть, благо небольшой. Бьюсь опять над производительностью. Запускаю на андроиде - все норм. Но заметил, если выключить и включить экран или свернуть приложуху и снова загрузить, то фпс падает.
Добавьте в шапку нормальные книги по Юнити:
https://disk.yandex.ru/i/w6rvZojJ-afx6Q
https://disk.yandex.ru/d/GGKCL4mAn7I-QQ
Player>Optimized Frama Pacing. Вот кто мне кровь пьет.
Может существует описание работы указателя? Тип при нажатии указателем проверяется если ли у нажатого объекта интерфейс айпоинтер и происходит соответсвующий ему вызов.
Я не эксперт, но думаю, что это работает так. Ты на сцене добавляешь ИвентСистем, который отслеживает указатель. Когда происходит нажатие, то ИвентСистем получает информацию о нажатом объекте и проверяет его. Если у него есть указанный тобой интерфейс, то ИвентСистем вызывает у него метод OnPointerClick(), в твоем случае это
Blocks.OnPointerClick(), в этот же метод помещается вся информация о клике в eventData. На скрине как раз указано, что это каллбэк.
После уменьшения он стал смотреть не туда, куда указывает курсор (lookat mouseposition). Если навести курсор на более дальние объекты, то снова поварачивается к ним
Видимо персонаж уменьшился, а бандин бокс остался прежним и когда мышка попадает в него то нихуя не происходит так как смотреть сам в себя он не может. Я думаю както так мимо безыгорныйнепрограмист
Ограничивающий параллелепипед вокруг модели по которому смотрится коллизия.
Всё уменьшилось.
Бля там есть коллайдер и он помечен как триггер, и он был та до уменьшения, что за хуйня ебать?
Ну держу тебя в курсе, она тогда и при ненулевой скорости у тебя отклоняется неплавно лол.
Ты сохраняешь положение игрока на -X секунды, трансформируешь и вставляешь в камеру?
Тогда надо взяь нынешнее и нужное положение камеры и приближать, ускоряя в зависимости от расстояния между двумя точками.
Спасибо, добрый человек, что-то совсем из головы вылетело, что там еще и форум есть.
Лерп к камере не советуют применять. Вектор3.что-тр там надо.
Зачем? Есть у объекта есть коллайдер, он автоматически считается статическим физическим объектом. Вроде как.
Что это? Забить или фиксить?
где-то референс на какой-то объект проебал
Первое поле сериализовано по умолчанию, потому что публичное.
Второе поле приватное и сериализовано через скрипт.
Сериализованные поля можно редактировать в редакторе сцен.
То есть если ты хочешь настроить в сцене приватное поле твоего объекта, тебе нужно указать перед ним [SerializeField].
Спасибо за объяснение , держи котика
Хуй там. Если с ним взаимодействует другой ригидбодный объект с коллаидером, то онтриггер сработает. Но у двух безригидбодных онтриггер не работает. Добавил каждому таилмапу по ригидбоди, причем кинематик, чтоб не двигался, все заработало. Так то.
С хуя ли у двух статических коллайдеров должен срабатывать онтригер? Они СТАТИЧЕСКИЕ. Не двигаются. Стоят. Предпологается что один в другой никогда войдет.
Если я поставлю их, пересекая коллаидерами, то войдут. Но раз ТЕЛА нет, то они друг о друге не узнают. Приходится на опыте это узнавать.
Если ты их поставил и они входят коллайдерами они будут в онТриггерСтай, а не в энтер. Энтер - это когда в рантайме они входят друг в друга.
Какая разница? Если не делать внутри сложных вычислений, оно не повлияет на перформанс.
Просто пиши код на русском.
https://unity.com/ru/solutions/gaming-services
Я чет не пойму как это со стороны пользователя выглядит. Игрок должен аккаунт юнити иметь и логиниться в нем или как?
На кануне в голову ебнуло. Как работает электричество? Поток электронов движется через проводник от одного полюча к другому. Значит так и нужно сделать. Сделал значит на источнике неактивный чаилд "электрон". Когда к источнику присоединяются проводники, он создает копии электрона, активирует их. А сами электроны уже в апдейте перемещают себя рандомно по проводникам, до которых могут дотянутся через массив коллаидеров проводника. Итого имеет. Источник хранит сопряжения и активирует "электроны", проводники хранят сопряжения, по которым "электрон" скачет, а активируются на несколько секунд, если на апдейте обнаружат у себя в чаилде "электрон". При этом можно задать количество прыжков через инспектор - считай мощность и еще задержку активного состояния проводника - считай остатучную намагниченность или типа того. То есть это еще можно поднастроить под любой уровень в зависимости от количества объектов.
К чему я все это написал и что тут поучительного? А к тому, что на выходных руками писал сортировку кнопочек с уровнями. Лень руками после каждого созданного уровня их расставлять и задавать кнопке уровне, вот и автоматизировал. Заодно, изрядно наебавшись освоил технику создания дочерних объектов на других объектах. И этот опыт навел на мысль собственно, как реализовать остоебенивший игромех.
Урок - не злоупотребляйте готовыми решениями, а пилите как можно больше сами или хотя бы разбирайтесь в скаченных скриптах. Решив одну задачу, вы сможете подобрать неочевидное решение у совершенно иной, никак не связанной.
Смотри лайфхак:
1. Открываешь англоязычный туториал
2. Ставишь английский субтитры
3. Нажимаешь настройки -> перевести на русский
4. Профит!
Ещё скажи, что свет зажигается от сгорания электронов, которые достигли цели - лампочки.
>делать как в жизни
Не стоит этим злоупотреблять, то что тебе помогло родить концепцию не плохо, но обычно нам нужно только сделать вид, что оно работает как в жизни. Обычно это проще.
>Как работает электричество? Поток электронов движется через проводник от одного полюча к другому.
Ты тупой, электричество это не движение электронов, это движение зарядов.
>>780860
Ты тупой, электроны движутся, Скорости, правда, незначительные (https://en.wikipedia.org/wiki/Drift_velocity).
>>780862
Мда, ну и шиз-неуч.
Яндекс браузер уже озвучивать может английские видосы на русском, хуй знает что там по качеству, но если подождать еще пару лет явно круто будет
> шиз-неуч
То что ты скинул в общем то не противоречит тому что я написал. В твоей статье так и сказано про свободные электроны. Они откуда берутся? Летят со своего атома на другой безэектронный.
Я не пробовал, может он уже заебись переводит
Нормально он все переводит, по крайней мере отдельные слова. Вместе же их составить имея контекст сможет любой хлебушек.
Это ты про ту херню с 2 булевыми и листом, которую я тебе помог сделать?
Знаешь, я на самом деле вкатился в ГД 3 месяца назад и за эти пару прошедших недель начал осваивать паттерн ECS. Так вот, ту задачу я бы сейчас решил двумя системами и эвентом (точнее oneframe), ты бы охуел от простоты, скорости выполнения и удобства.
Вывод: изучи сперва как можно больше готовых решений, потому что
информация = умение её применять + время, а пилить самому = дохуя впустую убитого времени и нервов + минимальный опыт
Про ецс понял, тоже осваиваю по мере возможности. А про уравнения не понял.
Либо за просто так, либо за пиво.
Работа вроде несложная - нужно при нажатии разных кнопок на клаве, делать вид будто нажимаются элементы управления на модельке. И чтобы еще можно было от первого лица интерачить с моделью.
тг на пике
А блять я глиномес. Сам же сделал, чтобы можно было назначать Image в котором будет спрайт сердце, и сам же обосрался от того, что убрал это назначение через инспектор => получил Null. Всё понял.
Когда есть [SF] ты прокидываешь Image в HView?
Предположу, что да. Тогда очевидно нет ошибки. Когда [SF] нет, ты пытаешься назначить спрайт, но HView._image нигде не объявляется, поэтому ошибка.
благодарю
Кстати довольно примитивные мало-полигональные модели с заливной текстурой, всё дело делает освещение и шейдер.
Ловил эту утечку раз 10 за всю жизнь, и то половину из них это в чужом забитом говне проекте.
В чем суть опен-проекта? Там же откровенно странные практики и сделали они совсем чуть при гигантской кодовой базе.
мимо
Вместо точки знак вопроса. Как повлиять?
Это сюжет какого-то сериала?
С освещение надо играться и смотреть как лучше, тупо опыт решает. Также зависит от профиля графики.
С шейдерами уже больше мозгоебля. Самое просто тупо взять готовый с стора и под него делать. Есть варик сложнее написать свой, но это займёт время чтобы вкурить, проще всего взять готовый посмотреть как в нём написано.
Ты dots используешь?
Электроны движутся, но очень медленно. А ток – это что-то вроже импульса, который между ними передаётся. Это если бы я совсем попростому объяснял,как для айтишника.
Теперь, когда знаю, да. Логичная.
Нужна помощь по диалоговой системе. Запилил ее по образу Brackeys но хочу модернизировать под свои нужды но я пока не столь хорош в кодинге. Нужен Кирилл который бы помог с этим за небольшое вознаграждение. Подробнее объясню в телеге
https://github.com/Brackeys/Dialogue-System
https://www.youtube.com/watch?v=_nRzoTzeyxU
Древнее говно мамонта какое-то. Оно хотя бы поддерживает локализацию?
Для диалоговой системы лучше Fungus использовать. Хотя его вроде тоже забросил создатель.
Короче, в любой игре у диалоговой системы примерно один и тот же набор фич, это как раз тот случай когда надо максимально использовать готовые решения из магазина. И при том эти решения должны быть хорошими и расширяемыми. Фунгус был таким одно время.
Посмотрел канал Фунгуса, диалоговой системы не нашел
Сразу подумал понаспавнить геймобжект спрайтов и скриптом их просто включать по очереди, но как там с перформансом дела будут если квадратов тыщ пять будет я не знаю, да и не аккуратно как-то на плоской мелкой поверхности столько геймобжектов спавнить.
Но по другому я не умею, подскажите как лучше.
Делаю сетку из отдельных картинок(обьектов). Текущая 1к на 1к. Брат жив, зависимость дикая. Из минусов только время на инстанс в начале игры.
1920x1080, 1:17
Либо шейдер писать с правильной ЮВ картой и заготовленной моделькой Показал базовую логику в блендере, там дальше уже все в твоих силах и мозгах. Никто кроме тебя его писать не будет либо геймобджекты инстансишь вручную. Ясен хуй вариант с одной полигональной сеткой и шейдером в миллиард раз лучше и вытянет его любое устройство, но в целом даже 10к юнити вытащить по ресурсам должен. Даже говномобилы актуальные
Прочитав и посмотрев несколько туториалов, сделал так
1. Добавил ui картинку джойстика в канвас.
2. Повесил на него компонент On-screen Stick.
3. В нем, в Control Path указал left stick [gamepad]
Теперь на моем андроиде картинку можно двигать, а значение считывается так: Vector2 move = Gamepad.current.leftStick.ReadValue();
Все ок, но, мне кажется, что тут можно упростить. Этот код по сути перезаписывает значения, которые могут поступать с реального джойстика. Моя игра джойстик не поддерживает, так что можно ли просто получить значения ReadValue(), не обращаясь gamepad.current?
А то мой внутренний перфекционизт негодует
А зачем мне доделывать? Мне нравится сам процесс, а игру может и не доделаю никогда.
>>781476
>>781493
Вы че ебанутые я же сказал что спавнить мильон геймобжектов не хочу.
>>781493
>с правильной ЮВ картой и заготовленной моделькой
Че за приколы в блендере ты показал я хуй знает, как можно из заготовленной модельки получить процедурный размер и количество прямоугольников? И что за правильная юв карта?
>Ясен хуй вариант с одной полигональной сеткой и шейдером в миллиард раз лучше
В общем успешно так и сделал, шейдеры писать оказалось не так уж и страшно как я думал, хоть и потратил полдня на такую примитивную хуйню.
За ответы все равно спасибо.
Через таилмапу не сделать
Бесплатные есть.
>В общем успешно так и сделал, шейдеры писать оказалось не так уж и страшно как я думал, хоть и потратил полдня на такую примитивную хуйню.
По гайду какому-то делал? Если да, можешь скинуть?
И покажи хоть че получилось то в итоге. Я просто в душе не ебу зачем там шейдер.
Да хуйню ты замутил, если тебе надо как то взаимодействовать с изображениями, а не просто однотипно наполнять, твоё решение не подойдёт.
если хохло-акцент не бесит
https://www.youtube.com/watch?v=I8-SsrJZv3o&ab_channel=МаксимКрюков
>мимо
Ну бля, куча видосов про то как писать шейдеры. Мне просто интересно зачем шейдер в той задачке.
Пздц, и почему я так не хочу учить как писать шейдеры. Ни в графе, ни в ручную. Будто знаю что надо месяцы на это въебать. Совершенно другая вселенная мля..
1600x720, 0:10
Кстати на все ушло чуть больше часа. Комнату сделал в блендере, текстуры накинул в паинтере, джойстики из input system. Ну, скрипт ходьбы мой, ранее когда-то делал
Красавчик, не бросай это дело! Главное следи за перфомарсом, хд не сжатые текстурки после пары комнат могут положить 10 фпс.
В яндекс картинках нашел фотку, в проге Materialize сгенерировал из нее normal map.
Отследил специально. Ставлю свежий билд, имя файла сохранения изменено на новое. После установки в Application.persistentDataPath появляется СТАРЫЙ ФАЙЛ со СТАРЫМ НАЗВАНИЕМ. Я еще даже игру не запустил, а он уже там. Хотя бы новый файл это не затрагивает. Открываю его как текст, сравниваю с новым - содержание структуры файла сохранения, такая же, как в новом файле. Что его там создает НА УСТАНОВКЕ, почему именно со старым именем, когда уже давно переписано новое, не ебу. И только с андроидом ебала эта. На пк билдах никаких файлов самостоятельно не создается.
Не ставь сторонние ассеты и работай с тем, что есть из коробки.
Залочь разрешение 320 на 240, отруби антиальясинг и в текстурах отключи фильтрацию.
Если надо более подробно пояснить - обращайся, со скринами накидаю
>Будто знаю что надо месяцы на это въебать.
На самом деле по крайней мере нодами - там главное понять логику и подтянуть матчасть по геометрии в частности по тому, как геометрия строится. И то и другое оч полезная хуйня, анонче. Плюс это можно изучать междуделом, просто собирая сначала простенькие шейдеры под себя, а потом перекатываясь на что-то серьезное.
Мимо сижу на хуе шейдерфорджа, слазить не собираюсь, дописываю его сам на коленке
так еще вопрос как выключить юнитевское освещение, скайбоксы, отражения - короче все то что там делается в lighting
Не задумывайся на эту тему и не загоняйся. Тебе нахуй не нужно туда даже лезть и ковыряться.
Создаешь материал. Выбираешь шейдер - unlit и там color, если заливка тупо одним цветом и texture, если нужно чтоб было текстуркой.
В камере можешь отключить отрисовку скайбокса, а выбрать solid color и все.
Не задумывайся на эту тему и не загоняйся. Тебе нахуй не нужно туда даже лезть и ковыряться.
Создаешь материал. Выбираешь шейдер - unlit и там color, если заливка тупо одним цветом и texture, если нужно чтоб было текстуркой.
В камере можешь отключить отрисовку скайбокса, а выбрать solid color и все.
На нем сейчас дота работает, и халвлайф аликс и зе лаб сделаны. Я могу ошибаться, но предыдущие версии движка тоже же не были публичными. Другие компании покупали у валв лицензию чтобы юзать его. С чего они вообще должны его выкладывать в открытую?
Ну не должны и хуй с ним, к чему он в этом треде вообще?
Да.
1920x1080, 0:08
Что спизднуть то хотел?
Базовая хуйня из коробки же есть, ало. Хочешь расширения функционала - обмазывай ассетами
8 гигабайт холоп
Что ты делаешь что у тебя всё время утечки?
Как последний вариант могу предложить создать новый проект, и начать переносить в него со старого, но прежде в промежуточный, чтобы понять из-за какого ассета идёт утечка. Лично так и нашёл поломанные паки ассетов, которые в определённые моменты в редакторе вызывали утечку.
Нахуя ты юзаешь что-то кроме LTS билдов?
У юнити всегда так было, что все кроме LTS кривое говно с утечкой памяти и багами. Сам ток недавно перешел на 2019.4 с 2018.4, ну и периодически аккуратно по потребности использую 2020 LTS
Норм. Вкатишься в целом без особых проблем. Учитывай только, что тебе даже не не Шарп нужно знать, а скорее Юнитишарп и танцы вокруг Юнитевых классов. И да, документация у Юнити местами кривое говно кривого говна.
О, спасибо зв ответ! Да, я понимаю, что знание чистого языка - это как бы совсем малая часть. Слушай, а можешь подсказать, что можно мне можно посмотреть по юнити на том же ютубчике пока раздупляюсь? Контента по теме очень много и мне, как новичку, сразу сложно определить, где годнота, а где чел сам говнокодит.
Как у вас к Сакутину относятся, кста? Норм челик?
>Как у вас к Сакутину относятся, кста? Норм челик?
Я из-за него теперь сам блин Юнитист разработчик ГК-шник, хоть еще год назад в ковиде работал терапевтом, лул. Юнити с 2012 ковырял как любитель. Кинул другу мол а тут оказывается ГК хуйня цветет и пашет ну и по итогу работаем в конторе в 2 лица.
Очень пиздец как любит весь код подводить ПОД СВОИ СТАНДАРТЫ МОЛ ВОТ ТАК ПРАВИЛЬНО ВОТ ТАК НЕТ. Большая цель его мыслей это подведение под его ебучие говнокурсы.
Однако все-таки полезные мысли по структуре и иерархии объектов у него проскакивают.
> Слушай, а можешь подсказать, что можно мне можно посмотреть по юнити на том же ютубчике пока раздупляюсь?
посмотри того же Brackleys. Разберись с интерфейсом, концептом компонентов, которые вешаются на объекты.
Разберись с Аниматором, который в Юнити преимущественно делается мышкой, разберись с ЮнитиГуем с его якорями и TextMeshPro (тупо плагин для юнити, который стал официальным). Ну и префабы шлифани, что это и с чем едят.
И в целом уже базовую базу будешь понимать. А дальше уже со всякими Rigidbody будешь работать, да с физикой взаимодействовать, но тут чаще всего норм уже и видосы посмотреть.
Моя первая ошибка как кодера - куча костылей за тебя написаны уже. Не нужно городить велосипед и изобретать с нуля. Погугли поищи, есть ли у юнити функция. Особенно это связано с векторами и кватернионами
А так - старайся соблюдать больше принципов ООП и меньше хардкода со всякими там поискам геймобджектов и прочего, не мне тебе пояснять.
Бля, одни гении кругом пиздец. У меня есть 2 года программирования в вебе, и вот я уже больше года колупаю юнити и шарпы, и не стал даже джуном где-то. Пару раз устаривался и через неделю уходил потому что темпы работы быстрые, а задачи не уровня раннера лево-право.
Но походу только у меня траблы с этим, потому что всем эта хуйня дается на изи. И шарпы на изи ичат, и движок и работу с ним, мозг свой перестраивают думать алгоритмически на изи.
Хех бля, сложно быть самым тупым.
Анон, повторюсь, я Юнити дрочу с 2012 года. Еще со студенчества медфака 9 сука ебаных лет. А до Юнити гейм мейкер теребил. Да и то, могу сказать что по компентенции просадки у меня супер лютые. До сих пор даже на 1/4 нормально ООП не вкурил и не осознал. Да, логику инкапсуляции въехал, но в своей тупорылой башке осознать наследование и полиморфизм один хуй не могу. Как будто место для представления не совсем есть.
Да и в Шарп базу въехал лишь благодаря другу, который так же со мной с самого начала, ну и сейчас за 9 месяцев опыт разработки прям оч сильно бустанулся, когда начал на галерах батрачить. А так - спасает приятель, который там же работает, да то, что сейчас на ГК мобильном сегменте пиздец какой дефицит кадров из-за текучки и я это прекрасно понимаю, заебался уже сам. От силы год еще отработаю и нахуй, назад в медицину.
Поэтому не загоняйся и на фоне, если есть желание - изучай, что тебе интересно и работай, где сейчас. Доп. опыт никуда нахуй не денется, а мне сейчас помогает даже самое извращенное, что я ковырял.
Запекание в вертекс колоров работа как с одним из методов со своими шейдерами, это пиздец вкуснотища, не ебущая мозги и люто недооценённая. Тупо если игра стилизованное говно под мобилы можно одним материалом всю игру сделать.
Спасибо за ответ анон. Просто каждый раз демотивируют истории из разряда "Я за n дней изучил все это и уже работаю". В ютабчике таких валом. А зайдешь на канал и видишь что они там уроки выпускают в стиле "Делаем игру за 10 минут".
Вот и думаешь, если такой поц работает джуном, то хули у меня не получается.
Тебе повезло что есть знакомые в геймдеве. По себе знаю что это бустит, если еще и человек не против помогать и он опытный. У меня в вебе был такой.
Жаль тут я тупа сам. Никто и не подскажет и не объяснит, когда искать работу, че надо +- знать, какие петы поделать и т.д.
Ведь одно дело делать тестовые, петы из разряда ртс, шутер, скурим по гайдам с ютуба. И другое видеть ГК механики текущие, которые хуй пойми как сделаны.
ГГайдов мало конечно.
>Еще со студенчества медфака
Лол, а нахуй тебе тогда геймдев вообще? Ты же врач, вряд ли сможешь как-то это совместить, а врачеванием сейчас гораздо проще заработать на жизнь чем геймдевом благодаря ковиду.
Как хобби может быть и прикольно, но для хобби ведь можно и визуальные новеллы делать и игры на рпг-макере.
Хотя я помню одного Юнити-врача. Когда в ДС жил, ходил на подготовительные курсы для работы геймдев-учителем для детей. К слову, я сам тогда был днищем без знания ООП даже и все остальные будущие геймдев-учителя не лучше.
В общем, я считаю что Юнити для технарей только. Двигать кубики каждый долбоеб может, а вот нормальную архитектуру игры написать сможет только очень подготовленный чувак с опытом.
>я это прекрасно понимаю, заебался уже сам. От силы год еще отработаю и нахуй, назад в медицину
А что так? В соседнем треде анон рекламировал как у него можно аж 30к рублей на прототипах для казуалок рубить.
Дерьмовые прототипы писать гораздо проще чем нормальные игры, так как они не требуют расширяемости и оптимизации.
Успехов тебе конечно, но ты охуеешь когда начнешь продумывать все мелочи от угла на который можно подняться, где можно застрять, что переступить, с чего скатиться, определение когда ты стоишь на платформе\выступе или уже нет (коллайдер свисать на половину), трение, гравитацию, а уже когда начнешь делать динамику физичную... Еще можно тысячу нюансов вспомнить.
Мимо проходил, выебнусь. Последний раз кодил на делфи в 2013 на 2 курсе. Вкатился в юнити в начале ноября, полет нормальный. Пилю 2д по своей задумке, уже большая часть игромеха готова. На этой неделе начал потихоньку солид принципы вкуривать и паттерны использовать. Знаний никаких, сплошные пробелы, зато интересно пиздец, прям затянуло. Специально книжек не читаю, туторы не ищу. В основном шилд по си шарпу, доки юнити по юнити и теперь еще паттерны эти. А остальное гуглешкой по надобности. Если уж совсем припечет что-то конкретное типа стеит машины, уже могу видосы поискать. Недавно нашел охуенный тутор от ноунейм тянки по стеитмашине.
Аноны, ничего не бойтесь. Если такой утырок как яндередев осилил, то уж мы то смогем.
После того как разобрался и понял работу физики в своем движке, да за пол дня. Когда делаешь это в первый раз - охуеваешь.
>Пилю 2д по своей задумке, уже большая часть игромеха готова.
Смотря что у тебя за игра.
Скажем, вот есть у тебя инвентарь и РПГ-система? Инвентарь должен поддерживать разные типы предметов, как минимум экипируемые и используемые. А если инвентарь продвинутый? Скажем, по мере получения урона игроком вещи изнашиваются я сейчас такое пишу, это пиздец и теряют свои характеристики, дают меньше бонусов. А еще нужно чтобы игрок смог назначать предметы в слоты быстрого доступа и активировать их горячими клавишами.
В общем, есть некий потолок сложности после которого игра превращается в неподъемного-монстра с которым обычному челику не совладать. На всяких геймдев-курсах про это обычно молчат. Но на деле, с Юнити упереться в потолок возможностей очень много, особенно если ты не мобильное гиперказуальное говно делаешь.
Если бы я знал несколько лет назад про него, то стал бы простые игры на Ренпи и РПГ-макере делать.
Яндере-дев, кстати, охуенен. Не по части чистого кода и архитектуры, конечно. Просто, у него память охуенная, раз он может все сотни и тысячи костылей которые сам нагородил в голове держать.
А тот профи-программист из TinyBuild который ему собирался помогать сел в лужу. Скилла не хватило наверное чтобы в таком хуевом проекте разобраться, да еще и без документации нормальной.
Всё что ты описал реализуется очень просто, и любой опытный прогер на шарпах в юнити сможет что угодно, в любую сторону расширять.
Всё зависит лишь от оплаты или же от профита исходящего от этих всех систем.
Насчёт Яндере дева. Он сделал жуткое говнище, и к тому же он тупо не обучаемый. За столько лет не подтянуть знание архитектуры делая игру, это надо быть либо шизиком, либо похуистом. В его случаи он шизик.
И судя по твоему письму, ты либо не делал ничего сложнее аркад, или мобилко казуального кала.
Но при это у него есть коммерчески успешная игра, а у 99% посетителей /гд и тебя в том числе - нет.
мимо
>>781768
Тот-то я посмотрю Стим завален отличными РПГ-играми на Юнити, а не РПГ-макер поделками. А хули, за один день инвернарь, за второй систему статов игрока и мобов, за третий - боевку, за четвертый - искусственный интеллект мобов и поиск пути. За неделю с лишним можно написать код игры не хуже Скурима, останется только контент добавлять.
Ты думаешь я тебе буду что-то доказывать? Лол.
>>781777
Проблема в данный момент всегда кроется в одном, а именно в контенте и его наполнение. Ты можешь родить супер много механов, всегда встаёт вопрос где брать графику. Для 2д или 3д артисты стоят не дёшево, а лепить пиксель или стилизацию под 2000 не всем охота.
Ты же не думаешь что у всех нету денег, и они вынуждены пилить либо говно для мобилок, или хайповый треш?
пилю лабу с комнатами-головоломками
Лаба, в смысле не лабораторная работа. Действие происходит типа в лаборатории, где гг типа лабораторной крысы, как челл в портале
1680x1050, 0:52
наверно осталось сделать подземные воды из того что действительно не хватает. и разделить тепло земли и воздуха. и придумать как эти потешные облака чтобы были в виде аккуратных кучек. ни у кого нет идей как сделать так чтобы облака кучковались красиво? у меня только хуёвые.
надо будет потом ещё разок переписать этот прототип по нормальному.
>>781702 >>781705
сисярп то легко освоить если уже погромировать умеешь. не то что бы эти сорта языков так уж сильно различались. но вот сколько у тебя времени уйдёт на само юнити это конечно вопрос. у тебя какая цель то? хелло ворлд написать? игру? самообучаться? просто палкой потыкать потому что интересно?
так то можно вообще забить хуй на инструменты которые прилагаются к юнити и начать ебошить свою хуйню минимально взаимодействуя с ним. хули оно там твой код билдит и заебись. это требует минимальных времязатрат, весело, но при увеличении сложности проекта можешь просрать кучу времени делая то что сделали уже за тебя. если хочешь сделать что-то и в перспективе закончить - лучше всё-же начни с смежных с задачей инструментов.
советую начать с чтения ДОКУМЕНТАЦИИ к интересующим тебя деталям. советую начать с
https://docs.unity3d.com/Manual/ExecutionOrder.html
и обязательно почитай про то какая манда вместо сериализации в юнити. а потом уже переходи к изучению обоих версий гуи, всяких там аниматоров (заебись инструмент кстати на нём не только анимации гонять можно) и прочего.
>>781757
лол инвентарь. любой геймдеван за первый год напишет минимум дюжину разношерстных инвентарей и на лице будет уже вмятина в форме черенка от граблей на этой почве. последний инвентарь я сделал просто через ECS и он был вполне себе функциональным и без проблем бы делал всё перечисленное с минимальным вложением моих усилий.
это же задача из разряда работы с массивами и тем как их связать с данными. разумеется новичку будет сложно. но по моему достаточно написать самописный хешсет не через жопу и этой практики будет достаточно для большинства нужд.
>>781726
да нормас всё. ну, пока тебе не понадобится конкретный коллайдер. редактировать эту хуйню тоже кстати весело не будет.
>>781787
напиши хелловорлд да сбилди, если что-то пойдёт не так то узнаешь сразу.
1680x1050, 0:52
наверно осталось сделать подземные воды из того что действительно не хватает. и разделить тепло земли и воздуха. и придумать как эти потешные облака чтобы были в виде аккуратных кучек. ни у кого нет идей как сделать так чтобы облака кучковались красиво? у меня только хуёвые.
надо будет потом ещё разок переписать этот прототип по нормальному.
>>781702 >>781705
сисярп то легко освоить если уже погромировать умеешь. не то что бы эти сорта языков так уж сильно различались. но вот сколько у тебя времени уйдёт на само юнити это конечно вопрос. у тебя какая цель то? хелло ворлд написать? игру? самообучаться? просто палкой потыкать потому что интересно?
так то можно вообще забить хуй на инструменты которые прилагаются к юнити и начать ебошить свою хуйню минимально взаимодействуя с ним. хули оно там твой код билдит и заебись. это требует минимальных времязатрат, весело, но при увеличении сложности проекта можешь просрать кучу времени делая то что сделали уже за тебя. если хочешь сделать что-то и в перспективе закончить - лучше всё-же начни с смежных с задачей инструментов.
советую начать с чтения ДОКУМЕНТАЦИИ к интересующим тебя деталям. советую начать с
https://docs.unity3d.com/Manual/ExecutionOrder.html
и обязательно почитай про то какая манда вместо сериализации в юнити. а потом уже переходи к изучению обоих версий гуи, всяких там аниматоров (заебись инструмент кстати на нём не только анимации гонять можно) и прочего.
>>781757
лол инвентарь. любой геймдеван за первый год напишет минимум дюжину разношерстных инвентарей и на лице будет уже вмятина в форме черенка от граблей на этой почве. последний инвентарь я сделал просто через ECS и он был вполне себе функциональным и без проблем бы делал всё перечисленное с минимальным вложением моих усилий.
это же задача из разряда работы с массивами и тем как их связать с данными. разумеется новичку будет сложно. но по моему достаточно написать самописный хешсет не через жопу и этой практики будет достаточно для большинства нужд.
>>781726
да нормас всё. ну, пока тебе не понадобится конкретный коллайдер. редактировать эту хуйню тоже кстати весело не будет.
>>781787
напиши хелловорлд да сбилди, если что-то пойдёт не так то узнаешь сразу.
Я поступил мудро. Пилю головоломку на физике и нескольких способностях игрока. Визуал максимально простой, простые геометрические фигуры. Никаких инвентарей. Но окружение должно реагировать на действия игрока и друг друга. Практика показывает, что кодить это куда проще, чем продумывать геимдизайн. Нужно учесть, чтобы все действия были логичны, а новые правила не нарушали предыдущих. Чтобы способность игрока не была слишком имбовой. Чтобы механика головоломки предполагала несколько решений, заранее неизвестных игроку. Чтобы механики пересекались друг с другом и измененные состояния одних объектов меняли состояния вторых. Чтобы мехника не заставляла игрока заниматься слишком муторными действиями. Чтобы механика не повторяла какую-то из предыдущих простотс новым визуалом. Как-то удалось выработать систему, чтобы удобно все это писать, но продумать как оно должно работать для меня сложнее.
что, дорожки делаешь? через то что идёт по дефолту наверно будет проще всего просто создать кисть нужной тебе формы и потыкать через Stamp Height или что-то такое. но если тебе нужно соединить ровной дорогой две точки на террейне то лучше воспользуйся какими-нибудь готовыми тулзами для рисования дорог, или напиши свои собственные.
>>781730
>Лол, а нахуй тебе тогда геймдев вообще? Ты же врач, вряд ли сможешь как-то это совместить, а врачеванием сейчас гораздо проще заработать на жизнь чем геймдевом благодаря ковиду.
Особо не распространяюсь, но коль спросил - распишу.
Работая в геймдеве я по факту работаю по 4 часа в день дома и получаю 80к. Бывает сижу и по 12 часов и думать приходится, однако:
Работая терапевтом в ковиде ты будешь получать 100к (либо 50к без ковида, а тебя будут все время желать спихнуть оттуда), тебя будут ебать как суку с 8 до 20.00, закидывая в самый пиздец. Лютые бомжатники, тараканники, быдло, отбиваться от жалоб, истерики от начальства, справки о смерти и самое главное - люди. Люди всякие бывают, анон. Да и я человек эмпатичный, понимаю у людей проблемы, стараюсь помочь. Но обслужишь 80 пациентов на день, где 40 человек на приёме, а 40 человек дома, получишь жалобу за то, что ты "по головке не погладил" (буквальная цитата) с соответствующей выволочкой от начальства и... Предложение в ГД поработать я принял как Ману небесную и мне тупо повезло. Совмещаю учебу (ординатура, место где пациенты тихие хехе) с работой и сейчас в целом доволен жизнью.
Геймдев сейчас - прекрасное прикрытие тыла. Да, окунаешься в лютый гиперказуал и куда уж мне до системных инженеров, благо Юнити в целом очень гибкий и доступный инструмент и позволяет работать даже мне.
Как доделаешь, если будет желание перенести это все на вр рельсы - дай знать. Есть норм ригидбоди во контроллер
ничем? ты скажи лучше в каких условиях ты их используешь. в норме надо писать код так чтобы тебе ими не приходилось пользоваться.
Так при инициализации ссылки сохраняй во временные tmp, зачем тебе они каждый кадр?
а в каких условиях ты ебоишишь ими в апдейт? один раз схватить и держать не?
ты давай всю ситуацию выкладывай. не такой же ты тупой что не подумал об этом раньше?
У меня 2д вид сверху. В ВР разве что можно в режиме ВР кинотеатра тыкать лол. Но все равно спасибо.
Не думал что писать код это не твоё? Без обид. Есть куча творческих деятельностей.
Хуле ты хочешь от вкатыша?
ты что творишь ололо поставь себе на стол уточку и объясняй все проблемы ей
>enemyCheck = GameObject.Find("Player(Clone)").GetComponent<EnemyDetector>().enemiesInTrigger;
>GameObject.Find("Main Camera").GetComponent<RayTouch>().enabled = false;
>GameObject.Find("BulletSpawn").GetComponent<Pistol>().enabled = false;
зачем ты каждый раз ищешь КАМЕРУ (которую лол ты скорей всего получишь если спросишь Camera.main), игрока и какой-то буллет спавн? если они такие важные то просто суй их на Awake в static поле и бери оттуда, зачем тебе искать их каждый раз
Делают одному:
LeanTween.moveY(объект, -900, 0)
LeanTween.moveY(объект, 0, 0)
Второму:
LeanTween.moveY(объект, 900, 0)
LeanTween.moveY(объект, 0, 0)
Оба заканчивают на оси у на коррдинате -180. Почему?
Кешированием.
Не могу понять, что происходит и почему грузится сцена0.
Ты уверен, что тебе надо отключать и включать их 60 раз в секунду? Может, как-нибудь иначе организуешь архитектуру?
Если тебе не надо включать/выключать функции 60 раз в секунду, то, МОЖЕТ БЫТЬ, стоит убрать нахуй эти ифы из апдейта?
Я по сути недоджун прогер, который аж пару недель назад устроился в студию и клепаю ГК. Прототипы там пиздец какие простые и это обычные раннеры по кривым. Короче, шляпа, но не об этом щас.
Подумывал закрыть некоторые базовые пробелы и вот в раздумьях ща что приоритетнее.
1. Изучать/делать прототипы ГК. Я уверен что мне придется еще минимум пару лет работать с ними, и хотелось бы поизучать разные механики. Особенно популярных игр.
Правда минус в том, что нет ни гайдов ни курсов по ГК (нормальных именно), и я не уверен что за 3 недели вообще чет сделаю. Разве что один прототип обоссанный какой-то.
2. Шейдера. Вообще ни разу не писал их и ссусь от них кипятком. Но завидую людям которые могут в них и делают очень крутые эффекты с их помощью. Подумывал о том чтобы базово научиться делать простые шейдера в шейдер графе и научиться вообще с ним работать.
3. Математика/шарпы. Ну тут все понятно, всегда актуально.
4. Ну и последнее. Я порой как еблан смотрю мониторю курсы на юдеми и иногда так и тянет чет посмотреть. К примеру как кто-то создает рпг, выживалку, стратегию или еще че. И хотя я знаю что это все бесполезно, ведь на работе другое совершенно и навыков мне не добавит просмотр. Но нихуя поделать не могу, все таки, для меня даже капсуль бегающий в лоуполи локации больше игра, чем ГК.
Вот как-то так ананасы. Помогите еблику плиз. Че бы вы выбрали?
>Прототипы там пиздец какие простые и это обычные раннеры по кривым.
Везёт, я серьезно. В моей конторе что ни новый проект- новая механика, короткую надо запилить из нихуя за полторы-две недели.
Но так- советую поискать относительно толкового геймдизайнера, готового изучать тренды, похуярить прототипы и продавать себя командой. Это на порядок выгоднее и приятнее для всяких контор и паблишеров. Особенно, если вы сможете пробить СPI - это вообще просто ковровая дорожка в нормальные ЗП.
Ну так на вскидку - idle механики оч хорошо заходят там особо метрики не так важны.
Ритм игры имеют свою нишу и кор аудиторию, если интересно, валялся где-то прототип демка и поищу удобный инструмент на шарпе находил, вообще изи клепать их.
Ну и всякие механики с разрезаниями итд - тоже рекомендую, на гитхабе есть целая пачка готовых проектов и с ними поучиться поработать тебе вот точно не помешает.
Ты падажи, я не понял. Если if не выполняется, то не ищет же object.
>2. Шейдера
Разберись на базовом уровне нодами. Либо shaderforge, либо юнити стоковый редакто, если юзаешь UWRP. Как точно начнёшь собирать мышкой и поймёшь их логику - можешь перекатиться в код. Как минимум не будет страха (там в них есть нода code, если что-то не сложное, то можешь прям в них дописывать + есть пиздатая наглядность, что на старте пригодится)
Вот значит запилил абстрактный класс.
public abstract class GetComponents
{
public GetComponents(MonoBehaviour prefab) { }
}
Наследовал от него получение компанентов, например игрока. Ему нужен компанент своего ригидбоди.
public class PlayerComponents : GetComponents
{
public PlayerComponents(Player player) : base(player)
{
player.PlayerRigidbody = player.GetComponent<Rigidbody2D>();
}
}
Дальше в конструктор монобеха игрока уже сую компоненты
public class Player : Monobehaviour
{
public Player(GetComponents components) : base(components)
{
components = new PlayerComponents(this);
}
public Rigidbody2D PlayerRigidbody;
...
Там какой-то код игрока хуе мое
...
}
Вроде все красиво, только висит этот параметр components. Который я никак не исполользую. Закрадывается мысль, что можно еще проще сделать. В статик классе GetComponents надо будет отдельный метод пилить, а конструкторы довольно удобные. Если есть способ еще поизящнее сделать, подскажите плиз.
Вот значит запилил абстрактный класс.
public abstract class GetComponents
{
public GetComponents(MonoBehaviour prefab) { }
}
Наследовал от него получение компанентов, например игрока. Ему нужен компанент своего ригидбоди.
public class PlayerComponents : GetComponents
{
public PlayerComponents(Player player) : base(player)
{
player.PlayerRigidbody = player.GetComponent<Rigidbody2D>();
}
}
Дальше в конструктор монобеха игрока уже сую компоненты
public class Player : Monobehaviour
{
public Player(GetComponents components) : base(components)
{
components = new PlayerComponents(this);
}
public Rigidbody2D PlayerRigidbody;
...
Там какой-то код игрока хуе мое
...
}
Вроде все красиво, только висит этот параметр components. Который я никак не исполользую. Закрадывается мысль, что можно еще проще сделать. В статик классе GetComponents надо будет отдельный метод пилить, а конструкторы довольно удобные. Если есть способ еще поизящнее сделать, подскажите плиз.
Это нормально что у меня там 8192? Максимальное типо. Или лучше сразу чето менять, чем в таком делать.
Не могу я не проебаться и с первого раза нормально написать. Вот монобех игрока.
public class Player : Monobehaviour
{
public Rigidbody2D PlayerRigidbody;
void Awake()
{
GetComponents components = new PlayerComponents(this);
}
...
Там какой-то код игрока хуе мое
...
}
О. Оказывается можно просто написать в эвейке new PlayerComponents(this); без присваивания. Так и оставлю пожалуй.
Я потому и спрашиваю жеж. Вот как от components избавился, кажись нормально стало. Как бы ты делал?
>Везёт, я серьезно. В моей конторе что ни новый проект- новая механика, короткую надо запилить из нихуя за полторы-две недели.
Так это тебе везет, анон. Ты прокачиваешься люто на этой работе, а я деградирую за копейки. Скорее всего уйду после НГ.
Я вообще хз как можно вот пилить новые механики сходу. Это ж пиздец как тяжко. Скажут - рисуй тут меш, или на тебе механику снежного кома где прилепает все к объекту и он растет. И я вообще не ебу как это делать. Даже хз как гуглить такое.
Так что, если ты осиливаешь такое, да еще и за две недели, то ты крут анон. Рили завидую.
Может подскажешь тогда, куда гуглить и че искать чтобы ориентироваться в этой херне нормально.
Я не понимаю что за хуйню ты вообще делаешь и зачем. Ты просто хочешь чтобы все вызовы mono.GetComponents были в другом классе, чтобы не хранить поля в основном?
То есть ты просто хочешь то, что на первом скрине вместо второго? Что за хуйню ты там городишь. Зачем это. Выглядит максимально уебищно и неудобно.
Так я все еще храню компоненты в моно. Я получаю их из другого класса. Вместо остоебеневших гет компонентс в старте одна строчка new PlayerEbanytiyComponents(this);
Она присваевает моно нужный набор компонентов через конструктор. Можно написать кучу наборов с компонентами и меняя одну строчку подрубать к моно нужный набор.
public PlayerEbanytiyComponents(PlayerEbanytiy player)
{
player.PlayerRigidbody = player.GetComponent<Rigidbody2D>();
}
То есть вместо того чтобы явно видеть зависимости класса, ты скрываешь их получение, да еще и неявным способом и заставляешь открывать класс чтобы глянуть чеж там пришло? Чет такое себе.
Ну вот например мне нужно, чтобы монетка видела компонент текста в канвасе. Туда собственно нужно записывать плюс один, когда монетку подобрали. Но у меня еще есть геимконтроллер, который тоже записывает в этот текст подобранные монетки. Только в начале сцены на старте, он их из сеива берет. Вместо того, чтобы им по отдельности прописывать FindObjectOfType<Canvas>() и так далее вплоть до нужного текста, я написал отдельный public class FindCoinText грубо говоря, который ищет этот текст. И от него наследовал гет_компанент для геимконтроллера. Монетка получила просто new FindCoinText(); Геимконтроллер получил свой геткомпонент, в который уже входит этот new FindCoinText(); Теперь для геимконтроллера не нужно отдельно писать ни эту строчку ни FindObjectOfType<Canvas>(). Если я перелопачу интерфейс игры, уберу этот текст, вообще в другое место его суну и хуй знает че еще с ним сделаю, мне достаточно в ОДНОМ классе поменять этот гет компанент, а не лазать сперва в геим_контроллер, потом монетку. Задумка такая примерно. Когда руки дойдут, я буду убирать дублирование получения неуникальных компонентов. Чем больше механик накодишь, тем больши все эти ебаные механики начинают зависеть друг от друга, а так можно хоть частично разорвать зависимости.
Сори, выглядит не очень. Получается у тебя кучу классов будет левых, только лишь для того, что тебе маячит глаза поиск объекта.
Я бы лично не строил архитектуру так, чтобы искать ссылки на компоненты. Вместо этого делал бы все через проброс явных зависимостей, по иерархической цепочке.
Да и вообще искать что-то через FindObjectOfType кроме как не на старте игры такое себе. Я не особо понимаю зачем тебе такая структура, но если тебе нравится, то используй. Все равно пока сам работаешь, можешь писать как хочешь.
Твоя правда. Пишу хуево только потому, что лучше не придумал. Вот ты говоришь - писать фаинд компоненты только в начале игры, к примеру. У меня каждый уровень на отдельной сцене, на каждом уровне один раз на старте фаинд компонент использую. А есть способ его прямо за всю игровую сессию один раз найти и применять на всех уровнях?
Неа, каждый раз когда происходит загрузка новой сцены, то идет очистка. Можно конечно сохранять некоторые объекты через DontDestroy, но обычно сохраняют что-то значимое. Какой-то гейменеджер или бутстраппер. Который должен присутствовать во время всей сессии.
Я ж говорю, если ты делаешь файнд в начале, то ладно. Это не страшно.
Вообще погугли про EntryPoint в юнити, сервислокатор и DI. Может пересмотришь архитектуру в целом. Откажешься от кучи статики, неявных зависимостей и тех же файндтайп.
1680x1050, 0:48
на самом деле интересно пиздец. абсолютно непонятно как добится интересущего меня результата, но теперь когда у меня есть достаточно много удобного для манипуляций кода то достаточно легко проводить эксперименты. а что будет если ядобавлю третью тепловую карту? а что будет если облака начнут охлаждать землю? а что будет если выкрутить какой-то важный параметр в ебические значения?
а я всего-то хотел клёвый генератор земли и чтобы были реалистичные погодные паттерны.
>>781833
soon!
>>781887
1. предположу что ГК это говно-казуалки. советую занятся именно этим на самом деле. поучавствуй с джемах чтобы не костенеть, поиграй в разные игры, попизди чужие идеи. это в любом случае гарантирует положительный результат.
2. а за три недели то осилишь? не то что бы шейдеры имели какой-то сложный синтаксис. только некоторые магические слова знать надо. неделю проебёшь на запоминание магических слов, ещё неделю на тыканье в примеры и останется нихуя на то чтобы написать что-то самостоятельное и проебать кучу времени на поимание "почему же оно не работает". я не советую трогать шейдерграф. самое интересное с ним не сделать. это всё-же инстумент чтобы даже криворукий мудак мог сделать для себя какие-то базовые вещи и получить результат, а не обучения.
3. а насколько ты в них хорош то? это актуально только если ты в них ниже среднего. ранообразие скиллов зачастую ценней чем твои навыки погромирования.
4. на самом деле смотрение видосов как кто-то творит хуйню не такое бесполезное. это же как учёба в школе. даже если у тебя в башке ничего не отложится, то ты хотя-бы сможешь вспомнить что "а вот так можно"
но у меня есть для тебя совет: если ты ещё не умеешь то настоятельно рекомендую уделить время скиллу написания своих расширений под юнити. чтобы ты вот за вечер мог накидать какой-то интерфейс для работы с данными. например удобный редактор вэйпойнтов, или чтобы ты мог написать свой собственный Handles с таким поведением как тебе надо, или интерфейс для работы со скриптабл обжектом. например попробуй написать редактор диалогов с разветлениями, или что-то такое. вот это ДЕЙСТВИТЕЛЬНО нужно чуть ли не всегда, имея такие навыки можно облегчить работу себе и всем вокруг тебя. и за три недели можно узнать много ценного.
1680x1050, 0:48
на самом деле интересно пиздец. абсолютно непонятно как добится интересущего меня результата, но теперь когда у меня есть достаточно много удобного для манипуляций кода то достаточно легко проводить эксперименты. а что будет если ядобавлю третью тепловую карту? а что будет если облака начнут охлаждать землю? а что будет если выкрутить какой-то важный параметр в ебические значения?
а я всего-то хотел клёвый генератор земли и чтобы были реалистичные погодные паттерны.
>>781833
soon!
>>781887
1. предположу что ГК это говно-казуалки. советую занятся именно этим на самом деле. поучавствуй с джемах чтобы не костенеть, поиграй в разные игры, попизди чужие идеи. это в любом случае гарантирует положительный результат.
2. а за три недели то осилишь? не то что бы шейдеры имели какой-то сложный синтаксис. только некоторые магические слова знать надо. неделю проебёшь на запоминание магических слов, ещё неделю на тыканье в примеры и останется нихуя на то чтобы написать что-то самостоятельное и проебать кучу времени на поимание "почему же оно не работает". я не советую трогать шейдерграф. самое интересное с ним не сделать. это всё-же инстумент чтобы даже криворукий мудак мог сделать для себя какие-то базовые вещи и получить результат, а не обучения.
3. а насколько ты в них хорош то? это актуально только если ты в них ниже среднего. ранообразие скиллов зачастую ценней чем твои навыки погромирования.
4. на самом деле смотрение видосов как кто-то творит хуйню не такое бесполезное. это же как учёба в школе. даже если у тебя в башке ничего не отложится, то ты хотя-бы сможешь вспомнить что "а вот так можно"
но у меня есть для тебя совет: если ты ещё не умеешь то настоятельно рекомендую уделить время скиллу написания своих расширений под юнити. чтобы ты вот за вечер мог накидать какой-то интерфейс для работы с данными. например удобный редактор вэйпойнтов, или чтобы ты мог написать свой собственный Handles с таким поведением как тебе надо, или интерфейс для работы со скриптабл обжектом. например попробуй написать редактор диалогов с разветлениями, или что-то такое. вот это ДЕЙСТВИТЕЛЬНО нужно чуть ли не всегда, имея такие навыки можно облегчить работу себе и всем вокруг тебя. и за три недели можно узнать много ценного.
В чем вообще твоя проблема в использование ФайндОбджектс и ГетКомпонент? Говнокодом считается юзать их каждый фрейм\часто. Если их закешируешь на старте и при большой нужде\событии во время игры, ничего страшного не случится, мир не взорвётся и перформанс не просядет.
мимо
Моя проблема нестолько в них. А в том, что в моем говнокоде любое изменение сразу требует влезать еще в 2-3 скрипта, а то и больше. Потому переделываю. А еще некоторые моно завязаны на конкретные объекты или чаилды. Их нужно подцеплять для нескольких объектов отдельно. Добавил я новый объект в префаб, все съехало. Вот, чтобы не дублировать код в нескольких местах, пишу универсально. Надо поменять? Поменяю в одном месте, а остальные автоматически это изменение подцепят.
>EntryPoint
Это сцена с нулевым билдиндексом? Про сервис локатор и DI не понятно, что это и для чего. Слишком высокие материи для меня пока.
Посмотри несколько code review, придет понимание как лучше писать архитектуру. Могу порекомендовать Infallible Code, а из русских ;) - Максима Крюкова.
Попробуй ECS. Разобрался один раз - готова полноценная архитектура для всех игр и чем больше есть готового кода тем проще писать новые проекты, очень удачно ложится на геймдев так-то.
Не хочу дотс прикручивать и компоненты в этом костыле геимобжектам писать. Мб на следующей игре эту бы довести поставлю дотс и на нем буду все писать. Сейчас ванильный юнити бы освоить сперва.
Дотс лучше не трогать до тех пор, пока оно не выйдет из превью.
Попробуй опенсорсные фрейморки от комьюнити, вроде ЛеоЕЦС, Морпеха, МЕ.ЕЦС. Первый самый гибкий за счет расширений и работает на чистом шарпе, второй хорошо ложиться на юнити но требует Один-плагин, третий заебись как сетевое решение.
Да, мне понравилась полная свобода от юнити в нем.
Алсо Лео - всегда отвечает в своем дискорде на вопросы, если они уже не разобраны в реадми.
Это какая-то единая точка входа в проект. Монохеб, который на авейке чет создает, может регистрировать, запускать и т.д. По сути, скрипт который инициализирует игру. И с ним ты можешь быть уверен на 100% что этот скрипт запустится самым первым. Обычно его запускают в какой-то Init сцене, а потом переходят на основную и этот же скрипт переходит туда же.
Но если проект мелкий и лень заморачиваться, то просто поставить в script execution order индекс этого скрипта. И тогда снова ты будешь знать что авейк этого класса вызовется самым первым. И не словишь какую-то херь типа null reference.
Хотя если ты уже пользуешься ECS, то мои советы это лоу уровень)
>Обычно его запускают в какой-то Init сцене
лол зачем. у юнити уже есть RuntimeInitializeOnLoadMethodAttribute и прочая схожая хуйня. лишний раз в сценах лучше не срать, а то как ты инициализируешь свою хуйню следует просто нормально документировать
Потому что инит сцена нужна для загрузки данных, подготовки, подключения различных адс и прочего. Тогда тебе прелоадер и показывают.
Атрибут этот это просто выстрел в ногу.
какие ты данные собрался в главном меню грузить которое первым открывается? там только главное меню, ничего больше. игра должна мочь полноценно работать стартуя из любой сцены.
будешь делать говно - на этапе создания проекта будешь в каждую сцену тянуть мусор в виде инициализаторов и прочей хуйни. зависимость работоспособности одной сцены от загрузки другой это не очень умно.
Мимо проходил и спрошу. Если загрузка сейва происходит на эвейке сцены под билдиндексом0 главного меню, это может привести к последствиям? Каким вообще образом пользователь может запустить игру с ненулевой сцены?
>Если загрузка сейва происходит на эвейке сцены под билдиндексом0 главного меню, это может привести к последствиям?
наверно единственное что может произойти это если повезёт то сэйв загрузится?
>Каким вообще образом пользователь может запустить игру с ненулевой сцены?
пользователь - скорей всего никак. ну, или если у тебя там есть какой-то свой загрузчик.
но на вскидку я могу вспомнить три пункта с которыми я сталкивался:
1) например когда ты пишешь сервер отдельно от юнити и он должен пройти плюс минус такую-же инициализацию. у него нулевой сцены не будет.
2) когда ты пишешь инструмент для работы со своей игрой и тебе надо чтобы они могли загрузится даже в абсолютно пустой сцене на старте юнити ещё до запуска всяких сцен.
3) когда ты работаешь с кем-то в команде то лучше не ебать друг другу мозги о том как инициализируется очередная хуйня икс.
что оно реально ощутимо повышает это общую чистоту проекта. открывать сцену и скролить иерархию в поисках инициализатора чтобы там поменять что-то это боль. медитировать на Script Execution Order чтобы твой инициализатор загружался когда надо тоже такое себе. или что ещё хуже - каждый раз проверять "а инициализировался ли инициализатор", строки вроде if(init == false) Init(); явно не являются признаком хорошей архитектуры и стабильности проекта. такие вещи как спагетти склеивающие весь проект не должны иметь никакой репрезентации в сцене, они должны загружаться всегда, везде, в любом случае.
единственный случай когда есть смысл так не делать это когда у тебя нулевая сцена это единственная сцена, или когда проект не такой сложный что ему не требуется хитрой инициализации.
лично я их не пишу.
но вообще лично я если бы делал какую-то сюжетную хуйню с кучей текста то для упрощения дальнейшей локализации делил бы текст на какие-то сцены-эпизоды и совал их в отдельные txt файлы в отдельной папке с конкретным языковым пакетом. текстовые ресурсы чем проще редактировать тем лучше же. для редактирования текста юнити лучше не пользоваться, иначе придётся писать текстовый редактор в юнити, поэтому лучше держать их максимально открыто. да и если кто-то захочет перевести твою ВН на другой язык то ему лучше тоже упростить работу.
обычно я просто сую тексты в ScriptableObject так как его проще связать с ресурсами игры. но так как у ВН обычно маловато ресурсов игры то оно вроде и нахуй не нужно.
тоже интересно почитать как это обычно делают люди.
>Не такой сложный
Фух пронесло. У меня инициализаторв всего два. Один в сцене0 грузит сеив. Второй уже в сценеN грузит стаические значения. Ни второй, ни первый мне в иерархии дергать не нужно, они уже в шаблон уровня зашиты префабами и все.
Я вот так и засунул каждую главу в свой XML файл(с локализациями). Жду ответов от других анонов, в рувне молчат, как партизаны.
Вот запихнул в скрипт префаб
public GameObject Префаб;
Префаб это кнопка с двумя текстами, вот иерархи
TabElement
tablText
tablCount
Как мне изменить текст tablText и tablCount? Это ещё одно подтверждение того, что ООП не работает, ну не могу я обратиться так: Префаб.TabElement.tablText.Text.Text
var TextTupogoHlebusheka = Префаб.TabElement.tablText.Text.Text;
TextTupogoHlebusheka = "Тупой хлебушек";
Что тебе не нравится? Кэшируй длинный обращения, если нужно часто к ним получать доступ. В чем проблема?
1680x1050, 0:33
начинают кончатся идеи как улучшить результат.
>>782059
лол если это у тебя какой-то распространённый элемент то просто сунь ему компонент в котором уже будет ссылка на интересующие тебя вещи. тебе не нужно ООП тут. ну или просто кешируй.
так то можно написать хоть GameObject go; go.gameObject.gameObject.gameObject.name = "Хуй"; но нужно ли так делать?
Префаб - вещь в себе, чтобы тебе менять состояние объекта нужно его заспавнить.
Мне не нужно менять название в списке, мне нужно менять сам текст который лежит в префабе
>>782068
Ну как сказать. Можно же им имена менять, так почему нельзя их содержимое редактировать?
Я пытался через GetComponentInChildren<Text>, но оно возвращается только первый элемент текста, а мне нужен ещё и второй. через GetComponentInChildren<Text> текст менялся по итогу без необходимости спавнить
На пике моё альтер эго.
в конце я должен иметь достаточно реалистичную карту высот и (самое важное) биом. это станет относительно статичной картой, но солвер атмосферы продолжит работать чтобы подпитывать иммерсию погодой.
следует сказать что я немного вышел за пределы изначальных целей проекта. я мог бы добиться похожих результатов и более простыми методами. с другой стороны генерация карты через шумы это то что очень легко выбивает из иммерсии лично меня, когда это замечаю.
вообще в конце должна быть игра где путешествуешь на телеге толкаемой ослом в мире похожем на дварф фортресс! делаю корованира своей мечты.
наверно следует добавить больше слоёв земли чтобы песок медленно трансформировался в почву и оно имело разную скорость перемещения подземных вод. и наверно надо поработать над миграцией рек. и начать уже собирать долговременную статистику осадков и тепла. и придумать как сделать так чтобы облака собирались в красивые кучки.
у меня на самом деле солверов атмосферы два. один там где основная движуха, а второй выше куда поднимается тепло, рассеивается и остужается. вместе с этим переносятся партиклы пара и к какому слою они ближе за тем пропорционально и движутся.
меньше всего идей как делать зоны высокого давления. низкое давление то очевидно - где воздух тёплый, он там поднимается, всё стягивается туда. а вот как мне из второго слоя атмосферы сделать зоны высокого давления снизу это загадка.
>>782072
а я и не говорил менять название. я говорил - сделай компонент который отвечает за редактирование ресурсов твоего префаба. чтобы ты сказал "префаб сделайся, префаб дай мне свой компонент, компонент меняй значения префаба". а в компонент ты уже ручками можешь в поля раскидать чё тебе там надо.
и вообще лучше вот опиши чё ты там делаешь такое. проблему лучше объяснять полностью.
Сам я раза 3 или 4 пытался вкатиться, но в результате каждый раз бросал из-за сложности и перегруженности движка. Может, юнити идеальна для людей с определённым складом ума, но не для меня.
обычно людям мешает вкатится неумение правильно задавать вопросы гуглу, а не склад ума.
а конкретно тебе ничего не мешает не пользоваться переусложнёнными на твой взгляд элементами юнити. там же всё опционально. можно оставить юнити только чтобы оно твой проект билдило, а все остальное собрать на коленке. пиши себе код и радуйся.
один хуй наиболее полезными и часто используемыми элементами в юнити как раз таки пользоваться проще всего.
Всё. я нашёл.
Префаб.transform.Find("TableName").GetComponent<Text>().text=i;
Префаб.transform.Find("Tablecount").GetComponent<Text>().text=i;
Нужно было создаться динамический список. Сколько гайдов не смотрел, так там 100500 строчек когда, когда можно это всё уместить в 10. Да и ты предложил усложнить, когда можно было просто шаблон отредактировать и создать его копию с помощью Instantiate
> юнити идеальна для людей с определённым складом ума
Да, она идеальна для нормальных людей, тебе лучше что полегче поискать
>сложности и перегруженности движка.
Я хуй знает что в нём сложного. Проще только ебучий геймейкер или констракт с рпгмейкером. Суперидеальный компромис между работой кодера и дизайнера, объединённый в один гуй.
Но так - задавай вопросы и приводи примеры, обсудим на конкретике. И да, если ты не осилил - значит тебе это нахуй и не нужно, анон.
>Аукнется ли пиздёж где-нибудь при публикации игры на различных площадках или прочих действиях. Или можно спокойно быть лже-пендосом или казахом?
Сомневаюсь. В целом никто особо, кроме отбитых дегенератов не преследует за готовые ассеты потому что в большей степени они лютое говно, которое годится только как плейсхолдеры или для изучения
>Скажут - рисуй тут меш, или на тебе механику снежного кома где прилепает все к объекту и он растет.
> рисуй меш
Так уже компонент меш рендер есть, лул. Сам и нарисует. Буквально мышкой перетаскиваешь модельку в сцену и всё.
> на тебе механику снежного кома, где все прилипает
Юзаешь коллайдеры, проверку столкновения и вешаешь уже готовый Joint компонент.
Все это вопрос тупо опыта и практики. Больше опыта и больше проектов - больше дерьма увидишь и чот запомнится. Успеха ковырять и искать варианты. В том числе всякие готовые гитхаб проекты, там бывает просто золото валяется.
Если несколько одинаковых геимобжектов, юзай GetChild(i). Хоть по одиночке, хоть в цикле.
Лул я как раз что-то похожее реализовал через джоинт компонент.
мимо два месяца назад вкотилси
Как вот это выражение/техника (+= _ => run = true) называется, как загуглить?
делегат
>Так уже компонент меш рендер есть, лул. Сам и нарисует. Буквально мышкой перетаскиваешь модельку в сцену и всё
Не особо понял о чем ты вообще. При чем тут компонент и рисование/изменения меша в рантайме.
Нахуй тебе рисовать\изменять меш в рантайме? Ты в курсе как это бьет по перформансу? Каждое действие с мешем, это выгрузка всех вершин и треугольников в массивы, прогон их по алгоритмам как ты хочешь изменить и на основе этих данных создание нового меша.
Проще сделать 10 заранее заготовленных вариаций меша, и тупо их менять.
Ну я как раз мобилки и делаю.
>геометри шейдоры
Шейдер меняющие геометрию или делающие вид, что меняют? Ни разу не сталкивался.
можно прямо в шейдоре ебошить поток треугольников. например дать шейдору плоскость, сказать "нарисуй мне тут короче треугольники и чтобы было на траву похоже". https://roystan.net/articles/grass-shader.html
ну и вообще миллион других применений. всякие там симуляции ткани, воды, анимации. а если ещё тесселяцией поигратся сверху то ух.
удобно же когда ты делаешь какие-то расчёты на гпу прямо там их и держать
например у меня >>782068 партиклы в левом верхнем углу никуда с гпу не перемещаются, я даю шейдору буффер партиклов пара и они там сами себе рисуют квадратик, придают ему свет, размер исходя из своих значений.
алсо в целом это может быть производительней и красивей обычных решений текстурок с альфой. так как очевидно что никакой альфы тут нет лол и это позволяет пользоваться всякими трюками с рендерингом где наличие альфы может мешать. но очевидно что всякие интересные вещи могут быть трудозатратными.
но иногда того стоить. например трава в зельде выглядит заебись и её оттуда пиздят все кому не лень
А как будешь логику к такому террейну прикручивать? Например, если мне нужно, чтобы звук шагов по траве отличался.
Чет не заметил никаких изменений после установки, да и чет не нашел ни документации, ни каких-то примеров использования в инете. Не совсем понятно что это.
Процедурная анимация круто выглядит для роботов или насекомых, но я так и не нашел ее нормального применения для людей. Я бы в идеале хотел совместить процедурную анимацию/инверсную кинематику с уже готовыми анимациями (чтобы можно было использовать разные походки), но работа это конечно не простая будет, было бы круто, если бы где-то уже были похожие примеры.
Еще очень интересует как сделать поворот персонажа, чтобы его ноги не скользили? Здесь процедурная анимация с ИК выглядит получше, но все равно не совсем понятно как это будет выглядеть. Задача эта выглядит достаточно стандартной, может есть какие-то решения, которые из коробки будут могут взять анимация поворота на 90 градусов и корректно отображать ее для поворота на 30 градусов, чтобы стопы оставались на своем месте во время движения? Ну или хотя бы какие-то примеры реализации чего-то подобного.
лол ну тут уже по пунктам надо объяснять в каких из них у тебя недопонимание
1) всегда можно совать в шейдор интересующую тебя координату, вызывать нужную функцию шейдора и говорить "эй а нука сунь мне в буффер че тут у тебя и сунь мне это в массив чтобы я поглядел" и исходя из этого уже нужный звук воспроизводить. перемещение данных с гпу на цпу это не сложно. сложно когда это большой объём информации.
2) это генерация общей формы террейна. если тут минимальный размер клеточки это ширина небольшой речки то я сюда траву просто не смогу воткнуть. здесь грид 512х512. чтобы как-то траву сюда засунуть разумеется мне надо будет увеличить плотность грида раз этак в 8-16. типа там понатыкать деревьев, сделать круги жухлой травы под этими деревьями, дороги там, тропинки всякие, которые явно будут более узкими чем даже самая минимальная река. поэтому разумеется это просто информация для дальнейшей генерации. и разумеется даже можно забить хуй на генерацию всего сразу. игрок подойдёт к локации тогда можно уже на ходу придумать где там трава растёт.
на глаз ну такой остров наверно 100х100 км может. где-то там плюс минус размером с Гавайи. пять клеточек на километр чёто явно маловато будет для травы.
один хуй звук проще брать просто пуская там лучик вниз и смотря куда он падает. если на землю то проще просто читать сплатмапу.
>>782230
собственно, оно стабилизирует ноги самой анимации. попробуй пока оно ходит начать крутить вокруг своей оси. ну, если у тебя там конечно правильно указаны ноги в аниматоре и существо гуманойдное.
с процедурной анимацией для людей я не советую возится. для роботов-насекомых она отлично работает, но для людей такое себе. но так то это уже от стилистики проекта зависит. например то что было в overgrowth не так сложно сделать.
ой да нахуй это надо. в аниматоре был помню какой-то клевый параметр. https://docs.unity3d.com/ScriptReference/Animator-pivotWeight.html вроде этот. он говорит о том насколько сильно персонаж "нагружает" ногу правую или левую. просто сделай так чтобы при каких-то граничащих значениях нога нахрен прилипала к земле. сампли координату и суй туда ногу инверсивной кинематикой. или сам там руками укажи у нужных тебе анимаций когда им самплить координату и суй туда ногу инверсивной кинематикой. это самое простое и достаточно рабочее решение.
лол ну тут уже по пунктам надо объяснять в каких из них у тебя недопонимание
1) всегда можно совать в шейдор интересующую тебя координату, вызывать нужную функцию шейдора и говорить "эй а нука сунь мне в буффер че тут у тебя и сунь мне это в массив чтобы я поглядел" и исходя из этого уже нужный звук воспроизводить. перемещение данных с гпу на цпу это не сложно. сложно когда это большой объём информации.
2) это генерация общей формы террейна. если тут минимальный размер клеточки это ширина небольшой речки то я сюда траву просто не смогу воткнуть. здесь грид 512х512. чтобы как-то траву сюда засунуть разумеется мне надо будет увеличить плотность грида раз этак в 8-16. типа там понатыкать деревьев, сделать круги жухлой травы под этими деревьями, дороги там, тропинки всякие, которые явно будут более узкими чем даже самая минимальная река. поэтому разумеется это просто информация для дальнейшей генерации. и разумеется даже можно забить хуй на генерацию всего сразу. игрок подойдёт к локации тогда можно уже на ходу придумать где там трава растёт.
на глаз ну такой остров наверно 100х100 км может. где-то там плюс минус размером с Гавайи. пять клеточек на километр чёто явно маловато будет для травы.
один хуй звук проще брать просто пуская там лучик вниз и смотря куда он падает. если на землю то проще просто читать сплатмапу.
>>782230
собственно, оно стабилизирует ноги самой анимации. попробуй пока оно ходит начать крутить вокруг своей оси. ну, если у тебя там конечно правильно указаны ноги в аниматоре и существо гуманойдное.
с процедурной анимацией для людей я не советую возится. для роботов-насекомых она отлично работает, но для людей такое себе. но так то это уже от стилистики проекта зависит. например то что было в overgrowth не так сложно сделать.
ой да нахуй это надо. в аниматоре был помню какой-то клевый параметр. https://docs.unity3d.com/ScriptReference/Animator-pivotWeight.html вроде этот. он говорит о том насколько сильно персонаж "нагружает" ногу правую или левую. просто сделай так чтобы при каких-то граничащих значениях нога нахрен прилипала к земле. сампли координату и суй туда ногу инверсивной кинематикой. или сам там руками укажи у нужных тебе анимаций когда им самплить координату и суй туда ногу инверсивной кинематикой. это самое простое и достаточно рабочее решение.
Update()
{
If (hasSubscribes) {
Можно хуярить тяжёлую шнягу
..
... когда что-то подписывается на события чтобы у него счётчик событий менялся? типа там ктото подписался и ты сразу счётчик++. отписался а ты счётчик--. считай количество подписавшихся.
а вообще лучше весь контекст дай. подписываться на события далеко не лучшая идея на самом деле. это спагетти пронизывающее проект не заметно для тебя.
Если никто не подписан, делегат будет null. В чем проблема? Или юнити-евенты иначе работают? Я их не использую просто.
Как вам код? Я хз, как я пишу, никому не показывал ранее, работаю в другой сфере, так что не знаю, не обосрусь ли я с таким подходом в будущем.
Я хочу сделать так, чтобы логика игры хранилась только в скриптах Level1.cs, Level2.cs, Level3.cs, и т.д. Моя игра - это просто уровни, которые нужно проходить друг за другом.
Коды игровых компонентов (игрок, плитки, двери, и т.п.) не имеют никакой игровой логики, они лишь предоставляют события и публичные методы, то есть, их вполне можно юзать в других проектах, не вычищая логику от прежней игры, разве что модернизировать
> Void UnderPlayer
Ты перепутал то, кто должен делать работу. Не игрок должен проверять каждый тайл, а тайл должен On Collision Enter или онтриггер энтер брать коллайдер компонент игрока, чекать есть ли там скрипт игрока и сообщать тому и не только игроку, но еще какому-нить там скрипту менеджеру, отвечающему в целом за пазл за статус "наступил или неочень".
Так, код чистенький, читаемый, базару нет, все аккуратно. Но на иерархии, кто должен делать какую работу на самом деле приходится пиздец бошку поломать.
>Не игрок должен проверять каждый тайл,
Игрок не проверяет каждый тайл, он вообще ничего конкретного не проверяет. Событие PlayerCollision.instance.eventUnder просто уведомляет, на каком объекте игрок стоит(идет) в данный момент, и передает в параметр коллайдер этого объекта. Если игрок стоит на полу - рассылаем Invoke("коллайдер пола"), перешел на воду - Invoke("коллайдер воды") . Все это вычисляется raycast-ом вниз. Без логики, тупо отдельная полезная функция компонента "персонаж".
В будущем, когда я добавлю скрипт, который отвечает за звук, я там тоже сделаю подписку на PlayerCollision.instance.eventUnder, чтобы знать, на чем идет игрок - если на воде, то включаем звук ходьбы по воде, если под ногами дерево, то скрип досок и т.п.
Или, по твоей логике, я тоже должен добавить на воду и пол OnEnterTrigger, где буду проверять, не игрок ли наступил? И так по всем объектам на игровой сцене, на который игрок может наступить? Какой-то дубликат получается. Лучше пусть будет в одном месте.
И вообще, добавлять в Tile проверку на коллайдер игрока - это по сути внедрение игровой логики, ведь мало ли кто может наступить на Tile. А мы туда запихаем логику, что наступить должен именно игрок. А логика должна быть в специальном классе, а не разбросана по всем компонентам.
Все это глубокое имхо конечно же
Слишком много мусорного пояснения, ты же не в компании работаешь? Запомни, на функцию максимум нужна 1 строка комментария.
Есть разница когда сотни тысяч кода и его пишут несколько десятков людей и у всех свои мысли, и когда ты один пишешь.
База.
Глянь вот это, может поможет. Блоки транзишон дюрэйшон и транзишон офсет.
https://www.youtube.com/watch?v=FF6kezDQZ7s&t=626s
blendtree юзай и синхронизируй скорость бега
Вопрос ещё в силе, да...
Планирую выкатывать проект на многих площадках: как популярных, так и нет. Пресет используемый обязательно нужен, т.к. на нём вся логика написана.
Если для тебя 15 баксов проблема, то и проект твой не взлетит и разницы нет заплатишь ты или нет, всем будет похуй на тебя.
Цель: хочу укатить в гейдев прогером на той же юнити хотя бы. Саму юнити я очень поверхностно знаю, чутка их курс проходил по основам, да и сам немного копался в движке, но думаю это все хуйня
Вопрос: хули мне делать дальше? Уже начинать пилить свое инди говнище для ПОРТФОЛИО, или пока рано? Что после той книги изучать? Я сам хотел литру по алгосам или по написанию не говнокода. Все правильно? Помогите мне!
никак? нахуй ты префаб трогаешь перед тем как сделать его инстанс?
как всегда. найди самую базовую хуйню какую можешь найти и попытайся её сделать постепенно усложняя.
как насчёт оффициального туториала?
https://learn.unity.com/tutorial/writing-your-first-shader-in-unity
а да. и конечно-же
https://docs.unity3d.com/ru/2019.4/Manual/ShadersOverview.html
это - вполне адекватный материал для обучения. НЕ ПЕРЕСКАКИВАЙ ШАГИ. не смотри туториалы залпом, иначе в одно ухо влетит, в другое вылетит.
но кстати сюрфес шейдоры в целом можешь скипнуть. они в целом не нужны. конкретно эта страница одна из наиболее полезных
https://docs.unity3d.com/2019.4/Documentation/Manual/SL-VertexFragmentShaderExamples.html
а эту рядышком держи.
https://developer.download.nvidia.com/cg/index_stdlib.html
Как по твоему лучше решить такую задачу: хочу сделать видимость вычитания одного меша из другого, например сделать дыру. Вот пример: https://github.com/hecomi/UnityScreenSpaceBoolean но тут как я понял дергают устаревшее апи и я не могу разобраться что тут происходит и нагуглить информацию про командбуффер. Чувствуется, что можно сделать в разы проще.
Есть же Stencil тот же? Как мне узнать место пересечения двух объектов и нарисовать глубину, чтобы выглядело как "разрез" меша.
да наверно плюс-минус так-же как тут. сверял глубину, переставал рендерить основной меш на пересечениях и рендерил вывернутый наизнанку вычитаемый меш.
хотя зависит от области применения. можно и подзаебаться и написать(или украсть) библиотеку для булевых операций над мешами. можно и через рей маршинг https://youtu.be/Cp5WWtMoeKg если тебе надо только это и ничего кроме.
про комманд буффер можешь почитать собственно в мануале.
https://docs.unity3d.com/Manual/GraphicsCommandBuffers.html
>Есть же Stencil тот же? Как мне узнать место пересечения двух объектов и нарисовать глубину, чтобы выглядело как "разрез" меша.
отрендерить глубину обьектов заранее и сравнить её на этапе когда их рендеришь?
хотя лично моих знаний явно не хватает чтобы такое за пару вечеров сделать, я тебе тут только с дивана вещать могу.
>рей маршинг
Отличная штука, спасибо.
Тема шейдеров выглядит неподъемной если честно. Может стоит начать с того как вообще происходит рендер, или не лесть туда?
я бы не советовал лезть в какие-то базовые процессы, пока не станет понятно что тебе хочется в них поменять.
луче начни с чего-то максимально простого. окрась там кружочек в один цвет, поэкспериментируй с тем как покрасить его в какую-то текстуру чтобы понять как разные функции шейдора передают друг другу данные, погляди как работает местный синтаксис, погляди что делают волшебные слова в шапке шейдора вроде Tags{ }, Blend, ZWrite и тому подобное, прочитай про семантику чтобы понять что за волшебные SV_POSITION, TEXCOORD0, COLOR0 и так далее.
ну и заведи себе отдельно проект с шейдорами чтобы пользоватся им для референса. но ещё раз - начни с чего-то максимально простого где тебе будет понятно что там написано целиком и полностью и используй это как отправную точку. я вот тоже наверно первые 3-4 дня просто сидел, компостировал себе голову туториалами, а когда открыл пустой шейдор и попытался что-то написать то не смог написать нихуя. а потом скопипастил самый простой шейдор который нашел, обосрал его с ног до головы коментариями что где происходит и после этого как-то что-то попёрло и я стал прогрессировать.
если хочется познакомится с каким-то базовым синтаксисом то можешь потыкать вычислительные шейдоры. там мало волшебных слов и он больше похож на привычный код. например >>782068 это написано на вычислительных шейдорах где почти нету магических слов. для примера так выглядит у меня одна из четырёх функций для перемещения массы по векторфилду (кто увидел где билинейная интерполяция тот молодец) чтобы получить эффект вызывается сначала одна потом вторая
вообще из каналов с туторами наверно этого хуя могу вспомнить https://www.youtube.com/c/WorldofzeroDevelopment он иногда делает видео где пишет простецкие шейдоры на коленке. в его первом видео он буквально пишет самую элементарную хуйню и достаточно медленно набирает сложность.
Вот есть такая штука как volume, создается в сцене для управления постпроцессингом.
Как сделать так, чтобы вольюм применялся только к одной конкретной сцене, а не ко всему вообще?
Вот не хочу я при каждом переходе между сценами двигать ползунки, менять там яркость или контраст, хочу сделать пачку пресетов на все случаи жизни и распихать по нужным сценам.
Сейчас так не работает - изменив что-то в одном месте, меняется везде.
Действительно этот пчёл классный.
Алсо оставлю тут ссылку, если будет кто-то читать эту ветку или найдет через поиск: сайт где в рантайме можно менять код шейдера и смотреть на результат: https://www.shadertoy.com/view/ldsfDX
само видео https://youtu.be/Y2IADn-wAZM
Я лошара, забыл что можно создать новый профиль и подцепить его к любому волюму..
Смотря насколько глубокий и зависит от архитектуры. В общем случае нет никакой разницы из чего считывать состояние мира, из заранее созданных сцен тобой или юзверями. Но инструменты для них ты заебешься писать.
Как сделать?
Можно конечно наделать дохерион клеток, и потом их расставлять - это говно решение.
Подумал сделать через шейдер (просто смотреть позицию вершины, и выбирать какую-то текстуру), но понял что я не очень в шейдерах
Есть что-то готовое?
Посмотри эти видео:
https://youtu.be/xh1U0Bf6wKw
https://youtu.be/2o4V4mscYOo
Там чуть не об этом, но есть несколько приемов что могут подойти и тебе.
Делаю сервер к своей unity-поделке и тут мне понадобилось заюзать физику. Хоть и примитивную, но всё же. При попытке вызвать Physics.Raycast получил по ебалу:
> System.Security.SecurityException: 'ECall methods must be packaged into a system module.'
Да, сервер - не unity-проект, обычный c#, консолька. Есть варианты вылечить? Очень не хочется заниматься дрочевом с физикой, которую потом ещё с клиентом надо стыковать.
Хотя, возможно, я что-то не так делаю, и есть куда более простой способ получить произвольный Vector3 на меше (место попадания пули, место соприкосновения с поверхностью).
Когда-то давно делал такую хуйню на monogame и тотально заебался
как сделать чтобы текстура растягивалась на всю плоскость, независимо от количества полигонов? А то слева тайлится
(справа то что хочу получить - но это плейн с одним фейсом)
Может потолок повыше поднять, а то как-то пространства сверху как будто недостаточно
Модет тебе тайлмапами сделать? Нарезать на блоки текстуру в спрайтедиторе можно.
Сделай, как в чистовом заводском цеху. Потолок за стеклом, чтобы пылинки не летели. Прозрачные перегородки наверное не подойдут, но если исптытуемый выйдет за рамки тест камер и слегка увидит изнанку, то тоже к месту придутся.
Спс.
Вот мне нужна примитивная камера от первого лица. Почему нет нормального легкого ассета?
Не говна на сто гигов и тыщу баксов которое пердит в 10 фпс на топовых 3090 из-за дохериона всяких ненужных скриптов (я про UFPS если что)
А минималистичный скрипт который нужен в 99% игр от первого лица и которого для этих игр достаточно.
Да-да, напиши сам... классика. Сначала орут что движкописи долбоебы раз пишут свой движок, ведь в юнити все есть. А потом на любую проблему "напиши сам". Ну и где это "все есть"?
Ну хорошо. Сделать скрипт движения просто... А дальше? Как делать прыжок к примеру? Есть дохерион туторов... Только все они - говно, потому что кажется они скопированы с какого-то одного туториала, иначе я не могу понять почему в них всех есть один неприятный баг (и не только в них, но и в тех трех бесплатных ассетах из ассетстора) - когда прыгаешь прижавшись к стене - то просто застреваешь в этой стене, потому что они все сделаны по принципу объекта ground в ногах, который сообщает о косании - но какой прикол - о боковом косании (и даже о потолочном - если как-то умудрится это сделать) он тоже сообщает и код считает что игрок стоит на плоскости, а он на самом деле стоит на воздухе
Вообще не хотел это писать - но тут тыкал в одну игру в раннем доступе - там таже самая бага с застреванием при прыжке... Реально ощущение что когда-то кто-то один написал кривой туториал, и его до сих пор все копируют.
А еще какой прикол - как делать чтобы в прыжке нельзя было двигаться аки нинзя во все стороны? Как нормально настроить гравитацию, потому что -9.8 - это говно, с ощущением будто ходишь по луне (и какого хуя гравитация не встроенна в character component?)
Бесит. Три дня ебусь с ебучей камерой для своей рпг от первого лица в стиле хексена (самое смешное что 90% проблем, которые мне нужно решать, в движкописе просто нет. - так как все эти проблемы - это борьба с ебучим юнити)
Вот, выделил два ассета из ассетстора - и в обоих эта проблема - если прижаться к стене и прыгнуть - игрок застрянет в середине стены (капсула - это игрок, и он там просто не двигается, а висит, пока не отпущу кнопку движения).
И этот баг я видел в 90% уроков с ютуба
Почему я должен решать такие проблемы вместо написания игры?
на 1:40 - это элемент геймплея. У меня же это баг - и этот баг очень бесящий потому что создает эффект застревания в текстуре. в этих ассетах нет отпрыжки от стены.
Вот бы эти хайпожеры выкладывали свои скрипты... А то все красиво, но вам ничего не дам, но вы мне обязательно накидайте лайков и еще патроном не забудьте стать..
У него это не баг ассета, а баг модельки игрока. Коллаидер-сфера под игроком выпирает по бокам и цепляется за стены, что позволяет прыгать несколько раз. Как у тебя механика прыжка работает?
Вот тот ассет... можешь глянуь
https://assetstore.unity.com/packages/3d/characters/modular-first-person-controller-189884#content
(забавно, но автор этого ассета знал об этом баге и очень аккуратно двигался на второй оранжевой лестнице чтобы не зацепится (если бы он прижался к ступеньке - он бы застрял, поэтому он так аккуратно делает пару шагов там)
И это не конкретно проблема этого ассета.
таже херня есть тут
https://assetstore.unity.com/packages/tools/input-management/mini-first-person-controller-174710#content
Таже херня будет если делать по этому видео
https://www.youtube.com/watch?v=kQJzsxt0lrw
Как я думаю - проблема в том что они в ноги создают объект который сообщает о столкновении с полом... Но столкновение может быть не только в ногах, но и сбоку, сверху и т.д. - поэтому и получается застревание
Проблема если что не в прыжке, как действии, а в обработке ситуации нахождения игрока в воздухе (пока игрок в воздухе и та точка не коснулась земли, игрок падает... но если точка каким-то образом столкнется с чем-то еще - игрок также перестанет падать, даже если он в воздухе)
> Есть на гитхабе буквально сорс ФПС контроллер основанный на исходниках халвы
> Жрут ноунейм говно
Я же сказал. На гитхабе. (Там вообще дохуя годных ФПС контроллеров) Контроллер основан на слитых сорцсдк и переделан под Юнити. Из плюсов - он не ублюдский ригидбоди и не чарконтролер. А самописный. Не буду же я быдлу просто так от широкой души ссылку кидать.
>в движкописе просто нет
>так как все эти проблемы
>это борьба с ебучим юнити
Проиграл. Хлебушек не можешь написать свой контролер управления движениями, обработать кейсы застревания и настроить гравитацию просто взяв куски чужого кода и переделов под себя, но уверен что сможет написать свой движок. Какие же ньюфаги долбоебы, пиздец просто.
Ты только что ControllerGate
а вот в этом тоже минимум 2 бага есть https://assetstore.unity.com/packages/tools/physics/character-movement-fundamentals-144966
да можно и просто через рефлексию. или привязывай одни скриптабл обжекты к другим.
Лично делаю так - Переношу все объекты и их свойства в строку, и записываю массивом. Брат жив, зависимость дикая. Но если надо делать запись/чтение часто(каждые 10 сек к примеру), то естественно такой вариант не подойдёт.
лол ну а как иначе то. в норме когда делаешь хуйню любой сложности отличающейся от базовой у тебя персонаж начинает состоять из множества стейтмашин сразу, а иногда и выстроенных в какой-то иерархии
Вопрос уважаемым знатокам.
Сейчас смотрел видео с объяснением разницы между с# и жавой. Общий смысл сводился к тому, что разницы почти нет.
Почему тогда игровые движки, типа юнити, работают с шарпом, а не жавой? Разница всё-таки какая-то есть?
Я сейчас может туплю, но что-то не могу найти. Вот можно в юньке спрайтам в спрайтедиторе границу тайлинга определять. А как сделать тоже самое не для единичного спрайта, а для тайлика в тайлпаллетке. Чтобы эффект был как в мануале по ссылке, но работать можно было бы с тайл паллетами.
Сам новичок, но про шарповские интерфейсы понял следующее. Они нужны не самим классам наследникам, а клиентам, в которых ты будешь обращаться к экземплярам классов наследников через интерфейсы. Вообщем создавай абстрактный класс, в нем Метод1, Метод2. От него наследуй конкретный класс реализацию, в котором например будет как Метод1 и Метод2, так и новый Метод3. А клиенту нужны только Метод1 и Метод3. Тогда класс клиента будет обращаться к экземпляру конкретнаого класса реализации через интерфейс с Методом1 и Методом3. Абстрактный класс будет реализовывать такой интерфейс. Если требуется наследование нескольких интерфейсов для нужного тебе результата, почему бы и нет. Как по мне можно наследовать интерфейсы друг от друга сколько угодно.
Все это имхо дилетанта, с удовольствием почитаю мнение опытного проггера, заодно и просвещусь.
Я как обычно все напутал. Не ява, а явасурипт, вернее близкий к нему юнитискрипт. Поддерживался в старых версиях. Сторонний код с явы тоже можно прикрутить, но там костыли какието.
>>782802
А еще до заноса от майков Юнити вообще крутилась на монобехейворе - опенсорц версии С# и по сути никому нихуя не должна была.
Проблема явы - суровый энтерпрайз и уже во внутренних кулуарах там есть ньюансы. Да, шарп и ява родственные языки, но местами подход в разработке разнится просто что пиздец.
>>782806
>>782802
Мало того, если яву упростить до дефективности, то шарп вполне адекватен. Неудобен в классическом варианте, конечно, но это чисто техническая загвоздка. А любая загвоздка - суть уловка - в рамках упрощенного монобехейвора быстро подгрызается, и нет никакой возможности это понять.
Юнити каталась на шарах, потому что они неплохо на них пахли и еще потому, что это как бы само решилось, пусть даже в максимально убогом варианте.
shadertoy
В чем отличие стандартного рендер пайплайна, Universal Render Pipeline, High Definition Render Pipeline?
Что лучше подходит для мобилок?
urp, он самый оптимизированный. hdrp это для йоба графона, а про стандард забудь - он в юнити для совместимости.
В чём отличие от стандартной физики?
В чем отличие urp от стандарта? В шейдер графе? Или не лезть в эту тему?
Может посоветуешь почитать что?
сап анон пилю в свободное игруху, сейчас ботов пишу, такой вопрос, как после смерти бота убирать его колайдер? Я не хочу уничтожать один объект и новый создавать без коллайдера. Просто я точно уверен что можно как то обратится к капсуле и отключить её, чтобы игрок не натыкался на труп с частичной возможностью его пройти.
Если такого нет то как можно обратится к капсуле и плавно убрать её под землю, а там уже уничтожить.
Кароче сделать так чтобы игрок на побоище не натыкался на купсулы с проигранной анимации смерти, а свободно ходил по трупам.
// keshieruesh komponent
_boxCollider = GetComponent<BoxCollider>();
// kogda ubili
Destroy(_boxCollider);
// Ili zhe
_boxCollider.enabled = false;
Оказывается всё просто. Спасибо.
Единственно не boxCollider, а capsuleCollider
public CapsuleCollider capsuleCollider;
------
capsuleCollider = GetComponent<CapsuleCollider>();
------
capsuleCollider.enabled = false;
Ботов теперь можно даже воскрешать после смерти, на том же месте.
Без проблем, браток. Обращайся. Но лучше за такими простыми вещами в гугл - намного быстрее будет.
Пиши лучше просто Collider, он найдет любой.
В игрушке надо запилить симуляцию роста дерева(Желательно плавную). Я совсем не выкупаю как это все проделать. Пытался использовать Unity.TreeEditor для рандомной генерации меша и последующего изменения, но эта хрень максимально не оптимизирована. Сохранять тысячу префабов для леса, так еще и ран тайме вроде нельзя префабы делать.
Кароче, помогите. Нужно чтоб дерево росло и это можно было контролировать. Есть какие то решения? Гайды? Инфа хоть какая то нужна.
Так может просто менять деревья с модельки на модельку, пока игрок далеко или еще каким костылем. Зачем такие сложности городить ради того, что даже в геимпле никак не отражено.
Хотелось бы реально симуляцию сделать. Там еще рубка будет, и следы от рубки будут прям в меше. Это же VR нужно максимум реализма.
Но честно говоря, ебалово еще то. Подумываю поумерить пыл. Но мож кто подскажет что.
Я тоже видел. Там не совсем то, мне кажется. Можно ли будет с использованием шейдеров: Остановить рост в любой момент/изменить меш во время роста из вне?
Потому что реализм в том что деревья десятки лет растут, поридж тупой, у вас биологию в школе уже не преподают?
ой блять. Есть игровые условности, что 1 день в игре равен 1 минуте ИРЛ например. К чему ты это высрал про десятки лет роста?
Согласен на счет оптимизации. Тогда поубавлю амбиции.
Как то реализовать все равно надо такие требования:
Требования к системе деревьев.
-Случайность форм.
-Параллельный рост.
-Непротиворечивость с системой рубки. Где то лежат данные меша, доступ к данным меша и модификация меша.(оставить рану)
-Оптимизация. Расчет на 100 деревьев, на средне-сильном железе
Помеченные деревья легко оптимизировать. Игрок пометил, на сто метров отошел, дерево залечилось, пока его не трогают. Да условность, хуле быстро так, зато работает.
Тоже вариант. Я как думал, если игрок сделал заруб на самом дереве, то оно перестает расти
Просто рисуй шейдером любую хуиту по формуле, вокруг цилиндрического колайдера любого размера. Тебе же по сути ствол нужен, ты там будешь топором бить - колайдер будет детектить и давать импакт, координаты для рисования раны.
Генерируя меш в рантайме да и любые операции с ним, никогда нормально по перформансу не будут если без глубочайшего понимания.
Еще ветки надо запилить и их отламывание, но это как я понимаю уже детали. Хорошо, почитаю про шейдеры
Спасибо, посмарю
>Потому что VR требует 90 фпс
Наебалово лютое.
Играбельно даже и в 15 фпс. Просто у тебя реалистичность происходящего теряется. Ты начинаешь ощущать, будто перед твоими глазами тупо 2 монитора, которыми ты можешь управлять.
>>783552
Фига запросы симуляция роста дерева. А ты хочешь реалистично, или красиво? Какое вообще применение у такой штуки задумал то? Я с трудом представляю применение у таких деревьев в выживаче, но очень интересно.
Как у тебя генерация карты реализована? Именно от этого же зависит как делать твою хуйню.
Первая мысль: веса, если генерируешь по весам то ничего не мешает в определенных местах, эти веса менять вызывая перерисовку в этом квадрате.
Может ну её к хуям? И пытаться учиться как часто советуют,- выдумываешь проект и гуглишь уже там как что и куда?
Вы как учились, господа? Дайте советов позязя.
Bilinear, max size на максималке в 16384, format тоже пиздатый на RGB32.
У меня еще в партикле Trails включен в качестве остающегося пути от частиц, он вообще с пустым материалом, но даже он в лесенках.
В билде один хуй так же остается. И самое печальное, что ни на одном индуском форуме нет инфы что это за хуйня.
О нихуя. Сейчас опцию generate mip maps врубил и получше стало, чутка лесенки остались, но незначительно. Только непойму какого хуя это так же повысило качество trails, если тот один хуй без исходного спрайта.
Сначала курсы по программированию или если есть такие в твоем мухосранске, то сразу по юнити, главное вживую. Там дадут базу, а дальше реально только собственными проектами. Главное чтоб тебе интересно было, а если не интересно, то и хуй с ним
1680x1050, 1:50
>>783723
Ну так то думаю достаточно очевидно что через симуляцию. Я выкладывал пару видосов скриншотов в тред >>782078 >>782068 В этот раз для очевидности сделаю видос без атмосферной симуляции и просто с равномерным добавлением водички.
Ну а как реализовано - в вычислительных шейдорах водичка смотрит где соседние клетки ниже, сохраняет это в ргба каналы, на следующей итерации все клетки смотрят сколько они переместили соседям и сколько соседи переместили к ним. Чтобы вода сохраняла инерцию в отдельно взятой клетке то сколько эта клетка перемещает не исчезает сразу. Разница в перемещаемой клеткой воде это вектор её движения, sin(длина этого вектора х наклон земли х максимальная глубина) это то сколько седимента тут может образоваться. Если эта цифра больше имеющегося седимента то земля растворяется, если меньше то седимент откладывается в верхний слой земли. Седимент перемещается вместе с перемещаемой из клетки водой.
Ну и помимо этого земля рассыпается для каждого слоя под свой угол и ещё есть подземные воды где вода медленно впитывается, перемещается без инерции и освобождается в низинах.
На видео: для воды красный это количество седимента, зелёный это длина вектора (в целом это количество перемещаемой воды), синий это глубина. для земли серый это нижний слой земли, желтый верхний слой, который становится зелёным пропорционально количеству подземных вод (тут ясен хуй они везде так как вода ложится ровным слоем).
Но это годится только для очень базовой эрозии где тонкий слой воды размывает землю. Крутые склоны и горы выходят заебись, где фактор наклона и крепости породы играет основную роль. Но для более мягкой земли на ровной поверхности более важный фактор это инерция воды. А вот как сделать размытые земли с помощью инерции это вообще хуууй его знает.
Пробовал:
1) Посмотреть у всех клеток дельту перемещаемой воды по разным осям и посмотреть насколько вода "останавливается" там по разным осям и через несколько итераций усилить и размыть чтобы информация передалась дальше одной клетки. Сорт оф потенциал есть, но оно сильно выравнивается по осям грида. Делать так чтобы вода перемещалась в 8 соседних клетов вместо 4 для улучшения результата я не очень хочу.
2) Сунул вариацию солвера давления для атмосферы. Смотрю где векторы сильно отклоняются от соседних. И несколько итераций передаю эту информацию соседям пропорционально их отклонению. Оно в целом даёт интересный результат но повороты у рек начинают расширятся и это не имеет ничего общего с инерцией.
3) Просто усилить векторы движения воды и посмотреть где они воткнутся в землю. пока это имеет наиболее ожидаемый результат но он довольно хуёвый
Пока моя лучшая идея это заспавнить партиклы там где вода имеет достаточное количество и скорость, посимулировать их пару секунд и посмотреть куда они там воткнутся. Наверно сработает. Партиклам довольно легко придавать инерцию.
И ещё есть сомнительная идея это переместить как-то карту длины вектора скорости воды (кторая зелёненькая). Например просто перемещать её какое-то время вместе с векторами воды.
Ну или поработать над 1 и 2, есть идеи как улучшить их результат.
>>783736
Ты просто слишком торопишься наверняка. Ясен хуй если ты прочитаешь книжку и будешь повторять как дебил то нихуя в тебе не отложится. Но теперь когда ты её прочитал то в тебе остались осколки знаний и хоть какое-то понимание "а вот так можно". Так что теперь да, заведи себе максимально простой проект и ебош его, гугля недостающие знания.
1680x1050, 1:50
>>783723
Ну так то думаю достаточно очевидно что через симуляцию. Я выкладывал пару видосов скриншотов в тред >>782078 >>782068 В этот раз для очевидности сделаю видос без атмосферной симуляции и просто с равномерным добавлением водички.
Ну а как реализовано - в вычислительных шейдорах водичка смотрит где соседние клетки ниже, сохраняет это в ргба каналы, на следующей итерации все клетки смотрят сколько они переместили соседям и сколько соседи переместили к ним. Чтобы вода сохраняла инерцию в отдельно взятой клетке то сколько эта клетка перемещает не исчезает сразу. Разница в перемещаемой клеткой воде это вектор её движения, sin(длина этого вектора х наклон земли х максимальная глубина) это то сколько седимента тут может образоваться. Если эта цифра больше имеющегося седимента то земля растворяется, если меньше то седимент откладывается в верхний слой земли. Седимент перемещается вместе с перемещаемой из клетки водой.
Ну и помимо этого земля рассыпается для каждого слоя под свой угол и ещё есть подземные воды где вода медленно впитывается, перемещается без инерции и освобождается в низинах.
На видео: для воды красный это количество седимента, зелёный это длина вектора (в целом это количество перемещаемой воды), синий это глубина. для земли серый это нижний слой земли, желтый верхний слой, который становится зелёным пропорционально количеству подземных вод (тут ясен хуй они везде так как вода ложится ровным слоем).
Но это годится только для очень базовой эрозии где тонкий слой воды размывает землю. Крутые склоны и горы выходят заебись, где фактор наклона и крепости породы играет основную роль. Но для более мягкой земли на ровной поверхности более важный фактор это инерция воды. А вот как сделать размытые земли с помощью инерции это вообще хуууй его знает.
Пробовал:
1) Посмотреть у всех клеток дельту перемещаемой воды по разным осям и посмотреть насколько вода "останавливается" там по разным осям и через несколько итераций усилить и размыть чтобы информация передалась дальше одной клетки. Сорт оф потенциал есть, но оно сильно выравнивается по осям грида. Делать так чтобы вода перемещалась в 8 соседних клетов вместо 4 для улучшения результата я не очень хочу.
2) Сунул вариацию солвера давления для атмосферы. Смотрю где векторы сильно отклоняются от соседних. И несколько итераций передаю эту информацию соседям пропорционально их отклонению. Оно в целом даёт интересный результат но повороты у рек начинают расширятся и это не имеет ничего общего с инерцией.
3) Просто усилить векторы движения воды и посмотреть где они воткнутся в землю. пока это имеет наиболее ожидаемый результат но он довольно хуёвый
Пока моя лучшая идея это заспавнить партиклы там где вода имеет достаточное количество и скорость, посимулировать их пару секунд и посмотреть куда они там воткнутся. Наверно сработает. Партиклам довольно легко придавать инерцию.
И ещё есть сомнительная идея это переместить как-то карту длины вектора скорости воды (кторая зелёненькая). Например просто перемещать её какое-то время вместе с векторами воды.
Ну или поработать над 1 и 2, есть идеи как улучшить их результат.
>>783736
Ты просто слишком торопишься наверняка. Ясен хуй если ты прочитаешь книжку и будешь повторять как дебил то нихуя в тебе не отложится. Но теперь когда ты её прочитал то в тебе остались осколки знаний и хоть какое-то понимание "а вот так можно". Так что теперь да, заведи себе максимально простой проект и ебош его, гугля недостающие знания.
как-то я поломал превью видео на дваче сделав в ffmpeg на ускорение. ну, если ткнуть то оно вроде нормально открывается.
и хуй с этим.
бамп
Пиздец ты усложняешь конечно. Ты делаешь игру или симуляцию системы хуйни? Если игру, то это явно оверхед. Как ты это учитываешь в своем геймплее? За время что ты ебешься с этим, мог бы уже пол игры сделать.
Без бэкграунда сложно вкурить сразу все моменты, да. Можешь еще навернуть по основам C# книжечку.
Алсо люди разные, попробуй другие способы обучения: серии туториалов на ютубе, ворованные видео-курсы, циклы статей на хабре, разбор чужих репозиториев.
Но учти, что это лишь подготовка и без практики и решения конкретных задач которые ты ставишь себе сам, попутно решая и выгугливая решение возникающих проблем - все это несет не очень большую пользу для тебя как специалиста.
Лол разумеется мог бы. На самом деле я делаю и то и то. Когда накатывает вдохновение то ебошу свои прототипы. А когда его нет то ебошу такие долгосрочные проекты (ололо учитывая что это у меня не первый проект такого масштаба и далеко не самый масштабный я наверно и правда мог бы уже давно стать успешным гейдевелопером)
Так то у меня куча привлекательных идей и большая часть из них будет намного лучше если в них будет какой-то хороший генератор карты, или какие-то части симуляции от неё. Поэтому сейчас ебошу генератор. Да и разумеется всегда интересно делать такую хуйню.
Я конечно мог бы взять готовое, но я отлично знаю как сильно помогает разработке когда самые сложные и ответственные части ты собрал на коленке самостоятельно.
Ну а конкретно в геймплее то много как можно такую хуйню применить. Из очевидных - разносортные симуляторы божества, но они явно сейчас не слишком популярны. Или всякие симуляторы терраформирования.
Ну и наиболее очевидный выбор - всякие опенворлды которые сильней всего получают преимущества от качественно сгенерированной карты и сверху могут получить жирный плюс от клёвых паттернов погоды.
Пасиб.
Я просто вот думал над двумя путя, книгочервие или просмотром ютубца. мануалы к юнити, особенно на английском, слишком мног. Обучающие курсы с сайта юнити,- какие-то буд-то слишком совсем детские чтоль, Меняем платформы с места на место в лего пресете, совсем тупо и долго.
По шарпу я читал пару книг, мало что помню, сам синтаксис совсем уже не знаю, но суть,- условия, объекты, конструкторы, лямбды всякие и прочее наследование понимаю
>>783772
Прям оффлайн курсов конечно же нет, да мне особо и некогда, я на заводике с 6 до 18 пашу, на работе у станка могу ютуб смотреть наматываясь, и всё
sup, анон. Хрен знает почему, но юнитя не хочет понимать свич. Ифоблядством заниматься не особо хочется.
Ты не сможешь подготовится ко всем, говорю тебе как тот кто наступил на эти грабли. Сколько курсов не смотри, сколько книг не читай - все это онанизм.
Придумай идею или своруй из топа ГК игры и делай ее. Решая конкретные задачи ты обучишься быстрее. Начнешь делать, застопоришься на том, что физика работает не так как тебе надо начнешь гуглить нужное тебе поведение в интернете кто-то уже задавал этот вопрос - смотришь ответы, экспериментируешь пытаешься переделать под себя и вот, ты уже хорошо понимаешь физическую систему. Надо тебе сделать эффект прикольный начинаешь искать подходящий шейдер, но нужного нет - что делать? Колупать те что есть, вот ты потратил неделю, перерыл официальную документацию посмотрел кучу туториолов и выстрадал этот несчастный эффект и вот ты уже почти технический артист, лол и в следующем проекте сделаешь это в 10 раз быстрее.
И так во всем. Просто смотря как какие-то инфоцыгане решают "важные" однотипные задачи, разными простыми способами может быть полезно но в основном тупо. Читать книги которые устарели? Ну тоже такое себе, в версиях юнити большая разница и сейчас например пайплайн рендера совсем другой, чем пару лет назад.
>switch(1)
Из чего ты выбираешь по твоему? Там должна быть переменна которая принимает значения.
https://metanit.com/sharp/tutorial/3.45.php
Разные же типы, лол. У тебя выборка идет по "1" что суть int, а в case у тебя public static bool GetKeyDown(string name); - т.е. возвращает bool.
Угу, пасиб, так и сделаю. Брошу книгу наверное, просто перепечатывать текст совсем надоело. Какой-то бессмысленный макакинг.
Алсо, книга объективно крайне плоха,никому не рекомендую. написано местами сложно, но темы слишком просты.
не слушай его. говнокодить и сто раз переписывать проекты это то что надо делать в самом начале. наступай на грабли, получай ими по ебалу. не получив по ебалу не сделаешь как надо. чтобы писать правильно надо знать как писать не правильно.
Говнокодить он в любом случае будет, просто прочитав книжки и туторы, он будет знать куда ему двигаться
Один раз наговногодив хотя бы начинаешь понимать, какую именно проблему решают все эти паттерны и методологии чистого кода. Покалупавшись в лапше многих тысяч строк кода и подебажив пару дней тупую ошибку, очень легко начать любить хорошую архитектуру.
Прочитав книжки и туторы он прочитает книжки и туторы, а не будет знать и уметь что-либо.
абсолютно точно не будет. чтобы это произошло надо сначала чтобы базовые знания в голове окрепли. "если сделать хуйню А, произойдёт хуйня Б". когда накопится достаточно знаний о таких взаимосвязях только тогда надо говорить как правильно делать. нахуй ему паттерны? нахуй вообще паттерны в каких-то базовых проектах где можно накидать скриптов из десяти строчек по сцене и оно будет что-то делать? паттерны надо учить тогда когда от них вообще появится польза. пускай змейку сделает, или три в ряд не подглядывая в туториалы. ну или если амбициозный человек то битву с боссом где надо бегать кругами уклоняясь мечом и бить его палкой в моменты слабости. вот это точно принесёт больше пользы чем паттерны.
Третий месяц вторым способом делаю. Полет нормальный, понимание ооп в зачаточном виде появилось. Даже паттерны какие-то применил.
И еще в догонку. На практике геимдизайн и балансирование механик, отладка, чтобы все друг с другом правильно взаимодействовало и интересно игралось оказалось намного сложнее кодинга. Кодинг можно хоть как-то преодолеть, грызя из книжек конкретные алгоритмы или паттерны. Геимдизайн только методом проб и ошибок. Я бы рекомендовал как раз книжки и ютуб по геимдизайну, а для кодинга чисто справочники по алгоритмам, ооп паттернам и сишарпу.
>>783817
Двачую.
>>783833 - анон.
Я еще не совсем даже понимаю с чего нужно начинать, открыл проект и смотрю на него.
Хочу например понг в псевдо 3д.
Новый проект, 2 куба и 1 шар. Иииии дальше слабо представляю.
Думается, что:
Ок, из книжки узнал, что в Update можно шар двигать через transform.translate, и еще нужно умножать на Time.DeltaTime что коллизию можно детектить например через триггер Collider.OnTriggerEnter.
Множим одну из трёх осей transform.translate на -1 при касании второго куба, и шар летит как оливье, потому что у меня угол падения не равен углу отражения. Или равен? Я уже затупил, а еще даже говнокод писать не начал. А кубом еще нужно управлять, итого 2 отрисовки в каждом апдейте. А второй куб как вообще должен рассчитать куда в итоге полетит шар? Ту совсем какая-то высшая тригонодрочильня начинается, разве нет? Я буду плясать вокруг всего этого, не зная как подступиться. Как пенсионер с айфоном, который даже не знает как его включить, а ему нужно твит отправить.
Прям прямых советов по коду мне не нужно, готовый код легко нагуглить, больше хотелось бы понять, я один такой тупой или вы тоже когда-то не втупляли такие базовые вещи?
Вот проблема, что сложно представить в голове все эти взаимодействия и работу кода. У вас как с этим? Даже просто пространство с осями очень тяжело даются пониманию. Да еще и с базовыми знания школьными видимо беда.
А когда, по примерам из книги появляется куча всяких менеджеров, контроллеров, всё начинает с чего-то наследоваться и кем-то вызываться, всё вообще сливается кашу и забывается
Я наверное типичный вкатывальник и неосилятор
Не один. Играл в ботву? Там есть механика тока - кинул металический предмет на провода, он их замкнул. Вот я в свою головоломку захотел такую штуку добавить. Сам заебался, анонов заебал, но сделал таки рабочий прототип. И то как мне кажется, если применять структуру "дерево" с алгоритмом поиска, получится лучше. Может потом опять переделаю.
К чему это все? К тому что ты на этом еще не одну собаку съешь. Ничего не бойся, если надо прям на бумаге карандашом все рисуй, считай, потом пиши костыльный простой прототип на скору руку, лишь бы работало хоть как. Как пару простых механик опишешь, уже смелее будешь. А для теоретической базы читай книжку по структурам данных и алгоритмам. Рано или поздно поможет тебе свой велосипед изобрести.
1056x792, 0:33
>Ок, из книжки узнал, что в Update можно шар двигать через transform.translate, и еще нужно умножать на Time.DeltaTime что коллизию можно детектить например через триггер Collider.OnTriggerEnter.
о видал какие книжки полезные? зачем на дельтатайм множить то понятно надеюсь? двигать можно и просто сразу ебоша нужную тебе позицию в transform.position и через физон и ещё кучей других методов
>потому что у меня угол падения не равен углу отражения. Или равен? Я уже затупил, а еще даже говнокод писать не начал.
и тогда у тебя оливье будет летать под одинаковым углом! надо прибавлять немного скорость движения куба же!
>А второй куб как вообще должен рассчитать куда в итоге полетит шар? Ту совсем какая-то высшая тригонодрочильня начинается, разве нет?
кекеке что забыл уже из школы дискриминанты и прочую хуйню? вот тут то пришло время открывать учебники школьной геометрии!! наконец пришёл час и они пригодились!!! найди пересечение оси движения куба и линии движения шара и двигай туда куб. если хочешь лишить себя удовольствия от поиска ответа на этот непомерный вопрос я могу подкинуть тебе ту которая лежит у меня под рукой. https://pastebin.com/fHn7xMch но считай это читом и лучше сам давай.
>я один такой тупой или вы тоже когда-то не втупляли такие базовые вещи?
ой да разумеется все были тупыми. просто раскочегаривай свою голову и дроби задачи на более мелкие и простые. как двигать куб знаешь, куда двигать куб можешь узнать, как двигать шарик ну там можно придумать. а менеджеры какие-то, контролеры, хуё-моё. контролер у тебя нахуй это когда кнопку жмеш и кубик двигался чтобы. вон сделай чтение кнопки и чтобы кубик двигался, уже прогресс. у тебя появится могущество повелевания кубом.
кстати на тему пересечения линий. ты вот знай знать где пересекаются линии это большое могущество. у меня есть проект который буквально построен на этом. видос в тему. интересно угадает ли кто-то что это и нахуй оно нужно.
>>783857
в скриптабл обжектах наверно? это универсальный ответ юнити как хранить всю твою хуйню в проекте которая должна референсить информацию из него.
1056x792, 0:33
>Ок, из книжки узнал, что в Update можно шар двигать через transform.translate, и еще нужно умножать на Time.DeltaTime что коллизию можно детектить например через триггер Collider.OnTriggerEnter.
о видал какие книжки полезные? зачем на дельтатайм множить то понятно надеюсь? двигать можно и просто сразу ебоша нужную тебе позицию в transform.position и через физон и ещё кучей других методов
>потому что у меня угол падения не равен углу отражения. Или равен? Я уже затупил, а еще даже говнокод писать не начал.
и тогда у тебя оливье будет летать под одинаковым углом! надо прибавлять немного скорость движения куба же!
>А второй куб как вообще должен рассчитать куда в итоге полетит шар? Ту совсем какая-то высшая тригонодрочильня начинается, разве нет?
кекеке что забыл уже из школы дискриминанты и прочую хуйню? вот тут то пришло время открывать учебники школьной геометрии!! наконец пришёл час и они пригодились!!! найди пересечение оси движения куба и линии движения шара и двигай туда куб. если хочешь лишить себя удовольствия от поиска ответа на этот непомерный вопрос я могу подкинуть тебе ту которая лежит у меня под рукой. https://pastebin.com/fHn7xMch но считай это читом и лучше сам давай.
>я один такой тупой или вы тоже когда-то не втупляли такие базовые вещи?
ой да разумеется все были тупыми. просто раскочегаривай свою голову и дроби задачи на более мелкие и простые. как двигать куб знаешь, куда двигать куб можешь узнать, как двигать шарик ну там можно придумать. а менеджеры какие-то, контролеры, хуё-моё. контролер у тебя нахуй это когда кнопку жмеш и кубик двигался чтобы. вон сделай чтение кнопки и чтобы кубик двигался, уже прогресс. у тебя появится могущество повелевания кубом.
кстати на тему пересечения линий. ты вот знай знать где пересекаются линии это большое могущество. у меня есть проект который буквально построен на этом. видос в тему. интересно угадает ли кто-то что это и нахуй оно нужно.
>>783857
в скриптабл обжектах наверно? это универсальный ответ юнити как хранить всю твою хуйню в проекте которая должна референсить информацию из него.
> Там есть механика тока - кинул металический предмет на провода, он их замкнул.
Мне кажется просто висит самописный компонент Metalic и на триггер энтер на соседние компоненты что зацепило вешается эвент "электрифицируйся". Раз в секунду делается проверка и если нет "цепи", то электрификация слетает.
Все хорошо, пока два отдельных Metallic не отделятся от источника тока или третьего запитанного Metallic. Теперь они в бесконечном цикле подпитывают друг друга, пока не отодвинешь друг от друга. Прилось костыль городить с прыгающим по объектам активатором.
Сделай из блоков пока не интерактивное окружение и назначь им разный цвет. Будут у тебя граница, препятствия, сам шариг, рычаги которые должны бить шарик, платформы от которых он должен отскакивать.
Разбей проблему на части. Что должно быть? Эти хуевины должны пихать шарик, окей, гуглишь "физика юнити\отталкивание\юнити\физически материалы юнити\упругусть юнити" смотришь, понимаешь что нужно улавливать пользовательский ввод. Гуглишь "инпут юнити\как ловить нажатия клавиш юнити". Совмещаешь две изученных хуйни, у тебя теперь пользователь может нажимать кнопки и что-то реагирует и толкает шарик. Но получается хуйня, шарик должен отскакивать, должна быть система очков он должен двигать некоторые платформы, а от некоторых отскакивать. Идешь в гугл изучаешь как ловить событие столкновения, разделяешь разные платформы тегами и т.д.
И так вот итерациями реализуешь разные фичи, стараясь чтобы каждая новая не разъебала весь остальной код.
А если виртуальный вольтаж пилить? Ну тип с постепенным снижением в ноль через флоат.
Я просто сам в размышлениях на эту тему. Прикольную ты идею закинул.
Я уже написал как сделал выше. "электрон" прыгает по соседям проводников, учитывает пройденный путь, чтобы не посещать проводник, где был раньше. Если заканчивается заданное количество прыжков или прыгать больше не куда, он возвращается на источник питания и начинает путь заново. В разветвлениях выбирает рандомного непосещенного соседа. Проводники считывают появление "электрона" и на секунду включаются, потом отключаются. А источник питания спавнит заданное количество электронов. Если сеть по-мощнее надо сделать, можно больше одного, но пока и одного хватает. Вот и получается, что за секунду "электрон" успевает всю сеть оббежать, проводники активировать. Поэтому они не успевают моргать.
Ну ты если че крутое на замену моему костылю придумаешь, пиши не стесняйся.
1920x1080, 0:53
Соррян за говнокод (он нахуй пизда какой грязный, но вродь все понятно) И за видос 4 на 3 .
Яб захуярил чот типа такого и дальше уже всякие проверочки хуерочки уже этого самого флоата на тему того запитан объект или не запитан, какое там надо напряжение чтоб запитать и все прочее. Я бы вынес вообще на дочерние объекты и там все что угодно мутить можно. И нагрев и эвенты и перегорания и прочее...
Код чисто аля пруф идеи ясенхуй чем что-то полноценное
https://pastebin.com/ESLBq33N - код
Ооо забрал. Спасибо, анончик. Мне ума не хватает к сожалению придумать. Определить вокруг проводники с меньшей напругой и подтягивать значения. Как до таких вещей додумываешься?
>Ооо забрал.
Анон, код сырой там если что прям пиздец. И баги могут быть и кривизна там есть. Постараюсь с другом кодером нормальным попиздеть мб по приколу набросаем минифреймворк пока отдыхаем на этих праздниках
Спасибо. Я сам алгоритм главное взял на вооружение. А уж логику натянуть с проверкой значений я осилю. Благо для моей задачи достаточно иметь на выходе бул. Дальше все как по маслу пойдет. А сам код я проверил, осечек не дает как я проводники не сталкиваю.
1152x576, 0:25
а на видео прототип штуки которая управляет полем доступной скорости! чтобы агент выбирая куда он пойдёт уклонятся от столкновения с другим агентом не пытался уклонится в ближайшую стену.
а как это работает думаю из этого видео будет довольно понятно.
>>783972
лол но зачем у тебя там вообще есть апдейт. всё что должен хранить элемент это его соседей и ссылку на розетку. зачем разделять на апдейт и лейт апдейт. не проще просто сделать какой-то один элемент "подключаемая хуйня" которая на коллизии бы апдейтила список соседей, а потом отнаследоватся от неё "запитываемый предмет" и "розетка", которая бы рекурсивно проходилась по своим соседям и соседям их соседей закидывая их в хешсет для отсева дубликатов и составляла список подключенных предметов
можно там оптимизации же сделать чтобы розетка опрашивала подключенные предметы только на коллизии, оставляя в подключаемой хуйне ссылку на розетку которая в ней последний раз побывала
> А сам код я проверил, осечек не дает как я проводники не сталкиваю.
Точно скажу осечки могут быть на лоуфпс по причине того, что юнити пропустит эвент коллизии. Очень ненадёжная штука. Ну и так... Жопой чувствую, что где-то ещё накосячил.
>>783981
Антон, честно признаю - говнокодил как последняя мразь и тестил прям на ходу. А так там бы один общий родительский класс и в дочерних уже мутить и розетки и все остальное, эх... Признаю для оптимизации простор огромный.
Ок, пойду посмотрю что и как. Вообще возможно что-то вообще сделать с файлом без расширения?
Значит есть объект (красный круг) нажимая и оттягивая мышку (пунктир) то с другой стороны появляется стрелка спрайтом и меняет размер в зависимости от натяжения.
>Если же ты не любишь видеотуториалы (или не понимаешь разговорный английский) и предпочитаешь текст, то посмотри здесь:
Какой же охуенный ресурс, особенно для тех кто хочет разобраться в рендере. Случайно нашел, хотел поделится а тут в факе уже есть.
Торжественно клянусь, читать фак на двощике прежде чем искать что-то!
/gd/ Помоги. Начал изучать Unity через microgame. Когда просто открываю игру то посередине видно саму игру в окошке что бы играть в неё через Play Mode.
Но стоит запустить туториал то все, сразу же пустая страница. Нажимаю плэй и слышна только музыка. Я хз че делать, интернет поиск результатов не дал.
Переустанови, попробуй поставить 2021 версию.
Алсо советую базовые курсы с офф.сайта лучше пройти, чем в этом колупаться.
А эти микроигры как раз таки посоветовали в уроках по юнити на оф сайте.
Поставил версию 2021, они все равно 20го года требуют для игр, попробую переустановить 20ую. Если не заработает - ладно. Пропущу этот этап и попробую другие уроки пройти.
Вообще странно, не могу найти похожих запросов во всем гугле, может мне написать куда-нибудь на зарубежный форум с вопросом.
Я только краем глаза видел все эти микроигры, там вроде показывают тебе буквально куда тыкать прямо в редакторе.
Как вариант у тебя наверное стоит "Maximize On Play", а сама эта хуита просит сделать что-то на сцене.
>в уроках по юнити на оф сайт
Там куча курсов разной степени полезности, я про два которые не от посторонних авторов, а самих юнитеков. Там в первом рассказывают о самой программе, а во втором нужно сделать 5 прототипов разных и еще часто проводят живые стримы с ответами на вопросы.
Я сам до конца не понимаю, это две лесбы или два трапа?
Но она\оно отлично рассказывает материал и я могу закрыть на это глаза. По мне так, у нее\него лучший разбор шейдеров и математики на всем ютубе.
Шаблоны/паттерны не цель, а средство для облегчения и структурирования кода. Все используют, в зависимости от ситуации и когда нужно.
Алсо если же ты про то, что нужно знать то мог бы посмотреть вакансии на ХХ, там будет что-то вроде: mvc, mvvm, unirx, zenject
Чет первый прямо красавицей стал, а второй каким-то страхуёбищем.
Я думаю что пробелема в другом.
Что бы было понятно размещу два скриншота. Первый где запускаю сам тутор к игре с пошаговыми уроками и где окошко с игрой исчезает.
На втором скрине я просто открыл проект, там играть можно. И так везде.
Спасибо, но что-то у меня все равно не выходит, наверное я тупой. Буду другую шнягу делать.
private Material _color;
_color = GetComponent<Renderer>().material;
...
void OnCollisionEnter (Collision other)
_color.color = new Color32 (_color.color.r < 1.0f ? + 20 : 255, 0 , 0 , 255);
...
Чтоб краснело немного при каждом касании. Можно это как-то сделать чтоб симпатично было? Без создания дополнительных штук для временного хранения и ковертации с байта в инт?
Или я всё совсем не так делаю, и где-то совсем не туда думаю?
просто mathf.clamp воспользуйся, нахуй такие конструкции
монобихейвор хранится в сцене и предназначен для геймобжектов. скриптабл обжект хранится в проекте и предназначен для хранения информации внутри проекта.
например картинка: каждая нода в этой хуйне является скриптабл обжектом, сериализует свою информацию, может референсить другие ресурсы в проекте и она привязывается к паттерну. попробуй сделать такое с помощью геймобжектов лол.
но можно и что-то другое сериализовать. паттерны атаки, какие-то собранные в кучу ресурсы (например целые ветки диалогов и картинок к ним), библиотеки каких-то ресурсов (например библиотека предметов в игре чтобы спавнить их по id которому присвоил в скриптабл обжекте) и так далее.
всё то что нахуй не нужно как префаб, или геймобжект это скриптабл обжект.
алсо конкретно про картишки и твой случай. у тебя же два варианта как хранить их:
1) префабы которые ты каждый раз вручную собираешь.
2) скриптабл обжекты из которых тебе потом что-то другое собирает готовые картишки.
первый случай лучше если картишек мало и у тебя железный диздок говорящий о том что картишки точно менятся не будут. тогда их действительно быстрей будет собрать как префабы. второй случай лучше тем что ты разделяешь информацию и её интерпретацию в сцене. тогда например если тебе захочется как-то поменять радикально дизайн карт то тебе не придётся ебаться с каждым префабом а просто поменять то как они собираются из заготовленных скриптабл обжектов.
откуда в процессе игры брать информацию разумеется почти нет никакой разницы. но вот если конкретно у тебя информация организована хуёво то разница уже большая. что лучше, пару вечеров потратить на то чтобы сделать какую-то библиотеку с картишками, чтобы потом работать с информацией организованной так как тебе надо, или два вечера ебатся с префабами если захочется что-то в них сильно поменять? а потом ещё два вечера и ещё два вечера
выбор стула за тобой
На пк все ок, на андроиде после последовательного соединения 7-8 объектов к источнику наз в сколько-то секунд начинаютсся мелкие дропы кадров. Лерп настолька тяжелая функция или у меня планшет уже слабоват? Он в принципе особой производительностью не отличался, но 8 все-таки не 100.
Хотел изучать Юнити, не знал с чего начать, скачал вот этот курс
https://rutracker.org/forum/viewtopic.php?t=5667491
Долго возился с ним, в итоге все сделал, еще сделал светофор, которого в курсе не было.
Но разочарован, хотя там сразу в коментах писали что курс отстой.
...сейчас думаю чтобы еще изучить, пока выбрал вот это:
https://www.youtube.com/watch?v=9Wl7RCCJHCs&list=PLhX5NuimgyAvFiORegSqqS7XhAh1oFN4b&ab_channel=CODEBOXGAMEDEVSCHOOL
кости есть, вроде всё норм. анимация просто не играется и всё тут, в аниматоре она активна и ошибок нет
пытлся вынуть риг из миксамовской модели и засунуть в модель заказчика, выходит то само оливье
ебусь 10й час, в жизни такого не было
Скорее то, что долбятся и каждый фрейм обновляются переменные. Ну и по экспененте идёт все по пизде. Пока размышляю как это упростить.
просто не долбись каждый фрейм и обновляй переменные из одного места в одном апдейте
Переделывай на более яркие цвета и делай на 9 на 16 разрешение. И продавай паблишам на мобильный гк концепт. Идея клёвая.
https://store.steampowered.com/app/828740/Tales_of_the_Neon_Sea/
сделана на юнити какими-то китайцами.
На моём старом ультрабуке леново йога с 2-ядерным i7 со стройкой HD4000 она выдаёт 5-10 фпс. При этом некоторые другие 2Д инди, которые выглядят явно получше этой почему-то идут нормально.
В связи с чем у меня вопрос - как так и почему?
ну ты пока эти свои другие инди с лучшим графоном, мы сравним, проанализируем.
Модельки не мои, сам переделать эти не смогу. Разрешавшие 9/16.
>продавай паблишам
Это кто?
>Идея клёвая
Спасибо. ...но в гугл плее есть уже "оригинал", и несколько клонов сделанных по тем же урокам:
https://play.google.com/store/apps/details?id=com.itProgerStudio.CrossDrive
почему у меня yuppie psycho тормозит микрофризами? потому что джавахуета вместо движка, а у меня ПРЕДТОП. в этом плюс консолей из дтства - нечему тормохить
Потому что мамонты с некропека идут нахуй. Тут всегда стоит вопрос человекочасовХрезультат. Обыкновенный геймер на более менее актуальном железе получит нормальный результат. А в инди ноунейм у тебя особо нет времени на оптимизацию и часть потенциальной аудитории с некрожелезом можно и нужно послать нахуй.
И тут ты взорвешься КОКО КОКО У МЕНЯ ЖЕ АЙ СЕЕЕЕЕМЬ КОКОКОКО, но это не меняет того что по сути на твоём ноуте железо 7 летней давности. Представь каково предъявлять было бы игре 2010 что она не идет на ноуте 2003 года.
лол. ну лесницы юнити тебе и так нормально сделает если высоту шага сделаешь правильно (или сделаешь коллайдер для движения как пандус), а телепорты наверно оффмеш линками сделать можно?
но я могу тебе задать более сложный вопрос! как сделать зоны в которых можно перемещаться только на корточках?
>Но она\оно отлично рассказывает материал
В целом нормально рассказывает, но отлично я бы не сказал. Раздражает суетливая манера изложения, приходится пересматривать постоянно отдельные моменты.
В скрипте указываю такие значения:
private Color changeColor = new Color(182, 243, 255, 255);
myRenderer.color = changeColor;
Функция отрабатывает, но меняет цвет совсем не на те значения, а на пикрелейтед. Как это работает? Оно оффсетом что ли выставляет цвета к текущим, а не те которые ему конкретно задаешь?
Пробовал и так:
private Color changeColor = new Color(.6933962f, .955748f, 1, 1);
эффект тот же
Конструктор Color принимает только значения float от 0 до 1. Попробуй сделать changeColor публичным и задай его значение в редакторе.
Суетливая манера же из-за ответов на вопросы из чата. В любом случае для азов, самое то - собрано все в одном месте и очень последовательно.
private Color changeColor = new Color32 (182, 243, 255, 255);
myRenderer.color = changeColor;
(Сам выше спрашивал про колор, мне посоветовали math.clamp, но я слишком тупой чтобы что-то там умножать и арифмитировать из float в байт)
зачем тебе вообще Color32? пользуйся обычным колором.
>(Сам выше спрашивал про колор, мне посоветовали math.clamp, но я слишком тупой чтобы что-то там умножать и арифмитировать из float в байт)
ты в строке
_color.color = new Color32 (_color.color.r < 1.0f ? + 20 : 255, 0 , 0 , 255);
что пытаешься сделать то? красное добавить? нахуй тебе вообще байты? обычно там просто значения от 0 до 1
можно скопировать во временную переменную и просто написать
color.r = Mathf.Clamp01(color.r + 0.1f);
можно ну или не копировать и написать хуйню вроде
_color.color = new Color32(System.Convert.ToByte(Mathf.Clamp(_color.color.r * 255 + 20, 0, 255)), 0, 0, 255);
но нахуй тее нужны тут байты непонятно и нахуй тебе хочется писать это в одну строчку
как в unity 3d (2020) включить realtime global illumination?
использую hdrp, в настройках hdrp включил SSGI
но всё равно картинка на уровне gta vc 2002 года (только с тенями)
вкатываюсь сам, а ахуе от происходящего
толи я что -то не так делаю, то ли unity - это тот ещё пердолинг
>каике у тебя проблемы то
то, что графика выглядит как в vc, но только с тенями
и всё ещё не понятно, как включить global illumination realtine
Ты что скотина пориджная не можешь демонстрацию графики возможной на юнити посмотреть?
GTA IV
GTA V
Правда, в IV свет запечён в геометрию (vertex color, prelate-time) на счёт пятерки не знаю, но думаю так же
Ну можешь юнити рейтрейсинг юзать, но производительность говно и достойных ртх карт у людей еще долго не будет. По-моему в крае уже сто лет назад была возможность воксельного реалтайм ги, но тоже как-то слабо было, когда тестил.
>>784432
>GTA IV
>GTA V
Просто юзай движок гта и все, ты же свою гташку пилишь
>какие у тебя есть знания?
1)Более-менее разобрался с интерфейсом самого юнити.
2)Относительно хорошо шарю в кодинге: знаю матрицы, массивы, методы, етс. Но в синтаксисе шарпа пока путаюсь. Имею примерное представление о ООП.
а нахуй тебе книжки тогда? ты уже взрослый, читай документацию, смотри примеры. можешь пару видосов на ютубе посмотреть от инфоцыган чтобы они твой взгляд на какие-то интересные кнопки в интерфейсе навели. зачем тебе ещё что-то.
>можешь пару видосов на ютубе посмотреть
Смотрел, толку ноль. Все эти видосы выглядят примерно как пикрил.
а на каком моменте ты потерял связь с происходящим то? и что тыкал? вон этот хуй достаточно хороший, например.
https://www.youtube.com/watch?v=IlKaB1etrik&list=PLPV2KyIb3jR5QFsefuO2RlAgWEz6EvVi6&index=2
у юнити лол вон такая хуйня есть https://learn.unity.com/ понятия не имею что там но выглядит нормас!
>>784443
на самом деле у юнити просто охуенная документация на фоне конкурентов
По кочану. Откуда нам знать, что там твои китайцы такое нахуевертили и как именно? Тормоза - это явление самовозникающее, для их наличия не нужно вообще ничего, кроме неудачно положенного хуя в нужном месте. Может там каждый робот на сцене по десять тысяч раз на кадр пытается поебаться с каждым другим роботом на сцене, но но не может найти нужной анимации, о чём срёт в лог эксепшеном.
Думаешь оно тебе волшебно все сделает из коробки? 90% графоний это подготовленный материалы, модели, текстуры, карты нормалей, освящений и т.д.
Официальный курс на сайте юнитеков, один там про интерфейс во втором 5 простеньких прототипов.
Потом пытаешься копировать простую игру из топа гугл-стора, гугля непонятные моменты.
значит, так или иначе, без пердолинга не обойтись
хорошо
другой вопрос
вот есть открытый мир, куча здании и всё такое прочее
...
мне reflection probe в unity на каждый объект ставить или достаточно будет сделать один "большой" (и запечь)
Ты ААА игру соло делаешь? Нахуя тебе вообще hdrp и отражения для всего?
Успокойся и начни с чего попроще, да и вообще разберись как рендер происходит. Без этого классную картинку ты никогда не сделаешь, вот пройти все эти туториалы и все вопросы которые у тебя могут быть отпадут: https://catlikecoding.com/unity/tutorials/
>>Ты ААА игру соло делаешь?
нет
>> Нахуя тебе вообще hdrp и отражения для всего?
что бы картинка хорошо выглядело
хоть я и ориентируюсь под mobile
>>Успокойся и начни с чего попроще, да и вообще разберись как рендер происходит. Без этого классную картинку ты никогда не сделаешь, вот пройти все эти туториалы и все вопросы которые у тебя могут быть отпадут:
хорошо
юнититреды раньше тысячного поста редко перекатывают
1680x1050, 0:10
>Как реализовать так чтобы инерция воды размывала берега?
сук а красиво никак. почти неделю прокрастинации, смотрения в потолок и бормотания на улице не дали ничего более контролируемого и изящного чем партиклы.
полагаю теперь у меня гибридный метод перемещения воды. визуализация инерции. ничё не делает но хотябы похожа на то что я ожидаю увидеть
>>784802
а много ли было за последнее время успешных мморпг? за последние лет пять ничего особо не припомню. наверно геншин самое близкое.
Не благодари.
Оно же чисто для дебага, чтобы отображалась в профайлере.
В отрыве от юнити, работать не будет и смысла не несет. Наверное.
многабукав. А можно как то проще понять как мне рисовать через шейдеры? Я просто сделаю эти деревья и забью на шейдеры, зачем мне столько информации
в чем проблема? Зачем мне читать и углубляться в то, что мне по сути особо и не нужно?
Если ты собираешься работать в гейдеве, то то как происходит рендер это единственное что тебе нужно. Движки, языки, паттерны, хуяторны - все это второстепенная фигня.
Берешь без задней мысли и рисуешь.
Все в юнити рисуется через шейдер если ты не знал, твоя задача это просто частный случай когда хочешь сделать оптимизированно и процедурно. Как тут без углубленных знаний? Или учи или делай иначе.
у юнити чуть ли не всему можно дать имя и прочитать его, а тут нельзя прочитать! у меня например есть хуйня которая управляет текстурами. я просто называю текстуры одинаково в шарпе и шейдорах и оно автоматически раскидыает текстуры по всем кернелам, или меняет их наборы. вот тут имя вполне себе применялось! как способ передачи аргументов.
а я хотел так-же с буфферами сделать. а тут обана и нельзя так-же удобно аргументы передавать! не то что бы это сильно усложняло ситуацию, или сильно много что-то меняло, просто непонятно нахуя я могу дать имя, но не могу его прочитать.
>>784887
на самом деле шейдоры в этом вопросе не очень нужны, просто через них некоторые вещи сделать проще.
ну ебош процедурную геометрию, она попроще
и постепенно повышать, какая может быть зп, на большую не претендую я не против чтобы хоть на проезд хватало и минимальную хавку так как иду на энтузиазме.
1680x1050, 0:48
>>784928
завтра собеседование а ты на дваче сидишь! новичок обычно ничем важным не занимается. но ты расскажи нам в тредике как всё прошло, уверен много интересующихся.
Как через скрипт узнать текущую статистику в игре: draw calls и количество полигонов/triangles?
Почему здесь должен быть кто-то кто работает в геймдеве?
Эта нить о движке, а не индустрии. На доске достаточно пчёликов которые пруфали свои заработки со стима того же. Но для обсасывания этого тебе в другое место, хлебушек.
Как вариант, через событие. При генерации числа дергаешь событие с параметром (твоим числом) и в другом скрипте на него подписываешься.
Помог способ с пика.
https://ru.stackoverflow.com/questions/549424/Как-передать-значение-переменной-из-одного-скрипта-в-другой
>>785209
Спасибо, нужно погуглить про этот способ.
Делаю как на первом пике, а итог на втором.
Что я делаю не так? Как я понял - дубликат атрибута, но разве нельзя ставить больше одного атрибута с разными данными?
А, так бы сразу и сказал.
https://docs.unity3d.com/Manual/profiler-profiling-applications.html
Ты можешь дистанционно для мобилок включать профайлер и смотреть через него.
>>785223
повесь их на разные статичные функции. в чём вообще разница между ними должна то быть?
Что за ублюдская хуета?
Выебываешься как будто в софтдеве по другому бывает
Якорями растягивать UI
переношу карточную настолку на мобилки. Пока в проекте есть карты четырёх мастей по 12 рангов. В папке хранится ScriptableObject хранящий инфу о каждой карте. Но пока я это писал я понял какую переусложнённую хуету я делаю и понял как для себя легче это сделать
>Ты можешь дистанционно для мобилок включать профайлер и смотреть через него.
Не могу. Ещё раз повторю:
- С помощью скрипта
- Без редактора
Т.е. вывести SetPass calls и Tris на экран андроида.
фпс я могу посмотреть вот так:
MyLabel.text = "FPS: " + ((int) (1f / Time.deltaTime)).ToString();
мне надо тоже самое сделать для draw call и полигонов.
Из визуального скриптинга рано или поздно надо вылезаторствовать, я вот начинал с плеймейкера и как же я ахуел от лапши когда массивы понадобились, пришлось по тихой учить шарпы и приклеивать кастомные созданные специально для одного массива скрипты к плеймекеру, через пару дней ебли уже задушился, плюнул на получившийся удон и начал заново уже с чистым шарпом.
Никого не слушай купи книгу Разработка игр на юнити 2018 за 24 часа, это просто топ. Для меня стала настольной библией.
Как разберёшься то смело покупай Юнити в действии, там наущишься эффективно кодить на юнити.
Сап аноны. Такое дело не могу отладить баг с анимациями на юнити.
Коротко о проблеме.
Есть анимация удара, юнит двигается по навмешу, бегает за игроком.
Так вот при ударах этог гандон проскальзывает по земле и едит в сторону игрока, пока проигрывается анимация удара, пробовал отключать навмешь - похеру, он всё равно елозит по замле.
Снял галочку с анимации и теперь анимация удара сразу превращается в анимацию бега, т.е. игрок просто отскакивает назад и враг дергает рукой не совершая удара.
А мне всего-то надо, чтобы враг как в нормальных играх ударял по игроку но промахивался яи пробовал заново.
В этих книгах есть советы для продвинутых? Например, если я написал уже и свой чарактер контроллер и Стейт машин, будет польза от чтения? Хочется разбор частых ошибок, советы по оптимизации и так далее
>я написал уже и свой чарактер контроллер и Стейт машин
смело покупай Юнити в действии, там наущишься эффективно кодить на юнити.
Определённо. Только 2ю редакцию.
>Из визуального скриптинга рано или поздно надо вылезаторствовать,
Да я понимаю это, просто для вкатинга очень помогает, если не подсесть конечно.
>>785410
>Извинись.
Не буду. Он конечно лучше чем javascript, но до плюсов не дотягивает.
У меня вопрос, как вскрыть модели из world of guns? Все что нашел Unity Assets Bundle Extractor,
Asset studio GUI, UTinyRipper не помогает. Вроде файлы в заголовке имеет UnityFS и вроде как все эти экстракторы должны распаковать, но нихуя, выдает набор абракадабры, плюс немного текста.
Так в чем же он кривой?
Поделитесь - кто как начинал изучение юнити? Хочу подойти сразу грамотно, чтобы потом не пришлось по несколько раз гонять одни и те же темы.
Существуют ли годные серьезные видеокурсы? Можете посоветовать что-то конкретное? Или лучше книги?
Мой бэкграунд - кодинг на жаве. Шарп успел потыкать немного - думаю проблем особых не будет, в процессе изучения юнити буду осваивать. В самом же юнити полный ноль пока.
https://docs.unity3d.com/ru/2019.4/Manual/class-BlendTree.html
Похоже тебе всего лишь нужно смешать анимацию так, чтобы когда он бил была задействована только верхняя часть тела при этом анимация бега работала на нижнию.
У тебя дохуя вариантов? Если ты знаешь только русский язык есть всего пара книжек и несколько ворованных курсов неповторяющихся. Начни с них.
Если знаешь ангелский то смотри курсы на официальном сайте, там есть любого уровня на любую тему.
В проекте имеется куча картинок и при создании объекта будет выбираться одна из них. Создавать в скрипте публичное поле листа или словаря а потом драгндропом переносить - тот ещё дрочь. Есть ли способ получить доступ к папке а уже потом к ресурсам из папки?
С пониманием английского проблем нет.
Курсы есть, например, спизженные с Udemy. Но там по отзывам непонятно - кто-то пишет норм, кто-то, что говнокод.
Вот и интересуюсь, может есть какие-то общепризнанные вины среди курсов или каких-то пособий.
Держи ссылку, преподы из ИТМО научат пользоваться юнькой:
https://openedu.ru/course/ITMOUniversity/UNITY/
Общепризнанные вины - документация и курсы с официального сайта, все остальное инфоцыганщина где ты будешь простенькие прототипы делать из раза в раз.
Тебе не должен волновать говнокод ибо он тебя будет сопровождать еще долго, для базого понимания подойдет все что угодно.
Нашёл как это сделать
Чаще всего гибридные контроллеры просто юзаются. Контроллер Х отрубается, врубается либо анимация со скриптом, либо котнролер Y. Навмеш вполне можно тут заюзать, просто триггеры главное адекватно раскидать и таргеты.
Вроде нет. Есть какие-то стрёмные китайские кряки, но я бы не рисковал их юзать. Вообще ты можешь получить учебную лицензию на фулл коплект жидбрейновских тулзов на несколько месяцов на stepik решая задачки на их бесплатных курсах. Я так уже дважды её получал.
О, спасибо анон. А какой курс нужно выбирать, чтобы это засчитывалось? Не могу понять? Мне бы C# именно.
Не надо так делать. Поставь https://unity.com/ru/unity/features/editor/art-and-design/cinemachine и разберись с локальными и мировым координатами.
Ты бесплатно можешь брать последнею бета-версию в связки с юнити даже стабильность не будет страдать ибо ты не компилишь ничего через райдер, нужно будет лишь обновлять раз в 30 дней.
Еще можешь на рутрекере скачать более старую версию и сидеть на триале, раз в месяц чистя реестр - там же в теме, есть пример как организовать cmd файл чтобы кликнул - все почистило.
Алсо райдер - лучшая IDE для юнити.
Спасибо, анон. Я после Itellij Idea как-то подохуел от VS. Как будто на 2000 винде приложение открыл.
Какие плюсы? А то я привык жить в парадигме - если надо суперлайтовый проект, то СкриптИнспектор. Если что-то серьезное - Вижуал Студия.
Я батником раз в месяц обнуяю триал и все, райдер няша лучший
Скачай и пройди там обзорные туториалы минут на 10. Даёт начальное представление об удобствах. Если вкратце - то очень много приятных мелочей при наборе делает жизнь проще, мне очень лениво расписывать всех их тут.
В контексте юнити, иногда очень удобно видеть что назначено в поля через эксперктор прямо в ИДЕ например и таких мелочей множество.
Ваще без вариков, анон.
>трудно ли будет престарелому имбецилу доделывать такой кит под свои нужды
Ты не осилишь. Вот вообще. Я пробовал. Выжывач китов - качай любой просто нахуй на свой вкус. Но ты не сможешь ни расширить его, ни запилить новые функции. От силы модельки свои накидать, да скрипты не касающиеся самого кита.
Потому что все эти киты - говно. А самое страшное, что чтоб в них разобраться тебе надо учиться программированию. Причем когда ты начнешь понимать то, как это все устроено - тебе уже проще нахуй свой кит по-чистовому написать и не юзать ноунейм дерьмо за доллары.
Я понимаю, просто хочу огородить от этого дерьма. Попробовать можешь, но не потянешь.
Думаю, единственный выход для меня это сделать манямирок без механик и потом, если взлетит, искать погромиста.
Вкатывайся в моделирование окружения + базу юнити НЕпрограммерскую подтяни
- дефолтный уи - хуйня хуйней
- реакт в псевдорендере - несовместим с зависящими от настоящего браузера либами
- браузер в 3двебвью - добавляет целый хром к производительности
- отдельное уи в браузере для электрона/реакт-натива, которое общается с юнити - ваще не могу найти, как у него с производительностью
ну в пределах разумного. не совсем же ты пенс 50+ с закостенелыми мозгами.
мне 32 и погромировать начал с нуля без базиса знаний в 25. с оглядкой на прошлое сейчас у меня бы на это ушло примерно на 15-30% больше времени.
если у тебя это хобби и время не поджимает то реализуй уж его полностью.
если че то у юнити есть плюс по сравнению с всякими рпгмейкерами, анрилами и прочим - у него по умолчанию нет ничего лишнего. юнити это сандбокс. и прежде чем туда захуярить кит какой-то чтобы потом сидеть разбираться в нём лучше насладись этой стерильной атмосферой и реализуй себя в ней как получится.
https://2ch.hk/gd/res/785963.html (М)
https://2ch.hk/gd/res/785963.html (М)
https://2ch.hk/gd/res/785963.html (М)
https://2ch.hk/gd/res/785963.html (М)
https://2ch.hk/gd/res/785963.html (М)
https://2ch.hk/gd/res/785963.html (М)
https://2ch.hk/gd/res/785963.html (М)
https://2ch.hk/gd/res/785963.html (М)
https://2ch.hk/gd/res/785963.html (М)
https://2ch.hk/gd/res/785963.html (М)
https://2ch.hk/gd/res/785963.html (М)
https://2ch.hk/gd/res/785963.html (М)
https://2ch.hk/gd/res/785963.html (М)
https://2ch.hk/gd/res/785963.html (М)
Опционально ссылки на ютуб
Слева направо летят объекты "враги" и "бонусы". От врагов надо уворачиваться бонусы собирать. Собрал бонус плюс одно очко, ударился о врага минус одно очко.
Наверху экрана два текстовых поля: текущие очки и игровой рекорд.
Вот с этим рекордом и проблемы. В туториале его небыло. Я его решил сам добавить. Погуглил, сделал все как для текущих очков и написал
if (ochki >= record) record = ochki;
RecordText.text = record.ToString();
Всё работает, рекорд отображается и изменяется.
Но только до конца игры. При выключении и повторном включении игры рекорд блин обнуляется. В общем я решил сделать сохранение, чтобы рекорд сохранялся при следующем запуске игры и последующих запусках и продолжал подсчитываться, как оно вроде бы и должно быть.
Опять погуглил но на этот раз неудачно или я сам туплю.
В общем написал в методе Update
PlayerPrefs.GetInt("My");
PlayerPrefs.SetInt("My", record);
PlayerPrefs.Save();
Visual Studio говорит что все ништяк, ошибок нет, но ни хрена не сохраняется игра (игровой рекорд то есть)
Пробовал запихнуть всё это PlayerPrefs в метод OnApplicationQuit но результат тот же.
Вроде бы всё что надо есть, "My" это ключ, record интовая переменная значение которой я пытаюсь сохранить до следующего запуска игры.
Вот скрипт полностью
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class MSHARIKA : MonoBehaviour
{
public int ochki;
public int record;
[SerializeField] Text OchkiText;
[SerializeField] Text RecordText;
private void OnTriggerEnter2D(Collider2D Etot)
{
if (Etot.gameObject.tag == "tag2")
{
Destroy(Etot.gameObject);
ochki++;
}
if (Etot.gameObject.tag == "tag1")
{
Destroy(Etot.gameObject);
ochki+=-1;
}
}
public void Update()
{
if (ochki >= record) record = ochki;
RecordText.text = record.ToString();
OchkiText.text = ochki.ToString();
PlayerPrefs.GetInt("My");
PlayerPrefs.SetInt("My", record);
PlayerPrefs.Save();
}
}
Скрипт висит на самом шарике, очки прибавляются и убавляются при столкновении с объектами в зависимости от tag1 и tag2. При столкновении с шариком объекты также исчезают.
В общем работает всё кроме сохранения рекорда после выключения игры.
Объясните пожалуйста где я туплю?
Если можно напишите и пару-тройку строчек кода как мне в моем скрипте это сохранение игрового рекорда сделать.
Буду благодарен за все ответы.
Слева направо летят объекты "враги" и "бонусы". От врагов надо уворачиваться бонусы собирать. Собрал бонус плюс одно очко, ударился о врага минус одно очко.
Наверху экрана два текстовых поля: текущие очки и игровой рекорд.
Вот с этим рекордом и проблемы. В туториале его небыло. Я его решил сам добавить. Погуглил, сделал все как для текущих очков и написал
if (ochki >= record) record = ochki;
RecordText.text = record.ToString();
Всё работает, рекорд отображается и изменяется.
Но только до конца игры. При выключении и повторном включении игры рекорд блин обнуляется. В общем я решил сделать сохранение, чтобы рекорд сохранялся при следующем запуске игры и последующих запусках и продолжал подсчитываться, как оно вроде бы и должно быть.
Опять погуглил но на этот раз неудачно или я сам туплю.
В общем написал в методе Update
PlayerPrefs.GetInt("My");
PlayerPrefs.SetInt("My", record);
PlayerPrefs.Save();
Visual Studio говорит что все ништяк, ошибок нет, но ни хрена не сохраняется игра (игровой рекорд то есть)
Пробовал запихнуть всё это PlayerPrefs в метод OnApplicationQuit но результат тот же.
Вроде бы всё что надо есть, "My" это ключ, record интовая переменная значение которой я пытаюсь сохранить до следующего запуска игры.
Вот скрипт полностью
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class MSHARIKA : MonoBehaviour
{
public int ochki;
public int record;
[SerializeField] Text OchkiText;
[SerializeField] Text RecordText;
private void OnTriggerEnter2D(Collider2D Etot)
{
if (Etot.gameObject.tag == "tag2")
{
Destroy(Etot.gameObject);
ochki++;
}
if (Etot.gameObject.tag == "tag1")
{
Destroy(Etot.gameObject);
ochki+=-1;
}
}
public void Update()
{
if (ochki >= record) record = ochki;
RecordText.text = record.ToString();
OchkiText.text = ochki.ToString();
PlayerPrefs.GetInt("My");
PlayerPrefs.SetInt("My", record);
PlayerPrefs.Save();
}
}
Скрипт висит на самом шарике, очки прибавляются и убавляются при столкновении с объектами в зависимости от tag1 и tag2. При столкновении с шариком объекты также исчезают.
В общем работает всё кроме сохранения рекорда после выключения игры.
Объясните пожалуйста где я туплю?
Если можно напишите и пару-тройку строчек кода как мне в моем скрипте это сохранение игрового рекорда сделать.
Буду благодарен за все ответы.
Но с программированием нереальная БЕДА блядь. Я супер тупой, причём там надо реально сука думать. А у меня в голове процессы ну посмотреть аниме.
Есть тут анон который таким же затупком был, но смог в код и начал самостоятельно руками писать логику какую-то? Помогите советом. А то так и продолжу хуи пинать
Не знаю что у тебя,- но вот как тоже самое у меня.
В отдельном методе при гамовере. Гет инт наверное у тебя там не нужен, гет нужен чтобы отображать в record.
public void GameOver()
{
if (hitCountScore >= allTimeHighScore)
{
PlayerPrefs.SetInt("score", hitCountScore);
PlayerPrefs.Save();
allTimeHighScore = hitCountScore;
highscore.text = allTimeHighScore.ToString();
}
И в старте у меня вот так, но наверное можно сразу в .text в ui передавать как-то.
...
allTimeHighScore = PlayerPrefs.GetInt("score");
highscore.text = allTimeHighScore.ToString();
...
И все эти переменные объявлены в классе
Вот, пикрелейтед, например - почему звуки врагов, фактически, воспроизводит объект игрока, а не сами враги и стены? Это норма или я дебил и не шарю пока?
Легче присоединить звуки к одному объекту, чем к нескольким.
Бамп вопросу.
>Форум: https://forum.unity3d.com/
Блять, мертвее мёртвого, как и этот тред. Ну и как мне пилить игру без советчиков?
Скелетной делать быстро и удобно, но некоторые ракурсы вообще не вытащить, учитывая что пытаюсь в изометрию.
Допустим идёт чел с помощью скелета, а анимация удара уже покадровая
Привет, поясните, пожалуйста, что не так с моим сраным роботом. Я пытаюсь приделать ему скелет через Unity Animation Rigging, но он не вписывается внутрь кубов, а наоборот выходит за пределы префаба. Не могу понять почему. Мне кажется что-то не так с префабом, но я недавно начал и не вижу причин.
Помогите нюфагу плиз советом. Толкьо не отсылайте в ньюфаготред - я там был, меня все игнорили даже после бампов.
Я совсем не шарю за геймдев, решил вкотиться с юнити. Хочу узнать самые основы - какие системные требования у него? Сколько там оперативы, сколько на диски занимает, какая видюха нужна и все такое?
В инее ничего конкретно не нашел. Сейчас лично првоерить возможности нету, боюсь что мой старый некроноут 1946 года не потянет.
Подскажите как это можно обойти? Вот код, в самом конце пример как я хочу использовать https://pastebin.com/rD4pLWyi
Пачаны, кто знает где можно безопасно скачать чистую версию Блендера для 7 винды ?
Вкотился с нуля примерно неделю назад. О погромировании знал только из паст с двачей про 300к/наносек и матан на уровне 9 класса (и то я затупок 22 лвл, который вышмат, который проходили в универе наглухо зыбыл когда ушел после 2го курса). За неделю смог замутить игру где челик пинает мяч в футбольные ворота и набивает очки пока ему мешает "вратарь" (пока что это бегающий из стороны в сторону цилиндр, но уже хоть что-то). Крч да, трудно но можно.
Из советов он нубаса:
- учись по гайдам на ютабе (очень желательно на англише), мой выбор пал на челика с ником Brackeys, вот один из его гайдов, с которых начинал:
https://www.youtube.com/watch?v=VbZ9_C4-Qbo&ab_channel=Brackeys
Все укладывает в 5-10 минут, код постоянно на экране, минимум воды, максимум наглядности. И дикция более-менее внятная.
- когда смотришь гайд, добавляй немного отсебятины на свой вкус, где-то переименуй переменную, вместо куба добавь шар, измени вектор, текстуру, крч чтобы не было как под копирку
- гугли ошибки, а не пытайся откатиться ктрл-з пока они не исчезнут сами
- почаще сохраняй проект, очень обидно бывает если пропадет свет или где-то проебешься/удалишь, а там кода часов на 20 было
- записывай синтаксис в отдельный блокнотик, сделай док с основными целями своей игры и каждый день пытайся выполнить отя бы один пункт (сегодня сделать модель перса, завтра добавить ему скелет, послезавтра анимировать прыжок)
- не думай сразу высрать игру на уровне дерьмака или даже майнкрафта, начинай с базовых вещей типа "кубик пинает мячик и пытается попасть в лунку", дальше уже по мере надобности учить накладывать текстуры, делать 3д модели, добавлять звуки, анимации, коллизии
- не используй префабы с уже готовым кодом/моделями, из-за них пропустишь мимо самые базовые понятия в коде
- кодинг это тупо матан, где большая часть функций уже написана за тебя и встроена в движок, т.е. ничего кроме понимания (не знания) матана тебе не нужно, все формулы гуглятся, главное не быть тупым и/или ленивым (как я); матан это логика, а логику поймет даже самый отбитый дегенерат если ему дать время
- не сиди только итт, лучше поискать другие форумы, здесь почти никогда не отвечают, а нюфагов хуессосят и посылают гуглить с любым вопросом (двач все-таки)
Вкотился с нуля примерно неделю назад. О погромировании знал только из паст с двачей про 300к/наносек и матан на уровне 9 класса (и то я затупок 22 лвл, который вышмат, который проходили в универе наглухо зыбыл когда ушел после 2го курса). За неделю смог замутить игру где челик пинает мяч в футбольные ворота и набивает очки пока ему мешает "вратарь" (пока что это бегающий из стороны в сторону цилиндр, но уже хоть что-то). Крч да, трудно но можно.
Из советов он нубаса:
- учись по гайдам на ютабе (очень желательно на англише), мой выбор пал на челика с ником Brackeys, вот один из его гайдов, с которых начинал:
https://www.youtube.com/watch?v=VbZ9_C4-Qbo&ab_channel=Brackeys
Все укладывает в 5-10 минут, код постоянно на экране, минимум воды, максимум наглядности. И дикция более-менее внятная.
- когда смотришь гайд, добавляй немного отсебятины на свой вкус, где-то переименуй переменную, вместо куба добавь шар, измени вектор, текстуру, крч чтобы не было как под копирку
- гугли ошибки, а не пытайся откатиться ктрл-з пока они не исчезнут сами
- почаще сохраняй проект, очень обидно бывает если пропадет свет или где-то проебешься/удалишь, а там кода часов на 20 было
- записывай синтаксис в отдельный блокнотик, сделай док с основными целями своей игры и каждый день пытайся выполнить отя бы один пункт (сегодня сделать модель перса, завтра добавить ему скелет, послезавтра анимировать прыжок)
- не думай сразу высрать игру на уровне дерьмака или даже майнкрафта, начинай с базовых вещей типа "кубик пинает мячик и пытается попасть в лунку", дальше уже по мере надобности учить накладывать текстуры, делать 3д модели, добавлять звуки, анимации, коллизии
- не используй префабы с уже готовым кодом/моделями, из-за них пропустишь мимо самые базовые понятия в коде
- кодинг это тупо матан, где большая часть функций уже написана за тебя и встроена в движок, т.е. ничего кроме понимания (не знания) матана тебе не нужно, все формулы гуглятся, главное не быть тупым и/или ленивым (как я); матан это логика, а логику поймет даже самый отбитый дегенерат если ему дать время
- не сиди только итт, лучше поискать другие форумы, здесь почти никогда не отвечают, а нюфагов хуессосят и посылают гуглить с любым вопросом (двач все-таки)
А, и забыл дописать - не сиди дольше 4-6 часов за кодингом, мозг себе сломаешь, если ньюфаг. Но сидеть нужно каждый день и не меньше часа-полтора. Проверено на личном опыте.
There was a problem activating a new personal license. Make sure you are logged in, and have internet connection
Возможно, тебе подойдет канал Jason Weimann, он там кидает разные скрипты пока их разбирает
Да, я подписан, хороший канал, но он чаще как раз конкретные кейсы и механики смотрит, а мне бы хотелось понять, как красиво и эффективно всё это можно собрать в единую масштабируемую систему.
Бля, я походу понял и сделал как надо, но теперь у меня этот ебучий рекорд вообще не обнуляется никак. Даже если нахуй закрываю юнити полностью и открываю снова. Как заставить его видеть разницу между выходом/остановкой игры и ее рестартом с помощью скрипта?
Во время ходьбы отключаю видимость скелета, чтобы остались видимыми одни спрайты.
Но у спрайтов другой Pivot point, если я не ошибаюсь, и они вобщем как видно на пике, расположены ниже скелета. И я не могу понять как их поднять отдельно на уровень скелета. Двигается все вместе со скелетом. Мб есть какие-то простые способы?
>Как же жопа горит с дерьмовых гайдов, книг и курсов просто пиздец.
Это просто сорта одного гавна, за которые они ещё и денег требуют.
Юнитач объясни нахрена автор юнити в действии постоянно сериальзует все переменные?
[SerializeField] private AudioClip hitWallSound;
[SerializeField] private AudioClip hitEnemuSound;
Лично он говорит что публичные переменные опасно использовать, но даже сам компилятор предлагает использовать публичны переменные, тем более в редакторе что те, что те одинаковы.
И ещё раз об этих ебаных слушателях и подписчиков, нахера он постоянно дублирует код? Разве это не плохо?
Просто для теста сделал пикрил(каждое из этих свойств содержит полей 10) - и уже заметно что фпс супер мало в инспекторе(кэширование проперти ничего не меняет, вся проблема именно в методе PropertyField). Если не делать кастом эдитор - все идеально работает, но результат тот же. Как пофиксить? Мне нужен кастомный эдитор, отказаться от него не вариант...
Вообще я могу сделать дополнительный класс, в котором помещу тот минимум какой мне нужен, добавлю кнопки и все прочемм что мне нужно от кастом едитора, и все нужные данные буду подтасиквать из основного класса, но это же пиздец.
Какие новости о работе на Unity в РФ и зарубежом?
Вот у меня есть вратарь. Сделал ему в блендере анимацию и скелет. Сделал коллизию для ноги (пока это просто палка, но пох). Вроде взаимодействует с мешем мяча, но как-то слабенько. То есть мяч улетает на 2-3 метра макс. Пробовал уменьшить вес мяча, увеличить вес ноги, скорость анимации сделал х2. Вроде бы, по всем законам физики все работает. Но когда я ставлю вес у ноги 200+ мяч начинает отлетать наоборот БЛИЖЕ. Вопрос какого хуя? Это ведь вообще никакой логике не поддается. То есть до 100 веса сила пинка только увеличивается, а потом начинает происходить какая-то залупа. Как это фиксить и в чем я не прав? Только не предлагайте кодить - пока что все работает чисто на физических взаимдоействиях.
И еще - раз можно сделать настолько мелкие ХБ (если сдвигаю мяч на 0,5 по иксу, нога уже не попадает), но хуле их не делают так во всех играх? В том же ДС3, где хб мечей всяких чуть ли не в 2 раза больше самой модельки. Разве не экономнее рендерить хб поменьше?
Как там в других движках хз, но я смотрел гайд по мешам в юнити, чел говорил, что множество мешей, которые точь-в-точь повторяют геометрию объекта сильно напрягают ресурсы компа. Именно в юнити.
Так я не говорю точь-в-точь. Там у топора это палка и навершие. У копий каких-нибудь вообще одна палка. Ты просто делаешь эту палка меньше, хз как это может напрягать движок сильнее. Но ладн, спс за ответ. Тоже сейчас изучаю эту тему и везде хб делают огромными.
Тыскозал?)
Ваще у меня какб основной заработок уже имеется. А геймдевом занимаюсь больше ДЛЯДУШИ. С пиздючества мечтал свою игру замутить типа героев+диабло. Так что это считай хобби.
Почему на этой доске все так зациклены на том чтобы получат с этого бабло? По мне так намного интересней просто сидеть и эскапировать залипая в код или лепя модельку унитаза в блендере. Особенно на фоне всего происходящего пиздеца за окном.
+ никто не мешает потом начать работать на себя
Охуеть, не прошло и 10 лет
Какая разница если все работает и не лагает? Странные у тебя вопросы конечно. Если ты сам себе разраб, то и тестером можешь побыть заодно.
Задача - по нажатию клавиши запускается анимация бега и длится пока не отпущу.
Ошибок не выдает, но и не запускает. Аниматор назначил, анимацию залупил.
Вот код:
using UnityEngine;
public class PlayAnimation : MonoBehaviour
{
public Animator anim;
void Start()
{
anim = GetComponent<Animator>();
}
void Update()
{
if (Input.GetKey("W"))
{
anim.Play("animation_name");
}
}
}
Где я проебался?
Задача - по нажатию клавиши запускается анимация бега и длится пока не отпущу.
Ошибок не выдает, но и не запускает. Аниматор назначил, анимацию залупил.
Вот код:
using UnityEngine;
public class PlayAnimation : MonoBehaviour
{
public Animator anim;
void Start()
{
anim = GetComponent<Animator>();
}
void Update()
{
if (Input.GetKey("W"))
{
anim.Play("animation_name");
}
}
}
Где я проебался?
Изначально использовал character joints, но не нашел у них подобную настройку, сделал сейчас configurable, но там слишком много всего
А не, все, сам разобрался. Не тот контроллер присвоил и W большую написал.
Тоже начал недавно на эту тему видосы смеотреть.
Нужно чтобы все части были ригидбади и вес у конечностей меньше чем у туловища. Еще может вызывать косяки с отлетанием джойнтов если конечности со слишком большими коллайдерами и близко друг к другу (но суя по твоим пикам это не тот случай).
https://youtu.be/6t6cTC_B1yw?t=518
Вот тут чел на 8 минуте поясняет за это.
https://youtu.be/C8evrkExl34?t=1474
А тут у него цепь из джойнтов распидорашивает если ее быстро двигать. Говорит нужно поставить неболшой спринг. Тут же он говорит, что у корпуса должна быть масса больше чем у конечностей.
Но судя по всему самый эффективный способ в настройках, во вкладке тайм поставить фикс тайм степ поменьше (по умолчанию там 0,3 вроде бы, можно сделать 0,1).
Эй, юнитидрочеры, а где хорошие игры на вашем движке? Из тех что в шапке:
Valheim - ну более-менее выглядит
Genshin Impact - мультяшная графика, поэтому было легко сделать
Subnautica - простенькая графика, ну ок, более-менее
Albion Online - примитивно выглядящая распиаренная параша
Endless Space - это 4Х, без трёхмерного геймплея
Beat Saber - казуальщина
Boneworks - ну предположим
Rust - предположим, хотя выглядит простенько
Блицкриг 3 - простенькая стратегия, не уровень не то что СК а даже дюны.
Pillars of Eternity, Tyranny - изометрия
Kerbal Space Program - чисто песочница.
Добавлю:
Востлэнд 3 - адовы лаги
Мор 2 - не могут доделать из-за говнодвижка
Яндере симулятор - разраб мучается с говнодвижком, не может доделать
Тарков - адовы баги-лаги и невозможность доделать игру.
Всякие 2д вроде купхеда не в счёт
А есть что-то сложное, высокотехнологичное в 3д, ну вроде Масс Эффект??? Не симулятор ходьбы, так как там геймплея мало и сделать его легко???
Ладно, покормлю жирного
Половина из тобою перечисленного чисто субъективщина (а значит, не учитывается), а вторая половина - дроч на ГРАФОООН (что еще меньше учитывается). А теперь разберем по порядку тобою написанное:
Valheim - охуенно выстрелила и побила рекорды продаж при довольно посрдественном ГРАФОНЕ. При этом ее разрабатывало всего 5 человек. Что уже неплохо мотивирует таких соло-разрабов типа меня. Из-за нее по сути и начал вкатываться в юнити.
Genshin Impact. Одни из самых популярных мобилок последних лет. Всем похуй, что это анимешная донатная помойка, главная что она рубит нехуевые бабки просто используя механики зельды и анимешный стиль.
Subnautica - одна из самых атмосферных выживалок, сделанных на коленке, постоянно висит в топе игр на твиче.
Rust. Все еще самый популярный выживач, убивший дейз и его клоны.
Pillars of Eternity. Охуенная рпг, с охуенным визуалом, хз к чемму тут вообще можно доебаться.
Тарков. Отлично выглядит и играется, ни разу не ловил багов, игра вполне себе закончена.
>Всякие 2д вроде купхеда не в счёт
Ок, но ты не будешь же отрицать, что всякие харстоуны, гвинты
приносят своим создателям нихуевые бабки каждый день.
И ты как-то аккуратно обошел еще дохуя успешных проектов - пасфайндер, файрвотч, холоу найт, форест, тирания. Все они охуенно продались и имеют в основном положительные/очень положительные отзывы.
Как видишь, твои маняпуки субъективщиной ничто против объективных оценок кол-ва продаж и оценок от игроков. Не понятно к чему ты это высрал тогда. Без негатива.
Сразу хочу сказать, обожаю 2д и изометрию, но речь о более сложных проектах.
В таркове даже сами разрабы на движок жалуются, тайму серьёзные проблемы с разработкой, она надолго затянулась из-за юнити.
Genshin Impact - именно лёгкий проект, без особо сложновоспроизводимых механик и сложной графики.
Valheim - там уровень индюшатины, причём неоптимизированный.
Как и субнаутика с растом, выглядит на уровне 2000-ых
Без обид, не дрочу на графон, а реально ищу именно сложносоздаваемые игры на юнити. На педевикии есть список но искать там долго, что есть что, деньги не показатель.
И да , 2д и изометрию обожаю, но меня интересует именно сложные проекты уровня хотя-б мор 2 и яндере, а тма проблемы с разработкой и оптимизацией
>>пасфайндер
ВИд сверху
>>файрвотч
Простенький симулятор ходьбы, да, их немало на юнити, но ведь их легко сделать, карта + пара функций.
>>холоу найт
2д
>>форест
Ну, выглядит простенько, но сойдёт.
>>тирания
Говорю же, изометрия
Итого:
Форест
Valheim
Subnautica
Rust
>>
Выглядит простенько, без особо сложных механик. Разрабы таркова юнити проклинают.
Есть ли ещё игры хотя-бы такого уровня?
Я правда интересуюсь. Просто все сравнивают эти движки, и мне стало интересно. Я на неоаксисе работал. А вот больше всего СПОР понравился, от максис, такой бы редактор - нда на движок, цены бы не было.
Сразу хочу сказать, обожаю 2д и изометрию, но речь о более сложных проектах.
В таркове даже сами разрабы на движок жалуются, тайму серьёзные проблемы с разработкой, она надолго затянулась из-за юнити.
Genshin Impact - именно лёгкий проект, без особо сложновоспроизводимых механик и сложной графики.
Valheim - там уровень индюшатины, причём неоптимизированный.
Как и субнаутика с растом, выглядит на уровне 2000-ых
Без обид, не дрочу на графон, а реально ищу именно сложносоздаваемые игры на юнити. На педевикии есть список но искать там долго, что есть что, деньги не показатель.
И да , 2д и изометрию обожаю, но меня интересует именно сложные проекты уровня хотя-б мор 2 и яндере, а тма проблемы с разработкой и оптимизацией
>>пасфайндер
ВИд сверху
>>файрвотч
Простенький симулятор ходьбы, да, их немало на юнити, но ведь их легко сделать, карта + пара функций.
>>холоу найт
2д
>>форест
Ну, выглядит простенько, но сойдёт.
>>тирания
Говорю же, изометрия
Итого:
Форест
Valheim
Subnautica
Rust
>>
Выглядит простенько, без особо сложных механик. Разрабы таркова юнити проклинают.
Есть ли ещё игры хотя-бы такого уровня?
Я правда интересуюсь. Просто все сравнивают эти движки, и мне стало интересно. Я на неоаксисе работал. А вот больше всего СПОР понравился, от максис, такой бы редактор - нда на движок, цены бы не было.
>сложносоздаваемые
>сложновоспроизводимых
Дефайн ит, потом поговорим.
>лёгкий проект
>уровень индюшатины
>выглядит на уровне 2000-ых
Сори, но у тебя какие-то слишком субъективные и расплывчатые критерии качества игр. Для разраба есть только 2 действительно важных показателя - то, как его поделка продалась и каким количеством. Еще некоторым важно то, как его игру оценили, какая у него фанбаза (какие арты рисуют по его игре, создают форумы и моды).
Я понимаю, что ты имеешь в виду. Я тоже поначалу считал, что ""хорошая"" игра это исключительно 3д, с топграфоном, от 1го/3го лица, плавными анимациями и реалистичной физикой.
Но мы рассматриваем тут игры не с точки зрения потребителя, а с точки зрения разраба. И тут любая игра хороша, если ее покупают. И чем больше покупают, тем она лучше.
Просто задумайся, майнкрафт это сплошные кубы и крафт. Это не то что не уровень даже 2000г., это в принципе поделка уровня 9-классника если задуматься, с точки зрения кода (я говорю про ранние версии офк). Но она выстрелила, и не умерла до сих пор. А наоборот даже развилась и будет развиваться дальше. Он популярен не только среди школоты, посмотри сколько на него сделано модов. Школьник такую хуйню не напишет. Один этот пример убивает любые аргументы про "графон слабый" и "движок важен". Ничто не важно, если геймплей пиздатый, а у тебя руки не из задницы.
>Разрабы таркова юнити проклинают.
Значит разрабы дауны. Они САМИ выбрали этот движок, так что пусь жалуются сколько угодно. Движок плохим быть не может по определению. Это все равно что сказать что сишарп плохой язык программирования. Двигло - по сути ЯП с уже прописанной физикой и графоном, удобным интерфейсом, и несколько изменненным синтаксисом (никто не мешает тебе писать на C# от начала и до конца).
Еще раз - не бывает "хуевых" движков, бывают кривые руки.
>Есть ли ещё игры хотя-бы такого уровня?
Какого ТАКОГО? Ты ведь даже не можешь конкретно обозначить что для тебя "такой уровень". Для меня эти игры различаются только уровнем графония. В остальном они одинаковые, никаких "Сложных" механик в таркове я не увидел, обычный шутан с укрытиями по сути. ну да одна смерть, ну да можно ОБОЖЕ ПРИСЕДАТЬ И МЕНЯТЬ УРОВЕНЬ ПОЛОЖЕНИЯ ТЕЛА. И ОБОЖЕ НЕТ ИНТЕРФЕЙСА И ТЫ ДОЛЖЕН САМ СЧИТАТЬ ОТСТРЕЛЯННЫЕ ПАТРОНЫ. Охуеть, если для вас это сложные механики, то никаких вопросов.
> А вот больше всего СПОР понравился
Ну вот тебе пример охуенной старой игры "из 2000х" на нонейм-движке от нонейм разрабов. Еще до сих пор считают легендарной. Так что твой вопрос мне все еще не понятен.
>Есть ли ещё игры хотя-бы такого уровня? Мы говорим про SPORE, как я понял.
Когад приведешь дефиницию "сложным механикам" и "такому уровню", тогда и поговорим).
>сложносоздаваемые
>сложновоспроизводимых
Дефайн ит, потом поговорим.
>лёгкий проект
>уровень индюшатины
>выглядит на уровне 2000-ых
Сори, но у тебя какие-то слишком субъективные и расплывчатые критерии качества игр. Для разраба есть только 2 действительно важных показателя - то, как его поделка продалась и каким количеством. Еще некоторым важно то, как его игру оценили, какая у него фанбаза (какие арты рисуют по его игре, создают форумы и моды).
Я понимаю, что ты имеешь в виду. Я тоже поначалу считал, что ""хорошая"" игра это исключительно 3д, с топграфоном, от 1го/3го лица, плавными анимациями и реалистичной физикой.
Но мы рассматриваем тут игры не с точки зрения потребителя, а с точки зрения разраба. И тут любая игра хороша, если ее покупают. И чем больше покупают, тем она лучше.
Просто задумайся, майнкрафт это сплошные кубы и крафт. Это не то что не уровень даже 2000г., это в принципе поделка уровня 9-классника если задуматься, с точки зрения кода (я говорю про ранние версии офк). Но она выстрелила, и не умерла до сих пор. А наоборот даже развилась и будет развиваться дальше. Он популярен не только среди школоты, посмотри сколько на него сделано модов. Школьник такую хуйню не напишет. Один этот пример убивает любые аргументы про "графон слабый" и "движок важен". Ничто не важно, если геймплей пиздатый, а у тебя руки не из задницы.
>Разрабы таркова юнити проклинают.
Значит разрабы дауны. Они САМИ выбрали этот движок, так что пусь жалуются сколько угодно. Движок плохим быть не может по определению. Это все равно что сказать что сишарп плохой язык программирования. Двигло - по сути ЯП с уже прописанной физикой и графоном, удобным интерфейсом, и несколько изменненным синтаксисом (никто не мешает тебе писать на C# от начала и до конца).
Еще раз - не бывает "хуевых" движков, бывают кривые руки.
>Есть ли ещё игры хотя-бы такого уровня?
Какого ТАКОГО? Ты ведь даже не можешь конкретно обозначить что для тебя "такой уровень". Для меня эти игры различаются только уровнем графония. В остальном они одинаковые, никаких "Сложных" механик в таркове я не увидел, обычный шутан с укрытиями по сути. ну да одна смерть, ну да можно ОБОЖЕ ПРИСЕДАТЬ И МЕНЯТЬ УРОВЕНЬ ПОЛОЖЕНИЯ ТЕЛА. И ОБОЖЕ НЕТ ИНТЕРФЕЙСА И ТЫ ДОЛЖЕН САМ СЧИТАТЬ ОТСТРЕЛЯННЫЕ ПАТРОНЫ. Охуеть, если для вас это сложные механики, то никаких вопросов.
> А вот больше всего СПОР понравился
Ну вот тебе пример охуенной старой игры "из 2000х" на нонейм-движке от нонейм разрабов. Еще до сих пор считают легендарной. Так что твой вопрос мне все еще не понятен.
>Есть ли ещё игры хотя-бы такого уровня? Мы говорим про SPORE, как я понял.
Когад приведешь дефиницию "сложным механикам" и "такому уровню", тогда и поговорим).
>где хорошие игры
>Kerbal Space Program - чисто песочница.
Совсем охерел? А ну извинился, быстро!
мимо считаю песочницы единственным жанром, достойным называться игрой, ведь только в песочницах есть полноценный свободный геймплей без грёбаных рельс
Ну я сразу так и подумал (о чем и написал в начале).
Но мне все равно делать нехуй, а в треде шаром покати, а чел вроде пытается в адекватные ответы. Наверное "сложное создаваемые/воспроизводимые" механики это те, которые трудно написать кодом. Но я таких в играх вообще почти не встречаю. Любая такая "механика" умещается в один файлик на 100 строчек кода макс. Например, в том же майне я боюсь представить сколько нотч на ебучей джаве прописывал все эти взрывы или физон и логику у поршней каких-нибудь. В то время как в юнити физика взрывов уже встроена.
Так что даже понятие "сложности" очень относительно.
>>796476
>>796493
Просто я не доволен тем, что яндере, тарков и мор 2 из-за вашего недодвижка не доделали.
И не надо из меня делать графодрочера. Я обожаю 2 д и песочницы. НО - их сделать легко и у них слабые требования. Их можно сделать на ЛЮБОМ движке, это вот вообще не показатель, поэтому мы их ТУТ не берём в рассчёт, а так-то они хорошие, спору нет.
Гляди. Меня интересует использование движка для крупных проектов. И сложных. Это:
https://ru.wikipedia.org/wiki/Список_игр_на_движке_Unreal_Engine
Кстати, полно качественных игр для мобилок.
Star Wars Jedi: Fallen Order
Dead by Daylight
Borderlands 3
DmC: Devil May Cry
Dishonored
Borderlands 2
Mass Effect 1-3
Tom Clancy's Rainbow Six: Vegas 2
Gears of War 2
Mirror's Edge
И уйма всего ещё.
Сложный проект = уровень хотя-бы тарков, но там разрабы сами жалуются на юнити, это мешает доделывать контент, и игра ещё не в релизе после стольких лет.
И мор 2 то же самое.
И яндере симулятор столько лет в разработке из-за движка.
Хотя-бы этот уровень.
Механики??? Ну, например различные способности масс эффект 3.
Или превращение в ворона в новых ассасинах. Вот такое вот.
Я не графодрочер, обожаю анимешную графику, но геншин импакт не в счёт, там не показатель возможностей движка, там его не нагружают графикой.
И да. Я работал в Нео Аксисе и уже минут через 30 у меня было несколько игровых уровней. И я не написал ни строчки кода, потому-что считаю, что код должны писать разработчики движка, а не игры.
Да, такой же список есть и на юнити на английском, но там не рассортировано многое, и в списке откровенная индюшатина, 2д и мобилки. Вот я и спрашиваю, какие есть крупные игры.
>>796476
>>796493
Просто я не доволен тем, что яндере, тарков и мор 2 из-за вашего недодвижка не доделали.
И не надо из меня делать графодрочера. Я обожаю 2 д и песочницы. НО - их сделать легко и у них слабые требования. Их можно сделать на ЛЮБОМ движке, это вот вообще не показатель, поэтому мы их ТУТ не берём в рассчёт, а так-то они хорошие, спору нет.
Гляди. Меня интересует использование движка для крупных проектов. И сложных. Это:
https://ru.wikipedia.org/wiki/Список_игр_на_движке_Unreal_Engine
Кстати, полно качественных игр для мобилок.
Star Wars Jedi: Fallen Order
Dead by Daylight
Borderlands 3
DmC: Devil May Cry
Dishonored
Borderlands 2
Mass Effect 1-3
Tom Clancy's Rainbow Six: Vegas 2
Gears of War 2
Mirror's Edge
И уйма всего ещё.
Сложный проект = уровень хотя-бы тарков, но там разрабы сами жалуются на юнити, это мешает доделывать контент, и игра ещё не в релизе после стольких лет.
И мор 2 то же самое.
И яндере симулятор столько лет в разработке из-за движка.
Хотя-бы этот уровень.
Механики??? Ну, например различные способности масс эффект 3.
Или превращение в ворона в новых ассасинах. Вот такое вот.
Я не графодрочер, обожаю анимешную графику, но геншин импакт не в счёт, там не показатель возможностей движка, там его не нагружают графикой.
И да. Я работал в Нео Аксисе и уже минут через 30 у меня было несколько игровых уровней. И я не написал ни строчки кода, потому-что считаю, что код должны писать разработчики движка, а не игры.
Да, такой же список есть и на юнити на английском, но там не рассортировано многое, и в списке откровенная индюшатина, 2д и мобилки. Вот я и спрашиваю, какие есть крупные игры.
Лолбля, ну у тебя и логика. Недоделанных игр тысячи при че на любых движках, даже на твоем обожаемом АЭ. Хз откуда ты взял, что мор 2 не доделана, вполне законченный продукт.
Яндере симулятор это вообще игра-мем, которую делает один поехавший шиз. Она недоделана не потому что хуевый движок, а потому что ее разраб - ленивая хуйлуша, которая все ассеты пиздит, и при этом умудряется делать свою помойку уже кучу лет. Посмотри расследования этого пиздеца на ютубе, как он там ноет по кд и клянчит бабки на "разработку", а сам месяцами к проекту даже не притрагивается. А, ну охуеть, движок виноват, ну да, конечно.
>И да. Я работал в Нео Аксисе и уже минут через 30 у меня было несколько игровых уровней. И я не написал ни строчки кода, потому-что считаю, что код должны писать разработчики движка, а не игры.
АХАХАХАХХА что нахуй?? Без знания кода ты и уровня не напишешь. Если это не поделка в каком-нибудь гейм-мейкере. Кстати, как тебе игры на нем? Норм? Или они тоже недостаточно 2сложные"? Вот в них как раз код знать не обязательно.
>Или превращение в ворона в новых ассасинах. Вот такое вот.
>Механики??? Ну, например различные способности масс эффект 3.
Лол, надеюсь это тролинг. В это вообще нет ничего сложного. Это литерали 10-20 строк кода. Грубо говоря:
if (нажал кнопочку R)
{воспроизвести анимацию превращения в петуха;
заменить модельку отсосина на модельку петуха;}
if (нажал кнопочку Z)
{кинуть шарик с разерами Х в направлении вектора Y со скоростью Z;
при столкновении шарика с объектом с тэгом "энеми" отбросить объект на расстояние N, модель шарика уничтожить;}
Охуеть сложно, да? Тут вся сложность только в том чтобы нарисовать красивые модельки, анимации, визуальные эффекты и прикрутить звук. А вот это уже никакой соло-разраб не потянет. Ввыходит, что по твоей же логике, ААА от игр категории Г отличают лишь размер команды и изначальный бюджет ,который у крупных фирм есть. Иными (твоими словами) - хорошая игра та, на которую потрачено много бабла, а плохая - любая другая. Вот только при чем тут движок?
Ладно, я высрался, пойду перекурю и буду доделывать свою йоба игру про сражения рыцарей на арене. А не, тут же анон сказал, что все что не выглядит как его любимый тарков или новый хорайзон это ослиная моча. Ладно, шучу, просто немножко поговорил с пастой и поугарал с этого никакизстого тралинга.
>>796523
>Но глупо судить движок по этим играм, их можно сделать на чём угодно, судить надо по сложным играм.
Так единственный, кто его судит, это ты, шизик, лол. Все движки очень похожи по сути своей, каждый прогает на том, что ему нравится. Просто разное двигло поддерживает разные платформы и языки. Ну и сложности входа и требованиями к понимаю кода еще. Все. В остальном все движки одинаковые.
Лолбля, ну у тебя и логика. Недоделанных игр тысячи при че на любых движках, даже на твоем обожаемом АЭ. Хз откуда ты взял, что мор 2 не доделана, вполне законченный продукт.
Яндере симулятор это вообще игра-мем, которую делает один поехавший шиз. Она недоделана не потому что хуевый движок, а потому что ее разраб - ленивая хуйлуша, которая все ассеты пиздит, и при этом умудряется делать свою помойку уже кучу лет. Посмотри расследования этого пиздеца на ютубе, как он там ноет по кд и клянчит бабки на "разработку", а сам месяцами к проекту даже не притрагивается. А, ну охуеть, движок виноват, ну да, конечно.
>И да. Я работал в Нео Аксисе и уже минут через 30 у меня было несколько игровых уровней. И я не написал ни строчки кода, потому-что считаю, что код должны писать разработчики движка, а не игры.
АХАХАХАХХА что нахуй?? Без знания кода ты и уровня не напишешь. Если это не поделка в каком-нибудь гейм-мейкере. Кстати, как тебе игры на нем? Норм? Или они тоже недостаточно 2сложные"? Вот в них как раз код знать не обязательно.
>Или превращение в ворона в новых ассасинах. Вот такое вот.
>Механики??? Ну, например различные способности масс эффект 3.
Лол, надеюсь это тролинг. В это вообще нет ничего сложного. Это литерали 10-20 строк кода. Грубо говоря:
if (нажал кнопочку R)
{воспроизвести анимацию превращения в петуха;
заменить модельку отсосина на модельку петуха;}
if (нажал кнопочку Z)
{кинуть шарик с разерами Х в направлении вектора Y со скоростью Z;
при столкновении шарика с объектом с тэгом "энеми" отбросить объект на расстояние N, модель шарика уничтожить;}
Охуеть сложно, да? Тут вся сложность только в том чтобы нарисовать красивые модельки, анимации, визуальные эффекты и прикрутить звук. А вот это уже никакой соло-разраб не потянет. Ввыходит, что по твоей же логике, ААА от игр категории Г отличают лишь размер команды и изначальный бюджет ,который у крупных фирм есть. Иными (твоими словами) - хорошая игра та, на которую потрачено много бабла, а плохая - любая другая. Вот только при чем тут движок?
Ладно, я высрался, пойду перекурю и буду доделывать свою йоба игру про сражения рыцарей на арене. А не, тут же анон сказал, что все что не выглядит как его любимый тарков или новый хорайзон это ослиная моча. Ладно, шучу, просто немножко поговорил с пастой и поугарал с этого никакизстого тралинга.
>>796523
>Но глупо судить движок по этим играм, их можно сделать на чём угодно, судить надо по сложным играм.
Так единственный, кто его судит, это ты, шизик, лол. Все движки очень похожи по сути своей, каждый прогает на том, что ему нравится. Просто разное двигло поддерживает разные платформы и языки. Ну и сложности входа и требованиями к понимаю кода еще. Все. В остальном все движки одинаковые.
Бля, чел юнити конечно не отличный движок и я бы с тобой обсудил это, но ты настолько блять не в теме и не знаешь о геймдеве вообще нихуя, что смысла особого в этом нет.
А разраб Яндере симулятора был замечен в лютейшем говнокоде, так что это его кривые руки виноваты в том, что они нихуя не может обновлять.
Вот код:
transform.localRotation = Quaternion.Euler(xRotation, 0f, 0f); playerbody.Rotate(Vector3.up * mouseX);
Вместо плейербади закидываю кость головы. По идее же вместо всей модельки теперь скрипт должен поворачивать по оси х только кость, отвечающую за голову, разве нет?
На самом деле хз, я особо не заморачиваюсь пока что с раскраской. Если нужны простые цвета, делаю в шейдинге нод Image Texture с каким-нибудь цветом, ну или потом в текстур пейнт крашу. Экспорт делаю в FBX сразу в проект, а там он уже готовый, надо только текстуру наложить на материал в юнити.
>перс прозрачный получается
По идее, если ты не наложишь текстуру, то модель внутри юнити будет либо белой, либо розовой.
>модель внутри юнити будет либо белой, либо розовой.
Это я говорю, потому что по началу не использовал вообще никакой текстуры, но модели внутри юнити белые/серые/розовые
>>Хз откуда ты взял, что мор 2 не доделана, вполне законченный продукт.
Нету компании 2 персонажей. И разрабы жаловались на жвижок.
>> А, ну охуеть, движок виноват, ну да, конечно.
Да, движок, там он в интервью подробно описывал какой пиздец эта разработка
>>АХАХАХАХХА что нахуй?? Без знания кода ты и уровня не напишешь. Если это не поделка в каком-нибудь гейм-мейкере. Кстати, как тебе игры на нем? Норм? Или они тоже недостаточно 2сложные"? Вот в них как раз код знать не обязательно.
На неоаксисе за несколько минут карта делается. На купер кубе. На годоте.
>>- хорошая игра та, на которую потрачено много бабла, а плохая - любая другая.
>>Нив коем случае. Есть хорошие игры разрабатываемые малой командой.
>>это ослиная моча.
Нет, есть много хороших игр 2д, мультяшной графикой и 2д, но движок характеризуют именно масштабные игры.
>>Ну и сложности входа и требованиями к понимаю кода еще
Я об этом и говорю. Почему бы не сделать простой понятный интерфейс, с многофункциональностью??? Нахуй каждый раз движок допиливать, как крайенжин???
Аноны, выручайте.
Есть рука. Когда подбираю предмет (палку), она автоматом становится чайлдом к руке. На палке висит скрипт WeaponStats.
При нажатии ЛКМ в игре этот скрипт должен отрубиться. Но как это замутить?
Я прписал:
gameObject.GetComponentsInChildren<WeaponStats>();
то есть нашел компонент WeaponStats на чайлде руки (палке). Теперь нужно его отключить.
Что я пробовал и НЕ работает:
gameObject.GetComponentsInChildren<WeaponStats>().enabled (false);
gameObject.GetComponentsInChildren<WeaponStats>().enabled = false
gameObject.GetComponentsInChildren<WeaponStats>().SetActive(false);
gameObject.GetComponentsInChildren<WeaponStats>();
other.enabled = false;
Есть какие-то идеи?
>песочницы
>их можно сделать на чём угодно
>>796522
>их сделать легко
>у них слабые требования
>Их можно сделать на ЛЮБОМ движке
Детекчу нуба, который не только игры не делал, но и не играл в песочницы, а судит по скриншотам. Песочницы - самый сложный жанр, как для игрока, так и для разработчика. Песочницы сложно делать в целом и сложно оптимизировать в частности. Простая графика песочниц не от хорошей жизни, а в целях оптимизации и экономии времени разработки, которое уходит на геймплей. Кроме того, без написания кода ты большую интересную песочницу никогда не сделаешь, в отличие от многих других жанров.
>крупных проектов. И сложных.
Песочницы. Самый крупный и самый сложный жанр. В него входят игры многих жанров, если что, даже ГТА - простейшая песочница, и многие ММО попадают в разряд песочниц (с какого-то этапа). Что уж говорить о KSP, которая в сотни раз сложнее той же GTA 5, я бы даже не подумал делать клон KSP, а вот низкосортных клонов GTA на юнити очень много, GTA относительно несложно сделать соло (в плане геймплея), хотя всё же сложнее других, "рельсовых" жанров.
Из крупных песочниц на юнити могу отметить 7 Days to Die и Empyrion - Galactic Survival. 7DTD много лет в раннем доступе, но активно развивается, а EGS не так уж давно релизнулась, тоже после длительного раннего доступа, но продолжает активно развиваться даже после релиза. В обоих играх графика сложная, физика сложная, геймплей очень богатый, ИИ, то-сё, пятое-десятое, в общем, очень тяжёлые игры, мой комп еле-еле тянул в прошлом и я сомневаюсь что адекватно потянет сейчас. И всё потому, что это песочницы, а не какой-то коридорный шутан с одним только пиф-паф вместо геймплея.
Не защищаю юнити, наоборот, из-за неё куча проблем, в том числе с производительностью, но большие и сложные игры на ней определённо есть, не стоит её недооценивать.
>код должны писать разработчики движка
Разработчики движка пишут движок - набор инструментов для разработки игры. Ты же, как разработчик игры, должен управлять этими инструментами. Но в мире компьютерных технологий пока не придумано лучшего способа для управления инструментами, чем программный код. Тебе в любом случае придётся каким-то образом описывать игровые правила и логику, из которых она состоит, даже в самой простой игре. А в самой сложной игре (песочнице) ты будешь вынужден создавать свои собственные инструменты, поскольку разработчики движка не могут предусмотреть инструменты на все случаи жизни, это попросту невозможно и невыгодно. Хотя некоторые инструменты ты можешь найти в магазине ассетов, но лучшие инструменты будут платными.
Так что извини, но тебе придётся писать код в той или иной форме. Не важно, будет ли это текстовая форма или форма визуальных графов. Код остаётся кодом, для его создания нужно обладать хорошо развитым техническим мышлением, и если ты гуманитарий, то никакие визуальные графы тебе не помогут. Однако, будь спокоен, игровой код в большинстве случаев во много раз проще кода, скрытого в глубинах игрового движка. Игровой движок упрощает разработку игр, именно поэтому их используют. Так что прекращай воротить нос от написания кода и пиши его, пока совсем не состарился, а то после 25 лет обучение даётся всё тяжелее и тяжелее, потому что мозг начинает разрушаться и хуже регенерирует.
>песочницы
>их можно сделать на чём угодно
>>796522
>их сделать легко
>у них слабые требования
>Их можно сделать на ЛЮБОМ движке
Детекчу нуба, который не только игры не делал, но и не играл в песочницы, а судит по скриншотам. Песочницы - самый сложный жанр, как для игрока, так и для разработчика. Песочницы сложно делать в целом и сложно оптимизировать в частности. Простая графика песочниц не от хорошей жизни, а в целях оптимизации и экономии времени разработки, которое уходит на геймплей. Кроме того, без написания кода ты большую интересную песочницу никогда не сделаешь, в отличие от многих других жанров.
>крупных проектов. И сложных.
Песочницы. Самый крупный и самый сложный жанр. В него входят игры многих жанров, если что, даже ГТА - простейшая песочница, и многие ММО попадают в разряд песочниц (с какого-то этапа). Что уж говорить о KSP, которая в сотни раз сложнее той же GTA 5, я бы даже не подумал делать клон KSP, а вот низкосортных клонов GTA на юнити очень много, GTA относительно несложно сделать соло (в плане геймплея), хотя всё же сложнее других, "рельсовых" жанров.
Из крупных песочниц на юнити могу отметить 7 Days to Die и Empyrion - Galactic Survival. 7DTD много лет в раннем доступе, но активно развивается, а EGS не так уж давно релизнулась, тоже после длительного раннего доступа, но продолжает активно развиваться даже после релиза. В обоих играх графика сложная, физика сложная, геймплей очень богатый, ИИ, то-сё, пятое-десятое, в общем, очень тяжёлые игры, мой комп еле-еле тянул в прошлом и я сомневаюсь что адекватно потянет сейчас. И всё потому, что это песочницы, а не какой-то коридорный шутан с одним только пиф-паф вместо геймплея.
Не защищаю юнити, наоборот, из-за неё куча проблем, в том числе с производительностью, но большие и сложные игры на ней определённо есть, не стоит её недооценивать.
>код должны писать разработчики движка
Разработчики движка пишут движок - набор инструментов для разработки игры. Ты же, как разработчик игры, должен управлять этими инструментами. Но в мире компьютерных технологий пока не придумано лучшего способа для управления инструментами, чем программный код. Тебе в любом случае придётся каким-то образом описывать игровые правила и логику, из которых она состоит, даже в самой простой игре. А в самой сложной игре (песочнице) ты будешь вынужден создавать свои собственные инструменты, поскольку разработчики движка не могут предусмотреть инструменты на все случаи жизни, это попросту невозможно и невыгодно. Хотя некоторые инструменты ты можешь найти в магазине ассетов, но лучшие инструменты будут платными.
Так что извини, но тебе придётся писать код в той или иной форме. Не важно, будет ли это текстовая форма или форма визуальных графов. Код остаётся кодом, для его создания нужно обладать хорошо развитым техническим мышлением, и если ты гуманитарий, то никакие визуальные графы тебе не помогут. Однако, будь спокоен, игровой код в большинстве случаев во много раз проще кода, скрытого в глубинах игрового движка. Игровой движок упрощает разработку игр, именно поэтому их используют. Так что прекращай воротить нос от написания кода и пиши его, пока совсем не состарился, а то после 25 лет обучение даётся всё тяжелее и тяжелее, потому что мозг начинает разрушаться и хуже регенерирует.
Ананасы, что для вас есть "красивый код"? Как бы вы это описали?
Перекат
https://2ch.hk/gd/res/796855.html#796855 (М)
https://2ch.hk/gd/res/796855.html#796855 (М)
https://2ch.hk/gd/res/796855.html#796855 (М)
https://2ch.hk/gd/res/796855.html#796855 (М)
https://2ch.hk/gd/res/796855.html#796855 (М)
https://2ch.hk/gd/res/796855.html#796855 (М)
https://2ch.hk/gd/res/796855.html#796855 (М)
https://2ch.hk/gd/res/796855.html#796855 (М)
https://2ch.hk/gd/res/796855.html#796855 (М)
https://2ch.hk/gd/res/796855.html#796855 (М)
https://2ch.hk/gd/res/796855.html#796855 (М)
https://2ch.hk/gd/res/796855.html#796855 (М)
>Но на бесплатной версии при запуске игры будет появляться короткий стартовый ролик "Made with Unity", а также ваши доходы ограничены 100 000 долларов в год.
А как они проверяют, кто сколько зарабатывает?
2) Здесь советуется книга "Unity в действии", а что насчёт "Unity за 24 часа"? Содержание второй мне понравилось больше, хотя ещё не читал.
3) https://noobtuts.com/unity - премиум туториалы не открываются просто так, а сам премиум купить невозможно (на сайте так и написано). Есть решение этого?
4) Есть ли в телеге двачерские конфы по разработке на юнити?
и хочу дальше заниматься разработкой именно 2D игры.
Посоветуйте ресурсы с помощью которых я смогу улучшать свои знания и навыки.
Книги, статьи, другие туториалы.
Только с новым материалом, а не с простым повторением того, что есть в этих уроках.
Пилю смесь RTS и TD в 2D. Из Ассетов пока только A*Pathfinding бесплатная версия. Стоит ли пиратить платную? Может, кто-то здесь пользовался.
Как лучше сделать обнаружение персонажами друг друга? Сейчас я использую Circle collider с флагом isTrigger, но если будут стены\непросматриваемые объекты, то выйдет не очень хорошо...
Есть персонажи, которые должны драться между собой. Есть два вида атаки - дальняя и ближняя. По идее, сначала персонажи вступают в дальний бой, затем, когда снаряды кончаются, начинается ближний. Однако, пока мой говнокод выдает только то, что при дальнем бою персонаж выпускает снаряды слишком быстро. Попытки использовать InvokeRepeating и проверки с Time.time не увенчались успехом. Куда копать? Напишите хотя-бы слово по которому это гуглить.
В ближнем бою персонажи машут своими "дубинами". Как чекать попадание?. Сейчас я использую активируемый во время анимации атаки BoxCollider, но это выглядит довольно топорно + неясно как при смене оружия менять и коллайдер. Если это будет к примеру копье, то получится ли сделать так, чтобы коллайдер (который будет на наконечнике) двигался во время анимации вслед за копьем?
https://www.youtube.com/watch?v=SDfEytEjb5o
мб это подойдет тебе.
Что касаемо боя - пили машину состояний, для привязке к повторению можно использовать корутины
Для детекта попадания - нужно подумать как ты хочешь реализовать боёвку. Если твоя дубина может бить сплешем, то надо именно смотреть попадания через колайдеры(например), если хочешь, чтоб 1 юнит атаковал только 1 юнит, то тут надо сделать таргеты и без всяких колайдеров атаку.
11-кун
Есть неплохой курс для ньюфагов от Романа Сакутина. Там не шибко подробно, но зато будешь знать куда копать в случае чего, будешь знать какие вообще есть в Unity фичи. Сам курс платный, но на торрентах есть.
11-кун
Как войти в режим редактиования префаба через код? хочу редактор 3д ресурсов сделать для себя специфический, не хочу редактировать ресурсы в существующих целях набивая их мусором.
Как использовать всякую хуйню из Handles в EditorWindow? например Handles.FreeMoveHandle вызывает нулл референс эксепшон, хотя некоторые другие нормально работаю.
с первым вопросом я разобрался. хорошо запрятали. побольше бы примеров с тем как SceneView используется с скриптабл обжектами
Хочу подобрать себе движок (ассет) с наиболее "реалистичным" разъебом тачек, собираюсь делать игру в духе flatout, кармы, дестр дерби.
До этого имел дело по работе лишь с RCC 3.0
Это копия, сохраненная 14 мая 2023 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.