24 декабря Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!
Юнитаны, поясните дебилу, почему в этом коде при старте игры выдается >NullReferenceException: Object reference not set to an instance of an object TwoSidesCover.calcCover () (at Assets/Scripts/TwoSidesCover.cs:20) TwoSidesCover.Start () (at Assets/Scripts/TwoSidesCover.cs:62) http://pastebin.com/8zdyrXXV При клике на объект эксепшн не выскакивает, только если засунуть CalcCover в старт.
>>292959 У тебя currhit это RaycastHit, а ты в 20 строчке пытаешься достать из него transform: currhit.transform.GetComponent<NodeMaterial> () - вообще бессмысленная хуйня какая то.
У УЕ4 есть комиссия по этике, Твоя игра не должна нарушать закон, под которым может быть что угодно вплоть до иска от тумблерин у Юнити есть что то подобное?
И ещё - как лучше переремещение сделать? Пилю игру где надо будет управлять танком и он наверное должен не мгновенно останавливаться. Вводить какую-то свою переменную скорости или просто добавлять силу при нажатии кнопки и отнимать эту силу при отжатии?
Как я понял суть в следующем: есть состояния и события, из одного события в другое есть переход. Например у нас в игре 3 состояния: меню, загрузка уровня, сама игра(представим что такая архитектура). И мы делаем так что из меню мы можем перейти в загрузку уровня, а оттуда только в саму игру, но при этом сразу перейти из меню в саму игру нельзя. Я на верном пути? И ещё про события какие-то там пишут, но я так понял это просто разная реакция на события в зависимости от состояния, так?
>>293230 Агам, именно оно. Оно позволяет, в частности, избегать деревьев if при правильном проектировании и, что намного важнее, не допускает промежуточных состояний, что исключает целый класс багов. На нем пишут в основном контроллеры, анимацию и AI.
Бля почаны, нужна помощь. Есть один GUIText который надо показать в определенный момент, а не постоянно. Как это сделать? Есть ли у него метод какой нибудь, типа GUiText Sraka.text метод текст в котором пишут текст который хотят вывести.
>>293623 >Ну на ось можно хуй положить. Ну если только ты кликер какой-нибудь делаешь, но тогда вообще не понимаю, зачем может понадобиться переназначать клавиши
Вы ведь понимаете, что распидорасило может спокойно пилить заготовочки? Ведь у него одна и та же игра уже трижды вброшена в пределы твг. И он обещал новую часть, а это значит что он может хоть сколько угодно заготовить.
Нихуя не знаю про шейдеры. Хочу написать двухсторонний шейдер для спрайтов, принимающий свет и тени от трёхмерных объектов и других спрайтов. Начинаю потихоньку курить мануалы. Буду благодарен, если опытный анон подскажет поконкретнее, что почитать, какого типа шейдеры мне нужны, и какие приёмы следует изучить, чтобы побыстрее справиться с поставленной задачей.
Игроделы, халп! При загрузки билда происходит долгая загрузка первой сцены (серый экран после логотипа Юнити (да, бесплатная версия)), даже если ставлю первой пустую сцену. Что делать, куда смотреть?
http://pastebin.com/W72Sxrmb Суть вот в чём: игрок вращается в определённую сторону на w,s,d,a(можно одновременно w и a например) и движется вперёд. Когда игрок ничего не нажимает он начинает останавливаться, когда скорость движения очень маленькая он переходит в состояние idle. Все правильно сделал? В принципе движение игрока меня устраивает.
А вот это https://youtu.be/4FSeuQ7UjrM идеальный вариант, сам им пользуюсь, брат зависим, жив есть. Но тебе для того чтобы его вкурить надо очень хорошо понимать ооп, ты должен уметь в контракты интерфейсы и, в идеале, понимать что такое события и делегаты этот пункт на первых порах не так важен
>>293891 Имхо чот дохуя ифов, суть стейтов же именно избавиться от ифовых конструкций. Но кагбэ если тебя страивает движение и скорость - чому бы и нет.
Двигаю игрока через rigidBody.MovePosition (transform.position + transform.forward forwardSpeed Time.fixedDeltaTime); в фиксед апдейте и он двигается рывками. Причём я понаблюдал вблизи - такое ощущение что он подвинулся вперёд, потом скачок назад(очень маленький), потом опять вперёд. Что это такое?
Привет! Помогите, какая то хуйня происходит, не знаю почему. У меня есть иксодовский проект, который я собрал на винде. Когда жму архив, он на этапе linking выдает вот эту хуйню:
Undefined symbols for architecture arm64: "_OBJC_CLASS_$_SKStoreProductViewController", referenced from: _OBJC_CLASS_$_CustomStoreProductViewController in UnityAds(UnityAds) "_OBJC_METACLASS_$_SKStoreProductViewController", referenced from: _OBJC_METACLASS_$_CustomStoreProductViewController in UnityAds(UnityAds) "_OBJC_CLASS_$_CTTelephonyNetworkInfo", referenced from: objc-class-ref in UnityAds(UnityAds) "_OBJC_CLASS_$_ASIdentifierManager", referenced from: objc-class-ref in GA_UserID.o ld: symbol(s) not found for architecture arm64 clang: error: linker command failed with exit code 1 (use -v to see invocation)
Обычно все проходит гладко, когда я собираю на маке, такая хрень произошла после сборки на винде. Гугл молчит. Пересобрать на маке сейчас не могу, а мне надо побыстрее выложиться -соснуть хуйцов заработать миллион- соснуть хуйцов.
Подскажите, как средствам unity networking реализовать сетевое взаимодействие с выделенным сервером и матчмэйкингом, как в каком-нибудь дотане. У меня получилось сделать нечто похожее, но игра при этом хостится на клиенте.
>If Rigidbody interpolation is enabled on the Rigidbody, calling Rigidbody.MovePosition results in a smooth transition between the two positions in any intermediate frames rendered. This should be used if you want to continuously move a rigidbody in each FixedUpdate.
>If the rigidbody has isKinematic set false then it works differently. It works like transform.position=newPosition and teleports the object (rather than a smooth transition).
Если тебе нужно двигать ДИНАМИЧЕСКИЙ ригидбади, для этого есть сила и импульс.
>>294226 Реклама и все остальные плагины рабочие 100%, много раз собирал с ними, все работало нормально. Единственное отличие в том, что я собирал под виндой проект, а не под маком.
>>294249 А есть что-то в текущей версии юнити, чего нет в твоей, но очень сильно тебе нужно? Ты бы почитал список фиксов и изменений, для начала.
Может случиться, что ты заебешься переписывать код под новый апи, а может - только одну строчку сменить. Все зависит от твоей и текущей версии. Как правило лучше не выебываться, если далеко зашел. Особенно если при этом еще и ассетов натаскал. Чужой код разгребать хуже всего.
>>292629 (OP) Вопрос скорее для интереса. Вот представим я пилю игру уровня ксенуса. Как сделать "круг отрисовки" и как его регулировать ? Ведь большие площади убьют если их разом рендерить. И второе, как обставить что бы ИИ симуляция работала даже когда игрок её не видит ?
А как в юнити с ООП? Вот я хочу класс оружие к примеру, делаю там виртуальный метод атака. Потом делаю несколько новых скриптов-компонентов которые наследуются от оружия и реализуют метод атака. Потом где-то в скрипте которым контролю игрока вытаскиваю компонент оружия из геймобжекта оружия и вызываю из него атаку. Так можно делать? Или тут тоже самое как-то по-другому можно сделать?
>>294739 А если я хочу сделать несколько видов оружия и у каждого свой эфект стрельбы и своя моделька - как мне это лучше всего сделать? Я конечно могу сделать ебанутый компонент оружие, в нем хранить тип оружия и при атаке ифом проверять тип и делать что-то, но я не хочу так делать. Как нормально это сделать можно? Вот если бы я с каждого оружия мог один и тот же компонент получить(реализующий интерфейс оружие например) и обращаться к нему - было бы здорово. Так можно?
Пилю под мобилки, нужна максимальная производительность.
>>294746 Да, композиция через интерфейсы и строится. Создаешь, например, интерфейс IMagazine, и делаешь кучу разных магазинов, которые этот интерфейс реализуют. И через интерфейс к ним обращаешься в пушке. Например можно создать переменную magazine и в неё передать объект класса IMagazine, и при необходимости просто назначать вместо старого новый, а старый удалять.
Магазин правда весьма хуевый пример, для него интерфейс это дикий оверхэд. Но вот если у тебя есть десяток видов патронов, как в борде, это имеет смысл. Типо есть магазин с взрывными пулями, а есть с зажигательные, и у них разное поведение.
Принцип композиции это когда ты берешь абстрактную винтовку, создаешь на ней интерфейс "планка пиккатини" и к ней хуяришь все что тебе может понадобиться, при желании заменяя это на ходу.
В случае с наследованием тебе бы пришлось создавать десяток ебаных пушек наследников, что намного хуже воспринимается мозгом чем простые навесные модули.
Что касается производительности, то не юзай SendMessage, это очень дорогая функция. Ну и рефлексию не юзай. И не генерь тысячи объектов, чтобы в следующем кадре их удалить, кешируй. Такие дела.
Посоны, помогите заебошить ахуевшую турельку в 2д залупе. Ебусь уже пол дня, запиздячил ахуевший скрипт, чтоб находила моего пиздюка, но эта пизда не хочет крутится по оси Z, зато по остальным осям скачет как Наташка на хуйце Ашота.
Поясните за Луну. Солнце могу и на скайбоксе вращать (создал геймобжект и солнце внезапно вращается вместе с ним) А луну не могу сделать. Ибо с ней такой темы нет. Мне делать отдельную камеру которая в узком фокусе будет луну держать и у которой дальность отрисовки овер 9000 ?
>>294810 Тоже вчера муда посмотрел. Охуел конечно с того как сталкер до сих пор непревзойден. Фоллач после него смотрелся польским шутером без баллистики и интеллекта врагов.
>>294768 Я провел следующий тест: в первом случае получение компонентов через интерфейс и вызов метода. Во втором случае SendMessage. И в третьем случае кеширование компонентов с интерфейсом и самостоятельный вызов метода. Как видно, каждый раз производительность падает вдвое. При этом в целом SendMessage работает достаточно быстро, и игра по его оптимизации просто не стоит свеч. Вывод: пишите SendMessage();
>>294878 Лол, то же самое. Делаю игорь с физоном, гигантскими, по меркам телефонов, спрайтшиты и играю на слабеньком телефоне в него без проблем. С тобой что-то не так.
Алсо, даже если такая проблема присутствует в редакторе, то это не значит что проблема присутствует на устройствах. Особенно учитывая особенности сдк под разные платформы и архитектуру самих устройств. Возможно даже что в редакторе это сделано намеренно, как фича, пушо вся эта ебала, запущенная в дополнительных тредах, не подлежит сериализации, и е может быть сохранена в состоянии, которое потом можно воспроизвести после запуска игоря от места остановки.
Как правильно пул объектов делать? Повсюду примеры со всякими пул менеджерами и прочим. Можно сделать просто 2 линкедлиста - один с активными, другой с неактивными объектами?
>>294880 >>294882 Сам себя не похвалишь - никто не похвалит. Давай пруфы твоей гигантской игры которая и с говнокодом не тормозит на слабеньких телефонах
>>294887 Лол, ну если под гигантской игрой ты понимаешь что-то совсем охуеть большое, то сходи и поиграй в столбы. На моем некролептопе не тормозит. И вообще завязывай с толстотой, а то становится просто неприятно тебя кормить.
>>294890 Флаппи берд это механика. Она о комплексности игры ничего не говорит. Сам сходи и посмотри, о чем речь. Алсо, вышла вторая часть игры, с которой я свою и клонировал. Написана на либгдх, ручками. На той же мобилке - тормозит безбожно. Шах и мат.
>>294902 Если порассуждать логически, то хуюнити и не должна их завершать, но определенную головную боль и подводных камней это явление накидать таки может.
>>294902 За целый день непрерывной работы с хуюнити, когда каждые 3-15 минут запускал проект, ничего не вылетело и не зависло, при том что в сцене было до тысячи объектов. Так что похуй.
Привет пачаны, такое дело. Какое приблизительное количество полигонов должно быть на сцене? Ну например, сделал пустынную локу тиррейн 2к*2к + скалы/пещеры/проходы + растения + практиклсы, в итоге - 3 ляма поликов. Для моего старого ноутбука (7 лет давности), это сложно осилить Даже Robocraft, на низких шел в 40 фпс если просто в небо смотреть, и падал до 12 в замесах. Скайрим на средних в 30 фпс, лол Так вот, какие должны быть границы в количестве полигонов на сцене для мидл/топ пк?
>>294911 Дело не в том, сколько полигонов у тебя в сцене, а сколько ты их обрабатываешь на экране. Все остальное за тебя сделает юнити, с правильной подстройкой, разумеется. Начни, например, с того, что правильно настрой куллинг, батчинг и позаботься, чтобы твои компоненты работали когда это действительно нужно (при рендере, в радиусе от камеры етц).
>>294924 Батчинг - нативная фишка юнити. В официальных доках есть и описание, и руководство. Советую почитать, перед тем как задавать такие вопросы и приплетать не относящиеся к делу вещи.
NGUI + uGUI Посоны, такой вопрос: у меня весь интефейс пока был на NGUI и все собственно утсраивало, но вот подвернулся компонент на ассетсторе 10 из 10, то что мне надо. Но беда в том что он до мозга костей сделан на uGUI. Отсюда возник закономерный вопрос: можно ли и рыбку съесть и нахуй съесть? Они будут работать вместе/паралельно? Кто-нибудь с таким сталкивался?
>>294978 Через 10 лет хуюнити станет универсальным движком вообще для всего, даже появятся официальные плагины, превращающие его в редактор трех и двухмерной графики, моделировать ядерные взрывы будут в хуюнити, собякин презентацию новой москвы будет показывать в хуюнити, новые криптомессенджеры недоступные для петухнадзора будут на хуюнити, и даже небо и аллах
Что лучше для оптимизации - SetActive(false) или Destroy? По идее первое может иметь нагрузку, потому что остается в сцене, хоть и выключено, а второе удаляет вообще. Но может я ошибаюсь. В игре по сути объектов на сцене мало, поэтому такая маленькая оптимизация погоды не даст, но на будущее заранее знать хочу.
Собственно вопрос. Если я запилю мультиплеер на unet и сделаю аутентификацию путем парсинга файлика XML например с запущенного в Headless Mode клиента-сервера. Будет ли это на работать и какие подводные камни.
>>295000 Подводные камни в том, что юнет доступен ПРО пользователем и там нужно платить за трафик. Лучше смотри в сторону Фотона. Они уже давно на рынке и скоро релизнут ещё Bolt со подключённым стим-апи, который идеально подходит для авторитарного сервера. И релизнут какую-то крутую замену PUN'а. Юнет пока полностью отсасывает у них.
>>294992 Рекомендуют именно пул объектов, потому что удаление будет дёргать сборщика мусора, а это может порождать фризы. Но тут ещё многое от платформы зависит.
>>294978 Гамак гнется от оверпрайса, а не от того, что ему много годиков. Не путай хуй с пальцем. Если бы не это, то для мобилок по популярности гамак бы был впереди планеты всей. Среди гуманитариев, естественно.
>>294992 Оптимизация - это в превую очередь мозги. Если тебе не нужен объект в данный момент, его нужно отключить. Пушо инстансировать его потом намного дороже. Если тебе он вообще больше не нужен - удалить.
Лол, я тут только что понял насколько все хуево у неофитов. Не то что игры, даже болванки еще нет, а уже все рвутся в оптимизацию. Оптимизация, блядь, это не то, чем нужно заниматься с первых секунд. Если у тебя хуевый клон тетриса не тормозит на целевой платформе, нахуй вообще тратить время на оптимизацию? Оптимизируйте когда в этом есть необходимость, а не ради самого процесса.
>>295005 >пул объектов Каким образом пул относится к удалению или сборке мусора? Пул это просто список. Что ты с ним будешь делать в итоге, то и вылезет тебе потом боком. Я уже не говорю о том, что сборку мусора можно проводить и вручную.
>>295036 Нахуй такие конструкторы, в которых аж 12 параметров? Оптимизируй данные тогда. Для конструктора достаточно, например трехмерного вектора, вместо трех параметров x,y,z. Вообще я еще не встречал таких конструкторов, чтобы аж 12 полей понадобилось.
>>295038 Сократил до 7, но как-то даже хз, на какой стул сесть: плодить структуры, или оставлять кучу параметров. Структуры пока удобнее кажутся, впрочем.
>>295041 Ну ты же в любом случае используешь какие то общие классы для этих данных. Утрированно у тебя есть классы, обладающие какими-то общими свойствами. В конструктор ты отправляешь класс, а уже в самом конструкторе достаешь из класса нужные данные. Не могу объяснить конкретнее, потому что не знаю с какой целью ты плодишь по десятку параметров и для чего тебе такие монструозные конструкторы нужны.
Вопрос. Как реализуют ии в стратегиях ? Ну в плане если человек думает ага, нужно НАЖАТЬ на это окошечко и нажать исследовать такую теху, то как делает ии ? Пикрандом
Посоны, устанавливаю материалу текстурку по умолчанию, потом в коде меняю на другую сплошной цвет но получается пикрелейтед, как пофиксить? подозреваю что что то с альбедо и той синей хуйней справа, но хуй знает что делать
>>295049 >>295051 Хорошо, но как ИИ собсно понимает когда отдать команду на это. А ведь бывают разные ситуации в том же стелларис я бывало отбивал планеты и по идее исследование (точнее его длинна по времени) удлиннялось.
>>295083 Когда совокупность условий удовлетворяет требованию на исследование. А если удовлетворяет нескольким, нужно формировать приоритет, в зависимости от других условий. Это все на уровне алгоритмов и блок схем. Нарисуй на листке бумаги и тебе станет проще.
Первый вопрос: если обновлю apk в гугл плее, все сохранения у пользователей удалятся? Второй: как нагуглить уже готовый ассет густой слизи, консистенции густой краски или чуть более жидковатой сметаны, ну вы понимаете? Что бы плотность и текучесть можно было подкрутить под свои нужды скажем так.
Можно ли сделать так, чтобы при нажатии кнопки на сцене 1 в сцене 2 предмет становился неактивным или дестроился? То бишь допустим игрок нажимает на рычаг в первой сцене, а во второй, которая по сути еще не запущена, куб удаляется? Как сделать это из одного скрипта? Сделать его статическим?
>>295025 >Каким образом пул относится к удалению или сборке мусора? Хранишь объект - он не удаляется.
>что сборку мусора можно проводить и вручную Ты лишь можешь попросить среду сделать тебе одолжение. А что в результате она сделает - хуй знает. У тебя нет прямо доступа к очистке памяти.
>>295220 Нельзя. Тебе нужен класс, который хранит инфу о нажатии рычага. При загрузке новой сцены, это класс нужно обработать, и произвести нужные действия.
>>295222 >Ты лишь можешь попросить среду сделать тебе одолжение. Нихуя. Можно заюзать pile и ложить хуй на GC. Из минусов - это путь деграданта, будешь байтоёбить и сосать хуи. Почти такая же педерастия, как кресты, но не кресты.
>>295159 гугли Fluid Simulation, еще в сети вроде был очень-очень старый общедоступный скрипт с уткой Rubber Simulation, там был набор параметров также для "Желе" как вариант, возможно просто удастся использовать компонент Cloth?
Если нужен не особо интерактивный эффект, вроде капающей из разбитой трубы слизи, проще всего наверное будет сделать вертексную анимацию в каком-нибудь 3д редакторе, типа неколько состояний: накапливание массы, вытягивание в каплю перед моментом отрыва, сжимание в шар в момент полета, и плюханье на пол с брызгами и растеканием, а в юнити уже управлять блендшейпом кодом в зависимости от "фазы"
>>295222 >хранишь объект - он не удаляется То есть привести его в нужное состояние менее ресурсозатратно чем инстансировать новый или удалить старый? Пул это не универсальная волшебная палочка. Держать десяток пустых объектов, чтобы не создавать их каждый раз - хорошо, держать десяток объектов с кучей параметров - не очень. У всего своя цель.
>сделать тебе одолжение Я бы сказал - дать распоряжение. Да и что в результате сделает система тоже ясно - очистит память, если это возможно. Рано или поздно. Как бы то ни было, а ручная сборка мусора все равно станет вопросом. Я столкнулся с неприятными проседаниями именно из-за ненужной автоматической сборки. Каков бы не был ее результат.
>>292629 (OP) Как сделать что бы персонаж поворачивался мышкой ? Есть уже готовые скрипты на обзор мышкой, и двжение персонажа. Остаётся лишь что бы он поворачивался по горозионтали в зав-ти от положения мышки.
А если я делаю GetComponent<Huyunity>(), и на этом геймобжекте висит компонент Velosiped, который реализует интерфейс Huyunity, то я получу этот самый Velosiped?
>>295405 Нет. Если будешь юзать гитхаб бесплатно то любой сможет на основе твоего проекта свой сделать, но именно в твой лезть не сможет. Менять в твоем могут те кому доступ даш. Ещё есть битбаккет, там бесплатно можно закрытые репозитории делать, которые никто не сможет видеть кроме тех кому доступ даш.
>>295412 >>кококо гитхаб не гит, кукарек социалочка хипстерки кудах > >найс рофлиш братишь)) для тебя и яндекс.фотки с фотошопом одно и то же, я погляжу.
>>295435 Значит ты должен получить тот компонент, который есть, а из него уже получить то, что тебе нужно. Разве не очевидно, что при попытке получить доступ к компоненту, которого нет, ты получишь нулл?
Персонажи прорисованные (как в Брейд) не "пиксельные", с ИК-скелетами, адон спрайт&бонс. Довольно большие и сложные, чтобы мне было западло делать спрайтшит.
Потребовалось заанимировать кое-что посложнее чем "шаги, прыжки, бег" А если быть точным - катсцены. И тут начинается пиздец - если, например, у персонажа по катсцене падение, до поворачивание и перемещение Hip почему-то действует на персонажа и остальные анимации, всё адово глючит, выворачивается. Нужно сделать флип тела в обратную сторону - пиздец. Поднять сброшенную шапку - пиздец (ведь она привязана к телу/хипу) и т.д.
>>294330 >Толсто. Почему толсто-то. В сущности этой простой алгоритм который автоматически находит переходы между состояниями т.е. тебе не надо их хардкодить. Пусть у тебя небольшой оверхед и поначалу кажется что обычные состояния сделать проще, но преимущество goap в том, что у тебя получается декомпозиция всех состояний. Ты в любой момент можешь добавить и удалить любые состояния без имзенения строчки кода! Это короче как ООП архитектура vs компоненты
>>295388 > А если я делаю GetComponent<Huyunity>(), и на этом геймобжекте висит компонент Velosiped, который реализует интерфейс Huyunity, то я получу этот самый Velosiped?
Нет, ты получишь его интерфейс. Но для тебя разницы почти не будет.
>>295011 Бред. Надо изначально делать правильно, а не быдлокодить, а потом полировать говно. Это как делать все переменные пабликами, чтобы не париться с вызовом, а потом мол в конце выставлять им правильные протектеды.
>>295510 Почему тогда все работает, я делаю Weapon c; c = GetComponent<Weapon>()(хотя такого компонента нет, но есть который реализует этот интерфейс), вызываю метод Attack и все работает?
Самый лучший и правильный способ сделать хитбоксы? Я сделал так: к костям привязал квадратные коллайдеры, сделал их триггерами, приделал риджидбоди, чтобы работал обсчет столкновения. Потом снаряд со своим коллайдером при столкновении вызывает функцию урона. Проблема в том, что засчитывается очень коряво и через раз. В чем хуевость моего подхода? Мне кажется, что функция GetComponentInParent тяжеловесная, а она вызывается при каждом "ударе". Может из-за этого плохо срабатывать? Или что еще? Ах, и что нужно выставить в риджидбоди в полях Interpolate и Collision Detection чтобы срабатывало? У меня снаряд быстрый, я выставил соответственно Interpolate и Continuous
>>295799 Ну, у меня очень специфичный снаряд, наверное лучше было бы пример с мечем привести. То есть на снаряде висит коллайдер, а движение обеспечивается анимацией. Наверное так бы я сделал с мечем, у которого есть анимация атаки.
Кажется я понял в чем причина. У меня хитбокс не всегда включен, а его включение и выключение контролируется скриптом. Так вот, если его всегда включенным держать, то проблем нет, значит ли это что скрипт может не успеть его активировать до столкновения? Такое возможно?
Пилю игру в отрыве от стаковерфлоу и интернета вообще, поэтому делаю много костылей >есть сцена 1 там есть объекты, они скриптом то актив, то пассив >подгружается сцена 2 - там свои объекты >потом обратно сцена 1 и все объекты ресетятся в начальное состояние. >а хочется чтобы сцена подгружаась в том состоянии в каком ее оставили. Подскажите как в юньке разумно передать данные между сценами? Пока только публик статик дунотдейстройонлоад
>>295844 >Сериализация >Разумно Кек. Сериализация нужна чтобы сохранять в файл. Зачем сериализовать данные об объектах, если их можно хранить в их девственно первоначальном виде?
>>295852 Ну в любой поток, какая разница-то. Суть в том, что зачем что-то сериализовывать, а потом полчаса десериализовывать все во время загрузки, если можно просто сохранить, например, Vector3. А в случае классов ты вообще просто копируешь ссылку и все.
>>295856 У тебя два десятка объектов, у каждого помимо трансформа и/или физических свойств, нужно еще сохранить приобретенные в ходе игры свойства. У каждого объекта они могут быть разными. То есть для каждого такого объекта нужно написать метод сохранения свойств, в методе определить конкретные для каждого объекта свойства. Потом это нужно куда то передать, и при подгрузке уровня определить, каким объектам какие свойства вернуть. Сериализация намного упрощает этот процесс.
>>295860 >То есть для каждого такого объекта нужно написать метод сохранения свойств, в методе определить конкретные для каждого объекта свойства. Сам Кармак так делает.
>>295861 Вот я об этом и говорю. Такая лента для каждого объекта это чересчур, когда добрые дяди сделали все за тебя, и нужно только брать и пользоваться.
Сап двач-геймдевач-юнитач, подскажите, куда класть глосс мапу в юнити? Я знаю, что раньше, спекуляр нужно было положить в альфа-канал к дифьюзу, но теперь для него вроде как отдельное место запилили, может и глосс куда-то в альфу зашивается, подскажите ньюфаундленду. '1 пик - глосс; 2 - спекуляр; 3 - настройки в юнити; 4 - различия между глосс и спекуляр картами.
Сап, аноны Пилю 2д парашу Камеру в ней запилил такую, что она следует за гг, но если подходить близко к краям уровня, то тогда будет видно то, что находится за уровнем (где текстур нет) Как лучше всего сделать , чтобы камера останавливалась и не шла дальше за героем на краях уровней?
>>295869 Конечно, это самый типичный фикс для пустых мест уровня, но мне нужно именно камеру останавливать >>295870 Это, конечно, самое простое, но мне кажется, что можно как-то сделать получше, поскольку у меня рандомная генерация уровней, и поэтому не получится заранее задать границы
GUI на CanvasGUI. Текстуры как то странно рендерит, не как в фотошопе. А получается что-то типо слабовыраженного Overlay из фотошопа. Весь юай по пизде из-за этого. Гугил много - ничего. рандомпик
>>295876 Короче бля, делай две палки по бокам от камеры, делай для них рельсы на уровне, чтобы они по ним скользили за игроком, подключай под это дело физику и катайся за игроком как поезд по шпалам. Охуенно же.
Вопрос на миллион - как затолкать в сцену миллион копий одного спрайта? Попробовал префабом через Instantiate - получил почти 2 гига занятой оперативки. Он там, наверное, еще и сам спрайт миллион раз скопировал в оперативку. Как нормально всё по ссылка попередавать? Можно, конечно, собрать GameObject в коде, но через редактор же как-то можно по нормальному?
>>295854 Используй JSONUtility от юнитеков. От нее не такой пизданутый оверхед, как от всяких там плагинов из ассетстора с рефлексией. Но это говно для тупых пидоров, нормальный пацаны давно порются в protocol buffers со скомпилеными сериализаторами данных. Да "сложно", да, муторно, зато ничего быстрей и компактней ты не найдешь. А кармак этот ваш хуесос и быдло.
Котаны, поясните за A*, как организовать структуру для не двумерной сетки, то есть с лестницами и вторым этажом находящимся над первым, как работать с этим в двумерном массиве?
>>296016 >>296075 Я тоже как-то пробовал назначать переменные через эти поля скрипта. Оно как-то ебануто работает, через раз. В документации юнити я про эти поля вообще ничего на нашел.
>>296078 Подразумеваю что в двумерном массиве лежат сведения о проходимости к которым я обращаюсь путем вычислений из вектора позиции агента, ну ты понял..
>>296145 Дебил, ни один движок тебе разом миллион спрайтов не отрисует. Иди лечись уже, а потом руки вправляй. И про партиклы почитай тоже, чтобы хуйней не заниматься.
>>296160 Ах да, этот пикси не выдает даже 60 фпс при двух кроликах) Представляю какой у него запас прочности с игровой логикой и двумя тремя мегапиксельными тайлсетами. Огонь!)
>>296160 >>the browser could not allocate enough memory for the WebGL content На калькуляторе двачи читаешь? потому что у меня даже на телефоне все работает
>>296170 Это наверное тот даун, которого собственный браузер унижает и не дает скачивать файлы с ргхост. Не ебу что за поделие у него. Браузер Куранина какой-нибудь
Анончики, у меня вопрос, суть такова: допустим я хочу сделать так, чтобы часть модельки светилась сплошным цветом, а часть не светилась и была простой текстуркой, как это лучше реализовать? В голове у меня два варианта: либо разделить модельку на две части, получить уже две модельки с разными материалами, либо взять первую модельку и ещё на этапе моделирования накидать на неё два материала, где мне нужно. Т.е. что будет лучше - одна моделька с двумя материалами или две модельки, у которых по одному материалом на каждой?
>>296205 Можно обойтись и 1 материалом, ты для свечения свою "текстуру" (маску) задать можешь
>одна моделька с двумя материалами или две модельки, у которых по одному материалом на каждой Для движка разницы никакой , но работать проще с одной моделькой
В стандартном шейдере есть Emission, добавь туда текстуру, в которой альфа 100 - области светимости, альфа 0 - несветящиеся области. И потом в рантайме скриптом можно управлять светимостью и цветом свечения.
>>296149 какую геймплейную механику или эффект ты хочешь сделать при помощи нескольких тысяч йоб? Мегамультилеерный понг может быть? Или дохуядцать-в-ряд, а? Или это будет такой прям пиздец какой красивый взрыв, что сотни тысяч искр-йоб, каждая размером в пиксел будут мельтешить на экране, покрывая его плотным шевелящимся слоем? Да, каждое приложение имеет свои технические ограничения. Ты хочешь сказать, что вот конкретно вот это технологическое ограничение вот этого конкретного приложения мешают тебе творить твою нетленку? Ты непризнанный гениальный художник-артист-программист, да???
Что за вечные проблемы с экспортом из блендера моделек с анимацией? То хуй знает в какую позу встает, то вся модель косоебиться, то какие-то ошибки вылетают. И самое главное, что результат зависит от какого-то рандома, иногда нормально, а иногда через жопу. Как стабильно и нормально то импортировать в юньку?
>>292629 (OP) хэлоу сасаны, Есть телефон ведроид Alcatel One Touch Evolve 2 , на котором непонятно что за графический контроллер стоит и как SM поддерживается. Короче,есть шейдер пост эффект:
Pass { Ztest Always Cull Off ZWrite Off Fog { Mode off } CGPROGRAM #pragma vertex vert_img #pragma fragment frag #pragma fragmentoption ARB_precision_hint_fastest #include "UnityCG.cginc"
>>296223 Просто сохраняю .blen прямо в проект, все подхватывается корректно. Ну, сохранять в object mode надо конечно же ну и location-rotation в 0 сбрасывать и scale в 1, ну это наверное не влияет. Раньше тоже были проблемы какие-то, после переустановки операционной системы все норм стало.
MonoBehaviour.OnDestroy с аттрибутом [ExecuteInEditorMode] выполняется не только при намеренном удалении объекта, но и при нажатии кнопки Play. Как отличить эти две ситуации в скрипте? При выходе из PlayMode OnDestroy тоже вызывается, но эту ситуацию можно отловить по вызову OnApplicationQuit как раз перед OnDestroy. К сожалению, при входe в PlayMode этот метод не вызывается.
>>296329 Свои напиши. Хотя я уверен, что у какого-то ассета партиклов вполне есть задание траектории, а ты просто вообще не понимаешь, о чём говоришь и что вообще происходит.
>>296335 Я хочу, чтобы было бдыщь бдыщь во все стороны, а потом некоторые подлетали и делали восьмерку в воздухе, а другие складывались в лаконичную фразу "я тебя затралил, пидрила".
>>296246 Ну вот к примеру хороший кандидат на 2д блокбастер: jetpack squad, взрывов там много, но явно меньше миллиона спрайтов на сцену.
У тебя походу мутация штамма той инфекции, при которой люди говорят "главное - когда много полигонов", "главное - когда много герц" и так далее. Осознай и попустись короче.
Привет, Кириллы. Нужна помощь с шейдером. Задача: требуется шейдер для двухстороннего отображения спрайтов, принимающий свет и тени от различных объектов, а так же корректно отображающий прозрачные части спрайта. С помощью гугла и кучи примеров, собрал монстра Франкенштейна, который соответствует всем требованиям кроме последнего: прозрачные спрайты отображаются некорректно (см. картинку). При добавлении #pragma alpha спрайт перестаёт принимать тени. Подскажите, как допились шейдер, чтобы всё нормально работало. http://pastebin.com/gNXGYqY1
>>296490 это значит что нет интерполяции. значения обновляются только во время ключевого кадра. нужно, например, чтобы переместить камеру без интерполяции с одной точки в другую
Добавил всего-то 20 моделек 1.5к полигонов, 256х256 текстуры с стандартным спекулар шейдером и фпс упал. Из настроек шейдера использовал только эмишон, альбедо и спекулар, то есть совсем немного. Это норма для этого шейдера и проблема во мне или так и должно быть? Алсо, мобильные шейдеры не садят фпс совсем, но там нет необходимого мне emission. Можно как-то просто сделать шейдер с необходимыми параметрами?
playmodeChanged выполняется после запускаАноним25/08/16 Чтв 09:56:07#413№296538
Необходимо, чтобы какой-то код (скрипт) выполнялся: 1) в режиме "редактор" до CustomEditor OnInspectorGUI(); 2) в режиме "игра" в редакторе и в билде перед запуском скрипта Start().
Знаю питон и си, с чего начать изучение юнити? На сайте какая-то дикая куча материалов, документация, платные курсы, есть какой-то гайдлайн в каком порядке, что учить? Еще есть на курсере курсы по геймдеву на юнити(https://www.coursera.org/specializations/game-development), вообще скажите, что годно, что не годно.
Посоны, как заставить аниматор принудительно остановить анимацию и проиграть другую? А то эти жидополоски заставляют персонажа при смене анимации (например движение-бездействие) продолжать анимацию еще несколько миллисекунд, а это выглядит просто уебищно.
>>296611 юнити отдельно, шарп отдельно. хотя у шарпа базовый синтаксис то не сложный.
>>296610 я не нашел как это сделать красиво. очевидный путь - сделать анимацию короткой и повозится с переходами анимации из одной в другую, но отзывчивость таких переходов все равно как-то не очень.
Это вы о том, что (например) если заставить персонажа идти, то, как не ебись с настройкой перехода, он обязательно ещё пол-секунды проскользит по поверхности айдлом пока не переключится на шаг? Это пиздец как бесит.
>>296628 и не пытался я свободный от задротства человек, зачем мне весь этот крестобатхерт, когда все что мне нужно я могу легко и просто сделать на шарпе, и еще время на побухать остается?
>>296536 Спасибо, нужно будет украсть shader forge. А можно как-то модифицировать стандартный mobile defuse шейдер, добавив к нему emission? Или это приведет к потере производительности?
>>296766 лол, я чекбокс сам налутал методом тыка и аутического прочесывания аниматора. Но нихуя не изменилось, в двадэ анимация так и осталось говном. Мимо-другойгейделевореп.
На сайте юнити очень много инфы, мне нужно сделать проект для курса cs50, хочу сделать 2d платформер, что нужно конкретно знать, чтобы это реализовать, си шарп уже начал учить.
>>296791 Бля, базовая геометрия нужна, какой-нибудь тьютор Unity Platformer Tutorial, понимание складвания векторов, понимание работы C# скриптов в Юнити (уметь отличать Update() и FixedUpdate(), этому в тьюторе научат)
А вообще вот этот анон прав >>296792 - тебе что, реально лень было погуглить тьюториалы в сети? На курс cs50 он записался, а самого главного - искать и усваивать инфу - не умеет.
>>296852 >книги по программированию >читать лол. эти книжки пишут умственно отсталые дауны. в них ничего кроме банальностей и воды нет. если полный н0ль (хули это в спам-листе, блять) читай официальный мануал по c# на msdn
Безмозглые школьники сагрились. Дауны, книга это системный подход к обучению, а ютубовые ролики и чтение справки урывками - это бесистемная праша с кучей пробелов и отсутствием общей картины изучаемой области.
>>296856 >хули это в спам-листе Спасибо очкопидору.
>>296858 Системный подход говновузика незаметен. К счастью, в век цифровых технологий любую информацию можно добыть из интернета, и образовать из контента собственную систему, персональную а не унифицированную для дегенератов.
>>296868 Фрилансер с 100к/сек защищает свою гордость за то, что он научился программировать на ютубе. Собственная система у него, блять. Это называется костылями.
>>296870 Лол, вот это бабах. Костылями называется то, чем ты по клавиатуре стучишь, когда в сотый раз свои темплейты переписываешь по книжке которая еще и морально устарела до выхода.
>>296871 Хуя ты проецируешь. Может ты сам даун, который думает, что книжки нужны, чтобы темплейты с них переписывать? Пока у меня не было интернета и у бати моего, когда он сам начинал кодить книжки были пиздец какой полезной штукой. Сейчас из актуальных книжек стоит почитать разве что какие-нибудь фундаментальные, про алгоритмы, паттерноебство (тут спорно), разную другую специфику, которая не может устареть. Это помогает избежать многих ошибок. Я изучал (и продолжаю изучать) юнити частично на тьюториалах (на первых порах смотрел как кто че делает), но сейчас у меня свои костыли оформления проектов и свое видение того, как и что надо делать.
>>296875 >книжки были пиздец какой полезной штукой Я и не спорю. 20 лет назад без этого нельзя было обойтись. Но мы уже не там, где 20 лет назад.
>стоит почитать разве что какие-нибудь фундаментальные Что нибудь фундаментальное дают по школьной программе. Если ты после школы и/или говновузика так и не научился самостоятельно работать и информацией, то тебе дорога на стройку а не в айти.
>я изучал (и продолжаю изучать) юнити частично на тьюториалах Так что ж ты, мудила, мне тут про программирование на ютубе визжишь?
>>296877 Я, например, не помню, чтобы в моем говновузике (радиотехническо-паяльном) давали паттерны. Только алгоритмы и алгебру-логику. Так что читал по книжкам.
А про программирование на ютубе я тебе визжу с того, что я кодить, КОДИТЬ СУКА, учился не на ютубе, а на реальных проектах. Тьюториалы я смотрел по, опять же, фундаментальному устройству юнити и редактора. Давай, блядь, разведем тут гнилой срач по поводу того, как зашкварно игры делать, а как - нет. Я просто видал долбоебов, которые изучали кодинг по видеоурокам и слепо брали оттуда темплейты и "Бест практисы )0)", не обладая даже базовыми умениями в нормальный ООП. Писали говно. Учитывая, что половина доски здесь - студентота, а другая половина - двинутые байтоебы, не трудно предположить, что про ютуб затирают первые.
>>296881 >которые изучали кодинг по видеоурокам Я не хочу дальше разводить срач, тем более беспредметно. Просто скажу тебе, что на ютубе, помимо хеллоуворлдов полно интересных лекций, по специфическим и не очень вопросам. А в остальной части интернета - статей (с решением конкретных задач), паттернов (каких хочешь, под любые задачи, а не урощенные для широкой аудитории подходы) и алгоритмов. И все это не обобщения, а материал под вполне конкретные цели. Просто это нужно найти и использовать. Просто твое представление о уроках на ютубе слегка деформировано, вот ты и бесишься.
>>296894 >Перечислил каких-то нонеймов >Считает что они не неудачники Лол. Где их великие проекты. Покажи хоть одну успешную игру какую они сделали. Я больше чем уверен, что это все нестриженые бомжи, которые едят свои мозоли
>>296920 отработать навыки юнитикаляканья без лишнего напряга по поводу выдумывания творческой идеи какой ты гей-девелопер, если ты ещё не додумался до такого удобного способа отработки навыков?
>>296508 >>296761 В общем, мне подсказали, что Transparent с тенями - штука нетривиальная, и проще всего будет сделать Cutoff шейдер. Теперь у меня два шейдера: один с альфой, но без теней, а другой с тенями но все прозрачные области отсекаются, мне норм. http://pastebin.com/5sP2T6cy
Юнитач, решил переписать свою игру мечты с нуля. Как лучше реализовать систему оружия и выстрелов? По прошлому плану у оружия есть метод Shoot, с которым оно испускает из себя рейкасты. Если рейкаст попадает в предмет, то в месте выстрела создаётся султан с партиклами; если попадает в тело с тэгом NPC, то у NPC вызывается метод onHit(урон). Собственно у NPC есть скелет с натянутым на него стандартным Ragdoll, сделанная в редакторе анимация и процедурное вращение рук и головы. Приходится на NPC вешать capsule collider, а рэгдолл отключать - он включается при падении здоровья ниже нуля. Как мне реализовать нормальный хитскан с зонами поражения и падением NPC не мешком, а с импульсом от пули? Если убрать основную капсулу, то NPC начинают уже на спауне пидораситься и летать по карте, потому что ригидбоди на костях частично проходят друг в друга.
Есть камера, есть рука, часть которой все время видима, а часть находится за ней. Так вот, при проигрывании анимации иногда рука перестает рендерится - пропадает. Такое бывает только в полноэкранном режиме. Параметр камеры near минимальный. Это баг или чего-то не знаю?
>>297019 Проходят друг в друга коллайдеры, а не ригидбади.
Выключай только джоинты, не ригидбади и не коллайдеры. Когда рейкастишь выстрел - добавляй маску, для игнорирования капсуля, тогда рейкаст пойдет сразу на коллайдеры конечностей. Усе.
>>297050 > Выключай только джоинты > добавляй маску, для игнорирования капсуля > рейкаст пойдет сразу на коллайдеры конечностей И на каждую конечность вешать свой скрипт? Как лучше найти тогда основное тело, чтобы в него попадание передать?
>>292629 (OP) Аноны, в этом вашем юнити можно всё писать руками? Нелюблю программирование мышкой. Генерация сцен, расстановка объектов и их параметров, подгрузка текстур и спрайтов - вот это всё делается в коде? И если да, дайте ссылку где вот про это написано. пасип.
>>297076 Еще пару недель еботни над бесполезной хуитой "чтоб как в кукурузисе" и ты тоже начнешь делать пиксельную рвань, кирюш. Это если просто не забросишь и не вернешься в свою доцку
>>297085 Ну ладно про подгрузку текстур я перегнул может, мало смысла заниматься этим динамически, лучше заранее все в память загрузить и сделать это можно и мышкой, но вот генерация и расстановка объектов, расчёт их параметров может быть нужна динамическая. А если нужна, то нахрена учить два способа (мышкой и в коде), если некоторые вещи без кода не сделаешь?
>>297089 Ты, блядь, долбоеб, сын шлюхи, что ты собрался учить в ПЕРЕТАСКИВАНИИ мышкой? Как ты вообще здесь сидишь, не умея пользоваться МЫШЬЮ? Ебал я в рот таких аутистов. Свет мне блядь на сцене красиво расставь кодом, ебанат. В чем твоя проблема, мудила? Что тебе мешает взять и сменить положение любого объекта динамически, сука? Этот ебанутый тред пробил очередное дно.
Нужно между уровнями плавно менять оттенок объекта. От середины "крайнего" зелёного (например) до "углового" белого. Как высчитать точно интервал/индекс между градациями, если, например, уровней 9.
Есть персонаж с анимацией, следовательно skinned mesh. Необходимо на короткое время запечь skinned mesh в просто mesh, деформировать mesh и вернуть обратно в skinned mesh с сохранением деформации. Такое возможно, и если да, то как?
Как узнать координаты краёв объекта, а не его центра? Допустим есть плоский гекс, а мне нужно выстроить в ряд десять таких. Как узнать координаты следующего гекса?
>>297089 Ну давай разберем по частям тобою написанное. Складывается впечатление, что юнити ты не открывал, да и кодить не умеешь. Советую тебе ознакомиться с азами программирования, а потом задавать тупые вопросы. Проанализируй и сделай выводы.
И вот пошёл я вечером гулять — люблю вечером. Почему-то вечером всегда мокрой землёй воняет, вернее — земляной водой. И кайф поэтому. Читаю я на бетонном заборе: "МИРУ МИР", и пружинка у меня под ногой: БЗЫНЬ. А солнце обалденное светит и от мово лица отра- жается и ещё светит. Наступаю я сапогом на газету, а это кусок "Омской правды". Остановился я, надавил каблуком — гляжу, под давлением из газеты омская правда в чистом ви- де выступила, растеклась чёрной лужицей, затвердеть гро- зится и пахнет, как свежий поролон. Я конечно не стал уни- жаться, упускать шанса, взял, да и намазал ей свои новые хромовые сапоги. Сразу засверкали, запахли, как свежий поролон, иду дальше. Вижу — мальчишки подожгли и всё сожгли, кроме большой кучи битых кирпичей, сваленных в виде домов и городов. И человек в мягкой шапке всё суе- тится, помочиться хочет, да, видно, страшно ему, бездомно среди этих несгораемых кирпичей. Но ему недолго осталось — это по его глазам видно. Кайф, миротворный вечерний кайф меня распирает. Одел я респиратор, чтоб наружу не просочился, но разве с ним сладишь. Просочился. И так и сочится дальше, оставляя за мной свежий кровяной след на шоссе. А солнце обалденное. И шёл я так вдоль свалки мусора и вещей пока не догадался, что сам представляю собой очередной мусор — и как понял я это, так сразу и уви- дел специальное место для себя среди огненной болотной травы и резиновых грузовиков. Как только я расположился, всё вдруг и встало на свои чётко неопределённые места, прямо как по цветному телевизору. И можно было бы, конечно, на этом и закончить, если б не пружина под ногой — бзынь.
Однажды иду любуюсь вдруг чувствую мне что-то в харю пихается —глядь, а это кукиш — это я гляжу, а одна моя рука мне кукиш кажет, то есть это моё сверхэго мне фигушки демонстрирует. Ну, тогда моё эго взяло и тоже фигушку сверхэгу показало — другой рукой. Вот так я и иду — одна моя рука мне в рожу кукиш суёт, а во второй тоже кукиш, но уже на вытянутой дистанции. Вот этак мои эго и сверхэго воюют. Я взял и намазал сверхэгов кукиш полы- нью, чтоб хоть пахло-то приятно, как мятная жевачка у самого носа то есть. И иду я так по свалке, и обдувают меня ветры смрадными зловонностями — а я ничего и не чувствую — ведь у меня под носом крепкая полынная вонь. Вот так я и шёл, потом пришёл. Смотрю — гора. Сел на самый краешек над коричневой речкой и сразу успокоился.
На моём лице с самого утра упорно проступала улыб- ка. Я прилагал все старания, чтобы загнать её внутрь, под холодную липкую кожу, но она с лёгким шелестом про- ступала вновь и вновь. Прохожие останавливались оборачи- вались их указующие на меня пальцы вытягивались в подзорные трубочки и змеились. Я ничего не мог поделать с этой улыбкой — в ярости я со всей силы пизданул по ней звонким кулаком — она прямо так и полезла наружу. Я взмахнул руками засмеялся и побежал.
Как сделать цикличный скроллинг карты как в Civilization, когда дойдя до края карты начинает отображаться её начало? В голову приходит только сделать цилиндр и вращать камеру вокруг него.
>>297140 Смотря как у тебя реализовано игровое поле.
Если брать в пример цивилизацию, то игровое поле может быть представлено как массив данных о ячейках. Информация из этого массива, передается для отрисовки на камеру определенных частей массива (видимых для камеры ячеек). В таком случае отрисовки берется нужное количество данных из начала массива и из конца.
Если же у тебя это монолитный кусок меша и его никак не разбить на части, то можно использовать несколько камер. Одна работает постоянно, а другая включается только когда мы выходим за края уровня. Рендеришь из этих камер в текстуру в нужной позиции (собираешь из двух кусков один кадр) а потом выводишь текстуру на экран.
>>297129 Смотрел, BakeMesh прекрасно работает и создает статичный меш из skinned mesh, но вот как сделать из статичного меша skinned? Одной функцией это не сделать. Нужно будет натягивать скелет и как-то рисовать вес в юнити? Такое возможно?
>>297128 Программирование я немного знаю. Могу без напряга реализовать вот эти ваши тетрисы, крестики нолики или морской бой по сети или с аи (последние два делал теста ради). Юнити открывал, смотрел пяток видео уроков. Ответа на вопрос не увидел, поэтому решил уточнить. Дело в том что я не просто так спрашиваю. Когда я изучал wpf на шарпе, то там визуальную составляющую можно писать тремя способами. Мышкой, кодом xaml (как xml кто не в курсе что это) и кодом шарпа. Так вот кодом C# можно сделать максимум, кодом xaml - поменьше, мышкой по экрану ещё меньше. В частности ни мышкой ни кодом xaml нельзя сделать динамическое добавление или изменение элементов, короче интерактивность. Учебником рекомендуется это делать всеми тремя способами. Но так как я вот ни разу не художник, то мне физически проще всё делать в коде, да и привык я так, а поскольку написание кодом никак не сужает возможности то и решил не учить первые два варианта а только код. Собственно хотел выяснить как с этим в юнити дела обстоят. Если нет возможности делать всё кодом или нету учебников по этому - то мне сложно будет работать с этим инструментом, я лучше другой движок поищу (например box2d, мне тоже понравился)
>>297141 Телепорт ячеек или телепорт камеры? >>297147 Двухмерный массив, на основе которого строятся ячейки. А не будет проблем, если долго скроллить в одну сторону? У юнити есть ограничение по координатам?
>>297152 Хорошо, с этим разобрался, можно скопировать вес костей и их расположение из оригинального меша, это должно работать ведь ничего особенного не собираюсь делать с мешем, но почему-то не работает и все идет по пиздец, неправильно переносит вес или координаты костей. Вес скорее всего верно копирует, значит дело в косятх. Как корректно скопировать скелет с скинед меш в просто меш, чтобы они стали идентичными скинед меш?
>>297158 Ты же понимаешь, что если ты хочешь всё делать в коде, то тебе нужно писать свой движок. Большая часть движков продвигают как минимум драг-н-дроп, как максимум - перевод большей части кодорутины в ручную и наглядную работу. Не понимаю, нахуя тебе нужно что-то искать, если кодить всё через код ты можешь не отходя от своего движка и чистого кода.
>>297161 Ну не совсем. В частности: а) Меня интересует физический движок. Писать его с нуля - не простая задача. б) Работа с видеокартой. Тут есть две подзадачи б1) Рендеринг картинки с применением возможностей видеокарты, что должно повышать производительность. б2) Применение всяких шейдеров. Всё-таки на дворе 2016 год, не хочется всё это писать с нуля, да и не уверен что это реально в одиночку.
>>297163 > Меня интересует физический движок. Писать его с нуля - не простая задача Сложно писать столкновения polygon-to-polygon. Реализация ColliderBox, ColliderSphere и ColliderCylinder занимает восемь минут, капсулы и прочие вариации займут еще столько же. Правда, физику для каждого объекта нужно будет включать отдельно, как и столкновения одних предметов с другими.
Нахуя тебе в него что создавать? На один объект можно повесить несколько коллайдеров, а потом просто делать проверку, и в зависимости результата делать разное дерьмо. Что-то вроде:
>>297160 Все, я понял. Даже если возможно запечь скинед меш, деформировать, а потом опять распечь в скинед меш, то это явно не мой уровень. Оказывается то что мне нужно было существует уже несколько лет, точнее существовало, ибо все это накрылось пиздой с какой-то версией юнити и сейчас такого не сделать. А хотелось всего-то лишь разрезать скиннед меш на две половинки.
>>297159 Будут. Координаты в сцене имеют тип float, так что у тебя в распоряжении семь цифр в числе в любую сторону от точки. С каждом новым десятичным знаком после этого точность вычислений будет падать. Например у тебя есть координата 999999.9, когда ты перешагиваешь порог 1000000.1, переменная сохранит только 1000000, если еще увеличить, например до 12345678, погрешность составит уже восем целых (1234567). Поэтому координаты нужно время от времени нормализовать. Например при загрузке игры или в конце хода. В общем там, где будет большая пауза, и задержка производительности не будет так заметна.
>>297209 В этом нет никакого смысла. Чем большее значение может держать переменная, тем больше памяти выделяется на нее. Даже если тебе нужно будет сохранить всего один байт информации в ней, выделение памяти останется колоссальным, под самое большое возможное значение. Оно тебе надо?
>>297242 Хорошо, тогда такой вопрос: как реализована звёздная система в KSP, там ведь неебические расстояния и все работает? Пытался найти какой финт ушами сделали разрабы чтобы обойти это ограничения, но что-то плохо пытался, может анон подскажет где искать?
>>297252 В космических леталках не оперируют реальными значениями. Берут расстояние в масштабе, а сами объекты также масштабируют в зависимости от расстояния до игрока.
Что значит такая запись? >GameObject tile = (GameObject) Instantiate(er); Вначале понятно - объявление переменной tile типа GameObject, которой присваивается результат функции Instantiate c аргументом er. Но что значит (GameObject)?
Есть такой код: >public class NewBehaviourScript : MonoBehaviour { > > public GameObject er; > > // Use this for initialization > void Start () { > GameObject tile = (GameObject) Instantiate(er, new Vector3 (j 4, i 4, 0), Quaternion.Euler(0, 0, 0)); > tile.transform.localScale = new Vector3 (10, 10, 10); > } >}
Работает нормально, но в консоль выдаёт такую ошибку: >UnassignedReferenceException: The variable er of NewBehaviourScript has not been assigned. >You probably need to assign the er variable of the NewBehaviourScript script in the inspector. В чём может быть дело?
Можно настроить сектор, которым освещает spot light? Там он круглый, и освещает круг, а хотелось бы его сплющить, чтобы получалась линия. Как сделать чтобы на освещаемом объекте появлялась линия света?
СУКА, КАК В ЭТОМ ЁБАННОМ ДВИЖКЕ ОТ КРИВОРУКИХ ДЕГЕНЕРАТОВ ДЛЯ ПРОГРАММИРУЮЩИХ МЫШКОЙ ДЕБИЛОВ ПРИВЯЗАТЬ ПРЕФАБ К СКРИПТУ? Resources.Load("ХУЙ") НЕ РАБОТАЕТ, МЫШКОЙ ПЕРЕТАСКИВАТЬ НЕКУДА, ТАК КАК В СКРИПТЕ НЕТ ПОЛЯ ДЛЯ ПРЕФАБА ДАЖЕ ПОСЛЕ ДОБАВЛЕНИЯ public GameObject ХУЙ; И public static GameObject ХУЙ; КАКОЕ ЖЕ ЭТО КРИВОЕ ГОВНО НАХУЙ. НАДО СЖИГАТЬ ЗАЖИВО ВСЕХ ТЕХ УЕБАНОВ, КОТОРЫЕ СРУТ В ДВИЖОК СВОИММ ПРОРОГРАММИРОВАНИЕМ МЫШКОЙ БЛЯДЬ
>>297326 >нихуя не понимает. >While Newell worked at Microsoft, he was running program management on the Windows OS, specifically, Newell held several positions in the Systems, Applications and Advanced Technology divisions that worked on the first two releases of Windows and was a driving force in the introduction of Windows NT and server edition.
Допустим на сцене есть десять кубов. Можно вращать камеру и смотреть на кубы со всех сторон. Если игрок кликнет мышкой, как определить, на какой куб был сделан клик?
>>297331 тоже хотел ему сразу это впостить, но впадлу было, молодец. У Габена опыт такой же огромный, как и он сам. Да, он больше администратор, но что происходит в индустрии он прекрасно знает, поэтому любой адекват должен понимать что его слова имеют огромный вес.
сделал темплейт поиска пути абстрактным, доволен. интересно стоит ли сделать интерфейс для какой-нибудь хуйни вроде предметов чтобы регистрировать их координаты в навмеше и например с помощью того-же дейкстры возвращать список предметов и цену их перемещения по графу, не вычисляя реальный путь
>>296910 расскажи о своих трудностях, интересно же. а то в треде только ты и этот с шейдором что-то интересное показали.
>>297252 Помимо всего прочего в играх с большими масштабами пространства используют кластеры. Например одна звездная система (или даже планета) может быть самостоятельной сценой, переход между ней и другой - еще одной. Из таких маленьких кусочков собирается цельный мир. А у каждой сцены своя координатная система, объекты в которой расставлены так, чтобы не попадать в ограничения.
>>297359 Меня интересует именно бесшовный и плавный переход от звёзд к звездным системам и планетам. Такое возможно или проще не ебать мозг и сделать разными сценами?
>>297361 подели мир на координатные сегменты и просто сдвигай координаты всего когда игрок пересекает какой-то предел в котором плавающая запятая не вызывает пиздец. вообще чего ты мозги себе ебеш? решай проблемы по мере их поступления, на начальном этапе быстрей сделать ошибку и понять как её исправить, чем жопу просиживать неделями пытаясь учесть все проблемы.
>>297361 Правильно. Бесшовный переход осуществляется как раз через подгрузку в процессе игры новых кластеров и выгрузку старых, которые уже не нужны. Представь трехмерный массив, в котором твоя сцена это активная ячейка, а смежные ячейки - сцены, которые нужно подгрузить.
>>297361 А как ты перемещаться между звёздами будешь? Плавный переход между звёздами миллионы лет занять может, а любой сверхсветовой перелёт по сути телепорт, а не плавный переход. Что за логика путешествий у тебя там?
public static object DeepClone(object obj) { object objResult = null; using (MemoryStream ms = new MemoryStream()) { BinaryFormatter bf = new BinaryFormatter(); bf.Serialize(ms, obj);
>>297420 Блядь, бы ебанутый, нахуя тебе сериализация для клонирования? Я думал сюда какой-то дико прошаренный анон залетел, решил нас потроллить байтоебством.
>>297431 Попробуй то что предложили. То что происходит в голову больше похоже на самодельный сериализатор, так что у меня нет других идей. А зачем тебе это понадобилось вообще?
У меня есть шаблон диалога для магазина. Там есть реплика >продать %хуйня_нейм% и к ней действия >забрать %хуйня_нейм% у игрока, положить %хуйня_нейм% в магазин, дать денег, отобрать денег. Я прохожу по инвентарю и строю такие опции в диалоге. Т.е. мне нужно клонировать список действий.
>>297445 Блеать. public class JOption { куча говна string TextToShow; List<JAction> Actions; List<JCase> Cases; куча говна }
public class JDialog { public List<JOption> Options; }
Вот подгрузил я шаблон диалога, там образец 1й реплики, теперь мне надо расклонировать образец на 100 копий. Если без сериализации через текст- копируется ссылка, на одни и те же действия(Actions которые). Меняю одну - меняются все. Может я и вправду делаю через жопу.
>>297447 То есть при наведении на предмет выскакивают опции для него? Изи У тебя всего один экземпляр опций должен быть, к ним просто подсовывается объект под мышкой. В самой убогой и грубой реализации это объект
TradeMarket, имеющий доступ к инвентарю тебя и торговца и у него будет поле SelectedItem (или лист, чтобы через контрол несколько айтемов брать
И группа методов: TradeSelectedItems() (покупает-продает в зависимости от ситуации) TransferMoney() и так далее. Итого тебе не надо создавать бесконечные клонируещиеся списки кнопок. Все твои кнопки ссылаются на одни и те же методы, которые реагируют в зависимости от выбранных объектов в инвентаре.
>>297450 У меня пока одна механика диалога и баттл описывает и разговор и трейд. Я у мамы инди-девелопер, времени писать и так не много, а хочется до пенсии дописать.
Джентлмены, есть вопрос по производительности Андроида. Короче, есть один проект, сделанный на UGUI. OSHE лагает на половине ведер, но на iPhone начиная с 5 все ок. Что не так с жтим ведром может быть? Скажите чит-коды за оптимизацию плез, с меня как всегда
Нужно сделать игру, типа змейки в лабиринте. 2Д, набирается из двух таких спрайтов - "отрезок тела" (должен скейлится из точки в направлении движения по прямой) и поворот на 90 градусов, должен, собственно появляться на поворотах, в правильном направлении. Ну и типа движение ограничено стенками лабиринта.
>>297504 Нет, на разных. Я хочу сделать скроллинг карты из ячеек, где при передвижении камеры добавляются новые ячейки и убираются старые (обсуждалось выше в треде). Скрипт двигания камеры на камере, скрипт работы с ячейками на пустом объекте. Или стоит перевесить и его на камеру? А как тогда импортировать?
sup дворщ. Я уже заебался искать ответ на агглоязычных интернетах, мб ты подскажешь.
Суть такова, делал я 2д игруху, юзая UGUI. И видимо обосрался, ибо эта сука жрет drawcall'ы как мразь. Решил я провести эксперимент и использовал вместо спрайтов готовый атлас со спрайтами, вместо Sprite Packer'a. результат следующий: http://imgur.com/a/j8dnE
В чем obosrams? Юнити использует Image'и из одного атласа, как и пакер спрайтов. Но, сука, почему-то юнити жрет 3 drawcall'a, в то же время левый атлас один. Кароче, в тред реквестируются монстры UI, шейдоров и батчинга.
>>297452 Может ты и так сделал этим способом, но вот что я тебе вкину:
Я вижу хорошим архитектурным решением отделить игровую механику от "представления" (то есть того, что видит игрок) и положить между конкретным представлением и игромеханикой прослойку в виде интерпретатора.
Итого интерпретатор будет собирать динамически объект диалога, наследующего интерфейс IDialogParams и описывающего следующие параметры string RequestText (то, что за текст будет отображаться на экране) List<string> answerOptions (арианты ответа) и передавать его в "представление" для отображения на экране.
Ну а представление будет возвращать индекс ответа обратно в прослойку. Прослойка же будет интерпретировать ответ в зависимости от того, что за игровая ситуация и уже отдавать команды голой игромеханике.
>>297558 Это не болезнь. Болезнь это "ну у меня ж работает, значит и у всех будет работать)))". В итоге игра для огромного рынка PC рассчитаная в лучшем случае на 1% пользователей. Причем в современных играх даже такой тренд вообще убирать настройки графики. Я не понимаю что за удовольствие стрелять себе в ногу.
>>297588 Что за заблуждение про счет цифер? Мнеджеры - это обычные симуляторы. С твоим подходом можно сказать, "Нахуя играть в гонки? - Становитесь гонщиками в риал-лайфе.".
>>297603 Ну то есть, давай по существу, что у нас есть в футбольном менеджере кроме ФУТБИК КИНЦО ЛЮБИМАЯ КОМАНДА? Распределил своих дебилов, посмотрел кинцо. Можно заниматься микроменеджментом вещей, которые могут повлиять, а могут и не повлиять на результат. Не то, чтобы на тебе висел груз тактических решений. Ты что-то делаешь, получаешь какие-то результаты. Некоторые решения удачные, некоторые нет, но обычно на берегу хуй проссышь какое из них какое.
Тот же This is the Police из последних примерно такой же кликер, только с сюжетом.
>>297608 Главная фича FM - это то, что ты непосредственно своими действиями можешь повлиять на результат. Тактика, настроение игрока, силы команд, погода. Грубо говоря игра футбол разбирает как набор формул, и ты, меняя переменные, смотришь как меняется результат. По-моему вполне интересно.
>>297613 Я прекрасно понимаю о чём ты, но чем это принципиально отличается от кликера? (я не говорю про совсем тупые, а что-нибудь из среднего звена) Вначале ты работаешь на маленькие величины, прорабатываешь алгоритмы, ставишь на поток, потом это говно автоматизируется и ты смотришь как твоя система приносит тебе результат. Реакции и особых навыков не требуется, проиграть нельзя. Кликаешь для победы.
>>297619 Ну со временем надоедает, да. Но часов 40 наиграть вполне можно. Просто менеджеры - мнпы на любителя. По вот сам процесс обработки информации и компиляции из нее последующей тактики, состава, курса тренировак и найма игроков - в этом и есть интерес, как минимум для меня.
Как найти потомка в потомках? transform.find ищет только потомка, но потомка потомка и так далее нет. И нет, путь писать не могу, нужно чтобы просто нашелся gaymobject в хуй знает скольки потомках.
>>297641 Бэд-дизайн-кун репортинг ин. Ящитаю, что архитектура кода, где нужно искать потомка в потомках - кривая. Засовывай объекты, которые нужно будет искать, в листы или прочие структуры.
>>297656 Вась, ты дурак? Необходимость в этом способе - BAD FUCKING DESIGN Алсо, а нахуя дополнительный синтаксический сахар и больше методов богу методов, если тот же самый рекурсивный поиск ты сам напишешь? Программист мышкой что ли? Твоя реализация будет точно не лучше, чем реализация юнити-разрабов.
>>297657 >Необходимость в этом способе - BAD FUCKING DESIGN Я даже не знаю что тут сказать. >Алсо, а нахуя дополнительный синтаксический сахар и больше методов богу методов Именно для этого есть transfom.find и transform.findChild, которые одинаковы. >ты сам напишешь Напишу, конечно. Просто я удивлен, что такого нет "из коробки" >Программист мышкой что ли Прочитал это, вспомнил что я в треде по unity и потерял сознание.
>>297659 Хуя у тебя аргументы, сознание он теряет. Ты мне расскажи свой кейс для которого тебе нужно искать рандомный компонент в рандомной точке рандомной иерархии компонентов?
>>297659 Автор, если ты создаёшь элементы в иерархии, заноси их в списки и ищи в дальнейшем по спискам. Указатели ничего не занимают, а ёбли меньше на пару порядков.
>>297757 То, что в ранних версиях football manager'а не было 3д графениума (сейчас есть), не значит, что там не было футбольного движка. Просто игра выводилась с помощью схематической графики и логов. Для мобы тоже нужен аккуратный battle log и аккуратное передвижение юнитов по карте. Если твой менеджер не может в симуляцию матчей нахуй он вообще нужен. Что за скам ты пытаешься продать.
В скрипте есть такая строчка: >Dictionary<int, int> rows = new Dictionary<int, int>(); В консоль падает ошибка на этой строчке: > The type or namespace name `Dictionary`2' could not be found. Are you missing a using directive or an assembly reference? В чём может быть дело? Это же стандартный словарь, что тут может быть не так? Заменял на >var rows = new Dictionary<int, int>(); Тот же результат.
>>297951 Главное, что добавляют. И ускоряют темп выпуска новых версий. Осталось им ещё часть движка, которая на C# вынести на гитхаб и перенести всё на .net core. Будет вообще бомба.
>>298005 >обещали ссаную тайловую карту и другие элементарные компоненты для 2д хуй хнает когда >до сих пор не могут сделать >ускоряют темп выпуска новых версий
Как замутить физическую верёвку с возможностью дёргать за конец верёвки ЛКМ-ом? Решения с дефолтными 2Д-джоинтами физически работают ок. Но этот метод плох тем, что конец верёвки со скриптом для дёрганья всегда будет отрыватся.
Я хз, может заморочится и попробовать сделать ИК-змею из костей?
>>298077 Ха-ха, ок, с отрывание послезнего звена я разобрался. А как сделать так, чтобы верёвка совсем не растягивалась? И чтобы 2д бокс коллайдеры звеньев не пролазили сквозь стены.
где в ебучей юнити точка блядь входа? Какой-нибудь, сука, Main или еще какая ебалистика? Ну не все же сука мышкой на рабочую область таскать и навешивать скрипты поведения!
Есть какой-нибудь класс главное сцены или еще какая-нибудь подобная хуйня?
Тут есть гуру написания скриптов для редактора? Хочу сделать добавление компонентов для ScriptableObject (как это сделано для состояний аниматора). Только понятия не имею как сделать для этого редактор
В двух словах - Random с интами не берет максимальное значение в предел генерации, только с флоатами так делает. То есть у тебя банально он думает, что бы сгенерировать, ноль или ноль? А может ноль?
И еще - следи, чтобы не пересоздавать Random каждый кадр.
>>298269 Тихо, не сыпь ему соль на рану. Он гарантированно один из тех долбоебов, что тут пару лет назад не могли тетрис на сишарпе написать четыре треда подряд.
Нашел как-то на гитхабе скрипт для диалогов основанный на yarn (не yarn spinner), но проебал ссылку. А теперь нигде не могу найти. Не могло же мне это присниться! Там еще была какая-то казуальная игра от этого разработчика как пример использования.
Анон, помоги. Разрабатываю на флеше, но, как известно, флеш умирает уже 10-й год, поэтому решил написать что-то на популярном нынче Unity. Захотел запилить 2d пазл какой-нибудь, но проблемы возникли уже на этапе генерации поля... С первым столбцом тайлов случилось какая-то херня... И вообще, выходит какое-то уродство... Есть какие-нибудь годные гайды по генерации pixel perfect поля? Код генерации поля здесь http://pastebin.com/WsVAueS6
У кого-нибудь есть удачный опыт работы с Wheel Colliders? Даже пример из стандартных ассетов - и тот неюзабельная хуйня. Неужели с этим все настолько плохо?
>>298378 Да хуле мне твое "работает", блядь. Ясен хуй это говно работает, вопрос в том КАК оно работает. Вам-то уебкам понятно, "еиздет и ладно", но я нормальную игру про машинки хочу, а не такую словно это симулятор толкания вагонов по асфальту, сука. Аж трисет, работает у него
Пилю убийцу вова и майнкрафта. Узнал тут, что в унити 5 завезли новое сетевое API uNet. Есть ли какие-то туториалы, полностью покрывающие основы? Везде какое-то говно уровня 1. создайте куб 2. навесьте на него вот этот скрипт 3. ??? 4. теперь вы знаете как двигать кубы
Аноны, помогите нищеброду. Нужен ультрабюджетный ноут, на котором можно делать говноигры-убийцы крузиса. Собственно, вопрос: i3-5005U и gt940m или i5 6200U/i5 5200U/i3 6100U и встроенная видюха? И может кто-то кинет годноту до $500.
Посоветуйте, чего почитать по генерации тайловой карты в стиле civilization. Пока есть идея только рисовать рандомную кривую - горный хребет, а потом вокруг сыпать земли, либо сделать кучу готовых элементов и собирать из них.
>>298483 >быстро Это с получасовой конпеляцией, при которой игнорируются корутины в коде и в билд попадает огрызок проекта? Ну хуй знает. По мне так лучше веб плеера еще ничего не придумали, не понимаю чего эти ебанашки отказываются его поддерживать.
>>298557 А я компилю из студии в длл, что дает мне ряд преимуществ: 1. Современный компилятор. 2. Почти все новейшие фичи C#. 3. Поддержка F#. 4. Удобство использования (удобно создавать, удалять, переименовывать файлы). 5. Удобство использования совместно с VCS.
Главный недостаток, правда, заключается в том, что для пошагового дебага с брейкпоинтами и прочими удобностями нужно сделать непонятно что, так что я даже не пытался. Но мне норм: Debug.Log — наше все.
>>298557 >писать нечитаемый код >написал какую-то нечитаемую криптохуиту вместо понятного string.Format это не ты давеча писал о лучшей читаемости json по сравнению с xml?
>>298519 Тут важна не скорость сборки/выкладывания, а скорость запуска для анона. Если надо скачивать какой-то exe'шник, то игру посмотрят пара калек. Если можно просто открыть ссылку в браузере - пара десятков.
>>298650 вот это у тебя порвало, приятель, таскаешь свою бумажку по всем тредам, а ведь мог просто принять правду - json победил и используется повсеместно, а xml ушёл в небытие как многие костыли мелкософта.
>>298694 >проффесионального программиста >жсон файл в хмл файл переделывается путем простой замены текста без особого изменения структуры. Что за хуйня, анон?
>>298702 >>жсон файл в хмл файл переделывается путем простой замены текста нет. json это сериализованный объект. xml это язык разметки с помощью которого можно разметить хоть html, хоть небо, хоть аллаха. это уже задача программиста распарсить xml
Долбоёбы не понимают разницы между "сериализованным объектом" и "форматом, в который можно сериализовывать объекты". Идите читайте про историю создания джейсона. Это просто способ передачи данных. Не согласны? Википедия: >JSON is an open-standard format >JSON is a language-independent data format Раз уж у нас тут юнити-тред, то язык будет С# - десериализуйте мне следующий объект: {"мамку твою": "ебал";}.
>>298768 Не понимаю таких людей как ты, прилюдно обосрутся и все равно кукарекают и что-то пытаются доказать с обосраными штанами. Жсон это аббривеатура JavaScript Object Notation, ползал же на вики, должен был заметить. В сишарпе можно десериализовать твою мамку библиотекой newtonsoft.json, отлично работает с юнити.
>>298768 >JSON is a language-independent data format Влажные фантазии жс-петушков. Тащат свою жабопарашу к нормальным людям, а потом >ко-ко-ко-кудах езыг сишарп, десериализуйте мне следующий объект в нашй ебанутой нотации { "жс-петухи" : "соснулей" } Азаза ниможите, затралел лалок.
>>298519 вебплеер был офигенен, согласен. Но на счет скорости билда вебгл, в юнитевском облаке у меня все компилируется в среднем за 7-10 минут, 15 максимум. К тому же можно добавить функцию, чтобы по окончанию сборка заливалась на хостинг, удобно же.
>>298780 Забавно, что прилюдно обосрался здесь не я. Ещё раз тебе говорю, иди и читай про историю жейсона. Там ты узнаешь, что имя ему было придумано уже после, что сам формат возник ещё до жаваскрипта, и что джаваскрипт появился в 95м году, жейсон (как мы его знаем сейчас) вылез в 2001м, а поддержка сериализации туда и обратно в стандарте появилась где-то около (по-моему, позже, но не раньше) 2005го, а так же, что нотация эта была придумана для передачи, блядь, данных. Алсо, довольно интересно, что вся серьёзная сериализация везде сделана в хмл (или в свой навелосипеденный формат, но его всё равно игнорируют и создают либы под хмл). >Жсон это аббривеатура JavaScript Object Notation А http - это аббревиатура Hyper Text Transfer Protocol, но передаёт он, каким-то чудесным образом, и обычный текст, и картинки, и видео, и архивы, и просто бинарные блобы. Удивительное рядом.
>>298810 Слишком много слов для файлика ключ:значение. Естественно ты можешь интерпретировать их как хочешь, только зачем? Вся популярность жсон как-раз за счет того, что это сериализованные объекты в жс и не надо никаких лишних телодвижений для парсинга данных. Слава богу нигде за пределами жс-говна я больше употребления жсон не видел.
>>298429 Я немножечко потрахался с unet. SyncVar нихуя не работает, как заставить - хз. Сделал через клиент-сервер (rpc-command), тормозит как лютый пиздец, хз почему. Так что пока я остыл и дальше пилю в оффлайн режиме.
>>298858 >>298859 Короче, у меня есть один объект. У него несколько чайлдов - мешей. Меши у меня - это части одного большого коллайдера. Когда я скейлю этот объект, то расстояние между меняется (обратно пропорционально). Я ебу что с этим делать.
>>298894 Папка твой кукарекал пока тебя делал, на этом все. Иди в УеЧ-тред и расскажи им что на блюпринтах нельзя игори делать, потому что их в Юнити нет.
Зашел в /гд/ юнити 800+ Аноны агрессивно вскукарекивают между собой Вопросы нубов составляют процентов 5 от всех постов кое-что в этом мире никогда не изменится
Как мне синхронизировать со временем вращение персонажа мышкой? Чтобы если Time.timescale нулевой, то мышкой было бы невозможно покрутить, а если в два раза быстрее течет, то и мышка вращается в 2 раза быстрее. Если умножать коэффициенты на Time.fixedDeltaTime, то слишком маленькая сенса не даёт двигаться, а при просадках мышка тоже подлагивает
>>298920 Пробовал всякие триггеры делать? Например там if (timeZero == true){...отключение управления...} else {...} else if(time2X == true){...} Ну вот что то подобное. сам не сильно шарю, так что могу хуйню написать
>>298920 Зачем ты умножаешь на Time.fixedDeltaTime, ты ебанутый? Объясни логику такого поступка. Все делается через Time.deltaTime, на который timescale вполне успешно влияет.
>>299007 Технически UE это кусок засохшего дерьма покрытый глазурью. На первый взгляд блестит и красиво, но если поскрести ногтем наружу прорезается ПРАВДА. А правда такова, что это пропахший нафталином и бабушкиными колготами движок родом из 1998 года с безнадежно устаревшей архитектурой и API.
Поясните за оптимизацию в 2d игре, где все построенно на UI.
Вот есть у меня 11 батчей, и их количество нужно уменьшить. Как я понял, батчи - это типа отдельные отрисовки каких-то объектов на экране. И если объединить пару спрайтов в атлас, то батчей должно стать меньше. Но у меня эта хуйня не работает, хоть в пакере ясно видно, что спрайты находятся в одном атласе. Тогда какого хуя в Frame Debug показывает, что каждый из этих спрайтов создает 1 батч?
И еще одно. Вот есть у меня кучка картинок в сцене, и вся эта сцена создает 9 батчей. И если я отключаю какой-то из Image'ов, который находятся в сцене, то оно создает еще 1 батч, и у меня их уже 10.
Какого хуя отключение картинки добавляет батч, а не уменьшает?
Ах да, еще в этом Frame Debug показывается, что несколько батчей вообще нихуя не отрисовывают на экране, но они есть, почему так?
Как можно реализовать эти "+1"? Можно спавнить на каждую +1 геймобжект, но это какой то оверхед, при том если кликов будет много, то у меня начинает от этого проседать фпс во время спавна. Может есть какое нибудь другое решение?
>>299040 Пул геймобжектов? Мне кажется тоже какой то оверхед. Может лучше хранить координаты этой +1 в списке, двигать их в апдейте, а рисовать в OnGUI? Только я не знаю как тогда отследить ее время жизни.
>>299044 используй альфу как таймер жизни, при создании альфа=1, пошло движение/рисование, каждый апдейт альфа-=дельта. если в нуле - выкидывай го из области рисования. Это если лень писать класс со счетчиком.
>>299042 >Пул геймобжектов? Мне кажется тоже какой то оверхед. Хотел написать какой ты мудак. Потом увидел что ты делаешь и решил ничего тебе не советовать.
Как делать не по дебильному всплывающие окна по наведению на объекты, объекты динамические, их может быть множество, то появляются, то исчезают. От каждого объекта при создании наследовать ворлд канвас, выключать его, при наведении мышки включать с обновленными параметрами? м?
Как я могу назначить на Button картинки, кроме спрайтов? У меня эти картинки динамически из Resource подгружаются, а Resources.Load as Sprite не создаёт спрайт, выдавая вместо него null
>>299111 Малаца, но для меня такое не подходит. Если делать через партиклы, то мне еще нужно будет ебаться с позицией частицы и текстмешами на этих частицах потому что может быть и +1 и +42. Легче сделать как я и сделал - просто двигать позицию.
>>299190 Аргументы? Ты вообще в своем уме? Представляешь себе что такое геймобжект? Представляешь от чего он наследуется и что из этого следует? Как работают частицы знаешь? Анус себе дерни, необучаемый.
>>299191 Ору с дауна, какой же ты тупой блять, маняврирует вопросами на прямой вопрос показывая что нихуя не знает, сам на себя ссыт и кричит необучаемые. Скрыл ребенка короче.
Почаны, Particle System не хочет рандомизироваться. Что с ней делать, дать леща или сломать колени? А если серьезно, то раньше такого не было, после недавних обновлений при RandomSeed=0 все было как надо.
>>299187 А если делаешь через геймобджекты, то лучше откажись от идеии списка (да нахуя, бог оптимизона что ли?) и запили код движения, исчезновения и самоуничтожения прямо в апдейт скрипта конкретного "+1". А потом просто их инстанциируй по координатам, ололо, пусть сами за собой следят, ведь им, крмое самовыпила, ничего уметь и не нужно :3
>>299206 >>299203 Мне конечно импонирует что моя проблема вызвала такую дискуссию, но я еще вчера все что хотел сделал. И раз вы были так неравнодушны, то я вышлю каждому по бесплатной копии игры. > на иконке "+1" больше скриптов Это label в ongui, которым рулит 1 скрипт на сцене и 18 рабочих строк
Котоны, пытаюсь сериализовать в бинарник массив со структурой структура с одним стринговым полем, создаю файлик, начинаю его парсить, а в него корректно записывается только одна структура, остальное Null'и кол-во Null'ей сопоставимо длине записываемого массива , собственно поясните как правильно сериализовать массив и читать. на всякий случай прикладываю скрипт load()
Ананасики, сейчас под рукой юньки нет, поэтому протестировать не могу, но очень хочу узнать. Меня интересует анимация персонажа в 3д. Вот я замоделил персонажа, сделал ему анимацию идла, бега и т.п. А так же анимацию взмаха мечом. Но мечей у меня 10 разных и все должны быть с одной анимацией. Как это реализуется у нормальных здравомыслящих людей? Моё предположение: во время анимирования персонажа, скажем, в блендере, добавить к нему на сцену меч и перемещать согласно движению руки персонажа. Т.е. создать отдельную анимацию самого меча, которая будет двигать его синхронно с персонажем. Затем в юньке мы подсовываем анимацию от этого меча всем остальным мечам. Хорошо придумал или я шизик? Или можно прикрепить меч к кости?
>>299247 Блять, вставь в блендере ему в руку кость, к ней приделай розовый хуй, и анимируй. Потом в юньке найди эту кость и сделай на нее потомком нужный меч.
Блядь, снова те же самые вопросы в голове, короче надо вывести данные планеты в подсказку, сами данные в менеджере крутятся. Вот менеджер при создании планеты в нее же вшивает ссылку, и уже по наведению планеты там все обновляется(пик2). С кораблем хуже, нужно назад "отдавать" инфу. Приходится использовать "найти моча, получить говно". Как делать правильно, ладно бы менеджер один, а если потом их нужно сделать пять. Вот прошлый раз вы помогли со статтером и стратегией, за что охуенное спасибо, но вот тут снова обсераюсь и прошу помощи.
Использовать то что на пике 2 допустимо? А как быть с пиком 3 ?
>>299302 >Что за мэйн? MAIN это менеджер управляющий миром, создает корабли, крутит планеты, двигает их, отрисовывет на сцене то что мне положено видеть(небольшую часть мира).
>Какого рода информацию ты из него хочешь получить? Скорей какую ему дать. Я хочу сказать менеджеру что у Player в цели такой-то корабль (экземпляр класса Ship). Был совершен клик по геймобжекту ( который есть просто клон, созданный по образу и подобию Ship ), и менеджер должен узнать об этом.
Ну то есть менеджер как кукловод, знает все ссылки на все нужные геймобжекты и ворочает с помощью ниточек ими как хочет, но а как сделать грамотно обратную связь ?
Хочу перекатится на ЮнитиАноним09/09/16 Птн 14:26:51#916№299335
>>299344 >Что тебя смущает? Ну, может быть есть другие, не раз истоптанные пути. Не хочется в какой-то момент начать тонуть в собственно высераемом дерьме. Требуется одобрение папки, наставление на путь истинный
Мимокрокодил-кун. Рандомный вопрос. Есть задача запилить CBT (Computer Based Training) для одной проги. Состоять оно должно из курса лекций в формате презентации и интерактивных тестов, проверяющих знание функционала программы (как в формате "вопрос-ответ", так и в формате "перетащи эту херню в нужное место и кликни туда-то").
Можно ли подобное сделать на Юнити, или это забивание гвоздей микроскопом? Сам кодил только на уровне 10 класса школки, но, если надо будет, разобраться в принципах работы могу.
>>299350 Можешь при инстансировании кораблей,планет и прочего мусора давать им ссылку на менеджер кликов, и при онмоуседаун пусть они ему самостоятельно сообщают - "я нажат, чих-пых, вот мои данные"
>>299350 Задача нетривиальная, хуй знает каким боком оно тебе выйдет. В любом случае класс должен быть универсальным, чтобы выводить информацию и о кораблях, и о планетах, вообще обо всем. Значит нужно расширить его. А у тебя на скрине частный случай.
В общем, говно сделали. Очень плохо. Я думал лучше все это будет. ЗАТО МЫ ТУТ ВАМ NETWORK MANAGER GUI СДЕЛАЛИ ИСКАРОПКИ, ПОСОНЫ, ТЕПЕРЬ МОЖНО КУБЫ СОЕДИНЯТЬ БЕЗ ПРОГРОМИРОВОНИЯ! НУ ВАМ ЖЕ ТОЛЬКО ЭТО НАДО, ДА? А ЕЩЕ ЛОББИ ЗА ВАС ЗАМУТИЛИ, КРУТО ДА?
Кое как удалось запустить на этом говне сервер и присоединиться к нему, не используя ебаные ассеты, хуй пойми для кого сделанные. Ей богу, хоть на старом API пиши. Или в этом и есть вся суть HLAPI? Чтобы поменьше кода?
Сел пилить сурвивал шутер (по типу DayZ), в юинти нихуя не смыслю, начал с туториалов по стрельбше шариками на ютубе, пока все просто и понятно. Такими темпами думаю через 2-3 недели закончить проэкт. Встал вопрос выбора реализации сети, unet, raknet или pun? И где выпускать свою игру, на стиме уже много подобного (dayz rust и др.) не хочу чтобы моя игра затерялась среди этих гигантов. Реквестирую советов мудрых по всем вопросам изложенным в этом посте для данного итт
Сделал шнягу с ивентами, работает, всё норм. Но вот еще что, в моем случае тут Ship передается (пик1). А разных типов объектов может быть много, и тогда на каждый будет требоваться разный скрипт, стало быть лучше сделать универсальный объект. Если мысль правильная, то как его грамотно делать?
Вот смотрите, можно накидать все типы объектов в SpaceObj и указать вверху тип (пик2). Еще есть скрипт подсказки, и правильно анон сказал выше, подсказка должна быть универсальная, и тогда ей требуется скормить SpaceObj и намакаронить внутри следующее: "если звезда, то это, если корабль, то это", ну а можно спейсобжекту сделать финкцию типа GetInfo, которая будет возвращать какие-то даныне, например TooltipInfo, внутри которого уже будет там хедер, футер, иконка, а скрипт подсказки распарсит(?) данные. С одной стороны только большая макаронина в скрипте подсказки, с другой стороны весь код можно сосредоточить в SpaceOBj, но все равнно какой-то код нужно писать также в скрипте подсказки. Надеюсь не по даунски объяснено, в общем что тут делать надо?
Всего две ебаные строчки. ругается на вторую, с текстом "Setting the parent of a transform which resides in a prefab is disabled to prevent data corruption."
>>299753 Это многое объясняет. (Нет, я не делаю игры, я морально мастурбирую.) >>299752 Из текста ошибки - да. Но я же сначала создаю трансформ blood. Потом инстантинейтю. Потом меняю парента. Потом ошибка и моя голова ломается.
>>299754 Стоп, ты имел ввиду занаследовать все объекты от Спейсобж и всем наследникам сделать GetTooltipInfo? Но я не могу, планета уже наследуется от солнечной системы, и где-то говорилось якобы создавать суперкласс-помойку для новичка не самая лучшая идея. Или что? Братья, помогите.
>>299827 >Интерфейс наследуй Чем отличается абстрактный класс от интерфейса, сука? припекает от таких вопросов, если честно, будто бы я от того что умею цитировать википиедию, я стану лучше погромировать, рашкинское айти такое рашкинское
>>299829 тем что абстрактный класс это интерфейс + неполная реализация, а интерфейс это интерфейс. у каждого класса есть неявный интерфейс который берется из полей, методов. интерфейсы нужны чтобы во время компиляции проверять типы. этим статические языки отличаются от жаваскрипто- и питоноговна.
>>299829 мы вам перезвоним. я хуй знает чем тебе помочь, я бы залудил базовый класс СпейсПисОфЩит с методом гетинфо и от него наследовал бы все плонеты и карабли
>>299827 Спасибо бро, но как быть с первым вопросом, менеджер присваивает скриптам разные типы переменных, одному Ship, второму Plantet. Что тут делать чтоб не плодить скрипты для разных типов объектов? Наследовать каждый объект от какого-нибудь интрерфейса вроде Selectable?
>>299757 При "ударе". Обычная корутина. Самое обидное - когда мои клоны бьют меня, все ок, когда я их - ошибка. >>299758 Спасибо, дружище, но попробовал это в 1ю очередь. Не помогло.
Самое забавное, что Debug.Log("------" + blood); перед SetParent возвращает полное имя уже созданного префаба, с (Clone), с типом Transform и прочим.
>>299892 >>299757 >>299758 >>299752 Короче, говно это я так и не отловил, но решил проблему кастылечком от юнитеков: Instantiate(bloodEffectPrefab, pointOfHit, rotation, parent); У душе не ебу почему, но это, в отличии от предыдущего варианта, работает.
>>299893 Маленький дауненок проверил парент, паренту приятный и хороший. Мало того что существует, так еще и отзывается, имеет трансформ и пытается иметь мой мозг.
Милый мальчик, ты так весел, так светла твоя улыбка, Не проси об этом счастье, отравляющем миры, Ты не знаешь, ты не знаешь, что такое эта Юнька, Что такое тёмный ужас начинателя игры!
Тот, кто взял её однажды в повелительные руки, У того исчез навеки безмятежный свет очей, Духи ада любят кушать эти ёбаные глюки, Бродят бледные Кирилы по дороге юничей.
>>299896 "дядя Петя, ты дурак?" Log выдает правельный и будущий парент, и новый Clone. >>299897 Я бы был рад, если бы это было так. Но к сожалению, эта ебола продолжила работать правильно, как и раньше - к части тела чайлдится ГО кровисчи.
>>299902 >>299894 Ок, я напиздел сам себе. Ошибки нет, но и ГО не создается. Самое забавное, я могу его занести в массив, и я даже его вижу в массиве. Вот только кликнуть на него не могу - его как будто не существует.
>>292629 (OP) Привет. Написал плагин для юнити, юзающий нативный джава код андроида. Моя активити наследуется от UnityPlayerNativeActivity. Перегружаю onGenericMotionEvent и вывожу на сцену текст, содержащий значения всех осей подключённого к мобиле геймпада геймпада. Выводятся только две (X и Y), а должно быть значительно больше - их можно увидеть, если написать не юнити приложение с плагином, а андроид приложение на джаве и перегрузить onGenericMotionEvent у Activity/AppCompatActivity. То есть у обычной активити отлавливаются ивенты со всеми нужными осями, а у юнитевской UnityPlayerNativeActivity только две. Как решить проблему? Для юнитевской активити прописал в манифесте <meta-data android:name="unityplayer.ForwardNativeEventsToDalvik" android:value="true" />, если что. Без этого вообще моушн ивенты не ловились.
>>299889 Я бы не заебывал, будь мне понятно. Что ты имеешь ввиду под "используй компненты". Типа для планеты один скрипт, для корабля другой? Это и есть "компоненты" ? И вообще не кричи на меня.
>>299958 Мне сдается тебе нужен конструктор. У тебя есть разные классы объектов. У каждого есть свои свойства. Объект передает свои свойства в конструктор, а тот собирает из доступных свойств тултип. Для конструктора не важно какие свойства ты ему передал, главное чтобы они были унифицированы. Например пары ключ-значение. Допустим у корабля есть переменная-свойство "тип" и ее значение - "крейсер", и, например, свойство "скорость: 50". Из этих данных можно собрать двумерный массив, и его передавать в конструктор.
Примерно так: type = cruiser; speed = 50;
//преобразование в пару ключ-значение string[,] info = new string[2,2] {{"Type",type},{"Speed",speed}};
Или можно поставить Personal и не париться? А у нее есть доступ к бесплатным ассетам? Я почитал разницу версий https://store.unity.com/ru, ничего толком не понял, не для нубаса расписано. Или поставить Personal, сделать игру и перед выпуском купить про, и доделать, что не мог на персонале? Или сделать все на пиратке и перед выпуском купить про?
>>299986 Ты что такое собрался писать что тебе Про-фичи понадобились? Логотип юнити убрать? Клауд-билд? Черную тему? Купить про на неделю нельзя, кстати. Таких хитрых жоп и без тебя хватает.
>>299984 С давних пор юнити, при наличии соединения и соответствующих разрешений шлет юнитекам приветы. Не слышел ни разу о прецедентах, но есть вероятность.
>>299988 >логотип юнити убрать? Очень жаль что не предусмотрено настройки оформления этого дела. Лично меня именно этот момент смущает, а не наличие самого логотипа. Так что да, иногда хочется от него избавиться.
>>299988 Простенькую бродилку с боевкой, где ходишь от точки к точке, сражения будут происходить на отдельной карте поделенной на две части, слева твои юниты, справа врага, боевка пошаговая. То есть можно спокойной накатить персонал версию?
>>299984 > ? За жопу не схватят? Схватят. Кто-то в прошлых трелах внятно обяснил, что есть там какая-то хуитень в билде, по которой живо определяют пиратку. И типа подделать невозможно.
В игре все спрайты в point (no filter) ибо би/трилинейная фильтрация дико мылит оригинал.
В связи с этим есть 2 стула.
Либо камера использует float, и тогда персонаж двигается плавно. Но при столкновении с коллизиями и просто мелкими перемещениями персонажа все спрайты плывут и подергиваются по пизде.
Либо камера привязана к целым числам, и тогда есть некоторая непостоянность восприятия, как заикание видеокарты и заметно дергается уже персонаж.
>>300088 >дико мылит оригинал Признайся просто что ты хипстер с пиксельартом головного мозга. Билинейная фильтрация не мылит оригинал, если ты не пытаешься растягивать его до неебических размеров. Правильно настрой единицы измерения на спрайтах и камере и будет тебе все заебись.
Пацаны, хочу подружить юнити с ардуиной, чтобы я крутил потенциометр, а у меня на экране что-нибудь туда-сюда ездило. Работать это должно вроде через переходник серийный порт.
>>300227 Относительно, это значит что у нее свои позиции (как будто localPosition) и поворот. Дескать, в стороне от "родителя", за которым двигается. Но двигается это счастье синхронно с основным трансформом, относительно его, фактически, через transform.position= transform.rotation=
>>300231 Я ничего не понял, уточка. Если ты хочешь привязать ее к родителю, но чтобы она была чутка сдвинута, то делай новый вектор Vector 3 vec = transform.postion; Потом ему делай смещение vec.x += 100500; Потом делай transform2.position = vec;
Как быть с префабами. Есть разные типы снарядов. И нужно где-то хранить их префабы, чтобы потом давать юнитам. Но пихать десяток префабов снарядов в каждого юнита слишком тупо.
Если кинуть на сцену пустой объект и в него добавить скрипт в котором хранить нужные префабы, а потом спавнить через
Instantiate(prefabs_Container.prefab1 ...
То юнити ругается на то, что не может найти в префабе компоненты.
Noob question goes here. Учу Unity пару недель. Дохуя уже перечитал, и прошел пару циклов уроков с офф.сайта. Но так и не понял разницы между способами передвижения объектов. Поясните по хардкору, за всякие velocity, MovePosition, position, forward, AddForce и тд. Что когда использовать?
Где скачать?
На официальном сайте.
Где взять уроки?
На официальном сайте.
Где взять текстуры и модели?
На официальном сайте.
Предыдущий тред - https://2ch.hk/gd/res/277225.html