24 декабря Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!
Анон, как сделать нормальное быстрое перемещение в 2D платформере? Все, что находил в интернетах, на больших скоростях начинает дергаться странно. Через что вообще лучше писать бег персонажу: velocity, transform.position = Vector3.MoveTowards() или как? Вопрос нубовской, но все равно, может подскажете?
Вопрос по стиму, щас на аккаунте девелопера лежат 60$, факт того что выплаты происходят до 30 числа каждого месяца присутствует, только меня смущает пункт о том что стим удерживает определенную сумму(минимально до 100$) и пока она не наберется не отправляет бабки... так это или нет? Потому что явно моя игра не наберет сотку, мне нужны хотя бы эти 60, а как отключить удержание не совсем понятно... Написал в тех поддержку, но тут мне быстрее ответят надеюсь..
Есть смысл осваивать ецс и жоп систм чтоб не лагало? А то посмотрел у них прям такую сочную видюшку, где в рил тайме 100к юнитов воюют - прямо вау. Или для такого придется дополнительную магию учить?
>>537624 Для этого придется начать по-другому воспринимать игру. Прямо сейчас разобраться есть смысл, если планируешь перекатиться, когда ецс будет продакшн реди.
Поясните за нынешние jointы в юнити, работал с ними давно, в 5.4 версии. Тогда разносторонний джоинт было проблемой сделать, если делать несколько спринг джоинтов на одно и тоже тело то дикая тряска возникала, а конфигурабль был расчитан только на колесо автомобиля. Джоинты мне нужны для рук манипуляторов.
>>537638 Так ведь я в своей функции использую всякие GUI функции, и поэтому, если вот так без задней мысли вызвать эту функцию вне OnGUI, то появляется ошибка.
>>537639 Ужасы какие-то. Функция срабатывает "неправильно" только при неактуальном контексте, т.е. онгуй тебе сайд-эффектит что-то? Почему это дурное влияние нельзя перекинуть в DoStuff, или BeforeDoStuff (из OnGUI дергать BeforeDoStuff, но не дергать DoStuff)?
Я правильно понимаю, что мне проще всего реализовать функцию однотипного движения обьекта по траектории туда-сюда через скрипт? Или лучше использовать что-то типа таймлайна или какой-то другой встроенной функции юнити?
Реквестирую минусы хранения всех данных в статическом классе. С плюсами понятно, простой доступ, не требуется каких-либо телодвижений при смене сцен, просто сериализовать и десериализовать.
>>537779 Да, статический класс нельзя сериализовать в классическом смысле, я скорее имел в виду методы Save(string filename) и Load(string filename). Т.е. состояние игры (позиции мобов, время суток, хп, инвентарь и т.д.) хранится в статическом классе, содержимое которого управляется менеджерами. Монобехавиоры, которые представляют контент (моб на экране с анимацией и т.д.) могут хранить только данные о предтавлении контента, типа цвета текстуры, а данные о хп, позиции и т.д. брать из статического класса. Это позволит, теоретически, делать максимально "сухие", независимые от условий сцены, работающие в любых условиях.
Кто-нибудь может что-нибудь сказать про книгу "Unity в действии. Мультиплатформенная разработка на C#. 2-е межд. издание" ? Сейчас могу взять за полцены в связи с Чёрной Пятницей. Уроки в интернетах - это конечно хорошо, но в книге всё систематизировано и, вроде как, полностью освещается весь процесс разработки в деталях на 300 страниц.
Суп разбойники, моддирую чужую игру, изучаю линкью, посоветуйте лямбду суть такова: https://pastebin.com/FtGAn1Z3 Есть два класса наследующие от одного, хочу выцепить их обоих в одном выражении, обратиться к компоненту и запихнуть этот компонент в массив или лист. Проблема в том что базовый класс с которого они наследуют запрещает обращение к геймобжекту, причем обращения у этих двоих разные поэтому сейчас мне приходится городить такое: собираю два массива из этих разных классов, выцепляю из них компонент, затем конкатинирую результаты из этих двух массивов в третий массив. Вот этот последний массив работает, но что-то мне подсказывает что это пиздец. Есть ли способ как-то их логически объединить? Я пробовал Where(x => (x is Cat || x is Dog) && x !=null), но как потом обращаться к catObject.gameObject если x as Cat и к dogObject.gameObject если x as Dog?
>>537797 Сильно не вчитывался, унаследовать обоих от интерфейса с методом GetGameObject() не подойдет? Заодно можно будет их хранить одним списком как экземпляры интерфейса.
>>537808 Не, не выйдет. Но оказывается в лямбы можно пихать if\else! Это просто охуенно, вместо трех массивов теперь один. https://pastebin.com/2f1jvDwL
Как мне использовать два шейдера на один объект? Допустим, моддер сможет вставить свою модельку здания со своими шейдерами, а как мне тогда сделать красный "YOU CAN'T BUILD THERE" призрак этого здания при постройке?
>>537873 Чего это? Берешь меш от модельки моддера, меняешь материал на свой, показываешь. Если все становится норм меняешь материал назад и показываешь нормально.
>>537874 Это мне придётся так делать в случае, если не получится шейдеры по очереди накладывать. Супершейдер со всем-всем-всем возможным функционалом - это явный перебор. Впрочем, чёрт знает. Насколько безопасно моддерам дозволять свои шейдеры писать? >>537875 Это частный случай. В общем же задача наложить новый шейдер (например, аутлайн) сохранив старый (например, какая-нибудь петушиная раскраска).
>>537876 >В общем же задача наложить новый шейдер Может быть, новый материал? Собсно, можно добавить к мешу второй материал, или временно заменить первый. Если мешей несколько - нужен компонент, который на них ссылается (или ищет их при старте). И есть еще варик. Когда "здесь строить нельзя" не показывать ничего, или показывать картинку никак не связанную с конкретным зданием.
>>537876 >Впрочем, чёрт знает. Насколько безопасно моддерам дозволять свои шейдеры писать? Дозволять он вздумал, лолка. Тебе что юнитеки сказали? Делаешь игру на юнити - исходи из того, что моддер с твоей игрушкой сделает все что захочет.
>>537360 (OP) Помню хотел прочитать про эту новую "модульную систему" Юнити и их суперкаомпактные игры, Да вот сука их ссылка на сайте выдавала ошибку 404. Объясните про компактность эту, чем там? че там такое то?
>>537934 >Делаешь игру на юнити - исходи из того, что моддер с твоей игрушкой сделает все что захочет. Не дам делать, что захотят. Читаю только файлы строго определённого формата в строго определённый момент строго определённым образом, всё засендбокшено.
>>537892 Новый материал - это же замена, нет? Два материала разом не работают, но я не разбирался особо, как оно работает, может, ступил где-то. Как вариант ещё - сделать базовый шейдер, а потом анально обязать (через рефлекшоны) моддеров делать GrabPass с этого базового шейдера. Нужный функционал там будет 100% таким образом, но тогда проблемы с последовательностью наложения эффектов. Я хз, все варианты какой-то выбор между пиками и другими пиками.
>>537979 Ограничить полет фантазии мододелов + потратить собственное время ради того, чтобы показать, кто тут разработчик, скорее. Хотя можно было просто написать рекомендацию в ридми.
>>537982 >>537985 Да и вообще, не комильфо это написать "за вред нанесённый маскирующимися под модами программами ответственности не несу" и больше ничего не сделать. Все крупные конторы уязвимости патчат, даже если ответственности за вред этих уязвимостей не несут.
Посоны, посоветуйте как лучше это обыграть. Есть одна менюшка карты, по ней можно елозить мышкой, выделять всякую хуйню. Хочу как-то от курсора две перпендикулярные линии идущие до границы карты отрисовывать. Лезть через код и генерировать их рантайм или можно схитрить и повесить два дллиииииннюющих спрайта на курсор и просто скрывать их под границей?
>>538002 Если хочешь генерировать без спрайтов, делаешь объект в уи, прицепляешь к нему рендерер, строишь вертексы как тебе надо, текстурку приделываешь вместе с шейдером, и отрисовываешь твои линии. Погугли про построение геометрических фигур из кода.
>>538012 >>538019 Блджад, почему никто не сказал что в UI есть маски?:---D Я уже было думал вспоминать математику, а тут такой царский подгон, сделал белую маску, подогнал ее под мою йоба-карту, под маску засунул два длиннющих спрайта и курсор, все работает. Не знаю уж как сильно это на производительность влиять будет, но вроде пекарню не плавит.
>>537972 >Два материала разом не работают Работают. Подозреваю, что зависит от материалов. Но два материала на меш я накидывал - картинка на экране менялась (и менялась адекватно, без "не могу нарисовать").
>>538062 Там разговор только об извлечении контента. Т.е. некто может выдрать модели и текстуры из игры... И что из этого следует? Что он может подменить сцену целиком?
>>538063 Просто прими как данность, что с такими вещами как гармония(особенно если речь идет про один особенный форк гармонии), любой моддер может все что угодно с твоим ассембли творить, вплоть до подмены кода рантайм и полного изменения логики. Единственное лекарство - обфускация ассембли, да и то не гарант.
>>538072 Я вообще не принципиальный - принять как данность могу много чего. Я не об этом. Я о моддинге. О нормальном. И есть пара вопросов: 1. что за гармония? 2. вытаскивание моделей из игры - хуй с ним, а нет ли какой тулзы которая позволяет делать модинг на юнити в общем случае?
>>538081 >что за гармония? https://github.com/pardeike/Harmony/ >2. вытаскивание моделей из игры - хуй с ним, а нет ли какой тулзы которая позволяет делать модинг на юнити в общем случае? Что ты подразумеваешь под моддингом? Допиливание нового функционала или просто добавление ассетов?
>>538082 >Что ты подразумеваешь под моддингом? Есть игра (пущай будет "Тетрис 4000"). Есть диалоговое окно (внутри игры, или в сторонней программе - не суть) "Выберите какие моды следует добавить в игру Тетрис 4000". Отмечаешь в нем галочками нужные тебе моды: "Кубик ввиде кристала", "Копровидео на фоне", "Добавляем NPC" - и запускаем игру. Сорян за такой полет мысли. Это с точки зрения игрока. И как - с точки зрения моддера - такие моды писать? За ссылку спасибо, я завтра посмотрю, сегодня уже спать.
>>538061 Хм, действительно. Только вот у меня цвет меняется, а прозрачность уже нет. Скорее всего обычный шейдер юнити альфу к единице приравнивает где-то. Надо поэкспериментировать
Перекатываюсь из другого треда с вопросом: если я хочу, чтобы васяны смогли модами заменить модельку главного героя, добавить новых монстров, оружие, вот это все, то проще будет это реализовать на юнити или гейммейкере?
Допустим, у меня есть геймобжект неправильной формы, и мне нужно узнать высоту точки на его поверхности по заданным Х и У. Например, мне нужно нарисовать над этим геймобжектом меш, который "лежит" на геймобжекте сверху, но ни одна высота геймобжекта не находится выше меша.
Пока что я хочу взять верхний bounds геймобжекта и мысленно нарисовать плоскость чуть выше, из который буду кастовать лучи строго вниз с определённой периодичностью. Затем брать точки попаданий, прибавлять к ним чуть-чуть высоты, и строить из них меш. Очевидно, что с таким подходом в зависимости от сетки могут проскочить какие-то пики у геймобжекта. Ну, и ещё для этого обязательно нужен коллайдер. Есть решение похитрее?
>>538100 У материала есть Rendering Mode (в самом верху материала, даже перед Albedo), в одном из них прозрачность будет. И будет она зависеть от metallic + smoothness. Плюс, два материала с разным Rendering Mode хз как себя поведут. Но тут я не особо соображаю, так что не хочу хуйню городить.
Вот я делаю диалоговое дерево через скриптабл объекты, как мне добавить некий массив действий для каждой реплики, который бы выполнялся когда реплика выбрана? Например, чтобы по реплике "покажи товары" у НПС открывался магазин. Как это реализовать? Пытался в скриптабл объект добавить UnityEvents, так там можно добавлять объекты только из префабов но не из сцены. Или, может, есть более лучший вариант как сделать диалоги с действиями?
Хочу запилить даблджамп, написал, он прыгает два раза, все ок. НО! Такая фигня- когда падаю с большой высоты, хочу прыгнуть перед приземлением, и вот тут проблема, что игрок почти не подпрыгивает. Типа той силы, что дает прыжок не хватает. Как сделать, чтоб он всего прыгал по нормальному? Считать в этой формуле прыжка ускорение героя? Или как?
Я правильно понимаю, что чтобы сохранять и загружать состояние сцен, когда игрок возвращается в эту локацию, мне придется создавать сдоровенный класс статический? с полями, показывающие состояние каждого изменяющегося предмета? И каждый раз сериализовать этот класс при выходе и десериализовать при входе. И при этом ещё должен быть скрипт, который в старте смотрит состояние каждого предмета и совершает с ним определенные действия? Звучит все как-то криво и требует написания огромного количества однообразного кода, может я что-то упускаю?
>>538281 >диалоговое дерево через скриптабл объекты, как мне добавить некий массив действий для каждой реплики Ебашь теги в реплики. При выводе на экран убирай теги, чтобы они не отображались. При этом, если тег найден при загрузке строки, добавляй действие. Например: > Покажи товары <Action>Trade</Action> Все экшоны у тебя должны быть из заданного тобой набора (торговать, наматывать кишки и т.п.), который твоей игровой логикой распознаётся и привязывает к строке диалога некоторое действие, таким образом строка диалога превращается как бы в кнопку.
>>538384 Не обязательно. Вариантов много. Например, зачем тебе создавать класс, если ты можешь создать структуру? Она так же сериализуется, но при этом лежит не в куче, а в стеке. Что быстрее на полсекунды. Кроме того, зачем сериализовать в течение одной игровой сессии? Храни эту структуру в памяти. Но без фанатизма. Если структура будет мегабайт на 12 - это норм, а если 5 гигов - ты что-то делаешь не так. Вообще надо не структуру хранить, и не класс, а массив структур и переменных. А лучше не массив, а словарь. Логика токова: В памяти лежит массив. Все сцены могут читать и писать в него через универсальные функции. Когда сцена загружается, она читает этот массив и ищет в нём данные, относящиеся к самой себе. Если не находит - значит сцена грузится впервые и она оставляет все свои объекты и скрипты - как есть. Если же сцена находит данные о себе, значит она уже ранее загружалась, она читает эти данные и согласно им трансформирует себя, например, уничтожает часть дефолтных объектов, которые были перемещены с неё в прошлый раз. Открывает двери и сундуки, например. Устанавливает квестовым триггерам нужные состояния и т.п. В процессе интеракции игрока с объектами на сцене все они записывают свои изменения в этот наш глобальный массив-синглтон, так что при повторной загрузке сцены мы как раз и имеем информацию для вышеописанного трансформирования. Например: в сцене на столе стоит ваза с яблоками. Твоей логикой предусмотрено, что ты можешь взять яблоко, после чего триггер вазы переводится в состояние "пусто", а в инвентарь игрока добавляется запись "яблоко". При активации триггера происходят все графические дела, затем объект-ваза записывает в массив что-то вроде {"сцена1/ваза1" = "облутано"}, в инвентарь посылает команду additem("яблоко"), а инвентарь, как только в нём произошли изменения, у него сработало событие об изменении и он туда же в массив записал свой новый состав. Таким образом, сам персонаж игрока при своей загрузке использует этот синглтон для установки своего состояния, включая состав инвентаря. И тут мы обнаруживаем охуительную побочную возможность! Наш массив-словарь-синглтон - это уже готовый набор данных для выгрузки в файл сохранения игры! Мы задаём ему атрибут сериализации, при записи записываем его в файл, при загрузке наполняем его данными из файла и даём команду всем активным объектам в игре, включая сцены и павны - перечитать своё состояние.
>>537360 (OP) Аноны, молю вас о помощи! Столкнулся с ошибкой: There are inconsistent line endings in the 'Assets/Scripts/HealthHelper.cs' script. Some are Mac OS X (UNIX) and some are Windows. This might lead to incorrect line numbers in stacktraces and compiler errors. Many text editors can fix this using Convert Line Endings menu commands.
Вот только никаких плодов это не даёт, и я всё ещё не могу запустить игровой режим из-за ошибки, когда скрипты уже были пересохранены а движок перезапущен. Как это фиксить?
Как же заебали эти юнитовские микроапдейты. Какого хуя на каждый 0.0.x апдейт нужно скачивать ВЕСЬ движок заново, ВСЮ документацию и апи бандлы для билдов. По факту там изменений на пару мегабайт, почему нельзя скачать только то что изменилось, ну что за пиздец.
>>538886 Debug.Log сделать не судьба? Можно даже myId().toString() + (".Awake"/".OnEnable") + Time.deltaTime.toString() в сообщение засунуть и прогнать на 10к объектах.
>>538866 > > >Профалйер ест по 100-200 мегоабайт в секунду при рисовании графиков с помощью Vectrosity. В чем может быть проблема?
Расслабься, проблема в Юнити
>>538104 >Перекатываюсь из другого треда с вопросом: если я хочу, чтобы васяны смогли модами заменить модельку главного героя, добавить новых монстров, оружие, вот это все, то проще будет это реализовать на юнити или гейммейкере?
Запили архитектуру с абстрактными фабриками абстрактных объектов, подключай объекты из модерских сборок.
>>539014 ничем. вообще ещё конечно же можно просто ебошить public static class MoyaHuinya{} и там вот будет другой интересный сорт синглтона. у которого конструктор может случиться в непредвиденных обстоятельствах.
Как лучше диодное табло сделать? Бегущая строка. Ток не двигать текстурку. Универсально, чтоб можно было ввести текст для отображения, задать разрешение табло. Вот ето всё.
Начинаю делать мобильну игру с рилтайм мултиплеером. На фотоне пишу сам мультиплеер, но встал вопрос в игровом бэкенде, для управления пользователями и всей прочей хуйнёй. Какие есть хорошие решения?(плейфаб пробовал, не понравился)
Посоны, придумал такую йобу: делаю подкласс-менеджер, который будет создавать у себя подклассы, передавать им нужную для инициализации херню через метод принимающий эту херню в качестве аргумента, а затем подписываться на публичные экшоны в этих подклассах и передавать их дальше по цепочке. Ну то есть, эвент жахнул с компонента, его менеджер услышал, жахнул свой эвент, который услышал уже его мегаменеджер, который просто знает обо всех своих подопечных и вызывает на эвенте их методы передавая то что прилетело с эвентом по своей цепочке вниз как аргументы. То есть, два конечных компонента нихуя друг о друге не знают, они даже не знают что у них менеджер там есть какой-то, они просто жахают эвенты когда что-то случается. Охуенно придумал или хуйня переделывай?
>>539133 Есть опенсорс решение пишу уже 3 года, проверил уже двумя играми, никак не дойду до этапа публикации, если готов возиться с почти полным отсутствием документации на текущий момент, то https://docs.anthillplatform.org/en/latest/#anthill-platform Если нтересно, оставь мыло, распишу в деталях. Клиент под юнити правда очень старый.
Это нормально, что Юнити сохраняет поле в Serializable классе между запусками редактора? То есть запускаю один раз, изменяю значение. Запускаю второй раз, изменяю значение. И вот во второй раз в логаю перед изменением я вижу значение от первого запуска.
>>539345 Меняю в скрипте. По факту там вообще должен быть пустой массив, но в нём уже один элемент. Я ожидал, что там будет пусто. Есть возможность как-то это изменить?
>>539367 По-моему тег [HideInInspector] должен убирать из, собственно, инспектора поле. Значение из эдитора всегда будет перезаписывать значение из скрипта, в этом и смысл эдитора. Не нравится - либо скрывай поле, что не очень удобно, либо приделывай какой-нибудь Initialize() для скрипта и в нём задавай свой пустой массив, что тоже не очень удобно. Я вот лично выкрутился тем, что у меня всё-всё-всё на карте из внешнего текстовика создаётся в рилтайм. Нет объекта в эдиторе, не нужно поля менять :3
>>539377 >По-моему тег [HideInInspector] Не помогло. Поле у меня и так приватное. >у меня всё-всё-всё на карте из внешнего текстовика создаётся в рилтайм У меня тоже. Должно было. >>539379 Serialized нужен для JsonUtility
Такс, поясните дауну - есть 2 точки в 3хмерном пространстве, известны их координаты.Как между этими двумя точками с определенным шагом генерировать объекты?
Помогите нубу-ракалу, хочу запилить пошаговую НЁХ с довольно большими картами эдак максимум 300х300, было бы хорошо, если бы предполагалось только горизонтальное перемещение, но я хотел-бы чтобы перемещение было возможно по удаленности тайла от другого тайла, то-есть для поиска пути мне придется вешать на все тайлы коллайдер, чтобы чекать тайлы в определенной области, но это же нехорошо, что делать как реализовывать пошаговую стротегию?
>>539800 Раз уж ты в треде, подскажи, как мне сделать поиск пути по гексам с поддержкой этажей (один гекс может находиться над другим), прыжками в длину, то есть с возможностью перепрыгивать объекты, и полётами. Заранее спасибо :)
>>539806 > поиск пути по гексам https://www.google.ru/search?q=astar+algorithm+for+hexes Тут вопрос в том, как соседние клетки брать. Если у тебя есть объект Клетка, то у нее есть массив соседей. Можно и на уровне карты сделать getCell(x,y) и getSiblings(x,y). Ну и одно другому не мешает. Вот тебе полезная статья на русише https://habr.com/post/424257/ . Еще мне гугль вот такую наркоманию https://habr.com/post/403639/ подсказал, но это к делу не относится. > с поддержкой этажей Раньше стоимость перехода (почти-скорость) из тайла в тайл отсутствовала. Или, скажем так, была равна единице. Убираем константную стоимость: переход вверх стоит 1.3, переход вниз 0.7. Т.е. раньше мы получали 3 пути: 15 шагов, 25 шагов, 10 шагов - и брали самый короткий. Сейчас тоже самое, только вместо шага идет стоимость перехода. Усложняем "не могу перейти": раньше не могли наступать в избранные клетки можем придумать функцию canIGoTo(xy), а теперь проверка становится сложнее из-за двух координат canIGoTo(xyFrom,xyTo). Ну и ты понимаешь, что какие-то юниты ходят по земле, а какие-то плавают по воде, т.е. canIGoTo(xyFrom, xyTo, unit, stepsCountThisTurn, etc). > перепрыгивать объекты Значит, смотрим из каждой клетки не только на соседние клетки, но и на соседние-соседние. Можем с разностью высот клеток всегда работать, как с массивом (heightDeltasArray). Т.е. раньше смотрели на скалу и видели: [0.3], а теперь смотрим на скалу и еще за скалой: [0.3, -0.3]. Что-то вроде canIGoTo(xyFrom, xyTo, distance, heightDeltasArray, jumpsCountThisTurn, stepsCountThisTurn, etc) выглядит грузно, тяжело смотрится. Можно придумать объект частьШага, чтобы он помнил в себе все клетки (не прыгаем через извергающийся вулкан) и извлекал из юнита данные. Для turn based вполне допустимо. Но тут есть о чем подумать. > полётами Если делать через частьШага, то в настройка юнита или настройкаШассиЮнита меняем вес переходов между разновысотными клетками. Если хуйня эта моя частьШага, по сделай еще одну карту (которая не рендерится и умеет получать координаты юнитов/городов), двигай летающие юниты по ней, а потом складывай юнитов на карту мира (чтобы ПВО могло бомбить НЛО). И чтобы тебя окончательно запутать, я вспомню о тепловых картах. Т.е. берем карту и закрашиваем все клетки зеленым цветом. В клетках вокруг вражеского танка рисуем красный цвет. Потом смешиваем цвета, чтобы получился градиент. Чем краснее клетка, тем меньше юниту хочется по ней ходить. Вместо танка может быть и разность высот, и повышенная температура вокруг (каждой клетки) реки из лавы, и коэффициентБолотистости. Тут речь не о непроходимости, а об уровне натуралистичности пути. Удачи)
>>539806 > с поддержкой этажей (один гекс может находиться над другим) Ах ты ебаный ты в стос. Я только сейчас понял, о чем ты. Но. Если мы говорим о массиве соседей клетки, то клетка-над-клеткой может быть соседней (т.е. находиться в массиве соседей). Стоит ли хранить массив соседних клеток и каждый раз смотреть to.z != from.z, или хранить сразу массив стоимостей перехода... Нет, храним все еще соседние клетки, т.к. для разных юнитов стоимость перехода по z может быть разной. Но если клетка есть в соседних, то это значит хотя бы гипотетический юнит "Хожу где хочу" сможет пройти в эту клетку.
>>539810 Спасибо, конечно, но это была типа-шутка. Забавно рисовать путь, когда для каждого гекса надо перебирать 6 + 12 + 18 граней с разной стоимостью, ценой, проходимостью и ещё при этом в каждой координате может быть несколько гексов. Я немножко охуел от методов оптимизации. Пока что наоптимизировал три вещи: вместо поиска гексов по дистанции стал "змейкой" рисовать большущий гекс с нужной длиной стороны; ввёл максимальную длину пути, и если до целевого гекса точно больше длина, чем эта, нужна, то отсекаю этот вариант; начинаю поиск с самых длинных путей, а потом ищу пути поменьше из кусков больших. Надо ещё как-то landmarks сообразить и с евристикой повозиться.
>>539811 >>539812 Вообще, больше всего помогло разбить поиск пути по фреймам. Вероятно, можно втихую строить пути при наступлении хода для каждой абилки, каждый фрейм по чуть-чуть, но это как-то страшно звучит (пока ещё).
Довольствуйтесь, граждане, максимально плоским ландшафтом, короче. Меньше головной боли.
>>539812 Почему нельзя использовать встроенную навигацию? Сделай карту статичной и сгенерируй навигацию, далее пускай по ней персонажа Там и прыжки, и всякие перелеты есть Что за изобретение колеса?
>>539854 Потому что гексы, карта нестатична по дизайну (+ перепрыжки должны и на юнитов реагировать, которые сами двигаются), и навмеш явно под другое заточен. Хотя был в треде анон, который обновляющимся в рилтайме навмешем обмазывался, но я велосипед уже изобрёл, так что да.
Вот есть в моем классе, помимо всего прочего, 2 публичных поля, одно из которых bool, а другое может быть каким угодно. Есть у меня монобихэйвиор, в котором находится массив этого класса. Так вот я хочу сделать так, чтобы то второе поле отображалось в инспекторе только когда bool переменная тру. Смотрел в сторону PropertyDrawer, но дело в том, что класс мой не такой уж маленький и мне не охота описывать, как будут отображаться все остальные поля. Тем более что стандартное представление меня устраивает. Так вот как добавить только условие отображения поля, не переписывая отображение всего класса?
А хули такое гавнище-то печется? Пеклось минут 25, вышла шумная хуйня. Отключил фильтры с блюрами глянуть на необработанный результат и ваще охуел. Это чё за хуйня? Да в каком-нибудь максе менее шумная и в более высоком разрешении тень за две минуты отрендерится.
Юнитач, только ты моя последняя надежда. Пытаюсь влезть во внутренности animation controller'а, понять как там все устроено. Контроллер не мой, сидит уже запакованный в ассет бандле. AssetBundle.LoadFromFile работает нормально, даже вешается на рантайм аниматор и анимации играет, да вот только посмотреть как оно устроено - никак, "Cannot show controller from asset bundle". Есть способы его из этого состояния как-то копирнуть в ассет, чтобы на стейт машину поглядеть? Риппером пробовал, при импорте в юнити прилетает куча ошибок на неправильные guid.
>>540178 >>540107 Да это так, он ахуенно рендерит, но долго. Я сравнивал с циклами из блендера почти один в один, на маленькой сценке вообще быстро и круто. И потом решил на большой потестить и не дождался нахуй, там время в прогрессии растет, на 1см площадь увеличилась + 1час рендера.
>>540178 Подожди 2019 версию, там убрали старый лихтерен и добавили гпу ускорение для выпечки лайтмап. Ну или накати бету, но не сри сюда проблемами с бетаверсией, лол.
>>540206 >45 seconds GPU >6 minutes CPU (old i5 2500k 3.3ghz) Восьмикратное ускорение устроит? Правда хуй знает, какой там GPU, мне лень опять ставить бету и засекать на своей системе
Привет компьютерщики-игроделы. Как реализуется генерация земли в таких играх как Alto's Odyssey, что бы трасса была не ровной, а волнистой? Предполагаю что как то через синусы или какие то хитровыебанные формулы, но мыслей пока нет. Что вы можете мне подсказать?
>>540208 >Восьмикратное ускорение устроит? Это хорошее ускорение, но все равно на больших сценах поди по 10часов будет рендерить. Просто если скачать их демку и зарендерить это пиздец полный. Это все при том что тип https://twitter.com/hxLexie/status/1067636045313802241 почти написал рендер в реальном времени. Да, он не идеально рендерит, но быстро, подкрутить и будет дольше, но лучше.
>>540224 Землю как на твоих картиночках я синусы через и делал. Собсно, в каждом синусе ты можешь контролировать длину волны, её высоту и смещение. Ну и можно складывать несколько синусов. Я их вообще в конфиг выводил. Т.е. у нас есть синус с шириной 1, высотой 2 и смещением 3. Просчитаем высоту для мировой координаты 0: sin((0+3)х1)х2. Суть - воспроизводимая вертикаль зависит от горизонтали. Чем больше разных синусов, тем хитрее ландшафт, только следи за проходимостью (можешь, например, ограничить максимальную разницу в высотах уже после просчета синусов). Я просчитывал высоту в цикле с некоторым шагом, который на экране соответствовал нескольким пикселям. Далее строил фигуру, которую закрашивал картинкой, плюс эти же данные скармливал статичным бодям в box2d.
>>540252 Смотри кинофильмы и чужие игры. Посмотри типовые эффекты и научись разбивать на них картинку. Какие-то типовые вещи не учитывают ни используемых у тебя текстур, ни скайбокса, ни желаемой тебе атмосферы. Главное с пост-эффетах - не переборщить.
>>540237 >на больших сценах поди по 10часов будет рендерить Это приемлемо, макс сложные сцены не меньше рендерит. >почти написал рендер в реальном времени Который отвалится спустя пару версий. А юнитеки запилили свой лайтмаппер на основе рейтрейсинговой технологии АМД. Да, на невидии работает. Да, я пёк лайтмапы на невидии. Да, это очень быстро. Единственное "но", кусок говна мамонта вместо проца не прокатит, нужны SSE4.1. Ну и нормальная видеокарта. https://www.youtube.com/watch?v=ZQcvi35eVko А вообще там в ассет сторе давно есть GPU лайтмаппер, только нахуя он нужен-то.
>>540281 >на больших сценах поди по 10часов будет рендерить >Это приемлемо, макс сложные сцены не меньше рендерит. А после 10 часов ты увидишь, что в каком-то месте хуево отрендерилось и по новой.
>>540297 А у кого оно есть? Учись. Я тебя не призываю в художественную школу пойти. Кстати, зачем они художественные школы, раз у художников есть интуитивное понимание? Потыкайся со стандартными юнитивыми пост-эффектами и посмотри, что с ними делают другие ребята.
Суп, Есть шарик, стакан и камера. Камера закреплена на стакане. Как можно заставить шарик двигать стакан, но чтобы он не создавал препятствий для физики? То есть чтобы шар не замечал его. Хочу сделать нормальную камеру, чтобы шарик мог свободно кататься в этом стакане, но если едет вперёд, то камера следует за ним.
>>540337 Так чекбокс автогенерации никуда не делся. Просто на гифке он включен.
>>540340 >A noisy result at first, but rapidly improving directly in the Scene View. А вообще на гифке рилтайм рейтрейсинг на кпу, не удивительно, что сначала шумно. Да и сам формата гифа шумный, чего уж там.
ух заебись вот наконец нормально будет работать поиск ближайшего навмеша на пустом пространстве с учетом соседних чанков. ебучие полтора месяца исследовал пространство этой проблемы.
>>538432 на самом деле это сейчас только они разродились на апдейты. в прошлом году такой хуйни небыло. с одной стороны хорошо, с другой стороны фичи вроде коллаборейта иногда отваливаются после такого.
>>540254 а можно ещё и смещать синус на перлин нойс.
>>540317 лучше бы игры делали, а не рендерингом упарывались
>>540349 >Как можно заставить шарик двигать стакан, но чтобы он не создавал препятствий для физики сделать шар isKinematic true? сравнить дистанцию до края стакана от шарика и на этом основывать свои манипуляции?
>>540372 >isKinematic true Не, он же полностью физический. Поработать с геометрией, это понятно. Нужно, чтобы камера не сразу реагировала на шарик, а следовала за стаканом. И не сразу ставить её на линию шарик-центр_стакана-камера. Вот так нахрапом я не знаю как это решить.
>>540374 Сами Юнитеки пишут: >Please note that this function is very slow. It is not recommended to use this function every frame. In most cases you can use the singleton pattern instead.
>>540371 > камеру над шариком, чтобы она не прыгала 1. По LateUpdate устанавливать x и z камеры в такой же, как у шарика. Можно каждый фрейм смещать камеру на часть разницы, т.е. x = (xBall - xCamera) / 5f. 2. А с чего она, вообще, прыгает как сумасшедшая?
Вот есть у меня канвас, у которого стоит render mode - Screen Space - Camera. А вот как мне сделать элемент интерфейса (допустим текст), который бы не перемещался при передвижении камеры?
>>540382 >1. Сейчас так и делается. Камера неповоротная. Я не упомянул об этом? Надо чтобы она поворачивалась в сторону движения шарика. >2. В моей первой попытке реализации камера устанавливается на линию текущее_положение-старое_положение-камера. И когда шарик двигается назад, камера каждый кадр поворачивается на 180.
Вот что за пидорас из юнити решил, что будет классно назвать дефолтный компонент CharacterController? Пидорасина. Мне теперь придется выдумывать кривое название, чтобы не конфликтовать с ним.
>>540385 Или не упоминал, или я в глаза ебусь. Повороты в юньке это отдельная история. Насколько я понимаю, у них везде есть история перехода с 359 на 361 градус. Решение - кватернионы, но они сложные. По памяти чего скажу. Попробуй: 1. Через через localRotation задавать нужный градус (хотя ты уже так и делаешь, да?), но чекай переход через остаток от деления на 360. т.е. cur = Mathf.Floor(camera.localRotation.y % 360); prev = Mathf.Floor(ball.localRotation.y % 360); И если cur!=prev то ты пытаешься повернуть камеру не в том направлении. Авось, прокатит. 2. С помощью Rotate (проверка из 1го пункта пригодится) обязательно передавай Space.World - авось, прокатит. 3. Тыкай квартернионы https://docs.unity3d.com/ScriptReference/Quaternion.html и особенно: https://docs.unity3d.com/ScriptReference/Quaternion.Lerp.html , https://docs.unity3d.com/ScriptReference/Quaternion.Slerp.html , https://docs.unity3d.com/ScriptReference/Quaternion.Angle.html - эти прокатят, но и наебешься, и напляшешься.
Пишу игру на юнити про космические путешествия. Вознилка проблема с реализацией поворота. Простой transform.Rotate(Vector3.down * rotateSensibility); выглядит очень тупо. Какие есть еще варианты?
Что то я не могу допереть как сделать чтобы несколько инстансов одной модели, используя одну текстуру-атлас, имели разные варианты расцветок (пик). Я так понял модель должна иметь несколько uv, и сам fbx это позволяет, но вот юнити импортит только первую. Как такое обычно делают? Пик из гугла описывающий суть.
>>540353 >области которые отдельно запекаются. Какой смысл, если эффект от кручения глобального света затрагивает все области сразу? >>540414 >но чекай переход через остаток от деления на 360. т.е if (angle < -360) { angle += 360; } А я себе так запилил. Ну и с положительными углами то же самое. Работает, брат жив. Но у меня 100+ строк камераконтроллера
Олсо, кто-то писал раньше на юнитискрипте, он же "яваскрипт"? Ну, до дропа поддержки юнитеками? Жопы не горят?
>>540425 >юнитеками Странная тенденция придумывать уничижительные клички людям, уровень квалификации которых большая часть местного населения даже осознать не в силах. Не надо так.
>>540379 мне кажется тебе следует ещё картинок порисовать чтобы нормально описать свои проблемы для себя самого, а потом уже для нас. интерполируй позицию, хули.
>>540428 выглядит как хуйня. дольше рисовать будешь говнографон чем учится код писать. ICQ то у тебя большой? если не очень то дождись визуального погромирования. если средне то может за пару месяцев и сможешь узнать достаточно. если большой то лучше бы спиздил чужой код.
https://pastebin.com/xSSewLhT Это вообще легально? Как они умудрились запихнуть в 2д директ дерево четыре моушена причем все в ебаном 0,0? Или это риппер глючит?
Я стою в комнате. В комнате выключен свет и соответственно самой комнаты не видно. Всё чёрное. В руке есть фонарик и при его включении луч от фонарика проясняет нам часть комнаты. То есть нам становится видно только ту часть комнаты, где сейчас находится луч от фонарика. Как такое сделать? Может есть гайд, но я не нашёл.
>>540426 Во-первых, не я это начал. Во-вторых, кличка скорее нейтральная и зародилась на форуме, который в то время посещали сами юнитеки, как производное от Unity Technologies. В третьих, захочу их обозвать - назову юнитипидорами. Но вообще они молодцы, движок хорош. Даже новый террейн запилили. Не прошло и сотни лет.
>>540434 > изменения пост-эффектов? Nope. Я игру пилю всего лет пять, до постэффектов не дошёл пока. А так там всё просто, скопировал поведение камеры из любой 3д рпг и кручу её кватернионы.
>>540592 >но зачем? Любопытство. Я знаю, что слайдеры чаргенератора у них двигают@скейлят массивы с костяшками. И вот мне интересно узнать, как они автоподгонку анимаций под персонажа сделали да так четенько, что жиробасина или тростинка главгерой, анимация подстраивается под любую комбинацию.
Вы бы знали, как я заебался. Каждый раз хочется сделать код лучше и лучше. Могу убить часы на продумывание какой-нибудь архитектурной мелочи. Почему я не могу воспринимать кодинг просто как инструмент для достижения цели...
Как сделать область, при входе в которую, будет исполняться определённый код? Например, иду по коридору, замечаю, что висит картина. Подхожу к картине поближе и, допустим, в коридоре выключается свет.
Я тут как то спрашивал как генерируется земля по такому типу как на скрине. Вообщем синусами я овладел, умею строить графики функций и всё такое, но как мне теперь генерировать землю через меш? Я как понял план такой: 1. создавать первую полосу точек по графику 2. потом через цикл строить остальные точки по такому же графику, но с отступом от прошлой полосы 3. Прогонять все точки и строить треугольники 4. Сделать UV и нормали 5. Наложить материал
>>540678 Я думаю тебе нужно следовать такому плану. 1. Проставить точки в одной плоскости но в разных высотах случайным образом. 2. В Unity специальная функция проставит проставит между этими точками лини с изгибами разной глубины. Поищи в асетсторе это должно быть. 3. Накладываешь материал.
>>540705 На пике похоже да, цвета сгруппированы вместе и можно просто сдвинуть юв. Я так собственно сразу и попробовал сделать, но в Skinned Mesh Renderer сдвиг действует на все инстансы этого меша.
> ну или пишешь свой шейдер, если батченк нужен Что ты имеешь ввиду под кастомным шейдером? Типо параметры в материал передавать через всякие SetFloat('Offset')? Такой подход тоже исключает батчинг. Или я чего то не понимаю.
>>540648 Не хотелось писать скрипт для отображения коллайдеров деревьев. Беглый тест с ригидбоди кубом показывает, что нихуя не вращается. А физикс дебаг не отображет коллайдеры деревьев на террейне. В конце вебмки - префаб дерева, никаких коллайдеров без веток там нет, но при этом куб проходит сквозь ветку и бьётся обо что-то невидимое. Зато они прикрутили автогенерацию биллбордов для любых кастомных деревьев. Возможно и для дитейл мешей тоже, не проверял.
>>540705 > Создаешь новый материал и меняешь там Offset Хотя понял о чем. Я почему то его сразу не увидел и програмно двигал ювишку самой модели. Алсо сейчас покопался и оказалось что проебался с динамеческим батчингом инстансов. Оказалось чтобы он работал меш должен быть чуть меньше 300 трисов. Похоже единственный вариант это сгруппировать цвета как на том пике и по индусски копипастить материалы, делая офесет у каждого.
>>540724 юнити же и не дает инстансы коллайдеров деревьев. я довольно много времени потратил чтобы применять к ебучим коллайдерам все эти матрицы трансформаций, вроде по другому нельзя их получить.
алсо в эдиторе он и не показывает коллайдеры деревьев, если он не в плеймоде. когда юнити переходит в плеймод только тогда он сует все эти коллайдеры. забавное - если пользоватся Physics.OverlapBox раньше юнити возвращало террейн за каждый коллайдер дерева ещё сверху. так что хуй а не коллайдеры. полагаю эту хуйню тоже не починили.
Посоны, как сделать, чтобы как в monkey ball: сфера ригидбади крутится, а меш нет? Ну, кроме перемещения меша в новую позицию ригидбади каждый LateUpdate.
>>540727 >и не дает инстансы коллайдеров деревьев Видимо потому и не даёт. Можно попытаться получать инстансы деревьев и спавнить в их позиции префаб с коллайдерами. Только там будет уже Degrees to radians конверсия из инстанса дерева и, скорее всего, те же проблемы с вращением.
>он и не показывает коллайдеры деревьев, если он не в плеймоде В плеймоде тоже нихуя. То есть у префабов всё ок, всё видно без плеймода. У террейна из коллайдеров только сам террейн, независимо от режима.
>разве генерация биллборд не была до этого? В 5.х не было. Олсо приятно удивила производительность леса на далеко не топовом железе.
>>540726 Разные материалы не будут батчиться в один дравкол, так что профита от атласа в этом случае никакого. Не уверен, можно ли так, но там есть инстансинг с сохранением кастомных параметров. По идее можно через него сдвинуть UV. https://docs.unity3d.com/Manual/GPUInstancing.html дальше уже сам разберешься. Но опять же, пишут что для skinned mesh renderer не работает.
Тут такое дело, вышла из бетки Unity 2018.3, но на ней не работает старый хак для темной темы. Кто-нибудь в курсе, есть ли новый способ переключить это светлое вырвиглазное говно на богоугодную темную тему?
>>540859 >Тут такое дело, вышла из бетки Unity 2018.3 Ну как сказать вышла. Я бы сказал, это релиз кандидат. Там всё ещё присутствуют какие-то ебанутые баги с префабами и краши из-за хуйни.
>>540925 Чем слабее комп, тем меньшее время редактор проведёт в зависании прежде чем выдаст ошибку. Не то, чтобы это решало проблему, да и убить процесс всё равно быстрее выйдет, просто забавный факт.
Анон, очередной ньюфаг ИТТ. Вот решил я например в качестве хелоуворлда сделать простую игру про рыбалку. Чтобы был домик, озеро, пирсик деревянный и персонаж. Возможностей минимум: -ходьба -приседание на бутылку стульчик рыбацкий -управление удочкой (закинуть, подсечь, вытащить) Потом планирую усложнять добавлением разных рыб, системой скилов и т.д. ВНИМАНИЕ ВОПРОС: Минимальный навык скилов для этой задачи какой? Помимо работы с движком и логикой меня интересует что про графону нужно уметь? Условно, я смогу по мануалам блендера клепать модельки уровня щит-тир качества и насколько это сложно? Мне не очень нравится моделирование и я плохо рисую, но вот с шарпиком я дружу, да и в целом работать с логикой игры мне интереснее чем резать четырёхугольники. Думал что можно брать бесплатные ассеты, но тут-же стал вопрос анимирования. Сомневаюсь что будут бесплатные модельки со всеми нужными мне анимациями. Опять таки, насколько адекватно брать чужие модельки и допиливать анимации под свои задачи? Кто из нищеёбов вкатывался, опишите свой путь и подводные.
>>540953 Вместо того, чтобы писать сюда уже бы скачал юнити и начал работать. Создаёшь Terrain, изменяешь его по своему вкусу, импортируешь Assets/Import package/Characters. Перетаскиваешь FPSController на сцену. Идёшь в ассетстор, импортируешь любой бесплатный домик. Дальше сам.
>>540962 Лол, ну это я и сам знаю/делал. Уперся в вопрос с персонажем, его кастомными анимациями. Как функционал запилить я уже примерно представляю. Я же спросил за анимации, вот эту всю хуйню.
Как лучше всего подсвечивать интерактивные предметы вокруг игрока?
Пока план такой: 1) Кидаю на игрока сферу-триггер 2) Когда коллайдер входит в сферу, проверяю его layer и пускаю к нему луч, чтобы проверить, не закрыт ли он стеной 3) Если условия выполнены, то коллайдер кидается в список интерактивных предметов, которые подсвечиваются в интерфейсе 4) Когда коллайдер выходит из сферы, удаляем из списка и удаляем с экрана
Потом переходи к созданию материалов для текстуры Substance Designer. Когда нужные тебе текстуры как у ААА игр созданы переходи к Substance Painter, где нужно раскрашивать текстурой нужные участки модели. https://www.youtube.com/watch?v=qKWYRJM-6qc
Генерируешь текстуру в Substance Painter, в виде png картинки и закидаешь в Unity и нацепляешь на модельку.
Что бы сделать адекватную модель как в ААА играх нужно затратить много времени.
Юнитач-помогач, посоветуй как разрешить проблему. У меня есть комнатка-коробка, вроде пикрелейтеда. У стен разные финтифлюшки развешаны(грубо коробками обозначил). Камера может ставить точку фокуса и крутиться вокруг нее, короче говоря, все бохато как в эдиторе. Мне нужно как-то заиметь возможность скрывать\делать прозрачными стены вместе с финтифлюшками, когда камера смотрит через на них, вроде как на пике. Я хотел реализовать так: -финтифлюшки на стенах\у стен сгруппированы в одну трансформу-стенку, каждой стенке по трансформе -перед всеми стенками повешены невидимые коллайдеры -камера пускает луч по центру, если луч упирается в коллайдер смотрю на нормаль -если нормали коллайдера негативный, значит это не бэксайд и ничего не делаем -если позитивный, значит бэксайд и стенка вместе с трансформой финтифлюшек скрывается\делается прозрачной
Но тут вылезла такая проблема. Это если правильно понимаю может сработать только с одной стенкой(красной), но что делать с желтой и потолком? их коллайдеры в центр явно не попадают. Что делать посоны? Пускать кучу ебенячих лучей?
>>540977 Анон, а ты часом не знаешь, как без Substance Painter 1 (2500р мин пах, ахуеть мой пк стока не стоит), в блендере рендере (не суслике) вывести тоже самое. Т.е условно у меня есть моделька, состоящая из нескольких материалов, каждый материал имеет ещё несколько текстур + карта нормали и ноды, как совместить это всё счастье в одну, максимум две текстуры и так же просто натянуть на модельку? Мне не для движка, для анимации. Просто если всё это рендерить даже в простом блендер рендере , то несколько моделек, со своими ключами, просто расплавят мой бук.
>>540998 Хммммммм, а ведь у главной камеры трансформа и соответственно вектор тоже есть, да? Т.е. можно попробовать даже без рейкаста, просто есть трансформа камеры, есть нормаль стенки, если нормали стенки позитивны вектору камеры, значит это бэксайд, но блджад, тогда это надо будет считать все четыре стенки(а то и больше вдруг не только коробку захочется потом) + потолок одновременно на каждом чихе камеры
>>540985 Зачем вообще райкастить-то, у тебя же есть координаты центра комнаты, стен и камеры. Если камера снаружи комнаты с той же стороны, что и стена (Vector3.Dot для векторов "на камеру" и "на стену" возвращает значение больше 0), то скрывай, если нет, то не скрывай. Хотя чему я удивляюсь, большинству людей же матеша в жизни не нужна, лел.
>>540992 Можно поставить 8 коллайдеров, по одному на каждый угол. Затем пускать луч в центр комнаты и определять какой коллайдер задет. Все смежные стены коллайдера скрывать. Или тоже самое сделать без коллайдеров, через углы
>>541005 >Хотя чему я удивляюсь, большинству людей же матеша в жизни не нужна, лел. Ну не унижай плес, я гуманитарий. Матешу подтяну, обещаю. >>541010 Попробую, спасибо.
>>537360 (OP) Хай, анонии. Стоит ли смотреть курсы/читать книги, чтобы научиться юнити? Или можно просто писать код и решать проблемы по мере поступления? Я просто хочу практикой заниматься, а не смотреть/читать как кто-то делает это за меня.
>>540989 >а ты часом не знаешь, как без Substance Painter Нет, я в это не вникал, мне посоветовали Substance Painter так как он выдает текстуры лучшего качества.
>(2500р мин пах, ахуеть мой пк стока не стоит) С торрентов видимо не судьба скачать, да?
>Т.е условно у меня есть моделька, состоящая из нескольких материалов, каждый материал имеет ещё несколько текстур + карта нормали и ноды, как совместить это всё счастье в одну, максимум две текстуры и так же просто натянуть на модельку? Именно как это делать средствами блендера я не знаю, смотри видео туториалы.
>>541029 В любом случае будешь сначала делать что-то не так. Во многих видео на ютюбе по unity кодят полную хуйню, неприменимую в реальной разработке зато быстро достигается необходимый результат. Поэтому прогай, смотри ютюб, переделывай, рано или поздно вкатишься.
>>541033 Я просто думал, что в уроках могут рассказывать про какие-то удобные паттерны или как можно упростить себе скриптинг. Короче, научат как делать так, чтобы не изобретать велосипед и не писать говнокод.
>>541054 у меня так было: пока сам не объебешься, не поймешь. мог хоть тыщу роликов просмотреть, первый говнокод будет говном, будет один огромный класс, в котором все будет происходить. потом охуел его править в один момент и начал уже выходы искать. захерачил синглтон... потом объебенился на синглтонах во все щели, начал искать что там пизже есть, натыкаешься на инъекции, пихаешь их, потом пилишь гига-йоба-обсервера, потом прочухиваешь что чет не хватает, читаешь про охуенный гей-подход с РХ, начинаешь все потоками считать, потом охуеваешь от того что это гейство больше практически невозможно дебажить нормально, возвращаешься к старым добрым инъекциям@обсерверам но уже обдуманно, а дальше я пока не прокачался и сказать не могу что там, на следующем уровне, может еще более охуительные истории ждут. такие дела
Насколько плоха идея делать игру полностью на Unity UI? Жанр tycoon, в основном текст да циферки, платформа андроид. Слышал что UI составляющая юнити хуево оптимизирована, так что хочу услышать ваше мнение.
Юнаны, есть проблема с анимацией. Вызываю её через триггер. Когда в аниматоре ставлю галочку на триггер, все срабатывает как и должно, анимация проигрывается. Но если пишу в скрипе SetTrigger("trigger"), анимация начинается но сразу останавливается вначале и дальше не идет. С чем может быть связано?
Пацаны, помню можно было как-то сделать так, что при растягивании спрайта картинка внутри повторялась, а не растягивалась. Как ето сделать, скажите плес?
Встал вопрос о разработке собственной игры. Нужно прояснить чем в этом плане Unity лучше GMS2.
Имеется: - Базовое понимание языков программирования - Умение рисовать и делать музыку - Дохера амбиций и свободного времени
Хотел бы сделать игру, 2Д-экшон суть такова... Вернее, мне нужны: - Возможность при постоянных занятиях в ближайшие полгода разобраться с кодингом под конкретный движок (до уровня "я могу сделать платформер с пиздиловом по лицу, кат-сценами и визуальными свистелками) - Удобный перенос собственных спрайтов (т.к. я тыкал только гамак и то поверхностно, успел заметить только то что там надо всю анимацию ровно укладывать в ячейки 32х32 или 64х64 в ряд, но соответственно, мне же хочется хреначить границы спрайта при переносе самостоятельно из любой части картинки, это в юнити есть?) - Насколько просто вообще накладывать какие-то спец.эффекты и шейдеры, работать с тенями итд? - Хорошая поддержка со стороны рукоммьюнити (хотя англ. знаю где-то на intermediate) - Отстутствие необходимости покупать ассеты, готовность работать сразу ИСКАРОПКИ. - Хули ваще в юнити может помешать мне наслаждаться разработкой и стать очередным успешным инди-хуесосом со своим "пиксели, открытый мир, крафтинг, пенисы"? в основном, конечно, нашел поверхностную инфу про всё кроме переноса спрайтов на форумах и ютюбах, поэтому вопроса джва: 1) почему я должен выбрать юнити а не гмс2 2) че с переносом своих рисунков-то? в состояние анимации чтобы сразу Присматривался еще к УЕЧу, но мой макбук его не тянет т.к. тут вместо дискретки intel iris plus 655
>>541318 кстати, коль речь про джва-дэ, то что можете сказать про говнодот? в юнити, конечно, среди прочего подкупает перспектива развития как движка так и в плане собственного роста, т.к. тут нормальный язык программирования в основе всей хуйни (возможность в будущем кодить под шиндовс или перекатиться на свифт при желании)
>>541320 Годот хороший двиг, но я советую юнити, у него большая поддержка, много разрабов. Если, конечно, анриал не начнет его гасить со своим стором, это маловероятно.
>>541378 >годот хороший Сколько годоту лет и где на нём игры? У меня было такое впечатление, что когда делают новый движок вменяемые люди, они создают игру-рекламу для этого движка. Те же валвы с сурсом и халфой, например. Хуле годотяне не делают игру-рекламу себе? Даже не нанимают под это дело никого, просто лепят движок, на котором делают дороги правопорядка.
>>541438 >Ну, какую-нибудь да спонсировали. Не обязательно самим же делать. Ты нихуя не знаешь, а уже заранее принял сторону юнитиговна, пидарок. У анриала такая история, а что юнити, что годот, одно говно без игр.
Хикки, может у кого есть ссылка на крутую консоль для unity? Находил такую как-то на github, но потерял ссылку. Эта консоль появляется сверху, туда можно вводить команды, можно отображать значение переменных, есть поддержка тачскрина.
Что думаете про новый минималистичный интерфейс редактора? Обещают даже разрешить менять размер текста! Вот это да! Они серьёзно? После Zios Themes такой высер кроме как шутку воспринимать невозможно. Кто-нибудь может объяснить, зачем эта пыль в глаза? Ведь никаких техничексих ограничений менять шрифт, формы и размеры нет (и не было)! P.S.: Всё ещё лучше, чем вырвиглазный UE UI...
>>541546 >зачем эта пыль в глаза? Это не пыль, это тотальное обновление движка. И в то время, пока ты пользуешься для игр новой гуи системой, эдитор работает на старой. >Zios Themes Ты евангелист этого дерьма? Оно же реально дерьмо.
С весны не навещал Юнити-треды. >юнити-говно, я разработчик >как капсулу повернуть Ничего не поменялось. Доволен. Нестед префабы оценили? Я очень. Ебаный зоопарк гуи теперь у меня лежит в красивом префабчике, а все остальные сцены его модифицируют то тут и там
>>541581 Тогда предложи мне не дерьмовый способ кастомизировать шрифты, цветовую схему, формы и размеры. А пока что - да, я свидетель нормального, относительно кастомизируемого интерфейса. Пусть и с помощью костыля. И да, я не говорю, что новый интерфейс дерьмо, да и старый дарк скин весьма неплох (особенно по сравнению с блЮЕ), я говорю что выкатывать такой скудный функционал и орать "Нью эдитор УИ! Новый мы-знаем-как-вам-удобнее шрифт: Робото! А скоро и возможность менять его размер!" при существовании реально работающего костыля доказывающего и без того очевидную возможность вынести все параметры - это смешно. Если жрать что дают, однажды можно сожрать говно. Тут ещё и спасибо некоторые готовы сказать. К слову, я большой любитель юнити, но политика интерфейса всегда была подозрительной. Дарк скин за бабло (и молчок)? Так пусть и возможность кастомизации будет хотя бы за быбло! (Или они думают, что никто не заметит?)
Котаны, обнаружил тут странный баг. При передвижении клавишами W,S,A,D,WA,WD все работает как нужно, но с зажатыми SA и SD функции выполнятся не хотят, никаких связей у функций с управлением передвижением нет, в чем может быть проблема?
>>541738 >тут странный баг. При передвижении клавишами W,S,A,D,WA,WD все работает как нужно, но с зажатыми SA и SD функции выполнятся не хотят, ник Не нажимай больше черытёх клавиш. Проверь Функции на WASD, возможно на SA и SD написаны хуёво. Впрочем не возможно, а точно.
При срабатывании триггера юнька намертво зависает, что не так? Задумка такова, при соприкосновении с коллайдером мы запускаем корутинку, пока булиан инренж трушный она пиздит врага палкой с задержкой в 0.35, но на практике все зависает. Памахите.
>>541805 Какая-то у тебя странная корутина. Корутина "блокирует" текущий кадр, пока не встретит yield return [что-нибудь, можно null]. У тебя же начинает бесконечно крутиться while, потому что переменная не меняет значение.
>>541807 > OnTriggerStay.html Не подумол что можно сразу для такого положения написать. Благодарю. > И не забудь поменять формулу для урона, твой зависит от количества кадров в секунду. Но у меня разовое получение урона с определенными таймингами, "размазывать" урон не хотелось бы.
>>541804 У тебя бесконечная залупа, положи yield return null в конце while, чтобы он заканчивал фрейм то. >>541811 >OnTriggerStay А вот этого я бы не трогал, глючное/непредсказуемое говно.
Кто может помочь с запиканием карты? Комп говно, не могу подобрать параметры, чтобы это все запеклось на моем компе и что бы качество запекания было более менее нормальным.
Я хз, с чем это связано, но у меня корутины зависают намертво, если поток не проходит хотя бы через один yield, т.е. всегда приходится либо в начале, либо в конце корутины один фрейм через yield return null пропускать.
Есть один префаб пули. При рождении она(пуля) должна подсасывать некоторые данные из другого гейобжекта, но т.к. это префаб я туда никакой гейобжект закинуть не могу. А теперь вопрос, как лучше передавать пуле информацию? >>541837 >>541812 Да, я уже понял.
>>541838 >А теперь вопрос, как лучше передавать пуле информацию? 1) Инстанцируем пулю 2) Через GetComponent получаем ссылку на компонент пули, либо ссылку на интерфейс (IProjectile например) 3) Через компонент или интерфейс передаем нужные данные. Например, задаем владельца пули: var bulletInstance = Instantiate(...); var bullet = bulletInstance.GetComponent<IProjectile>(); bullet.Owner = this;
>>541841 Самое смешное что я так и пытался сделать в начале, но он почему то не хотел заливать туда данные. Надо конечно еще раз попробовать но я уже подсасываю данные через гейобжект.файнд, хоть и на сколько я понял он сильно нагружает и негативно сказывается на оптимизоне.
>>542141 Периодически бывают облавы, но в целом бизнес работает на продаже оценок. Закидывай 4/5. А лучше заплати за минимальную рекламу, чтобы гугл тебя не фильтровал как неплатящего и сделай/купи пару обзоров на профильные сайты.
>>542147 >перманентно должна быть хотя бы на минимальный бюджет Да. Это не точно, но я думаю, что всех неплатящих гугл летом пофильтровал. Когда у всех траффик из категории Похожие порезался в три раза.
Делаю 2д платформер. Встал платиновый вопрос про контроллер. Как лучше делать перемещение - через физику или через трансформ? Во всех бест практисах пишут что лучше через трансформ, но я в своей игре хочу взаимодействия объектов, например, какой либо объект врезается в игрока и отталкивает его, либо оказывает на тушку игрока силу. Конечно легче через физику, но от нее нет чувства контроля за персонажем.
Есть один гейобжект, он при уничтожении дропает после себя другой гейобжект. Когда за уничтожение отвечает 1 обьект все хорошо, когда 2 и более то он создает количество гейобжектов равное количеству обьектов которые взаимодействовали с ним. Короче говоря моб при получении выстрела из дробовика спавнит кучу предметов хотя должен спавнить один. По идее при очередном получении урона обьект должен самовыпилиться но он успевает просчитать все попадания пулей. Што делать? Лимитировать возможность выполнения функции Die?
>>542473 Destroy() срабатывает в этом же фрейме, но позже и в произвольное время. Соответственно, TakeDamage и Die могут сработать 2-3-4-5 раз. Я бы добавил флаг bool isDead = false, и ставил его в тру, когда объект умер. И добавил бы в Die проверку if (isDead) return; первой строчкой.
>>542478 С таким подходом обосрешься ближе к середине разработки, когда что-то не работает, но ты хз что именно.
Коллеги, как нужно иметь минимум в резюме, чтобы получить позицию разработчика на Unity. Запилил крестики-нолики, допиливаю 2Д-движок для платмормера с обработкой всяких наклонных и движущихся платформ, думаю сделать вредную игру вроде кликера для Андроид.
>>542672 >чтобы получить позицию разработчика на Unity. Нах оно тебе нужно? Геймдев без переработок не существует, будешь пахать по 12-14 часов как минимум и выпивать литрами кофе. Будешь делать мобильные детские игрушки с кучей рекламы и донатом.
>>542657 Решил, мб пригодится кому. К кости наследуем пустой обжект а уже к пустому обжекту нужную конечность, работает так же, ниче не рескейлится и иерархия удобно выглядит.
>>542683 >Геймдев без переработок не существует, будешь пахать по 12-14 часов как минимум и выпивать литрами кофе. По крайней мере, это будет не так тоскливо, как лепить join'ы и select'ы.
>>537360 (OP) Анонс, я сам художник, поэтому ни в программирование, ни в даже какие-нибудь скрипты не умею. Хочу сделать интерактивную открытку, Юнити открыл в первый раз в жизни. Собрал анимации %без костей, чисто на иерархии, собрал сцену. Вопросы:
1. Как сделать чтобы при запуске приложения включалась определенная анимация на сцене? 2. Как сделать, чтобы другая анимация включалась при клике по элементу, а первая удалялась со сцены? 3. Как сделать, чтобы после проигрывания второй анимации включалась другая?
Ну и еще засыпку - зачем вообще все эти редакторы анимаций, вроде Спайна и Драгонбонса, с возможностью импорта в юнити, когда в самом юнити создание анимацией реализовано так удобно? Правда Спайн я не смотрел, он платный, но некоторое время использовал Драгонбонс, который типа бесплатный аналог Спайну.
>>542728 >Это если серьезно думать надо. А если рутина то можно и больше. И так и так утомляешься, так как мозг работает и потребляет энергию. Если интенсивно решать какую то задачу то еще быстрее выдохнешся. Те же западные люди кто работает в сфере информационых технологиях и бизнес структурах, все поголовно сидят на транквилизаторах, кофе, антидипресанты, и больше денег у них уходит на все эти стимуляторы, это порочный круг, РАБотаешь для того что бы купить транки что бы снова РАБотать, для того что бы...
Ты просто еще наивный молодой шутливый юнец который все идеализирует. Иди в геймдев индустрию и сам посмотри как там пахают по 14-16 часов, после этого ты сможешь со спокойно душей идти на обычную профессию.
>>542728 Проведи такой эксперимент, напиши себе план работ и работай 10 часов в юнити нонстопом один день або два дня за день я сомневаюсь что ты выдохнешься а вот за два то да, не отвлекаясь на сериальчики, вкашечку, двачик, с часовым перерывом на обед, как в реальных офисах и посмотри, нужно тебе такое или нет. И отпиши здесь свои ощущения после такого графика.
>>542735 >зачем вообще все эти редакторы анимаций, вроде Спайна и Драгонбонса
Точный контроль сцены. Возможность натягивать разные текстуры на одни и те же кости легким движением руки или строчкой кода API. Менять анимации скорость, играть ее взад. Возможность смешивания анимаций - сделать три анимаци моргать глазами, махать руками, щевелить ногами и одной командой играть все три на одном объекте.
Собрать что-то из статичных кадров очень часто бывает недостаточно, а значит нужно ковырять другие инструменты для конкретных задач. Оно же все таки не одновременно развивается, возможности везде разные.
>>542741 Но так на работе никто так не работает. Когда говорят, что работают по 12 часов в день - это значит, что работают в лучшем случае 5, а остальные 7 - пиздят с коллегами, сидят на хабре и пикабу, ходят курить, срать, пить.
>>542741 >>542900 Из огня, да в полымя. Вообще, тут нужно определиться что такое "работа". Вот я печатал предыдущее предложение секунд 5, а думал что написать минуту - сколько времени я работал? Если 1/13 то в офисе программисты вообще не работают, ибо средняя норма по больнице это 100-200 строчек. Говорить, что человек в курилке не работает - пиздежь ровно настолько же, насколько и правда. Чтобы 12 часов сидеть на работе, но 7 часов бухать надо быть или ебанько, или китайцем (там считается неуважительным с работы уходить вовремя).
>>542924 Он все правильно написал, тащемта. Физически невозможно писать код больше 4-5 часов в день на постоянной основе. У нас в сентябре-октябре была ситуация, когда надо было быстро блядь сделать дему для инвестора, лично я работал по 10-12 часов примерно. К концу второго месяца уже чувствуешь себя выжатым. Все остальное время работа идет в режиме "пришел в 10, попил кофе и посовещался, пару часов поработал, обед, попить кофе, часок поработать и домой".
>>542924 >До первого предупреждения или увольнения. Смысл в такой конторе работать где сотрудника отчитывают за разговорчики, лол. В нормальных конторах всех интересует только сколько ты делаешь относительно других.
Привет, перс составной, мне нужно отключить коллизии только внутри тела перса, чтоб при добавлении на карту еще одного такого же тела коллизии с новым телом были. Для каждого тела отдельный слой физики делать? Подскажите более умный способ.
>>542934 foreach (Collider collA in charColls) { foreach (Collider collB in charColls) { Physics.IgnoreCollision(collA, collB) } } Если джоинтсами риджидбодисы соединяешь, то это не нужно, у джоинта есть опция отключения коллизии для соединённых им тел.
>>542860 >Сам устроился недавно. Набирают рандомно. Код твоих игр смотреть не будут. Код тестового задания может и посмотрят. >Ну хуета жи. Лично знаю несколько крупных контор где принципиально не сверхурочат да и в обычное время не сильно напрягаются. Спасибо. Буду искать место Unity-дева в наступающем.
>>542973 Да джоинтами соединяю, но у меня к одному телу прикреплено еще несколько по меньше и вот они уже между собой долбятся а иногда и разлетается все.
Совершенно нубский вопрос. Пишу платформер, в котором все объекты векторные, а размеры в пределах считанныъ единиц.
Хочу добавить 2Д-графику, но даже когда добавляю UI-элементы, они огромные (спрайтовые). Чтобы начать превращать абстрактный движок в движок с 2д-графикой, нужно пропорционально увеличить все объекты? Насколько? Как ориентироваться в размерах 2д-графики?
>>543122 1) Если UI (Canvas) в режиме скрин спейс - оверлей он в едиторе и будет огромным (зато позволяет производить простые трансформации), но в игре должен быть нормальным. Если с этим проблемы нужно ставить скрин спейс - камера. 2) В настройках импорта спрайтов есть pixels per unit, а векторные скалируй как надо и помещай в пустой gameObject со скейлом 1 и с ним уже работай. По дефолту 1 юнит = 1 метр; если хочешь, допустим, 1 юнит видеть как 1 сантиметр, придётся париться и рассматривать так и всё остальное, не советую.
У меня проект содержит слишком много кода, любое изменение фризит эдитор на секунд 5, а запуск игры в эдиторе вообще ложит его на секунд 10. Девелопить игру стало слишком напряжно, хочу покрыть тестами некоторую игровую логику. Собственно, в чём вопрос: не могу найти мануалы по юнит тестированию в юнити. Официальная дока слишком скудна, нет примеров и best practices как тестировать всякие коллайдеры, рейкастинг и т.д. Я так понимаю, что этого нет т.к. тестирование этого говна - задача разработчиков движка, а не разработчиков приложений, но тогда как покрыть тестами эти моменты? Не понимаю совершенно как произвести декомпозицию классов на саб-классы чтобы покрыть эти саб-классы тестами. Буду благодарен за всякие гайды, мануалы, туториалы и т.д. по данной теме. Желательно не видео, а текстом.
я просто сам веб-дев и не совсем понимаю как в компонентно-ориентированной парадигме юнити правильно работать по TDD. А кодовая база разрослась из за VRTK и всех этих скриптов фреймворка, steamvr, oculusvr, unityxr и т.д.
>>543654 >У меня проект содержит слишком много кода, любое изменение фризит эдитор на секунд 5 Используй Assembly Definition Files. Так ты сможешь разбить код на отдельные сборки и избежать лишней компиляции.
Заканчиваю работу над 2д-моделью для платформера. Стало интересно, сложно ли будет написать 3d-аналог.
Вот, скажем, хочу попробовать написать fantasy flight simulator. Это позволит поучиться работать с векторами движения и физикой (больше опыта), а также разнообразит геймплей, сделает проект более оригинальным и, следовательно, интересным для резюме.
Я думаю написать модель для дракона, который может бегать по поверхности,совершать короткие полёты и планировать. Насколько сложным это будет?
>>543676 >В смысле лгику дракона написать? Ничего сложного.. Ну да. Простенькая модель движения протагониста, простенькая 3д-сцена вокруг. Программа-минимум: опыт + любопытный проект в резюме. Программа-максимум: задел на развитие в качестве собственного инди-проекта.
>>543669 А что если твоя логика это что то уровня:
``` Если коллайдером является игрок, то вызвать метод фу компонента бар? ``` Иными словами если твоя логика это не более чем использование стандартного бихейвора компонентов юнити. Каким образом тогда произвести декомпозицию? Покрыть такой код тестами в плей мод не проблема, а вот в эдит мод - уже вопрос, на который не могу найти ответ.
>>543670 Спасибо за наводку. Я думал, что шарп может в инкрементную сборку... Хотя вот погуглил и нашёл, что всё-таки умеет. Эта фича не включена из коробки? Может можно каким то образом её включить? Иначе на кой хер он рекомпилит файлы, которые уже скомпилены и после этого не изменены?
>>543683 Сдаётся мне ты больше пиздишь, чем делаешь. В OnValidate можно реализовывать тесты по какой-нибудь вынесенной проверке, типа if (debugMyShit), чтобы не грузило. Либо использовать очень удобный PropertyDrawer которого почему-то нет из коробки, объясните эту хуйню InspectorButton: raw.githubusercontent.com/zaikman/UnityPublic/master/InspectorButton.cs заменяет твой bool на кнопку и вызывает "MethodName" в скобочках, если что Физика динамики, разумеется, не просчитывается, но остальное работает Physics.RayCast/SphereCast и прочее подобное.
>>543700 Поправь меня если я не прав: Есть код, например библиотеки Foo, которая using NUnit.Framework;, например. Если я сую эту библиотеку в асмдеф, то получается, что мне нужно указать в рефах Assembly-CSharp. Получается, что при изменении кода в assembly sharp эта библиотечка Foo будет пересобираться тоже? Соответственно время комплияции не изменится, не так ли?
Просто тот oculus vr использует хуеву тучу всякого говна, вплоть до тсп сокетов и как это всё завернуть я не совсем понимаю. А переписывать это не целесообразно ибо чужой фреймворк
>>543654 Разработчики в таких случая рекомендуют перейти на ECS https://github.com/sschmid/Entitas-CSharp, они говорят что все легко покрывается тестами, код получается почти без багов и переписываний.
>>543683 >Если коллайдером является игрок, то вызвать метод фу компонента бар? ``` >Иными словами если твоя логика это не более чем использование стандартного бихейвора компонентов юнити. Каким образом тогда произвести декомпозицию? Покрыть такой код тестами в плей мод не проблема, а вот в эдит мод - уже вопрос, на который не могу найти ответ.
Ты какой то странный. Берешь и создаешь объекты без задней мысли и тестируешь. Ну моки создай, если лапши много в коде. И хуй знает что ты называешь тестами в плей мод.
>>543700 Всё, привёл в порядок все библиотечки. Время релода 7-8 сек. Было в районе 12-15. Не понимаю где может быть ещё затык. Просто у меня ссд, цпу грузит на 50 процентов при релоде, оперы дохрена. Не могу понять где может быть горлышко...
>>543716 Спасибо, но пока это как то слишком сложно. Нужно почитать, понять преимущества и т.д.
>>543732 Раз не понимаешь в чём проблема, то забей.
>>543741 Удалил плагин для substance материалов (allegorithmic substance), время релода сократилось ~5 сек. Видимо проблема где то в нём. Печаль.
Вопрос к знатокам: есть ли какая то альтернатива процедурной генерации PBR материалов как в substance designer? Только чтобы постабильнее. А то я и так из-за несовместимости с 18.3 откатился и заново переписывал проект на 18.2.
>>543740 >Нужно почитать, понять преимущества и т.д. Это смотри https://www.youtube.com/watch?v=pp5sYybOidg Краткая суть в том что данные располагаются не фрагментировано из за чего процессору легко обрабатывать эти данные и производительность повышается в 10 раз.
>>543676 >>543678 Кстати, хочу отвлечься от технических вопросов (устал, весь день полировал 2д-модель.
Думал о геймплее. Большинство стартовых проектов (для резюме, для работодателя, для души) - это 2д-платформеры, изометрия. Любители для себя вообще пишут всякие визуальные новеллы, про которые можно поспорить игры ли это, или диафильмы.
На мой взгляд игра - это прежде всего головоломка. Я думал, что бы я мог сделать в качестве личного проекта (с заделом на то, чтобы при необходимости развить его из технического упражнения в инди-проект), и подумал как раз о малоизвестном жанре fantazy flight sim. Таких игр, как оказалось, совсем мало - мне вспоминается только древний magic carpet.
Я подумал, что мог бы написать диздоки и задел для игры, фишкой которой будет управление полётом/перемещением дракона (бег, полёт, планирование), а геймплей будет похож на Shelter. Подъёмным ли было бы написать такой аналог Shelter? В такой проект можно было бы добавить элементы РПГ.
>>543670 Хотя знаешь, анончик, в режиме симулятора т.е. без запуска виар шлема время запуска игры примерно 4-5 сек. Т.е. стало х2 раза быстрее чем раньше. Спасибо тебе большое за подсказку, а то желание что-либо делать уже пропадало из за этих долгих загрузок.
>>543744 Добавил в закладки, посмотрю вечерком. Спасибо.
Лень устанавливать поэтому прошу помощи. Поместите в сцену 10к кубиков с натянутой текстурой в виде отдельных нод, так чтобы они все попадали в фрустум. Можно без освещения, физики и т.д. Сколько фпс выдает движок и какой цп стоит?
>>543781 Да видимо у меня какие то проблемы на уровне железа т.к. как начал натягивать на меши материал из substance designer, время запуска плей мода увеличилось до 20 секунд. Придётся отказаться от динамических текстур и экспортить их сразу из дизайнера. А то это какой то бред.
>>543822 Отказ от allegorithmic substance не помог. Хз в чём проблема, но проект пошёл по пизде. Тем не менее пойду скачаю самую последнюю версию юнити и буду заново воссоздавать проект.
Анон, как можно сделать разные коллайдеры для разных обьектов? Есть модель лестницы и чтобы камера игрока не прыгала по каждой ступеньке я сделал кастомный коллайдер в виде наклонной прямой. Движение плавное и всё красиво, но если игрок дропает вещь на лестнице, то она падает сквозь модель лестницы и лежит внутри её. Каким образом можно сделать чтобы игрок игнорил коллайдер меши , но не игнорил кастомный коллайдер и vice versa для вещей?
Тупой вопрос, но чёт не выходит нагуглить. У меня есть персонаж с third person камерой. Как мы считать нажатие на объект? Если я создаю скрипт для объекта с OnMouseDown(), навожу камеру на объект и нажимаю ЛКМ, то ничего не происходит. Как же мне тогда определить, что игрок нажал на объект?
>>543881 Разобрался. Оказывается нужно использовать лучи, стреляющие из камеры. Но появилась другая проблема - в collider попадает моделька персонажа игрока, а не другие объекты.
>>543910 Хотя я тут подумал... Максимум который я могу себе позволить - добавить немного рандомности в текстуру (скейл, ротейшн) и немного геометрии на уровень. А то у меня один хуй симулятор спуска по лестнице. Разнообразить никак по сути. Пикрил текстура стены с рандомностью которую один хуй не видно. Кекити кек
Братишки, помогите. Недавно перекатился на юнити и чет не могу до сих пор разобраться с правильным воркфлоу канваса.
Если мне нужен канвас в world space, то я его (канвас) создаю, выбираю в настройках world space. При этом сам канвас остается огромным как и был изначально. Я делаю его меньше (чтобы удобнее было цеплять к объекту, который может перемещаться. Потом допустим вешаю на этот канвас какой-нить спрайт и начинается пизда с размерами. Спрайт получается огромный, мне приходится его руками уменьшать. Но это не очень правильно/удобно кмк.
Есть ли способ на таком канвасе получать спрайт такого же размера, как если бы я просто его перетащил в gameobject (без канваса)?
>>543781 Мудаком оказался я. Я вместо того чтобы внимательнее почитать про steamvr и совместимость в oculus sdk наебашил всякой хуиты в проект и удивлялся чому всё лагает. Пересобрал заново проект, натянул текстурки, всё летает. От allegorithmic substance всё таки отказался в пользу пререндера текстур в substance designer и дальнейшего импорта в юнити т.к. они свой плагин пока ещё не завезли на 18.3 и видимо завезут только к концу месяца, а у меня ДЕДЛАЙНЫ кухонные.
В игре нужна диалоговая система. Как лучше хранить диалоги? В xml или json? Что потом будет легче парсить? Для чего инструментов для работы в C# больше? Есть ли нормальные готовые бесплатные решения или лучше всего свой велосипед лучше?
Как сделать загрузку уровня? Почему в играх уровни загружаются? Как сделать, чтобы уровень не фризился в первых секундах. Вот я запускаю плеймод и у меня всё уже работает. Зачем нужна загрузка?
>>544086 >Можешь вторым слоем добавить камни\хуямни глину На текстуру имеешь в виду? Там все текстуры всрато выглядят. Может чего в освещении покрутить?
>>544087 Нит. На меш вторую текстуру. И складывать их. Можно по маске какой. Но это смотря что конкретно тебе не нравится. В твоем песке. По мне так он унылый.
Сап, юнитач, чочу сделать 3д меню для объектов постройки. Думаю все что есть в массиве объектов спавнить в отдельном углу и это все завернуть в рендер текстуру, и там уже кликать.
Вопрос 1. Как сделать нормальный аспект у текстуры? Вопрос 2. В рендер текстуру же можно кликать как обычно из камеры рейкастом?
Вообще идея такая. Есть несколько листов с префабами строений. Хочу генерить ui меню по этим листам. То есть беру из кода лист, и делаю ряд кнопок. По клику - выбирается активный объект. Тащемто и все.
Можно конечно обмазаться и засунуть в префабы 2д текстуры и на их основе генерить кнопки. Но хочется дораха бохато в 3д.
Посоны, такая маза. Юнити клики мышкой в половине случаев не видел, аноны сказали - долбоёб, не суй инпут в фикседАпдейт. Ну ладно, допустим и долбоёб, что же в этом такого? Засунул в апдейт. Стало лучше, но некоторые клики всё равно не видит, холера. Поясните пожалуйста раз и навсегда, как правильно считывать клики мышкой и куда пихать.
>>544145 Истинно вам говорю, некоторые клики не видит. Я просто хотел узнать как профессиональные аноны это делают. Просто ставят Input.GetMouseButtonDown() в апдейте? Или может надо GetMouseButton()?
>>544153 Фиксед- и ЛейтАпдейты не совпадают с фреймами инпута, поэтому если не в апдейте то может не видеть. >Input.GetMouseButtonDown() Давн - это нажатие вниз. Ап - это отжатие. Просто ГетМаузДаун будет возвращать состояние в этот фрейм. Не в стрелялках, если что, обычно отлавливают отжатие + проверяют, находится ли под мышкой всё тот же объект, на который нажали вниз.
>>544190 Тебе нужно просто поместить if (Input.GetMouseButtonDown(0)) {//логика по нажатию} в Update(){}. Если у тебя лыжи не едут рэйкасты не рэйкастятся - это уже другая проблема. К слову, я стрелял одновременно кучей рэйкастов из дробаша в террэйн, и некоторые проходили насквозь, проблема не пропала и причина так и не выяснилась.
>>544204 Неплохо, только платформы в конец перемести. И фонарик у тебя светит только на 1 метр. Понятно, что это хоррор, но хоть немного реалистичности чтоб было. Попробуй вместе со светом ещё прожектировать светлую текстуру в том же направлении.
>>544207 Тогда OBS музыку с системы захватила сама. Слишком ссыкотно ночью пилить игру для виар шлемов в тишине.
>>544209 Не, все эти лого я специально выставил в начало чтобы было понятно, что игра спешл фо виар сделана. У меня ДЕДЛАЙН до конца праздников выпустить игру в стим и в день делаю ограниченное кол-во задач чтобы успеть. Если не получается сделать как хочется, то значит не судьба и оставляю как получилось. Со светом я уже поебался сутки, больше тратить на это время не могу. Максимум что я сейчас сделаю - добавлю [RETRACTED] надпись поверх белого шума. Типа как обрезано специально в целях конфиденциальности, в стиле сцп.
>>544209 >фонарик у тебя светит только на 1 метр По лору так и должно быть. По факту не 1 метр, просто это без шлема так ощущается. В реальности со шлемом порядка 4 метров светит фонарь.
>>544210 Короче, держу в курсе. Как называется фигура, по типу многогранной пирамиды, и выпуклым основанием, не пойму как гуглить, сектор шара и можно ли её построить средствами юнити, не прибегая к 3д моделлингу.
>>544228 Потому что таких фигур будет дохуищща. Плюс потом вручную расставлять их будет наверное не оче комильфо. Короче я хочу сделать модель земного шара, поделённую на страны. Может это как-то другими способами можно сделать?
>>544182 Просто запости код. Мы ж не телепаты, там тысяча причин может быть. >>544222 >>544230 "Из кода" можно построить всё, что угодно. Слепишь меш, слепишь треугольнички для него, слепишь текстурку. Иди гугли, как генерировать меш.
С тихим скрипом пытаюсь изучать Юнити. По книжке Uniti in Action, различным видеоурокам. Вроде даже, есть какие-то знания, но понимаю, что их нет. Книги и прочее конечно хорошо, но ведь главным источником именно по фреймворку - документация.
Поэтому спрошу тебя, отзывчивый анон, что нужно смотреть в первую очередь и в какой последовательности, например для 2D.
Имхо, данный список в будущем может сильно помочь вкатывальщикам, а именно структурировать обучение, которые по факту не должно хвататься кусками с разных концов.
Например: 1) Камера и размещение 2)... 3)... 4) Лучи и работа с ними 5) serialize field 6) ... 7) ... 8) ... 9) MVC/MVP/MVVC
Спасибо тебе, анон!
Очевидно, что некоторые пункты не найдешь в документации, но хотя бы будет очевидно понятно что это. Про тот же самый MVC описано в Unity in Action, но в тоже время не совсем понятен принцип работы, и прочее
Пик: 58 часов лекций, где опять же, инфа не факт что будет нужная и структурированная. Суть моей просьбы состоит не в том, чтобы в большей степени давать ссылки и прочее, а в том, чтобы именно указать те темы, которые нужно изучить. Очевидно, твоя ссылка очень полезна, почему бы её не добавить в FAQ треда? А вот конкретное изучение тем - дело новых постов в данном треде или QA сайтов.
Лично для меня, изучение по видео довольно проблематично, хоть и с сабами (порой заебывает перематывать фрагмент в 5 секунд по 100 раз, дабы понять, что имелось ввиду)
>>544222 >>544230 Если хочешь примитивы, ищи в ассетсторе. Возможно найдёшь стандартные бесплатные. Если хочешь модель Земли, или в сторе или делай сам. Возможно найдёшь стандартные бесплатные. Можешь искать не только в ассетсторе, но скорее всего, все остальные платные. В принципе можно погуглить просто текстурку Земли на шарик-примитив. Должно сработать.
>>544281 Эти книги смотрел? Unity для разработчика. Мобильные мультиплатформенные игры 2018 Торн А. - Искусство создания сценариев в Unity - 2016 Паласиос Х. - Unity 5.x. Программирование искусственного интеллекта в играх - 2017
>>544281 При всём уважении, проще будет добавить весь unity3d.com в ОП-пост, чтобы все смотрели туториалы, но они не будут их смотреть! Вот в чём проблема.
>>544291 Вот опять. Ты просто кидаешь ссылки на то, где показывают как делать. Но согласись же, зная темы, зная как ими манипулировать ( с разбором примеров естественно) будет совсем по другому изучение идти.
Повторюсь, я спрашивал просто про то, какие темы/вопросы стоит поднимать для себя, в процессе изучения. Не какие-то узкие проблемы под конкретный проект здесь и сейчас. А какие-то общие темы, которые так или иначе будут использоваться по ходу разработки проектов.
Если грубо говоря, ты кидаешься параграфами, но я имел ввиду содержание/оглавление с кратким пояснением. Например, что пока не сильно важно, при изучении изменении местоположения объекта в пространстве, а вот на что конкретно стоит делать упор. То же самое, как говорят в начальной школе, что на 0 делить нельзя, хотя в теории можно
Я думаю, я внятно пояснил, если же нет - поясню еще, я это умею и люблю)
>>544299 1-2-3, а ты до сих пор не понял. Похуй тогда, мб кто-то другой ответит нормально на этот вопрос, а не будет кидаться ссылками и язвить по делу и без
Есть у меня старый ноут, брал в dns за 10 000 годика шесть назад. intel celeron, 2 gb оперативы, и все такое. Почему вот на на нем вполне хорошо, прям идеально идут игры например portal, portal2, half life все части? А какой нибудь инди выживание, (выберись из дома/леса/лабиринта) на unity 3d тормозит даже на средних пк?
>>544307 upd я не адепт годота и уеча, люблю юнити, изучаю его уже полгодика. Просто вот реально, качаешь из стима какую нибудь бродилку на юнити, а она прям подвисает, хотя карта маленькая, объектов мало. Я надеюсь, что мне просто не повезло повстречать хорошо оптимизированную игру.
>>544309 upd2 Пилю игрулю от первого лица. Как доделаю, надеюсь смогу также оптимизировать ее, как портал, что прям все гладко, без провисаний, и чтоб графоний был на уровне. Или я много прошу?
>>544309 Потому что стим по большей части юнитипомойка из игр из готовых ассетов, и школьники которые их делали даже не заморачивались убрать пару миллионов лишних полигонов на моделях. К тому же там скорее всего Update с кучей проверок на каждом объекте, деревья по 100 дроуколлов каждое и КРАСИВАЯ ТРАВА.
>>544314 При этом отвергает наглядные примеры и уроки с поэтапным созданием игр. Фак лоджик. Молочко нужно давать ребёночку только в стерилизованной бутылочке, нагрев перед этим до комнатной температуры. И не слишком жирное, а то будут зелёные покаки.
>>544300 ты ебанутый? три раза сказали - дрочи скрипт апи и туторы на сайте юнити, там все разжевано для самых тупеньких тугосерь. Как лет 8 назад заглянул в Script Api reference так больше ничего не нужно. Всякие специфичные вещи уже ищи по названию. По юнити столько инфы что просто охуеть можно. Но если очень хочется. - Интерфейс редактора - - каждый создаваемый элемент - начинаешь делать что-то (что угодно!) - - смотришь примеры кода в Script API reference.
По архитектуре отдельно читай книжки, больше ничего не нужно для начала. А как начнешь и сам во всем разберешься.
>>537360 (OP) Чето я нихуя не понял блять. Пишут что моноднвелоп включен в пакет установки юнити, но он нихуя не включен блять. Зато включен visual studio community. Они отказались от моно и перешли на вижуал студио или качать надо не с оффсайта или что?
Подскажите юнити-нубу с небольшим опытом libgdx (голая ява), привыкшему тупа кодить и охреневшему от кучи всяких кнопочек, чекбоксов, слайдеров и прочих выпадающих списков в окне инспектора... Я так понимаю, все эти параметры лучше вообще не трогать прямо в редакторе, чтобы случайно ничего не сломать, банально забыв вернуть измененное значение в ходе экспериментов? Где хранятся классы компонентов, инстанциируемых не скриптами, а в гуе едитора? Xml-ина мб какая? Жму правой кн. мыши -> Edit script -> ничего не происходит. На некоторых компонентах нет и этой опции "Edit script". Вот взять "камеру". У неё куча параметров - придется их все выставлять в окне, или можно создать класс камеры и там с ней делать, что душа пожелает? Мне ближе создание объектов и выставление им нужных мне полей прямо в коде (надеюсь, даже уверен, что в юнити так можно), чем мышкоклацанье. Хотелось бы вообще не касаться редактора, делая максимум работы скриптами, но тоже без фанатизма. Идея разделения логики и данных мне очень даже нравится, разобраться бы еще с форматом проэкта, и можно ли его редактировать, например, в блокноте.
Тем временем я уже залил тизер на ютьюбчик https://www.youtube.com/watch?v=Qk0wobvKnG0 и нашёл даже пару тестеров с окулусом т.к. у меня vive, а окулусоюзеров по статистике больше чем вайво
>>544340 То, что ты хочешь - называется prefabs. Тебе нужно открыть сайт юнити и начиная с самых азов учиться с ним работать. Отказаться от эдитора не получится т.к. это неотъемлимая часть движка. Либо учись работать с эдитором, либо откажись от юнити.
>>544234 Меш это и есть координаты вершин, по сути. Тебе нужно будет в какой-то последовательности назначать координаты вершин, а потом сверху натянуть текстурку. И шейдеры ещё.
>>544340 Компоненты это и есть "закрытые" скрипты по сути. Если ты пишешь скрипт, то ты по сути пишешь компонент. Из скрипта можно получить доступ к любому другому компоненту или скрипту (выставив поле компонента требуемого класса, например) и там как угодно менять.
>>544322 На оскорбления никто не провоцировал, а тебя порвало как целку. Задаешь внятный вопрос, зная, что народец тут порой нещадно тупит, примерно поясняешь и даешь даже пример, как это должно быть, носука, присходит пикрелейтед.
Вы блять реально настолько ебанутые, что даже не видите грамотно сформулированную просьбу.
Вам в школе тупо дают алгоритм решения,, где тупо говорят подставлять циферки в формулы и не поясняют нихуя, составляющие там, что конкретно и как это влияет на работу решения.
>>544365 >в школе тупо дают алгоритм решения,, где тупо говорят подставлять циферки в формулы Тебя родители учили говорить, смотря тебе в ебальник и повторяя раз за разом "мама", "папа" и т.д., и нихуя не объясняли почему папа это папа, а мама это мама и т.д. Тем не менее ты научился же говорить? Повторение - это фундамент обучения.
>>544365 Ты как раз-таки невнятную хуйню спизданул, которая выглядит единственно понятной и логичной только в твоём манямирке. Тем не менее несколько анонов расслышало что там омежка бубнит себе под нос, и великодушно расписали где узнать, ЧТО, ПОЧЕМУ, КАК, КУДА и ЗАЧЕМ. Но как известно, люди делятся на два типа: 1) Способных делать умозаключения на основе неполных данных 2) Ты толстяк, который троллит тупостью. Самоироничный пикрил, бтв. >>544369 Двачую. Природа им дала зеркальные нейроны - пользуйся! Пользуйся зеркальными нейронами, блять! Не хочу, хочу ебать мозги!
>>544371 Просто он ещё пубертатный период не прошёл и можно невооружённым глазом наблюдать отрицание авторитетов. Типичное поведение для инфантилов, чему тут удивлятся... Подрастёт - поймёт свою глупость и тогда начнёт игры писать, а сейчас он только языком молоть может да воображать из себя программиста.
>>537360 (OP) Ну и говно, каждый раз юнитиговно умудряется удивить. Установил юнитиговно, жму плей, все мыльное, сук, ВСЕ БЛЯ В МЫЛЕЕЕЕЕ! Ну юнитиговно, конечно, это прекол. И тысяча ошибок пидарских RenderTexture.Create failed: format unsupported - R8 sRGB (1). Юнитиговно само хуйни наустанавливало (себя), и само про ошибки пишет.
>>544383 >толстить в треде >юнитиговно не работает после установки >ну и чта юнити лучий движок, у меня все аднаклассники на нем сидяТ! Unitypidars. Unitypidars never changes
>>544369 сразу видно пидораху, которому показали как делать, он и клепает раз за разом по одному сценарию одно и тоже, и отклонение в любой плоскости расценивает как что-то невообразимое
>>544371 великодушно просто скинули пример. Давай начнем с того, что видимо ты такой тупой, либо весь двач такой, что в упор не видит четко сформулированную просьбу. >РЯЯЯЯ, ссылку получи >а, ты переспросил? НА ЕЩЕ ОДНУ, РЯЯЯ
ты либо контуженый при рождении, либо идиотия наследственно передалась.
>1) Способных делать умозаключения на основе неполных данных Ты долбаеб? Какие неполные данные ты дал? Специально спросил так, что бы не пялить в ютуб дохуя времени и смотреть "как нужно делать", а изучить темы самому, почитать про них и додумать самому. Единственное, что я спросил, это последовательность этих тем, чтобы что-то нужно и важное не проебать. Важнейшие моменты в обучении: 1) переходить от простого к сложному 2) Искать информацию и применять её самому 3) СТРУКТУРИРОВАННОСТЬ ИНФОРМАЦИИ
п.2 мне же видимо протипоставляет, но именно из-за незнания я пришел сюда и спрашивал, как мне казалось, у знающих людей и готовых помочь
Именно из-за такие долбаёбов, которые накачают ассетов и по урокам делают хуйню однотипную с корованами и грабежами, инди сейчас идет в новый e.t.
>>544298 Страницу с первой ссылки до конца пролистай, не беси меня. Там тебе рассказаны все главы всех возможностей юнити. Всё в доступном видео формате. Такие "на что конкретно стоит делать упор" познаются только с опытом.
>>544371 Дебил, блядь. Надо обращать внимание на баундинг текстур, иначе у тебя альфа по пизде пойдёт. Тебе это о чём рассказало? Что ты из этого понял?
>>544414 >иди сделай мне сначала кто ты такой, чтобы я тебе что-то делал?
>первую игру про шарик или хотя бы сделай внятное пояснение. Если "игра про шарик" из разряда collect-coins, то без проблем, в качестве практики/повторения/вспомнить знания - сделаю
>>544405 >>544412 Тонко. А API его не устраивал. Лол. >>544413 Камера у тебя фризит, значит. Переделывай. >>544409 Мимо. Но фикс щелей между тайлами гуглится на раз-два.
>>544478 Уфф. Ну хорошо. Я и сам не знаю толком нужен мне LW RP или HD RP, главное чтобы shader graph работал. А почему в HD не лезть? Я пытался уже через Package Manager добавить этот RP, но shader graph всё равно отказывается работать почему-то.
Где-то читал для производительности советую объединять меши в один. Например террейн сцены в 1 меш, тогда будет 1 дроукол. Но тогда же куллинг работать не будет? Юнити его как 1 меш видит (в 3д графике не силен).
Привет, анон. Раньше было дохуя материала по юньке, нужно было только уметь правильно гуглить. Сейчас либо меня забанили в гугле, либо юнити выпилили все ассеты? Большинство форумов мертвы, торренты сдохли, где мне искать хоть что-нибудь? С нуля я могу разве что хуйца соснуть.
>>544500 >Раньше было дохуя материала по юньке Их и сейчас дохуя, но ты же спрашиваешь не о простых обучающих материалах, а пизженных ассетов с ассет стор. Нехуй пиздить, либо сам пили, либо покупай.
Господа, пытаюсь в сейвы для игры, понял что юнити ессесна не умеет сериализовать геймобжекты и вот это все.
Сделал в итоге просто массив со struct объектами из который инстантиируется все заново.
Но хуйня в том что сериализация вообще нихуя не умеет, ни Vector3 ни Quaternion, нихуя! Собственно написал Vector3 для сериализации сам, и вот вопрос - мне так придется каждую хуйню самому заново писать?
У меня вот есть класс Building в котором можно хранить все параметры для создания объекта в сцене, я могу как-то сериализовать инстанс этого класса?
Читал что-то про Json, scriptable object, это поможет решить проблему? или просто подскажите "правильный" способ сохранить нужное мне говно.
>>544529 JSONUtility нормально сериализует векторы. Структы незачем, можно классами с атрибутом System.Serializable. Правильный способ - иметь дату, отделённую от геймобджектов. Если ты на поздней стадии разработки, когда менять архитектуру уже поздно, воспользуйся другим JSON сериализатором (SimpleJson вроде норм) и сохраняй дату вручную, типа json.addProperty("field", gameObject.field)
>>544683 Блять, я спрашиваю, чем мне теперь пакеты перекидывать? Фотон свои компоненты вешает, а у меня собственная DO-система. Мне не нужно сервер хостить, а нужно лишь заменить obsolete UNet LLAPI похожим функционалом.
>>543142 Вот скажем, я создал отдельную сцену для меню (в режиме screen space - overlay). Создаю в ней канвас и элемент UI. Они огромны по отношению к полю игры, элементы кототорой небольших размеров. Это обычная практика?
>>544769 >создал отдельную сцену для меню (в режиме screen space - overlay). Создаю в ней канвас и элемент UI Я так понял, ты создал отдельную сцену для меню, а в ней создал канвас (в режиме screen space - overlay) и элемент UI. >Они огромны по отношению к полю игры К какому полю игры? В Scene View? Канвас ровно таких размеров в юнитах, как вьюпорт в пикселях. Вообще в идеале должна быть возможность отключать его гизмо, чтобы не смущал.
Анон, совсем недавно изучаю, поясни за некоторые вопросы 1) Если я верно понимаю, меш, ничто иное как сетка, с помощью которой строится модель. Т.е. по факту, меш, не может быть больше модели, чтобы например построить с каким-то взаимодействием по другому
2) Для генерации физики объекта используется именно RigidBody? 3) Для того, что бы взаимодействовать с объектом используются коллайдеры?
Есть ли какие-нибудь исключения из моих предположений (если они верны) ? Например для взаимодействия с объектом, используется что-то иное, или физика может делать совсем по другому?
>>544776 Без опыта никакая удаленка вообще не светит.
>>544781 Ты пиздабол. Опытным (про которых никто не спрашивал) предлагают 60-100 тысяч. 150-200 тысяч - это зарплата всяких управленцев, ведущих прогеров там, лидов, архитекторов.
>>544834 1) Меш это геометрия модели: вершины и треугольники. 2) Да 3) Коллайдеры используются для просчёта столкновений, в том числе и рэйкастинга, так что да.
Сап, анон. Вопрос к Юнити-экспертам. Есть редкий глюк с встроенным в Юнити компонентом Cloth. Вот его описание https://answers.unity.com/answers/46528/post.html Наткнулся на него в своем проекте на Юнити 5.6. Офигеть, глюк с 2011 года, между прочим. У меня он в том проявился, что любой Skinned Mesh с Cloth работает нормально пока находится в поле зрения камеры. Как только пропадает оттуда, то что-то с ним такое происходит, что по возвращении обратно его распидорашивает в разные стороны. Ничего лучше не придумал как добавить новую камеру и рендерить ей все объекты с Cloth постоянно. Но это бьет по производительности и вообще пиздец какой-то. Как быть, что делать?
>>544853 >Эта страница не существует. Ну короч очевидный костыль а может и гуд оптимизэйшн практис напрашивается сам собой: тебе надо на OnBecameInvisible как-то дрочнуть Renderer или Cloth так, чтобы он не выёбывался, а на OnBecameVisible раздрочить обратно.
>>544878 Я готов полгода в команде качаться за 50 тысяч, потом ещё полгода по 100, параллельно люто повышать квалификацию и пилить личные проекты, чтобы потом быть мидлом с опытом и готовыми проектами и уйти на 200 в месяц.
>>544883 КЛАУД и все вытекающие: навешал компонентов - и доволен. Короче если хочешь мультиплей как у людей, подрубился и играешь, чтобы в стим потом закинуть - твой выбор. Но имей ввиду, в бесплатной версии там ограничение на 20 щей, при чём, как я понял, это контролируется и на P2P (т.е. по LAN будет невозможно подключиться без интернета - лютая дичь). В любом случае, в данный момент ничего лучше, похоже, нет. Они уже условно выпилили UNet, а замену только рожают. К слову, если хочешь попердолиться, можешь попробовать: https://github.com/Unity-Technologies/multiplayer
>>544901 Самое обидное, что старый UNet они выпили, а для нового апи даже вики не запилили, не говоря уже про то, что оно пока низкоуровневое. >>544891 Т.е. без анальных подписок я не смогу поднять свой сервер матчмейкинга и дать игрокам самим пилить сервера?
>>544902 >для нового апи даже вики не запилили На гитхабе есть документация и примеры. >без анальных подписок я не смогу Выходит, что так. Хотя возможно я жопой читал про фотон.
>>544902 >матчмейкинга В мобильных сторах матчмейкинг идёт из коробки. Может быть в стиме тоже что-то подобное есть? В конце концов запилить его не настолько сложно.
>>544876 Тонны нефти тебя, анон. Почему-то на дваче советы годные в отличии от юнити-форума где советовали костыль со второй камерой. Просто включаю и отключаю по событию OnBecameInvisible cloth_component.enabled = false Надо было не лениться читать про Monobehaviour, тогда бы сам додумался.
Дорогой, анон. Вопрос тупой, но я новичок, прости. В общем, я хочу продить инстансы объекта, сделал некий спавнер. Он берет копию объекта и создает в случайном месте.
Примерно такого вида цикл: spawnPoint = new Vector2(randomX, transform.localPosition.y); Instantiate(enemy, spawnPoint, Quaternion.identity);
Эти объекты я хочу уничтожать как-то, запилил Destroy(enemy) по условию, вроде все хорошо, НО! Когда я уничтожаю родительский объект, с которого все клонируются, скрипт вылетает. Как мне быть? Мб есть подводные секретные знания?
>>544911 >скрипт вылетает 1. Внимательно читай текст ошибки. 2. Не уничтожай родительский объект, сделай мастер объект менеджер, который не является клоном и инстанцируй в нём через префаб. 3. Удостоверься, что в созданных объектах нет ссылок на существующий. Проверь локальные классы, избавься от локальных классов.
>>544907 >Надо было не лениться читать про Monobehaviour, тогда бы сам додумался. Именно. >>544906 Steamworks позволяет подрубаться друг к другу через его API, но серваки не хостит, разумеется. Удобно для P2P, но в остальном по сути всё та же ебала. >>544911 Ещё бы. С чего клонировать-то ему? Юзай prefabs.
>>544917 >Steamworks позволяет подрубаться друг к другу через его API, но серваки не хостит, разумеется. Удобно для P2P, но в остальном по сути всё та же ебала. Вроде как можно распространять не игру, а инструмент для игры, который будет являться сервером.
>>537360 (OP) Что за жопоебля случилась с юнити в 2019? Какие-то про версии предлагают, какие-то деньги требуют. Вчера появилась идея в игоре. Скачал на комп и написал кучу скриптов. Паралельно поставил на ноут юнити. Так как качать 11 гиг, тупо нажал установить, а сам сел за пеку. Сегодня смотрю. Мало того что эта залупа не поставилась и скачала нихуя. Так ещё и в профиль мне насрала что я про разраб и поставила мне галочки что хочу им донатить 1000 баксов. Зашёл и подахуел.
Здравствуйте антоны. Я Кирил. Хачу сделоть игру. Суть токова. Движок Юнити Ультрахардкор Мытищи. 2d игра по типу Марио. И по типу Марио он бегает по своему 2d вымышленному миру который я называю "Брянск". ГГ может быть магом, войном или негром. Нужно грабить корованы чтобы победить плохих людей. Но в процессе он узнаёт что плохой человек - ТРАП. И в любляется в него. Шлёт нахуй принцессу и набигает в дворец. Как вам игоря?
>>544939 >реле Реле? Впрочем я уже понял, что этот вариант тебе не подойдёт. Там поднимается локальный сервер у одного из игроков. >если читеров не боишься. Есть хорошая статья на эту тему Как расправиться с читерами и не переписать весь код https://habr.com/company/pixonic/blog/343306/
Анон, отправил девятого на проверку магазин в стим, сегодня уже 11, а аппрува, как и реджекта, до сих пор нет. Раз за 2 дня не заапрувили, то значит стоит ждать реджект?
Occlusion Culling vs ProBuilder Сап юнитачеры, возник спор на тему построения лвл-дизайна. Первый настаивает на том что бы клеить базовую архитектуру из мелких одинаковых частей (комната состоит из шести мешей). Второй - настаивает делать ее крупными мешами (комната состоит из одного меша). Как правильно?
>>545065 Ну да, крысятничество - обычная практика. Разумеется, грех не воспользоваться шансом. Но тут не лёгкий пиар, а скорее саботаж. Зачем эпикам этот сервис при их бабках (плюс у них свой есть)? Разве что лишить его юнитеков. Договорились о бабле заранее, тем более юнитеки отметили, что Improbable/SpatialOS нарушали условия, значит мног очего могли нарушать.
>>545070 Ну так, это означает застой и неработоспособность функционала на какое-то время. Страшно же. А вдруг ВСЁ или НАЧАЛОСЬ? С другой стороны, юнитеки позволяют себе очень смелые шаги. Посмотрим, к чему они придут. Глядишь, станут передовиками.
У юнити порог входа на порядок ниже уича. И так это и останется. Графониум в юнити уже подтянули Это я как истинный графонодрочер и фанат уича говорю, даже нормальный лайтмап бейкинг завезли. Уич сейчас может только в агрессивную рекламу, но в течении ближайших пяти лет юнити будет выбором индюшатины 1000%
>>545081 В кратце, если ты использовал облако юнити, чтобы сделать свой сервис, то у тебя уже не игра, а платформа и тут уже совсем другие лицензии и отношения. В чём Improbable и провинились, как я понял. >Apparently, you didn’t understand what they were saying. You can still use Unity however you want as long as it’s for your own game. What they take issue with is if you are using a Unity-based server service that you intend to lease to other people for them to use in their games. That’s when your project stops being a game and becomes a platform, and that requires special permissions and partnerships with Unity. And that is what Improbable failed to do for two years, so Unity deactivated their licenses. It couldn’t be any simpler a concept, nor any more evident that Improbable is very clearly in the wrong over this whole situation.
Вопрос по ECS. Вот есть у меня пушка с логикой public Fire() и могу я ей стрелять, перенести в другой проекти и там стрелять. Я понимаю как в ECS обрабатывать множество постоянных данных, типа передвижения, вращения и т.п. А как такие одиночные вызовы перевести? Не уж то гибридный подход? И можно ли будет потом моей пушкой сразу в другом проекте стрелять?
Почему у меня поинт лайт под иногда пропадает полностью, в зависимости от расположения камеры? Радиус, интенсивность, z-позицию покрутил, дело не в них точно.
Здравствуй, Анон. Подскажи, пожалуйста. вот в чем вопрос, делаю примеры с сайта юнити, и в одном уроке для передвижения игрока используется transform.position, а в другом через rigidbody.position, хоть в обоих примерах на объектах есть и rigidBody и коллайдер.
С ангельским у меня не все так гладко, так что мог упустить суть.
>>545076 Когда завтра unity внесут в EULA пункт, в котором будет сказано, что ты обязан стать пассивным пидором и давать в жопу, чтобы пользоваться unity, ты сразу же снимешь штаны со вздохом "ну передовики же, что поделать"? Основная претензия коммьюнити в том, что они внезапно поменяли EULA, чтобы монополизировать облачный хостинг и поиметь побольше бабла, при этом опрокинув кучу студий, которые использовали сервисы improbable и теперь непонятно, что будет с их играми. На реддите уже писали, что сервера некоторых игр закрылись из-за этого.
>>545133 но, если через transform осуществлять передвижение, rigidBody же привязан к объекту?
к тому же, мы же не можем двигать отдельно компонент объекта, мы все равно двигает объект с привязанным компонентом.
Может есть какой-то простой пример, который может явно указать отличия перемещения обоими способами?
И сильно ли влияет, 2Д или 3Д для применения?
//:upd заглянул в документацию, и там такое "If you change the position of a Rigibody using Rigidbody.position, the transform will be updated after the next physics simulation step." но все равно яннп.
поэтому реквестирую >Может есть какой-то простой пример, который может явно >указать отличия перемещения обоими способами? p.s. объебался, да через velocity передвижение
>>545135 transform.position это "божественное" перемещение. Куда захотел, туда и поставил Rigidbody это физика. Куда объект сможет влезть, туда и поставится с просчётом всех коллизий. Гугли Unity lifecycle и читай внимательно, сначала работает Update, потом физика.
Иначе говоря, с помощью transform мы может тупо входить в текстуры, объекты с которыми можем взаимодействовать (подбираемые предметы, например) или же в стены, грубо говоря.
по факту, через tranform можно реализовать простой godMode который позволит проходить через все, например
>>545146 Тру пацаны делают через трансформ.позитион с самостоятельным чеком на коллизии. Т.к. в случае использования перемещения через рб движение получается менее отзывчивое и менее кастомизированое, но в то же время на рб гораздо легче и быстрее написать передвижение.
>>545139 >transform.position это "божественное" перемещение. Куда захотел, туда и поставил >Rigidbody это физика
Чушь собачья. Rigidbody - это готовая модель столкновений с препятствиями, основанной на том же transform.position. Ничто не мешает тебе вместо компонента Rigidbody написать собственную модель столкновений.
>>545119 И не ворох лапши. Пока что программирование лучше всего проявляет себя в кодинге, если можно так выразиться. К тому же, как было сказано, лапша в разы медленнее, так что адекватными людьми даже не рассматривается. >>545123 Если юзаешь много Lights, то в Graphics Settings меняй рендерер на Deffered либо ставь больше лайтов в Forward. Как в новых рендер пайплайнах я хз. >>545132 Нет, я уже подумывал свалить. Посмотрим, сколько моё очко выдержит. >>545131 Считай, с момента добавления RigidBody отвечает за Transform. Если уж добавил его, то двигай его. Но если сильно хочется, то поставь RigidBody kinematic, и можешь двигать transform, но всё же советую продолжать двигать RigidBody.
Анон, как правильно сделать ЗАСКРИПТОВАННЫЕ СЦЕНЫ? Например при событии кубик начинает крутиться, шар скейлиться и где то в анусе воспроизводится голос Тодда Говарда с просьбой купить игру. Как это делать не скриптами на с#? А то если всё это СКРИПТОВАТЬ В СКРИПТАХ на СИСЯРПЕ, то через пять-десять таких вот СКРИПТОВ наступает аутизм головного мозга и каша вместо кода.
>>545264 Сумма взноса возвращается когда игра достигает определённой отметки продаж. Пока ты сидишь с пустыми карманами и кукарекаешь в интернетах на васянов, они рубят по 200-300к руб за говноигру. Спрос порождает предложение, а не наоборот.
Раньше стим был золотой жилой как ещё ранее были таковой жилой флеш игры. Сейчас стало немного сложнее, но суть осталась прежней. Разница лишь только в том, что ввели некоторые ограничения и теперь нужно немного времени уделять пиару.
>>545267 >Пока ты сидишь с пустыми карманами и кукарекаешь в интернетах на васянов, они рубят по 200-300к руб за говноигру. Это мы знаем только единичные удачные случаи, а не удачных случаев намного больше.
>>545272 Такое соберёт пару соток на распродаже, максимум. Я не про такие говно игры, а про те, которые клепают ежемесячно, но с более адекватным графеном и геймплеем. Всякие платформеры, хуёмеры и т.д.
>>545083 >там легко проебатся с указателями и памятью. Ты последние лет 5 в лесу жил? По стандарту 2012 всё идёт нахуй и теперь кресты такая-же няшность как и шарпы.
>>545048 >>545070 Чот толстовато. Юнити сами себе на лицо нассали когда сначала предложили использование движка и мультика на одних условиях, а потом ВНЕЗАПНО решили что условия слишком хорошие и заломили ценник. В некоторых странах это называется мошенничество.
>>545081 Вся фишка уича в том, что он быстрый и резкий как понос. Можно запросто делать FPS шутеры типа дума или того-же торнамента. А это пиздец как много значит. Когда даже 150-120 FPS дают преимущество. К сожалению Юнити может и похвастается графоном как у уи, но вот в производительности юнити сосёт хуй довольно сильно.
Котаны, есть боги в списке, нужно получить список правослвных молитв, не всем богам можно молится (только 2 из 8), и не все правосланые. Ну я прихуярил к нужным богам интерфейс IPray с TryGetPray(string symbol). Теперь во время инициализации покаяния можно перебрать список богов и узнать можно ли молиться богу с помощью опретаора is, и если так то произвести каст с помощью оператора as и уже тогда попробовать получить нужную молитву ? А правильно ли делать так? Какие есть другие варианты? Можно помесить богов в список <Ipray> и обойтись без кастов, но а что если там десяток интерфейсов?
>>545311 >не подкрепляя ни чем свои слова Эм... Ну возьми и скомпиль какую-нибудь 3d игруху. И ахуей как долго она грузится на компе. А потом сделай тоже самое в Анриале.
>>545315 >Научишься в адекватное общение - приходи. >Перешёл в оскорбления >Так и не подкрепил свои слова доказательствами >Ретировался, обвиняя другого в неадекватном общении и не стесняясь при этом перейти первым на личности >Научишься в адекватное общение - приходи. И тут я потерпел сокрушительное поражение.
>>545326 Нет, не пилили. Если ты имеешь ввиду гейм фреймворк, то это к движку не относится, а ты не относишься к компетентным в данном вопросе людям. >Раст >аналогичный на UE4 >Фортнайт\Батл рояль, Анриал Исправляй. А то я скажу SUPER HOT.
>>545328 Тут скорее проблема в том, что бумер-UE уже ветеран, индустриальный стандарт, зарекомендовавший себя, к тому же эпики сами на нём клепали шутеры как рекламу в т.ч. То же самое с CryEngine. А зумер-Unity ещё молодой, шутливый, ему всё в новинку, поэтому и каких-то серьёзных превью-шутанов на нём нет. Юнитеки этим просто не занимаются почему-то, кроме как на юнайтах. Но это не значит, что их не может быть. Да я и не уверен, что их нет.
>>545337 Мобильные платформы нынче дорого раскручивать. Необходимо покупать трафик чтобы отбивать разработку. Казуалки для пека легче т.к. есть кураторы, есть каналы, которые рады обозревать говно и есть дискорд. Игроки покупают часто их ради карточек, которые позволяют отбить покупку и даже заработать чутка. Для виара ещё легче т.к. индустрия пока подобна пикрилейтед и пипл хавает даже 20 минутное говно.
Итак, пачаны, SCP-087 залит в стим и пока жду аппрува, решил запилить что-нибудь ещё. Изучив рынок выбор пал на создание виар симулятора тира, только с PBR графеном, классными звуками и реалистичным поведением оружия заклинивание, передёргивание затвора, псевдоотдача и т.д. Я в юнити говноед, как и в моделинге, но раз судьба дала мне виар в самое лучшее время для клепания на нём говна, то значит нужно учиться и улетать на гоа ебать проституток-ваших мамок badum tsss%%
Собственно вопрос в том, не мешаю ли я своими постами-репортами или мне лучше укатиться в свой тред и там семенить?
>>545358 Ты видимо не совсем понимаешь как нужно работать. Выпускать нужно игры, аналоги которых покупают чтобы не создавать свой рынок с нуля. Люди будут покупают твоё говно т.к. они поиграли в одно говно, им зашло, но надоело и они хотят ещё. По этому они купят и твоё говно. Даже если твоё говно окажется хуже, они его всё равно купят, но уже в меньшем кол-ве чем если бы твоё говно было топовым и vice versa. Алсо почему такое говно покупают - всякие vr румы и прочие параши на таких вот говноподелках выезжают изи. Среднестатистическому васяну в виар руме интересно не по лестнице спускаться, а пострелять в какую-нибудь хуйню. Больше спрос = выше вероятность рубануть бабла. И в отличии от нынешних говноподелок от кириллов за 30 руб, виар говно стоит по 15-20 далларов за игру.
Короче, можешь скринить, тир принесёт мне чёрный гелик в старом кузове в течении полугода после релиза. А мультиплеерный шутан в виар вообще сделает меня богаче абрамовича.
>>545367 В печах бы сжигал таких выблядков, как ты. Нахуй в геймдев пришел? Иди на базар, торгуй турецкими шмотками в палатке с хачами, нахуй ты сюда-то лезешь? Геймдев это творчество, тут не место таким пидорасам.
>>545398 Не волнуйся, для таких как он существует естественный фильтр - критическое мышление и здравый смысл. Умный человек быстро смекнёт, развод на далары перед ним, или нет. А глупый, глядишь, умнее станет.
>>545392 Ну вот теперь круто и Юнити догнал по графену уток. Беру свои слова обратно. Надо будет посмотреть что они там понакрутили чтобы FPS не проседал. По ощущениям будто ускоренное видео.
>>545431 Да они хуйней какой-то занимаются, запекания обоссанные, препилили систему материалов, теперь непонятно как карты туда закидывать. Постоянно места настроек меняют, заебали петухи.
>>545450 Они отказались от p2p. Хотят чтобы их новая система была заточена под выделенный сервер. Вроде как в древней системе, но ведь еще в юнити4 это все уже было, играл во всякие слендермены.
Частенько, делают public переменные класса, чтобы потом задавать через инспектор значения. Я понимаю, когда мы создаем, например публичную переменную GameObject, чтобы сделать ссылку на какой-либо объект или префаб, но вот есть ли смысл это делать для всяких Vector3 (или классика - SPEED) и прочее, что все равно потом ручками в инспекторе забивается?
При более серьезных вещах, так ведь не нужно делать и лучше все забивать в скрипт, когда уже есть стопроцентная уверенность в значениях.
Или в офф туториалах это просто показано так, для удобства и понимания?
Есть ли какие-нибудь подводные камни, кроме удобства редактирования значений через инспектор?
Сап двач. А как вы организуете поставку обновлений для ваших игорей? Например сегодня я запилю поделку где эльфы набигают, а хавтра я захочу чтобы меня атаковали голые аниме трапы. В форме горничных. Как сказать скачанным клиентам "Эй, обновитесь блядь!"?
>>545519 Движок у эпиков и так норм. А вот ассеты для него - пиздец полный. Даже те, что за деньги заставляют меня плакать. В итоге какому-нибудь инфи типа меня писать игори вообще нереально. Если программирование и продумывание истории с рисованием карт я вывезу сам, то именно текстурирование и наполнение для карт я уже должен покупать раба в блендером и художника.
>>545521 >Движок у эпиков и так норм Норм по меркам 2005. Выпускать такое в один год с юнити - свинство. Юнити задал новую планку UX.
>А вот ассеты для него - пиздец полный А ты не думаешь, что это связано? Юнити - это унифицированная контент-платформа, а уеч - это куча собранных вместе софтин, которая работает через жопу и кое-как.
>>545523 >А ты не думаешь, что это связано? Юнити - это унифицированная контент-платформа, а уеч - это куча собранных вместе софтин, которая работает через жопу и кое-как. Знаешь, я на самом деле так не думаю. Просто потому, что и в Юнити треде найду человека который также скажет что Юнити плохо, а анриал - лучшее решение эвар. Как по мне, у меня есть выбор из этих двух и я рад. Хотя на деле у каждого свои недостатки и я сосу два хуя.
>>545556 >Популярность юнити не с печки же свалилась. Ну да. Так-то у нас такой огромный выбор этого всего... А, нет. у нас всего выбор из 2 движков. Отсюда и популярность.
>>545503 Даже с gameObjectом зачастую так делать не нужно. В двух словах, если тебе нужно менять значение только из инспектора, делай его [SerializeField] private. public нужен, если ты собираешься получать к нему доступ из других скриптов. А если только из скриптов, можешь вообще переводить поля в свойства, они гораздо более функциональны.
>>545358 https://steamcharts.com/app/450540 > over 2k reviews > avg players online 200 per month Да даже если считать прибыль только по кол-ву отзывов (2.7к), то это в районе 1к $/mo. И это только самый минимум, который можно посчитать. По факту у него куплено овер 100к копий игры, что принесло ему половину новой ламбо до налогов сша. Создатель за всё это время так рубанул бабок, что сидит теперь и жиреет 24/7 онлайн бесплатно с вайфу виар
>>545503 Подводные камни: всё public будет видно при кодкомплишене, что может вылится в огромные списки предлагаемых бесполезных переменных и функций. Так же любой (объект) сможет всё это менять и использовать, а тебе это не нужно, уж поверь. В целях безопасности и не так мудрят. Типа, замок должен открываться только ключом. Часто так и делают: публичный метод (открыть) который при определённых условиях (вызван ключом) вызывает приватный метод (открыться). То же самое к свойствам, с разницей в том что у них сеттеры/геттеры можно делать разного уровня доступности и в них проверять. Короче, всё сложно, ёпта, кругом обман. Не стоит вскрывать эту тему.
>>545601 Ну может в секретных лабораториях существовали другие движки, или движки типа "Сделай 8 битную хуйню на коленке за 12 минут". Но я имел ввиду что-то более менее современно 3dшное и удобоваримое.
Анон, подскажи, как правильно делать коллизии. Хочу чтобы при броске, нож втыкался лезвием и не втыкался рукоятью. Да и вообще как сделать правильно "втыкание"?
>>545613 Я вот как раз думаю сделать 2 коллайдера, рукоять и лезвие. При коллизии лезвием проверяем velocity.magnitude и дальше уже либо синематик он, либо залупу за воротник. По крайней мере так это у меня в голове
Очередной вопрос к Юнити-экспертам. Сразу предупреждаю, что у меня игра на старой версии 5.6.3, не могу перейти на новый движок. Так что, возможно, просто старый баг. Смотрю летсплеи по своей игре. И замечаю, что у некоторый ютуберов нормально управление работает, а у других не работает либо X/Y ось мышки, либо ось правого стика, если он играет на геймпаде. У меня самого, конечно, все нормально работает на клавомышке и на x-box one геймпаде.
>>545645 >И замечаю, что у некоторый ютуберов нормально управление работает, а у других не работает либо X/Y ось мышки, либо ось правого стика, если он играет на геймпаде. >У меня самого, конечно, все нормально работает на клавомышке и на x-box one геймпаде. Это же юнитиговно, ты что, хотел, чтобы у всех все работало?
>>545645 Вопрос-то где? Проблемы как раз в совместимости, видимо. Бывает. Хотя, если всё остальное работает, может ты перемудрил чего (непонятно, зачем у тебя в оси мыши get motion from all joysticks)?
>>545647 Если бы успех. Там просмотров некоторых летсплеев 100000-200000 штук. Но нихуя я с этого не имею, игра бесплатная. Если ты думаешь, что в топе итча сидят богатые и успешные, спешу тебя расстроить.
>>545653 Вопрос в том, как сделать чтобы работало у всех. Бабла на тестеров нет, естественно. Почему Юнити не может найти корректное устройство и автоматом его прописать в Mouse X и RightAnalogHorizontal при старте игры?
>непонятно, зачем у тебя в оси мыши get motion from all joysticks А там или это или указываешь номер джойстика. Вряд ли оно на что-то может влиять если подключен только один.
>>545655 Может может, но в современных версиях? Мало ли что там в древнем 5.6.3, может там на XP и работало всё у всех. Только ось X не работает? Я понимаю у джойстика, но у мыши... это странно. Может слетает в настройках, когда игру запускаешь, а игроки и не смотрят?
Хотя сейчас открыл экзешник посмотреть настройки и увидел такое. В настройках два джойстика почему-то и RightAnalog оси в Project Settings 4 и 5, а тут 3 и 4. Хуй знает как эта таблица строится.
>>545654 Я разве что-то говорил о деньгах? Сама мысль о том, что я создал продукт, который доставляет удовольствие сотням тысяч людей уже прекрасна. Разве это не успех? бтв что за игра-то?
Существует где-нибудь примеры того, как создавать архитектуру проекта? Или тут уж как-то со временем приходится примерное понимание что и как куда кидать, чтобы не сильно мешалось в ассетах? Пока что проекты мои напоминают кучу-малу, но как от этого избавляться, честно говоря, идей нет.
>>545677 Просто классифицируй по общности, как-то так: Animation Fonts Materials Models Prefabs Scenes Scripts Sounds Sprites Terrains Textures Unsorted Prefabs можно поделить например на Characters (/Orcs, /Humans), Gear (/Weapons, /Armor), Items (/Keys, /Food), Environment (/Foliage, /Architecture). Классифицируй как хочешь, исходя из логики и здравого смысла. Модель допустим может вместе с материалом и текстурой в отдельной подпапке в Models лежать, а в Textures всякий generic, который на кубы лепишь. > как-то со временем приходится примерное понимание что и как куда кидать Да, но лучше сразу начинать.
>>545659 >Я разве что-то говорил о деньгах? Сама мысль о том, что я создал продукт, который доставляет удовольствие сотням тысяч людей уже прекрасна. Разве это не успех? Бро, не все могут в карма йогу и в чистые действия.
>>545668 Нойс. Алсо посмотрел порнотред, там вместо игроделов какие-то макаки клепают визуальные новеллы на пайтоне. Всё крайне рукожопо и иногда даже неиграбельно. Единственно что доставило - игра про виндраннера, и та блядь из одного уровня.
>>545270 Это и есть неудачные случаи. А об удачных вы и не узнаете - человек с норм деньгами будет сидеть и тихо радоваться, ему эти ваши двачи нахуй не нужны. Деньги тишину любят.
>>545305 Не пизди. Кто 90к в год зарабатывает - на дваче не сидит.
>>545521 > Движок у эпиков и так норм. Серьезно? А почему же тогда вся индюшатина на юнити?
>>545525 >Просто потому, что и в Юнити треде найду человека который также скажет что Юнити плохо, а анриал - лучшее решение эвар. Какая разница, кто что скажет? Игры где блядь?
>>545612 Это ж что такое писать нужно, чтобы пришлось юзать филды вместо пропертей ради производительности?
>>545706 >с норм деньгами будет сидеть и тихо радоваться, ему эти ваши двачи нахуй не нужны. Деньги тишину любят. >Кто 90к в год зарабатывает - на дваче не сидит. Какой-же у тебя зашоренный манямир. Я тебе по секрету скажу, деньги не у того, кто всякую околомагическую хуйню как ты рассказывает, про тишину и про это вот всё, а у того, кто вьябывает. Причём вьябывает много и по делу. А так, ну да, в тредах было много дебилов которые пытались продать HELLI WORLD по 40 баксов. И почему-то для тебя неожиданность что они провалились.
>>545707 >у некоторый ютуберов нормально управление работает, а у других не работает либо X/Y ось мышки, либо ось правого стика, если он играет на геймпаде. Вот что он написал. А я написал как это фиксить.
>>545706 >ему эти ваши двачи нахуй не нужны. У миллиардеров свои секретные двачи с доступом по секретному пасскоду за 100 баксов, ага. Анон, у тебя на самом деле пелена на глазах какая-то. Или представление уровня "Вот буду я зарабатывать 10к баксов, буду весь день шампанское пить и бассейне купаться, а двачи заброшу." Нет, это не так работает.
Двощь, как можно передать(из компонента А) в другой компонент(Б) метод(фуу), который будет вызван внутри этого компонента(Б)? Идея в инкапсуляции логики, компонент Б не знает о компоненте А, он только вызывает метод, который лежит у него в переменной. Условно говоря, каким образом в шарпе передать ссылку на метод? UnityAction должен быть без аргументов, а мне нужно передать определённые аргументы
>>545736 SendMessage вызывает метод у всех чайлдов. Мало того, что это не рационально, так это ещё и требует вызова этого метода в самом верху иерархического древа предполагаем, что древо сверху-вниз. Не подходит.
>>545750 >компонент Б не знает о компоненте А >Передай ссылку на третий объект Итого получается, что мы имеем дополнительную сущность, которую хардкодим в другие компоненты (а значит и потом выпиливать заебёмся), которая выступает прокси между компонентами... На выходе получается не модульное, раздутое на пустом месте решение. Для чего? Для того чтобы не использовать стандартное решение делегатов и ивентов в шарпе? Я конечно всё понимаю, но какое бы говно я не делал, код не должен так сильно вонять.
>>545751 С делегатами он воняет сильнее, имхо. Потом тебе потребуется сохранять локальную инфу, отложить время выполнения, увеличить количество аргументов.
>>545702 Я же писал, старая версия. Возможно уже пофиксили. >>545705 Но это решение совершенно через жопу. Юзерам лень виндопроблемы решать, они хотят включить и чтобы все работало. Алсо, я собираю и тестирую из под Windows 7. Сам билд x86, а не x64, чтобы даже у нищебродов на 10-летней пекарне запускался. >>545707 Возможно им просто лень настройки трогать.
>>545708 Зарабатывает тот, кто делает только то, что нужно аудитории. И кто максимально эффективно свои ресурсы использует. Так-то можно быть дохуя специалистом по крестам, писать свой движок и вкалывать как папа Карло под оптимизацией проекта. Но не факт, что это окупится.
>>545767 Ну камон, бро, мы же на геймдев-доске. Главная заповедь гейдева в том, чтобы у юзера все работало на его говне без усилий с его стороны. 10 лет назад можно было еще заставлять игроков делать такие вещи. Но сейчас, игрок просто пошлет тебя нахуй и побежит качать другую игру.
Не знаю, я уже на x86-архитектуру думаю. Возможно на последней десятке какие-то проблемы с драйвером вылезают из-за нее.
>>545781 А то по видосу не видно. Там контроллеры под HTC Vive вроде. Контроллер персонажа обычно идет из пакета интеграции с такими штуками, если анон его сам не писал.
>>545781 Да, под окулус и вайв с моушн контроллерами.
>>545783 >Контроллер персонажа обычно идет из пакета интеграции Там не совсем контроллеры персонажа, просто префабы с камерами и контроллерами. Все интеракционные моменты уже делаются руками кроме базовых типа use, grab, touch
>>545741 >Кекнул Мань, у меня 10 лет опыта C# и 5 лет опыта unity. Раз я говорю использовать SendMessage, значит ты должен заткнуться и использовать SendMessage
Анчоусы, какой посоветуете курс по C# где разбирают особенности языка, но чтобы НЕ для лохов которые учат первый свой язык. А то чувствую себя не очень уверенно в языке, не понимаю неймспейсы, импорты, нагет пакеты и тд. На данный момент знаю пистон и жс. Курс можно на инглише. Нашел курс https://stepik.org/course/3944 . Как думаете, годнота? Или забить на это и проходить туторы по геймдеву на юните и дальше знание фич само придет?
Где можно прочитать про оптимизационые трюки C# для юнити? Например я узнал что лучше объявлять массив с известным числом элементов, например new List<T>(256) так например при добавлении нового элемента массив не будет пересоздаватся и не будет теряться процессорное время. Или такой трюк объявлять класс как sealed, что оптимизирует работу компилятора.
>>545894 Лучше сразу изучать C#-релейтед и бэст практисы, тем более если человек сам проявляет интерес. Понятно, что тормоза как правило вызваны не филдами вместо пропертей, а сотней Update с GetComponent и Instantiate/Destroy. Но обычно такие проблемы как раз у тех, кто своевременно не интересовался оптимизацией.
Всегда пользовался proGrids но впервые он поломался и никак не лечится. Сносил и ставил заново прогрид из мэнеджера и из ассет стора, сносил и ставил сам юнити. Форум этих ушлепков закрыт, на форуме юнити не нашел решения.
Всегда все работало внезапно наебнулось при перезапуске проекта.
Поясните тупому, как в этом вашем юнити делать лайтмапы для модели и baked освещение. Импортирую модель, перед этим генерю ей второй UV канал. В юнити ставлю галку "generate lightmap UV". В свойствах объекта ставлю галку Static. Захожу в Lightning, отрубаю "Realtime global illumination", включаю "Baked GI". По идее для моей модели должен теперь генериться лайтмап, как для всех объектов в сцене? Если я включаю baked освещение, модель становится серая, не освещённая. Террейн освещается при этом запечённым светом. Что делать дальше не могу допереть, как осветить модель?
Ну што? Проснулись, подтянулись, улыбнулись, виарщики. Пришло время доделать scp. Релиз запланирован на конец января, вольво благословило магазин. Будем допиливать функционал.
Итак, у меня при спуске по лестнице сцп есть девочка, которая плачет (лоуполи говно, сделанное на коленке). Идея расширения функционала такая: Игрок когда спускается к ней получает затемнение экрана хедсета и она исчезает. Я собираюсь переделать этот момент чтобы игрок появлялся в помещении sort of dorm ибо сцп в кампусе же после затемнения. Игрок начинает бродить, собирая БУМАЖКИ привет, слендермен Там будет какая нибудь хуйня, например это будут листы с дневника. Помещения будут освещены, но не как днём. Генерацию уровня сделаю через разрезание помещений на тайлы и комбинации их в рантайме. Таким образом получится сорт оф процедурная генерация. Собрав все листы игрок сможет покинуть помещение и вернутся на лестницу.
В чём же сложность гейплея? В том, что за игроком будет гоняться призрак привет слендермен х2. Убегать от призрака в виар - так себе идея и по этому лучше сделать геймплей основанный на hide & seek. При появлении призрака свет будет мигать, давая понять игроку, что пришло время прятать очко. Но чтобы не заморачиваться со всякими хуйнями типа где прятаться я решил сделать К Р А С И В О. Игрок будет дышать в игре и это будет геймплейной механикой. Чтобы перестать дышать игроку нужно будет поднести свой motion controller к лицу (как в реале мы подносим руку к лицу), тем самым он задерживает дыхание. Задержать дыхание можно на определённое кол-во времени, для игрока это будет отображаться в виде потемнения экрана до полной темноты, где полная темнота == смерть от удушья. Так же игроку нужно будет не двигаться чтобы призрак его не видел.
>>545965 Хотя, я так подумал... Нахуй псевдо процедурную генерацию, лучше сделаю рандомные места для спавнов бумаг и запилю несколько уровней, повествующих откуда взялся этот бабский плач.
>>545970 Скримеры это классика, которая не устареет никогда.
>>545971 Ну дунно. Можно сделать чтобы игрок через силу начинал дышать, игнорируя руку. Это сейчас не принципиально важный вопрос.
>>545972 Они жалуются на звук. Там просто и правда высокий писк, я специально выбирал. На самом деле у меня и эмбиент звук вызывает чувство заложенных ушей, но на это вольво не жалуются, а значит похуй.
>>546005 Да хуй с ним. Сделал чтобы при полном затемнении кадра игрок начинал дышать с отдышкой. Так и игроку будет понятнее что происходит, и мне похуй т.к. на игровую логику это особо не влияет
>>546009 Спс. Теперь не знаю по какому из двух вариантов пройтись. Думаю в итоге по этому буду учить, там вроде тем даже больше. Но не уверен что все они полезны для гейдева
>>546005 Бля, а можно без потери сознания, просто заходишь в игру, находишь призрак трапа и он насилует тебя в сраку. Опционально надо сильнее на него подышать. Я бы такую игру купил.
>>546294 А нахуя? У тебя оно уже захлебывается на 4 капсулах, 14 миллисекунд на фрейм это пиздос. На этом говнище речь о сотнях, максимум тысячах, какие тут миллионы объектов. Сейчас бы делать компонент классом и хранить в куче, пиздос.
>>546298 >У тебя оно уже захлебывается на 4 капсулах, Во первых это не компилированный рендер, а пререндер движка. Во вторых у него вполне себе может стоять какая-нибудь некрокарта.
>>546299 Там gpu занимает 0.3 секунды, остальные 14 - cpu, так что вряд ли проблема в карте. Надо просто принять, что нужно выбрать что-то одно из "c#" и "быстродействие", особенно если речь о ecs
>>546298 Я мимо шел и просто стало интересно насколько быстрее баннимарк будет с ECS на юнити. классический баннимарк не выдерживает и 7к кроликов в 60 фпс не держит. Если что баннимарк это 2д бенчмарк.
>>537360 (OP) Сап, юные натуралисты, подскажите как делаются игори типа диаблы, в проекции будто 2.5d? Изометрические чтоли, или не знаю как это точно называется.
>>546162 > Я перфекционист и хочу использовать только самые оптимизированые и правильные методы. Ты не перфекционист, ты долбоеб, который хочет вычистить унитаз вилкой. На самом деле даже не унитаз, а огромную конюшню на табун лошадей, и не вилкой, а зубочисткой.
>>546301 >Надо просто принять, что нужно выбрать что-то одно из "c#" и "быстродействие", особенно если речь о ecs Одно другому не мешает.
>>546322 >ты долбоеб, который хочет вычистить унитаз вилкой. Не будь таким грубым анон. >>546162 Но ты действительно не осознаёшь что обьём работ с C# бесконечен, а на изучение даже малой доли уйдёт года 4. Просто бери что есть и работай с этим. Так проще и быстрее. А отдельные элементы всегда проще нагуглить чем с нуля сразу пилить архитектуру.
>>546322 >Ты не перфекционист, ты долбоеб, который хочет вычистить унитаз вилкой. На самом деле даже не унитаз, а огромную конюшню на табун лошадей, и не вилкой, а зубочисткой. Из за таких как ты криворуких разработчиков даже хеловорд тормозит.
>>546323 >Но ты действительно не осознаёшь что обьём работ с C# бесконечен, а на изучение даже малой доли уйдёт года 4. Все я осознаю, я 5 лет делал парсеры на шарпе и знаю почти все подводные камни.
>>546419 Кстати, стим даёт интересную статистику по трафику. В теории изучив алгоритмы работы можно получать хороший органический трафик выпуская аналоги на трендовые игры
>>546426 >выпуская аналоги на трендовые игры Если у тебя нет в команде 5-10 толковых умных ребят то пока ты выпустишь свое аналоговнет уже в тренде будут совсем другие вещи.
>>546427 Ты не прав. Ты почему то считаешь, что игра должна быть трипл А уровня. Возможно в тебе говорит юношеский максимализм, а возможно ты просто не хочешь понять, что люди играют даже в лютейший кал ибо им это нравится. И это есть у всех. Например мне нравятся хуёвые хоррор фильмы, которые сняты на коленке, с хуёвой актёрской игрой, псевдодокументальным стилем и нихуя не страшные. Просто они мне нравятся потому, что они до тупости забавно пытаются тебя пугать В наше время выпустить индюшатинку много времени не занимает. Тренды - не вспышки, они имеют определённый довольно продолжительный срок жизни, за который можно очень неплохо навариться.
Теперь я понимаю почему на хайпе DayZ появились всякие WarZ и аналоги и понимаю какой же охуенный кусок пирога они откусили в своё время. Чисто на органическом трафике получить огромные прибыли это топчик.
>>546430 >WarZ Кстати, это вот отличный пример того как дёшево рубануть бабок на тренде. Тот, кто помнит какой хайп развернулся в своё время вокруг мода для армы и как после выхода в early access standalone версии DayZ, которая висела в топах продаж без скидки во время новогодней распродажи, поймёт как же озолотились создатели WarZ, которая была просто жалким китайским кривым подобием дейза, но при этом даже она имела свою какую-никакую, но аудиторию
Пол-треда обсуждение кто сколько заработал, кто сколько хотел заработать, как заработать больше, где заработать больше, что сваять, чтобы заработать и т.д. Охуенный геймдев-тред, чё.
>>546438 Потому игры сейчас и дерьмо потому что делаются для сиюминутной выгоды а не ради создания великого шедевра, хотя потребители тоже виновны том что покупают и жрут говно.
>>546438 Итак, я тупой тридцатилетний быдлан, который пытается вкатиться в геймдев, но т.к. тупой нихуя не получается. Поэтому спрошу здесь.
Дано: сфера, вокруг которой на определённом расстоянии должна вращаться камера (вращать саму сферу не вариант). С грехом пополам вспомнил школу и курс тригонометрии в чухане, чтобы вычислять координаты. Но с вращением камеры ума не дам. Короче помогите разобраться
>>546454 Для таких целей, создается пустой объект и помещается дочерним в в сферу которая не крутится а в коде ты делаешь так transform.Rotate для пустого объекта, камера же существует дочерним объектом того пустого объекта и крутится вместе с ним.
>>546459 >но хотелось бы всё равно решить задачу, исключительно чтобы понять В этом нет смысла, тебе дали высокоуровневые функции, пользуйся, делай ШЕДЕВРЫ, нет не хочу, хочу делать велосипеды.
Если хочешь понять как действительно оно все работает то заходи на сайт https://www.geogebra.org и там экспериментируй.
>>546322 Не, ну некоторые хорошие практики нужно значть, чтоб не писать хуиту типа FindWithTag(), FindObjectOfType() и т.д.
Оптимизировать сразу не нужно, ясенхуй. Но сдругой стороны, писать откровенный треш и надеяться потом соптимизировать глупо, т.к. хуевый изначальный подход может помножить на ноль все дальнейшие попытки оптимизации - когда прийдетс всю игру переделывать.
>>546484 Лучше иметь плохо оптимизированную игру, чем хорошо оптимизированное нихуя. С учетом ограниченности ресурсов именно второе у местных адептов оптимизации и получится в итоге.
>>546527 > кинула юнити Я просто проигрываю с того, какие юнити-фанбои куколды. А что им надо было делать после того, как у них отжали лицензии и забрали возможность вести бизнес дальше? Сказать "ну ладно, раз юнити-бояре так велели, значит закрываемся"?
>>546521 юнити послушали отзывы коммюнити и теперь это открытая платформа. но если хочешь использовать имя и лого юнити в рекламных целях, ты должен быть официальным партнёром.
>>546534 для рекламы своего сервиса. что не так? это может создать например ложное впечатление, что твой сервис как-то официально связан с юнити и ты можешь навредить бренду. это нормальная практика
>>546541 Юнити считается плохим движком только среди мамкиных борцунов с двача или вконтакта. Взрослые дяди считают её годным и универсальным инструментом.
>>546550 Анриал они считают годным и универсальным, и готовы платить отчисления, а юнитиговно это для школьников, которые бегают по всем тредам и верещат - ЮНИТЯЯЯЯ!
>>546514 Юнитеки слишком мягкие. Контора перепродаёт технологию, причём год не шла на контакт с юнитеками и морозилась. Отзыв лицензий был бы абсолютно логичен. Причём эти improbable ещё и нагло пиздели, лол. Слишком мягкие, крайтек небось бы по судам затаскал.
>>546563 >Публичный имидж unyti Так он и так уже находится на уровне унитазного слива, при слове "юнити" первая ассоциация у всех людей вокруг - обосранные школьники, битардия, ассет флипы со скидкой 95% в стиме. Смысл им так париться?
>>546573 Это такой шаблон проектирования. 1. В классическом способе все объекты в оперативной памяти располагаются хаотично из за этого процессору тяжело такие данные доставать из оперативной памяти а в екс данные объектов располагаются последовательно. 2. В классическом способе функция Update вызывается столько сколько есть объектов в сцене за один кадр к которым прикреплен С# cs файл из за этого теряется производительность, в екс функция Update вызывается только один раз за кадр для всех объектов. https://blogs.unity3d.com/ru/2015/12/23/1k-update-calls/ 3. Удобство написания кода и поведения для объектов.
>>546578 >объекты в C# >располагаются последовательно в памяти Проиграл. Так-то в C# не напишешь нормальный аллокатор, поэтому любая реализация ECS на нём - не более чем карго-культ и пародия на полноценные языки, где такая реализация возможна.
>>546593 У того чувака там классы - >>546278, зато SEALED, оптимизация, хули. Компилятор он оптимизировал, а что данные будут рандомно лежать по куче - это похуй.
>>546727 >>546729 1. Ядро юньки написано на крестах. 2. Unity ECS хранит данные в неуправляемой памяти используя специальный класс native array. 3. Массив ссылочных типов хранит ссылки, массив типов значений хранит сами значения.
А теперь съебите оба, у меня уже лицо болит от фейспалмов.
Стим заапрувил билд, теперь игра 100% выйдет в стим. Поебавшись чутка с помещениями я внезапно осознал сколько гемороя при создании живого окружения. Моделить кровати, столы, стулья это ещё ладно, но ведь нужно ещё и придать окружению эффект ЖИВОСТИ. В общем, решил отказаться от этой хуйни. Пока думаю как лучше всё обыграть чтобы не тратить огромное кол-во времени на это дерьмо. Возможно нужно пересмотреть core функционал и сделать что-нибудь в духе амнезии
Игре не хватает интерактивности, хоррора и разнообразности... Можно попробовать пойти путём 087-b, а интерактивность добавить за счёт простых головоломок типа найди ключ, включи свет, вставь предохранитель и т.д. Это же и добавит разнообразности чутка, но тем не менее это сожрёт и времени дохуя, а я хотел сделать небольшой пресс-релиз. Беда...
>>546752 Идиот иди основы шарпа учи и не позорся. List<Person> people = new List<Person>(3); people.Add(new Person() { Name = "Том" }); people.Add(new Person() { Name = "Билл" });
Юнити-кодеры-про, зелень нуждается в помощи. Собрал приложение на 5 сцен с простыми скриптами (код любезно одолжил у кого-попало), обычное приложение со ссылками на сайты. Писал под андроид, изначальное разрешение было 800х640. Вместо нормальных кнопок зафигачил картинку и поверх неё текст для кнопки. В итоге после компиляции при разрешении фулХд всё поплыло по П. Вопрос к знатокам - как сделать статичное разрешение экрана приложения, чтоб оно не катилось к собачьим черенкам при открытии. Настройки юнити там, или скрипты..
Анон, расскажи как нужно правильно делать сейвгеймы с маленькими скриншотами. У меня сохраняет сериализованные данные о том, о сём, нормально достаёт их и восстанавливает состояние игори, но вот со скриншотами я что-то не понял, как надо.
>>546836 Ну хуй знает тогда. Тогда сохраняй скриншот, побайтово переписывай его в сейв, каждый раз при запуске игры - доставай оттуда. Это конечно охуеть как опрятно.
>>546782 >С екс мин к/с 50 Это не екс, а какое-то позорище, настоящий ecs - это например specs в amethyst, он у меня после 100к активных объектов начал проседать ниже 60 фпс.
>>546957 >Как это мешает ему быть одной из самых быстрых многопоточных реализаций ecs из всех существующих? Вот когда в amethyst будет графон как в юнити тогда эти тесты можно будет сравнивать.
Прошлый https://2ch.hk/gd/res/528048.html