Добро пожаловать в тред Unity - лучшего 3D и 2D игрового движка современности! Прошлый тред: https://2ch.hk/gd/res/394374.htmlОфициальный сайт: https://unity3d.com/ruДокументация: https://docs.unity3d.com/ru/current/Manual/index.htmlУроки: https://unity3d.com/ru/learn/tutorialsФорум: https://forum.unity3d.com/Магазин ассетов: https://unity3d.com/ru/asset-storeUnityWiki: http://wiki.unity3d.com/index.php/Main_PageНа Unity сделано много замечательных игр - Rust, Блицкриг 3, Pillars of Eternity, Tyranny, Kerbal Space Program и многие другие. Главным преимуществом Unity перед другими движками является его простота для одиночной разработки. Не нужно иметь целую компанию девелоперов, чтобы сделать хорошую игру. Если ты один или имеешь небольшую команду и хочешь сделать хорошую игру без претензий на ААА, то Unity станет лучшим выбором. Тем не менее, даже крупные корпорации зачастую выбирают для своих игр именно Unity.FAQ- Какие у Unity сильные стороны?- Простота разработки, удобный инструментарий, кроссплатформенность, богатая документация, огромное сообщество.- Какие у Unity слабые стороны?- Сложность в создании фотореалистичной графики. Для графики "как в Crysis" рекомендуется взять другой движок. Хотя Unity вполне способен выдавать не уступающую любым другим движкам картинку, это требует определённого навыка от разработчика.- На каких языках я могу писать скрипты для Unity?- На выбор два языка - C# и UnityScript. UnityScript - это что-то среднее между JavaScript и ActionScript. Выбирай язык по своему вкусу, они оба вполне удобны, но помни, что большинство примеров написано на C#.- Для каких жанров подходит Unity?- Для абсолютно любых! Жанр ограничивается лишь фантазией разработчика (и его умением писать скрипты, разумеется). Можно создавать и РПГ, и стратегии, и слэшеры. Можно делать VR-проекты или Minecraft-подобные песочницы.- На каких платформах работают созданные с помощью Unity игры?- Windows, Linux, MacOS, SteamOS, Android, iOS, Windows Phone, PlayStation4, Xbox One, WebGL, Oculus Rift и многие другие. Полный список можно найти на официальном сайте. Таким образом, игры Unity работают на десктопах, на смартфонах, планшетах, приставках, в браузерах, VR-очках и некоторых других системах.- Часто вижу скриншоты с красивой природой на Unity. Как такое создать?- Очень просто! В Unity встроены удобные инструменты для создания террейна и SpeedTree для создания деревьев и готовая реализация ветра - не нужно ничего писать или скачивать и подключать плагины - ландшафт в Unity создаётся в пару кликов.- Что такое стартер киты?- Starter Kit - это набор скриптов и префабов, а зачастую и графических элементов для игры. Они призваны облегчить разработку игры определённого жанра и как правило разбиты по жанрам (Action-RPG Starter Kit, RTS Starter Kit, 3D Shooter Starter Kit, Space Game Starter Kit, VR Starter Kit и так далее). Также бывают стартер киты различных игровых элементов, не связанных с геймплеем (Nature Starter Kit с дополнительными природными объектами, Medieval Starter Kit со средневековыми объектами и так далее). По сути, стартер киты выполняют в разработке игры ту же роль, что и фреймворки в программировании. Однако стоит отметить, что использование геймплейного стартер кита принуждает разработчика изучать большое количество чужого кода и чужой структуры для внесения своих изменений и полноценного использования. В связи с этим большинство разработчиков предпочитает писать почти всё с нуля, получая полное понимание работы своей игры. Новичкам крайне не рекомендуется начинать знакомство с Unity со стартер китов.- Что нужно уметь делать для создания полноценной игры, кроме Unity-разработки?- Кроме непосредственной разработки игры на Unity, требуется также уметь создавать 3D модели (3ds Max, Blender, ZBrush), 2D рисунки (GraphicsGale, Aseprite, Piskel), текстуры (Substance Designer, NeoTextureEdit), музыку (FruityLoops, Ableton). Не обязательно учить это всё - например, в 2D играх не нужны 3D модели, а музыка необходима далеко не всегда. Также вы можете скачивать элементы для ваших игр на бесплатных сайтах. Если у вас есть деньги, то все необходимые элементы можно заказать у фрилансеров на https://www.fl.ru/ (русскоязычный) или https://www.upwork.com/ (англоязычный).- Бесплатен ли Unity?- Можно свободно скачивать, использовать и продавать готовые игры на Unity с лицензией Personal - это абсолютно бесплатно! Но на бесплатной версии при запуске игры будет появляться короткий стартовый ролик "Made with Unity", а также ваши доходы ограничены 100 000 долларов в год. Для снятия этих ограничений нужно приобретать платные версии лицензий Unity. В конечном итоге, платные варианты используются лишь крупными компаниями с огромными доходами, тогда как обычные разработчики в большинстве своём используют бесплатную Personal лицензию.Обучение - ЯзыкИтак, с чего же начать изучение этого замечательного движка? Прежде всего, с изучения языка. Самые основы C# можно узнать на интерактивных курсах здесь:https://dotnetcademy.net/CSharp/Beginnerили в текстовом туториале здесь:https://www.tutorialspoint.com/csharp/csharp_quick_guide.htmДля изучения основ UnityScript выучи вначале основы JavaScript:https://learn.javascript.ru/Помни, что далеко не все элементы JS есть в US. Чтобы понять, в чём разница между этими двумя языками, прочти эту статью:http://wiki.unity3d.com/index.php/UnityScript_versus_JavaScriptПомни, что тебе достаточно одного языка из двух и учить их оба одновременно не нужно.- ДвижокЕсли ты уже умеешь использовать язык, то можно приступать непосредственно к изучению движка. Крайне рекомендется купить/скачать книгу Unity in action (Unity в действии). В ней подробно описываются множество возможностей движка.http://www.ozon.ru/context/detail/id/34792570/Также посмотри на видеотуториалы с официального сайта:https://unity3d.com/learn/tutorialsЕсли же ты не любишь видеотуториалы (или не понимаешь разговорный английский) и предпочитаешь текст, то посмотри здесь:http://catlikecoding.com/unity/tutorials/Тут крайне подробно описан процесс разработки и приведены примеры кода. Эти туториалы универсальны и описывают множество различных частей игры, от работы с текстурами до генерации карты мира. А вот в этом туториале описыватся разработка двухмерной игры с видом сверху:https://www.raywenderlich.com/61532/unity-2d-tutorial-getting-startedЭто будет полезно, даже если ты планируешь разрабатывать трёхмерную игру. Ни в коем случае нельзя обойти вниманием этот сборник туториалов: https://noobtuts.com/unityВ нём подробно описывается процесс пошагового создания разных игр - двухмерных и трёхмерных. Разумеется, все эти туториалы охватывают лишь часть возможностей Unity. Самый надёжный способ выучить Unity - это начать делать игру и по мере разработки гуглить непонятные моменты. Шапка: http://www.writeurl.com/publish/zukmrogwv45ptyuseyol
>>401757GameObject boo = ...;Polozhit(boo.GetComponent<ItemObject>());А вообще проиграл от сочетания руssкости, говна на скринах и отсутствия знаний.
>>401759>GameObject boo = ...;Вместо трех точек подставь метод, которым ты gameObject получаешь, балбес.
аноны, хелп. загружаю любую текстурку, будь то персонаж или фон, и картинка не отображается, только рамка от нее и все. вижу ее только во вкладке game
>>401766Заскринь.
>>401757Пометь подбираемые предметы тегом, pickable к примеру, и проверяй тег рейкастом.
>>401772...сделай менеджер предметов в сцене, который сразу имеет ссылки на компоненты всех подбираемых предметов, при подбирании работай с предметом через менеджер
>>401768
>>401785у тебя спрайт в иерархии камеры а не сцены, вытащи его от туда(слева, под камерой) и назначь заного позицию 000
>>401786все правильно сделал?
>>401787а камера в какой позиции?
>>401787а тфу ты бля, этож сцена и в игре говоришь в все видно, тогда я не ебу погугли, это у тебя какие то поломки
>>401787попробуй кликнуть 2 раза на кнопку 2D
>>401789да гуглил уже. у меня помимо этого, рамок камеры нет, но вроде в прошлом треде объяснили как немного по-другому подгонять текстурки
>>401791либо у тебя разумный компьютер, который тебя нарошно тролит, либо ты не смотрел даже никакого базового гайда, ты с такими темпами не дойдешь даже до кода. 1 час потратить на какой то гайд по юнити или несколько дней на расспросы в этой помойке? хммм
>>401792в гизмос рамка камеры может быть
>>401792в этом-то и дело, что я по урокам делаю. только у них там сразу все нормально, не так как у меня. и никто даже не говорит о том, что может быть как-то иначе
>>401795потому что не может быть. значит вариант 1ый тебя тролит твой пк
>>401757а ничетак. хоть показать есть что. только ты какой-то хуйни наворотил на мой вкус. как инвентарь то организовал? просто складываешь в пустой геймобжект выключенные геймобжекты при поднимании чтоли? никакой базы данных не организовывал чтобы мочь дестроить обжекты или спавнить их в процессе игры из ничего? нахуй ты при поднимании конвертацией то занимаешься?
>>401787transform.position.z параметр спрайта измени, у тебя камера не видит объект.
>>401839>базы данныхТак и представляю себе инвентарь на десятки тысяч итемов.
>>401842чувак это окно Scene в 2D режиме(ортографический режим), публичной камеры в СЦЕНЕ никакой нет, она есть в игровом окне в котором у него все ОК. это проблема со сценой и только у него
>>401860да не обязательно десятки тысяч итемов. надо как минимум иметь возможность связать юнити с всякой абстрактной хуйнёй. чтобы вот был предмет, они имел бы ссылку на то как он выглядит, или какую-то форму ключика вроде айдишника, или стринга который бы указывал на префаб. чтобы была возможность сказать какомунить статичному классу-манагеру "хуйня заспавни мне такой предмет", или "хуйня заспавни мне такой предмет, вот что должно лежать внутри". иначе как предметы то в мире спавнить нормально? сплошная боль будет без этого.
>>401868может не делать персонажа как 10 этажный дом?
>>401872бляяяяяяя персонаж должен быть до 2ух метров если это человек и до 10 если это неебический сттрайдер из халфлайф, иначе физика идет по пизде
>>401871а нахуй твой инвентарь вообще описывает коллекцию геймобжектов? как собрался хранить предметы не имеющие физического представления? или как ты собрался создавать предметы в процессе игры? как собрался делать сохранение / загрузку с таким срамным подходом то?
>>401882(другой анон) хачу напомнеть чта ита идни дев!111111 ты на идне прешь? фсёёё тоби пизда
>>401885инди и хуинди - разные вещи
Unity-господа, ньюфаг репортинг ин.Суть такова. Пилю РТСку, запилил движение с использованием NavMesh'а, (реализованы выделение рамочкой и кликом, А-клик и движение "на муве"). Но проблема вот в чем - если юнитов много, то когда первые доходят до точки клика они останавливаются, а другие пытаются пройти сквозь них, толпятся и иногда водят хоровод.Как сделать что то в роде squad-move, как в старкрафте/варкрафте, например?Альтернативный вопрос: как сделать полковую систему, как в Total War, например? Когда много болванчиков объединены в построение и ходят вместе, но когда доходит до боя дерутся по отдельности, и снова возвращаются в строй когда перестают драться.
ух. целых два дня репу чесал над вопросом как же мне нарисовать зеленую штучку.>>401885одно дело быть валенком и иметь план, другое дело быть валенком и плана не иметь.>>401889чайлд monobehavior, да?>>401917ты набрел на самый ужасный топик в юнити - навигацию. сквады ясен хуй это просто юниты с иерархией. есть один мегаюнит-сквад, а он командует всеми юнитами вокруг себя чтобы они были там или сям относительно него.остановку я даже не знаю как сделать, можно попробовать сделать что-то вроде 2д системы частиц где ближайшие частицы бы отталкивали и притягивали друг друга в каких-то пределах и через это можно было бы решить все проблемы формаций и толканий пользуясь частицами как маской для передвижения юнитов внутри сквада, а глобальную навигацию всего сквада отдать юнити. но с такими велосипедами охуеть можно.
>>4019171 ый вопрос гуглитсяа построения незнаю, ртс это слишком запарно по мойму, как по коду так и по остальному контенту. Во первых я уверен и это гуглится в 5 сек, в том же поисковике проектов(ссыль в оп) можешь найти ртски и посмотреть как у них сделано например. Мне кажется как то так должно быть: класс полка в момент стычки каждому своему юниту подыскивает пару из вражеского EnemyPolk.GetFreeUnit(). Или еще пиздаче, в момент стычки создается класс Boynya который будет в себе уже разбивать юниты на пары и контролировать сражение совмещая данные из двух и более полков. Хотя я никогда даже не интересовался РТС и это все возможно убогий костыль по этому лучше погугли причем желательно на инглише.
>>401861>публичной камеры в СЦЕНЕ никакой нетМда, чем же тогда рендерится сцена в окне редактора? Камера в сцене есть и она может не видеть объекты из-за clipping'a.
>>401861Нюфань,слушал бы что тебе умные люди говорят. Переключись в 3д и увидишь где камера сцены находится.
>>401933>публичной >>401935>увидишь где камера сцены находится.я говорю о той камере которой вы летаете в самой сцене, она нехуя не публичная и вы её никак не увидите, её можно только через код настраивать
>>401942Что ты называешь публичной камерой вообще?
>>4019435-й видосhttps://www.youtube.com/playlist?list=PLw7Y7lUmqrIIntxG9xj9zBuslafSU42onассетhttps://www.assetstore.unity3d.com/en/#!/content/31483
>>401942Ты даун, пройди нахуй документацию читать. Записал бы для тебя вебм, но даже время лень тратить на такого инвалида.
>>401943зависит от определения грамотно. а примеров fps в гугле хоть жепой ешь, уверен есть и тот который подойдет тебе
>>401965удачи
>>401943>Как в юнити грамотно реализовать поворот рук на нужный вектор у персонажа при прицеливании?Инверсная кинематика. Либо используешь встроенную:https://www.youtube.com/watch?v=EggUxC5_lGEЛибо используешь плагин:https://www.youtube.com/watch?v=rE4nE5tMdnI
Есть какой-нибудь фреймворк для процедурной работы со зданиями? Тоесь не хранить меши или воксели, а упрощенные данные, что у такого-то здания есть комната а с такими-то стенами, комната б - с такими-то дверьми, комната цэ - с таким-то декором - в рантайме уже собирать меши, это же использовать для модели повреждений, пасфайндинга, итд.
>>401986your Google search is verrry slowhttps://www.youtube.com/watch?v=dSGm_Tw1GA8
>>401992Чот у тебя хуета какая-то.https://youtu.be/HrN_usfkDIQ
>>401992ты бы хоть прочел о чем я спрашиваю>>401999это конечно круто, но это запеканка эдиторная и абстрактная, а мне нужен рантайм под конкретные задачи
>>402003Тебе в любом случае придется хранить префабы для объектов в комнате. Волшебной кнопки "нарисовать стул как я хочю" не завезли.
>>402003>мне нужен рантаймgoogle unity endless runner
>>402008Мне не нужно рисовать стул, мне нужен лежащий в бд граф всех комнат и стен хрущевки, чтобы нпц сычев мог из своей сычевальни добраться до выхода из подъезда, воспользовавшись при этом пожарной лестницей если обычную завалило попаданием артиллерии, и чтобы интерьер и соседи стримились только на 2 комнаты вдоль его пути, а не загружались на весь коммиблок.
В юнити можно сделать передвигающуюся конструкцию, используя hinge joint? По типу шагохода.Где почитать про физику в юнити?
>>402017unity docs, unity scripting api
>>401943у юнити есть невероятная особенность - целевой угол поворота встроеной инверсивной кинематики не совпадает с поворотом костей в руках и вместо этого там какая-то магия аватаров и прочее. советую в руки сунуть геймобжект чтобы совать в него оружие, а потом сделать кнопку чтобы сунуть целящуюся руку в нужное направление и вместе с этим повернуть геймобжект в руке в нужное направление. если хочешь потом дам.>>401945называет он не подкопотную камеру. в сцене то и правда есть скрытая камера которая рендерит сцену. можно получить если залезть в Camera.current или Camera.allCameras или там вроде ещё чето было>>402017можно. но с этим охуеешь делать это хорошо. я редко советую пользоваться ассетами но конкретно тут и правда лучше ими воспользоваться. https://www.assetstore.unity3d.com/en/#!/content/48977 конкретно этот местами даже лучше того что может предложить УЕ. кстати у юнити в роадмапе были Physics Animation но по моему только для 2д.
>>402021Конструкция не двуногая и нужна для проверки работы генетического алгоритма.По факту просто ноги прикрутить к телу.Все можно, уже разобрался.
Репостну из ньюфаг-треда.Всё-равно никто там не ответит.А игра таки на юнити.Обнаружил, что после 28 ноября обрывается статистика ADMob.Игра хуйня, чисто для практики, поэтому только сейчас увидел.Игру скачивают, но кликов и копеек после 28-го нет.У них там изменилось что-то с января 2016 ? Вижу, что не было привязки к какому-то Firebase, м.б. это причина?Вроде тогда в ноябре ещё какое-то письмо приходило об изменениях а я проигнорировал.
Полный ньюфаг в юнити. Нужно написать приложение, которое сканирует qr код, скачивает 3д модель и отображает с возможностью вертеть эту модель и бродить по ней.Если с последним еще более менее ясно, то возможно ли реализовать первые две функции c# скриптами? Нужно чтобы вся эта ебала работала на андроиде и ios
>>402108>ньюфаг в юнити. Нужно написать приложениеСделать можно, ищи фрилансера.
>>402109Если б всё так просто было. Меня на работе, как джависта, суют в эту хуергу
>>402111ну раз тыжпрограммист, берешь и гуглишьunity fbx runtime import или unity asset bindlesиunity qr reader
Ребят, ребят, а поясните за атласы. Я, вот, захотел вкатиться в ассет стор и запилить простенький модульный пак. Если я тайленые текстуры 1к сошью в атлас 4к меня не обоссут? Как там вообще всё это организовывается? А ещё здорово было бы спиздить такой пак, чтобы посмотреть самому, что там, да как.
>>402108Берешь раз в секунду (полсекунды) изображение с камеры (есть в доках)Далее берешь опенсорную либу по анализу изображений (скорее всего на C, ибо скорость и все такое, так что придется помучиться с плагинами)Скармливаешь ему картинку с камеры, получаешь qr кодс помошью юнити WWW качаешь архив с инета РаспаковываешьЕсли архив оформишь в виде ассет бандла то проблем нетпрофит
>>402130Если выходишь в AssetStore лучше оставь каждый ассет отдельно. Нормальные ребята сами потом решат как им уложить данные для своей игры.>>402108Если ты на iOS и Android сможешь нативные либы накатать, то скан QR наебашить будет не проблема, думаю. Ну а скачивание моделек и т.п. есть в юнити из коробки.Короче, вот тебе стартовая точка:https://docs.unity3d.com/Manual/PluginsForAndroid.htmlhttps://docs.unity3d.com/ru/530/Manual/LoadingAssetBundles.html>>402051Насколько помню, гугловцы выкупили Firebase и там залупа началась какая-то. Дальше я уже не разбирался.>>401986Насчёт фреймворков не знаю, но почему бы самому не написать это дело? Если ты этим интересуешься, то скорей всего должен-то знать классику уровня MVC. Вот этого >>402008 разумиста не рекомендую слушать, т.к. у Unity есть API для генерирования всяких мешей в рантайме. Ярчайший пример -- это координатная сетка, которую ты видишь в GameView. Она не дёргается из префаба, а генерируется на старте.мимоПРОбыдло
>>402201> каждый ассет отдельноВ смысле текстуры не сшивать? Тогда получится дохуя текстур.И вообще. Насчёт этой модульности. Если, например, какие-то две стены не встают бесшовно и требуют дополнительный элемент для сокрытия шва (который есть отдельным префабом), люди сами должны догадаться его впихнуть? Или я как-то должен пояснить? Или они не догадаются и будут жаловаться, что не стыкуются префабы?> Нормальные ребятаТам не все нормальные. Как-то видел, когда разглядывал чужие паки, кто-то там ныл, что ассет хуёвый, потому что ведро его не вытягивает. А там какой-то йоба-пбр интерьер был дохуя детализированный.
>>402223>Или я как-то должен пояснить?Сделать сцену с примером созданной комнаты и приложить мануал.
>>402201>API для генерирования всяких мешей в рантаймеКажется я начинаю понимать, почему у значительной части юнити игор хуево с производительностью.
Есть один канвас, и на нем надо разместить иконку (Image) и трехмерный объект.Первое видно в режиме ScreenSpace - Overlay, второе - в режиме ScreenSpace - Camera.Как совместить?Есть вариант добавить вторую канву для трехмерных объектов, конечно, но что-то мне подсказывает, что можно сделать проще.
>>402383Layers
>>402387>LayersПоставил везде UI, теперь сфера болтается внутри сцены, вместо нахождения на канве.
>>402395Лэйер можно создать свой. Его присвоить сфере и камере, которая ее будет рендерить. Другая камера ее не будет видеть.
>>402320Ну так поделись, если понимаешь.
Кто-то сталкивался с реализацией Pixel Perfect интерфейса в юнити?
>>402435Стойпогодь.Мне надо, чтобы камера, которая сейчас рисует 2d иконку, рисовала еще и 3d объект, и чтобы 3d при этом был частью интерфейса, а не болтался внутри сцены.
Сап, а если вдруг я сделал игру на фри версии и у меня получилось заработать больше 100к, сколько и как тогда придется отстегивать разработчикам?
>>402500Просто подписку оформить.
>>402508Да вот я вычитал>В течение срока действия настоящего Соглашения Вы соглашаетесь и признаете, что если вы являетесь пользователем Unity Personal и превысили вышеприведенные пороговые значения, Вы утратите право на использование Unity Personal и должны будете либо приобрести Unity Pro, либо уничтожить все копии Unity Personal, которые находятся в Вашем распоряжении или подконтрольны Вам, а также прекратить распространение любого контента лицензиата, созданного с помощью программного обеспечения.Если я правильно понял, если я вдруг хайпанул и заработал больше 100к, тогда иду и башляю им 2850$ за 2 года и хайпую дальше, и так им и отстегиваю пока моя игра в продаже, верно?
>>402509да. Что в общем-то не так уж страшно, учитывая, что игра в продаже может быть и не одна, а сумма от этого не увеличится
Как можно сделать возможность "расстягивать" объекты (2D) во время игры, как в редакторе например?
>>402515transform.scale
Аноны, как можно сделать динамические ограничители для навигации? Например двери, которые в закрытом состоянии запрут АИ.Энейблить модифиер и перезапекать навмеш как то _ресурсоёмко_, особенно если делать большие карты.Разбить меш на куски, соединённые линками и енеёблить линки уже лучше, но сработает только для преград в узких проходахДля двери сойдёт, но всё же
>>402458Сталкивался.Это такой лютый пиздец, что даже не рекомендую пытаться. А если под мобилки делаешь -- просто забудь.
>>402519https://docs.unity3d.com/Manual/class-NavMeshObstacle.htmlА галку Carve не пробовал использовать?
>>402532Попробовал - сработало. Спасибо, анон.
>>402531Погоди, я допустим планирую сделать 8bit платформер, у меня будут проблемы?другой анон
>>402458>Pixel PerfectКому это говно нужно, кроме кучки полоумных менеджеров? В вебе вас обоссали, вы теперь в геймдев лезете?
>>402536Правда это Carve ресурсоёмко, что на двери его пихать не буду. Да и в плане механики выходит криво.
Анон, у меня игра в которой два персонажа перебрасываются предметами. Но из-за моего говнокода получается так, что после того как нпс кинул предмет и предмет оказался в руках игрока, на него предмет продолжает действовать сила броска от нпс. Т.е. руки игрока не поглотили кинетическую энергию броска.В общем, для того, чтобы игрок в ответку бросил предмет, он должен приложить импульс силы больше чем импульс от нпс.В общем-то геймплей работает, но согласитесь, что это как-то через жопу.Как сделать по правильному?
>>402644В чём проблема? Обнули импульс в любой из моментов на выбор: когда предмет пойман, когда в руках, перед тем, как бросить.
>>402645Анон, ты же понимаешь, что если бы я знал как обнулить импульс, то не задавал бы вопросов.
>>402648В общем, включаю Is Kinematic когда предмет оказывается в руках. Вроде бы помогает.
Сап гайз.Пилю вот "завернутую" карту, решил хитровыебаться и исполнить ее в виде трех дополнительных камер, которые, по сути, должны друг-друга дополнять.Можно ли сделать так, чтобы все, что остается за террейном камера не рендерила, а просто отдавала эту часть экрана другой камере?
>>402654Все просто, в настройках камер clear flags ставим на dept only. Все пашет.
>>402509Не понятно, если я за год заработал овен 100к, тогда оформляю подписку, ну а при истечении этого года в последующие года у меня не выходит больше 100к, тогда могу отписаться или как? Или я им пожизненно становлюсь обязан платить, пока игра продаётся?
>>402716Тут весь тред зарабатывает больше 100к в год, тебе обязательно помогут с этим вопросом.
>>402722Ну они что-то как-то не исчерпывающе написали в соглашении, я хз, может кто-то задавался уже вопросом, хотя бы из любопытства, в поддержку им писал может быть...
Делаю скролящийся Canvas по туторам в интернете, кидаю внутрь Text, к которому прикреплен скрипт, меняющий цвет текста, если курсор на тексте.Если курсор на Text, то скроллинг не работает, то есть Text перекрывает рейкаст CanvasКак это пофиксить можно?
>>402810Там какая-то хуйня с event.use или чем-то таким, я бля хуй его знаит
Как создавать объекты через Instantiate, чтобы был массив этих объектов? Мне нужно удалить 2 клона объекта при определенном условии. как присвоить массиву эти объекты?
>>402770На кастрате? Катаракте? Контракте? Вконтакте? Где он работает?
>>403028>Как создавать объекты через Instantiate, чтобы был массив этих объектов?for(;;){ anusy = Instantiate(anus_prefab);}>как присвоить массиву эти объекты?ПРи помощи оператора присваивания =
>>403028private List<GameObject> objs = new List<GameObject>();...GameObject obj = Instantiate(orig_obj, new Vector3(0, 0), Quaternion.identity);objs.Add(obj);...foreach (GameObject obj in objs){ // сравнение}
Ну что, запилил уже нестед префабы?
>>403029констракте
А долго в Сишарп вкатываться для достойного владения Юнити, когда ты высокоуровневая макака(python)?
>>403163Любой из твоих говноскриптиков уместится на А4. Тебе надо понять, что происходит в Start() позже в Awake(), OnEnable() и т.д. и в Update() позже в FixedUpdate() и прочихРазобраться в своиствах и методах твоих говно-гэймобджектс, чтобы ими манипулировать. Осознать смысл GetComponent<>, который будешь юзать постоянно.Сисярпа в юнети надо настолько мало, что лэвел особа и не на чем прокачать
Аноны, выручайте! Я пытаюсь запилить бесконечные платформы, написал простой скрипт, чтобы создавать клон платформы впритык к ней. Теперь нужно сделать это бесконечно, но для этого надо, чтобы GameObject'ы that,cube,collide брались с клона платформы, а предыдущая удалялась при определенном условии. Это вообще возможно? по-другому я не представляю как сделать.
>>403251Хотя можно прицепить всю эту парашу к камере(она следит за кубом) и в центре каждой платформы сделать объект при столкновении с которым будет создаваться очередная платформа. [/spкак же по дебильному я пишуoiler]. Теперь подумаю как удалять весь этот мусор...или засру тред тупыми вопросами
>>403257Опять же я проебался. Клон этого объекта не идёт в public GameObject, хоть название в инспекторе одинаковое. хз тогда как...
>>402611Сорян, захожу в тред раз в неделю.Будут проблемы. Вот давай подумаем вместе. Ты собираешься в pixelperfect, собираешься растром рисовать картинку в игре или "вектором"?Очевидно, что растром, т.к. плагин для векторного графона брать не будешь.Сколько разрешений экранов есть? Сколько пикселей на дюйм у этих мониторов будет?Сколько наборов графики тебе придётся держать и менеджерить?
Почему координа дочерних объектов остаются такими же как и на сцене? Это фича такая? как фиксить?
>>403409ObjectPool.https://unity3d.com/ru/learn/tutorials/topics/scripting/object-pooling
>>403418Да, это фича такая.Когда ты делаешь объект чилдом какого-то объекта, то дочерний объект начинает жить в координатной сетке по отношению к родительскому объекту. Да, получается весёлая штука уровня сетка внутри сетки внутри сетки и т.д. То, что ты видишь в инспекторе называется локальная трансформация.https://docs.unity3d.com/Manual/class-Transform.htmlЗачем это сделано: http://gameprogrammingpatterns.com/dirty-flag.html
>>403420Спасибо, няш! Пул запилил, сейчас продолжу начатое.
>>402458>Кто-то сталкивался с реализацией Pixel Perfect интерфейса в юнити?>>402615>Кому это говно нужно, кроме кучки полоумных менеджеров? В вебе вас обоссали, вы теперь в геймдев лезете?У меня например без Пиксель Перфект ГУИ мылом покрывается аж глаза болят. ЧЯДНТ?
Аноны, у меня предметы с rigidbody пролетают сквозь друг друга, если придать им достаточно высокий импульс. То есть, если приложить силу около 10 все норм, а если 20, то полет сквозь стену.Что это за хуйня? Unity 5.6.
>>403465Я престарелый аутист, но думаю вот это тебе подойдет для ознакомления:https://unity3d.com/ru/learn/tutorials/topics/scripting/update-and-fixedupdate
>>403468Спасибо, анон, теперь все стало очевидно, ведь я говнокодил в Update.Также посылаю лучи ненависти авторам Playmaker, которые поленились сделать галочку под fixed update в основных нодах.
Как проверить на столкновение ЙОБЫ1 и ЙОБЫ2 через if? что в условии то писать.
Господа, подскажите, ка просто запустить анимациию через скрипт?По клику на кнопке работает, а так нет. Пишет, что Animator does not have an AnimatorController, но я его создал, засунул туда анимацию и прикрепил все к модели.#pragma strictvar Ball: GameObject;function Start () {}function Update () { if(Input.GetMouseButtonDown(0)){ Ball.gameObject.GetComponent(Animator).play("anim"); } }}
>>403498Попробуй сисярпpublic GameObject ГеймобжектVoid OnMouseDown{ Геймобжект.GetComponent<Animation> ().Play("Название анимации");}
>>403499> \t\t что это блэть
>>403476Бамп
>>403501Ехала документация через справку:OnCollisionEnter OnCollisionExit OnCollisionStay OnTriggerEnter OnTriggerExit OnTriggerStayhttps://docs.unity3d.com/ScriptReference/Collider.html
Ебусь тут с нормалями, каналы инвертирую во все стороны, а тут оказалось, что моя модель виновата, а не карта. Что я мог неправильного сделать с моделью, что карту нормалей выворачивает? Какая-нибудь развертка отзеркаленая? Раньше так не было.На пике один и тот же мат, справа на модели, слева на юнитивском плейне.
>>403498самофикс, вдруг кому пригодитсяvar animator : Animator; function Start () {animator = GetComponent(Animator); } function Update () { if(Input.GetMouseButtonDown(0)) { animator.Play("anim"); }}
>>403506Всегда проверяй, что нашлось через GetComponentif(animator != null) { zaebisCykaBlyat(); }
>>403465Я другой аутист. Зачем тут вообще апдейт. Чистая физика симулируется сама. Или ты детектишь? Тогда православнее OnCollisionEnter etc
Кто-нибудь аутировал с плагином Adventure Creator под юнети? Стоит он своих 70 енотов?Playmaker не предлогать
>>403507Есть атрибут RequireComponent.
Собственно философский вопрос:Допустим у меня есть пушечное ядро 2D.Оно должно взрываться при столкновении с поверхностью или с врагом.Я вешаю коллайдеры на ядро (циркл 2д), врага (бокс 2д) и землю (бокс 2д).1) Есть ли принципиальная разница, что из них делать триггером? У меня сейчас триггеры висят на враге и на земле, а на ядре просто коллайдр.2) Где лучше обрабатывать процесс столкновения? Сейчас у меня OnTriggerEnter2D на враге вызывает метод его уничтожения, а OnTriggerEnter2D на ядре вызывает метод который его взрывает. Правильно ли это, или нужно вешать все это дело в скрипт ядра, и там уже вызывать нужный метод other-объекта?Понятно, что работает и так, но не хочу говнокодить, хочется узнать о хороших практиках.
>>403532Я не хотел его перегружать инфой. Но ты прав. Так еще православней
>>403541Еще православней через events. У тебя где-то менеджер всех ёбаколлизий отдельно от объектов и ёбаядер. Когда происходит столкновение, каждый участник вызывает ивент TyChyoCykaDoebalsya(). Сообщает, кто до него доебался. Менеджер решает, что с ними делатьТак ты соберёшь все решения в одном месте. И, кстате, говнокодить придется и по нескольких скриптиков навешивать на объекты. Но это в плюс, ибо хоть какая-то структура
>>403549А есть ссылки на живые примеры такой реализации? Я пока в юнити полный нуб и даже пока не понял для себя, как делать скрипты которые вообще не привязаны ни к какому объекту, чтобы в них использовать "общие методы". Например, чтобы какое-то глобальное событие на сцене запустить вроде смены дня и ночи по таймеру.По официальным видосам, как я понял особо хорошим практикам не научишься, там в основном принцип "работает и ладно". Для реального проекта малоприменимо.
>>403551Просто создай какой-нибудь Canvas и привяжи скрипт туда. Сами по себе скрипты это обычные ассеты, которые ничего не делаютИз этого самого Canvas вполне можно делать глобальные вещи, просто делаешь там референс на нужный объект и работаешь с ним:public GameObject huitaПотом открываешь в инспекторе свойства Canvas и переносишь нужный объект на поле "Huita", и из скрипта можно работать с этим объектом напрямую
>>403551>А есть ссылки на живые примеры такой реализации?я учусь у него. Без суеты прорабатывает все деталиhttps://www.youtube.com/playlist?list=PLwyZdDTyvucwjwqucleVQB7U12H2JPvg5за 8 долларов его игра на стриме с исходниками
>>403551для этой годноты >>403557устанавливаешь Gihosoft TubeGet и скачиваешь без задней мысли
>>403557видосик из этого списка, где он начинает про events
>>403559прямая ссылкаhttps://www.youtube.com/watch?v=oeyRt_e80-Q&list=PLwyZdDTyvucwjwqucleVQB7U12H2JPvg5&index=26
>>403453Ты бы показал мыло для начала.
>>403505Всем спасибо, всё работает. С тангент спейс наебался. Даже хуй знает, что это.
>>403556У меня как правило гейм-объекты заранее не существуют, а создаются из префабов, поэтому их нельзя в паблик свойство заранее определить.Точнее можно, но это же будет префаб, а не его конкретная реализация, если я правильно понимаю.Приходится в скрипте префаба события обрабатывать.Но все равно спасибо.
>>403560>>403559>>403558>>403557Спасибо, буду разбираться.
>>403507>>403532Спасибо за совет, вы классные.
Еще вопрос релейтед к этому:>>403568>>403541Вот есть у меня различные снаряды, например: пушечные ядра, бумеранги и ракеты.Я сейчас для каждого из них делаю префаб. При этом они все ведут себя похоже, т.е. скрипты различаются минимально.Можно ли как-то создать префаб-родитель который будет хранить основные свойства и методы, а у потомков уже дописывать что мне нужно?Или если есть разные типы врагов допустим.Как вообще такие механизмы реализуются в Юнити?
>>403669С общем скрипте, где спавнишь, задаешь после Instantiate свойства (эддфорс-хуёрс и т.д.)В чем конкретно должны быть различия? Наверное, бумеранг закрутить. Так это тоже физика. Включить другой свист в аудио.
>>403682Ну допустим у меня система части к ракете прикреплена, а в бумеранге она вообще не нужна.Ее получается отключать по-умолчанию, и включать после Instantiate только если я создаю ракету?
Как можно после клика осуществить спавн of object , который (если клик продолжается) можно сразу перемещать (в 2д) , до конца продолжительного клика? Если есть возможность, можете написать пример кода.
>>403701Например, няша , во время игры кликает в любую точку пространства, после чего спавниться новый object на месте клика(и,если мышка остаётся нажатой после клика), this object можно сразу перемещать , двигая курсор(после завершения нажатия, object остаётся на том месте, когда он был в момент завершения клика) ,спасибо.
>>403701Я диванный, но подозреваю, что в событии онКлик, при создании инстанса объекта ты записываешь его и текущее положения мыши в приватные переменные. А дальше на событии онДраг (или онИнпут, я точно не помню) ты отслеживаешь MouseToWorldPoint и меняешь соответственно координаты объекта из переменной согласно движениям мыши.Ну и на событие которое отпускает кнопку мыши вешаем обработчик, который возвращает текущий объект в исходные координаты, после чего очищаешь переменные.Я нуб, может тебе кто опытнее что-то получше подскажет.
>>401747 (OP)Что с этим ебанным ассетстором? Почему он спрашивает логин-пароль, когда я там и так есть, но не принимает мои логин-пароль? При этом, когда окно логин-пароля закрываю он что-то пытается скачать, а потом просить перекачать.
Друзья, у меня тут проблема нарисовалась, возможно кто-нибудь знает как её решить.Не знаю, на сколько это важно, но игра Джвадэ. Есть два объекта: один родительский, другой дочерний. У обоих скрипты: в родительском ставится скорость вдоль оси X, в дочернем вдоль оси Y. Хочу добиться следующего поведения конструкции: родитель гоняет по оси X а из него вырывается дочерний объект и перемещается вдоль оси Y относительно родительского.Что получил: оба объекта как и нужно ездят вдоль оси X, но вот дочерний объект не ездит вдоль оси Y до тех пор пока не останавливается родительский объект (а он стопарится при смерти игрока).Как делал:Пробовал ставить в дочернем объекте velx = rb2d.velocity.x; rb2d.velocity = new Vector2(velx, vely); или просто rb2d.velocity = new Vector2(0, vely);Пробовал пёхать эту дрянь как в функции Update(), Start() по одиночке, так и в обе сразу. Результат одинаковый.Отмечу также, что отдельные куски кода дочернего объекта работают, как например transform.positionПомогите, люди добрые, игруня на финальном этапе, а эта дрянь спать спокойно не даёт.
>>403788А vely ты что присваиваешь?Он же у тебя должен по оси Y ездить?В твоем коде, насколько я могу судить ты просто присваиваешь ту же самую скорость по x объекту еще раз. Само собой она остается той же самой.Скорее всего дело в том, что скорость у тебя задается относительно мира, а не относительно объекта. То есть скорость родительского и дочернего объектов равны и они движутся оба одновременно с одинаковой скоростью. Поэтому когда ты останавливаешь родительский объект, то дочерний и начинает у тебя двигаться с той же скоростью, что и двигался родительский.
>>403792vely - фиксированная скорость типа public. Определяю в коде, оптимизирую в редакторе сцены.В velx попадает скорость объекта, которая у него уже есть, так как скорость сетится как Vector2(velx,vely), очевидно, что я не хочу менять скорость дочернего объекта вдоль оси X, а вот вдоль оси Y она у меня не сетится вообще, и объект начинает движение вдоль OY после остановки по ОХ - в этом и проблема.И да, если скорость задаётся относительно мира, то всё должно быть ОК, т.к. скорость движения всей конструкции относительно мира по OY изначально равна 0, а я дочернему объекту даю в коде vely (что не срабатывает до остановки по OX)
>>403792>>403850Наверно я пишу не очень понятно, по этому постараюсь описать ситуацию:У меня есть труба, которая смотрит вверх - это родительский объект. К нему прикреплена (находится внутри него в иерархии объектов на сцене) струя воды - дочерний объект, которая сдвинута вниз, под землю.Труба движется на игрока вдоль оси X, а вода должна вылетать из трубы вдоль оси Y, при этом конструкция стопарится по OX, если игрок умирает. Фрагмент кода, что я скидывал - для струи. velx символизирует скорость, которую изначально получает струя от трубы как дочерний объект, а vely - должна устанавливаться, но устанавливается только после смерти игрока, и в этом вся проблема.
>>403852Я проверил у себя на демо проекте, действительно не получается двигать таким образом дочерний объект относительного родительского.Нужно почитать про поведение дочерних объектов. Может не с помощью велосити его двигать а трансформ.позишн или как-то так?Я попробую потом еще и если что-то получится, то отпишусь.
>>403853>>403852Смотри, такое решение тебе подойдет? Возможно не идеальное, но по-другому не знаю как сделать:public class ChildController : MonoBehaviour { public float velY; private Vector2 v; private GameObject parent_obj; // Use this for initialization void Start () { } private void Awake() { parent_obj = transform.parent.gameObject; } // Update is called once per frame void Update () { v = transform.parent.transform.position; v.y = transform.position.y + velY; transform.position = v; }}
>>403853>>403865Анон, спасибо тебе за ответ. Я сам думал на счёт подобного решения (через transform.localPosition), только с использованием Time.deltaTime*vely. Сейчас собственно вижу, что решение даёт рывки, что никак не вписывается в общую картину. Буду пробовать модифицировать либо искать другие решения, а может, ещё кто чего посоветует. В любом случае, спасибо, что не остался равнодушным.
>>403868Не за что, думаю, что через Mathf.Lerp у тебя получится добиться плавности. Добра.
Аноны, есть один fbx...Короче, сделал анимацию в блиндыре с помощью rigify, wgt-кости удалил, всё чистенько экспортировал fbx, ну и потом соответственно импортировал его в unity. Вот в чём проблема: начал настраивать т-позу этой анимации и у меня юнити начал умирать, кадров 2-3 в секундухз что такое, впервые такоетам выяснилось, что где то я нихера не почистил wgt, в fbx объекте находилось 104 меша и 108 объектов которых юнити генерирует при импорте модели/анимацииНО!во второй анимации где объектов 1 меш( по сутичистый от wgt костей) та же самая историяеле могу выйти из режима редактирования т-позы, кнопка прожимается несколько минутт.е. дело не в этом. Гуглил - мало, что дало, считай ничего.Что ето такое, аноны, ваши предположения.
>>403893Короче я добился плавности эмитируя сеттинг скорости путём сдвига на некоторое deltaY в FixedUpdate, палю годноту: x = RainbowBody.transform.localPosition.x; y= RainbowBody.transform.localPosition.y; RainbowBody.transform.localPosition = new Vector2(x, y+((ymax-ymin)/RSpawnTime*Time.deltaTime));ymax-ymin/RSpawnTime - определение скорости через минимальную и максимальную альтитуды пути, где RSpawnTime время, за которое объект преодолевает это расстояние. Ну и вишенка Time.deltaTime - дельта счётчика времени.Полагаю rigidbody2D.velocity примерно так и делается. Надеюсь, вам это пригодится, как пригодилось мне.
>>403910Чоткий поцан выкладывает файл на обменник, что бы другие поцаны пасмарели. Хули тут на пальцах объяснять-то.Еще лучше- даешь исходник блиндыра
>>401747 (OP)Как прикручивать код C++ к Юнити? Обычными DllImport? Или есть получше варианты?
>>403986Нету, только дллимпорт
Как сделать счетчик?Такой что бы каждую минуту от 1000 отнимал 10.Обычный таймер я делал, по типуА = А - 1*Time.deltaTimeА вот что бы ровно каждую минуту отсчитывало, как сделать?Или прикрутить точно такой же таймер, но просто при показе счетчика в игровом поле обрезать до целых чисел.
>>404050Думаю можно как-то так:private int myCount;private function Awake() {mycount = 1000;Invoke("MyDecreaseCount", 60f);}private function MyDecreaseCount() {myCount-= 10;Invoke("MyDecreaseCount", 60f);}
>>404075А можно чекать текущее время каждый кадр.
>>404076Так ты же с таймером уже работал.Запусти таймер в Awake, а в Update проверяй сколько времени прошло, думаю так.
>>404050InvokeRepeating("VICHITANIE", 0.0f, 60f); void VICHITANIE() { nahuya = 1000 - 10; }
>>404050private int hui = 1000;...StartCoroutine(Counter());...IEnumerator Counter(){while (hui > 0){hui -= 10;yield return new WaitForSeconds(60);}}
Аноны, есть 2d бомба которая обладает радиусом действия, хотелось бы показывать радиус окружность, как такое можно реализовать?
>>404217Спрайт нарисуй.
сап, аноны. подскажите, как сделать конец игры как можно проще? допустим, я добежал до нужной точки (у меня 2д платформер) и вызывается начальное меню. и еще: как мне точно так же вызывать это меню, только когда у меня кончается хп.я знаю, что ебланский вопрос, но я гуглю, там всякая хуйня и сложно. сам я головой думать не могу, так как по сути всю игру я сделал по подобию.
>>404241>как сделать конец игры как можно проще?void OnTriggerEnter(Collider kallayder) { SceneManager.LoadScene("Menu", LoadSceneMode.Additive); }
Раскопал недавно свою коллекцию недоделок и нашел охуэнную игру на мобилкиAVE UNITY! DEUS VULT
>>404253> коллекцию недоделокNew projectNew project2New projectjbjdkjbkerNew prNewTest@Большая часть из них - пустые.
>>404262Ну ты и бабка
>>404244спасибо, а как можно еще конец игры самым простым способом сделать. у меня есть бар, в котором есть типа сердечки. как сделать, чтобы выходило начальное меню, когда эти сердца кончаются?
>>404244и да, можешь вообще объяснить, что мне делатьс этим. то есть скрипт я запихну, а что за коллайдер, и в каком это случае выйдет меню, когда дойду до определенной точки?
>>404298бляя, я все понял, я тормоз
Никто не знает, как с макса сразу дохуя fbx экспортировать? Есть куча объедков в сцене и нужно все их раздельно экспортировать. И ещё. Как всё таки этот ёбаный пивот ставить для юнити? Помню, находил относительно правильное положение. А когда захотел траву из своих мешей запилить, то это положение тоже не подошло нихуя. Все меши завалились на бок.Ну, в общем, поделитесь мудростью экспорта/импорта фбх.
>>404386Была похожая задача, нужно было через кастомный ипортер открыть несколько сотен файлов и экспортнуть их, написал скрипт, который все делал, там ничего сложного, но конкретно подсказать, что там и как не могу, поскольку уже давно было, а я на блендер перешел. Но кстати, в чем проблема кинуть файл прямо в проект? Юнити на лету максовский формат конвертирует, потом добавляешь "модель" в сцену, отдельные меши будут потомками, их в сцене достаточно вынести за пределы родительского объекта и сделать префабом и все - дальше можно его использовать. На счет пивота опять же классический трюк - делаешь в юнити пустышку, а объект кидаешь в нее, корректируешь положение, все, трансформ пустышки и будет твоим пивотом/ориджином, делаешь префаб, используешь. Не усложняй.
>>404410Да нет, я хочу ЛЮДЯМ сделать. Себе бы я абы как сделал. А я хочу, чтоб было всё чинно, благородно.
>>404419ну тогда пиши скриптыhttps://mixescript.blogspot.ru/2013/03/center-pivot-or-bottom-center.htmlhttp://polycount.com/discussion/125172/exporting-hundreds-of-object-to-separate-fbx-files-in-3ds-max
>>402648>Анон, ты же понимаешь, что если бы я знал как обнулить импульс, то не задавал бы вопросов.Есть несколько вариантов.1. Обнулисть велосити.2. Дать импульс, направленный в противоположную сторону от текущего.
>>403163Смотря что ты хочешь делать. Нужно понимать, как работает выделение памяти и GC в .net и unity. Желательно уметь в LINQ. А если хочешь делать игры, то придется еще постигнуть линейную алгебру, паттерны проектирования, SOLID. Знать, чем отличается значимые переменные от ссылочных, и какие подводные камни могут быть с этим связаны. Можно еще покурить дженерики, но с ними нужно осторожно, GC их не любит, и если сделать все криво, то может начать кашлять.Что касается самого шарпа, то если у тебя есть нормальное образование за плечами, с теорией алгоритмов, дискреткой, матлогикой, и пайтон не единственный язык, ан которым ты что-то когда-то писал, то проблем быть не должно.Там еще есть нюансы работы с ресурсами, но это скорее про знание движка, чем про программирование.
>>404485Почему?мимо нуб с linq в .net 2.0А если я на .net 6.0 перекачусь?Игра у меня основана на подобии БД (в смысле ОЧЕ много связанных объектов)
компьют шейдоры какие же они крутые. вот здорово когда неожиданно находишь несколько терафлопсов и можешь ими командовать.что-то тред загнивает, только этот хрен с дорожками что-то показал.>>404485на самом деле конечно же это не так и в геймдеве лучше обходится всеми доступными инструментами, но не на всех промежутках жизни проекта.>>404504большая часть LINQ генерирует какое-то неебическое количество мусора в процессе. он хорош чтобы ускорить создание прототипов, но в итоге в готовом проекте его всякую клевую хуйню лучше убирать.
>>404516> тред загнивает
Есть маленьнкий библиотечный проектик. Как добавить ссылку на на него?
Нормально делать декали, которые всякие там ямы в асфальте люки, хуюки, используя стандартный шейдер с прозрачностью катаут? И почему только он тень принимает? Фейд, например, гораздо лучше выглядит. Но на него тень не падает.
>>404516>что-то тред загнивает, только этот хрен с дорожками что-то показал.Ну раз хочешь я на днях свою стратежку в разработке покажу, как новую версию релизну. Она без графония впрочем, совсем.
Ебашу свой двор, на ущербность домов не смотрите и общую ущербность сего творения, поставил чисто чтоб знать где че стоит и ориентироваться, потом хочу замутить квартиры открытые чтоб все были и все такое и кароч шутан будет в моём дворе, можно будет там засесть в какой-нибудь квартире к примеру в той дальней многоэтажке и отстреливать со снапы лохов всяких D:
>>404631Тут еще как раз садик и вот за ним типо школа стоит со спортзалом большим
>>404631выглядит конечно уебищно, но ты продолжай, получается хорошо. Главное персонажей кубами не делай и все ок будет.
>>404631Диванон по скриншоту!
>>404653Не надо, лучше подскажите чем можно быстро настругать кучу квартир для зданий?
>>404297void Update(){if (heart_count == 0)SceneManager.LoadScene("Menu", LoadSceneMode.Additive);}
>>401757Охуеть, это двери?
>>404713А ты плотник?
Прошу о помощи, возникла непредвиденная проблема.Я новичок в Unity. Однако скачал сам движок до выхода Visual Studio 2017 - с версии 2015. Когда я узнал о том, что в версии 2017 удобнее работать, я удалил 2015 версию и скачал 2017, однако Unity, поскольку является независимой, осталась.Обучаясь оcновам и не только Unity, я дошёл до момента, когда пора бы уже прикоснуться к скриптам. Так вот Unity предлагает мне лишь среду разработки MonoDevelop, а я хочу работать в Visual Studio 2017 (привык просто).Переустанавливать винду я не пробовал, просто искренне надеюсь что нужного мне результата можно добиться проще.Буду очень признателен тому кто мне поможет.
>>404755Ну так ткни на "брауз" и найди свою студию. Или это так не работает?
Кто там хотел поделок от анона - пытаюсь делать стратежку с экономикой основанной на симуляции агентов (а не на неких магических (и глючных) формулах как в Geopolitical Simulator) Сразу говорю графона нет. Да и геймплея пока мало - можно набижать на соседей или просто отращивать экономику. В Викторию играл, тамошняя экономика меня не устраивает.Что есть:Рандомногенерериуемая карта с провинцияминаселениебазовое производство\торговля\потреблениеизобретениячасть реформ (с голосованием)миграция\ассимиляция населенияможно набигать на соседейЕсть webGL демка: http://nashet.github.io/EconomicSimulation/WEBGL/index.htmlИли можно скачать скачать тоже самое для PС, Mac, Linux, будет быстрее работать - https://github.com/Nashet/EconomicSimulationОтдельный тред стоит пилить?
>>404757Да, скорее всего так.Но я попробовал так сделать - и ничего хорошего у меня не получилось. Вероятно где то в папке Visual Studio лежит нужный мне файл или что то, однако я не знаю где это находится. Теперь это является моей проблемой, если данный способ является правильным
>>404761Пробовал Edit>Preferenses>ExternalTools ?Если студию руками ставил то может понадобиться юнити-аддон. Или проще юнити обновить\переустановить она сама все сделает.
>>404761ПКМ по ярлыку студии → расположение файла. Это должен быть тот самый файл.
>>404763Спасибо большое! твой совет мне помог - всё работает как надо
>>404755С Юнити идёт интеграция с студией (см. галочки при установке), тебе надо её только поставить.
чтото двощь не хочет мои скриншоты. сделал растеризацию террейна через компьют шейдоры. доволен.>>404760я хотел, хорошо сделал. приятно видеть что в разделе что-то происходит.как генерацию карты то устроил? меню с таксами имеет повторяющиеся пункты? как прокручивать карту? и конечно здорово сделал перетягивающиеся элементы интерфейса, но чего они за пределы своей рамочки то могут уезжать?
>>404833>чтото двощь не хочет мои скриншоты. сделал растеризацию террейна через компьют шейдоры. доволен.>А я все мечтаю сделать симулятор водной эрозии на шейдерах, с тектоникой, каким то терраформингом и падающими метеоритами >>404833>как генерацию карты то устроил? Генерирую карту в пнг (без всяких Вороновских и пр., просто рандом и волновой алгоритм). Пнг потом в меш перевожу. Пока с артефактами, потом пофикшу. Зато можно использовать карты из Виктории и пр. параходных игр.>>404833>меню с таксами имеет повторяющиеся пункты? Да, это известный мне баг>как прокручивать карту? WASD или стрелки>и конечно здорово сделал перетягивающиеся элементы интерфейса, но чего они за пределы своей рамочки то могут уезжать?Они не должны. Скрин поехавшего интерфеса не прошу, но скажи хотя бы название окошка поехавшего и что за разрешение у тебя?А, или ты может быть полноэкранный режим не включил? Тогда да может ехать малеха.
>>404895>А я все мечтаю сделать симулятор водной эрозии на шейдерах, с тектоникой, каким то терраформингом и падающими метеоритамисделай, это же всё весело. как минимум узнаешь что-то новое, как максимум сделаешь себе клевый велосипед чтобы кататься на нем. хотя у шейдоров такая документация как будто это какое-то тайное знание. по каким-то крупицам информация разбросана.> Пнг потом в меш перевожу. как меш то строишь, кстати?>Они не должны.я не заметил разницы между полноэкранным и не полноэкранным. почти все кнопки которые расположены в гриде зачем-то можно перетягивать налево-направо за край окошка в котором они. ты бы просто прокрутку чтоли сделал.
>>404897>как меш то строишь, кстати?Читаю растровую картинку и фигачу полосочки из полигонов пикрелейтед. Потом округляю меш глючным способом>>404897>я не заметил разницы между полноэкранным и не полноэкранным. почти все кнопки которые расположены в гриде зачем-то можно перетягивать налево-направо за край окошка в котором они. ты бы просто прокрутку чтоли сделал.А, я понял. Это стандартное поведение view port, надо починить, да. Да и вообще нормальные таблицы найти или самому запилить.
Чет я удивился. Разве структуры в c# неизменяемы? (immutable). Или это в юнити какие то ограничения?public struct Date{ int blya; public Date(int date) { this.blya = date; } public Date(Date date) { this.blya = date.blya; } public int getDate() { return blya; } internal void StepSimulation() { blya++; } ......}использование: Date date;date.StepSimulation(); //Хуякс, значение blya не растет а скидывается в нольДа, я знаю что изменяемые структуры это плохо, но в моем случае со структурами удобнее (автоматически делает копирование полей при присвоении)
>>404900>Читаю растровую картинку и фигачу полосочки из полигонов пикрелейтед. Потом округляю меш глючным способомкак-то странно делаешь. я в общем-то делаю примерно то-же самое, но перед разглаживанием делю все куски на отрезки где уголки имеют как минимум трех соседей, которые следует разгладить и потом уже сглаженную часть применяю к обоим её соседям. чет двач совсем перестал отправлять картинки. сплошная ошибка постинга. http://i.imgur.com/XF6aBU1.jpg>Да и вообще нормальные таблицы найти или самому запилить.ты там уже улетел куда-то в невиданные мной края с таким гуи, даже не посоветовать ничего.чего, кстати, континенты то такие однообразные получаются? почти все прямоугольные. ты бы хоть при рандомной генерации начиная с краю удалял 6-10 регионов дополнительно чтобы получалось больше полуостровов. раз уж озёр не сделал.>>404903в общем и целом они неизменяемые. там конечно есть хитрые читы местами но по большей части лучше такого не делать. это же валуе тупе как всякие int float bool, при присвоении структа ты его копируешь, а при изменении значения в нем создаешь новый с измененным значением.
>>404903>структура>dateДержи, велосипедист: https://msdn.microsoft.com/ru-ru/library/system.datetime(v=vs.110).aspx
>>404760Почему разработчики игр про симуляцию даже не пытаются в дизайн?
>>404909>чего, кстати, континенты то такие однообразные получаются? почти все прямоугольные. ты бы хоть при рандомной генерации начиная с краю удалял 6-10 регионов дополнительно чтобы получалось больше полуостровов. раз уж озёр не сделал.В будущем запилю несколько континентов, морские провы и пр. Все сразу не сделаешь, а так работает и ладно.>>404909>как-то странно делаешь. я в общем-то делаю примерно то-же самое, но перед разглаживанием делю все куски на отрезки где уголки имеют как минимум трех соседей, которые следует разгладить и потом уже сглаженную часть применяю к обоим её соседям. Хмм. Что у тебя белые и черные лини на пике значат? А синие? Полигоны и? Исходники своей работы не открываешь?>>404909>в общем и целом они неизменяемые. там конечно есть хитрые читы местами но по большей части лучше такого не делать. это же валуе тупе как всякие int float bool, при присвоении структа ты его копируешь, а при изменении значения в нем создаешь новый с измененным значением.Спасибо, а то для новичков это нифига не очевидно. Я же гуглил перед тем как спросить, пишут что все норм, не желательно но можно. Вот и верь гуглу теперь )>>404911>Держи, велосипедист: https://msdnСпасибо конечно но у меня же тут свой средневековый в том числе мирок генерируется.. Хотя может и стоит стандарт использовать. Пишут что потянет MinValue is equivalent to 00:00:00.0000000 UTC, January 1, 0001, in the Gregorian calendar.>>404913>Почему разработчики игр про симуляцию даже не пытаются в дизайн?Например, потому что симуляторы и так сложно пилить, а пилят их как правило энтузиасты (порой вообще не прогеры как автор Space Engine например) в то время как ААА конторы успешно продают пресс Х то вин для одноклеточных
>>404914>В будущем запилю несколько континентов, морские провы и пр. Все сразу не сделаешь, а так работает и ладно.кстати, ты сделай хоть какую-то форму отображения актуальных соседей>Хмм. Что у тебя белые и черные лини на пике значат? А синие? Полигоны и? Исходники своей работы не открываешь?белые - отображают соседство между областями. соединяют их геометрические центры.черные - актуальные границы.пунктирные - границы перед упрощением.полигоны там вообще никак не отображаются, кроме как заливкой всей области цветом сразу. впрочем у меня зоны конвексные, для создания всех треуголников достаточно соединить центр и сторону.а почитать можешь свободно. https://www.assetstore.unity3d.com/en/#!/content/85181 оно давно на ассетсторе лежит бесплатное. я правда в последней версии слегка поломал навигацию где у уровней несколько этажей.в этой горе мусора скорей всего тебя заинтересует Generation/Graph/GraphIterator.cs где хитро сделаны шагающие квадраты и в той-же папке GraphTriangulator.cs где можешь почитать про разбиение контуров на конвексные области. оба правда где-то на границе читабельного написаны. если хочешь потом в картинках расскажу.>Спасибо, а то для новичков это нифига не очевидно. лучше почитай про Boxing/Unboxing в шарпе, про гарбаж и как к этому относятся структы.
Вечер в хату, ананасы. Делаю товарищу лабу (представьте себе, на унити). За меня написать не прошу, прошу помочь с такой вот хуйней:Нужно нарисовать многоугольник. Для этого я сначала спрашиваю, сколько вершин человеку надо, затем истанциирую по два InputField'а для абсцисы и ординаты, хуе-мое. Здесь проблем никаких, проблема возникает в том, что, если указать меньшее число вершин, чем уже задано, ненужные InputField'ы остаются, а Юнити выдает ошибку о том, что такого индекса нет. Так хули, блядь? Казалось бы, все верно, не прописывать же inpFields = null; , Destroy() выглядит логичнее.
Скрин хуевый.
>>404917ты чего там понаписал то. давай лучше целиком покажи. инпут филды то зачем дестроишь, просто сделать публичный массив не?https://www.youtube.com/watch?v=g4j8WvC1Ct4 вон смотри например, тут рисуют цветные фигуры
>>404915>кстати, ты сделай хоть какую-то форму отображения актуальных соседейПредполагается что это будет интуитивно понятно, когда границы провинций\стран будут отрисовываться текстурой. (и сглаживание перестанет глючить)>>404915>а почитать можешь свободно. https://www.assetstore.unity3d.com/en/#!/content/85181 оно давно на ассетсторе лежит бесплатное. Спасибо. Забавно что наши алгоритмы делают противоположную работу - твой упрощает растр до меша для навигации, мой пытается усложнить растр что бы он не выглядел так угловато.Кстати, твой алгоритм работает на любых, самых наркоманских сочетаниях точек в растре? Вложения цветов и все-все-все? Пикрилейтед потянет например?
>>404920>Предполагается что это будет интуитивно понятно, когда границы провинций\стран будут отрисовываться текстурой. (и сглаживание перестанет глючить)чтобы это было интуитивно понятно надо чтобы это хоть в какой-то форме отображалось бы. сделай хоть фильтр как в стелларис "отображать соседних ребят".>Кстати, твой алгоритм работает на любых, самых наркоманских сочетаниях точек в растре? Вложения цветов и все-все-все? Пикрилейтед потянет например?я уж постарался чтобы он не запнулся на всякой хуйне. он даже такое может. http://polariton.ad-l.ink/8nnBxQBYY/image.png правда триангуляция может затянутся если такую хуйню сувать. надо бы опимизончик в этой части попробовать сделать.реальное ограничение по количеству цветов это количество положительных интов, именно так оно хранится в процессе.
>>404919Проблемы с отрисовкой нет, LineRenderer жи. Проблема в лишних InputField'ах, которые остаются от уже типа несуществующих вершин. На пиках видна моя проблема.У меня есть int для количества вершин и лист InputField, который инстанциирует в два раза больше этих самых полей. Задается количество вершин, прописываются координаты, парсятся, если могут, строится многоугольник.
>>404923https://pastebin.com/r8mB6F5j — собственно, весь код. Извиняюсь, что в несколько постов пишу.
>>404760Лол, сегодня как раз хотел наконец начать уже пилить свою глобальную дрочильню, зашел посмотреть как процедурные карты генерить в Unity, а тут оказывается уже во всю кто-то делает.Какую БД используешь?Как организована система спрос-предложение?Насколько она ООП-ориентирована?>с экономикой основанной на симуляции агентовЧем отличается от потребностей страт в вике? Агенты, это я так понимаю, участники рынка отдельные (гос-во, фирмы, потребители)Некоторые замечания:Система с делением страт не очень, получается что все рабочие, все капиталисты (какие капиталисты-то кстати, если игра судя по всему в сеттинге средневековья?) прямо в сговорах состоят. Почему бы не использовать принцип вики?Слабо представляю себе масштаб карты, но мне кажется вот эти здоровые провы - уродливый пережиток параходов. Почему не использовать хексы? Я сам хз, может это сложно, конечно, но у меня масса претензий ко всем существующим на данный момент глоб.стратегиям именно из-за вот этой системы пров и сопряженными с ними условностями.Вообще, есть масса идей, определенные скилы в SQL и программировании на C# и главное желание, так что если хочешь, можем связаться.
>>404923Я бы не стал вручную инстантиировать всякую хрунь.. У меня например таблицы строятся на создании охулиона кнопок, но я их из префаба беру (и из пула) так что они не уничтожаются по сути а делается SetActive(false) (прячет);>>404922>чтобы это было интуитивно понятно надо чтобы это хоть в какой-то форме отображалось бы. сделай хоть фильтр как в стелларис "отображать соседних ребят".Что то я засомневался, понимаю ли я о чем речь. Речь ведь о соседних (вражеских) провинциях?>>404922>реальное ограничение по количеству цветов это количество положительных интовКруть. Если получится добавить это в свой проект (когда буду реальные армии делать заместо абстрактных) это мне спасет кучу времени и нервов. Тем более что я ничего в графах не понимаю.>>404926> зашел посмотреть как процедурные карты генерить в Unity, а тут оказываетсяХочешь читай, хочешь форкай, хочешь присоединяйся.>Какую БД используешь?Увы, практически никакую. В меру глючные списки и словари и LINQ (которая, как многие говорят тормозит по крайней мере в .net2.0)>>404926>Как организована система спрос-предложение?Я пробовал разные подходы, сейчас - это соотношение реально купленного за прошлый тик к отосланному на рынок за прошлый тик.>>404926>Насколько она ООП-ориентирована?Много публичных полей и прочей грязи в коде, но я борюсь с этим ) Сегодня 50 косяков на codacy исправил>>404926> Агенты, это я так понимаю, участники рынка отдельные (гос-во, фирмы, потребители)Да>>404926>Чем отличается от потребностей страт в вике?Основное отличие - Попы покупают товары внутри группы (жизненно важные, повседневные товары, роскошь) не в фиксированном порядке а в порядке сначала дешевые. Ну и я хотел бы что бы агенты вели себя более адекватно, если полочится.Допишу щас
>>404926>какие капиталисты-то кстати, если игра судя по всему в сеттинге средневековья?Не совсем. Изначально планировался сеттинг от ололо диких племен до капитализма, коммунизма и ядерной войны. Есть даже тип экономики - нат. хозяйство. Сейчас я только на капитализме сосредоточился, остальное закомментил до лучших времен.>>404926>Система с делением страт не очень, получается что все рабочие, все капиталисты прямо в сговорах состоят.Какие сговоры? > Почему бы не использовать принцип вики? ЕМНИП в вике такой же принцип. >>404926>Слабо представляю себе масштаб картыПока тормоза будут в разумных пределах>>404926> Почему не использовать хексы? Хексы выглядят угловато и однообразно. А тут - провы могут быть любой формы, как рандому захочется. Да и можно карты из модов\игр от пароходов использовать.>>404926>Вообще, есть масса идей, определенные скилы в SQL и программировании на C# и главное желание, так что если хочешь, можем связаться.Можно на гитхабе https://github.com/Nashet пообщаться Или можешь прямо в трекер идеи слать https://waffle.io/Nashet/EconomicSimulation
>>404928Ок, попробую через SetActive. Надеюсь, хотя бы этот костыль будет работать.Ну, хотя бы я узнал, где в Юнити скрипт на скроллящиеся панельки.
>>404928>Увы, практически никакую. В меру глючные списки и словари и LINQ (которая, как многие говорят тормозит по крайней мере в .net2.0)По-моему, использование БД в ГС - неизбежность. Можно конечно использовать JSON-ориентированные БД, не заморачиваясь с SQL, что теоретически может облегчить и модификацию (JSON можно и с SQL интегрировать тащемта), но БД нужна обязательно. К тому же лучше сразу набросать модель БД, максимально унифицировать ее, чтобы оставить больше возможностей для расширения и согласовать с ОО-моделью, используемой в механике игры. Кстати, я так понимаю функция сохранений тут не реализована? Сохранять скорее всего тоже придется в БД. Если ты конечно не собираешься пилить только одноразовый online (учитывая, что такие игры ориентированы в основном на аутистов, такой формат вряж ли подойдет)>Я пробовал разные подходы, сейчас - это соотношение реально купленного за прошлый тик к отосланному на рынок за прошлый тик.Хм, т.е. спрос-предложение неразрывно связаны причем в рамках одного тика? И стокпайла как такового нет? Как и понятия доставки и торговых путей? (привет ограбленным корованам и разбитым дорогам) Алсо, то что Trade не нажимается это баг или просто пока не прикрутил торговлю?>Основное отличие - Попы покупают товары внутри группы (жизненно важные, повседневные товары, роскошь) не в фиксированном порядке а в порядке сначала дешевые. Ну и я хотел бы что бы агенты вели себя более адекватно, если полочится.Не совсем понял этот пункт. А как в вике сделано? Там же тоже попы покупают товары, на которые им хватает денег - в первую очередь базовые потребности, потом комфорт, потом роскошь. Я не спорю, что в вике экономика не очень, но вроде так она и работает, теоретически.Еще несколько вопросов:1) По производствам. Вижу, что у тебя есть апгрейд зданий, но не очень понимаю, он только кол-во увеличивает что ли? Просто, если брать тот же GPS там была такая классная фишка (которая правда не работала, как и все в этой игре) как качество товара. Я думаю соотношение Цена/Качество/Доступность - эта троица, которую вполне можно реализовать в рамках игровой условности. Есть идея как, но она не вполне увязывается с походовым типом игры, хотя можно придумать что-нибудь;2) Собственно походовость. Чему равен ход? Просто год это очень много для того, чтобы запилить полноценную экономику, особенно на позднем этапе (начиная с времени, актуальному середине 19го века это уже становится слишком оторванно от реальности). Все ГС со сложной экономической системой идут, в условном конечно, но реальном времени. Я понимаю, что ходы легче (хотя система ивентов тоже норм), но может тогда вообще убрать дату, сделать ее условной и считать просто по ходам, оставляя все на воображение игрока (учитывая, что это не исторический симулятор).Алсо, это очень круто, что ты делаешь мир рандомным, земляшка реально заебала в ГС, можно широко юзать какой-нибудь опенсорсный ворд-генератор, чтобы кастомизировать мир (названия компаний например генерить).
>>404929>Не совсем. Изначально планировался сеттинг от ололо диких племен до капитализма, коммунизма и ядерной войны. Есть даже тип экономики - нат. хозяйство. Сейчас я только на капитализме сосредоточился, остальное закомментил до лучших времен.Тоже так хотел, но мне кажется начало игры будет гиперунылым и до средневековья дропнет даже самый терпеливый. Ну либо придется наполнять йоба контентом, уровня параходов и уходить от экономической механики.Для того, чтобы тестить экономику средневековье как раз самое оно, но лучше кастомизировать старт, чтобы сразу уже были некоторые предприятия. Капитализм довольно сложная штука, лучше сначала хотя бы обычный товарооборот организовать.>ЕМНИП в вике такой же принцип. Да, я просто проебался. Думал в вике попы еще четко разделены по алайнам. В принципе, да, это чистые виковские попы и есть.>Хексы выглядят угловато и однообразно. А тут - провы могут быть любой формы, как рандому захочется. Да и можно карты из модов\игр от пароходов использовать.Не согласен. Можно же использовать региональность. Т.е. прова также будет какой угодно формы, но состоять из множества хексов. Игрок сможет тогда расширять регион, вводить иерархию регионов (город-провинция-страна) четко отчерчивать границы при мирных договорах, будет иметь смысл войны за мелкие участки. Можно будет запилить условный гонконг или гибралтар, например, обозначать ОЭЗ, ДМЗ, линии фронта и.т.д. В будущем можно запилить уровневые хексы - город, представленный одним хексом на глобальной карте, раскрывается множеством на локальной. Да и вообще возможности кастомизации увеличиваются в разы.>Пока тормоза будут в разумных пределахКстати, а почему так тормозит-то? Что там ресурсы так жрет? Или плата за браузерность?
>>404938Алсо, можно использовать не хексы а пазлы. Но это, конечно, гораздо сложнее.
>>404953 (OP)Я запилил тред что бы не мешать анону - >>404953 (OP) - там и ответил на все (кажется)
>>404932Господи, ебать я тупенький. list.Count() выдает количество ячеек в листе, но индекс-то, блядь, на единичку ниже будет. Ну теперь-то с колен привстанем.
>>402716Бамп вопросу
>>404993Расслабься, тебе все равно не светит заработать 100к$. Твой уровень - тупые вопросы в юнити треде.
>>404926>какие капиталисты-то кстати, если игра судя по всему в сеттинге средневековья?Помнишь, откуда?
Маленький вопрос по монодевелопу./Впринципе для моего текстого квеста он абсолютно подходит и MVS пока качать не вижу смысла/Не работают хоткеи от слова совсем. особенно бесит Ctrl+C,Ctrl+V. Код программки заточен на кучу переходов от сцены к сцене поэтому прошу советов как заставить иххоткеиработать.
>>405150они работают только если у тебя английская раскладка. слезай с этого говна.
>>405151забыл написать, что не работают они на обеих раскладках.Естественно слезу, но с моим интернетом качать 8ГБесли не больше пока очень сомнительно.
Аноны, помогите понять, где я проебался, а то я себе уже голову сломал блин.Есть три числа и есть сумма этих чисел и я нихуя не понимаю, почему получается именно такая сумма. Ведь если их сложить, то ничего похожего не получается.Дебаг кода ниже выдает:1.046729 -9.06542 -2.71028 -10.72897 1.0467299.06542 -2.71028 -10.72897 должны давать 4,37383но никак не 1.046729Где я ошибаюсь? void OnMouseDrag() { mouse_x = Camera.main.ScreenToWorldPoint (new Vector3 (Input.mousePosition.x, Input.mousePosition.y, screenPoint.z)).x; myrotation = Camera.main.ScreenToWorldPoint (transform.position).x - mouse_x - offset.x; transform.rotation = Quaternion.AngleAxis (myrotation * rotationSpeed, Vector3.forward); Debug.Log (myrotation+" "+offset.x+" "+mouse_x+" "+Camera.main.ScreenToWorldPoint (transform.position).x+" "+(Camera.main.ScreenToWorldPoint (transform.position).x - mouse_x - offset.x)); }
>>405202>1.046729 -9.06542 -2.71028 -10.72897 1.046729>9.06542 -2.71028 -10.72897 должны давать 4,37383Что ты несешь то?-4,37383 может быть?Нихуя не понятно.А вообще когда затык - лучше забей на задачу и займись другим, а эта решится сама собоймимо кодю 18 лет
>>405217> когда затык - лучше забей на задачу и займись другим, а эта решится сама собойпрям две цистерны чая тебе.мимоиндидев
Какой хоткей для переименования сцен в юнити? Я заебался сидеть как дурак и полчаса тыкать в название сцены, чтобы название можно было поменять.
>>405217Заебись совет. Ну да ладно, меню пока поделаю.
>>405202У тебя второе число скорее всего отнимается, а не прибавляетсяПотому что если у второго числа нет минуса как раз получается 1.046
Вопрос по текстурированиюНа пике плоский меш (символизирует провинцию.) Нужно по периметру меша наложить текстурe границы (полосочка такая 20х80 скажем, с рисунком границы, как вверху пикрила). Я правильно понимаю что текстуру прямо на этот меш накладывать нельзя- ее растянет по всему мешу как ни крути UV?Вместо этого наверно надо зафигачить еще меш (белые треугольники) и на одну сторону треугольников наложить текстуру? (Ну или, может быть, прямоугольники должны быть где у меня белые треугольники)Более простого способа реализации наверно нет? Да и лагать сильно не будет (текстура будет меняться со временем)
>>405274А зачем границы векторные, ты хочешь зумить эту хуйню во весь экран? Просто можно же всю эту провинцию вместе с границей нарисовать прямо в текстуре и обойтись одним прямоугольником.
>>405292Хм, интересный подход. Но дело в том что форма провинций не рисуется заранее а генерируется рандомно каждый раз (в виде png файла) а потом переводится в меш.Поэтому надо таки накладывать текстуру границ на некий неизвестный заранее меш.Вот тут - верно?>Я правильно понимаю что текстуру прямо на этот меш накладывать нельзя- ее растянет по всему мешу как ни крути UV?
>>405274у тебя же формы провинций не меняются. сгенерируй список из Vector3 по краям провинции и рисуй красивые линии по этим кординатам. это же можно по разному использовать. например менять толщину линий у провинции под курсором.
>>405301>у тебя же формы провинций не меняются. сгенерируй список из Vector3 по краям провинции и рисуй красивые линии по этим кординатам. это же можно по разному использовать. например менять толщину линий у провинции под курсором.Тоже вариант. Но хотелось бы в 3д, что бы бит мапингом обмазаться и всеми прелестями текстурок. Зум опять же есть. Что имеешь ввиду под >рисуй красивые линииКакой то 2д метод/класс? Я знаю только Debug.DrawLine и тот кривой какой то.
>>405310Может быть LineRenderer?
>>405331>Может быть LineRenderer?О, прикольная штука, придется пробовать.
Подскажите библиотеку на си шарп по базовой геометрии, вроде проверить лежит ли точка на линии, параллельность линий и т.д. в 3д. А то я своего на велосипедил, хз как оно работать будет. В гугле и гитхабе искал.
>>405367http://wiki.unity3d.com/index.php/3d_Math_functions
>>405369Спасибо!
Есть идеи как сделать молнию, бьющую из точки в точку в 2D? Может кому-то встречались готовые гайды какие-то?
А если я запилю платный ассет, где все текстуры с https://www.textures.com/ , меня на бутыль не посадят? Я периодически встречал знакомые текстуры на сторе. Но там это не так очевидно было. А у меня, как мне кажется, будет пиздец заметно.
>>405416Рисуешь несколько спрайтовых молний на прозрачном фоне, тянешь спрайт от точки А до точки Б, меняешь спрайты в рандомном порядке. По-моему даже в фотошопах кисти-молнии есть.
>>405421Лицензию чекни, если автор разрешает коммерческое использование, то вперед.
>>405435> Лицензию чекниЧёт не нашёл. Но в термс оф юз на сайте сказано, что так нельзя делать. Если я правильно перевел.
>>405436Поищи те, которые можно. Если планируешь этим зарабатывать, лучше озаботиться заранее, чем дождаться, когда тебя пидорнут из стора и лишат дохода.
>>405439Так ведь и выходит, что те, которые можно - хуита. Мне их в яндекс картинках брать, чтоль? А хорошие нельзя. И камеры хорошей у меня нет.Какая-то безвыходная ситуация.
>>405421> I have used the textures on a 3D model/scene. Am I allowed to sell the model/scene and textures as a bundle? > Yes, under the following condition: You have customized the textures for the 3D-model or scene, and you are selling the model and texture in one package. Please add the following text in the documentation accompanying the model: "One or more textures on this 3D-model have been created with images from Textures.com. These images may not be redistributed by default. Please visit www.textures.com for more information."Так всё же можно, выходит? Да?
>>405421>2k17>фото-текстурымда хех
>>405484Предлагаешь дрочить сабстансы? Ну нахуй.
>>405434Суть я уловил, спасибо.А есть ли способ динамически "тонировать" спрайт в юнити, то есть закрасить его определенным цветом? Молния она же "мерцает", и не хотелось бы на каждый оттенок рисовать отдельный спрайт.В идеале было бы удобно нарисовать форму на прозрачном фоне и закрашивать ее рандомным оттенком.
>>405524Да, просто меняешь цвет у компонента Image.
Javascript или С#?
>>405693Без разницы.мимо знаю оба
>>405693C#Вообще в Unity нет Javascript, там UnityScript, от поддержки которого скорее всего скоро откажутся. Почти все последние официальные туторы выходят на C#
>>405674Спасибо.
>>405699Дай Аллах мне больше мотивации для изучения С#. Довольно таки сложно вкатываться в программирование...
>>405720Вкатится - легко. Вот понять что ты делаешь - сложно
>>405724Удвою.
>>405724>что ты делаешь
>>405274Вопрос контактного расчета uv. Поэкспериментируй. Можно треугольники порезать еще.
>>405858>>405858>Вопрос контактного расчета uvЧто за контактный расчет?Смотри, у меня меш (рандомно генерируемый) состоит из квадов как на пике 1, из 4х вершин. На края нужно наложить текстурку границы провинции.Координаты текстуры можно задавать только в вершинах, так? Я же не могу сказать текстуре: вот ляг тут в вершине а потом еще немного отползи и хватит, а весь меш не закрашивай. Так вроде не получается.>Можно треугольники порезать еще.Я пока пытаюсь создавать отдельный меш по краям провинции, пик 2, но пока не оче с алгоритмом кое-где
>>405881пик 2 отклеился
>>405894MyWarbandInfo наследует MonoBehavior?Если да, то используй GameObject.AddComponent вместо вызова конструктора. Компонент в юнити не может "висеть" просто так, не являясь частью объекта, насколько я знаю.
>>405899Делай инициализацию в void Awake(), а не в конструкторе, создавай компонент через gameObject.AddComponent ("FoobarScript"); и только после этого добавляй его в массив.
>>405899Сделай массив из game object, добавь каждому компонент
>>405906То, что у тебя в конструкторе MyWarbandInfo, перемести в функцию private void Awake() {}; Она исполняется автоматически при создании компонента.Сам конструктор удали и никогда больше не создавай в наследниках monobehaviour, юнька от этого болеет.MyWarbandInfo должен быть прикреплен к какому-нибудь gameObject, чтобы теребонькать функции Awake, Start, Update, FixedUpdate и все остальные. Юнити делает это самостоятельно, тебе надо только создать gameObject и добавить к нему компонент MyWarbandInfo.Для этого есть два пути. Либо ты создаешь объект внутри сцены, и прикрепляешь к нему скрипт с помощью кнопки AddComponent в редакторе (в этом случае все остальное юнити сделает самостоятельно), либо создаешь GameObject (var go = new GameObject();) и вызываешь функцию go.AddComponent() из какого-нибудь другого объекта, например GameController.
>>405910А вообще я тут пивас пью и немного в дрова, так что сорян за неизящный слог.
>>405881Генерируй треугольники границы.
>>405918Создай отдельную сцену с менеджерами всякой хуйни, и подгружай-выгружай другие сцены
>>405881но зачем? LineRenderer сам линии нарисует и текстурку наложит. ты бы лучше не велосипеды писал а игры делал.
>>405926Я пробовал, но у меня фигуры сложные - одной линией не нарисуешь. Да и сложно алгоритм написать что бы точки шли строго в определенной последовательности, а без этого LneRenderer узлами завязывается
>>405932да легко там всё. у тебя же грид. например возьми marching squares, или любой другой метод который бы выдал тебе контур покрасивей. сделай список из отрезков, соедини все отрезки исключая их из имеющегося списка. получишь список координат по периметру. это явно проще чем то что ты там задумал.
>>405918Не держи CharacterStats как MonoBehaviour, очевидно же.
>>405918Массив тоже должен лежать в геймобджекте, и для этого геймобджекта надо вызвать NotDestroyOnLoad.
Если есть желание поковыряться в создании 2d roguelike, то юнити плохой выбор?
>>405966Юнити хорош тем что наличие редактора значительно упрощает отладку чего-либо. И для рогалика хороший выбор, если только не существует специальных движков для рогаликов.
>>405962Хинт: обычные .NET объекты не убиваются при смене сцены. Тебе нужно MonoBehaviour только для чего-либо на сцене, либо для получения вызовов из Юнити.
>>405933Кое как впихнул marching squares в генератор, пикрил. Появились дырки в местах где сходятся 3 или 4 цвета.Вероятно, дырки из-за того что я использовал "одноцветный" marching squares, т.е. каждая точка либо соответствует анализируемому в данный момент цвету либо нет. Теперь, походу, придется в эти http://catlikecoding.com/unity/tutorials/marching-squares-5/ дебри погружаться, я ж там потону нафиг. Хотя не, там какой то велосипедный код фиксированный на 4х цветах. Мне как то монохромный алгоритм фиксить надо...
>>406014так ты сделай для всех случаев где уголки чтобы у тебя возвращались 2 отрезка а не 1. для диагональных можно и сразу все 4
>>406023>так ты сделай для всех случаев где уголки чтобы у тебя возвращались 2 отрезка а не 1. для диагональных можно и сразу все 4К своему стыду, я не очень уверен что понял что ты имеешь ввиду, но эти отрезки вроде у меня уже были и я нафигачил заплаток в дыры. И вуаля, все работает норм, без дыр, даже выглядеть карта стала как то профессиональнее что ли, менее васянски. У меня, правда, были более округлые границы, но это вроде как можно будет усовершенствовать в будущем посредством интерполяции. Спасибо тебе, анон. Если я еще смогу на новый меш еще и границы стран наложить будет вообще здорово.
>>401747 (OP)Кто знает где можно накачать хороших анимаций для гуманоида?
>>406030я говорю что marching squares же строятся на 4 элементах в гриде в форме квадратика. для угловых можно поменять способ построения. чтобы вместо 1 линии там было 2 и весь результат был лесенкой. но это разумеется исправит проблему островков кторую ты заметил ранее. потом когда ты уже построил всю эту хуйню можно поделить имеющееся на отрезки где края имеет больше 2 соседей. а потом к этой линии применить любой алгоритм упрощения линии. например алгоритм Рамера-Дугласа-Пекера. хотя ты там уже сделал что-то и стало лучше чем было.>>406035в ассетсторе есть огромные паки с мокапом. у https://www.mixamo.com/ есть несколько бесплатных паков хороших.
>>406036Надо бесплатно и анимации солдатов для шутера.
>>406041зайди на mixamo > store. там есть Pro Rifle Pack, когда я последний раз смотрел он был бесплатным и он довольно неплох. и вообще я тебя уже послал куда надо, тут тебе не гугл.
>>406042NinjaRipper может вытаскивать анимации?
>>406036хотя вообще тут даже marching squares не нужны будут лол. чего это я. можно просто перебирая всех соседей узнать есть ли линия, или нет. в зависимости от стороны можно ещё и направление получить чтобы знать что с какой стороны.
>>405693Учи JS и вкатывайся в web-макакинг.
>>401747 (OP)Ребят, накатил этот ваш юнити, начал делать Roll a Ball по официальному гайду, превозмогая собственное незнание инглиша, и столкнулся с вот какой бедой на пикрелейтеде. Что можете посоветовать, геймданы?
>>406140Ну вот ещё проблема - поиск по документации из коробки ни работает. Ну что это за фигня? Почему даже по официальным мануалам нельзя нормально заниматься, а нужно бороться с глюками движка и среды разработки? Зачем весь этот пердолинг? Юнити делает меня грустить.
>>401747 (OP)Мужики, помогите. У меня есть 2d - объект, игрок расручивает его на телефоне свайпом вдоль оси z. Мне нужно знать на какой угол повернулся объект за один Update.
>>406143у меня получилось, внезапно помогло вот это https://docs.unity3d.com/ScriptReference/Quaternion.Angle.html
>>406140Это у тебя MS VS выдает? Возможно, старая версия MS или Unity. Или мусор какой то в проекте.Переустанови\пересоздай проект>>406141>Ну вот ещё проблема -Чта? Нафига ты в браузер полез?For those that don't have it, install Visual Studio. It's now free for many users.Make sure Visual Studio Tools for Unity is installed and the configuration is done.As djradon mentioned, the standard shortcut is CTRL+ALT+M,CTRL+H for Unity Documentation Access
>>406141>Зачем весь этот пердолинг? Юнити делает меня грустить.Юнити любит подглючивать, но жить можно. У тебя скорее всего ошибка на твоей стороне.
>>406145Делал всё как в официальном мануале. До этого не пердолил ни студию, ни юнити, всё из коробки стоит. Браузер со статьёй из документации должен открываться при выделении слова и нажатии ctrl + '. Но вот уже в двух местах хуета какая-то. Такие вещи лично меня очень демотивируют.
Охуееть пацаны. Вот этот кодList<EdgeHelpers.Edge> res = new List<EdgeHelpers.Edge>(); foreach (var checkingEdge in edges) { //if neighbor has checkingEdge add it in res foreach (var comparingEdge in neighbor.edges) if (MeshExtensions.isTwoLinesTouchEachOther(meshStructure.vertices[checkingEdge.v1], meshStructure.vertices[checkingEdge.v2], neighbor.meshStructure.vertices[comparingEdge.v1], neighbor.meshStructure.vertices[comparingEdge.v2]) ) res.Add(checkingEdge); } return res;Где meshStructure - это стандартный Юнитивский Mesh выполняется 10 секунд и аллоцирует 2.5 гига памяти. гроб гроб пизда кладбищеТот же код где meshStructure это public class MeshStructure{ public List<Vector3> vertices; public List<int> triangles;}Выполняется за 0.7 секунды и 480 КБ, лолВывод - разделяйте использование unity API и логику, заодно и многопоточность можно будет запилить
>>406151Демотивируют - не делай.
>>406263Чет я сумбурно написал. Суть такова: обращение к Mesh.vertices[] в цикле дает огромные лаги и трату памяти. Вероятно, потому что меши хранятся в видео памяти или бог знает где еще. Те же самые действия с копией меша в виде обычного (не Unity) класса работают на порядки быстрее.
>>401747 (OP)Как увеличить разрешение сетки ландшафта ?
>>406273Хейтмэп резолюшн, вроде. Попробуй.
>>406284Нет эффекта
>>406270А мог бы документацию посмотреть
>>406290>А мог бы документацию посмотретьЯ даже видел это, и не раз. Но я не предполагал что копируется весь массив (видимо, при каждом обращении, даже на чтение) да потом еще и где то застревает по пути к мусорщику (как мне показалось). Думал, элемент копируется.
>>406151>Такие вещи лично меня очень демотивируют.Чет у меня аж пригорело с этого нытика, баги(хотя там скорее не баги, а собственная криворукость) его блять демотивируют, нахуй ты тогда вообще в разработку вкатился? Пиздуй рисовать или 3d моделить если совсем мозгов нет, там все легко и просто, чистый монотонный, физический труд по передвиганию мышки без напряжения головного мозга, только не ной потом, когда тебя нейросеть нахуй заменит.
>>406151Иди-ка лучше просто C# поковыряй.
А есть ли возможность автоматически отключать рендеринг отдельных мешей при удалении камеры? Без велосипедства уровня если камера высока то в цикле прячем меши. LOD не подходит т.к. надо убирать множество мешей, а не менять на упрощенные.
>>406454Штатному LOD'у можно задать один уровень и поставить исчезновение на нужной дистанции.
>>406458Оу, спасибо.
А в юнити можно подстроить всё под свои единицы измерения? Например, я хочу чтобы один тайл был ровно один "метр" длинной.
>>406712Предполагается, что 1 единица длины в юньке = 1 метр.
>>406715Ну я сказал "например". Может я захочу сделать один тайл размерами 50х50 "сантиметров". Можно ли это как-то поменять?
>>406716Ты в курсе, что если измерять размеры двух объектов в метрах, и их же в попугаях, то соотношение не изменится?Можешь мысленно дописать после цифры 5 что тебе угодно, хоть метры, хоть дюймы, хоть локти.
>>406718Ну вообще-то изменится. Если я сейчас натыкаю тайлов в сцену, то у них будут координаты (1.7623545234, 0.000000123). Меня такое не устраивает, я хочу иметь координаты у первого тайла (0, 0), а у второго (0.5, 0), к примеру.
>>406721Просто поправь размер тайла, в чем проблема?
>>406722Это как? У меня тайл 32х32 пикселя всегда.
>>406723Если у тебя спрайты, тыкаешь на спрайт (не на объект, а на сам спрайт в юнити), там есть значение "Pixels per Unit". Правь как тебе удобно.
>>406728Воо, это то что нужно.
Что такое префаб, если коротко?
Пилю игру с видом сверху с 3д графикой(хотя это не важно), но механика мне нужна по сути 2д - типа игрок ходит по плоскости и стреляет. А еще мне нужен поиск пути для врагов. И че мне делать? Как обычно 3д физика + навмеш? Или по-другому лучше(мне же третье измерение нахуй не нужно, просто тупа лишние вычисления будут -> ниже производительность)?
>>403169> Awake(), OnEnable()А зачем?
>>406751Игровой объект.
>>406765>Игровой объект.Не совсем>>406751>Что такое префаб, если коротко?Шаблон объекта. Из него создаешь кучи клонов.>>406759>не же третье измерение нахуй не нужно, просто тупа лишние вычисления будут -> ниже производительностьТам копеечная разница, и еще не известно в чью пользу, если ты не на Нокию 3110 пишешь. Лучше бы ты код писал а не занимался оптимизацией
>>406774Да я уже пишу, я уточнил просто.
Анон, помоги ньюфане разобраться с хранение и обменом данными между объектами.Пилю в данный момент примитивный шутер, но с возможностью ловить предметы, которыми стреляют враги. То есть, спавнятся враги с разными статами, у каждого из них должен быть свой механизм спавна предметов, которыми он будет стрелять. Игрок один и должен иметь возможность поймать любой предмет, когда он в зоне досягаемости, схватить, и кинуть в ответ.В данный момент есть кривой прототип, в котором вся логика зашита в предмете. Предмет проверяет, находится ли он в зоне досягаемости, включает себе гравитацию, вычисляет силу броска самого себя.1) Не пиздец ли это? Снарядов то в игре будет достаточно, и каждый из них несет основную тяжесть игровой механики.2) Как правильно организовать скрипты и обмен данными. Чтобы поменьше всяких глобальных переменных, которые хуй пойми кто переменил. Как максимально инкапсулировать?
>>406774>Лучше бы ты код писал а не занимался оптимизацией А я вот не могу код писать. Потому что наперед думаю, что говно напишу и изначально неправильно логику выстроил. >>406778Тоже бы оптимизацией занялся, но на пека разрабатываю, хз есть ли смысл оптимизировать на пекарне.
>>406778>Как максимально инкапсулировать?Ну берешь такой и инкапсулируешь. В смысле прячешь логику сущности в ее классе.>>406778>Чтобы поменьше всяких глобальных переменных, которые хуй пойми кто переменил.Обмажь все private, где надо readonly и static>>406782>А я вот не могу код писать. Потому что наперед думаю, что говно напишуЭто нервное. Не припоминаю случая что бы я выстрелил себе в ногу кривой архитектурой. Это может иметь смысл в ну оооочень больших проектах.
>>406782> Тоже бы оптимизацией занялся, но на пека разрабатываю, хз есть ли смысл оптимизировать на пекарне.>>406784> Это нервное. Не припоминаю случая что бы я выстрелил себе в ногу кривой архитектурой. Это может иметь смысл в ну оооочень больших проектах.Таки да. Это по сути прокрастинация - мог бы игру делать, но делаешь в результате что угодно, только не игру.
Может кто разбирался. Нашёл два готовых outline эффекта (обводка 3д объектов). В первом это реализуется через вторую камеру, которая динамически создаётся. Во втором это реализуется через один шейдер, который вешается на объект, который нужно обвести. В первом качество хорошее, но я что-то не уверен насчёт производительности на мобилках. Вторая камера должна же сильно просадить фпс на слабых устройствах? Второй вариант выглядит хуже, но по идее должен быть гораздо производительнее.https://www.assetstore.unity3d.com/en/#!/content/78608https://www.assetstore.unity3d.com/en/#!/content/86481
>>406784Не могу поделить логику между сущностями.Вот снаряд. Снаряд совершает действие "полет" за счет внешних факторов (animation event, ЛКМ). Или это рука игрока/нпс совершает действие по броску снаряда?> Не припоминаю случая что бы я выстрелил себе в ногу кривой архитектурой.А вот я, кажется, смог. Так наговнокодил, что с одним нпс у меня механика работает, а с двумя уже дикие баги. Они один и тот же предмет у себя из рук вырывают, лол.
>>406791>Или это рука игрока/нпс совершает действие по броску снаряда?Рука дает команду лететь (передает сообщение, типа снаряд.лететь()), снаряд летит сам (наследуя полет от кого-нибудь)>>406791>Они один и тот же предмет у себя из рук вырывают, лол.Так это ж не архитектура виновата, наверно. Запили проверку какую. Или угори по хардкору - добавь мнотопочность и блокируй снаряд при помощи Lock (на самом деле не надо)
Хай, гд. Очень интересует следущая тема, может кто из анонов сталкивался. Могу ли я продавать в ЮнитиСторе ассеты, замоделенные и затекстурированные на пиратском софте? Возьмут ли за жопу (Юнити тима или авторы софта) и есть ли способы обхода? Покупать софт пока не могу, я нищеброд.
>>406787> Это по сути прокрастинацияА я просто в голове продумываю игру и думаю о том, какой я молодец. Правда, наконец-то я написал дисдок, и уже понял, что я не молодец нихуя, а в кое-каких моментах игроку просто нахуй не нужно играть в мое говноподелие.
Как импортировать height map и occlusion? Редактор отказывается читать файл.Куда кидать текстуры, помеченые как roughness, specular? Вот отсюда, например: https://www.textures.com/download/substance0030/127099Albedo и normal map применил, уже очень ничего выглядит, но даже близко не так, как скомпиленный материал там. А мне хочется хотя бы приблизительно так. Для этого хотя бы height и ao надо, их понятно куда, но они не импортируются.
>>406826Делай в опен-сорсных аналогах. Либо экспортируй в общий формат и отслеживай, чтобы никаких пометок в файле не было.
C height map и occlusion разобрался, просто в rgb конветрнуть надо было. А с roughness и specular что?>>406853
>>406832>А я просто в голове продумываю игру и думаю о том, какой я молодец.Вот это самый верный подход. Кроме отыгрыша в голове ничего и не нужно, остальное - суета.
Можно ли сделать так, чтобы количество тайлов текстуры в материале по оси зависело от размера объекта по этой оси? Или по-хорошему не должно быть видно тех мест объекта, где неправильно растягивается/скукоживается?
>>406856За манямир дошик не купишь.
Может кто-нибудь про кватернионы прояснить? Откуда вообще берутся синус и косинус половины угла?
>>406853>>406855Юнити не использует metallic/roughness, она использует спекуляр. В опциях материала, наверху, можешь выбрать спекуляр-шейдер или metallic/smoothness шейдер.Файлы должны быть в png или подобном lossless формате.Я так понимаю, что файл с сайта - это материал для сабстанса. Если на встает на юнити, юзай сабстенс дизайнер/пейнтер, и из него уже примеряй материал и компилируй текстуры/мапы.
>>406854Чем отслеживать? Обычным блокнотом? А там всякая метаинфа?
>>406454фрустум куллинг работает по умолчанию, окклюжен куллинг настраиваешь сам. У камеры есть также параметр far clipping plaens, это разве не то, что тебе нужно?
>>406886Не, мне выборочно нужно было меши прятать. Сделал через LODКстати, вот чего я не понял - дальность отрисовки ЛОДа задается в процентах, эти проценты - это что от чего?
>>406880Кватернион описывает вращение объекта на угол theta вокруг оси, заданной через вектор. Прими это за аксиому и не заморачивайся. Кватернионы позволяют вращать, не задумываясь о порядке эйлевских угров. Чтобы повернуть в обратном направлении, просто умножаешь на конъюгированный кватернион. Кватернион (0, 0, 0, 1) означает, что вращения нет.Недостаток кватернионов против 4х4 матрицы в том, что нет перемещения в пространстве.
Sup юнити-бояре. Как избавиться от богомерзкого оранжевого и зеленого круга, который преследует меня аки сыч еотову, заранее благодарю.
Посоветуйте ассет для создания кладбищенского окруженияЕсть что-то сравнимое с этим вот?https://www.youtube.com/watch?v=qdXT-BFz27kссыль на ассет в описании к видосу. Стоит 70 енотов. Мамка денег даст.Ольтернотивы есть?
>>406922Есть https://www.assetstore.unity3d.com/en/#!/content/58915
>>406934Спасибо! Очень вкусно!
>>406950Пожалуйста :3
Было такая фигня. Качнул асетик про природу с магазина. Поставил на лужайку unity-chan, а она вся чорная!!!В чём причина и как исправить, не меняя у неё все шейдеры?
Этот ябучий WEB GL.. Многопоточность - не работает, LODы не работают, картинку всю косоебит.. Пичаль.
>>406890>Кстати, вот чего я не понял - дальность отрисовки ЛОДа задается в процентах, эти проценты - это что от чего?Бимп вопросу
>>407167А, там жи написано: The percentages in the LOD bars represent the fraction of the bounding box height relative to screen height where that LOD level becomes active.Лол, поэтому у меня в WEB Gl LODы странно себя ведут..
Можно перезаписать метод из другого скрипта? ВродеСкрипт1. виртуал метод "бегать"Скрипт2. овверрайд "бегать" в Скрипт1
>>407186Наследуй класс и оверрайди. Все методы MonoBehaviour тоже унаследуются.
>>407187А без наследования никак?
>>407190Никак. Виртуальные методы для наследования и придуманы.
>>407191Я въехал, спс.
Как сохранять и загружать свои карты в юнити? Я слышал про сериализацую, но гугл выдает какую-то порашу. Можно гайд?И еще вопрос, как эту карту рендерить только в радиусе Х клеток от персонажа?
Какого хуя юнити ломает мне текстуры (пик 1), хотя я выставил все по гайдам (пик 2)??? Если склеить ту же текстуру в фотошопе (пик 3), то все нормально, значит это юнити выебывается.
Да ну нахуй блядь, в превью все нормально, а в игровом окне мыло, хотя никакой компрессии нет.
>>407295>66x66Размер текстуры должен быть равным степени двойки, иначе юнити растянет их до нужного значения. Степень двойки это 2 4 8 16 32 64 128 256 512 и так далее.
>>407303Вот здесь >>407296 размер текстуры 16х16 и у персонажа, и у фона. Так что твой ответ не подходит, придумай ещё.
>>407304Имбицил, юнити для 3д игор, ну куда ты с пикселартом лезешь. Используешь инструмент не по назначению - страдай.Чтоб не ломало у тебя картинку масштабируй кратно целым числам. А не 3.6х как сейчас.
>>407312Имбецил, присмотрись, там кратность целому числу х5 >>407296. Твой ответ не подходит, придумай ещё.
>>407304>придумай ещё>>407314>придумай ещёЕсть вариант получше. Иди нахуй и ебись сам, хамло ебаное. Здесь тебе никто ничем не обязан.
>>407316>называет кого-то имбецилом >заявляет, что он ещё и хамло на аналогичный ответНу я уже понял, что шестеренки в твоей голове не варят, мог бы не отвечать.
>>407314Тогда внимательнее смотри первую часть ответа. Юзаешь инструмент не по назначению - велосипедь и не ной в тредах.
>>407295>>407296Пиксельные спрайты действительно должны быть равны степени двойки в размерах. А ещё посмотри вот это >>387130>>407312>>407340Он только изначально для 3д был, сейчас в нем 2д вполне себе. Как минимум все победители недавнего Microsoft Challenge в 2д, 5 из 10 honorable mentions тоже. И другой всякой 2д годноты на юнете полно. Так что твой аргумент инвалид.А вообще, идите-ка нахуй оба отсюда, псы.
>>407344>Пиксельные спрайты действительно должны быть равны степени двойки в размерахОни у меня и так в степени двойки.>А вообще, идите-ка нахуй Так и делаю, подготовил эти скрины для реддита, посмотрим что там скажут. Тут, очевидно, адекватного ответа можно не ждать.
>>407349Скинь спрайт, мне аж интересно стало.
>>407354Он используется в одной довольно популярной в своих кругах игре.
Один и тот же кусок с разным зумом. Как я и говорил - пидорасит из-за невозможности поделить нацело количество пикселей, которое даёт разрешение экрана, на нужное количество того, что надо отобразить. Отслеживай.Но нахуй всё равно иди.
>>407370С каким блядь зумом, там нет никакого зума, это скрин игры со стандартными настройками камеры. Вы уже заебали придумывать причины, которые не соответствуют действительности.
Сасите, на реддите дали правильный ответ. Учите юнити, может тогда перестанете хуйню советовать.
Как скриптом загрузить префаб из моих ассетов на экран? Нагуглил рабочий вариант myPrefab = UnityEditor.AssetDatabase.LoadAssetAtPath(...);но когда пытаешься собрать exe, то выдаёт ошибку так как UnityEditor это чисто эдитор и не собирается в exe. Втф?
>>407434А с чего ты взял, что стандартные настройки камеры идеальны для твоей хуиты? Попробуй изменить зум камеры в превью - будет пидорасить в прямом эфире.Тебе нужно регулировать зум камеры так, чтобы каждому пикселю твоего ебучего спрайта соответствовало целое количество экранных спрайтов.
Сложно перейти с пайтона на си-сярп?
>>407527Говнокодить несложно на чем угодно.
>>407528А говвнокод в игре будет нормально работать?
>>407529Нет, конечно.Если хватит терпения, то доведешь проект до альфы и дропнешь, охуев от сложности дальнейших изменений.
>>407532>охуев от сложности дальнейших измененийСкорее охуев от сложности запиливания графена. Кодить всякое я люблю.
>>407533Кодить всякое сильно отличается от доведения проекта до релиза.
>>407438Нашел твой пост и ответ, который тебе помог. Я тебе об этом, тупой плешивый пёс, и говорил. Я тебе даже ссылку на ответ в пикселяч-треде дал, там по ветке мог дойти до того же самого. Но нет, блядь, пока всё по полочкам тебе не разложили, не разжевали, ты нихуя сам не разобрался.Так что продолжай идти нахуй.
>>401747 (OP)Смотерите что чел на крауте пилитhttp://archive.li/vuFX2
>>407482>но когда пытаешься собрать exe, то выдаёт ошибку так как UnityEditor это чисто эдитор и не собирается в exe. Втф?C путями обосрался, небось. Или написал тут непонятно
Такая проблема. Есть 2 сцены. Из первой во вторую я переношу игрока и меню. Я сделал что бы DontDestroy не дублировал объекты при переходе, НО вот в чём загвоздка. В первой сцене у меня уже по дефолту стоит персонаж, если перенесу во вторую сцену, то норм, потому что там его нет по дефолту. Но если вернусь в первую, то там будет уже 2 игрока. Один из второй сцены, а другой который есть по дефолту в первой сцене. Я хотел сделать удаление одного при переходе в первую, но если я захожу из главного меню в первую сцену, то у меня удаляется мой перс и ВСЁ. А если отключить этот скрипт удаления и включать при переходе со второй в первую, то скрипт почему то не включаеся (он висит в первой сцене). Может у вас есть мысли как решить мою проблему? Четвёртый день колупаюсь, а уже сроки подходят
>>407589Сериализуй данные и при запуске сцены создавай копии тех.
>>407589Убери игрока из первой сцены, добавь объект-GameController, который будет спавнить игрока из префаба. Статы игрока типа здоровья можно так же хранить в GameController.
>>407524>>407543Хуя дебил и пиздунишка! Ловите, пока не сбежал!А теперь по сути. Ты тут распизделся про зум, а я менял ортографический размер. Это раз. Ты мне пиздеж играться с числами, а богоподобный реддит сразу посоветовал, как решить проблему правильно - кодом в зависимости от разрешения в игре. Это два. Я ничего никогда не писал в пикселяч-треде, даже не заходил в него никогда, но ты мне там давал ссылку, кек. Это три. Бурги сразу дали ПРАВИЛЬНЫЙ рабочий ответ без лишних выебонов "АХАХА СМОТРИТЕ ЭТОТ НЬЮФАГ НИЧЕГО НЕ ЗНАЕТ, ИДИ НАХУЙ, Я СКАЗАЛ ИДИ НАХУЙ, ОЙ КАКАЯ ИНТЕРЕСНАЯ ТЕКСТУРА ПОДЕЛИСЬ". Вся суть просто этой параши. Это четыре. Обтекай, советчик. И это последнее пять.
>>407570Я уже сам разобрался. Алсо написал все правильно, просто в треде очевидно никто не знает, что скрипт с подключеным модулем UnityEditor нельзя собрать, он работает только в эдиторе.
>>407671>>387306Второй пост от того, на который я указал. Ещё и не мои ответы приплёл.Продолжай.
>>407673Не отвечай ты ему, пусть идет на реддит.
>>407672Я знаю. Но какой смысл отвечать на>Втф?
>>407671>распизделся про зум>а я менял ортографический размерА каково твоё определение зума? Что происходит при изменении ортографического размера? Реддит просто привык к дебилам, которым надо сразу готовый ответ в ротешник засунуть, чтобы вонять перестали. Ещё и плюсиков в кармочку поставят))))
>>407702>Реддит просто привык к дебилам, которым надо сразу готовый ответ в ротешник засунуть, чтобы вонять перестали. Ещё и плюсиков в кармочку поставят))))Именно так и работает здоровое сообщество - сегодня помогают тебе новичку, а завтра помогаешь ты со своей кармой свежим новичкам.
>>407702>твоё определение зумаЗабыл своё определение? Ну так перечитай тут >>407312>Чтоб не ломало у тебя картинку масштабируй кратно целым числам. А не 3.6х как сейчас.Очевидно, что это неверно и я менял совершенно другую настройку.
>>407718Пиксель перфект гугли.
>>407718И на твоей пикче очевидное говно, разная толщина линий. Что сказать то хотел?
Хочу запилить простую физику для мобов, чтобы соприкасались с поверхностью, пока не изучал подводные камни и не уверен, что мой вариант выйграет по производительности. Пытался реализовать какой-нибудь простой костыльный вариант без RigitBody, работает, но ещё нужно как-то расчитать нормали соприкасаемой поверхности. Алсо, таких будет много, поэтому RigitBody отпадает, к сожалению.[SCR] https://pastebin.com/gqAL6Fn8
>>407735Сколько у тебя мобов, что тебе нужен велосипед без Rigidbody?
>>407290Любым образом сохрани координаты объектов в файл и потом загружая файл просто читай координаты и создавай объекты, все просто
>>407753Я уже. Карта в джсоне, все работает, карту грузит и отображает. Единственное, что мне не нравится, так это ебучие кавычки, но без них никак, если хочу работать с джсоном.
>>407740Практически в районе полторы тысячи, обычно это вызывает припадки до 5 фпс
У вас юнити сломался, не детектит коллизии.
>>407718>крутил скейл у окошкаГосподи, какой даун.
>>407759Не у нас, а у вас.
>>407762Не, таки у вас.
>>407764Движение за счёт чего происходит? Трансформу похуй на коллизии, например.
>>407766А как тогда кодить перемещение по клеткам? Я нагуглил такое https://pastebin.com/q7y6hDbk и на гифке именно так перемещаюсь.
>>407769Можно и трансформом, но коллизии определять вручную, например, рейкастингом. Ну или там при каждой попытке перемещения чекать клетку, в которую перемещаешься.
>>407771А как можно не трансформом?
>>407772Такое фиксированное перемещение, наверное, никак, все остальное основывается на физике, которая здесь не нужна.И ещё, перенеси все из FixedUpdate в просто Update, фиксед для физики, остальное плавнее работает через просто апдейт.
>>407773Тогда стоит ли вообще усложнять коллизиями, если можно убрать вообще риджид бади с колладером нах и просто проверять соседнюю клетку на наличие тайла с тэгом WALL, например?
>>407775Делай, как велит сердце.
>>407775Вообще не стоит, о чем я и говорю.
>>407764Static и Kinematic типы тел разве не проходят на похуй сквозь все?
>>407714Так этот Новичок так и не понял в чём проблема, зато готовый кусок кода подогнали.
>>407783Да, между Статик и кинематика нет обнаружения. Как минимум одно должно быть симулейтед или как его там.
>>401747 (OP)Какие сферы математики стоит прокачать, чтобы достаточно уверенно чувствовать себя в среде разработки Unity?
>>407918Никакие. Понимания простых операций с векторами достаточно.Пойми, что происходит в классе, унаследованном от MonoBehavoir (Start, Update, FixedUpdate) и начинай пилить.Что у тебя с английским? На слух сколько % понимаешь из тьюториалов?
>>407863С чего ты это взял? Я все прекрасно понял в момент, когда увидел код. А вот в треде есть люди, которые нихуя не понимают, но лезут с советами. Например, вот этот >>407312, который советовал менять Scale, пушка нахуй. Или вот этот >>407303, который спизданул про кратность, хотя у меня сразу за первым постом шёл второй с правильной кратностью и все равно проебаными пикселями. Или вот эти >>407733 >>407761, которые даже не поняли о чем речь, зато лишь бы как ответить в треде.И да, ты ответил как раз тому новичку.
Анон, прошло уже два года, а я так и не нашел вразумительного способа подсвечивать ребра мешей, кроме написания собственного шейдера. Есть ли однокнопочные способы для дебилов?
>>407968Можешь нахуячить полигонов на ребра как тут >>405882 и обмазать светящейся текстурой. Line renderer аналогично прилипить
Поцоны, делаю 2Д игру и появилась такая проблема (момент этот не уловил) - патиклы спрятались на спрайтами.Сортинг лаер / ордер ин лаер у спрайт рендера (как советуют в интернете) не помогают.А у половины моих эффектов сделанных патикл рендером этой неработающей опции вообще нет.
>>407981Короче, я частично понял.Нужно просто включить в патикл систем рендерер и в нём - Сортинг лаер / ордер ин лаерНе понимаю почему вчера на сонную голову не сработало.Но включение этого "рендерер" портит мои тонкие настройки частиц - они летают хуй пойми как, одинакового размера и во все стороны.Как фиксить?
>>408010Без рендера твои партиклы вообще не рисуются.И ты бы хоть скринов сделал
>>408015Короче эта приблуда помоглаhttps://gist.github.com/nickgravelyn/7460288
Посоны, а насколько Unity 2D подходит для создания спрайтовых пошаговых стратежек? Упростит ли движок жизнь для разрабов этого жанра, или весь Юнити - это про физику?
>>407970Такие очевидные тупые и медленные способы уже пробовал. Слишком медленно, и выглядит в 3D не очень.
>>408027Попробуй сначала 2д движки.
>>408030Например? Я хочу под мобилки делать. Сишарп знаю, Джаву тоже.
>>408027Эти делают и не паряццаhttps://gbanga.com/join-our-team/
>>401927Сука, пидр, ну так напиши тут, в чём проблема была. Ненавижу таких, как ты.
>>408070Да уже решил, значит и проблемы нет)))
>>408027Делай, не парься. Есть еще куча всяких движков поверх Юнити где уже все разжёвано. А юнити хорош простотой а не физикой.
У вас снова юнити сломалсяhttps://docs.unity3d.com/ScriptReference/SpriteRenderer-sprite.html
>>408207А, я там скобки пропустилgo.GetComponent<SpriteRenderer>().sprite
>>408208var mamka_tvoya = go.GetComponent<SpriteRenderer>().sprite;mamka_tvoya = newSprite;
>>408211И нахуя, если у меня все и так работает?
>>408218>у меня все и так работает>У вас снова юнити сломался
>>408222Я же сказал сразу, что пропустил скобки, дубина. Со скобками все заработало.
>>408223Держи в курсе.
Палю годнотуhttps://www.youtube.com/watch?v=2PhFAvbgASEкто мне запилит под это интериор стрип-клуба за их деньги?
Если интересно, то... https://vk.com/0x00000024
>>408310Ты кто?
>>408311А ты кто?
>>408312Аноним. А это https://vk.com/0x00000024 кто?
>>408313Автор всего этого, точнее мой вк.(Кстати, скрины по моему с февраля месяца, по этому выглядит не особо -то хорошо)
>>408314Сам-то знаешь, нахуй ты это делаешь?
>>408315Потому что нахуй это делаю.
>>408316сможешь? >>408250 Сколько хочешь?
Я к вам с платиной. Какой код будет работать быстрее? С объявлением переменной внутри цикла или снаружи? float profit; > foreach (Factory factory in province.allFactories) { if (province.CanUpgradeFactory(factory.type)) { profit = factory.getProfit(); if (profit > result.Value) result = new KeyValuePair<Factory, float>(factory, profit); } }Или > foreach (Factory factory in province.allFactories) { if (province.CanUpgradeFactory(factory.type)) { float profit = factory.getProfit(); if (profit > result.Value) result = new KeyValuePair<Factory, float>(factory, profit); } }
>>408329Как называется эта болезнь?
>>408329а мог бы игры делать...
>>408329
>>408324>сможешь?Да, вполне.>> Сколько хочешь?Ой ну... не знаю даже.
>>408329А профайлер этот код показывает в первых строчках? Нет? Тогда зачем?
>>408348Да это на теорию вопрос. Кароч, вариант с объявлением переменной в цикле быстрее.
>>408339>Ой ну... не знаю дажемы так ни до чего не договоримся
Как заставить Vector3.lerp срабатывать по скрипту?Делаю по примеру отсюда:https://docs.unity3d.com/ScriptReference/Vector3.Lerp.htmlКогда все в Update, то работает ок, перемещается плавно.Стоит записать в отделную функцию и перемещение идет рывками.Наверно, как-то неверно расчитывается пройденное расстояние.Как это исправить?Или может есть другой способ плавного перемещения в заданные координаты?
>>408419Корутины? Хотя он и так должен через нее вызываться.> Или может есть другой способ плавного перемещения в заданные координаты?transform.position += speed * Time.deltaTime;
И тут снова этот пидр со своей хуйнёй
>>408421Забыл помножить на направление, нотыпонел.
>>408423Увы, не понял. Можешь написать подробно?
Сап ананас! как сделать движок в стиле point-and-click ("Darkness Within", "Scratches") только под Android?
>>408448Берёшь и без задней мысли делаешь.
>>408454Это как? поясни по девелоперским понятиям жиесь!
>>408455Учишь С++, опенджиель и основы разработки движка, а потом без задней мысли пишешь его. Вот только что ты забыл в этом треде с такими вопросами?
>>408457Ладно братка не обессудьт! спс за совет жиесь!
>>408426Если ты просто будешь умножать скорость на время и прибавлять к позиции объекта, он у тебя полетит вправо, вверх и вперед. Тебе нужно умножать его на вектор направления. Но это костыльно, лучше разберись с лерпом.>>408448Пилишь свои пазлы, рендеришь интерьеры, вешаешь кнопки.
Нашел сцену, которую делал в январе этого года. Думаю... добавить туда интерьер.
>>408467Э, блэт, так ты хуяришь сразу несколько домов одним объектом? А как же МОДУЛЬНОСТЬ?
>>408468Так они отдельные друг от друга.Пример:
>>408469Знаю -знаю, названия тоже оригинальные.Добавил
>>408467>Этот тайлингА ну да, юнете ж, особо с материалами не поколдуешь
Ананасы, нужна ваша помощь.AO из пакета Post Processing артефачит немного при Deferred рендеринге с кастомными шейдерами.Случается даже с свежесозданным дефолтным шейдером (Create -> Shader -> Standart Surface Shader). Стандартный физический шейдер доступный из коробки работает без проблем. Кто нибудь сталкивался с подобным?AO выкручен на запредельные значения для наглядности
>>408531Поставь брейкпоинт, посмотри где у тебя нулл
>>408531Какого-то объекта у тебя нет. Ищи.
Поздравьте меня, я, похоже, впервые в жизни обосрался с многопоточностью. У меня таблица обновляется из MainCamera.Update и из ScrollBar.OnValueChanged. Они жи из разных потоков, так?Бля, lock (gameObject) не помогает.Вот этот метод public override void refreshContent() {lock (gameObject) {[очисти таблицу][заполни таблицу]}}Один раз этот метод вызывается из родителя, второй раз я этот метод засунул в качестве колбэка в ScrollBar.OnValueChangeЧему не блокируется? Таблица не успевает очиститься как налетает второй поток и начинает писать в таблицу.
>>408540Сделай так, чтобы было в одном потоке, а не блокируй.
>>408569>Сделай так, чтобы было в одном потоке, а не блокируй.Но зачем мне велосипедить все в один поток, если это стандартные юнитивские недопотоки (Апдейт и коллбэк)?Так то я проблему решил добавив флаг alreadyInUpdate и его проверку при заходе в метод, но все таки интересно чему юнити не захотело есть стандартный lock. Может быть дело в том юнитивские коллбеки реализованы через какие нибудь самопальные корутины?
Сап юнитач. Есть проблема. Как в 2д красиво прятать спрайты за спрайтами, если они сзади, и показывать их, если они спереди? К примеру, за деревом. Делать две части дерева не вариант, через layer order не получится, т.к. там максимальное число в short, и выше 32768 не зделать. Я раздумывал отодвигать спрайты по оси z, но тогда страдает камера, и нельзя будет использовать разные sorting layer.
>>408656>нельзя будет использовать разные sorting layerСтавить циферку в z координату вместо sorting layer это же так сложно.>но тогда страдает камераПоясни.
>>408660Ну например камера отодвинута на -999, объект заходит на -1000 и его не видно.
>скомпилировал пустой проект в андроидовский APK>40МБ
>>408661Clipping planes у камеры, не благодари. Ну или мог бы догадаться использовать не целые числа, а делить координату на 10 или 100.
>>408656Эх, щас бы спрятать 30 тысяч спрайтов один за другим...
Что я не так понимаю? Смотрю всякие текстовые обучалки, читаю официальный мануал. Чому у меня коллайдеры не таскаются мышью? Ни боксовый, никакой. Написано, дескать, "держите шифт чтоб таскать", "Держите контрл и кликайте чтоб удалить точку". Но ничего не происходит. Если тыкать ровно в линию\точки просто спрайт остаётся выделенным. Если чуть выше - сбивается выделение. Опять же не совсем понятно предназначение кнопки edit collider, т.к. тоже нихуя не меняется.Что я не так понял?
>>408714Это то, что про коробки. Ну нет никаких "рычажков". В официальном, вроде, так же написано, просто без лишней инфантильности
>>408714Ты это, нажми edit collider для начала.
>>408718Эо с зажатым шифтом, разумеется
>>408670Он котлету денег анимирует
>>408721Нажимаешь на квадрат? Если нет, то нажимай на него на линии коллайдера.
>>408723Не понимаю, что ты имеешь ввиду
>>408727
>>408728Нету
>>408729>>408714Редактирование шифтом убрали в 4.6. Двигай весь коллайдер, редактируя offset; двигай или удаляй отдельные точки мышкой в режиме редактирования. Ближайшая к курсору точка всегда подсвечена, смотри внимательней.
>>401747 (OP)Доброго дня, друзьяОбращаюсь к бывалым игроделам, которые собирали apk-шки на ведроид, и, возможно, сталкивались с подобной проблемой.Я делаю игру (собственно на ведро) и недавно обнаружил, что она слишком много весит в сравнении с другими играми на моём планшете после установки. Сам apk-файл весит ~20mb, но в настройках системы, когда смотрю приложения, его итоговый вес после установки ~45mb. Для сравнения, Hungry Shark, который использует больше графических и звуковых ассетов, в установленном виде весит ~12mb. Смотрел Editor Log, если я его правильно прочитал, то общий вес графена и звуков укладывается в 14mb (of course я всё компрессил), не могу понять, откуда нагрузка в дополнительные 30mb.Помогите разобраться с проблемой.
>>408761Могу только сделать догадку, но, скорее всего, Юнити тянет кучу всякого кода/ресурсов вместе с собой. Там же всякая физика, обработка освещений, столкновений, теней и т.п.Нативные приложения на Джаве естественно будут весить меньше, так как там только нужный код.Попробуй погуглить, возможно можно как-то настроить это дело.
Котаны, для отрисовки графики в пиксельном 2d движке посоветовали использовать Щейдеры с отрисовкой вершин с заданным размером. Я вот с шейдерами не сталкивался и нагуглить ничего не вышло. Вся надежда на вас. Помогите запилить шейдер чтобы вершины рисовались и их можно было красить.
>>408786Чобля? Вершина это просто точка, у нее нет размера и ее нельзя покрасить.
>>408793Ага. И я так думал.
>>408786Вот видите как нарисованы вот эти ребята. Вот мне вот так вот надо.
>>408819Это же 3D в ультранизком разрешении, не?
>>408823Неа. Прикол в том, что ребята состоят только из вершин, а месте каждой вершины рисуется квадрат, повёрнутый к камере. Поэтому "разрешение" картинки зависит от плотности вершин модели.
>>408825В уече искаропки можно так делать, в говно же движке будь добр сам писать велосипеды или покупать готовое решение
>>408825А не легче шейдер навесить на обычных кукол из кубов, чем рендерить через дохуя велосипедов? Да и не под Унити пилить. А так хуй знает. На каждую единицу площади можешь рисовать квадратик нужного цвета через какой-нибудь Unity.GL.
>>408829Шейдер-то мне и нужен. Только не смог я нагуглить как его сделать.Вообще, задача не в рендере вершин, а в быстрой отрисовке массива цветных квадратов. Прост мне говорили что это самый лучший вариант.
>>408836Если вдруг кому неинтересно, я нагуглил.отсюда берём первый скрипт http://www.kamend.com/2014/05/rendering-a-point-cloud-inside-unity/добавляем его на бокс вместе с материалом отсюда https://github.com/erichmwu/PointCloudLoaderПолучаем пикрил.И всё бы хорошо, но квадраты странно повёрнуты и на андроиде эта тема не заработает.Корочи реквестирую другие шустрые способы рисовать квадратики.
Привет, какую команду нужно прописать в скрипте для управления игроком , чтобы он перемещался только в то время , когда нажата кнопка мыши(ЛКМ) или просто тач(т.е. палец на экране), если на смартфоне (в любом месте)? То есть чтобы только при этом условии смогли осуществляться другие функции управления игроком , спасибо C:.
>>409039if (Input.GetMouseButton(0)){PerekatYoby();}В том же классе Input есть ивент для тачскрина.> чтобы только при этом условии смогли осуществляться другие функции управления игрокомif (Input.GetButtonDown("Krutit"){if (Input.GetMouseButton(0)){KrutimYobu();}}
>>409043Бля, скобочку проебал.
>>409043yeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeey Thank you!
Вот , например , игрок постоянно увеличивается/уменьшается в размерах (на 2д плоскости) - как можно осуществить отдаление/приближение камеры, пропорционально размерам игрока?
>>409080>>409042>>409063опять эта свинья мерзкая начала срать по всей доске.
Я тут решаю на чем делать 2д настольную игру для ведра и айос. Будет ли легко сделать на юнити в сравнении с другими движками? И стоит ли браться за юнити для этого жанра? Юнити же огромен и для 3д...
>>409108С 4.чтототам норм поддержка 2д. Минус только в больших экзешниках для мобилок.
Значит, ковыряю я юнити, смотрю в серию уроков http://websketches.ru/blog/2d-igra-na-unity-podrobnoye-rukovodstvo-p5Оно, очевидно, несколько устаревшее. И у меня возникли проблемы с системой частиц.начиная с того момента, где картинка импортируется как текстура (у меня такого пункта даже нет), а ещё где "Измените шейдер "Particles" на "Alpha Blended""В упор не вижу, что я должен нажать.
>>409112Материал партиклов меняется на развороте renderer компонента париклов, он в самом низу. Материал создаешь правой кнопкой мыши в папке. На материале меняешь в выпадающем меню шейдер на Alpha Blended, они там сгруппированы все в подменюшке.
>>409108Будет. Стоит.
>>409116Анон, вижу ты шаришь в партиклах. Как думаешь, их можно использовать для моей задачи? >>408819 То есть наклепать их пару тысяч по сетке, запретить поворот, установить непрозрачную текстуру и максимально увеличить время жизни.Короче как считаешь, лагать сильно будет? Если нет, может накидаешь нужные тастройки, а то там дохера крутилок.
>>409127Короче затестил. Снова всё хуёва. 1000 партиклов дают 10 фпс.
>>409116Не очень подробно, но я понял, спасибо большое
>>409127Накидал тебе за щеку, проверяй.
>>409155Пройди в /b/, тут тебе не рады.
>>409156Вот, даже знаешь куда тебе уебывать, молодец.
>>401747 (OP)http://coremission.net/gamedev/unity-2017-chto-novenkogo/ Юнити становится доступнее для дизайнеров
>>401747 (OP)Почему игровой процесс прямо в редакторе юнити отличается от игры на той же версии, но уже в билде(на ПК), притом что на андроиде то же, что и в редакторе, т.е. как по плану. ? Если более конкретно, то один объект спавнится на пк версии за игроком по Z измерению , хотя в редакторе над ним, как и задумывала. ? ^w^ Как можно исправить ?.
>>409385Order у каждого объекта
>>409390Няш,можешь написать подробнее?
>>409385Sorting Layer > Order in Layer
Сап, анон.Как сделать так, чтобы в Меканиме анимация один раз проигралась и застыла на последнем кадре? У меня смерть персонажа через жопу сделана (npc-death на пикче). Присваиваю bool переменной true на 0,3 секунды и возвращаю обратно false. Если же оставить тру, то персонаж будет непрерывно карячиться в предсмертных судорогах. Естественно, Loop в анимационном клипе отключен.Однако способ с временной задержкой не всегда срабатывает почему-то. В 10% случаев анимация смерти не включается.
>>409198Это хорошо.Однако я прочитал, что они так планируют затачивать движок под ААА-тайтлы, чтобы потеснить UE4. Очень хуево. Лучше бы WebGL довели до ума, сцуки. Универсальный монстр не нужен. Развивались бы себе дальше в сторону инди-разработчиков.
>>409394Ты тупой просто, ты из энистейта запускаешь, у тебя этот ебаный бул остается активным и из состояния смерти снова переходит в состояние смерти (через энистейт).Вместо була юзай триггер, довн, и все будет работать.
>>409461Да, я нубяра. Ничего не понял из твоего объяснения, честно говоря.>ты из энистейта запускаешьИмеешь ввиду экземпляр префаба? Конечно из него, у меня же несколько нпс в сцене, у каждого свои анимационные переменные.>Вместо була юзай триггер, довнА как его юзать? Алсо, мне нравятся булы, они удобные в отладке, на них удобно смотреть в окне аниматора.
>>409394>эта лапша>>409469>этот дебилпросто выпились нахуй
>>409469Тэк, ладно, ща еще проще объясню
>>409469Во-первых, энистейт - Any State - бирюзовая хуйня на скрине.Во-вторых, >Алсо, мне нравятся булы, они удобные в отладке, на них удобно смотреть в окне аниматора.Иди нахуй, нравится ему, блять, они не подходят в этом случае.В-третьих, иди нахуй еще раз, долбоеб.В-четвертых, хуяришь в окошечке меканима, где ты добавлял булы, плюсик и выбираешь триггер.Суть этой хуйни, что она сама вызывается один раз.Дальше идешь в скрипт, на место була с этой задержкой и избавляешься от нее и от була тоже по возможности еще избавляешься от задержки в развитии.Вписываешь туда твойаниматор.триггерВсе блять, никакой ебани.Удобно блять ему, нравится нахуй, пиздец горит
>>409477Спасибо, анон. Это офигительно, что такая полезная штука как триггер есть, не знал о ней.Алсо, я не хожу ни в какие скрипты, а делаю FSM в Plamakere. Удобно. Нравится.
Как кнопку с иконкой и текстом сделать? Мануал на автолейауты не очень помогает. Иконка должна сидеть с зафиксированным отступом (скажем x:50px y:0.5) и не должна съезжать при изменении размеров кнопки. А текст должен занимать оставшееся от иконки место и изменять размеры кнопки если не вписывается в текущие. Якорь для текста не обязательно в центре свободной области делать, если сам текст всё также можно будет выравнивать по 9 позициям. У кнопки должны быть min/max width/height, т.е. её размеры и позиция субелементов могут динамически меняться. По отдельности это у меня всё выходит, но вместе собрать не получается. Горизонталлейаут пидорасит иконку как попало и области им задать нормальные не выходит.Пример какое поведение мне нужно на пике: сверху мало текста, снизу текст не входит в обычные размеры кнопки и увеличивает её высоту (считаем ширину фиксированной), точки - якоря привязки, рамка показывает границы объекта текста. Дальше я это собираюсь в префаб засунуть и динамически создавать из кода с иконкой, текстом и скриптом.
Вот у меня в редакторе все кнопки в одном ряду, но в готовом билде одна из них сползает (между ними есть небольшое расстояние)-как можно исправить?Спасибо.
>>409501Родителю добавляешь горизонтал лайаут (ставишь все 4 галочки), картинкуе и тексту - лайаут элемент. Картинке задаешь мин width, тексту - min width и preffered width, последняя c запасом.Убедись что Юнити обновлена до 5.6>>409508>Вот у меня в редакторе все кнопки в одном ряду, но в готовом билде одна из них сползает (между ними есть небольшое расстояние)-как можно исправить?Спасибо.Вероятно, у тебя разное разрешение в редакторе и билде? Настрой рескалинг под разные разрешения. Или отключи его нафиг (Canvas -> CanvasScaller - > CjnstantPixelSize).
>>409501> и изменять размеры кнопки если не вписывается в текущиеА вот для это, кажется, нужно только min задавать, без preffered.
>>409394Дерево можно красиво сократить используя BlendTree
>>409668Но ведь деревья нужно растить, а не сокращать
>>409501Якоря наоборот же нужно к краям рамки приделывать, иначе "внутренности" не будут под размер подстраиваться не будут. По центру если якорь, то иконка/текст просто "висят". >>409513>middle loyaltyAverage же
Я правильно понимаю, что этот ваш юнете сейчас очень плотно повязан с точканет и я могу задействовать в скриптах засунутые в проект дллки, написаные, например, на крестах/CЛИ?
Котаны! Есть 2 стула: Unity и Android. Что профитней если заняться всерьёз, почему? Помогите не проебаться.
>>409856Ты будешь пилить игры в андроиды? Или юнити будет таргетной платформой?>>409853Там староватый шарп с моно. Ничто не помешает использовать сишные библиотеки, само ядро юнити на плюсах.
>>409858Бля. Хуёво спросил. Уточняю. Лучше заняться чем? unity ИЛИ android
>>409859Дебил, иди нахуй лучше. Даже я, блядь, вижу, что у тебя вопрос поставлен настолько хуево, что ты вообще не понимаешь что сам спрашиваешь, блядь.
>>409859Лучше займись уроками.
>>409862с удовольствием в шкалку бы вернулся
>>409859Юнити - движок, андроид - платформа. Можно писать на юнити под андроид, а можно сперва бегло разобраться в вопросе прежде, чем делать судьбоносные решения.
>>409865Юнити для меня интересней андроида, но мне кажется его менее выгодно изучать так как срежняя зп ниже и он не так востребован(ну и народу его знает не так много)
>>409867Тоньше
>>409868да я и не толщу. просто такое виденье у меня. где я не прав?
>>409859Иди лучше в программач за учебниками по Яве. Тут игры делают, а не деньги зарабатывают. Релизнутые играбельные поделия на пальцах можно пересчитать.
>>409873Спасибо за совет, анон
>>401747 (OP)Как сделать взаимозависимость переменных в скрипте? Нужно чтобы, например, переменная "yellowpony" была в 10 раз меньше чем "bluepony", притом 2 переменная постоянно изменяется в процессе игры, спасибо за потенциальные ответы,
>>409960Ну в апдейте присваивай желтой синюю / 10, каждый кадр будет обновляться. Если так не подходит, то делай класс или структуру с этими переменными в качестве полей, у блюпони сделай сеттер, в котором сразу будет меняться значение желтой.
Как, например, при нажатии кнопки Q , заспавнить игрока на стартовых координатах ну, или на заданных - например x=10, y=5, z=0?Спасибо за ответы .
>>401761Ебать ты отсталый.
>>410024GameObject yoba;Vector3 pos = new Vector3(10, 5);Update(){if (Input.GetKeyDown("q")){Instantiate(yoba, pos /тут что-то ещё, а может быть и нет/);}}Ебать вы ленивые. Иди уроки смотреть. Это классика, это знать надо.
>>410044Спасибо няш, сможешь ещё ответить на вопрос : как отредактировать этот код , чтобы игрок(player) заспавнился на координатах (0;0;0)?
>>410060Instantiate(yoba, Vector3.zero, Quaternion.identity);
>>410060Пиздуй уроки смотреть, а?
>>410060Ты тот анимехуй, которому я писал, как разрешать игроку делать что-то ещё во время движения? Заебал уже, полистай документацию, там все предельно просто. У тебя гугл, блядь, есть, в него запросы проще писать, чем сюда.
>>410085>Instantiate(yoba, Vector3.zero, Quaternion.identity); О, тогда Игрок остаётся на месте, но на спавне множество других игроков появляется , как сделать просто "телепортацию" игрока на эти координаты?
>>410097Лимит ответов исчерпан. Купите Pro версию.
>>410097Player.Transform = new Vector3(10, 5, 0);
>>410099Итак, получилось таким образом: Destroy(Player); Instantiate(Player, Vector3.zero, Quaternion.identity); Всё почти как планировал, однако нужно ещё закрепить камеру за "новым" игроком, как можнo это осуществить?
>>410107ヽ(*・ω・)ノ
>>410152когда уже эта мразотная свинья отправится в холодец?
>>410107Только новый игрок у тебя будет дефолтный без нихуя. Клонируй статы.
Как на ХуюнитиJS запердолить рандомное число от 1 до 10?
>>410196Никак, бери сисярп
>>410198>бери сисярп
>>401747 (OP)Как можно просто телепортировать игрока на определённые координаты (0;0;0), если одны из переменных становится < 10?
>>410222void Update(){if (transform.position.x < 0 || transform.position.y < 0 || transform.position.z < 0 ||)Transform.Position = Vector3.zero;}А вообще иди нахуй, имбецил.
Есть где-то годные туториалы с пояснениями, как верстать ГУЙ под все разрешения?
>>410445Репорт
>>410445Удвоил репорт.
>>410443Гугл все знает, тащемта.https://docs.unity3d.com/Manual/HOWTO-UIMultiResolution.html
>>410461Спасибо, братиш. Пойду читать, но ещё обязательно вернусь.
Госпаде, совершенно случайно наткнулся на Unity Remote, стало в РАЗЫ проще дебажить на реальном устройстве.
На телефоне шрифты идут по пизде, первый пик это скриншот с экрана. В настройках стоит пиксель пёрфект, и на экране Game в самом юнити всё чётко.
>>410482Все-таки дело в юнити ремоут, это он пидорасит качество. Если собрать и поставить апк, то все нормально. Правда размер текста отличается, сравните с тем который на предыдущих скринах. скринах.
Возникла странная проблема. Как-то странно работает скрипт. Пик 1 - то, где возникает проблема. dirToPlayer.direction.magnitude почему-то всегда равен 1 или 0.99999.Второй пик - оригинальный класс, в котором всё работает как надо.Третий пик - консоль во время игры.Чому 1 то?
>>410495Может, глобальные/локальные координаты?
>>410497А как их поменять в скрипте?Кстати, забыл упомянуть, что проблема возника после того как я поменял Pixels Per Unit на всех спрайтах.
>>410495>>410499Короче я просто скопировал второй скрипт в первый и всё заработало. Не знаю что произошло.
сап гд, как поменять ориентацию экрана на портретную при разработке под андроид ?
>>410582Переверни телефон.
Как затайлить спрайт для фона без использования кода? Вижу вот такую настройку, но спрайт не размножается.
>>401747 (OP)Как сделать так, чтобы объект (Player) совершил какое-то действие(eat) после того как коллайдер другого объекта (Apple) стал находиться внутри коллайдера игрока (по x и y координатам, т.к. игра в 2д) ?
>>410742Это всё в туториалах и учебниках есть, сколько можно-то, а?Поставь в коллайдере яблока галочку Is Trigger, прикрути к игроку скрипт, где будет функция void OnTriggerEnter(Collider other), в котором будет получаться какой-нибудь уникальный для этого типа объектов компонент через other.GetComponent<AppleScript>() (AppleScript это просто пример), либо проверяться тэг через other.tag, может ещё какой-то вариант есть, и если тэг соответствует яблоку или компонент != null, то выполняешь соответствующие действия.И идите уже нахуй читать юнити в действии и смотреть туториалы, вместо того, чтобы просить анона расписывать уже данные там вещи.
>>410744Спасибо за ответ, если тебе интересно, объясни пожалуйста подробнее этот пункт : >если тэг соответствует яблоку или компонент != null Т. е. как можно это записать кодом , например: if (" тэг соответствует яблоку или компонент != null " ) { " соответствующие действия"}
>>410795Блэд, не толсти, сука, я же тебя за этот жир выслежу по ip и в жопу выебу.
Выходные в хату, господа. После долгого периода нихуянеделанья продолжаю пилить open-world 2D дрочильню мечты. Нихуя не продвинулся, еще и бросился делать другой свой высер. Хуево вышло, короче. Читать свой код спустя месяц — пиздец интересное и заебное занятие.Собственно, возникли два вопроса: 1. Не совсем понимаю, как работает А* и как его прикрутить. Типа мне можно задать одну клетку, условно, в 0.5 юнитиметров и проверять коллизии?2. Хочу пиздатый бесшовный мир знаю, что нихуя не проработаю, но мне уже тупо интересно. Немного подумав (и нажравшись ссылок на платные ассеты), пришел к такой схеме: креплю через transform.position точку к игроку, храню там локальную позицию по отношению к текущему чанку, обновляемую каждый кадр. Чанкам задаю int[2] с координатами для сетки массивов int[x,y]. Если позиция точки слишком далеко от центра чанка и Игрок вот-вот увидит соседние чанки — инстанциирую их. Точка вместо просто координаты игрока нужна для катсцен, за ней ходит камера, хуе-мое.Правильно думаю? Или где-то наебался?>>410795GetComponent<>() возвращает тебе объект, как в смысле инстанцию класса (скрипта). Если он не находит этот компонент в GameObject'е, он возвращает null. Соответственно, пишешь для своего игрового объекта игрока:OnTriggerEnter(collision col) //бля, или там Collider в скобочках. Загугли.{if (col.gameObject.GetComponent<Yoba>() != null){KrutimYobu();}}Либ проверяй через тег все в том же OnTriggerEnter:if (col.tag == "Yoba"){KrutimYobu();}Не забудь прописать проверку здоровья, если тебе уж яблоки надо подбирать.
Господа каким образом можно "заморозить" камеру при нажатии клавиши (любой) ?
>>410843Падающие снежинки добавить?
>>410882Под заморозить я имел ввиду запретить её изменение с помощью мыши.За обзор отвечает следующий кодrotX = Input.GetAxis("Mouse X") MouseLookSens; (вращение по оси Х)rotY -= Input.GetAxis("Mouse Y") MouseLookSens; (вращение по оси У(т.е вертикально))rotY = Mathf.Clamp(rotY, -60f, 60f);(ограничение обзора по оси У)transform.Rotate(0, rotX, 0); (поворот по оси х)eyes.transform.localRotation = Quaternion.Euler(rotY, 0, 0); (поворот по оси У)
>>410884Важное уточнение я планирую замораживать камеру в инвентаре.Т.е инвентарь закрыт- камера свободно двигаетсяИнвентарь открыт - камера не двигается
>>410885if(mogu_dvigat_cameru == true){rotX = Input.GetAxis("Mouse X") MouseLookSens; (вращение по оси Х)rotY -= Input.GetAxis("Mouse Y") MouseLookSens; (вращение по оси У(т.е вертикально))rotY = Mathf.Clamp(rotY, -60f, 60f);(ограничение обзора по оси У)transform.Rotate(0, rotX, 0); (поворот по оси х)eyes.transform.localRotation = Quaternion.Euler(rotY, 0, 0); (поворот по оси У) }
>>410886Как всегда, самое очевидное решение лежало на поверхности.Спасибо анон
>>410830Типа ты заранее размечаешь клетки как проходимые/непроходимые а потом ищешь пути по ним
>>410886За такие решения надо пиздить палками. Сначала он хочет одно, потом другое, потом третье и вот у него ебаная туча флажков, которые нужно менеджерить.Лучше бы сделали что-то поинтереснее. Например:abstract class InputContext {internal abstract void UpdateInput() { }}sealed class CameraInputContext : InputContext{internal override void UpdateInput(){// поворачиваем камеру}}sealed class GaySexInputContext : InputContext{internal override void UpdateInput() {// долбимся в срундель}}class InputManager : MonoBehaviour{InputContext m_CurrentInputContext;void Update(){if (m_CurrentInputContext != null)m_CurrentInputContext.UpdateInput();}public void SwitchContext(InputContext inputContext){m_CurrentInputContext = inputContext;}}мимоПРОдебич
>>410987А можно немного яснее ?Не понял что мне написать где \\Долбимся в срундель
>>410987Где почитать про все это и перестать быть говнкодером? шилдта читал, но не до конца
>>410987
>>411018Ну, допустим, ты хочешь добавить функционал "оттарабанить в очко врага", но камера в это время будет фиксирована, следовательно ты прописываешь в классе это:sealed class GaySexInputContext : InputContext{[SerializeField]Ass m_TargetAss;internal override void UpdateInput(){var horizontalFuck = Input.GetAxis("Mouse X");var verticalFuck = Input.GetAxis("Mouse Y");m_TargetAss.fuckDirection = new Vector2(horizontalFuck, verticalFuck);}}И всё. Таким образом тебе не надо в одном классе прописывать огромное количество функционала, а потом ебаться с тем, почему у тебя 156 булевых флажков и кто в какой момент дёргается и как должен работать.Если же ты хочешь добавить ещё что-то, то ты просто создаёшь новый класс, который отвечает за свою маленькую задачку и в нём прописываешь функционал для нужного тебе поведения.>>411027Шилдт тебе даст информацию о том, какой у тебя инструментарий есть в распоряжении. А то, чтобы не быть говнокодером достаточно почитать про такую вещь как паттерны и принципы SOLID. Например, вот неплохие ресурсы: http://gameprogrammingpatterns.com/ -- тут много хороших примеров от "ветерана" индустрии. который боевой код не писал, а только in-house инструменты лепилhttps://refactoring.guru/ru -- тут тусуется выжимка из книжек по паттернам и подходам к разработке.АНОН, БУДЬ ОСТОРОЖЕН! Паттерны не стоит применять всегда и везде. Используй их только тогда, когда у тебя появится реальная проблема с расширением и поддержкой существующего кода. И да, тот пост я написал специально, чтобы поднять проблему того, что к нам в контору приходят ребята, которые знают движок, но нихуя код писать не умеют. То есть да, они умеют писать "код". Он работает, он выполняет задачу. Это хорошо, но, к сожалению, с таким кодом работать довольно тяжело, т.к. порой получаются классы по 12к строк, в которых чёрт ногу сломит и потратит недели 2-3, чтобы разобраться в том, что там происходит.>>411028Сорян, писал с мобилки.abstract class InputContext{internal abstract void UpdateInput();}
>>411037Вагон чая тебе.Это не воркач, но интересно - возьмут в геймдев чувака который может писать и отлаживать код на c# (и всяком прочем) но при этом не знает типовых алгоритмов, теорию графов, высшую математику, и плохо знает стандартные библиотеки C# за пределом часто используемых.
>>411046Assuming что код чувака читаем.ПС. А большой размер класса это всегда плохо? Даже если он решает (как кажется) единую задачу? Скажем, 50-70 внятно названных методов в классе (на 1000 строк)- это плохо? С учетом что где надо проставлено private, static и пр?
>>411037Вместо множества флажков долбимся с множеством классов, ммм.
>>411049Это пиздец как плохо.
>>411046Ну, тут как повезёт. Если не топ контора, то вполне могут взять.>>411049Нет, это не всегда плохо.Например, открой исходники string или List, там что-то порядка 2,5к строк, но там полей не так уж и много, т.е. тебе не надо запоминать огромнейший контекст происходящего в этих классах.А я сталкиваюсь порой с тем, что люди пишут по 20-30 булевых флагов, каждый из которого либо используется в одном приватном методе, либо переключается где-то в других классах, не относящихся к этой логике (например, в рендере). Либо вместо того, чтобы завести структуру на 4 int, заводят массив из 4 int, а потом пишут километровый комментарий, что нулевой элемент массива -- это дилдо-пенисы, первый элемент -- турбо-мемесы и т.д. В результате, ты просто обязан знать каждый метод наизусть и должен знать flow происходящего.>>411059Что сказать-то хотел, молодой?
>>411098>Что сказать-то хотел, молодой? Что вместо запоминания кучи флагов надо запоминать кучу классов и помнить кто что в инпутхендлер пихает. Что то запихнт контекст для жопоебли и тут же вместо этого впихнётся контекст для сосания хуёв, поставив нас перед вопросом почему же жопоебля больше не работает? Можно конечно пихать контексты в стек, но куда проще в игре про поедание яблочка, если оно попало в коллайдер анимешного рта, сделать несколько флагов или фсм для камеры.
>>411101Ты не понимаешь сути ООП.Анимешный рот есть не яблоки, а объекты типа Eatable, и ему совершенно похуй, яблоко это, груша или автомобильная покрышка (ну а вдруг).Соответственно, на разных уровнях абстракции тебе надо представить или нарисовать либо простое взаимодействие Eatable-рот, либо внутреннее устройство яблока. Это проще, чем держать в голове всю картину целиком.Естественно, речь о нормальных проектах хотя бы с несколькими тысячами строк кода, а не о визуальных новеллах уровня gd.
>>411104>EatableIEatable тогда уж.Только устройство поедания фруктов и марок никак не связано с переключением режимов камеры.
Вернулся к своей игрушке после сессии, и понял насколько через жопу у меня связаны скрипты. Переделывать всё с нуля сейчас, пока это возможно, или забить хуй и пойти набивать тумаки дальше? Вообще, расскажите пжалста, по каким скриптам вы разбиваете базовые возможности, типа переключения анимаций, атаки, движения.
>>411104Только не объект Eatable, а интерфейс IEatable
>>411046Нет. Ты напишешь говны, решая через анал тривиальнейшие задачи.
Нид халп.Аноны, нужна ваша помощь.Есть камера, эта камера по колесику ездит ближе-дальше, меняя distance.Когда дистанция выходит за определенные рамки, камера дергает GameView.SizeMultiplier = newValue;GameView стреляет событие, по которому объекты на сцене масштабируют себя в соответствии с новым SizeMultiplier, и выставляет состояние IsReady = false, пока этот процесс не закончится.Камера ждет пока GameView.IsReady, потом выставляет себя на новую позицию, чтобы все выглядело как было.Проблема в том, что объекты успевают перерисоваться в кадре с номером N, а камера "дожидается" готовности GameView только в кадре N+1, и пользователь видит глитч.Как это можно пофиксить, кроме ручного рендеринга на текстуру?
>>411363Жду вот так:yield return new WaitUntil(() => GameView.instance.IsReady);Если я правильно понимаю, оно сразу после вызова проверяет состояние IsReady, и в следующий раз вызывается только при обработке следующего кадра.При этом объекты меняют размер на том же кадре.
>>411363>>411365Отбой, я уже понял, что я довен.
>>409848>Average жеСпасибо, пофиксил
>>411190С учетом того, что сейчас любая макака может на юнити ебнуть свою игру, написав два вагона говен, вместо кода, то, думаю, умение в нормальную архитектуру - единтсвенное, что тебя может отличать от нее, так что продумывай иерархию и пиши по уму.А вообще удваиваю вопос и реквестирую чего почитать именно по архитектуре
Здравствуйте, нуб, все дела... Пилю симулятор города. Возник вопрос по созданию разных меню, между которыми можно было бы быстро переключаться. 2D, на пике что-то примерноеСуть: нужны отдельные меню для навыков, торговли, строительства и др., чтобы они вмещали в себя информацию и взаимодействовали между собой. Например, купил что-то в меню торговли, предметы сразу появились в меню инвентаря.Что надумал: 1. Создавать новые сцены с погрузкой данных - медленно. 2. Реализовать новые камеры и меню-рисунки чуть в стороне и переключаться между камерами.3. Сделать новые canvas'ы и переключаться между ними.Вопрос: Как лучше это реализовать, чтобы меню открывались быстро. И как лучше спроэктировать взаимодействие между всеми ними(сейчас читаю про MVC паттерн).Заранее спасибо.
>>411624upd: В общем как в героях, город отдельно, карта отдельно.
>>411624>Как лучше это реализовать, чтобы меню открывались быстроОчевидно, не создавать меню каждый раз а прятать\показывать. Вероятно, пул объектов для элементов списоков
подскажите пожалуйста как пользоваться тернарным оператором наоборот. можно писать int value = true ? a : b; а как написать true ? a : b = value;? или как емко и читабельно в зависимости от условий выбрать тот или иной value type для присвоения нужного значения?
Джентельмены, я нубец, пилю 2D рпг-ху с пошаговыми боями.Суть вопроса такова - вот собрал я из спрайтов модельку персонажа (ну там тело, голова, бедра, игры и т.д.). Даже запилил какую-никакую анимацию стояния на месте и удара.Но я хочу, чтобы на персонаже отображалась одежда, выбираемая в меню перед боем, как это лучше сделать?Допустим, заменить спрайт тела с сохранением анимаций?Может стоит сделать как-нибудь скелет из палок, а палкам цеплять спрайты и как-то менять их походу? Вообще, если кто поделится туториалом/примером как кастомизировать спрайтового персонажа без трогания анимаций - буду крайне признателен.
>>411653Чего блядь? Ты хочешь создать переменную разного типа, но одного названия, в зависимости от условия? Скорее всего, твоя проблема не в том, как это сделать, а в том, что такое вообще не должно быть нужно.
>>411657нет, мне нужно ссылаться на ту или иную переменную в зависимости от условий, которая принадлежит одному типу и ссылаясь на неё передать туда значение.а то приходится писать что-то вродеMyClass reference;int? value = null;int result;if(Function(a, out result))value = result;else if(Function(b, out result))value = result;else if(Function(c, out result))value = result;if(value.HasValue){if(govno)reference.a = value.Value;elsereference.b = value.Value;}но если бы можно было ссылатся на нужную переменную то я бы на неё ссылался ещё там где Function и делал бы там себе return или ещё чего. все это выглядит нечитабельным говном. мне интересно как сделать это более читабельным говном.
>>411661https://docs.microsoft.com/ru-ru/dotnet/csharp/programming-guide/generics/generic-methods
>>411667ну, да, можно и так.Спасибо!
>>411598Game Engine ArchitectureGame Code CompleteКнижки по софтодизайну вообще.Много блогов которые ты найдёшь по запросам.Это настоящее программирование, к нему нет туториала на ютубе.
>>411670Понель, спасибо, анон
Когда они уже наконец наймут UI дизайнера в команду. Татьяныч плачет от этой ебанутой сетки, от самого уродливого шрифта в истории шрифтов, он еще и не сглажен, эти иконки из Visual Basic 2000, скругления, тени, куча мусора. Унити смогли сделать софт с еще более уродливым интерфейсом чем чуваки из автодеска. Мои апладесменты.
>>411709мистер артист, шли бы вы дальше, это не для вас тут положили. нормальным людям глубоко похуй.
>>411709Хочешь красоты пиздуй на уеч, юнити доступный ширпотреб для непритязательных школьников-говноедов.
>>411802Не обижай Юнити, п-пожалуйста...
>>411802>>411789Но ведь он прав, UI там всегда говном был, как стандартный игровой гуймимо-5 лет на унити
Там 2017-ая версия вышла, кириллы.Го качать
У меня игра где пули спаунятся как самостоятельные объекты из ствола. Правда ли что постоянно создавать и уничтожать через пару десятков секунд это очень затратно по ресурсам? И как этого избежать?
>>412274В простом шутане можно обойтись рейкастом. Догадываюсь, что можно и падение снаряда по параболе запилить.
>>412274Сейчас бы потратить месяцок-другой на оптимизацию того, что можно не оптимизировать, да, анончик?Для выявления проблемных мест есть профайлер.
Джавамакак решил вкатиться. Какую VCS лучше использовать? Мануал предлагает Perforce или Plastic SCM . До этого работал только с гитом.
>>411996одно дело гуи в игре, другое дело гуи в самом юнити. и на гуи самого юнити разумеется глубоко похуй.>>412262а я скачал и доволен. хотя и крашится.
Делаю supermarket для мобильных платформ.>>408310Да, с вами всё тот же ебанат (под этим постом. Ну вы поняли)
>>411651Вот этого двачую.>>413470Это у тебя был дрифт на тележке? Если да, то доставь вебм, пожалуйста.
>>413470> supermarket для мобильных платформНах уя?
>>413470>Делаю supermarket для мобильных платформ.
>>413381бамп
>>413381Ни в коем случае не пользуйся гитом, я 2 месяца ебался с ним, чтобы он нормально мерджил, в итоге все равно через раз все разъебывает нахуй, что аж сцен не открыть, так заебались руками в текстовом виде сцену править, что вообще отказались от СКВ.Юнити в этом плане - ущерб.Ну или я косорукий даун, что скорее всего
>>414707>вообще отказались от СКВну это вообще плохоя бы послушал еще советов мудрых
Пачаны, как правильно звук на андроиде отключать? Выключать листенер не помогат.Писать свой андроид-онли менеджер звуков и мьютить там?
>>413764Хуй знает. Не ко мне притенении а к заказчику =)>>413894Лол, круто :D
Анон, меня тралят ебаные спрайты. На первом пике, как должно быть. На втором, как есть. И это происходит совершенно случайно. На 10 запусков, 5 работает как надо. Что делать? Тут два спрайта, земля и игрок. Они оба потомки проекта. Переопределить землю к игроку я не могу. Как мне сделать так, чтобы земля показывалась сзади? Я уже ахуел, а еще даже фон не придумал
>>415577Очевидно, что они создаются в рандомном порядке. Создавшийся последним будет сверху.На видосик: https://unity3d.com/ru/learn/tutorials/topics/2d-game-creation/sorting-layers
>>415664Все исправил, смотрю дальше. Спасибо, анон
Намучался я с этим механизмом проворачивания в руке. Грубо, но заработало таки.
>>416046Няшно.
Что там полегче вместо VS можно для кода использовать? Заебал этот комбайн, тормозит как сука, а надо просто редактор с автодополнением. VS Code? MonoDevelop?
>>416784VS Code. Но студия все равно лучше.
>>416785Да ясно что лучше, но иногда дольше ждёшь пока он прогрузится, чем код редактируешь.
>>414787Можешь написать свою мьютилку.Правильных решений не существует. Есть либо хорошие, либо плохие.>>414707Ну, скорее всего ты косорукий довн. Я пользуюсь гитом дома, а на работе меркуриалом.мимоПРОлох
>>414707>>414707Что лол блядь? Все норм с гитом у меня
>>416848>>416788Тогда прошу помочь.Какой мерджтул юзаете для мерджа сцен и префабов? kdiff3 у меня через раз все херит.Накатывали ли какие-либо плагины для юнити?мимо косорукий даун
Аноны, помогите с выбором. Нужно анимировать всякое движение, решил выбрать ассет для этого, благо бесплатных много. Выбор между LeanTween, DOTween и iTween. Не знаю чем из них пользоваться. У кого-нибудь из них есть возможность анимировать движение "скачками"? в моем случае - нужно симулировать движение по пикселям
>>416852Я что-то так подзадумался и осознал, что у нас никто одновременно над одной сценой/префабом не работает. Соответственно, мы просто не мёрджимся.Может и вам так стоит попробовать работать?мимоПРОпендаль
>>416940Блядь, а чем тебе аниматор не угодил?https://www.youtube.com/watch?v=Kn6jxLWA31MмимоПРОебырь
>>416960>мимоКакое-то у тебя странное мимо, вниманиеблядь.
Посоветуйте книжечек\видосиков по шейдеронаписанию
Много багов в 2017 версии?
>>417148я встретил довольно много когда включил версию шарпа повыше. особенно юнити любит крашится к хуям при сериализации скриптабл обжектов. а так нормально если старой версией шарпа пользоваться, стало лучше.
>>417148Дохуя. Она не закрывается если выставить .net 4.6 и в конце стала падать буквально на ровном месте, когда я жал Play, даже без своего баг-репортера. Надо ждать хотя бы 2-3 патчей, не раньше осени будет пригодна к использованию.
>>416960Ну ахуеть теперь, советы уровня /gd/, ты ведь понимаешь, что если в команде 2+ человека, то кому-то придется по ночам работать, а это кромешный пиздец.
>>417324Если вы не можете нормально распределить роли, то это ваши проблемы.
>>416979Чо хочу, то и делаю, брат.>>417179>>417220Господа, "новый" .net помечен как preview же, поэтому ничего удивительного тут нет.>>417324А хуле мне понимать, когда мы в 30 рыл ебашим проект?
Screen.currentResolution дает разрешение монитора вне зависимости от размера окна в котором играет контент юнити. Как мне получить реальный размер окна в котором играет контент юнити? (Например, в редакторе или веб GL? Там размер окна нифига не равен 1920х1080 например)Точнее говоря, мне это нужно что бы в ручную устанавливать положение окон - без учета реального разрешения получается ерунда..
>>417377Screen.width попробуй, или где-то там в Application. Иди нахуй короче, когда вы уже блядь в документацию научитесь? 5 лет прошло, а дебилы все те же вопросы задают.
>>417386>Screen.width попробуй, или где-то там в Application. Иди нахуй короче, когда вы уже блядь в документацию научитесь? 5 лет прошло, а дебилы все те же вопросы задают.Ну не злись, няша. Я же нагуглил Screen.currentResolution а мог бы прийти с "зделойте мне заябись". Screen.height помогло, спасибо.Лучше расскажи зачем ты вообще нубам помогаешь? Свой проект скучный?
>>417388>Свой проект скучный? В своём проекте всем на него похуй, а тут можно делать вид, что умный.
>>417426Естественно, ведь в моем проекте нет чуханов вроде тебя. В нем вообще никаких чуханов кроме меня нет.
>>417480Лучше поясни - когда я добавляю объекту компонент-скрипт с классом-наследником MonoBehaviour это разве не означает создание нового экземпляра этого класса-наследника? А то у меня скрипт добавлен к разным объектам и он каким то образом берет инфу не из своего экземпляра.Алсоу, они это серьезно: When you use C#, you must explicitly derive from MonoBehaviour.(https://docs.unity3d.com/ScriptReference/MonoBehaviour.html)А то у меня дофига классов которые от System.Object наследуют.
>>417498Можешь хоть от чего наследоваться, но если это компонент, то будь добр и монобихейвор добавить.Про экземпляры все верно, но хуй знает что у тебя там в коде. Что вообще подразумевается под "берет инфу"?
>>417362Падучей страдал даже когда я откатился на .net 3.5.
>>417566Спасибо. А то уж я думал.. Но нет, это у меня в коду ошибки. У меня есть 1 объект в сцене - реализует всплывающую подсказку. И есть компонент который добавляется к элементам интерфейса и передает инфу в тот объект в сцене. Ну и я обосрался с обновлением инфы в этом объекте сразу из нескольких мест.. Разберусь как-нибудь.>>417362>Господа, "новый" .net помечен как preview же, поэтому ничего удивительного тут нет.>>417624>Падучей страдал даже когда я откатился на .net 3.5.А 5.6 будет падать если я его заставлю работать с более новой .net? 4.0 или хз какую там можно натянутьОн у меня и на 2.0 правда порою падает при отладке..
>>417638>5.6>работать с более новой .net>2.0
У меня очень много зависит от ориентации игрока смотрит вверх, вниз, влево, вправо и т.д.. Что лучше, задать ему компонент который будет обновлять и хранить эту информацию в себе, и создавать ссылку на него в других скриптах, используя его переменные, или создать ScriptableObject, в который буду писать информацию об ориентации, и использовать потом как глобальную переменную? Просто не совсем понятно для чего ScriptableObject'ы нужны, кроме как хранить совсем глобальные переменные.
>>417697ScriptableObject нужен для того, чтобы хранить повторяющиеся статичные данные, чтобы сериализатор "вхолостую" не гонять.Например, у тебя есть у тебя есть NPC, который должен говорить определённый текст. Текст весит 10Мб. Если ты будешь текст хранить в MonoBehaviour, то когда ты на сцене будешь держать 10 NPC, ты потеряешь 100Мб памяти, т.к. когда ты делаешь Instantiate, ты вызываешь процесс создания полной копии объекта.Если же ты сделаешь отдельный ScriptableObject с этим текстом, и дашь ССЫЛКУ своему NPC, то при вызове Instantiate у тебя все копии объектов NPC, будут ссылаться только на этот ScriptableObject.Сумбурно как-то объяснил засыпаю хуле, но надеюсь, что поймёшь.мимоПРОбыдло
>>417962Хм, так намного понятнее на самом деле. Спасибо.
>>417665Вот у этого https://github.com/AlbinoGeek/Economy-Unity аж 6.0 заявлена. И судя по дате это не 2017. Я, правда, не проверял.
>>417638Нет, не будет. Натянуть нельзя (почти, через анус только). Юнити использует Mono 2.0, где реализован .NET 3.5.
Господа, подскажите пожалуйста, а нахуя вам самый последний .net?Я, откровенно говоря, не сталкивался с какими-то лютыми проблемами, что мне пиздец как нужен был последний .net
>>418095Вскукареки кирюх, которые ищут оправдание лишь бы игры не делать. Вообще в роадмапе юнити есть намерение запилить последний net, нужно только потерпеть.
>>418095>Господа, подскажите пожалуйста, а нахуя вам самый последний .net?>Я, откровенно говоря, не сталкивался с какими-то лютыми проблемами, что мне пиздец как нужен был последний .netЧасть сахарку недоступна в 2.0. Автоматические properties например. Linq говорят память дико жрет в этой версии. Не, жить можно конечно, но хотелось бы лучшего.
>>418097Ну, насколько знаю, они его запилили, но пока только превью-версию.>>418164Ты какой-то диванный.Пропертями автоматическими в юньке пользуюсь уже хз сколько.
>>418164Всякие говноделы вставляют Linq (которому в гейдеве вообще не место) в апдейт и потом жалуются что ТОРМАЗИТ, вся суть кириллов.
>>401747 (OP)Как можно реализовать, чтобы объект или спрайт было видно сквозь все объекты
>>418407Выставить его выше всего в слоях?
>>418426Вангую, что этот >>418407 кирюха узнает про очереди отрисовки.
Аноны, а есть какая нить документация под андроид? конкретно хотелось бы узнать про ограничения и вообще возможности дроида, чтоб примерно представлять масштабы разработки
>>418516http://google.com
>>418095В StrangeIoC меньше ебанавтики. Конструкция типа injectionBiinder.Bind<IPool<Foo>>().To<Pool<Foo>>() работает.
>>418616Опача.Браток, а можешь пояснить за IoC-контейнеры? Я совсем не понимаю, куда их можно воткнуть, кроме как замена синглетонов.
Сап, двач, я тут туториалы спидраню и не могу понять какую-то мелочь в работе интерфейсаhttps://youtu.be/HlDGSStxuHI?t=6m18sВот в этом моменте господин ведущий меняет с Local на Global и объект больше не проваливается, то есть перемещается лишь в горизонтальной плоскости (если я правильно понял), но у меня ничего не меняется, летает по всем трем осям при попытке перемещения что так что так. В чем дело?
Привет, друзья. Решил вкатиться в Юнити, дабы делать 2D игоры под телефон и рубить далары. В целом, есть уже годная идея, не очень сложная для реализации. Ну а пока мой друк-художник пинает хуи, я принялся копаться во всём этом, собственно вот продукт моего копания, друзья:Значица, что есть?Спрайт машины из гугла.Море крови, море зомби.Пулемёт (или че это, я сам хз, че сделал) и нож.Зомби.Зомби-плевки (они плюют).Невозможность пройти игру.Невозможность выйти из игры.Возможность убивать врагов.Возможность почувствовать себя чмом.https://yadi.sk/d/4U1nnyPw3LDSmX
>>419536Забыл добавить, что нож находится чуть выше входа в здание. Ну и само здание лучше не обходить, а то такое себе выйдет. Я завтра, наверное, буду пытаться сделать так, чтобы зомби сквозь стены не агрились.
>>419539>>419536Оружие менять на цифры "1" и "2".Вот рабочая ссылка: https://yadi.sk/d/HaeTTBLG3LDSvE
>>419467А хз.Это настолько малозначительная хуйня, что можно не заморачиваться.
>Крайне рекомендУется купить/скачать книгу Unity in action (Unity в действии)спасибо, будет чем заняться на досуге
>>419572> спасибо, будет чем заняться на досуге
>>419467Попробуйте выключить компьютер и снова включить. В Global можно и по вертикали двигаться. Ты за Y-ось точно не дёргал?
>>419234Не просто замена синглетонам. Синглетон - это Stuff.Instance, привязка к конкретной реализации. Ты же можешь привязываться к интерфейсу, не зная ни реализации, ни кто и где создаёт эту реализацию.Бонус-трек: я использую StrangeIoC ещё и для биндинга экранов GUI. У меня нет некого GUIManager'а с кучей экранов в полях, как нет и полей в экранах для перетаскивания ссылок на иные экраны. У меня есть [Inject("Имя экрана")], ноль обезьяньей работы как результат.
>>419644Мелочь эту не пойму. Если дергать за (анус) сам объект, то он летает хуй пойми как, а если за кубик, грани которого совпадают с осями координат, то все норм и он перемещается как надо, чисто по горизонтали, почему так?
>>419467досмотри до конца
Котаны, что за дела? Сбилдил 2D-залупу, где кода кот наплакал и полтора спрайта, и получил на выходе 36 метров, 23 из которых занимает сам экзешник.В логе вот что написано. Хуй процентов плюс хуй процентов плюс 11% библиотек равно сто процентов. Заебись.Чего делать?
Помню у левела был туториал по диалогам, где текст вводится по одной букве. Объясните основной принцип, или тыкните куда копать.И, случаем, нет ли перезалитых видосов уровня?
>>419791Скомпилируй пустую сцену/проект и вес посмотри
Аноны, а как в юнити сделать, чтобы сиськи подпрыгивали при ходьбе? В makehuman для них есть кости, но юнити их убирает при выборе пресета humanoid в ригах. generic что-то путает, моя няша становитя похожей на чужого. Гугол выдает скрипт 2013 года, что-то я стремаюсь его использовать
>>419791Перейти на нормальный движок.
>>419849>>419864Просто в том же мануале от юнити на скрине по процентам всё сходится, а у меня из 11 стало 100.
>>419863У тебя или мейкхьюман больной или юнити. Потому что я сиськи импортирую из 3д макса и у меня все норм. Еще есть такие варианты:1) В настройках импорта fbx ставишь optimize bones галку. Так нельзя.2) Неправильно экспортируется из мейкхьюмана, и в fbx по факту нет таких костей.Ну ладно, а теперь мой вопрос. Делаю персонажа с функцией динамического раздевания. То есть по событию одежда сползает с тела и падает на пол. Реализую это через всего один убогий blend shape (или morpher в 3д максе), в которой зашита модель скомканной на полу одежды. Все вроде норм, но одежка заскиненна на тело и в процессе раздевания она деформируется от движения костей, так как идет анимация.Можно как-нибудь так сделать, чтобы Skinned Mesh Renderer компонент перестал работать с костями? Я читал доки, вроде метод запекания в Mesh есть, но это как-то слишком сложно, как проще сделать?
>>419890Гейвиллу новую пилишь?
>>419898Под персонажем может и женский пол иметься ввиду.Нет, у меня игра не про еблю и тем более не про пидоров. Для геймплея фича сползания одежды особого значения не имеет, однако чтобы у игрока крепче шишка стояла хочется сделать по уму.
>>419890Не совсем понял что тебе нужно, но на ум приходит что-то такоеSkinnedMeshRenderer[] renderers = this.GetComponentInChildren<SkinnedMeshRenderer> ();if (renderers.Length > 0) {for (int i = 0; i < renderers.Length; i++) {renderers .bones = null;renderers .rootBone = null;}}
>>419913Ну, само собой, вместо this передай то что надо, если скрипт не на самой одежде висит.
Сап, единствотредГугл ничего не дал, ты моя последняя надежда. Пытаюсь применить к rigidbody (3d) постоянное ускорение при включённой гравитации. Проблема в том, что движение модели происходит всё-равно рывками как бы я не дрочил. Решения из гугла желаемого эффекта не дали.Уже и через выставление velocity в update делал, и через moveposition. Один хер движение на высокой скорости происходит рывками.(камера через линейную интерполяцию фолловит цель, рывки видно и на пека, и на телефоне)ЧЯДНТ? Не могу понять, неужели в единстве физон настолько тяжёлый для телефонов?
>>419977В FixedUpdate?
>>419977Time.deltaTime / Time.fixedDeltaTime юзаешь?интерполяцию на риджидбади въебал?
>>419992И в FixedUpdate, и в LateUpdate, и в Update. Уже тупо перебираю, один хер какие-то непонятные рывки. >>419997Пробовал с дельтой при MovePosition, толку нет. В Velocity тоже.Предлагаешь двигать через MovePosition через интерполяцию между current - end позициями? Тогда же смысла от rigidbody нет. Свой велосипед будет же.Я пытаюсь добиться плавного движение персонажа по направлению одной оси с притяжением и угловым ускорением Эндлес раннер на 2д плоскости в 3д пространствеЯ зафризил у rigidbody rotation по всем осям и положение по Z оси.
>>420002Посмотри сюда: http://www.kinematicsoup.com/news/2016/8/9/rrypp5tkubynjwxhxjzd42s3o034o8Может поможет.
>>420075Полистал, судя по картинкам именно то, что мне нужно. Как раз я не до конца понимаю как устроен рендер пайплайн в единстве. Спасибо, анон.
Псаны, пытаюсь курить андроидокодинг, возник такой вопрос.Как, мать его, обработать событие по простому тапу на спрайт/UI-Button?Вот есть у меня в кодеif (Input.GetKeyDown (KeyCode.LeftArrow)) {//йоба-код}Как мне заменить условие, чтобы этот код сработал при тапе? Гугл какие-то слишком мудрёные варианты выдаёт с кучей лишних условий.
>>420125https://docs.unity3d.com/ScriptReference/EventSystems.IPointerClickHandler.html
>>419977на камеру ебашь ригидбоди с интерполяцией и двигай через addforce
>>420133А можно человеческим языком? По твоей ссылке ещё пара ссылок, которые на вопрос не отвечают.
>>419913Не не получилось. При .bones = null у меня модельку одежды выварачивает на 90 градусов по оси х. Хз, почему так, возможно проблемы с моделлингом. Ну ладно, хуи с ним, эффект все равно меньше секунды проигрывается.Аноны, а у кого есть опыт работы с кастомными костями в Mecanim? Вот, к примеру, дополнительная кость для плеча для более качественной анимации. Однако если модель импортировать в меканим, то кость там эта будет, а вот ее анимации - нема. То же самое могу сказать и про анимацию морфов. Сами морфы в меканим поступают, но не их анимации.fbx сохраняю в Motion Builder.
>>420142Ну, ты попробовал хотя бы, а потом уже просил что-то человеческим языком.Для тупых лентяев, поясню.Берешь сцену, ебашишь Button в Canvas, ебашишь на сцену EventSystem. Пишешь свой сраный скрипт, в котором реализуешь интерфейс. Вешаешь скрипт на кнопку.Запускаешь плеер и жмёшь сука на кнопку.
>>420184Ананас, я это всё понимаю. Я тебе даже больше скажу — при создании кнопки и Canvas и EventSystem создаются автоматически. И они у меня уже даже есть. И даже "сраный скрипт" написан.Я же не об этом спрашивал. Я спрашивал какой void вешать на обработку тапа, только и всего.Чего ты злюка такой?
>>420177> опыт работы с костями> в MecanimСам же понимаешь что это извращение.
>>420192Нет, это нормальное сексуальное желание. Ну вот как сделать упругую задницу без пары дополнительных костей, а как огромный мамон жирдяю?Эх, печально. Походу, придется экономить на качестве анимации, если хочу попасть в TWG.
>>420209Так ебашь кости в максе или блэндере, а потом пихай уже в юньку.
>>420177проиграл с костей, переходящих из спины в хвост
Если я закинул себе в проект пак с УИ на полтора гигабайта, эти полтора гигабайта будут и в самой игре, увеличивая её размер? Или он сам как-то вырежет их и возьмет только те что я ипользую?
>>420385Если их не будет в сцене, то их не будет и в билде.
>>420386Ну а если у меня в сцене например несколько раз используется только одна кнопка из этого пака? Он скопирует её себе, или он и так использует копию для каждой отдельной кнопки?
>>420387Господи, сбилди ты игру, открой Editor.log да посмотри что там куда пошло.
>>420388Ну ладно. Спасибо.
РЕФАКТОРИНГ@РЕФАКТОРИНГ@РЕФАКТОРИНГПеределываю симуляцию орбитальной механики в третий раз, чувствую себя ебланом.Первый раз у симуляции и отображения была большая связанность.Ок, похуй, отвязал, приделал ивенты. Получилось немного сложна нипанятна, класс-контейнер векторов состояния (position, velocity) содержит ссылку на объект, представляющий данные по орбите о всяких аномалиях, наклонениях и прочем, и еще одну ссылку на объект, который обеспечивает гравитационное взаимодействие.Сейчас сижу упрощаю, выпиливая вычисления параметров орбиты в статический класс и объединяя гравитацию и вектора состояния в одном классе, хорошо хоть что заодно добавил поддержку сейв-лоада через json.
Взываю к демиургам ЕДИНСТВА. Поясните, как работает рендер пайплайн в этом движке.Я правильно понимаю что fixedUpdate выстреливает каждый квант времени и отрабатывает даже в ущерб фпс? Т.е. если он не успевает отработать достаточно быстро то рендер кадра будет пропущен и таким образом будет падение фпс?
>>420452> Я правильно понимаю что fixedUpdate выстреливает каждый квант времени и отрабатывает даже в ущерб фпс?фиксед может сработать хуилиард раз за кадр, но его последствия будут рулить апдейт или лэйтапдейт
ртфм плиз
Как можно сделать линию, по типу drawline только чтобы в игре была видна, лайн рендерер пробовал, с ним линия выходит за фон2д игра.
>>420502Поговаривают, что в последней юньке завезли тайловые спрайты.Вот ими и ебашь.
>>420412Интеграцию чем делаешь? Эйлером? Я знаю умные слова!
>>420385Нет. Только то что имеет связи через сцену, ресурсы или ассетбандлы идёт в билд.
>>420569Им самым. Хотя планирую переделать на Рунге-Кутту.
У всех в MonoDevelop память подтекает или только на макоси?
>>420581Win8.1, тоже.
>>420581Ты небось ресурсы не высвобождаешь, типа там текстурки, меши и пр. GC за тебя это не сделает.
кто подскажет почему триггер не срабатывает?public class NewBehaviourScript1 : MonoBehaviour{ public GameObject Action; void Start() { Action.SetActive(false); } void Update() { } private void OnCollisionEnter2D(Collision2D collision) { Action.SetActive(true); }}
>>420634разобрался, все работает
>>420634> NewBehaviourScript1> void Update()> {>> }Это даже мило.
>>420412Анончик, всегда было интересно как в подобных симуляторах просчитывается длинная незамкнутая орбита?имею в виду траекторию, выходящую за пределы гравитационной ямы земли, там ведь блядские планетки движутся, направление векторов меняется.Просто берешь какие-то временные точки и последовательно моделируешь, а потом по ним интерполируешь траекторию или что-то прям хитровыебаное?
>>420629Ты дурак? MonoDevelop вообще ничего про ассеты не знает. Я тебе даже больше скажу, он скрипты не запускает.>>420643Парень учится, это нормально. Это намного лучше того, если бы он сиську с пивом давил, продавливая диван.
>>420696> это нормальноДа я ж и говорю, даже умиляет. Я не как что-то плохое, наоборот.
>>420655Строишь гиперболу, которая упирается в границы SOI.В точке выхода из SOI берешь значения векторов скорости и положения относительно нового родительского тела (Земля, при выходе из SOI Луны), по ним считаешь кеплеровы элементы орбиты вокруг нового родительского тела, по этим элементам рисуешь новую траекторию.В общем прост немного векторной алгебры.
Посоны, насколько стабильно отключение компонентов? У меня есть выбор, при диалоге отключать компонент с передвижением и атакой, или каждый кадр проверять bool который указывает на то, в диалоге игрок или нет. У меня подкожное чувство, что при отключении будет куча багов вылезать.
>>420807> Посоны, насколько стабильно отключение компонентов?Ну если компонент уже не нужен, то его отключение стабильно на 100%.Телепатов нет, никто не знает чего там у тебя в скриптах творится.
>>420807стабильно или нет зависит только от твоих скриптов, все значимые баги самой юнити пофикшены с версий 0.000000000001
Есть на ютубе хоть один русский обзор с обновлением 2017.1? Полный обзор, с разбор ченджлога.
>>420871Что тебе мешает просто чейнджлог почитать?
>>420871>не может в ангельскийКак ты вообще живешь?
Объясните пожалуйста ньюфагу, как может быть установлен лимит по прибыли на бесплатной версии unity? Просто интересно
>>421007Все на честном слове, так что можешь не париться
>>401747 (OP)Сап, анон. Вкатываюсь в юнити потихоньку. Посоветуйте адекватный какой-нибудь ассетс - спрайт менеджер. Есть вообще такие?
>>420912Пошел нахуй, мне лень переводить
>>421055Ну вот ты и ответил сам себе:>Есть на ютубе хоть один русский обзор с обновлением 2017.1? Полный обзор, с разбор ченджлога.>Пошел нахуй
Где в этом Юнити находится main()? Как мне тут инициализацию контроллеров и менеджеров запилить, которые будут доступны во всех сценах и т.п. На ОГРЕ каком я могу из мейна это все вызвать. А тут что? Статик классами чтоли делать? Так они не создадутся пока к ним не обратиться.
>>421071Start()Awake()
>>421071Пустой объект с компонентом-синглтоном.
>>421071где-то они там писали на эту тему немногоhttps://unity3d.com/ru/learn/tutorials/projects/2d-roguelike-tutorial/writing-game-manager
Аноны, скажите, а я один такой даунич, который заново собирает префаб macanim персонажа, как только сделал существенные изменения в 3д-модели?Кто знает как делать правильно, чтобы просто подцепить новую модельку с костями на старый префаб и все?
>>420724Спасибо большое, а еще вопросик:То есть в пределах сферы влияния игнорируется влияние тел, отличных от родительского?
Анончик, пытаюсь показать текст в течении некоторого времени. Но ничего не происходит, где я наебался? public NewPlayer theNewPlayer; int i = 3; publiс void Tutorial(){ while (i > 0) { theNewPlayer.gameObject.SetActive (true); i--; } }}
>>421141Сука. быстрофиксpublic NewPlayer theNewPlayer;int i = 3;public void Tutorial(){while (i > 0){theNewPlayer.gameObject.SetActive (true);i--;} } }
>>421143Ну а твой Tutorial кто вызывать будет за тебя?
>>421143Если собрался вызывать с апдейта, то while не подходит, так как вайл пробежит за один кадр - это раз.Во-вторых, целесообразнее для "временных" задач юзать карутины, либо Инвоки
>>421136Для невозмущенной орбиты. Для спутников считается реальная траектория, на моем скрине в виде точек поверх орбиты.
>>421144>>421145Разобрался, спасибо
>>421071main() нет, но ты можешь сделать свой. Для этого используешь атрибут https://docs.unity3d.com/ScriptReference/RuntimeInitializeOnLoadMethodAttribute.html и создаёшь свой main(). Там создаёшь юнити-объект, помечаешь его как DontDestroyOnLoad и получаешь свой главный цикл. Отсюда работаешь как будто у тебя нормальный движок. Я так годами делаю.
>>420655Задача трёх и более тел не имеет аналитического решения - потому только моделируешь.
Тут случайно нет людей, которые использовали Dialoge Manager For Unity из ассет стора?https://www.assetstore.unity3d.com/en/#!/content/11672
Анон, как сделать такой свет в юнити? Может есть какой-то туториал?
>>422039Никак. Смирись.
>>422045Можно, но это нужно настраивать light cookie и tonemapping
Сап, Гдэч.Есть один собственный тип данных (List<> состоит из всяких там float, bool и т.д.), который я сериализую, отправляю по сети, а потом десериализую.Все бы ничего, но после сериализации там 2к байт. Это чото дикое дохрена. Как уменьшить?
>>422111Ручками запихиваешь в стрим, а потом так же вытаскиваешь. Ибо автоматическая сериализация генерирует дохуя мусора.
>>422111>List<> состоит из всяких там float, bool и т.д.Чего блядь?
>>422131Ну видать у него свой класс и он объекты класса в лист загнал.
>>401747 (OP)Ньюфаг итт.Хочу написать простой скрипт, который будет толкать объект сразу после его создания по нажатию лкм.У меня он только создается, а толчка не происходит. Что не так делаю?void Update() { if (Input.GetMouseButtonDown(0)) { Instantiate(bullet, new Vector3(7, 1, 7), Quaternion.identity); rb = GetComponent<Rigidbody>(); rb.AddForce(transform.forward * power, ForceMode.Impulse); } }
>>422147Так, на всякий случай. Риджидбади на объекте висит хоть? Переменная power определена?
>>422148Rigitbody на префабеpower = 250f
>>422147Скрипт на чём висит? > rb = GetComponent<Rigidbody>();Ты тут получаешь компонент не пули, а объекта, на котором висит скрипт. Тебе надо писатьrb = bullet.GetComponent<Rigidbody>();
>>422136
>>422161Ах да, transform.up я прописал потому что мне так захотелось. Поменяй на transform.forward.
Это >>422161 сюда >>422147
>>422115Уже MemoryStream stream = new MemoryStream(); BinaryFormatter formatter = new BinaryFormatter(); SurrogateSelector ss = new SurrogateSelector(); AddSurrogates(ref ss); formatter.SurrogateSelector = ss; formatter.Serialize(stream, Object); byte[] buffer = stream.ToArray();но чот обьем данных пугает.
>>422161Спасибо.
>>422111>>422169Никогда не сериализуй generic коллекции, блэт. Ты пакуешь не только данные, находящиеся в ней, но и саму реализацию коллекции. Во первых, ты определённо делаешь что-то не так. В идеале, модель, состоящая из типов значений (int,long,float) сериализируется идентично маршалингу в памяти. Создай структуру/класс, назови её FuckingPackage, сериализуй её (нахуй тебе ss?). Explicit и Implicit преобразования допишишь по ходу дела.Во вторых, ты можешь преобразовать в массив свой список, а затем его сериализовать. Хотя если, понапихал не элементарные типы в List<Object>, то это тебя не спасёт.В третьих, кидай пример того, что ты пытаешься сериализовать. Не данные, а типы данных. Мы тут не экстрасексы, чтобы по твоему жиру определять размеры типов данных.А я пока задам свой вопрос. Кто-нибудь знает пример реализации 2D-изометрии в Unity? В частности интересуют коллизии и рейкастинг.
Хуле бля камера-то слайдером не крутится-то? Всё в ноль улетает сразу и меняться не хочет. public void OnValueChanged(float value) { GameObject.Find("Camera").transform.eulerAngles = new Vector3(90.0f * value, 0.0f, 0.0f); }
>>422535В каких значениях изменяется value?
Спасибо тебе, добрый человек. Попробоваю!Суррогат нужон потому, что *ятский Vector3 почему-то не сериализуется нифига, а он у меня в классе присутствует.
как-же заебали в этом юнити. с каждым новым релизом фпсы стабильно падают. вместо того, чтобы чинить всякое говно вроде убогого InputManager'а или конечного менджмента сцен, они делают то, что проще всего сделать: в очередной раз переписывают пяток пост-эффектов, зато добавив к ним никому не нужный йоба-редактор.По сути оверхайпнутый таймлайн ( который уже давно кор фича во всех остальных движках, который в юнити наконец-то к концу 2017 года запили, браво!) единственная новая фича в юнити за последние - сколько уже с момента выхода 5-ой версии - 3 года?
>>422553Пора перекатываться на godot. С юнити все ясно.
>>422526это сюда>>422546
>>422526>Ты пакуешь не только данные, находящиеся в ней, но и саму реализацию коллекции. какую еще реализацию. данные записываются так, как их записывает форматтер. В частности бинари форматтер.
Мне что, нужно создавать 2 копии изображения, чтобы использовать его одновременно как спрайт и как текстуру?
>>422568Шта? Спрайтрендерер и обычный рендерер это разные компоненты, которые вполне схавают одно и то же изображение.
>>422539От 0 до 1
>>422566Форматтер проходится по мете класса и сериализирует всё, что необходимо для восстановления объекта. Проблема в том, что он сериализует помимо данных List<T> ещё и внутренние переменные класса, помеченные на сериализацию. Вот тебе пример на три элемента и один Int64. https://gist.github.com/anonymous/cef8b4d9268a5e309825e0a8416de7f8Сейчас, смотря на реализацию List<T> и его сериализацию, я больше задаюсь вопросом каких хуев непомеченных он напихал в List<T>, что у него ебанутые размеры выходили.
Аноны, подскажите пожалуйста, есть ли в юнити функция, вызывающаяся при старте процесса/появлении сплешскрина/начале загрузки первой сцены, то есть максимально близкая к старту приложения?
>>422608Даже без List<> этот пакет после сериализации весит 1296 байт. Что чот жырненько.Чтобы не смущать, переменные намазал писосом.public NetDataFast netFastSendMessages = new NetDataFast();[System.Serializable] public class NetDataFast { public float pisos1; public float pisos1; public bool pisos1; public Vector3 pisos1; public Vector3 pisos1; public Vector3 pisos1; public bool pisos1; public bool pisos1; public int pisos1; public int pisos1; public bool pisos1; public bool pisos1; public bool pisos1; public bool pisos1; public bool pisos1; public bool pisos1; public bool pisos1; public bool pisos1; public bool pisos1; public bool pisos1; public bool pisos1; public bool pisos1; public bool pisos1; public bool pisos1; public bool pisos1; public bool pisos1; public bool pisos1; public float pisos1; public float pisos1; public float pisos1; public float pisos1; public float pisos1; public float pisos1; public float pisos1; public float pisos1; public string pisos1; public bool pisos1; public bool pisos1; }
>>422614Awake у самого первого компонента в первом объекте в стартовой сцене
>>422608>и сериализирует всё, что необходимо для восстановления объектаУх ты ж блять, он записывает типы перменных и их именя, а еще 4 байта как число элементов в списке. Вот сука прожорливая! Ну нахуй, лучше свой велосипед напишу.
>>422569Нет, на текстуре можно настраивать wrapping, а на спрайте нет.
>>422617Типы данных записываются как строка полностью с полным namespace'ом, и именна переменных тоже записываются. Отсюда у тебя размер.
>>422648Ох ты ж ешкин кот.Щито же делать?Руками конвертить свой тип в byte[] и отсылать?Что рекомендуют ведущие собаководы страны?
>>422617https://gist.github.com/anonymous/3622850b22182f6053b343fb2170f9f4Vector3 нельзя сериализовать. Ты можешь его преобразовать в свой вектор, а затем его записать. И да, второй вариант сработал, но тебе придется знать структуру элементов массива и ты можешь запросто её проебать. Добро пожаловать в протоколы
>>422648А, если у тебя для сети, то очевидно нужно использовать другую сериализацию.В контексте юнити и высокой производительности, тебе нужно использовать строго BinaryReader/Writer.Если любишь пердолится с библиотеками, то можешь посмотреть, например, flat buffers. Это просто сгенерирует для тебя классы, в которых внутри используются опять-же BinaryReader/WriterНо я не вижу смысла, проще самому
>>422654Кстати этот челик прав. Я уже и забыл о существовании BinaryWriter/Reader. Это будет гораздно эффективней сериализации в плане объема.
>>422652Хороший мой, для этого и нужен SurrogateSelectorты просто описываешь отдельно Суррогат для Vector3, а потом нашему BinaryFormatter его скармливаешь.SurrogateSelector ss = new SurrogateSelector();AddSurrogates(ref ss);formatter.SurrogateSelector = ss;И сериализатор и десериализатор мгновенно понимает все что тебе хочется.>>422654Для сети. Пердолится с внешкой нелюбит, буду пердолится с тем что ты сказал. Спасибо тебе, няша, твоя мать - уважаемая женщина, а отец - настоящий мужчина.
>>422662>>422663Алсо, в юнити же есть свои NetworkWriter и NetworkReader
>>422670Я до них не дошёл ещё. Челик спрашивал про сериализацию, я пояснил. Хотя челик языка толком не знает. А ещё можно въебать System.Net; и сделать минет по UDP
>>422526>А я пока задам свой вопрос. Кто-нибудь знает пример реализации 2D-изометрии в Unity? В частности интересуют коллизии и рейкастинг.На гитхабе всякие рпг-движки были
>>422675На гитхаб и я могу говна дать, а есть best-practices?
>>422650Сериализуй в json строку только те поля, которые тебе нужны, и отправляй её.
>>422761Byte на символ, а ты хорош (нет)
https://docs.unity3d.com/2017.1/Documentation/Manual/class-WheelCollider.html>The Wheel Collider computes friction separately from the rest of physics engine, using a slip-based friction model. This allows for more realistic behaviour but also causes Wheel Colliders to ignore standard Physic Material settings.Я правильно понял, что на колеса не влияет материал того, по чему они едут, и мне придется в скрипте колеса модифицировать?
Нужно сделать пульки, я как нуб вижу два варианта - кинематическое Rigidbody двигать через transform в Update, либо обычное через AddForse(Impulse) запускать с отключенным трением и гравитацией. Какой вариант правомочнее для сетевой игры(меньше сожрет ресурсов, плавнее, интерполяция там)? Либо что-то третье а я олень?Рейкаст не годится.И побочный вопрос, как лучше настроить сетевые приблуды - Network transform и прочее, чтобы не было скачков при полах тел, движениях и прочем? Я так понял, что чем больше Snap Treshhold и чем больше Send Rate, тем плавнее.
>>422941>я как нуб>для сетевой игры
>>422535бампусик вопросику
>>423060ой, ебан, я dynamic float не поставил
>>422941Отвечаю(сам себе), кинематику плавно двигать гораздо легче, если с твердотельной физикой приходится колдовать, кинематика плавно движется на нормальных настройках нетворк трансформа(простым транслейтом). Подозреваю, что и нагрузка без просчета физики гораздо скромнее.Вопрос про твердые тела остается в силе( в смысле, как сделать, чтобы они плавнее летали, кроме snap treshhold++ и send rate++).И еще вопрос про реализацию хелсбаров - как правильнее, вынести их на Screen Space Canvas, или крутить-вертеть в World-Space, обращая к камере? Сколько ни смотрел туториалов, все далают прямоугольник в ворлд спейсе и крутят его каждый фрейм. Это правильно?
>>422941Не юзать NetworkTransform
>>423191>вынести их на Screen Space CanvasОхуеешь с масштабированием и пережиманиями хэлсбаров, если будешь делать на канвасе
Скиньте NodeCanvas из ассет-стора, пожалуйста. Мамка денег не дает.
>>423201NetworkTransform на всем подряд - это вообще дурная практика? Как я понимаю, альтернативный вариант синхронизироваться через SyncVar?
>>423284А ты сначала расскажи, чем оно лучше чем раскрученные Playmaker и Behaviour Designer с видеотуторами и огромным комьюнити.
Сап ГД.Расскажи мне сказку. Как дед насрал в коляску.Запилил сравнительно рабочий LLAPI сетевой код. Раз в 0.05 секунд я формирую пачку пакетов в Queue, и исполняю SendQueuedMessages, в итоге каждому клиенту отсылаю пакеты с действиями других клиентов: 10 клиентам я отсылаю по 10 (с данными каждого клиента) пакетов. Итого, 100 пакетов.И тут начинается говно, являющееся следствием моей говнорукости: если канал Unreliable\Relible и т.д. тогда все это при клиентах больше 1, просто пиздейки тормозит.Если я посылаю через StateUpdate канал, то "кто первый тот и папа", и у первого клиента ни 1 лага, зато остальные клиенты просто не получают ни пакета.Расскажи мне, ГД, как реализовать отсылку сервером постоянно обновляющихся данных клиентам? Как делают большие мальчики?
>>423328Основы гугли, gaffer on games, source multiplayer networking - лучшие статьи, коротко и ёмко дают базовые знания.
>>423328А клиенты кто? Веб-браузеры что ли? Если я правильно понимаю, LLAPI в Юнити предназначен для общения по HTTP. С твоей частотой пакетов надо забивать хуй на HTTP и ебашить двоичный потоковый протокол обмена данными через UDP.
>>4233011) Тем что Playmaker для совсем маленьких сделан и не нужен для тех кто готов кодить2) Тем что NodeCanvas официально поддерживает больше других полезных ассетов которые лично мне интересны3) Тем что NodeCanvas может использоваться как альтернатива и Behaviour Designer и Dialoge System for Unity, последний я попробовал скачал на торрентах, канваса там нет к сожалению и мне он не понравился как раз тем что он пытается за тебя сделать слишком много. Нод же выглядит не как инструмент "для чайников" который обещает золотые горы и готовые решения, а просто как полезный инструмент для визуализации и систематизации.
>>423344Клиенты как и сервер - приложение.Кидаюсь голыми byte[] через набирание кучи пакетов через NetworkTransport.QueueForSendingа потом пачкой инициирую отсылкуNetworkTransport.SendQueuedMessagesС одним клиентом все красиво - глаз не отодрать. Уже с двумя - анал карнавал.
>>423343Загуглил, читаю, но интересует мнение сообщества, как впринципе реализуется подобное.Я думал о 2х путях:1. Держим параметры всех заинтересованных персонажей в одном массиве, отсылаем его. Но в таком случае в один пакет все не влезет, т.к. переменная выйдет довольно большая по размеру, будет фрагментироваться, а на клиенте пересобираться, что неоч для частой пересылки данных.2. Бомбардировать мелкими пакетами, что вызвало у меня описанную выше реакцию.Вот я в тупик в встал, как ленивое хуйло и изобретаю интернет тут с вами.
>>423328Смотри че в профайлере, скорее всего ты слишком часто делаешь new byte[] и потом это говно собирается коллектором, вот и тормозит
>>423348У тебя архитектура какая, с этого начни? Клиент-сервер или птп?Чем тебя стандартный подход не устраивает, который все поголовно используют? Или надеешься придумать что-то лучше, чем придумали профессионалы, много лет решавшие эти вопросы в боевых условиях высоконагруженных серверов?
>>423364ФПС за 100. Тормозов в виде тормозов нет. Только "Лаги".
>>423365Клиент-Сервер. не понял что имеется в виду под стандартным подходом. HLAPI? Он тупо неудобный. Или что?
>>423366Ок, в чем именно лаг проявляется? Может быть такое что пакет2 доходит раньше чем пакет1 и у тебя эта хуйня никак не чекается
>>423346ну и зачем он тебе нужен?
>>423370Для диалогов и поведения же.
>>423368Я тебе названия статей дал, прочитай их, блеать.Там все твои проблемы описаны и описаны стандартные и проверенные пути их решения. Что тебе ещё надо?
>>423347Может просто наговнокодил чего-то не того.Ты учитываешь, что SendQueuedMessages ничего сразу не посылает на самом деле? Почитай документацию ещё раз.
Аноны, теоретический вопрос (пик релейтед)У меня есть 3д-персонаж с rigid body. К нему приделана капсула для коллизий. Есть анимция, где персонаж присел.Вопрос, как уменьшить высоту коллайдера до высоты персонажа в приседе, чтобы он мог прятаться под столом?
>>423448Про это у Юнити был отдельный ролик, вроде.
>>423461Можешь ткнуть меня носом? В каком-то 2д туториале они рекомендовали делать коллайдеры на ноги и голову, но это была старая версия, ресурсы уже недоступны.
Парни, какие вприанты решений есть для юнити мультиплеера, требуется большое количество игроков - синхронизация редко и малый объем обсчета сервера, и защита трафика. С меня нефть и ассеты
>>423448> как уменьшить высоту коллайдера до высоты персонажа в приседе, чтобы он мог прятаться под столом?Ёпту, просто в момент приседания уменьшай размер коллайдера по Y.
>>423554В свойствах коллайдера? Он ведь свзяан с моделью, а не с анимацией, как понимаюи не меняется динамически.
>>423577коллайдер - компонент, не тупи
>>423584Благодарю, буду разбираться. Держи няшу.
>>423595А её стрела пробьет рельсу вдоль?
>>423600Это же тред юнити. Зависит от того, что наскриптит.
Нид хелп. Почему в игровом режиме качество резко ухудшается? Никак не могу связать это изменение со своими действия - эта хуйня "сама случилась".
>>423604Ползунок "scale", увеличение
>>423604Scale?
>>423605>>423606Причем тут скейл если качество режется?
>>423609Потому что скейл это не приближение, а тупо часть экрана, с соответствующим разрешением, насколько я понимаю.
>>423613Похоже я даун, и у меня она работает как приближение.
>>423609Притом. Это тупо юнитевская залупа, работает также, как если бы ты скриншот увеличил. Короче хуй знает для чего она нужно, программисты тупо бабки отрабатывали видимо.
>>423609>>423604Извиняюсь, я и вправду даун. Чем больше размер камеры - тем хуевее качество.
>>423595Напомнило игру про кота
Подскажите куда копать.Необходимо реализовать получение урона в определенной области (2д). При нахождении объекта в определенном слое вызывается метод ResiveDamage(). Всё работает как надо, только метод вызывается очень быстро (снимает всё хп за секунду). Нужно реализовать задержку перед вызовом метода?
>>423764Нужно реализовать задержку перед вызовом метода. Как это можно сделать?быстрофикс
>>423764Оно в фиксед апдейте вызывается? Тогда просто выставь соответствующий множитель, чтоб вычиталось сколько надо. Либо заведи переменную-таймер, если хочешь, чтоб здоровье уменьшалось не плавно, а раз в секунду или типа того. И каждый раз к ней прибавляй соответствуюзий дельтатайм.
>>423764корутина
>>423774>>423778Спасибо.
>>423808Используй лучше корутин. Я когда начинал боялся его как что-то сложное, оказалось это очень крутая штука с интересной механикой работы. Мне корутины прямо моральное удовлетворение доставляют.
>>423813Я с этим ебался 3 часа. Гуглил, читал, пробовал корутин, выходило не так как нужно (метод продолжал вызываться работать даже после того как объект покидал область). Пробовал waitforseconds. Читал документацию по time и нихуя не понимал.В итоге >>423774 подтолкнул на верное решение: две переменные, одно выражение, одно условие и инкремент. Охуенное тебе спасибо, добрый человек.
>>423764>вызывается метод ResiveDamage()
>>423831Поясни что смешного.
>>423842Типа, знаток аглицкого увидел ошибку. Resive вместо receive. Плюнь на него.
>>423376>облемы описаны и описаны стандартные и проверенные пути их решенияNIET это не так.>>423369Лаг в том, что пакеты просто не доходят до клиентов. За минуту умудряются долететь 1-2 пакета. В то время как первый клиент получает все. Предполагаю, что это из-за типа канала (StateUpdate), но при обычных Reliable "отклик" очень долгий.>>423378Блин, ну конечно наговнокодил, это же очевидно. Но вот где и в чем - пытаюсь понять.Учитываю, но судя по симптомам, это не важно.
>>423376>>423948А надо то же что раньше:Вот это >>423348
>>423948>Блин, ну конечно наговнокодил, это же очевидно. Но вот где и в чем - пытаюсь понять.Ты используешь зачем-то SendQueuedMessages(). Используй NetworkTransport.Send()/SendMulticast().Юнити все сообщения и так буферизует какое-то время, а потом отправляет пачкой.
>>423950>Ты используешь зачем-то SendQueuedMessages(). >Используй NetworkTransport.Send()/SendMulticast().Фактически это одно и то же, если не ошибаюсь, просто при выставленном SendDelay=0, я могу контролить когда именно я отправляю пачку пакетов. Так даже в доках сказанно. Тем не менее, пробовал и обычный Send() - те же яйцы.Любопытный факт, на клиенте проверяю MessageQueueSize (NetworkTransport.GetIncomingMessageQueueSize) и с удивлением узнаю, что с какого то перепугу, очередь растет, несмотря на то, что я делаю Recieve().
>>423951это не одно и то же. SendQueuedMessages работает просто как flush. Смысла кириллу контроллировать когда точно отправлять данные я не вижу. Ты только все усложняешь.>>423951>Тем не менее, пробовал и обычный Send() - те же яйцы.Ну тут нет экстрасенсов, чтобы определить что ты там наговнокодил. Может ты на самом деле только думаешь, что делаешь receive()
>>423952>это не одно и то же. SendQueuedMessages работает просто как flush. Смысла кириллу контроллировать когда точно отправлять данные я не вижуЯ скорее всего ошибаюсь, но это вроде бы не так. Ты набираешь очередь сообщений (иногда это нужно, например отдельное сообщение по действиям каждого клиента), а потом ее пулишь. Когда происходит batchSend оно кидается в лицо клиенту. Но, возможно у меня мозг сгнил, не исключаю.>Ну тут нет экстрасенсов, чтобы определить что ты там наговнокодилВсе норм, просто когда считывание происходит с такой же частотой что отсылка, оно может не успевать. Просто чаще стал читать.
>>423954>>423952Магия оказалась вот в чем: раз руками отсылаем пакеты, нужно руками же их и получать. Recieve() срабатывает на 1 пакет, как оказалось, а не на всю очередь. Поэтому просто нужно проверять очередь пакетов, и пока там еще есть что-то, нужно их шабить Recieve() себе в рот до тех пор, пока там не будет пусто.Спасибо всем, я рад что тут проявилась полтора адекватных анона.
Посмотрел вот видео по LLAPI, вроде хорошее :https://youtu.be/qGkkaNkq8coЧто, HLAPI вроде как безнадежен, или как(я нуб, для меня многие очевидные для вас истины в диковинку)? Если безнадежен, то подскажите хороших материалов, как самому все с нуля строить, видео хороших. Выше guffer on games и source multiplayer networking уже взял на заметку.
>>424500Ебашу мобильный мультиплеер на HLAPI, полет нормальный
Ананас, выручай, когда-то покопался в якорях и более-менее смог сделать че надо, но сейчас снова не могу совладать с ними.1) Какие якоря я должен задать верхней и нижней картинке чтобы они на всех разрешениях занимали всю ширину, а верхняя - примерно 3/4 высоты. 2) Потестил на "растягиваться и по ширине и по высоте", не помогает, но вопрос такой - какого хуя ресайз вообще происходит на этом якоре когда разрешение переходит из 16:9 в 1600х900, ведь 1600х900 это тоже 16:9 ?
>>424889>1) Какие якоря я должен задать верхней и нижней картинке чтобы они на всех разрешениях занимали всю ширину, а верхняя - примерно 3/4 высоты. Если не хочешь вручную подгонять то тебе layout нужен, КМКДобавь фиктивную панель снизуЗадай preffered_хуйня пропорционально 300 и 400 (или 3000 и 4000)min_хуйня добавь при необходимости>>424889>не помогает, но вопрос такой - какого хуя ресайз вообще происходит на этом якоре когда разрешение переходит из 16:9 в 1600х900, ведь 1600х900 это тоже 16:9 ?Там пересчет идет при изменения разрешения, КМК. В том числе с 160х90 на 1600х900
>>424982Вместо хуйня - height напишиРаботать будет так - сначала все элементы получат min height, потом, если осталось свободное место на панели то это место будет делится между элементами пропорционально preffered_height. В вертикал лайаутвсе 4 галки поставь. На старахых версиях юнити этот механиз м не работает
Изучаю, как пишутся шейдеры, и никак не пойму применение inline-функций.Пример из оф.документации: https://docs.unity3d.com/ru/530/Manual/SL-SurfaceShaderLightingExamples.htmlОписывается функция:inline fixed4 LightingStandard_SingleLightmapИ потом - хоп - и она нигде не вызывается. И так со всеми inline-функциями. Как они работают? Кому они возвращают значение? Помогите!
Например, есть скрипт , в результате действия которого происходит спавн objecta после клика мыши (object спавнится на месте клика). Что стоит добавить в код, чтобы object спавнился не сразу ( в момент клика ) , а после 2 секунд с этого момента, при условии , что нажатие кнопки (Touch) продолжается в течении этих же секунд? Спасибо за возможные ответы.
>>426037yield return new WaitForSeconds
>>426037Было://код создания объектаСтало:StartCoroutine(foo());IEnumerator foo(){ yield return new WaitForSeconds(2); //код создания объекта}
>>426039>>426062>что нажатие кнопки (Touch) продолжается в течении этих же секунд? Ну что же вы советчикиЗасекаешь время в момент нажатия. В евенте отжатия проверяешь прошло ли две секунды, если да - спавнишь объект.
>>426178Да не дочитали сообщение до конца.
Там визуальную студию маки на маки хех завезли официально. Клево или нет?
>>426223Мак для геев же.
>>426224Для пидоров. Попрошу не путать.
>>424500Сначала сделал все на HLAPI - работает, не тормозит.Попробовал LLAPI, был дефлорирован граблями, откатился на HLAPI.
Хочу сделать визуальную новеллу на юнити (перемещения по локам, анимации спрайтов персонажей, интерфейсы магазина, инвентаря и пара других). Сам движок вижу в первый раз (до этого в рпг мейкере ковырялся). Сколько времени у меня займёт изучение юнити для моей внки, если уделять движку по 8ч в день? Никакими навыками программирования не обладаю.PS: Почти весь графен уже нарисовал. Ренпай брать не хочу.
>>426773> Сколько времени у меня займёт изучение юнити для моей внки, если уделять движку по 8ч в день?А сколько времени уйдёт у моей бабули для изучения комплюхтерна? Даю подсказку: бабули бывают разные и способности к обучению у них тоже разные.Начни изучать движок и сам поймёшь насколько хорошо оно у тебя идёт.
Как сделать полупрозрачный спрайт в 2D. Допустим у меня есть спрайт облаков, но он белого цвета, а мне надо что бы было немного видно текстуру за ним.
>>426793
>>426795Спасибо.
Пишу вот такое, запускаю на единственной машине как хост, вылетает фатальный енот "Command function called on a server". То есть, мне нужно иметь отдельный анрегистер для хоста, который и isLocalplayer, и isServer одновременно? Почему-то другая команда, вызываемая из своего класса, а не из чужого, работает без ошибок. Где я туплю?if (isLocalPlayer) { gameManager.CmdUnregisterPlayer(networkId);}...[Command]public void CmdUnregisterPlayer(string playerId) {...}
>>426827[Command] нельзя на сервере. Для него есть [ClientRpc].
Посоветуйте ассет для диалогов, чтобы с эвентами и прочей квестовой начинкойРассматривал эти1. https://www.assetstore.unity3d.com/en/#!/content/69932 (15$ есть лайт)2. https://www.assetstore.unity3d.com/en/#!/content/11672 (65$ есть демка-лайт)3. https://www.assetstore.unity3d.com/en/#!/content/9723 (45$)
>>426849Пиши сам, будь мужиком!
>>426850принципиально НИХАЧУ сам писатьмне игру надо делать, а не велосипедить
>>426851Тогда вываливай 65 баксов за второй вариант, он самый нормальный и гибкий.
Псоны, а если мы с друзяшками скинемся на ассет, кто-то один купит и другим просто архивом скинет — юнька это как-то отследить может? Не хотет каких-то проблем.
>>426853Нет, всем похуй
>>426854Отлично, благодарю.
>>425997да всё просто аннон - inline это такие функции код которых будет вставлен компилятором по месту вызова самой функции.
Антуаны, подскажите, что делать с таким багом. В редакторе при анимации меш работает нормально, а в билде коряво, будто ему веса переставили. Причем такой баг только на двух мешах был. На одном удалось вылечить выставлением 4 костей вместо авто.
>>426862У меня такое было когда веса автоматом проставлял.
>>426862Зависит от настройки качества, то есть когда выбираешь в лаунчере good/beautiful и т.д. Edit -> Project Settings -> Quality, создаешь свой пресет качества с 4 костями.
>>426863>>426900Спасибо, помогло.
>>426858Так они нигде потом не вызываются. Поэтому я и не могу понять.
Мудрый анон, подскажи, что делать с поиском пути. A* для 2d написать можно, но мне нужно для 3d, и заморачиваться лень. Что взять готовое? Есть RAINAI, но он толстоват, хотелось бы просто поиск пути, идеально один скрипт.
>>427094В юнити есть навмеш
>>427121https://github.com/Unity-Technologies/NavMeshComponents
>>427094у юнити есть свой хороший навмеш который теперь заебись и навигацию он делает очень хорошо. RAIN так себе. ещё aStar есть, он хорош, если дашь им денег. ещё есть https://www.assetstore.unity3d.com/en/#!/content/85181 я написал, но он сыроват. А вообще навигацию в 3д одним скриптом пожалуй не сделать.
>>427389сажа прилипла
Всем здравия, друзья. Есть три объекта. Первый объект стоит себе, выполняет выкрик "ХУИТА" и кидает говном в сторону _объект, сам объект он определяет по тегу "Хуита".Два других объектов имеют этот самый тег, по которому первый их и находит. Вопрос: Как сделать так, чтобы _объект становился ближайшим объектом с тегом "Хуита"? С двумя объектами то не проблема определять, какой из них ближе, но что делать, если их сотня, тысяча?
>>427405А сам этот объект, который стоит и говно плюётся, он один или их тоже до жопы?
>>427405Добавь их в отдельный коллижнлейер и делай цирклкаст до первого попавшегося.
Я вот посидел и сам придумал, как это сделать. Нормальная ли это идея?Создаём переменную _объект и массив _объекты[].Заполняем массив объектами с тэгом хуита.Проверяем, присвоено ли _объект значение.Если нет, создаём новую переменную (назовём Выбор), дав ей охуенно огромное значение.Создаём цикл, (i = 0; i = _объекты.Lenght; i++)Проверяем, что ближе к исполнителю скрипта. _объекты или Выбор.Если ближе _объекты, то расстояние сохраняется в Выбор, а _объект получает значение _объекты.
>>427406Тоже много.
>>427409Хуйню написал. i=0; i < _объекты.Lenght; i++ну и в цикле участвуют _объекты[ i ], из-за разметки не записалось.
>>427409Не еби вола, кидай рэйкасты и выбирай ближайший объект как цель. Не сгорит твоя пекарня от такого количества рэйкастов, не волнуйся.
>>427412Я просто только начал разбираться во всём этом. До этого вообще с кодингом не сталкивался. Вообще идея выглядит более годной хотя бы от того, что не надо постоянно перезапускать цикл (хуита же меняет свою дистанцию). Но я не совсем понимаю, как реализовать это. Все-равно же придётся постоянно запускать цикл, чтобы определять, какой объект ближе, если их конечное количество неизвестно? В таком случае, моя идея выглядит более оптимизированной, т.к. расстояние так и так просчитывается каждый раз, но в моём случае не нужны лучи. Или я в чем-то ошибаюсь?
>>427414У тебя костылинг с ненужным "охуенно огромным значением", который уже противоречит одному из правил кодинга, а именно — "никаких магических чисел".А рейкасты будут работать как часики.
>>427415Согласен, но я уже придумал, как пофиксить: Просто к переменной _объект присваиваем сразу значение _объекты [0], а дальше также проверяем, что ближе _объекты{i} или _объект. Я просто, как мне кажется, не понимаю реализацию того, что ты предлагаешь. Ну и что из этого систему меньше нагружает? Просто, как я понял, в твоём предложении всё тоже самое, только сначала создаются лучи, а потом также циклом проверяется, какой объект ближе. Конечное число хуиты неизвестно.
>>427409Ты изобрёл поиск перебором.
>>427416Не хочешь с рэйкастами — делай так (и скрин, на случай если форматирование поедет):GameObject[] objects;public GameObject closestObject;float dist;float minDist;Vector3 currentPos;void Start () {objects = GameObject.FindGameObjectsWithTag ("Object");}void Update () {GetClosestEnemy (objects);}void GetClosestEnemy (GameObject[] objs) {closestObject = null;minDist = Mathf.Infinity;currentPos = transform.position;foreach (GameObject obj in objs){dist = Vector3.Distance(obj.transform.position, currentPos);if (dist < minDist){closestObject = obj;minDist = dist;}}}
>>427419Скрин отвалился.
>>427416Забыл упомянуть: этот вот >>427419 способ вычисляет ближайший объект в пространстве вообще, то есть он не проверяет нет ли между вами стен и т.д. То есть условный игрок может стоять прям под носом, но за стеной возле моба с этим скриптом и моб будет кидать говном в стену, при этом в пределах видимости моба может стоять другой игрок, только чуть подальше, и мобу на него будет похуй.Так что если хочешь чтоб мобы выбирал именно из видимых объектов, то тут уже надо делать на рэйкастах.
>>427409Слишком долго будет, если у тебя куча объектов. Для такой хуйни лучше юзать физику и OverlapShpere
>>427422Блин, коряво объяснил.Короче, вот наглядно.
>>401747 (OP)Че то не понял нихуя. В этой вашей юнити 2017 не работает способ анимирования, когда ты например перетаскиваешь дочерний (именно дочерний, например кость в иерархии скелета) объект и его новая позиция становится кейфреймом. Теперь когда выделяешь этот объект то в окошке анимации все сбрасывается и появляется кнопка для создания нового клипа. Как теперь анимировать то?
>>427448Вроде починилось. Ебаные индусы, я уж молчу про разнообразные ошибки в консоли через каждые пять секунд, которых в прошлых версиях не было.
>>427450Это какие ошибки? У меня один раз была такая фигня — по ошибке удалил напрямую из папки скрипт, стукнул себя по голове, восстановил из корзины и у меня началась забавная хуйня. Скрипт в консоли жаловался что не видит префаб (хотя в инспекторе он был присоединён), но тем не менее запросто его спавнил. Удалил всё к хуям (благо проект был тестовый), сделал всё заново буква в букву — ошибки исчезли.Не удаляйте ничё напрямую из папки, посоны, только через юньку.
>>427451В последней 2017 версии каких только нет. Уже как открываешь юнити сразу вылезает ошибка. Сейчас не могу выбрать стейты с переходами в аниматоре (все удалил и сделал по новой), все переменные проебались, хотя я ничего не делал. До этого анимация тупо не проигрывалась, хотя я ничего нового вообще не делал, стандартные операции чтоб анимировать перса, которые проворачивал тыщу раз. Пиздец.
Мне кажется или я идиот?
>>427460Есть немного.
>>427461кейкод нельзя запихать в свитч
>>427462Ну а к чему самая верхняя проверка? "Если нажали что-нибудь, то давайте посмотрим что именно нажали". Можно же ограничить проверку только теми клавишами, которые нужны.
>>427463В смысле? Нужны ведь все клавишы. Меня просто смущает количество операций. Если сделать кучу активных клавиш, скрипт будет несколько раз в секунду проверять по сотне кнопок.
>>427464> В смысле?В прямом. Если ты удалишь проверку с anyKeyDown, то не изменится вообще нихера.
>>427465Зачем делать сотню проверок каждый тик, если можно обойтись одной?
>>427466Какую сотню? У тебя там 11 проверок, так хотя бы 10 будет.
>>427467Ну пока что 10, потом будет 100
>>427468Тебе в любом случае не нужна проверка на anyKeyDown, если потом проверяешь что именно нажали.anyKeyDown нужен для обработки нажатия вообще любой клавиши, когда тебе поебать что юзер нажал, лишь бы нажал.
Мне явно следовало за два бонусных дня в АРЕНУ СМЕРТИ добавить микротранзакции и paywall после второго уровня чисто для превращения игры в своеобразный арт-объект. Но не судьба.
>>427469>Короче я прав
>>427471Ладно, уговорил. Конкретно для твоего случая (клавиши от 0 до 9) можно сделать так https://codeshare.io/Gbryxj
>>427481Или так, если скобки не любишь https://codeshare.io/ayJAj9
>>427484А чё, так можно было? Ладно, ты крут, спс.
Как грамотно организовывать порядок инстанциации объектов? Скажем, чтобы плеер не появился раньше своего хада? Я придумал только сделать хад дочерним объектом плеера. Других вариантов нет?
>>427550Можешь заняться костылингом и саммонить первое в апдейте, второе в лэйтапдейте.
>>427550через велосипед, например, можно создавать игрока через худ, в Awake()
>>427550Ебашь корутину, раз такой параноик. Хуячишь в корутине хад, ждёшь один кадр и хуячишь плеер.А вообще и без корутины проблем быть не должно.
Кирилланы, есть у кого-нибудь опыт ГОАП?Есть экшн движения без прекондишнов, результатом которого является нахождение в определённых координатах и несколько действий, требующих нахождения в определённой точке. Всё работает неплохо, но я никак не могу придумать хорошей реализации выполнения действий на ходу.Например, есть экшн занятия укрытия TAKECOVER, требующий нахождения в точке в укрытии, что может быть осуществлено MOVETO. Но как сделать так чтобы на бегу павн стрелял во врага?Варианты:- Отдельное действие стрельбы на ходу. Самый простой вариант, но требует создания отдельного экшена для каждого возможного действия на ходу, делает понимание АИ более запутанным: у нас действие нацеленное на две различных цели.- Завершать действие сразу после начала движения, а не при достижении точки назначения. Из минусов: головная боль при дебагге, куча костылей с учитыванием текущего движения при репланинге, с прерыванием движения проще сразу идти нахуй.- Оставить ГОАП только общее тактическое планирование, запихнув в каждое действие behavior tree или даже HTN для решения реактивных вопросов. Из минусов: переусложнённые экшены, куча копипаста кода, я заебусь и забью на полпути.Комментарии, идеи?
>>427635Мы тут массивы сортируем, а ты с такими вопросами.
>>427635>Кирилланы, есть у кого-нибудь опыт ГОАП?да, у меня есть.>Например, есть экшн занятия укрытия TAKECOVER, требующий нахождения в точке в укрытии, что может быть осуществлено MOVETO. Но как сделать так чтобы на бегу павн стрелял во врага?на самом деле лучше не дроби действия так сильно. Наличие точки пути можно проверять внутри прекондишена действия.что касается твоего вопроса. заведи в действии флаг того прерывает ли это действие навигацию. режим поиска пути долже диктоваться ИИ его стейтом, а не действиями. иначе ты в каждом сраном действии будешь искать то-же самое укрытие за ближайшим деревом. если например ИИ требуется подойти поднять предмет или переключить рычаг, то он берет поводья контролера в свои руки и сам идет куда надо, а пока ИИ не надо куда-то идти он просто все время находится в режиме уклонения, или патрулирования или ещё чего из его глобального стейта.смотри например https://www.youtube.com/watch?v=M3x9l-wWNJU
>>427655>>427635вообще что-то не проснулся я ещё. >Наличие точки пути можно проверять внутри прекондишена действия.я имею в виду что само действие проверяет возможность его применения, то есть TakeCover сам смотрит является ли оно валидным и есть ли у него точка пути. если действие валидное то оно добавляется в пулл вариантов действий.на скриншоте кстати появнение забыл. ИИ имеет винтовку в инвентаре, но она пустая, ещё одна пустая лежит в мире и обойма к ней. надо чтобы он взял винтовку из инвентаря в руки, нашел обойму и выстрелил в сферу.ещё кстати смотри какая хуйня клевая. https://www.youtube.com/watch?v=ztFALZZTP_U долго думал как сделать
>>427655>>427657>TakeCover сам смотрит является ли оно валиднымНо в этом же и суть. Планер возьмёт самую приоритетную цель - спрятаться в укрытии, которое может быть реализовано действием занятия укрытия, для которого ему надо в эту точку прийти. Процедурно можно проверять наличие доступных ковров как таковых.Если я правильно понял твой вариант, АИ будет прятаться в ковре только, когда он уже находиться в нужной точке.За видео спасибо, позже гляну.
>>427666нене само действие делает все эти проверки и ищет лучшее укрытие на этапе проверки его валидности. просто в его исполнении ебани два ифа в его имплементации. если мы слишком далеко от лучшей точки для укрытия то идем в эту точку, если мы рядом то сидим в укрытии. садится в укрытие уже контролер потому что действие переключило в глобальном менеджере ИИ нужный флаг говорящий о том что ИИ в укрытии и с какой оно стороны.но вообще поиск укрытия это абстрактная задача, что-то такое глобальное как поиск укрытий не должно решатся ГОАП. планирование отдельно, навигация отдельно, контролер отдельно. просто планирование думает, а контролер и навигация подстраиваются под планирование и действия друг друга.
>>427550Еще думаю ноеплохо инстанциировать хад из префаба, и ссылка на него сразу же будет.>>427550-параноик
>>427673>если мы слишком далеко от лучшей точки для укрытия то идем в эту точкуТеперь понял, это примерно как мой второй вариант. Меня в этом варианте смущает сложность контроля за перемещением, ведь после начала движения уже никакое действие не контролирует процесс, прерывания и достижение результата это опосредовано делается в прекондишене занятия ковраИ придётся пердолиться с другими действиями, которые могут инициализировать движение: надо будет где то хранить приоритет действия задавшего движение или что то в это роде.>что-то такое глобальное как поиск укрытий не должно решатся ГОАПСамо собой поиском валидных укрытий занимается отдельный сенсор, действие просто берёт ближайшее и запихивает его координаты себе в прекондишны.
ПЕРЕКАТhttps://2ch.hk/gd/res/427717.htmlhttps://2ch.hk/gd/res/427717.html
>>402201>>4204982145124512
Аноны! Хальп! Помогите ньюфагу, как мне в ебучем MonoDevelope изменить адрес онлайн запроса на unity api с >https://unity3d.com/ru/support/documentationна>https://docs.unity3d.comили может кто подскажет безрукому дебилу где править ебучие редиректы в хроме, заебался уже через жопу по документации лазить! Что сделать что бы этот мудак перестал уводить меня на русскоязычный портал!
отсутствуют некоторые пункты меню. поясните в чем причина