Это копия, сохраненная 26 января в 20:05.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Прошлый тред: >>824236 (OP)
Официальный сайт: https://unity3d.com/ru
Документация: https://docs.unity3d.com/ru/current/Manual/index.html
Уроки: https://unity3d.com/ru/learn/tutorials
Форум: https://forum.unity3d.com/
Магазин ассетов: https://unity3d.com/ru/asset-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
Сап юнитач поясни за свет и тени в сценах. Почему при переходе с одного уровня на другой у меня тени в сценах становятся резче и свет уменьшается?
свет?
Ноя ничего не менял. У меня дефолтные нстройки освещения.
галочку на auto generate в окне lighting
либо тебе просто нужно сделать ребейк лайтпробов, чтоб применить изменения после перемещения, либо эта сфера относится к сфере которая возле розового объекта и перенимает цвет на себя, тебе нужно создать одну или более сфер между ними, там где розового объекта уже нет
Какого хуя в шапке досихпор весит говно мамонта? 90% шапки бесполезная, устаревшая инфа.
Нахуя делать перекат если ты это не пофиксишь? Пиздец.
Двачую, как мне кажется нужно еще сделать плейлист из лучших по-мнению анонов гайдов на юнити в ютубе. Зачастую у челиксов есть по 1-2 крутому ролику на определенную тему.
Даже заходить в тред с такой шапкой не хочется. Как игры делают, так и к шапкам относятся.
Я приблизительно понял, что ты хочешь, и даже знаю как сделать, но не скажу, потому что заебали долбоебы, которые даже мысль свою не могут выразить так, чтобы без ебли было понятно, что им надо.
Сап, подскажите туториалы, плейлисты на ютубе, ворованные курсы, курсы на официальном сайте юнитеков которые на "среднем" уровне обучаются шейдерам в контексте shader graph.
Везде, блядь, учат ноды перетаскивать и рассказывают азы. И отдельные туториалы как сделать что-то. Нет более структурированного обучения? Не очень хочется учиться по hlsl и ломая голову переводить в ноды.
>Не очень хочется учиться по hlsl и ломая голову переводить в ноды
Заявление уровня "не хочется учить C# чтоб потом ломая голову переводить в лапшу". Твой шейдер граф это упрощенное представление шейдера, не будет никакой проблемы с пониманием шейдерграфа если ты знаешь как эти шейдеры писать.
Всё так. Но я хочу упростить себе жизнь, а не усложнять ее. И я понимаю что любое нодовое представление это почти тоже самое, что и код, но в отличие от простого программирования мне очень сложно понимать что происходит на каждом этапе без удобной возможности глянуть промежуточный результат в ветке и итоговый.
Имхо шейдер граф - гениальная херня и раз я буду работать в ней, хотелось бы и гайды читать сразу про нее.
Смотрел кучу форумов, везде советуют еще к переменной префаба в коде объявлять resources.load но и это тоже не помогает. Дебажил - он ныряет в Start(), видит префаб в этой переменной, потом заново заходит в этот же Start() и присваивает переменной значение null. Как фиксить?
Пикрил 3 - поведение спавнера и собсна функция старт
Спасибо заранее...
Разобрался. Я в другом скрипте сделал костыль, из-за чего спавнер призывался туда, и уже там он был null. Пофиксил это, все исчезло
У тебя же приват стоит на препятствии, как ты мог затереть его через другой скрипт? Это надо хорошенько изъябнуться.
У меня до этого была хуйня, что спавн зависел от префаба, и тип когда префаб достигал определенной позиции, он передавал скрипту спавна свои характеристики при спавне и спавн генерировал клона с этими характеристиками.
В коде префаба была строчка вызова новой сущности спавнера, и там во время запуска игры он был с нулевыми переменными, это ошибку и вызывало
надеюсь понятно объяснил сам чет мало понял
Тащемто если тебе часто instantiate нужно дергать, лучше сделай пул объектов.
Да там у меня один объект - препятствие. Я бля клон флеппи берд делаю. Так что вроде все норм, мне никакой пул объектов не нужен. Мне осталось только логику очков/проигрыша сделать и само UI, а так играть уже можно
Делай как удобнее. Я бы вместе со сценой загружал препятствия и тупо двигал их на себя, как только они выходят за край камеры переставлял в начало с другой позицией. Это по сути и есть пул объектов в простейшем виде, переиспользование вместо удаления и создания.
>>29673
Практики как-то различаются в зависимости от платформы? Просто оптимизация.
Из тебя юморист как программист.
Мощно.
Тут не скорее не паттерны нужны, а солид.
Я короче тут вопросы напишу, а ты либо ответь либо поифкси
1. Почему на вход подаются геймобжекты и с них делается геткомпонент, а не сразу нужные типы?
2. Почему у тебя в сетгуимод подписка и отписка так странно расположена? Если я сначла зайду в геймплей, а потом в чарактер шит - поведение разве будет правильным?
2.2 Да и нахуя она там вообще, и так в старт и дестрой есть(у базовичков была бы в оненейбл и ондисейбл ну да ладно), почему бы просто в функциях типа дигитспрессед не смотреть на состояние юай?
3. Почему delegate {} а не () =>
4. Почему всё в куче в гуиконтроллере, и нету отдельных классов для геймплейного юи, меню и чарактер щит?
5. Чзх в дигитспрессед? Менеджеры ты писал, или тебе дали и сказали делать с ними? В любом случае, почему оттуда сразу не дается нормальная типизированная инфа и приходится ебаться со строками?
1. справедливо.
2. да. между этими состояниями должен только отключаться/включаться функционал отвечающий за вид от первого лица.
2.2 >почему бы просто в функциях типа дигитспрессед не смотреть на состояние юай?
звучит разумно.
3. начал писать лямбду, она начала меня дрочить ошибками, мне было впадлу лезть освежать в памяти лямбды, по пути наименьшего сопротивления копипастнул со скриптинг апи. Но, раз вопрос возник, из принципа проработаю.
4. Ну типа сложна потому что))))) не хватает опыта обозреть так сказать все это дело в глубину.
5. _1,_2,_3,_4,_5 имена экшенов для выбора персонажа соответственно номерам. Мне не по кайфу писать 5 функций, подписывать отписывать эвенты вот эти все. Ебанул тупа одну, достаю оттуда нужный индекс и уже по нему отрабатывает класс, ответственный за выбор персонажа.
>буду колоть ваши жопы
Только мамкиных Solid ООП безигорных фантазёров. Настоящих геймдевелоперов ты только позабавшись, да заставишь улыбнуться.
Сделай себе уютный тредик и пиздуй туда, здесь не твой бложик. Как в тред не зайдешь тут всё в твоём дристе.
Можете поделиться Unity 2021 Shaders and Effects Cookbook?
1920x1120, 0:38
Ну как сделаю инвентарь, систему квестов, взаимодействие с окружающими предметами и перемещение между сценами, тогда может и запилю. А пока можешь погулять по другим темам сам))
Анон у меня для тебя ужасные новости!
То что ты делаешь это механики, но как только дойдёшь до этапа разработки контента то дропнешь разработку =(
Зарекаться не буду. На крайняк хоть какие-то навыки появятся.
Но в целом у меня есть накидки накидочки по локациям, как они могут выглядеть, квестам, сюжету и т.д. все собирается в файлик. тут нехусоси если что. Хотя по факту, даже система скилов и классов готова пока процентов на 10 от силы.
Просто дам совет. То что ты представляешь будет в игре, к примеру какие 3д локации, обьекты, эффекты, картинки, анимации сделай по одной штуке чтобы посмотреть сможешь ли ты вообще их в реальности сделать и вставить.
В голове то оно может и представляешь как открываешь редактор да штампуешь контент, а в реале спустя пол часа секса осознаешь сколько всего хотел сделать, и сколько в реале это требует усилий что забьёшь.
Я это понимаю. Спасибо. По большому счету для меня пункт "Победа" находится в том месте, где будут работать механики, системы скилов, классов, переходы, боевка, а все остальное выполнено примитивами. И да, я не планирую делать детализированные готические соборы и пейзажи скайрима, визуал планируется на уровне 6-7 меджика +-.
Нашел сам, если кому интересно: https://cdn1.booksdl.org/get.php?md5=e5d11d34514d64a743043a4b965b1a40&key=J7USL79GHFU12D9J
Успокойся, вдохни-выдохни, выключи свой самоподдув на 5 секунд и попробуй сделать прямо сейчас тестовое демо хотя бы минут на 10 в котором будет одна локация и охуей.
Каждая локация это дохуя объектов, где каждый объект это текстура, это меш, это правильная uv-развертка, это карта нормалей, карта эмиссии, карта окклюзии, карта металичности лол, настройка освещения, теней, эффектов постпроцессинга, частиц, кастомные шейдеры для всяких специфичных штук.
мимо
>попробуй сделать прямо сейчас тестовое демо хотя бы минут на 10 в котором будет одна локация и охуей.
Двачую анона. Реально помогает понять сколько что делать и как это будет играться.
>Каждая локация это дохуя объектов
Не факт, но в основном так, если брать 3д.
>каждый объект это текстура
>меш
Абсолютно.
>правильная uv-развертка
Тут уже не совсем так. Для примитивов и им подобным, а также некоторым другим не нужна развёртка, или подойдёт автоматическа из блендера.
>карта нормалей
Далеко не факт, в зависимости от стиля и по желанию стиля. Можно спокойно сделать игру без них.
>карта эмиссии
>карта окклюзии
>карта металичности
Вот это вообще почти с 99% никому не понадобится, есть исключения, но очень редки.
>настройка освещения
Тут подвачну. Какое бы освещение не было примитивным даже на квадратах, нужно будет потратить некоторое время чтобы хоть глаза не вытекали, а еще возможно придётся запекать для оптимизации.
>теней
Тоже что и с освещение, либо же просто их отключить.
>эффектов постпроцессинга
Скорее всего не понадобится, ну либо те что из коробки сгодятся, пару часов чтобы разобраться с нуля.
>частиц
Зависит от потребностей, но если понадобятся, это ебля может пойти на месяца, в общем не стоит, либо брать готовое и редактировать.
>кастомные шейдеры для всяких специфичных штук.
Вот вообще не следует лезть если нет опыта, лучше постараться реализовать своими средствами и велосипедами.
мимо х2
>попробуй сделать прямо сейчас тестовое демо хотя бы минут на 10 в котором будет одна локация и охуей.
Двачую анона. Реально помогает понять сколько что делать и как это будет играться.
>Каждая локация это дохуя объектов
Не факт, но в основном так, если брать 3д.
>каждый объект это текстура
>меш
Абсолютно.
>правильная uv-развертка
Тут уже не совсем так. Для примитивов и им подобным, а также некоторым другим не нужна развёртка, или подойдёт автоматическа из блендера.
>карта нормалей
Далеко не факт, в зависимости от стиля и по желанию стиля. Можно спокойно сделать игру без них.
>карта эмиссии
>карта окклюзии
>карта металичности
Вот это вообще почти с 99% никому не понадобится, есть исключения, но очень редки.
>настройка освещения
Тут подвачну. Какое бы освещение не было примитивным даже на квадратах, нужно будет потратить некоторое время чтобы хоть глаза не вытекали, а еще возможно придётся запекать для оптимизации.
>теней
Тоже что и с освещение, либо же просто их отключить.
>эффектов постпроцессинга
Скорее всего не понадобится, ну либо те что из коробки сгодятся, пару часов чтобы разобраться с нуля.
>частиц
Зависит от потребностей, но если понадобятся, это ебля может пойти на месяца, в общем не стоит, либо брать готовое и редактировать.
>кастомные шейдеры для всяких специфичных штук.
Вот вообще не следует лезть если нет опыта, лучше постараться реализовать своими средствами и велосипедами.
мимо х2
>кококко удах покпкопк
визуал планируется на уровне 6-7 меджика +-., приоритет на игровые механики.
> охуей
Насколько ты хорош, чтобы по себе мерять других?
Ну допустим охуел, и? обосраться, умереть, в чем так сказать мысль центральная? что обосрусь и брошу? Ну брошу и брошу, ты то че развизжался лол? За щекой там у себя проверь, ничего нет лишнего??
Чего ты так подорвался? Я тебе просто описал главную проблему гейдева - ебашить ассетики. Это самая трудозатратная хуйня, двигать квадратики ты можешь бесконечно, но пока не можешь быстро и качественно строить визуал все будет хуйней.
Алсо старые игры выглядели как говно не из-за того что убогие текстуры проще лепить, а из-за того что не позволяли технологии. Сейчас в свободном доступе дохуя всего есть но делать много оригинального контента все равно тяжко.
>>29730
ты в подобном тоне можешь своей мамаше просто описывать. я тебе просто уже открытым текстом говорю - пошел на хуй. Тебе что не понятно? я тебе просто описываю коко. что ты мне просто описываешье? для чего ты мне это описываешь? чтобы что я сделал, долбоеб? все бросил? записался на курсы дизайнеров, спрограммировал нейросеть для ассетов. чтобы что я должен делать какую-то демо сцену. бросить нахуй все и идти делать демо сцену. Именно которую я буду делать долльше всего, потому что первый раз все делаюется дольше всего. чтобы что!??!
Пиздец ты нежный конечно.
>чтобы что!??!
Чтобы сбить ньюфажский самоподдув который был у буквально каждого кто пытается в гейдев. Быстрее пройдешь этот этап, разбив розовый очки и вынырнув из манямира - быстрее настроишься на тяжелую, неблагодарную работу с ежедневным дрочем.
>Чтобы сбить ньюфажский самоподдув который был у буквально каждого кто пытается в гейдев. Быстрее пройдешь этот этап, разбив розовый очки и вынырнув из манямира - быстрее настроишься на тяжелую, неблагодарную работу с ежедневным дрочем.
Сиди дрочи, какие проблемы? А я буду работать на ньюфажеском самоподдуве лол.
Двачую этого ньюфага. Старички и безигорные сильно подрываются и завидую желанию и мотивации ньюфагов, и всячески пытаются их задемотивировать.
Не сходи со своего пути чтобы тебе не писали.
Гипотетически можно оплатить через этот сервис:
paywithmoon.com
Эти карточки работают только внутри США. Я как-то пытался через них оплатить Юнити лицензию и карточка не сработала, потому что платёж обрабатывался где-то за пределами США. Но в ассет сторе может сработает, хз. Закинь 1 бакс и проверь.
Говорят КИВИ Казахстан работает. Но у меня в хамбле пишет - We are not accepting new sales in your country at this time.
Так что пусть сами ебутся.
Вот серьзно, разрабы и правда думают, что когда идет живой человек, то все перед глазами покачивается? Если зациклить на этом внимание, то да, это можно заметить. Но в обычном режиме человек этого вообще не замечает. Срабатывает что-то типа стабилизации. А вот в играх это пиздец как заметно. Если в опциях эту парашу нельзя отключить - удаление, возврат.
FPS симулируют не тебя, сыча который ползет раз в неделю в пятерочку, а бегущих бойцов со снарягой.
>Quaternion
Есть два пути познать кватернионы.
Первый самый сложный это читать доки и опытным путём всё познать.
Второй проще и быстрее, брать готовый кусок кода из гайды и не напрягаться.
Кватернион это 4D направление и с наскока такое сложно представить, самое простое разбить его на отдельные флоаты для начала.
Меня интерисуют диалоговые системы. И да, я знаю что можно их скачать с торрентов, но я приличный разработчик, со своими выпущениыми играми и не хочу пиратить.
>Почему всё в куче в гуиконтроллере, и нету отдельных классов для геймплейного юи, меню и чарактер щит?
переделываю кста. будет контроллер, который будет енейблить дизейблить нужные компоненты, а логика будет уже у них внутри.
Данный коллайдер получен через бокс коллайдер 2д.
сделал как надо через Полигон коллайдер 2д
А нахуй вообще нужно четырехмерное направление в трехмерной игре? Сделали бы какие-нибудь трехмерные трионионы, их и понять было бы проще.
Я тот анон которому он отвечал, если представлять вращения в 3Д используя только 3 оси координат, то возникает куча проблем при расчётах, поэтому математики придумали 4-хмерную модель для представления вращений. Я пока сам не понял как это работает, но судя по всему это и не должно быть просто.
>>29974 (Del)
Не буду писать что инфа соточка, но вроде как дрочь с кватернионами это только в юнити так изъебнулись, в других движках нормально векторами 3Д.
это по факту и есть интерфейс, только в который можно пустить рейкаст.
Ну тут и не нужна, я же не сам этот кватернион реализую, а тупо буду интерфейсом пользоваться.
Не покажет
>самое простое разбить его на отдельные флоаты для начала
чтобы увидеть неинтуитивные попеременно растущие/убывающие величины
Много менять не надо, гет компонент работает с интерфейсами. Дергаешь интерфейс, реализация (с функционалом отображения лейбла) на базовом классе, от которого наследуются остальные интерактивные UI элементы. Ты делаешь через этот класс Interactable работу предназначенную для интерфейса - реализация у тебя и так в вепоне прописана.
>гет компонент работает с интерфейсами
Каким образом, если интерфейс не может наследовать от монобихевиора?
Неверно. Мелкобукв иди читай мануалы.
Зависит от направления, програмисту шейдеров очень даже нужна. А тем кто занимается скажем архитектурой почти нет, тем более что в плане дизайна систем и их архитектуры программирование в разы превосходит математику.
Юнитаны, думаю над разработкой ртс. Прозреваю что кроме самого процесса надо будет ещё редактор карт какой нибудь пилить. Это вообще имеет смысл в юнити?
Почему нет? Делай что хочешь, если умеешь.
типо ты стоишь перед ямой, за ямой находится поверхность к которой может цепляться твой хук. Ты стреляешь хуком в нее, и как на пружине притягиваешься вслед за ним, перелетая через яму
Сделал по гайду из ютуба крюк кошку, через Distance joint 2d, но это немного не то что надо ( еще и криво работает чет)
Ну ладно, согласен, не понял идею из описания, а теперь как понял.
Сделал, в методах оставил просто дебаг. Не работает. Ебался ебался, все перепроверил, оказалось, что консоль отлетела. Не думал, что юнити учитывает наследование при getcomponent.
Корутины это не асинхронные потоки, с ними обосраться и проебаться довольно сложно, так что можно юзать не парясь.
Для меня ещё плюс, что корутины отключаются вместе с объектом. Не нужно ничего дополнительно делать.
IENumerator StartLevel () {
yeld return анимация, в которой приподнимается и отпускается стакан с шаром
yield return перемешиваются стаканы
yield ожидание выбора игрока
.и т д. И т.п
> интерфейс не может наследовать от монобихевиора
Разумеется, интерфейс не может унаследоваться от класса. Но зато класс может унаследоваться от класса и нескольких интерфейсов.
> class WeaponContainer: MonoBehaviour, IContainer, ICollectable, IPersistent, IVegetation, IConversable, IVehicle, IMarriagePartner { }
Ну да. Я не сразу понял, что мне нужен базовый класс, от которого уже будут наследовать остальные классы, с которыми можно взаимодействовать. Только я не понял зачем мне интерфейс вообще. Если у меня InteractebleGameObject класс, наследует от моно и интерфейса, а от него наследуют уже все интерактивные объекты. Условно здание. Я подхожу к нему делаю getcomponent<InteractebleGameObject>, если есть компонент наследующий от этого компонента, то я получаю тру и запускаю метод взаимодействия. Т.е. Интерфейс тут вообще не нужен получается.
Хотя, возможно если вдруг там чета куда-то появятся какие-то еще интерактеблы, но не от этого компонента, тогда надо будет дергать интерфейс. Карочи хз.
> Т.е. Интерфейс тут вообще не нужен получается.
В общем и целом, да. Юнитеки уже проработали для тебя, до тебя и за тебя компонентную модель. Внедрять туда интерфейсы = изобретать велосипед. Однако помни, велосипеды не всегда плохо. Иногда твой велосипед лучше, чем велосипед искаропки.
>Юнитеки уже проработали для тебя, до тебя и за тебя компонентную модель
В твоем понимании компонентная модель заменяет интерфейсы?
Можно и через интерфейс ведь сделать, просто вместо базового класса, общие элементы уйдут в интерфейс. При этом, насколько я понимаю юнити автоматом будет компонент кастить в интерфейс, если он от интерфейса наследует.
Готовитесь перекатываться в 2022 на общенную релизную версию энтити и дотс вообще?
Грузи как хочешь, хоть из ресурсов, хоть массив сделай полем, в которое накинешь скриптаблы.
Начал вкатываться в данное мероприятие, смотрю на ютубе дударя, повторяю за ним. Программирование до этого никогда не изучал, поэтому хотел бы у вас спросить как вкатывались вы и какие советы дали бы новичку?
Английский на норм уровне, но теорию по вкату из шапки на английском оче тяжело усваивается.
Возможно ли пытаться в юнити и учить язык на ходу?
Дайте советов, Юнитаны
>Программирование до этого никогда не изучал
Ну так начни. Любая игра это чтение переменных, операции с переменными, запись переменных. Всё из простейших шагов состоит. Если ты сможешь написать программу которая ищет элементы в списке, ты считай уже сможешь написать какой-то полезный алгоритм для игры. Главное, заставить себя и делать задания. Любой учебник по алгоритмам возьми и пиши код. Можешь подсматривать как другие делают, но потом обязательно сам напиши и сделай так чтобы работало.
>Английский на норм уровне
Выключай своего протыка и иди на https://learn.unity.com/pathways проходи все доступные курсы. Они качеством лучше чем любой хлебушек с ютуба и хорошо разжевывает основы.
Сам шарп учить лучше тут: https://metanit.com/sharp/tutorial/
Как наберешься чуть знаний и поделаешь простые игры, можешь посмотреть по шейдерам этот плейлист: https://youtube.com/playlist?list=PL78XDi0TS4lEBWa2Hpzg2SRC5njCcKydl , еще книгу тут выше кидали тоже неплохую.
В конце можешь полирнуть http://catlikecoding.com/unity/tutorials/ из шапки. Охуенные туториалы на самом деле.
Можешь математику подтянуть с богиней нашего треда https://youtube.com/playlist?list=PLImQaTpSAdsD88wprTConznD1OY1EfK_V
Другие плейлисты у нее тоже неплохи.
Будет ли Unity in action 3-е издание с русиком, или всё, ждать уже не стоит?
Есть ли хорошие книжки по изученю юнити для геймдизов/левел дизов, пез всякой пижни с написанием скриптов?
Самый топ - смотреть готовые проекты. У юнити много разных демо-проектов. Плюс на ютубе много роликов связанных с разработкой.
https://www.youtube.com/c/unity/videos
Мультиплеер сервисы: текстовый/голосовой част; матчмейкинг; размещение и развертывание игровых серверов.
Внутри всё это устроено очень неплохо по сравнению с другими. Сравнивал со сторонними решениями.
Лучше всего выучить основы языка, потом пройти пазвеи от юнитеков, чтобы понять как юнити устроено. Это достаточно быстро делается. Потом начать самостоятельно что-то кодить, попутно углубляя знания.
Самый простой способ - через string.Format
[SerializedField] private string _template = "game version is {0}.{1}";
...
var result = string.Format(_template, 2, 56);
Любуя игра это много 0 и 1. Ты уже можешь написать 0 и 1? Значит и игру сможешь!
>поделаешь простые игры
3 года делаю простую игру в 5 человек. При том что я профи, а не новичок. Разработка игр это не сбор асет флипов на коленке, лентяям без скилов в ней ничего не светит.
Ты просто выёбываешься, очевидно завышая "простоту". Змейку, тетрис и пингпонг ты тоже 3 года делать будешь делать для обучения?
Зачем их делать если таких мини игр бесплатных миллион наделан? Тебе времени не жалко? Как это поможет в реальной игре где как верно сказал анон выше нужно всё это >>29730. И для каждой специфичной задачи нужен профи. Либо тебе надо самому стать профи, и сделать это можно в 1 максимум 2х задачах. Вот и думай.
Я думаю ты долбоёб. Азы учишь на простых вещах, должна быть кривая обучения, а не сразу браться за продакшен.
Я так и буду делать, беда в том, что я хочу куда-нибудь залететь на работку, потому что кушац то надо, а там от меня будут требовать скриптблОбжекты. Собственно только ради этого я ими сейчас занимаюсь и скрипя зубами под них переделываю проект.
Не обязательно, да и при работке тебя точно к архитектуре не допустят. Там может быть что угодно от ECS до кастомного движка на основе юнити от которой остался только рендер. Не нужно гадать, лол.
Запускаю любую программу и вылазит это, консоль не открывается.
Двачую, кстати. Там или будет своя супер кастомная система в перемешку с ECS, или будет какой-нибудь Zenject. А вот это дрочево с SO, когда ими заменяют вообще всё, - не нужно.
Вот тебе пример архитектуры игры, которая миллиарды долларов заработала:
https://www.youtube.com/watch?v=8hru629dkRY
У представь у тебя куча сцен и куча объектов в них стоит.
Тебе надо поменять какой-то параметр у них всех. Ты просто открываешь префаб и меняешь, да? А теперь представь, что где-то слуйчайно у тебя на одном из них стоит оверрайд - что делать будешь?
Дальше, представь у тебя есть айтемы, у них названия, иконки. Как делать будешь? Префабы юзать? Если да, то придется держать в голове, что вот у Айтема у нас нельзя делать инстантиейтинг, он только для зранения дангых - в итоге ты, или другой член команды, обязательно забудет и сделает это, и у вас что-то сломается.
Когда речь идет о проектах больше демки, и тем более о работе в команде - очень важно понижать риск ошибки и делать всю структуру максимально понятной, чтобы как можно меньше вещей надо было держать в голове и учитывать - все должно быть интуитивно понятно как в коде, так и в самой организации игровых ассетов и параметров.
>У представь у тебя куча сцен и куча объектов в них стоит.
представил, что у меня рандом лут и спавнеры.
>Тебе надо поменять какой-то параметр у них всех.
строчка в массиве
>Ты просто открываешь префаб и меняешь, да?
да, с той лишь разницей, что префаб содержит исключительно скрипт с названием итема. Данные в другом месте.
> А теперь представь, что где-то слуйчайно у тебя на одном из них стоит оверрайд - что делать будешь?
а если не стоит?
>Дальше, представь у тебя есть айтемы, у них названия, иконки.
Да
>Как делать будешь? Префабы юзать?
С СО тоже надо префабы юзать внезапно.
>Если да, то придется держать в голове, что вот у Айтема у нас нельзя делать инстантиейтинг, он только для зранения дангых
очень сложно держать в голове, чтоайтемы в проекте не инстантиейтятся.
СО тоже нельзя, тоже думать об этом? Сложно держать в голове, что айтемы не инстантиейтятся вообще ну типо оперативка все, таво.
>Когда речь идет о проектах больше демки, и тем более о работе в команде - очень важно понижать риск ошибки и делать всю структуру максимально понятной, чтобы как можно меньше вещей надо было держать в голове и учитывать - все должно быть интуитивно понятно как в коде, так и в самой организации игровых ассетов и параметров.
тут по делу.
Глянь пару туторов и сделай сам, быстрее выйдет чем искать готовый который точно подойдет.
> строчка в массиве
Т.е. челу геймдизайнеру будет удобно залезать в код и по нужному индексу что-то менять? А если сущностей много то че делать? А если что-то поменяет и доьавится или удалится параметр у сущности?
> а если не стоит?
Когда-то кто-то случайно или не случайно поставит. И всё, пизда на ровном месте. Вернее, скорее всего даже никто не заметит, что что-то не так и этот баг далеко пойдет.
> С СО тоже надо префабы юзать внезапно.
Эт не префаб называется, а СО. Материалы это тоже префабы по-твоему?
Префаб - это геймобжект который не был заинстантиейтен.
Вот у тебя есть функция
void Drop(Item yoba)
{
}
Где Item это монобех, тогда yoba моожет быть как релально существующим объектом, так и префабом - который существует вне сцен.
> очень сложно держать в голове, чтоайтемы в проекте не инстантиейтятся.
А смешивание сущностей(айтем в инвентаре и айтем в мире) это уже не хорошо.
>Эт не префаб называется, а СО. Материалы это тоже префабы по-твоему?
на сцене то ты его как будешь располагать этот объект?
>Т.е. челу геймдизайнеру будет удобно залезать в код и по нужному индексу что-то менять?
Кому-то удобно, кому-то неудобно. Ты по себе всех меряешь.
Ты мушку то скрути. Тут без сопливых понятно что со это просто набор данных, который видно в инспекторе. Все его отличие от статического класса с некой коллекцией данных в том, что видно в инспекторе. Все. Зато дроча я ебу.
>А смешивание сущностей(айтем в инвентаре и айтем в мире) это уже не хорошо.
что ты там смешиваешь?
я тебе еще в прошлом посте написал, что лично у меня итем на сцене явялется перфабом со скриптом, который содержит только название итема, все. данные в другом месте, сам итем это вообще третий класс лол и монобехом из них является только тот что на сцене.
>только название итема
я раскрою это место, потому что чую опять будут визги. Название итема это енам, и мифический гомодезайнер не может влепить там хуйню.
>Когда-то кто-то случайно или не случайно поставит. И всё, пизда на ровном месте. Вернее, скорее всего даже никто не заметит, что что-то не так и этот баг далеко пойдет.
пушка аргумент конечно. мифический кто-то должен в мифическом чем-то поставить мифической оверрайд. Дай мне свой проект, я тебе щас наухеверчку, заебешься там своим СО исправлять.
До первого бага который ты будешь неделю дебажить всей командой. Потом начнешь любую хуйню предусматривать.
Пока ты один делай что хочешь.
СО это что вершина вершин? нет. как заметил один из здравых анонов - это один из вариантов решения.
Без СО обязательно обосрешься, а с СО нет? нет. обосраться можно везде.
И раз уж тут любители гипотетических предположений имеются... Гипотетичсеки предположим, что я накодил систему, которая дает СО пососать. Ну вот моя тупа лучше. И что теперь. Необсираемые скрипты где я все предусмотрел лучше чем в СО. Мммм?М?м?М?м?М7М??
Ну ты будешь молодцом, когда накодишь возвращайся. Защищают не СО, а осуждают говнокод. Не используешь СО - будь добр предусмотреть механизмы которые не позволят новичку в твоей команде заруинить проект и гейдизайнеру с художником удобно перетаскивать всякие штуки.
О неизбежной переустановке шындовс.
Анон, как в DOTS джобе изменять какие-либо внешние данные в зависимости от того, что происходит в энтити в джобе?
Допустим, в джобе энтити врага уничтожается - хочу повысить счетчик очков. Юнити говорит, что не может иметь ссылок на внешние объекты.
public partial class RotationSpeedSystem_ForEach : SystemBase
{
protected override void OnUpdate()
{
Entities.WithAll<HitTag>()
.ForEach((Entity e, ref HitTag hit) =>
{
EntityManager.DestroyEntity(e);
//не работает
PlayerProgress.AddPoint();
//не работает
})
.ScheduleParallel();
}
}
> на сцене то ты его как будешь располагать этот объект?
Не буду
> Кому-то удобно, кому-то неудобно. Ты по себе всех меряешь.
Всем неудобно. Я сказал, мои слова = факты
> Зато дроча я ебу.
Буквально 0
> что ты там смешиваешь?
Предмет инаентаря и предмет из ирл
>>30643
Спокуха, не все могут работать идеально без ошибок
>>30646
Да мы же тебя, гения, спасти пытаемся от сомнительных решений после того как увидели тот чудовищный массив со статами
Что за моделинг скажете в юнити? Инструменты лучше блендера (блендер не устраивает)?
Помечай не активными и в конце цикла систем уже уничтожай, для повышения же создавай энтити с одним компонентом-событием о том что нужно увеличить счетчик. Не бойся разбивать на совсем милипиздрическую логику и создавать сущности на каждый пук - там все это почти бесплатно.
>для повышения же создавай энтити с одним компонентом-событием о том что нужно увеличить счетчик
А куда потом с этим компонентом событием стучаться? Еще одна система, которая будет уничтожать энтити с компонентом-событием и инкрементировать счетчик?
И чем такая система должна отличаться от той, что я в прошлом посте написал? Все та же как-протащить-ссыль-на-текстмешпро проблема.
>Не буду
не сомневаюсь, ты же игры вместо игр гайдики дрочишь.
>Предмет инаентаря и предмет из ирл
зачем ты их смешиваешь?
>Да мы же тебя, гения, спасти пытаемся от сомнительных решений после того как увидели тот чудовищный массив со статами
Кто мы? ты буквально один верещишь. И то, только потому что только по чужим шаблонам работать можешь. Как школьный зубрила, который на любой нестандартной задаче дрищет.
> Инструменты лучше блендера
Не бывает такого. Блендер - лучший. Давно уже обогнал максы/майи/скульпты/сабстенсы эти ваши.
А в юнити бленд-файлы импортируются автоматом.
по количеству гайдов для мобилолепил?
> не сомневаюсь, ты же игры вместо игр гайдики дрочишь.
Нет, я как раз Игры делаю!
> зачем ты их смешиваешь?
Я и не смешиваю
> Кто мы? ты буквально один верещишь. И то, только потому что только по чужим шаблонам работать можешь. Как школьный зубрила, который на любой нестандартной задаче дрищет.
Наоборот же, ты везде лепишь одно и то же потому что не знаешь о других возможностях языка программирования и юнити, в итоге 3 недели делаешь простую задачу.
А умничи анализируют задачу и и использует все доступные инструменты для максимально эффективного решения и за считанные дни уже собирают прототип.
Я предлагаю тебе тоже стать умничем
>Я предлагаю тебе тоже стать умничем
было бы неплохо
>считанные дни уже собирают прототип.
мобильного ассетфлипа? мне это не интересно.
>Наоборот же, ты везде лепишь одно и то же потому что не знаешь о других возможностях языка программирования и юнити, в итоге 3 недели делаешь простую задачу.
меня никто не подгоняет. Задачи говнякать 2 ассетфлипа в неделю у меня не стоит.
>Я и не смешиваю
почему говоришь, что смешиваешь?
>Нет, я как раз Игры делаю!
сомневаюсь.
У тебя система делает 2 дела. Раздели ее по ответственности.
Уничтожать в середине игрового цикла - не надо, просто помечай компонентом "не активно" и в системах настрой фильтры чтоб игнорила такие сущности иначе будет беспорядок как только проект увеличиться и ты обязательно будешь убивать нужные энтити и обращаться к уже удаленным.
Счетчик же тебе увеличивать может не только уничтожение сущности, поэтому довольно логично это вынести отдельно, чтобы ты мог в любом месте игры создать энтити-событие о том что нужно счетчик увеличить на N и уже потом в отдельной системе считать на сколько оно должно увеличивать.
Я систему привел для иллюстрации проблемы.
Не важно сколько там дел она делает, если тебе будет удобнее, убери строку где энтети дестроится.
Мой вопрос заключается в том, как изнутри джобы (в идеале) внутри этого форича дернуть какой-либо метод или инкрементировать (или декрементировать, не принципиально) счетчик.
Ведь так делать нельзя, поскольку это внешний объект по отношению к телу лямбды.
Entities..ForEach((Entity e, ref HitTag hit) =>
{
//не работает, что делать
PlayerProgress.points++;
})
.ScheduleParallel();
> не работает, что делать
Эммм... Завести в игровом неймспейсе синглтоны, тысячи их! И обращаться к ним. Как это сделано в Анриле. У каждого уровня есть синглтон УровеньНейм и у всей игры в целом есть синглтон Игра.
Понятно, не так тебя понял. Ну сделай компонент у этой энтити в котором будет ссылка на что ты хочешь. Нахуя тебе именно напрямую дергать внешнее? Ты если что в дотсе почти всегда имеешь дело с параллельностью.
Я через ЛеоЕСЦ делаю, там при настройке порядка систем можно прокинуть любые внешние файлы и они будут доступны в любой системе. Как технически именно в дотсе реализовать я хз. Но там тоже должно быть что-то такое.
эммм... это юнити тред, а не анрил
эммм... я уже вроде писал, что внутри лямбды не может быть ссылок на "нужные инстансы". ты наверное не очень сечешь в ецс, да?
>Нахуя тебе именно напрямую дергать внешнее?
Потому что я хочу дергать счетчик убийств врагов который является внешним по отношению к энтетеям врагов, по которым я допустим бегаю и допустим проверяю, убились ли они, чтобы подсчитать количество убитых и отобразить на экране.
Мысли в ECS-парадигме - создавай компоненты на каждого убитого, потом в другой системе считай их.
Я УЖЕ создал компоненты на каждого убитого.
Теперь вопрос, как в другой системе (где их считать) посчитанное число вписать в MyPlayerMegaService.pointsVariable
Ну и нахуя тебе сервис если ты используешь ECS? Сделай сущность в которой хранится счетчик и куда обращается UI. Тебе обязательно из одного кармана в жопу себе перекладывать данные, без этого никак?
>Ну и нахуя тебе сервис если ты используешь ECS?
Проиграл немного.
Ты игры делал когда-нибудь вообще?
При чем наличие хитпоинтов к моему вопросу о том, как возвращать значение из джобы в дотсе?
Но если тебе станет легче, то нет, хитпоинтов у игрока в моей игре нет, т.к. он бессмертен. Вычитать их, соответственно незачем.
Теперь ты приблизился к пониманию?
Это была подсказка. Ведь это тебе надо приблизиться к пониманию. Даю еще одну - в компоненте можно хранить значение.
Друг, если тебе нечего сказать - просто промолчи. Обосраться и потом размазывать говно по еблищу подмигивая всем что это мол шоколад - заебись, конечно.
Но сейчас мне нужно найти как из джобы возвращается значение, а на твои кривляния мне поебать.
Нет, тебе надо создать компонент, и в нем менять счетчик. То, что ты выдумал что для этого надо что-то возвращать - говорит только о твоей тугости.
У меня есть компоненты, в которых меняются счетчики, глупыш. Это ни при чем.
Точно так же как ни при чем был твой вопрос про наличие хп у игрока, забавно.
>У меня есть компоненты, в которых меняются счетчики, глупыш.
Слава Б-гу! Уже прогресс. А теперь создай ОДИН компонент со счетчиком в который КАЖДЫЙ убитый инкрементирует значение. После отработки системы в нем будет счетчик убитых.
Еще раз: я не нуждаюсь в том, чтобы писать что-либо в компоненты энтитей. Мне вообще не нужно что-либо перекладывать между энтити. Мне нужно просто инкрементировать счетчик в профиле пользователя.
Значит, не пользуйся ECS. Это слишком сложно для тебя.
Думаю он просто троллит тупостью.
— Двач-медач, вот у меня почему-то раны вокруг рта…
— Так ты ж ешь с ножа. Ложку попробуй.
— Ложкоблядь закукарекала. Ложкой мне неудобно.
— Тогда йодом помажь, лалка.
— Двач, а почему я суп так медленно ем? И мне очень неудобно.
— Потому что ты ножом суп ешь? Ложкой ешь.
— Ложкобляди не нужны! Бамп! Еще варианты? Бамп!
— Ну отхлебни из тарелки тогда.
— Ебанутые...
— Двач, почему на меня в ресторане так странно поглядывают?
— Потому что ты с ножа ешь!
— Каждый раз одно и то же, что за дебильные анонимусы. А другого объяснения нет?
— Может и есть, но это не важно. Важно есть твердое вилкой, а жидкое ложкой.
— Кажется, я совсем не понимаю мира и не гожусь для этой жизни.
— Да все с тобой нормально, просто возьми ложку, когда принесут суп.
- ПРОСТО! аххахахах! ПРОСТО! Ахуительная история. Угу. ПРОСТО блять. Спасибо, идиоты, за совет, блять.
— Двач, двач! Мне так больно, у меня кровь течет! За что мне это?
— Чем суп ел, дебилушка?
— Ножом, конечно.
— А ложку не пробовал взять?
— Почему анонимусы так безжалостны ко мне, а еще двач-помогач?! Это невыносимо!
— Ложку взять не пробовал?
— Нет!
— А что тебе помешало?
— Я не хочу об этом говорить. Всё. Тред закрыт. САЖИ ТРЕДУ САЖИ. Вайп!
— Знал бы ты, двач, как я хочу макарошек!
— У каждого своя судьба.
— Как ты думаешь, анон, когда-нибудь у меня получится поесть макарон? Я ведь не хочу ничего особенного.
— Так свари макарон, возьми вилку и ешь.
— Да? Хорошо, я подумаю.
— Двач, и как люди манную кашу едят и не режутся?
— Ложкой, блять!!
— А чего ты ругаешься сразу? Я ж нормально спросил...
— Анон, поговори со мной.
— Я обедаю.
Думаю он просто троллит тупостью.
— Двач-медач, вот у меня почему-то раны вокруг рта…
— Так ты ж ешь с ножа. Ложку попробуй.
— Ложкоблядь закукарекала. Ложкой мне неудобно.
— Тогда йодом помажь, лалка.
— Двач, а почему я суп так медленно ем? И мне очень неудобно.
— Потому что ты ножом суп ешь? Ложкой ешь.
— Ложкобляди не нужны! Бамп! Еще варианты? Бамп!
— Ну отхлебни из тарелки тогда.
— Ебанутые...
— Двач, почему на меня в ресторане так странно поглядывают?
— Потому что ты с ножа ешь!
— Каждый раз одно и то же, что за дебильные анонимусы. А другого объяснения нет?
— Может и есть, но это не важно. Важно есть твердое вилкой, а жидкое ложкой.
— Кажется, я совсем не понимаю мира и не гожусь для этой жизни.
— Да все с тобой нормально, просто возьми ложку, когда принесут суп.
- ПРОСТО! аххахахах! ПРОСТО! Ахуительная история. Угу. ПРОСТО блять. Спасибо, идиоты, за совет, блять.
— Двач, двач! Мне так больно, у меня кровь течет! За что мне это?
— Чем суп ел, дебилушка?
— Ножом, конечно.
— А ложку не пробовал взять?
— Почему анонимусы так безжалостны ко мне, а еще двач-помогач?! Это невыносимо!
— Ложку взять не пробовал?
— Нет!
— А что тебе помешало?
— Я не хочу об этом говорить. Всё. Тред закрыт. САЖИ ТРЕДУ САЖИ. Вайп!
— Знал бы ты, двач, как я хочу макарошек!
— У каждого своя судьба.
— Как ты думаешь, анон, когда-нибудь у меня получится поесть макарон? Я ведь не хочу ничего особенного.
— Так свари макарон, возьми вилку и ешь.
— Да? Хорошо, я подумаю.
— Двач, и как люди манную кашу едят и не режутся?
— Ложкой, блять!!
— А чего ты ругаешься сразу? Я ж нормально спросил...
— Анон, поговори со мной.
— Я обедаю.
Почти, но не так же, потому что я то сделал то что мне надо и все это работает)))
Нашел, епта!
Кому интересно:
A job can only write to captured variables that are native containers. (To “return” a single value, create a native array with one element.)
Спс всем кто пытался помочь, хуй на рыло долбоебам знающим ецс на уровне "там кампаненты и в них нада писать".
Лул. Мощщщщьно выступил.
У тебя вся логика в системах, а данные в компонентах если это не так ты используешь не ECS.
Ты должен делать так как просят на работке, очевидно же.
Алсо чисто юнитековский подход в СНГ как я понял не очень-то и используют.
СО и интерфейсы никак друг другу не противоречат, это вообше перпендикулярные вещи(иногда твои СО будут какие-то интерфейсы реализовывать).
Более того, к архитектуре СО самм по себе тоже отношения никакого не имеют - СО это чисто способ представить данные в редакторе юнити(а геймобжекты - на сцене) и не более. Может у тебя классы СО будут какие-то конфигурации и сами они будут глобальные вещи проворачивать, может у тебя игровые события будут СО(это же вроде бы то что юнитеки и предлагают?), но это лишь способ реализации систем. А то, какая будет архитектура(как они все связаны и по какому принципу созданы) - это уже другой вопрос.
Короче:
SOLID - обязательная вещь абсолютно вне зависимости от твоей архитектуры. Уточню: солид это не про то, что ты якобы должен интерфейсы в редакторе таскать, а про то, как классы проектировать
Zenject - база, если нормально разберешься то поймешь насколько это полезная вещь.
Еще погугли MVP
> Юнити и SOLID плохо дружат между собой
Ты похоже Юнити вообще не знаешь, раз такое спизданул. Его парадигма компонентной архитектуры буквально даёт тебе тот самый СОЛИД.
Я правильно понимаю, что зенджект добавляет пустой объект в сцену, и этот объект тащит на себе скрипты, к которым затем обращаются остальные объекты в сцене?
Зенжект раскидывает зависимости.
Например у тебя есть класс с полем
[Inject]
private ISaveService _saveService;
И зенжект автоматически предоставит ему этот ISaveService
Еще можно инжектить в метод
void SetSaveService(ISaveService _saveService)
{...}
Или в конструктор
Чтобы зенжект смог это сделать, нужно создать все нужные классы(как правило это НЕ монобехи, но ты можешь сделать и монобех если оно тебе нужео) и зарегать их в контейнере - он автоматически вызовет конструктор, зарегает их, и раскидает все зависимости.
А дальше их можно инжектить в любой класс потребитель даже если он не зареган(вот тут уже норм можно делать и монобехи, которые будут висеть на твоих геймобжектах, если хочешь)
Кажись понял, спасибо.
Тут какой-то челик выпендривался, что установил зенжект, а по описанию - это залупа для тех, кто не может в архитектуру.
Как уметь в архитектуру? У меня почти терабайт туториалов и там только вскользь упоминается синглтон, который все хуесосят, и скриптабл обджектс. Еще есть один единственный туториал по зенджекту, но он такой некачественный, что его можно расценивать, как плевок в лицо.
Ноу комментс.
Ты не туторы смотри, а игры делай выгугливая все нюансы. Это единственный способ научиться, а не смотреть протыков на ютубчике.
> протыков на ютубчике.
слушая час их хуйню, когда то же самое текстом можно прочитать за 3 минуты.
Ну, депенденси инжекшен это лишь одна составляющая архитектуры, которая отвечает за то, как между собой будут связываться системы(или какая-то их часть - я лично зенжектом делаю все абстрактные системы и отдельным контейнером ui, а игровые объекты по-другому связываю).
Так то вся суть архитектуры это что именно у тебя в ней за составляющие есть и как они друг от друга зависчт
Ну типа старт работает после евейк, дальше как бы 2 +2 сложишь.
Win+R->regedit, Компьютер\HKEY_CURRENT_USER\SOFTWARE\{имя разраба}\{название игры}
там увидишь настройки, по идее кнопки туда должны прописываться.
Я ебу вашу шапку, господа. В 2022 понаписали про жаваскрипт в унити.
Может кто что посоветовать по шейдерам? Книгу/курс/канал? Я в шейдерах на уровне лаба1, но так вообще погромист.
Почитал.
Дальше что?
Если можешь порекомендовать книгу/курс/канал - буду благодарен.
Если не можешь ничего кроме перднуть ртом - лучше помалкивай.
Потом решил, что чтобы стать спецом, нужно обязательно прочитать весь манул, или книжки. Ведь кто знает, как много я пропустил и трачу время на велосипед. И начал читать книги, и манул половину прочел. И че? И книги, и манул оказались душнотой и водой, я изучил нового всего ничего.
Теперь я просто смотрю каждый день как минимум одно новое видео по юнити, или читаю статью. К манулу и книгами я больше прикасаться не буду. Ах да, видео должно быть не "курсовое", поскольку это тоже душнина. А просто реализация какого-то функционала рассчитанная не для новичков
Собсно. Пытался я так же прочесть Unity in Action и Game Programming Patterns, но по факту просто тратил время на воду от автора. Как бы кто ни старался писать по фактам, все равно пару предложений прольется. А уж смотреть на скудные картинки в книге и вовсе печально, как будто их ебаная электронная версия книги им стоила каждой страницы для публикации и скрины делать дорого.
Просто введя в гугле или ютубе How to make "говно" in Unity, получишь больше выбора и найдешь то, что больше подойдет. К тому же есть удобная фича на ютубе — комментарии. Если видео говно — пишут про говно на любом удобном тебе языке.
Ну а кто принципиально топит про "информативность" книг или мудрость авторов, мол это не хуй с канала UnityAwesome2022, а это сам Джон Хуйловсон и он потратил бабки на печать книги — пососите хуй. Был бы он мудр, понял бы, что у ютуба охват выше и бесплатное привлечет больше людей. Свои курсы ебаные ему бы это не мешало продавать
>И книги, и манул оказались душнотой и водой
>смотрю каждый день как минимум одно новое видео по юнити
Поколение тиктока вкатывается в юнити, спешите видеть.
Graphics enginere в треде. Тебе что надо - как рендер писать, или как шэйдрок туманьчика сделать?
Там огрызок какой то, для шапки полную кидай.
мне важно чтобы они прошли через control.Process только в том случае если NNodeLock = false, даже если придется подождать.
какие подводные камни? кроме того что корутина скорее всего будет стартовать и заканчивать работу очень много раз пока в другом методе не случится затык и нужно будет ждать. это не висит в апдейте, реагирует на эвент который не так часто случается, но может принести с собой целую кучу вызовов DelayedQueue
я не могу контролировать когда NNodeLock будет false или true
я пилю мод, а этот код пытается решить проблему совместимости с другим мододелом. суть такова:
есть я с моим кодом. есть другой мододел, с другим кодом.
мы цепляемся к одному и тому же игровому эвенту и производим операции над одним и тем же набором объектов передаваемых через эвент.
обычно все работает нормально, но иногда случается так что мой код начинает теребить объекты ДО того как код другого мододела завершил все операции. и все ломается.
так вот мне нужно знать когда его код отработал, поэтому я завернул его метод в префикс(исполняется перед вызовом его метода, выставляет true на моей переменной) и постфикс(исполняется после вызова метода, переменная будет false). которая затем используется в корутине т.е. пока его метод выполняется, мой ожидает.
Надо ли добавлять русский перевод? Да, я знаю, даже школота все поймет, но если я в плей маркете укажу, что тут два языка, не скажется ли это лучше на ранжировке?
Ты все идеально не сделаешь сразу никогда. Выкатывай минимально рабочую версию с парой уровней, собирай стату, стучись издателям и надейся что ты тот единственный из сотни тысяч кому повезет и его говно заедет и будет окупаемо при вливании трафика.
>но если я в плей маркете укажу, что тут два языка, не скажется ли это лучше на ранжировке?
Ты о каких то странных вещах размышляешь. Делая игру в плей маркет будь готов к тому что в игру вообще никто не поиграет (даже если ты 50 языков вставишь), так что расслабься и просто получай удовольствие от самого процесса разработки.
Как работает этот ассет? Сейчас у меня в игре своя система связи каждого скрипта и ui интерфейса с классом содержащим англ локализацию. Всё работает окей, но может можно проще и удобнее это делать?
I2 localization.
Там есть окошко, куда ты пишешь идентификаторы типа victory_text и для каждого выбираешь переводы для нужных тебе языков, они автоматически генерируются даже
Дальше там есть синглтон, в нем эвент что локализация поменчлась, ну и разумеется есть функция, которая вовзращает текущий перевод по идентификатору
вот тебе ультра простое решение и не нужно качать огромную пиздищу под назвванием I2 localization
https://pastebin.com/P1t5dBuM
в public ClientStrings()
должно быть типа такого
public ClientStrings()
{
if ( instance == null ) instance = this;
if ( DataSettings.LanguageID == 0 ) Get = (string ID) => GetEN(ID);
else if ( DataSettings.LanguageID == 1 ) Get = (string ID) => GetRU(ID);
}
Шейдерок туманчика, шейдерок водички, обводку некаличную, эмиссии всякой - хочу получить общее представление о сабже на уровне "не спец, но разбирается".
Добра.
Сегодня у него 10 строк на 10 языков, завтра ему понадобится 110 строк на 110 языков.
тоже не проблема, доебался до хуйни
я хочу прицепить цепочку костей к кривой
план такой:
1. находим расстояние между костями
2. находим реальную длину кривой
3. ищем нужный по длине отрезок на кривой
4. трансформируем реальную длину в пространство кривой
???
5. профит, точка на кривой = точка куда надо переместить конкретную кость
База.
>читой доки
Читал
Что если проставить в функцию 999999 вместо дефаултспид и умножить на время, скорость не увеличится?
Чет хуй знает что ты там читал. https://docs.unity3d.com/ScriptReference/Vector3.MoveTowards.html
советую обратить внимание на target и подумать
Потому что у тебя меш, а не террейн? Посмотри как текстуры импортнулись, покрути материал.
У меня под 200 скриптов уже, некоторые небольшие 50-100 строчек, но есть большие по типу 1.5-3к. Хочу узнать стоит ли их пилить на более мелкие, или оставлять так.
Я, кажется, вкурил, мне надо после генерации меша в коде назначить ему материал, пушо то что назначено в инспекторе, применяется к объекту до того как меш сгенерён.
Осталось вкурить как.
Нет, нихуя. Та же история.
На твиче в софтваре энд геймдевелопинг обычно так и делают.
Грубо говоря, никого не волнует столько там у тебя в коде строк, если игра работает. Но если ты хочешь упороться правильной архитектурой, кури SOLID.
>кури SOLID.
нет нормальных ресурсов, где подобные вещи можно покурить. Приходится самому раскумаривать.
Спасибо.
Бля, анонче, ты мой спаситель.
Всё заработало, теперь могу наконец спать спокойно, огромное тебе спасибо.
АХАХАХАХ
Ладно, смари как еще можно:
public string Translate(this string s, Language language)
{
тут делаешь свой свитч или че хочешь
}
И не надо никакие обоссаные инстансы городить, а просто пишешь yoba.Translate(Language.Belorussian);
Ну а так выше прааильно сказали, хардкодить всё это - это пиздец.
Ультра простое решение - просто нарисовать надписи на текстурах пикселями.
Если я делаю:
ScriptInstance = Instantiate(prefab) as ScriptName;
Это тоже самое что и:
GameObject = Instantiate(prefab);
ScriptInstance = GameObject.GetComponent<ScriptName>();
Или это что-то большее чем сокращение кода.
И ридер говорит что кастинг вообще не нужен, для этого.
И я из этого понимаю это просто устаревшее сокращение.
>правильной архитектурой, кури SOLID
сами юнитеки же говорят у нас data oriented design ECS DOTS вот это все, как это с оопшным солидом стыкуется
нахуя мне это знать. сильно мне пригодится эта параша?
>нахуя мне это знать
Знать от чего появляется полоска у тени, знать от чего при четырёх каскадах у тебя дровколы зашкаливают и перф падает в нулину, знать как сделать чтоб отражения не промаргивали. Если ты хуяк-хуяк то зачем в мануал вообще полез?
>чего появляется полоска у тени, знать от чего при четырёх каскадах у тебя дровколы зашкаливают и перф падает в нулину
Потому что юнити не может сделать чтобы все сразу было красиво, вечно пердолиться надо. Я просто хочу поставить объект на сцену и поверх повесить лампу, и чтобы сразу была беспроблемная красивая тень. Разве я многого прошу? Для юнити видимо много
Поехавший чего тебе в движоксрачей треде не сидится?
Не подходит тебе юнити, переходи на тот движок который соответствует твоим требованиям и уёбывай из треда.
Тебе нет. Остальным да.
Ты хоть и тролируешь, пытаясь забайтить на срач но в чем-то прав.
Я в душе не ебу, почему я должен сам руками переключать гамма-пространство цветов, почему сам должен лайт-пробы на изломах тени расставлять, почему urp\hdrp еще не вшит по умолчанию, почему тени со светом не настроены под оптимальный вариант для выбранной платформе и т.д.
>почему urp\hdrp еще не вшит по умолчанию
Но ведь там еще больше настроек, а ты против этого выступаешь. Определись сначала что тебе надо.
Если в глаза долбишься можешь просто игнорить мои посты.
Мне хочется нормальных дефолтных значений этих настроек, а не их уменьшение.
>почему я должен сам руками переключать гамма-пространство цветов
Тому что есть ещё некрофилы, которые делают игры на древнее говно, не поддерживающее линейное пространство.
>почему сам должен лайт-пробы на изломах тени расставлять
Тому что тени динамические и могут смотреть в любую сторону.
>почему urp\hdrp еще не вшит по умолчанию
Тому что это говнина.
>почему тени со светом не настроены под оптимальный вариант для выбранной платформе
Тому что настройки зависят не только от платформы, но и от игры. Топ даун, ФПС и ТПС опенворлд требуют совершенно разных настроек.
>Больше оптимизации
Маркетинговый булшит.
>шейдер граф
Который кривой и обрезаный в сравнении с амплифаям ахх да, он бесплатный, совсем забыл что тут обитаю школьники
Ясно.
Ну типо тебе надо отодвинуть таргет, т.к. он ограничивает дельту перемещения. Таргет позишен у тебя как вычисляется? вот там и ковыряй.
А вообще откровенно говоря, изменение дефаул спид должно влиять на скорость до того момента, когда дефаулспид умноженное на дельта тайм меньше единицы. т.е. условно говоря, при 60 фпс у тебя максимальное значение может быть не более 60. Насколько я понимаю. Ты какие значение пробовал прям 1 3 и 999999999999999? попробуй дефаулт спид 30, напрмиер.
Сделай глобальный Idle стейт, из которого ты входишь в другие состояния, и выходишь в него после.
Просто в переходе Standup->Idle включаешь Has Exit Time и само Exit Time выставляешь 1, чтобы анимация вставания проигрывалась до конца.
1112x434, 0:22
Теперь запилю префабы стен домиков и волновую коллапсирующую функцию для спавна.
ИЩЕШЬ РЕШЕНИЕ СВОЕЙ ПРОБЛЕМЫ
@
НАХОДИШЬ ПОСТ НА ФОРУМЕ 20 ЛЕТНЕЙ ДАВНОСТИ
@
ПОСЛЕДНЕЕ И ЕДИНСТВЕННОЕ СООБЩЕНИЕ "САМ РАЗОБРАЛСЯ, ИДИТЕ НАХУЙ"
@
ВСЁ
Based
https://blog.unity.com/games/multiplayer-networking-tools-launch-announcement
НУ если уж я разобрался... то бля стыдно будет не разобраться
Всем привет, я в юнити не бум бум, объясните почему модель плиты в игре смотрится как бы снизу вверх, хотя камера палит прямо на нее ?
Анончики, не трогал юньку полтора года. ECS и прочие связанные с ним приколы добавили в движок по умолчанию? А то меня вкладка для job systems сущает
Хмм. Если ты из юньки дёргаешь куда-то это кс что ле?, то попробуй просто крутануть модельку. Мб игре твоей пофиг на твои камеры
это тарков, похоже что пофиг, шарюсь в дампах всяких трансформ файлов пока, может там в чем-то дело
Там в таркове у каждого итема должен висеть монобех с описанием трансформа камеры, если я понял о чем ты вообще
Советую не смотреть каналы на ютубе, а выгугливать конкретные проблемы. Придумай себе проект и пили его, решая проблемы. Большинство видео на ютубчике тупая вода, контент ради контента где каждую хуйню могут на часы растягивать. Если ты учишься то это тупо бессмысленно, пока тебе не понадобиться.
я бы понял если тебе например в интерфейсе разобраться надо
но ты я так понимаю какой-нибудь пердолинг хочешь поглядеть
в видео формате это всегда будет как пятое колесо корове даже с таймстампами
но держи вот этого:
https://www.youtube.com/c/Acegikmo/videos
предупреждаю сразу он немного странный но шарит
Я создал ландшафт в terrain. Я хочу вырезать его часть и сделать из неё объект. Каким образом это делается?если делаеться конечно
Я уже сам думал, что это просто шаг между кадрами. Наверное, так и есть. Придется в ручную как-то подправлять.
Такие маленькие тригеры никогда не будут работать с физикой. В чем суть? Сделай его большим и сделай игнор белой платформы.
>OnCollisionExit
Так он же и применен. Только выход с белого квадрата фиксуруется с расстоянием.
Quaternion.LookRotation пробовал?
Или как это сделать в 3д Максе? Я чёт нихуя непонял
В ходе экспериментации родилась идея другой игры, и я уже чётко знаю как её реализовать, но это будет совсем другая игра, и надо будет начать с нуля.
Экспериментировать дальше с первой идеей и рисковать так ни к чему и не прийти или брать вторую более чёткую идею, для которой я уже вижу конкретный путь до релиза как по рельсам?
Понимаю что решать мне, но интересно услышать ваши мнения.
Представь что ты хочешь выебать тянучку №1, но не знаешь как это сделать и ищешь решения. В процессе поиска ты выясняешь как выебать тянучку №2.
Запомни.
Делать нужно то что хочется, и точка. Изучай как что реализовать дальше. Если бросишь и возьмёшься за то что кажется якобы получится, но делать не очень лежит сердце в пути или конце познаешь боль и пустоту.
Делай сразу оба проекта по очереди. Т.е. начни делать второй, а когда выгоришь через неделю - возвращайся к первому и продолжай. Опыт разработки второго проекта и даже простое переключение контекста могут помочь найти решения для первого проекта, о которых ты сейчас даже не догадываешься. Можно и просто отвлечься на развлечения, но пока делаешь второй проект, получаешь опыт и навыки. Доводить до конца и тем более издавать второй проект не обязательно, если нет необходимости (последний ассет без текстур импортируешь).
>>32685
Твоя аналогия не работает. Кому-то хочется только секса, не важно с кем, а кто-то хочет конкретного человека или персонажа (вайфу). Однако, эти желания не переносятся на создание игры. Человек может быть гиперсексуальным гигачедом и натягивать всё, что движется, но при этом в геймдеве хотеть разработать только одну-единственную, не такую как все игру. Или наоборот, кто-то может любить одну-единственную тян, но рассматривать геймдев только как способ заработка с элементом лотереи (можешь ничего не выиграть, а можешь выиграть миллиарды, как повезёт).
>>32686
>Но люблю то я тянучку #1!
Богиню треда? >>32443 >>32479
>>32691
>>32693
>>32698
Спасибо, аноны, без шуток, сижу думаю теперь.
Делать сразу две игры выглядит соблазнительно пока не вспоминаю как раньше пытался несколько проектов за раз жонглировать. Это на самом деле неочень затея, из опыта говорю.
Изменять первой идее не хочется просто из-за нутра, ощущение что предаю самого себя.
С другой стороны новая идея выглядит так будто я смогу за год справиться и она может даже выстрелить. Плюс она тоже весьма интересная, просто не настолько как первая.
>будто я смогу за год справиться
Все оценки сроков умножай на два => джва года.
Я думал, там идея на пару вечеров. Если отбросить графику/звук/текст/левел-дизайн и весь остальной творческий контент, то многие игровые механики можно закодить за считанные минуты/часы/дни. А если ты реально чётко видишь в голове реализацию игры, вряд ли у неё такие уж сложные механики. Реально сложные механики сложно представить в голове, т.к. они состоят из множества компонентов или систем, которые сложны сами по себе.
>Изменять первой идее не хочется просто из-за нутра, ощущение что предаю самого себя.
>интересная, просто не настолько как первая.
Ну и в чём тогда вопрос? Делай свою игру мечты и не отвлекайся. Лучше сейчас подробно запиши ту вторую идею, чтобы не забыть, и возвращайся к первому проекту. Скорее всего, через пару дней ты забудешь ту вторую игру или потеряешь к ней интерес, а записи помогут найти что-то интересное, когда будет нечем заняться. Так делай со всеми приходящими в голову идеями - записывай и не отвлекайся от того, чем должен сейчас заниматься.
Если не секрет, можешь кратко описать обе игры? Может, кто-нибудь даже подсказал бы способ реализации первой игры, если нормально опишешь.
>>32693
>познаешь боль и пустоту
Регулярно познаю боль и пустоту со своими игровыми проектами, включая "основной" "проект мечты", который хочу разработать вот уже лет 14+ (как быстро время летит...). Боль из-за того, что не получается сделать так, как хочется, или для этого нужно слишком много сил и времени, а результат не оправдывает этих затрат.
Наверное так и сделаю анон
>>32704
>Если не секрет, можешь кратко описать обе игры? Может, кто-нибудь даже подсказал бы способ реализации первой игры, если нормально опишешь.
Первая слешер от первого лица с управлением основанным на процедурных анимациях, вся текущая проблема заключается в том чтобы сделать управление удобным и интуитивным, я даже не уверен что выйдет, ибо уже несколько раз было такое что в голове кажется идея заебись, а когда реализуешь выходит кал ибо какую-то вещь в башке не учёл.
Вторая роглайт с сюжеткой - тут всё стандартненько и успех напрямую будет зависеть от исполнения, зато тут всё в принципе ясно.
Чому
>Так, стоп. В таком случае, не делай ни одну.
Ахаха, /гд/ач мотивирующий, спасибо, что ты есть.
>>32710
>слешер от первого лица с управлением основанным на процедурных анимациях
Какие могут быть анимации от первого лица? Анимации использования холодного оружия?
>вся текущая проблема заключается в том чтобы сделать управление удобным и интуитивным
Интуитивное управление холодным оружием от первого лица, используя в основном мышь (сам придумал):
0. Все приёмы выполняются с зажатой кнопкой мыши, чаще всего правой (если персонаж - правша).
1. Движение слева направо или справа налево - это размашистый режущий удар.
2. Движение сверху вниз - это рубящий удар сверху вниз, чем быстрее движение, тем мощнее удар.
3. Движение снизу вверх - это колящий удар снизу вверх, мощнее прямого колющего.
4. Простой клик - это прямой колящий удар.
5. Прыжок на пробел - усиливает рубящий удар.
6. Приседание на альт с последующим подъёмом в прыжке усиливает колящий удар снизу вверх.
7. Левой кнопкой мыши (или клавишей F) блокируем удары с помощью щита (или оружия) в направлении взгляда; щитом также можно ударить, резко двинув мышь.
8. Безоружный игрок и игрок с парным оружием типа кинжалов выполняет удары той рукой, какая клавиша мыши зажата, включая двойные удары (обычно мышь позволяет зажать обе кнопки сразу, с этим проблем нет).
9. Уклонение клавишами Q и E, комбинируется с режущим ударом в соответствующем направлении.
Вряд ли это хоть немного приблизит игру к реальному бою холодным оружием, но твоя цель, как я понял, создать фановую мясорубку, а не симулятор, да?
Ещё я видел какую-то массовую онлайн игру, симулирующую бои на холодном оружии, но не помню название, оно какое-то странное вроде. Говорят, что она довольно реалистична, но в то же время жалуются на то, что игроки спамят какую-то одну кнопку и выигрывают бой только благодаря этому спаму, лол. В любом случае, смотри на уже имеющиеся игры в своём жанре и делай выводы - копируй хорошее, исправляй плохое.
>Вторая роглайт с сюжеткой
>тут всё в принципе ясно.
Что ясно? Ты уже делал процедурный генератор годных подземелий или других локаций? Писал сюжеты? Отлаживал баланс шмоток, оружия, зелий? Если ты только думаешь, что это всё раз-раз-раз и готово, то вряд ли реально знаешь, что именно тебе нужно будет делать. Обязательно возникнут какие-нибудь трудности, которые ты сейчас даже не предполагаешь.
>Так, стоп. В таком случае, не делай ни одну.
Ахаха, /гд/ач мотивирующий, спасибо, что ты есть.
>>32710
>слешер от первого лица с управлением основанным на процедурных анимациях
Какие могут быть анимации от первого лица? Анимации использования холодного оружия?
>вся текущая проблема заключается в том чтобы сделать управление удобным и интуитивным
Интуитивное управление холодным оружием от первого лица, используя в основном мышь (сам придумал):
0. Все приёмы выполняются с зажатой кнопкой мыши, чаще всего правой (если персонаж - правша).
1. Движение слева направо или справа налево - это размашистый режущий удар.
2. Движение сверху вниз - это рубящий удар сверху вниз, чем быстрее движение, тем мощнее удар.
3. Движение снизу вверх - это колящий удар снизу вверх, мощнее прямого колющего.
4. Простой клик - это прямой колящий удар.
5. Прыжок на пробел - усиливает рубящий удар.
6. Приседание на альт с последующим подъёмом в прыжке усиливает колящий удар снизу вверх.
7. Левой кнопкой мыши (или клавишей F) блокируем удары с помощью щита (или оружия) в направлении взгляда; щитом также можно ударить, резко двинув мышь.
8. Безоружный игрок и игрок с парным оружием типа кинжалов выполняет удары той рукой, какая клавиша мыши зажата, включая двойные удары (обычно мышь позволяет зажать обе кнопки сразу, с этим проблем нет).
9. Уклонение клавишами Q и E, комбинируется с режущим ударом в соответствующем направлении.
Вряд ли это хоть немного приблизит игру к реальному бою холодным оружием, но твоя цель, как я понял, создать фановую мясорубку, а не симулятор, да?
Ещё я видел какую-то массовую онлайн игру, симулирующую бои на холодном оружии, но не помню название, оно какое-то странное вроде. Говорят, что она довольно реалистична, но в то же время жалуются на то, что игроки спамят какую-то одну кнопку и выигрывают бой только благодаря этому спаму, лол. В любом случае, смотри на уже имеющиеся игры в своём жанре и делай выводы - копируй хорошее, исправляй плохое.
>Вторая роглайт с сюжеткой
>тут всё в принципе ясно.
Что ясно? Ты уже делал процедурный генератор годных подземелий или других локаций? Писал сюжеты? Отлаживал баланс шмоток, оружия, зелий? Если ты только думаешь, что это всё раз-раз-раз и готово, то вряд ли реально знаешь, что именно тебе нужно будет делать. Обязательно возникнут какие-нибудь трудности, которые ты сейчас даже не предполагаешь.
вроде работает
в качестве тест модели выступает главный враг японских школьниц кусок осьминога бггг
реализовал офсет каждой кости, это еще позволяет всей цепочке ездить по кривой паровозиком
башка пустая
надо придумать как скукоживать и раскукоживать расстояние между самими костями
Спасибо за инпуты анон, но у меня другое представление об этой боевке, если у меня выйдет я сюда выложу демку.
>Что ясно? Ты уже делал процедурный генератор годных подземелий или других локаций? Писал сюжеты? Отлаживал баланс шмоток, оружия, зелий? Если ты только думаешь, что это всё раз-раз-раз и готово, то вряд ли реально знаешь, что именно тебе нужно будет делать.
Я не думаю что будет раз-раз и готово, но по крайней мере тут ясно что делать, процедурный генератор локаций можно скопипиздить, подсмотреть где-то или тупо купить, сюжет неебаться для роглайта не нужен, на крайняк найму автора, баланс можно допиливать и задолго после релиза. Суть в том что тут ясно что делать, а в случае с боёвкой мне недостаточно высрать слегка улучшенный клон условной чивалри, у меня есть вполне конкретная задумка как это должно работать, расписывать лень, но суть в том что махать мечом можно будет на 360 градусов перед собой.
Договорились
>суть в том что махать мечом можно будет на 360 градусов перед собой
Видел похожую механику в простых мобильных играх, на компьютере вместо пальца можно было бы зажимать левую кнопку мыши и рука персонажа с мечом повторяла бы движения мыши... Но раз игра от первого лица, то как управлять камерой, когда мышь управляет мечом? Фиксировать камеру? Следовать за мечом? Непонятно... Но, по сути, я то же самое и описал выше, только добавил дополнительные/усиливающие приёмы, чтобы у игрока был смысл/интерес/мотивация тренироваться выполнять эти особые приёмы. Тупо махать было бы скучно, раз любой взмах наносит один и тот же урон. Я посмотрел Chivalry, там что-то не видно разнообразия - можно отрубить руку и голову, да и всё, даже в официальном трейлере меч проходит сквозь туловище, не нанося видимых повреждений. Смысл тогда махать мечом на 360 градусов, если все эти 360 градусов ведут к одному результату?
>если у меня выйдет я сюда выложу демку
А видео геймплея есть? Я свою игру периодически записываю на память.
>процедурный генератор локаций можно скопипиздить, подсмотреть где-то или тупо купить
И будут у тебя подземелья как в такой-то игре или в таком-то туториале.
>Суть в том что тут ясно что делать, а в случае с боёвкой мне недостаточно высрать слегка улучшенный клон условной чивалри
А в случае роглайтом - достаточно высрать 9001-й по счёту клон Rogue без перманентной смерти? Я не понимаю, почему в одном случае тебе достаточно сделать банальный рогалик, а в другом случае ты хочешь какую-то уникальную, никогда до этого не реализованную механику, которую даже описать не можешь.
Махать мечом мышкой еще в Ultima Underworld 1992 года можно было
> Все приёмы выполняются с зажатой кнопкой мыши, чаще всего правой (если персонаж - правша).
Видел такое в ремейке Даггерфола на юнити. Мне не зашло такое управление. Как минимум потому что, в момент когда зажимаешь мышь для атаки, камера перестает поворачиваться и мой мозг не воспринимает это как норму. Можешь заценить ремейк сам, если еще не видел, может и тебе не понравится.
Анон, а о чём вообще разговор? Меня попросили вкратце описать что я делаю, я описал. В чём смысл сейчас твоих постов?
имхо, самый надежный вариант, особенно если модель твоя - жахнуть нужную коробку в том же блендере и закинуть ее в меш коллайдер
И кого это должно ебать?
Я просил помощи с решением какой проект выбрать, а не как реализовать их, я её получил. На моменте когда меня попросили дать подробности по проектам, надо было промолчать, судя по всему, ибо я походу создал впечатление что мне и там помощь нужна. В любом случае спасибо.
если для того чтобы проитерировать коллекцию из этой хуергаторины мне все равно нужно "неправильно" кастить весь редактируемый объект и через него уже без всяких сериализированных пидарасин все делать
я обыскался весь интернет и нашел только бугурты по этому поводу и ебенячие надстройки через рефлексию
зачем это все нужно было или укажите мне где я идиот расцелую
а хотя... я щас мега костыль придумал, короче можно использовать стимовские доски лидеров - для лайков отдельно и дизлайков отдельно, по количеству юзеров в них можно определить количество лайков, дизлайков + можно эти доски из скрипта создать и не нужно ебаться в панели управления
у меня пропадает свет сцены при переходе на неё. хотя при запуске этой сцены(без перехода) он есть
що делать?
Спасибо анон
Хорошую игру в одиночку не сделать, ну, если денег нет на фрилансеров/ассеты. Когда я понял это, я почти совсем забил, но стал больше изучать юнити, блендер, читать, смотреть уроки и т.п. ибо ломка.
Так что наверное буду искать работу. А значит, хоть одну игру надо доделать, чтобы избавиться от солидного куска соискателей-конкурентов
Сейм щит бро. Жду когда нейросети будут генерировать игры по моей текстовой команде "сделой зоебись". Вот недавно нвидия выкатила нейронку, которая генерирует модельки мотоциклов в реалтайме. Надо ещё подождать.
потому что надо без задней мысли делоть кликер/идлер - через месяц уже можно будет забыть о слове "РАБота"
чел ты... сколько раз уже по скидке продавались разные бандлы с этими ассетами? и сколько ещё можно бесплатно спиздить? тонны нахуй
>Хорошую игру в одиночку не сделать
Авторы Spelunky, Minecraft, Risk of Rain, Undertale, Dwarf Fortress, Cave Story, Stardew Valley и Vampire Survivors смотрят на тебя как на говно.
Кароч я пытаюсь реализовать волновую коллапсирующую функцию, чтобы из префабов генерить здания.
Пойти решил следующим путём:
1. Создаю 2д массив
2. Засовываю в каждую ячейку List содержащий все возможные для спавна индексы префабов.
3. В ячейке выбираю рандомный индекс префаба из списка.
4. Пропагирую соседним ячейкам какие индексы не могут теперь с ним соседствовать путем удаления их из списков.
5. Перехожу к следующей ячейке
6. Повторяю с пункта 3 пока не кончатся ячейки.
Проблема возникает уже на пункте 2. Выкидывает ошибку из пикрила в рантайме. ЧЯДНТ?
Вот код из функции:
Debug.Log("1");
//Defining size of the building array
var buildingX = 3;
var buildingZ = 3;
//Creating a building array containing list of all possible prefab indices
List<int>[,] buildingScaleArray = new List<int>[buildingX, buildingZ];
Debug.Log("2");
//Populating lists within array with all possible building prefabs indices
for (int x = 0; x < buildingX; x++)
{
for (int z = 0; z < buildingZ; z++)
{
for (int l = 0; l < listOfAbandonedBuildingPrefabs.Length; l++)
{
Debug.Log("3");
buildingScaleArray[x, z].Add(l); //Это и есть строка 200
Debug.Log("Current list contains " + buildingScaleArray[x,z][l]);
}
}
}
Кароч я пытаюсь реализовать волновую коллапсирующую функцию, чтобы из префабов генерить здания.
Пойти решил следующим путём:
1. Создаю 2д массив
2. Засовываю в каждую ячейку List содержащий все возможные для спавна индексы префабов.
3. В ячейке выбираю рандомный индекс префаба из списка.
4. Пропагирую соседним ячейкам какие индексы не могут теперь с ним соседствовать путем удаления их из списков.
5. Перехожу к следующей ячейке
6. Повторяю с пункта 3 пока не кончатся ячейки.
Проблема возникает уже на пункте 2. Выкидывает ошибку из пикрила в рантайме. ЧЯДНТ?
Вот код из функции:
Debug.Log("1");
//Defining size of the building array
var buildingX = 3;
var buildingZ = 3;
//Creating a building array containing list of all possible prefab indices
List<int>[,] buildingScaleArray = new List<int>[buildingX, buildingZ];
Debug.Log("2");
//Populating lists within array with all possible building prefabs indices
for (int x = 0; x < buildingX; x++)
{
for (int z = 0; z < buildingZ; z++)
{
for (int l = 0; l < listOfAbandonedBuildingPrefabs.Length; l++)
{
Debug.Log("3");
buildingScaleArray[x, z].Add(l); //Это и есть строка 200
Debug.Log("Current list contains " + buildingScaleArray[x,z][l]);
}
}
}
А всё, забейте, я - довнич списки в ячейках не создал прежде чем туда добавлять данные. Массив списков объявил, а списки нет.
> Dwarf Fortress
там каких-то два брата скуфикса, видно же что они уже давно в теме и на опыте
Второй брат аутист там только чтобы ему не обидно было, истории пишет на форуме и всё.
А Toady начинал с маленьких игр типа Liberal Crime Squad (рикомендую, можно создать террористическую организацию, похищать и пытать неугодных, варить наркотики, заставлять омежек торговать жопой на улицах и сжигать омериканскей флаг), но он математик, докторскую кажется защищал и пилил софт до этого.
Бюджет максимум 40-50к, думаю взять макбук на m1 на авито. Вопросы к владельцам оного: хватает ли 13 дюймов для написания кода и работы в редакторе? Хватит ли 8гб оперативки для работы редактора и VSCode на маке? Проекты графически не требовательны, гиперказ и 2D.
В приоритете наверное мобильность, в связи с могилоизацией может придётся куда-то уезжать. До этого было 2 ноутбука на Windows, оба постоянно ломались. То hdd, то экран, и работал с ними только за столом.
У меня есть ноут, брал лет 5 назад за 20к. 4гб оперы, встройка, и 2ггц что-то типо того. Юнити пропёрдывает со скрипом и крашится, работать боль. Делай выводы.
>Авторы Spelunky, Minecraft, Risk of Rain, Undertale, Dwarf Fortress, Cave Story, Stardew Valley и Vampire Survivors
Rogue, sandbox, pixel-параша для школьников
Просто мне не нравятся игры, где ты развлекаешь сам себя. Если бы мне было менее 15 лет, то мне бы понравилось, не спорю. К тому же делать такие игры это такая халтура. Просто добавляешь кучу новых предметов, оружий, и всё, размещаешь их в жопах мира, и школота радужно бежит их искать,и у них в инвентаре уже 1001 предмет. Никакого интереса, творчества, со стороны разрабов не требуется, тупой дроч.
Ахах.. Ясно-понятно.
Посмотри в ригидбоди во время столкновения, там по велосити можешь что хочешь посчитать.
При условии,что скорость с которой двигался один объект неизменна, это и есть с какой силой он въебался. Если у нас ситуация бильярдная, и там скорость менялась, ну просто в апдейте наверное разницу между трансоформом и время*дельтавремя чекай. Е равно мц квадрат, там, все дела.
>Просто мне не нравятся игры, где ты развлекаешь сам себя. Если бы мне было менее 15 лет, то мне бы понравилось, не спорю.
Что изменилось в тебе за последние 5 лет с тех пор, как тебе перестали нравиться игры-песочницы? Ты отслужил в армии, где тебе всегда приказывали, что тебе нужно делать, а потом ты устроился на работу, где тебе продолжают приказывать, что тебе нужно делать, и теперь ты в свободное от работы время ищешь игру, которая будет приказывать тебе, что нужно делать? Грустно быть тобой...
>>33108
>Жду когда нейросети будут генерировать игры по моей текстовой команде "сделой зоебись". Вот недавно нвидия выкатила нейронку, которая генерирует модельки мотоциклов в реалтайме.
Ты разве не понимаешь, что нейронка, которая генерирует модельки мотоциклов, должна была увидеть миллионы моделек мотоциклов, чтобы сгенерировать такую же? А с играми этот подход не работает. Т.е. формально работает: можно сделать нейронку, которая будет генерировать игры в жанре, например, платформер. Но что это будут за игры? Бессмысленные клоны клонов. Тебе нужны бессмысленные клоны, которые люди и без нейронок заливают в Стим и Гугл плей пачками? Нет. И игрокам не нужны.
Чтобы заложить в игру смысл, нужно владеть этим смыслом, то есть понимать его и мочь его выразить. Сравнительно легко заложить в программу понимание устройства мотоцикла, чтобы она знала, для чего нужно сиденье (поэтому оно должно быть сверху, а не снизу) и как работает двигатель внутреннего сгорания (поэтому мотоциклу нужен бензобак, выхлопная труба и т.д.), не имея представления обо всём остальном нашем мире (для примера, ей не нужно знать, что происходит с людьми, которые мотоциклом не пользуются). Но игры в общем и целом основываются на всех наших знаниях о нашем мире - следовательно, нейронке, способной создавать осмысленные игры, нужно всё наше понимание нашего мира, а не только способность высрать рандомные спрайты и соединить рандомные механики, встречающиеся в имеющихся играх (иначе получится бессмысленный рандом, который сейчас пытаются выдавать за игры).
А что такое программа, обладающая пониманием всего мира (включая саму себя как часть этого мира, например, чтобы создать игру в киберпанк сеттинге про восстание разумных машин), и способная использовать это понимание в реальной работе? По сути это будет искусственный человек без тела, имеющий сознание, множество знаний о мире и даже переживающий эмоции (без этого не будет реального понимания концепции эмоций - не получится сделать осмысленную историю в жанре романтики, драмы, триллера или ужасов, потому что их суть в создании чувств, а не в сухом пересказе фактов; без понимания эмоций можно только копировать уже готовое, надеясь, что копия вызовет те же эмоции, что и оригинал, но любое изменение оригинала нарушает его свойства).
А теперь подумай о том, что будет, если любой человек будет иметь право и возможность запустить на своём домашнем компьютере программу, равную человеку (без такого права или возможности забудь о том, что лично ты нажмёшь на кнопку "сделать круто"). Во-первых, геймдев умрёт как индустрия, потому что никому не нужны будут разработчики игр, когда можно запросить новую осмысленную игру у личного искусственного человека (о бедняках забудь, им не до игр); во-вторых, игры перестанут быть нужны большинству людей, потому что им будет с кем занять время и без игр - игры появились только как средство убить время и получить позитивные эмоции, а для этого большинству достаточно найти понимающего собеседника (чатботы, даже на основе нейросетей, пока что нихрена не понимают, поэтому плохо справляются с этой задачей; искусственный разработчик игр сможет осмысленно общаться на любые темы). Даже если тебе всё равно хочется играть, а не общаться, с личным "игроком номер два" ты мог бы проводить всё своё время в уже существующих играх, не имея потребности в новых. Или ты уже переиграл во все десятки тысяч существующих игр, включая кооперативные, и теперь тебе хочется сгенерировать ещё десятки тысяч клонов этих игр?
>Просто мне не нравятся игры, где ты развлекаешь сам себя. Если бы мне было менее 15 лет, то мне бы понравилось, не спорю.
Что изменилось в тебе за последние 5 лет с тех пор, как тебе перестали нравиться игры-песочницы? Ты отслужил в армии, где тебе всегда приказывали, что тебе нужно делать, а потом ты устроился на работу, где тебе продолжают приказывать, что тебе нужно делать, и теперь ты в свободное от работы время ищешь игру, которая будет приказывать тебе, что нужно делать? Грустно быть тобой...
>>33108
>Жду когда нейросети будут генерировать игры по моей текстовой команде "сделой зоебись". Вот недавно нвидия выкатила нейронку, которая генерирует модельки мотоциклов в реалтайме.
Ты разве не понимаешь, что нейронка, которая генерирует модельки мотоциклов, должна была увидеть миллионы моделек мотоциклов, чтобы сгенерировать такую же? А с играми этот подход не работает. Т.е. формально работает: можно сделать нейронку, которая будет генерировать игры в жанре, например, платформер. Но что это будут за игры? Бессмысленные клоны клонов. Тебе нужны бессмысленные клоны, которые люди и без нейронок заливают в Стим и Гугл плей пачками? Нет. И игрокам не нужны.
Чтобы заложить в игру смысл, нужно владеть этим смыслом, то есть понимать его и мочь его выразить. Сравнительно легко заложить в программу понимание устройства мотоцикла, чтобы она знала, для чего нужно сиденье (поэтому оно должно быть сверху, а не снизу) и как работает двигатель внутреннего сгорания (поэтому мотоциклу нужен бензобак, выхлопная труба и т.д.), не имея представления обо всём остальном нашем мире (для примера, ей не нужно знать, что происходит с людьми, которые мотоциклом не пользуются). Но игры в общем и целом основываются на всех наших знаниях о нашем мире - следовательно, нейронке, способной создавать осмысленные игры, нужно всё наше понимание нашего мира, а не только способность высрать рандомные спрайты и соединить рандомные механики, встречающиеся в имеющихся играх (иначе получится бессмысленный рандом, который сейчас пытаются выдавать за игры).
А что такое программа, обладающая пониманием всего мира (включая саму себя как часть этого мира, например, чтобы создать игру в киберпанк сеттинге про восстание разумных машин), и способная использовать это понимание в реальной работе? По сути это будет искусственный человек без тела, имеющий сознание, множество знаний о мире и даже переживающий эмоции (без этого не будет реального понимания концепции эмоций - не получится сделать осмысленную историю в жанре романтики, драмы, триллера или ужасов, потому что их суть в создании чувств, а не в сухом пересказе фактов; без понимания эмоций можно только копировать уже готовое, надеясь, что копия вызовет те же эмоции, что и оригинал, но любое изменение оригинала нарушает его свойства).
А теперь подумай о том, что будет, если любой человек будет иметь право и возможность запустить на своём домашнем компьютере программу, равную человеку (без такого права или возможности забудь о том, что лично ты нажмёшь на кнопку "сделать круто"). Во-первых, геймдев умрёт как индустрия, потому что никому не нужны будут разработчики игр, когда можно запросить новую осмысленную игру у личного искусственного человека (о бедняках забудь, им не до игр); во-вторых, игры перестанут быть нужны большинству людей, потому что им будет с кем занять время и без игр - игры появились только как средство убить время и получить позитивные эмоции, а для этого большинству достаточно найти понимающего собеседника (чатботы, даже на основе нейросетей, пока что нихрена не понимают, поэтому плохо справляются с этой задачей; искусственный разработчик игр сможет осмысленно общаться на любые темы). Даже если тебе всё равно хочется играть, а не общаться, с личным "игроком номер два" ты мог бы проводить всё своё время в уже существующих играх, не имея потребности в новых. Или ты уже переиграл во все десятки тысяч существующих игр, включая кооперативные, и теперь тебе хочется сгенерировать ещё десятки тысяч клонов этих игр?
Я тебе говорю. В реале уверен на 100% не будет работать как там на картинках, да еще и миллион подводных будет.
Вот возьми свою модель, свою сцену, а не их подготовленное добро и увидишь.
>монопольки сделать, охуеть, одного кодинга маршрута движения фишки на час
Во-первых, час программирования - это очень мало. Во-вторых, что там кодить-то, лол, какие маршруты? В монополии же фишка по кругу движется. Ты больше времени убьёшь на рисование фишек и карты.
>не понимаю в коде
Обучение основам программирования займёт не больше недели. Главное - усидчивость. Ты же наверняка глянул учебники, ужаснулся и забросил, даже не попробовав, а теперь вслепую копируешь чужой код. Или тебе было скучно делать простые упражнения...
Зачем ты споришь? Возьми код да проверь. Это же опенсурс проект, MIT лицензия. А ты так споришь, будто с тебя 100$ требуют только чтобы попробовать, а потом ещё ежемесячная оплата и % с прибыли игры.
Скажем так, я надеялся что игра с минимумом фич будет довольно простой для вкатывания. Что-то типа 21 на паскале.
А, вон оно что. Тогда оно не нужно...
>>33294
>игра с минимумом фич будет довольно простой для вкатывания
Ну. Возьми любой начальный туториал, там всё пошагово должны объяснять. Не нужно делать первую игру самостоятельно. И если ты уже знаешь Паскаль, почему тогда трудности с C#? Пробовал Godot? Он проще для освоения и туториалы хорошие есть.
Качать кучу хрени, устанавливать, настраивать, дрочиться с настройки в процессе и всё чтобы понять то что и так ясно?? Зачем мне тратить столько времени на то что и так понятно любому у кого есть опыт в юньке?
Магических дополнений не бывает, картинка не делается из воздуха.
>Качать кучу хрени
Там 23 КБ в архиве, лол.
>картинка не делается из воздуха
Ты прав. Именно поэтому я безыгорен - у меня нет мешей с текстурами, чтобы юзать бесплатный шейдер.
>Там 23 КБ
ОМГ
Я то думал там аи-генератор какой нибудь, плюс куча материалов и т.д на пару гигов.
Теперь могу сказать с вероятностью 146% это просто шейдор и хуита рекламная. Мусор.
Последний шейдор который я брал, тоже urp там ассет весил около 300мб, и да пару дней дрочился чтобы картинка получилась как хотел.
Короче разводят гоев на баксы красивой обёрткой, а в реале скажут доплачивайте еще пару к$ на дополнительного пчелика который и будет делать эту картинку.
знаю про GL.Draw(морока ебаная, надо цеплять к камере и исполнять в OnPostRender иначе хуй и толщину не сделать)
Line Renderer геморройный
какие еще есть хорошие способы?
в онгуй можно что угодно рисовать
public static void DrawLine(Vector2 from, Vector2 to)
{
var angle = Vector2.SignedAngle(from, to);
GUIUtility.RotateAroundPivot(angle, from);
DrawBox(from, Vector2.right * (from - to).magnitude, false);
GUIUtility.RotateAroundPivot(-angle, from);
}
Дык если объект, то спавни куб и растягивай до линии.
Добавил свитч с допизды лапши, чтобы коллапсировать соседние ячейки.
ИНДЕКС АУТ ОФ БАУНДС, СУКА, БЛЯДЬ.
А СВИТЧ ДАЖЕ НИКАК НЕ ВЛИЯЕТ НА ЁБАНЫЙ МАССИВ, ТОЛЬКО ЧИТАЕТ ИЗ НЕГО И ПРАВИТ СПИСКИ ВНУТРИ МАССИВА.
СТРОКА С ОШИБКОЙ КАЖДЫЙ РАЗ РАЗНАЯ, НО ВНУТРИ СВИТЧА БЛЯДЬ.
ЁБАНЫЙ РОТ ЭТОГО КАЗИНО.
4 ЧАСА ЕБАЛСЯ.
НАЕБНУЛАСЬ ВИДУХА.
Маководы, сколько у вас юнити жрёт оперативки? Работаю над нетребовательными играми, в основном 2D. Хватит ли мне 8 Гб, или поголодать месяцок, но докинуть до 80к на macbook air m1 с 16 гб оперативки?
Например, что бы юнити забанила всех пользователей из России. Сразу стало бы веселее.
Абу, заебал, найди вторую работу 944296
Если есть какие-либо предложения, пишите в тг: @Porosb_ya
Славянское. Изобретаем стандарты на ходу. Ебём "Альбатрос".
Зачем ему? Он харкач продал и съебал в Турцию.
там же написано
как это лучше сделать?
придумал два варианта
1) 2 дополнительных листа из которых потом вытягиваю нужный вектор3/кватернион во время итерации через трансформ
2) запилить дополнительный объект с трансформой, вектор3/кватернионом оригинальных позиций и пихать в лист уже его. выглядит удобнее, но насколько серьезный оверхед будет?
Спасибо
При каждом запуске плейрежима повялвяется хуйня Reload script assemblies которая будет висеть до Дня Рождения Аллаха.
На юнити форумах все ноют что такая проблема у них аж с версии 2019 , но я 2021.3.8 и столкнулся впервые за полгода юзания.
Что делать?
Исторически так сложилось.
В работоспособности SSD/HDD уверен? Перегревов нет? Места хватает на накопителе, а памяти свободной?
У меня он долго проекты открывает минуты по 3, но в плей режим обычно секунд за 5-10 переходит.
С железом вроде все норм.
У меня то же лоопределенного момента в плейрежим уходило ща пару секунд. Попробую юнити переставить
Hard Disk Sentinel'ом глянь состояние накопителя где юнька и/или ось стоят, если не поможет.
Спасибо буду пробовать
Были подобные траблы пару раз. И каждый раз решались по разному.
1 раз после краша заккораптиллось пару ассетов и на них зависала загрузка, решилось поочерёдным удалением в проекте.
1 раз была трабла после апдейта разпидорасило скрипт и также висло, решилось нахождением скрипта и также удалением на время загрузки.
И последний раз после переноса проекта снова что-то проебалось и лечилось выборочным удалением ассетов с последующим их восстановлением.
Могу посоветовать нащупать что крашит загрузку и вырезать это на время загрузки проекта. Естественно бэкапов пару штук сделать перед этими манипуляциями. Так-же можешь удалить папку Library в проекте и почистить полностью npm и packages в самой юньки, всё это дело автоматом скачивается потом и восстанавливается без гемора.
Так это тоже самое, что и хмл. Ты не понял вопроса, мне надо чтобы была возможность создавать доп предметы в хмл без вручную прописывания всех параметров их в листочке.
Реализовывал свою систему сохранения/загрузки базы по типу обычного редактора с UI, удобно тыкаешь кнопочки, там же создаёшь новые сущности. Работаю с этим добром через бинарь, там структура совмещающая строки, которые потом распаковываются либо запаковываются, и флоаты.
Вообще полный ноль в этом, но мне это очень необходимо для проекта можешь сказать в каком направление гуглить? И в двух словах описать как именнно реализовывал?
Тоже интересует этот вопрос. Как делать запрыг наверх?
Для начала было бы не плохо если ноль, то понять как работает система сохранения/загрузки. Т.е именно что сделать по гайду рабочую версию.
Далее ты определяешься что за структура у тебя в игре. Какие типы данных тебе надо сохранять.
Последнее что ты делаешь это серелизируешь/десерелизируешь данные в кратце это сворачивание данных в некую единную субстанцию, по типу вот есть у тебя 1000 объектов, и чтобы не делать 1000 типов или ячеек данных, ты заворачиваешь всё это в одну строку, а когда надо загрузить, уже распаковываешь эту одну строку.
В итоге просто советую посмотреть на ютубе не старые гайды по системе сохранений, далее повторить. Если правильно понял что тебе надо было сделать, то тут всего 2 стула. Либо ты делаешь этот редактор в форме юи прямо в юньке, можно тупо отдельной сценой или интерфейсом, или же тоже самое вне на любом языке. В ручную никогда не делай то что может занять более 5-10 минут, да еще и надо повторять. В сумме это может потом выливаться в часы ежедневного дроча.
Мне что, ручками цикл писать?
Array.IndexOf
Ты бы еще LINQ заюзал для такой простой задачи.
До того писал что Пластик еб мозги с бесконечным Reload Script Assemmbles. Но поебавшись с проектом, помолившись Аллаху и несколько раз пересоздав проект вроде бы проблему решили. Как сам до конца не понял, понял только то что он с чего то стал создавать свою папку вне папки проекта
Теперь проблема №2: редактирование скриптов не прогружается в проект, словно их написал но не сохранил. Что бы все работало проект обязательно нужно чекать в пластике.
Попробуй переустановить студию. Заного соединить с юнькой, там поклацать в теме. В студии также модуль для работы с юнькой.
Чего тебя так плющит? Пропустить несколько дополнительных матричных преобразований всегда заебись.
> пересоздав проект вроде бы проблему решили.
Подожди а зачем вы проект пересоздавали? Как вы вообще его настраивали ебать? Типо вначале создаешь там воркспейс, дальше перекидываешь туда проект. Потом в юнити хабе указываешь путь к проекту и все работает. Ну и да не нужно быть тупой русней, а хотя бы казахом.
>Теперь проблема №2: редактирование скриптов не прогружается в проект, словно их написал но не сохранил. Что бы все работало проект обязательно нужно чекать в пластике.
вплане? После того как твой друг выгрузил изменения ты не можешь их скачать или что?
Вы как то очень странно с ним работаете. Уже больше года с другом его используем и никаких проблем не было. Мне кажется, что вытекает все из-за того что вы неправильно его подключили. Ну и да в пластике есть такой прикол, что вдвоем в одной сцене не поработаешь и поэтому лучше работать в разных.
> Ну и да в пластике есть такой прикол, что вдвоем в одной сцене не поработаешь и поэтому лучше работать в разных.
а нах он нужон тогда? почему не гит?
Они действуют с задержкой?
Ситуация:
2Д платформер.
Есть провод при прыжке на который персонаж должен проскользить по нему. У провода есть BoxCollider2D.
Под проводом расположен деактиватор провода с ТриггерКоллайдером задачей которого выключить БоксКоллайдер у провода в том случае если персонаж запрыгивает на провод снизу.
Проблема : такое чувство что это работает с задержкой и персонаж пролетев через отключалку провода задевает его.
На пике видно что пролетев через деактиватор провода персонаж все равно его задевает
допустим у меня есть кучка трансформ, с них снимается позиция в пространстве, если не изменилась то ничего не делаем. если хоть что-то из них изменилось, то считаем. как это лучше сделать? может стоит инвокать эвент если позиции поменялись и реагировать на него?
Тут есть всего 2 стула. Оба не простые.
Первый это заместо апдейта юзать корутину, по сути тот же апдейт но с тиком который сам выставишь.
Второй это найти что может повлиять на этот обьект и посылать в него команду или пробуждать во время или до этого, по типу радиуса, времени или других состояний.
Есть конечно секретный вариант с дотсами и дополнительными потоками, но лучше туда не лезть, оно сожрёт нахуй.
>секретный вариант с дотсами
Нормальный вариант, который между прочим близится к релизу. Это будущее на которое юнитеки заставят перейти так или иначе, ибо надо какая-то фишечка для конкуренции с пятым анрилом. Перформанс от дотса и десятки тысяч объектов может такой стать.
Надеюсь разраб Римворлда додумается свой код переписать под эту систему. Просто задумайтесь стратегия, где все вычисления в один поток идут.
С подключением, уже есть пре-релиз версии 1.0 и сейчас идет ее альфа-тест, к началу следующего года точно доделают.
Кушаю причмокивая. Буду охуенный спецом на рынке труда когда все начнут массово переходить после релиза, я же уже буду с опытом.
С хуя ли? Они меняют апи в сторону более интуитивного понимания для хлебушков, добавляют функции и фиксят баги. Сама суть не меняется с 0.17 версии.
>С хуя ли?
Потому что за время разработки дотса его уже два раза минимум переписали. Юнитеки сами не знают как это говно доделать.
Ну ты конечно читал все ченджлоги и знаешь. Еще раз: там все готово по сути, меняют апи. Время когда резко меняли критичные штуки прошли.
спасибо
не уверен что делаю правильно, но решил пока что пикрелейтедом, потому что мне кажется просто листать коллекцию и смотреть если что-то поменялось дешевле чем просто апдейтить
буду еще эвент посылать потом
мой подход изначально неправильный т.к. то что происходит в UpdateSolver наверняка на порядки быстрее прямо на видеокарте распиливать, но я не могу найти материалов по шейдерному программированию для чайников
Мне нужно вращать один объект до ориентации другого объекта. Пробовал такое:
transform.eulerAngles = Vector3.Lerp(oldEuler, targetTransform.eulerAngles, distFactor);
Фигня полная получилась. При определенных углах вращение с поворотом вокруг оси почти на 360 градусов. А еще отладить такое нереально, так как значения углов в инспекторе одни, а в иде другие (небось хуевая конвертация происходит).
Quaternion.Lerp
>есть что-нибудь кроме VS для написания кода?
Rider.
>Можно ли юзать сублим
Можно даже блокнот юзать, вопрос зачем.
>будет ли это удобно?
Без задней мысли берешь и пробуешь, через пять минут поймешь удобно или нет.
418x152, 0:09
Есть объект RopeTip который в моих эротических фантазиях должен полететь к объекту HookPoint где блять займется с ним жарким гейсексом, сука
void Update()
{
if (ByHookPoint)
{
RopeTip.transform.position = Vector3.MoveTowards(transform.position, HookPoint, 100 * Time.deltaTime);
RopeTip.transform.position = HookPoint;
}
Обычный транстформ работает и РоупТип оказывается там где надо
Метод MoveTowards нихуя не работает и РоупТип колоебит на одном месте.
Чому так?
Чел... в апдейте держать цикл... советую прям щас поправить архитектуру и сделать чтобы изменения в объекте либо вызывали нужную функцию в глобальном менеджере или на худой конец пукали сигналом в пустоту.
я не знаю как это сделать с трансформой, свою пилить с логикой в гет/сет что ли получается нужно?
Исходи из простого. Если это значение не нужно менять по сто раз в секунду всегда стоит применять подход с вызовом.
Твоё значение изменяется от внешних событий, ищешь что может его изменить и во время этого действия вызываешь простую функцию с тем же циклом, и вуаля, заместо дрочи по сто раз за кадр, твоя дрочь происходит ну допустим раз в пару секунд или даже больше, сразу +999999% к производительности.
В апдейте никакие циклы держать никогда не стоит.
Открываешь пример любой игры и смотришь. Либо по гайдам. Хард мод это сам визуализируешь и делаешь.
мне нужно знать когда трансформа меняет позицию. я могу это делать через мои вызовы, но вот я хочу прикруть к своим трансформам сторонний физон потом. а он тоже через трансформу свои дела делает, а я не знаю когда это происходит. или анимировать.
как мне это отслеживать без перегонки лысого в апдейте? я уже загуглил и люди с подобной ситуацией доходят до вот этой дичи:
https://github.com/handzlikchris/Unity.MissingUnityEvents
Палю лайфхак: заходишь короче на https://www.google.ru/ и вводишь "как сделать %хуйня_нейм unity". Читаешь первую страницу выдачи, не благодари.
вроде как сделал, нахуячил три дестроя, если все втроем - работает как надо, если хотя бы одного нет - нихуя не работает
Есть объект с триггер коллайдером. Есть скрипт на этом объекте с методом private void OnTriggerEnter2D(Collider2D collision) например.
Предположим я хочу повесть на этот объект еще один триггер коллайдер.
Можно ли как то через скрипт различать какой из двух коллайдеров триггернулся или для этого обязательно делать два объекта?
Ты должен создать дочерний объект и там разместить коллайдер. А иначе он будет считать, как один. 95% уверенности, что так.
если разработчик отдельно не запарился, любой проект на юнити - открытая книга
ну да, очень много таких, которые в моно сбилжены, даже китайскую гачу можно найти
на связи аутист который не может смотреть документацию
суть вопроса:
делаю говноигру
при запуске приложения со сцены с меню, игра загружается
при выходе в меню в момент игры, игра не загружается
как фиксить?
крч
я из главной сцены перехожу в сцену с игрой
из сцены с игрой я перехожу в меню
и при последующей попытке перейти из меню в сцену с игрой я обсираюсь и она не загружается
Спасибо анон, но проблемы была не в этом
При заходе в меню паузы я timescale ставил на ноль, и при заходе в начальное меню, не менял его на еденицу
хочу сделать такую штуку:
есть трансформа-ведущий и трансформы-ведомые
я хочу сделать так, чтобы ведомые повторяли движения туда же куда и ведущая трансформа, но медленнее на определенный процент.
сейчас я делаю через:
ведомый.localPosition = Vector3.Lerp(Vector3.zero, ведущий.localPosition, процент), но это работает только если локальный ноль ведущего и локальный ноль ведомых совпадают, а мне бы хотелось чтобы ведомые повторяли(медленнее) движение вне зависимости от изначальной позиции ведущего
Есть запись анимации. При записи перемещения объекта анимация запишется как "на определенном тайминге переместить объект по координатам записи"
Можно ли записать так что бы объект перемещался не на то место где анимация записана а собственные координаты+смещение?
Более простое объяснение: я хочу записать прыжок(на самом деле нет, но что бы было понятнее ) через анимацию .
Возможно ли это?
хз, мне он показался менее удобным хотя это и давно было
Как же ты заебал, собака суталая. Знал бы где ты живешь, приехал бы и лично твоего кошака на мясо пореза и приготовив заставил бы тебя его сожрать.
вот у меня допустим корутин будет несколько, а я смотрю на гайды и там постоянно yield new чето там.
так это же мусороделка получается.
или еще видел пример что они этот самый Waitчетотам кешировали в самих классах и использовали в корутине.
но если каждый будет свое кешировать а они вроде(???) бы одинаковые то зачем это несколько раз делать?
так я вот и запилил статический и жду его теперь.
мнение? подводные камни?
Так вот из-за кого все тормозит.
Ебать рот, где вас таких берут. Банальный инструмент для DI стал "костылем для тех кто не умеет в архитектуру".
Вместо
IENumerator Hehe()
{
yield return new WaitForSeconds(1.6)
}
Сделай
private coroutine waitforseconds= new WaitForSeconds (1.6);
IENumerator Hehe()
{
yield return waitforseconds;
}
И не будет мусора.
Вообще, посмотри базу корутин для геймдева на русском
https://youtu.be/Mo5chTMVFPo
я примерно так и хочу, но если оно приватное то на каждую корутину в других классах нужен будет свой WaitFor, а зачем, если можно расшарить на все корутины? или тогда собирать все корутины в одном классе тоже вариант наверное
Ну в принципе можно и так. Но ты сэкономишь просто ничтожное количество байт, так что лучше не париться с внешним классом, и тупо создать корутины прямо в классе. Это совсем не критичная, и даже совсем не важная вещь.
Кстати, насколько мне известно,
yield return new WaitForEndOfFrame();
аналогичен
yield return null;
Я это всегда использую, когда нужно покадровое выполнение. Это намного короче, и не создаёт мусора
>yield return null;
о збс вот это и буду тогда использовать
спасибо
мне конкретно покадровое и нужно
У тебя _endOfFrame всегда null, так что оптимизация не сработает. EndOfFrame всегда новый экземпляр создавать и возвращать будет.
Добавляю синема камеру и такое.
Пробовал помимо loop time ставить галку и на loop pose, помогло, но не очень. При нажатии W перс все равно бежит дольше чем нужно.
In Place, не in front.
Можно ли из юнити скачать анимацию, которую сделал в виде gif или mp4 каком-нибудь?
В других тредах не дождался ответа, интернет молчит....
Заранее спасибо
можно ли в юнити создать глобальную переменную?
к примеру в одной сцене я присвоил некоторой переменной некоторое значение, а в другой сцене мне нужно получить это значение
Содержимое:
- Наработки по боёвке;
- Наработки по генерации уровней;
- Персонажи, звуки, и т. д.
https://anonfiles.com/1fI5jfK0y8/NightFall_rar
хочу сделать красивый 2д квест с окрытым миром, загадками, общением и QTE драками.
с чего начать?
он про то, чтобы ты какой-нибудь левой софтиной типа OBS записал анимацию на видео :)
Причем, работал программистом на сишарпе
Пытаюсь оформить идеи - и не получается оформить что-то внятное, потому что выходит клон чего-то существующего
Буквально на днях обдумывал идею рогалика с охотой на монстров, сбором трофеев, рандомными персонажами, опциональным пвп и подобным
Примерно на середине повторного обмозговывания идей, понял, что у меня получился Hunt Showdown
Делаю игру
Как можно быстро проверить, нет ли чего-либо похожего, кроме как шерстить все площадки по тегам?
Переносил в качестве префаба, просто копировал, создавал пустой объект закидывал туда весь ui сохранял как префаб и разворачивал в другой сцене. Во всех случаях кнопки становятся не активными и не реагируют на нажатия. На форумах нашел инфу что eventSystem нужно подключить, я его переносил, удалял и ставил заново - один хуй не работает нихуя.
Допустим есть платформа, которая доезжает до места, какое-то время ждет, потом едет в другое место, ждет, едет обратно и так по кругу.
"размытие в движении" при повороте камеры
Камера, анимация, постпроцесинг и т.д?
Как его ротация отображается?
Все докачалось и открылось. Эта лего микрогейм весит 2.42ГБ!!! Первый маунт и блейд весил меньше гига. Третьи кресты весят всего в два раза больше. А тут блядская демка весит почти 3. Алсо проблема даже с новой версией не решилась. Какие же дауны на разработчиках я просто охуеваю
Часто вижу в индииграх в Steam одну и туже хрущевку и одинаковый пропсы в наполнении. Погуглил - не нашел. Двач помогач
Сап, расскажите про TextMeshPro. Я "интегрировал" гит в юнити, а из-за этого ТМР у меня проект отображается будто написан на ШейдерЛабе, тк там дохуя файлов связанно с ТМР. Как мне избавиться от этой хуйни? Перевести все в текст? Так текст в юнити галимый. Или дальше страдать?
Пацаны, вот я в сишарпе не шарю, я ща джава учу, мне подскажите что делать если знаете.
Короче, делаю ща виар штуку, неважно какую. Короче, мне нужно сделать так, чтобы при нажатии на кнопку зажигалки из нее выходил огонь и он обладал функцией поджечь другой объект (условно сигарету) и чтобы ее моделька соответственно менялась, также хочу сделать чтобы можно было один объект разбить другим и на его месте появлялась другая модель.
Я абсолютный ноль в юнити, я покопался в туторах и по теме нашел только тэги для коллайдера и destroy.gameObject. Если есть знатоки - подскажите, останусь в долгу
Я просто не знаю, хотелось бы задать переменную температуры конечно (и степень нагревания объекта в зависимости от него) и еще что то, но это ваще еще очень далеко от моего понимания. Физику при разрушении объекта если это стекло например, но я тоже хз как это все сделать, если есть гайды в интернете именно по этой теме - я буду благодарен.
>>54432
При зажигании жиги, над ней появляется новый объект или просто коллайдер (пламя). При соприкосновении (столкновении или лучше триггере) этого коллайдера с коллайдером сижги, у сижки меняется анимация/модель, на подоженную сижку. Остальное по той же логике.
С разрушением объектов тоже самое: при соприкосновении коллайдера молодка с коллайдером чашки, чашка меняет_модель/проигрывает_анимацию разбитой чашки
>Я абсолютный ноль в юнити
Гайды на ютубе вполне себе помогают, правда чаще всего нужные на английском
Поищу гайды по коллайдерам на английском, спасибо анон! Просто на русском ваще не то что нужно.
висит point light, но тени от него неправильно просчитываются на стенах с картами нормалей. Затеняется угол будто, хотя источник должен по радиусу освещать. Если убираю карту нормалей с текстуры, то все норм рассеивается. В какую сторону копать?
Ой оно само предложило все починить когда я нажал Save.
Могу ли я брать free assets из Assetstore Unity?
Какие подводные?
Не будет ли проблем с авторскими правами, когда моя игра начнет приносить миллионы?
>Могу ли я брать free assets из Assetstore Unity?
Могешь
>Какие подводные? Не будет ли проблем с авторскими правами
Читай условия ассетСтора и самих ассетов
>когда моя игра начнет приносить миллионы?
От сразу до никогда
Случайно сажа приклеилась
>Читай условия ассетСтора и самих ассетов
А если коротко?
Я понимаю что в твоих глазах я лентяй, который хочет чтобы ему все по полочкам разжевали - но на самом деле я туго соображаю и могу неправильно понять информацию.
Вот допустим моделька машины - https://assetstore.unity.com/packages/3d/vehicles/land/arcade-free-racing-car-161085
Написано что лицензия Extension Asset.
Что это значит?
Если я возьму машину и трассы с Extension Asset лицензией, создам игру, загружу ее в Google Play, App Store и Steam, и заработаю несколько тысяч долларов - правообладатели этих моделек меня не засудят?
https://support.unity.com/hc/en-us/articles/205623589-Can-I-use-assets-from-the-Asset-Store-in-my-commercial-game-#h_01FY9A84TW1N69GJ4QQTNW33RE
>правообладатели этих моделек меня не засудят?
Нет
Есть ли нормальный полноценный курс, который позволит мне с нуля создать нормальную 3D гонку?
За те несколько дней, которые я вкатываюсь в геймдев, я успел посмотреть курс itProger по созданию стратегии, видео малопопулярных ютуберов по созданию управления машины, курс Сакутина по C#.
И везде только часть информации.
Из Юнити ассетов я собрал трассу, добавил на нее сначала машину, которая отвратительно управлялась, потом добавил другую, которая управляется чуть получше (хотя тоже не ахти).
Теперь надо искать видео как добавить соперников, потом - как сделать гонку, в которой будет отображаться время гонки, позиции игроков, и кто первый пересек финишную четку.
Потом - как к этому прикрутить возможность отображения лучших результатов.
И для этого придется перелопатить тонну видео и статей.
Может быть существует самый информативный, самый лучший курс по Unity, который позволит создать нормальную 3D-гонку?
1920x1080, 0:30
отклеилось
Именно по гонке хз, но с твоими вопросами тебе сюда:
https://learn.unity.com/pathway/junior-programmer
Не знаю, как у тебя с языками программирования, но не плохо бы начать с изучения C#
Как накладывать текстуры на локацию? У меня вот стены, потолок, комнаты есть, мне развертку этого делать как-то надо или на отдельные объекты все разбивать чтобы покрасить?
ничего мне чел расказывал что они и ворованные ассеты в комерческих прэктах и спользуют
Ребят, подскажите САМЫЙ ЛУЧШИЙ и самый полный на ваш взгляд курс по созданию шутера от первого лица в Юнити, чтобы не тратить время на бесполезную чушь. Я создал "шутер" по одному туториалу на 3 часа, чтобы потом понять, что я просто потратил время))) Чел просто по азам прошелся, есть просто сцена где я могу бегать и стрелять - теперь не знаю, что делать дальше
Нет цели создать убийцу батлы, нужен простой клон DOOM или Quake 2 с ретро-графикой (я сам 3д-художник)
>>61634
О, Блендер. Моя специальность. Ты можешь покрасить все полигоны разными материалами, или сделать UV-развертку и наложить текстуры
Для 1-ого способа, создаешь материалы, в edit mode выделяешь полигоны, и в меню материалов нажимаешь сначала на материал, потом на assign, материал применится только к тем полигонам, которые выделены
Для 2-ого способа, смотри туториалы, как делать UV-развертку. Тебе нужно создать "швы" (mark seam) на модели, сделать unwrap, и получившуюся развертку наложить на текстуру
А ты с Юнити хорошо разбираешься?
ЛОл
Зашел в мертвый тред за тем же вопросом
Сделал свой beat-em-up на юнити + могу в 3д моделирование (ассеты делал сам)
Как понять, что я уже могу найти работу?
Ох делал через материалы, теперь локация лагает как собака.
Если делать текстурирование через единую развертку, то оптимизация произойдет?
Не должно лагать, вообще по идее процедурные текстуры (я так понял ты о них говоришь) используют меньше видеопамяти, чем текстуры-картинки
У меня при экспорте моделей, покрашенных материалами, не лагает, но у меня норм система (3070 + I7), и я думаю нужна очень большая сцена чтобы что-то начало лагать. Как у тебя, не знаю.
Тут надо пояснить, что я разбираюсь в Юнити так же, как ты в Блендере. Поэтому в оптимизации пока не шарю. Я могу дать только советы по части Блендера. Если волнуешься, можно сделать развертку на пикрил.
Ох понял, большое спасибо. У меня 1050 и настройки проекта на HDPR. Поудалял часть материалов все нормально теперь. Думаю позже развертку с глобальной текстурой сделаю по твоей инструкции
На обычных настройках такая фигня фиксится сразу же если Save нажать, а тут не хочет.
Вот на скрине видно что свет в одну сторону улетает если карту нормалей наложить
Нэ нэ, Блэндеркун, почему при экструдировании полигоны так растягивает? Накладываю текстуру и вот что получается.
Если я правильно тебя понял, попробуй включить это когда экструдируешь
Спасибо
Это копия, сохраненная 26 января в 20:05.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.