24 декабря Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!
>>489744 шапки для быдла оффициальность убивает живое общение. /gd/ для живого общения, а не для накопления и передачи знаний. есть вопросы - задавай их в треде!
ух. как же я заебался. уже долгое время переписываю рэйкастинг на навмеше в что-то более адекватное. чтобы вот фанси-шманси, чтобы проверялись только те еджи которые должны проверятся и столько сколько нужно. чтобы потом с его помощью нагородить хуйни в другом месте. и каждый день я находил как его поломать и как его починить. и ломал и чинил и ломал и чинил. и так пару недель. кажется, больше не ломается. я собой доволен.
>>490087 в тайлмапы то хуем потыкаешься и можно понять как работают. у юнити много другой отсутствующей интересной документации.
хотя на мой вкус лучше ебануть свой собственный редактор и иметь собственное представление о тайлах, которые ты потом суешь юнити.
>>490441 надеюсь скоро. перед новым годом у меня пиздец со здоровьем приключился, пришлось какое-то время вместо того чтобы код писать заниматся здоровьем. а потом пришлось начать запиливать фичу для навмеша которую у меня давно просили - локал авойденс. он мне и самому нужен был. сделал рабочий прототип, но потом залип на том как же мне связать его с навмешем. и с тех пор уже больше чем месяц страдаю с этой проблемой, вместо того чтобы делать игры. как доделаю локал авойденс то кстати планирую с одним мудаком запилить вдвоем что-нибудь клевое. у нас с ним давно крутится идея сделать что-нибудь с социальным ИИ. типа симулятора злого властелина где надо командовать миньонами из своей башни через диалоги, а потом смотреть с неё как они делают нихуя и звать стражу чтобы пошли и рабов палками побили.
>>490513 даже не знаю с чего начать. то как навмеш работает я пожалуй рассказывать не буду, но могу. конкретно рэйкастер работает примерно так: пользуясь немного нахуеверченным алгоритмом Брезенхэма который бы возвращал все квадраты которые пересекает float линия сначала растеризуются все эджи навмеша. когда делается луч то сначала находится нужная конвексная область откуда он пускается, потом чанк за чанком сначала делается отрезок находящийся внутри чанка, потом этот отрезок растеризуется тем-же алгоритмом, потом квадрат за квадратом проверяется каждый эдж на пути растеризации. если у эджа то откуда равно текущей области то проверяется пересекает ли луч этот эдж. если да то текущей областью становится область на другой стороне. и так пока либо эта хуйня достигнет лимитов по дистанции, либо пока эдж вместо области на другой стороне не будет содержать хуй, что значит что луч куда-то воткнулся. думаю картинка скажет о процессе достаточно. красными линиями грид, красными точками через что от грида проходит луч, синим какие эджи относятся к этой ячейке грида, зеленым путь конвексных областей, сине-зеленым то где случился переход в эту область.
до меня по какой-то нелепой причине довольно долго доходило что если все линии описаны по часовой (или против), то если взять скалярное произведение -Y, X вектора этой линии и луча то можно узнать с какой стороны эта линия находится относительно луча и рэйкастить только дальние линии, а не писать хуиту чтобы отличать дальние линии от ближних. числа по краям эджа показывают это.
Что можете сказать по поводу nested prefabs? Лично я считаю что хуйня без задач, которая превратит проект в анал-карнавал из ебли с зависимостями, когда изменение в одном префабе тихо изменит половину проекта.
>>490649 С клетками действительно всё гораздо проще делается. Задолбался делать переход из комнаты в комнату через двери для перемещения по навмешу. Зато получился инстурмент, который ещё пригодится
Взял точки на сфере, растолкал их итеративно, через каждую провел плоскость с нормалью "центр сферы - точка", посчитал пересечение плоскостей каждой с каждой, посчитал ближайшие пересечения, построил многоугольники, триангулировал. Выдохнул, налил, выпил. Закусил.
Пупсики, перкатился на 2017.3.1f1 и чёт не понял. Вроде же обещали выпилить JS а вроде бы он всё ещё работает. Его ещё не выпилили окончательно? С какой версии выпилят?
>>490649 поиск пути на клетках то и я максимум за час ебану! а тут пришлось городить хуйни, возвращатся к старому коду, переписывать, смотреть в потолок. боль.
хотя месяц то я со всей проблемой целиком вожусь. с рэйкастингом может дней 7-10. суть то в том что надо быстро-быстро найти ближайшую точку к целевой в тени от границ навмеша. чтобы вектор движения был в стороне от препятствий. решений много и все плохие. нагородил много интересных вещей. получил пару интересных инструментов в процессе, починил мелкие баги.
Кто знает что за херня с Tile Palette происходит? Клеточки пустые, но если начать рисовать на сцене, то они рисуются спокойно, хотя на палитре не отображаются.
>>490729 Ну и ещё такой момент - юнити ебали мне мозг, отключили мои ассеты в ассетсторе, мотивируя тем, что поддержка JS скоро будет прекращена. Я думал, что это как бы уже коснулось самого юнити, но, похоже что в 2017.3.1f1 JS ещё работает и в property release-ах я ничего не нашёл на эту тему.
Мне тоже помогает перезапуск, однако этот баг происходит почти после каждого изменения кода или не только кода. Ну и вообще неприятно так часто перезапускать.
Так ебана, продолжаю мучить канвасрендерер Допустим, мне нужно сначала нарисовать что-то с помощью канвасрендерера, а потом проверить, находится ли нарисованное за пределами какой-либо области и спрятать это. Маску сделать, то бишь. Стандартная маска вроде как не работает. Есть очевидное велосипедное решение - проверять, находится ли рисунок за пределами области и отъедать у вертексов и увишек рисунка столько, сколько ушло за пределы области. Должен же быть юнитовский способ попроще, нет?
Too many layers used to exclude objects from lighting. In deferred only up to 4 layers can be used simultaneously, scene would need 5.
Ты чё блять юнити, ты чё блять сука?! Это мне нельзя иметь источник, который освещает только 1 слой если у меня больше 1.5 слоев в сцене? Деинсталирую нахуй эту парашу.
>>490791 а в чем проблема то? и у юнити и у меня навмеш вполне можно создавать в процессе игры. даже думаю написать немного кода чтобы навмеш быстро-быстро строился с инпутом в виде грида.
>>490801 >Ты ебаный шизик. Я уже перестал это отрицать >Маска делается stencil'ом в шейдере. Звучит сложно, но ок. Шейдер же меняет цвета по какой-то схеме, разве мой очевидный велосипед не то же самое делает?
>>490804 Там на самом деле очень просто. В одном шейдере пишешь что записать в стенсил, а в другом пишешь "если в стенсиле значение такое-то, то не рисовать". Ну и нужно учитывать еще порядок отрисовки (render queue) это делается там одной строчкой в заголовке. читай доки.
Правилен ли данный скрипт с точки зрения профессионала? using UnityEngine; using System.Collections; using UnityEngine.UI; namespace Nashet.UnityUIUtils { [RequireComponent(typeof(Button))] public class HotKey : MonoBehaviour { [SerializeField] private KeyCode key; // Use this for initialization private Button button; void Start() { button = GetComponent<Button>(); } // Update is called once per frame void Update() { if (Input.GetKeyUp(key) && button.interactable) button.onClick.Invoke(); } } }
>>491053 >Но вот текст тултипов у меня меняется, некоторые вручную при обновлении окна, некоторые - каждый фрейм. Отлавливай момент изменения, хуле. У меня который канвасрендерер ебал с этим делом проще, есть отдельные классы статов, которые обрабатывают указанные значения, и все значения для тултипов/кнопок/диалогов происходят из этих статов, т.е. статы это эдакая прокладка. Я там аж запилил неповторяющиеся рандомные листы при задаче массива значения, чтобы иконки для юнитов не повторялись.
>>491268 неймспейсы нужны только если ты делаешь библиотеку, которую будут использовать другие пользователи. писать в своем коде неймспейсы это идиотия уровня объявления приватных переменных.
(строка X,35): error CS1612: Cannot modify a value type return value of `UnityEngine.Transform.position'. Consider storing the value in a temporary variable (строка X,44): error CS0266: Cannot implicitly convert type `double' to `float'. An explicit conversion exists (are you missing a cast?)
Я догадываюсь, что нужно где-то тут добавить new Vector3 но не понимаю шо куда, я только учусь.
>>491348 Нельзя обращаться к полям структуры напрямую transform.position.x = ... Или пили новый вектор transform.position = new Vector3(...) Или следуй совету Consider storing the value in a temporary variable Vector3 temp = transform.position; temp.x = ...; transform.position = temp;
>>491417 > 2к18 > не уметь запечь нормали > не уметь скачать сабстенс и намазать красивую текстуру за 20 минут > продолжать лепить всратое пиксельное говно Ты же необучаемый даун, застрявший в 2003. Впрочем, тут весь раздел такой.
>>491728 зря ты так говоришь. я говно чувствую издалека и обхожу его за километр. поэтому я еще не играл ни в одну т.н. "инди" (по-русски говоря хуевую) игру
>>491780 >поэтому я еще не играл ни в одну т.н. "инди" (по-русски говоря хуевую) игру вот этого удваиваю, индипетух не человек. причем, своё индиговно высирать нормально и даже почетно, но жрать чужое говно уже не оче
Сконвертил всё своё JS на C# юнитивским конвертером. На удивление ничего не сломалось, все вкрипты автоматически заменились на объектах и т.д. Но что это за странная конструкция "this" ? Встречается охулион раз, например: this.StartCoroutine this.FadeAudio this.fadeTime и т.д. И ещё вот такое не встречал раньше: public virtual void Update()
>>491780 Не устаю поражаться экспертам, которые за других решают, во что весело играть, а что говно. Страшно представить, что у тебя там в топ 10 висит. fun_is_a_buzzword.jpg
>>491847 Всем перекатываться незачем, но графон выполняет свою задачу, тем не менее.
Почему в этом итт тренде принято ненавидеть JS ? Он же прощает ошибки, писать намного проще и интуитивнее, написанное намного компактнее. Т.е. он очень хорошо подходит для швабодных художников, которые вкатываются в инди-эксперименты без знаний программирования.
На сегодняшний день проанализированы все проекты, которые сделаны на Unity 5.6 (актуальная версия на момент анализа статистики).
- 14,6% (от общего количества) проектов которые имеют по крайней мере один файл с расширением .js.
14,6% звучат весьма внушительно, но затем мы проанализировали статистику более тщательно:
- 85,4% (от общего количества) проектов которые полностью на C# скриптах, без JS.
- 9,5% (от общего количества) проектов которые "сделаны в основном на C#" - т.е. у них есть некоторые файлы JS, но менее 10% от общего количества скриптов.
- 1,5% (от общего количества) проектов содержат от 10% до 20% кода в JS.
- 3,6% (от общего количества) проектов содержат более 20% кода в JS.
- 0,8% (от общего количества) проектов сделаны исключительно (т.е. на 100%) на JS.
Попытался сделать волны через _Time и охуел. В Бнити эта встроенная переменная в шейдере абсолютно, нахуй, бесполезна, потому что она теряет точность через минуту и анимация превращается в пиздец. Бнити блять, просто пиздец.
>>492231 Лол, в менеджед части там нет НИХУЯ. Собственноручно делал декомпил ilspy`ем и перекомпил с изменениями чтобы сделать тестовую среду без графики. Весь движок в нейтив части. Но пиар ход неплохой, дауны схавают.
>>492235 А что тебе нужно? Просто документации по скриптам редактора, например, нет и не будет. Единственный способ сделать какой-то нестандартный редактор с разными фичами - это дизассемблировать код и смотреть как сделаны дефолтные в юнити редакторы. С исходниками и комментариями это будет проще.
Допустим у меня игра поделена к экраны. Как это лучше всего сделать. Самый простой вариант: сразу загрузить всю карту и просто двигать камеру. Тогда возникает вопрос, как выключать неактивные объекты. Например, нет смысла обновлять все 1000 врагов на всех экранах сразу. Второй вариант, это удалять и создавать только несколько экранов вокруг игрока. Это гемморойный способ.
>>492270 >Да, это простое решение. Но оно не гибкое. Например, может понадобиться ситуация, когда объекты могут перемещаться между экранами. Тогда пиши свое.
Хелп. Надо в юньку воткнуть гифку, кучу гифок. И критична поддержка в вебгл. Просматривая гугл пришел к выводу, что юнити живет в 3018 и о гифе не слышала. Как блядь это сделать?
>>492477 чего спиздил? мне дали около 20 готовых гифок от художников, теперь их втыкать надо, а тут вот сюрприз - могу только хуй себе за щеку воткнуть.
>>492505 Юнити недавно выложили C# исходники движка для референса, и кто-то пофиксил старый баг, понижающий производительность, который сами юнити-разрабы не хотели/не знали как пофиксить. Он сделал пул-реквест, но по юридическим причинам они их не принимают. Один из разрабов там потусовался в комментах и пообещал передать специально обученным людям, что этот баг оказывается можно исправить. Ну и в конечном итоге его исправили.
>>492260 лол у тебя же 2д говно. найди границы экрана и проверяй для каждой группы объектов находятся ли его границы в ганицах экрана. 4 числа сравнить между собой то уж компьютор сможет быстро.
>>492535 лол они их давным давно выложили, просто новое докинули.
Думал слаать веб запросы через корутины , но короч наловился хуев в рот, то джейсон ломает, то пустое сообщение, вроде изьебнулся вчера, но сегодян не рабоает. Оставлю пока с трудпулом и локами. Поясните за джоб систем, хуй знает что это такое, но вроде круто.
Ебусь с канвасрендерером, хотя на самом деле не очень-то Быстрый вопрос: как называется шейдер из базового набора юнити, который используется для картинок? Для текста есть GUI/Text Shader, а для этой хуйни что? Просто как-то не комильфо, когда всё чёрное, лул.
Посоны, вот есть у меня трёхмерный мудила, который ходит по локации. На мудиле висит скрипт с контроллером движения. Ну там чтоб ходил, крутился, анимировался, вся хуйня. Есть камера, которая летает за мудилой, позволяет вокруг него крутиться, облетает препятствия чтоб в текстурки не улететь и так далее. Этот скрипт висит на камере. Само собой, в скрипт камеры передаётся трансформ самого мудилы, чтоб камера могла за ним следить. И вот стало мне нужно в скрипт перемещения мудилы передать камеру для кое-каких вычислений. Итого получается у меня оба скрипта друг с другом постоянно обмениваются данными. Правильно ли будет всё это объединить в один скрипт? Один хуй он пересекаются. Или же мухи отдельно, котлеты отдельно? Как тру-папки делают в такой ситуации?
>>492583 ты же понимаешь что все это зависит от множества нюансов и мы их не знаем? сделай так, сделай сяк. пять минут код копипастить. лучше давай рассказывай что там камера думает, может ты хуйню камере даешь.
>>492590 > лучше давай рассказывай что там камера думает Летает за персонажем, крутится вокруг него если мышкой вертишь, немного прижимается к нему если между персонажем и камерой какое-то препятствие (чтоб в текстуре не утонуть), как только препятствие исчезло - возвращается на прежнее расстояние. Это то, что в скрипте камеры. А нахуя мне её передавать в скрипт персонажа - потому что хочу чтоб в зависимости от поворота камеры персонаж тоже поворачивался. То есть, условно, я зажимаю W, персонаж идёт прямо, и я дальше только мышкой поворачиваю и сам персонаж тоже поворачивает. И чтоб его повернуть куда надо - нужно знать позицию камеры.
вообще в аниматоре довольно много мест которые вот черная коробка. помню пытался расковырять бленд три, но хуй там был. проще было на коленке сделать что-то что к юнити отношения не имеет. собственно юнити дает множество инструментов для бленда анимаций, так что всегда можешь свой велосипед сделать.
>>492691 Да мне вообще и надо было чтоб параметр в блэндтри менял значение через Mathf.Lerp Оно-то в одну строчку делается, но мне надо в трэшхолды передавать значения из полей класса. Чтоб было откуда и докуда разгоняться. Но походу придётся просто в трэшхолдах поставить флажки в 0 и 1, а разгонять через лерп значений из полей. Уже постестил, вполне работает. Не совсем красиво, но что поделать.
>>492696 > а в чем именно разница-то? Ну смотри. Вот у меня есть точки в трэшхолде 0 и 1. И чтоб их лерпить - мне надо именно прописывать "0" и "1". То есть магические числа получаются. А так я бы лерпил от "treshold (0)" до "treshold (1)". Ну ты понел.
>>492705 Само собой. Но мне же нужно знать границы, чтоб не залерпить больше верхнего трэшхолда. Например, в дереве трэшхолды просчитаны автоматом и стоят, к примеру, 0.157 и 5.678 И как мне их получить? То-то и оно.
>>492710 > Ставишь в дереве трешхолды [0,1] Ну блин, ну читай же ты внимательнее. >>492699 > То есть магические числа получаются А я хочу в трэшхолды прописывать значения прямо из своего класса.
>>492719 Братишка, это всё понятно. Но мне надо или устанавливать трэшхолды, или же их получать. Я не хочу каждой анимации ручками прописывать её трэшхолды и соответствующие лерпы, понимаешь?
>>492731 тебе так или иначе пришлось бы указывать соответствующие границы в блендспейсах. но, как выяснилось, прямое изменение границ через код невозможно, а значит придется выкручиваться своими силами. так что я бы на твоем месте просто установил все блендспейсы в 0..1, а потом использовал сточки выше для передачи своего значения.
я так понял у тебя ситуация потипу "есть анимка с стою-бегу, но игрок может купить апгрейды на максимальную скорость бега". ну вот такие задачи решаются примерно моим методом.
а еще я не понял зачем тебе нужен лерп — с ним же еще больше ебаться чем с математической пропорцией.
>>492737 > я так понял у тебя ситуация потипу "есть анимка с стою-бегу, но игрок может купить апгрейды на максимальную скорость бега" Примерно так, да. > а еще я не понял зачем тебе нужен лерп Чтоб не сразу по нажатию шифта ОХ ЕБАТЬ МАМ СМОТРИ Я БЕГУ БЕЗ РУК, а как бы с разгоном. >>492744 Можно, конечно, и ручками, я просто интересуюсь можно ли прямо через код трэшхолдами рулить. Но похоже что нельзя.
>>492868 Я именно про "вкатывание" в юнити. Все туториалы, которые по 2д видел, уже подразумевают какой-то багаж знаний, не смог найти те самые "с нуля".
>>492870 Рекомендую тебе те туториалы, которые надо не смотреть, а читать. Ютуб, конечно хорошо, но не ютубом единым, как говорится... Если от тебя ускользает смысл туториала, который смотришь/читаешь - переходи к изучению основ.
>>492870 Даже любопытно, на чем ты решил забить на 2D. Вроде на одну ось меньше, сиди квадратики вместо кубов двигай, необязательно уметь в 3D мышление в плане дизайна локаций.
>>492936 Бля, да дело в том, что туторы на 2д, наверное, подразумевают, что я с 3д и вообще юнити уже работал, поэтому многое, для совсем начинающих, не объясняют.
>>493025 > мы хотели всё запихнуть в одну сцену, но в юньке так нельзя, так что пришлось костылить > мы накостылили и разбили город на три сцены, но надо чтоб объекты из одной сцены обращались к объектам из другой сцены, а в юньке так нельзя, поэтому мы ещё накостылили > мы всё накостылили, но нам нужен стриминг, а в юнити его нет, так что мы ещё накостылили > а ещё мы написали свою компонентную систем, свой менеджер и свой сериализатор, и мы не используем апдейт и вообще не используем монобехэвиор
Что они там говорили про выбор движка когда только начинали проект? Что-от про удобство, да.
Узнал, что Unity входит в Fair Play Alliance, оказывается, ололо. То есть они могут забанить твой юнити-аккаунт, если ты назвал кого-то ниггером в дискорде. Да, профессиональный аккаунт за тыщи баксов тоже могут забанить.
>>493079 4 квадратных километра (а в видео говорится именно о такой площади) в уече развернётся без проблем. Здоровенный, типа скайрима, уже хуй. Ты видео посмотри, они там нахуевертили такого, что у них проект 8 минут запускается. Выбрали юньку, после чего переделали её чуть ли не полностью. Ещё вопрос что было бы быстрее - написать свой движок или пилить напильником юньку.
>>493084 >написать свой движок Лол, ты же понимаешь что движок пишут годами, вот тот же Xenko open source проект пилят 4 года и никак допилить не могут. Короче говоря у тебя нет таких квалифицированых трудовых и денежных ресурсов, чтобы запилить что то более менее внятное.
>>493062 > с движком они явно проебались > проект 8 минут запускается > поделие уровня мора > 8 минут Движок тут нипричем, просто у них программисты - какие-то дауны. Впрочем, это понятно, если у них тянки программируют.
>>493094 >если у них тянки программируют Из за левацкой идеологии сами же пострадают, продвигать людей на должность не по професиональному признаку а по тому чтобы было социально равенство, но как мы знаем равенства не бывает, и бизнес будет расплачиватся убытками а спецы будут уходить в другие компании где нету левацкой идеологии.
>>493037 > Что они там говорили про выбор движка когда только начинали проект? Что-от про удобство, да. Эх, насколько же ты еще юн, неопытен и глуп. Если они доделали проект - значит, движок был более, чем удобен. А твое описание техпроцесса соответствует разработке чуть менее, чем всех програмных продуктов. В реальности все именно так и происходит. У всех.
>>493037 >всё запихнуть в одну сцену >накостылили Собственно, похуй на этих тянок. Обесните ньюфагу в геймдевелопинге, как сделать открытый мир, чтобы значит, огромная территория с горами и лесами отобразалась как distantland, низкополигонально? Я для себя набросал такой алгоритм: Есть одна сцена с глобальным террейном, она не содержит в себе скриптов, загружается быстро, в оперативке висит как влитой, синглтон. По мере приближения по карте, вокруг игрока загружаются интерактивные области (чанки? локации?) по мере удаления выгружаются. В этих интерактивных областях террейн уточняется, добавляются камни, трава, пропсы, акторы, скрипты добавляющие интерактив. Интерьерные локации (ещё более нагруженные контентом по формуле: 1 интерьерная = 4-6 экстерьерным) не загружаются автоматически. Они загружаются через хитрый механизм подгрузки, спрятанный в анимацию открытия дверей, если точнее, ты подходишь к двери, она закрыта, т начинаешь вскрывать замок, игра забирает контроль над камерой, запускает анимацию открытия или миниигру взлома и включает подгрузку локации. Затем, когда интерьер загружен, проигрывается анимация входа в локацию, при этом, если ты отойдешь на определенное расстояние от двери, она автоматически закрывается и сборщик мусора выгружает экстерьеры за дверью. Если у интерьера есть окна, там на стекла наложен эффект размытия отображающий дистантлэнд. Правильно ли я считаю?
>>493120 Пусть сначала сами добьются. Первую игру делали из говна и палок на собственном движке и как-то получилось. А теперь и движок готовый и издатель не давит и бабла на кикстартере собрали больше чем хотели, а воз и ныне там. >>493121 > Какая из них Эммм. Перезапуск Мора, не?
> мы хотели всё запихнуть в одну сцену, но в юньке так нельзя, так что пришлось костылить
> но надо чтоб объекты из одной сцены обращались к объектам из другой сцены, а в юньке так нельзя,
У меня программист решил это так (на Юнити офк) - запихнул несколько сцен в отключаемые перфабы а их - в одну сцену, это 2Д. Скажите, это совсем пиздецовое решение или нормально? Какие подводные камни? Мы пока эксперементируем с таким решением, поэтому пока не поздно переделать.
>>493127 Ну у них проблема была в том, что город слишком большой для одной сцены. Дохуя объектов (мебель там, травон, пыль на рояле, мандавошки), большая площадь, все дела. У вас в 2Д вряд ли такие же объёмы.
>>493129 >>493123 Слился. Вот когда ты придешь с пруфами, что ты в бизнесе как минимум вполовину срока IPL, и выпустил хотя бы половину игр - тогда тебя буду слушать.
А пока обоссал тупую свинораху, голосовавшую за путенга.
Впрочем, мы все 8-ом прекрасно понимаем, что ты сдохнешь один в своей коммуналке даже на порог GDC не ступив.
Что думаете насчёт этого движка https://xenko.com/features/? Может он быть альтернативой юнити? Исходники открыты и написаны на C#. Можно использовать последнею версию шарпа для написания кода игры. Есть вложенные префабы, которые юнитеки до сих пор не могут запилить.
>>493134 > все 8-ом Всем восьмым классом? Понятно, ну, смотреть в рот с восхищением любому ебанату на сцене в этом возрасте - это норма. Вырастешь еще.
>>493139 >В смысле, "всё он будет грузиться 20 минут и вылетит на десктоп"? Схуяле? Ты проверял? Там есть внутренние механизмы оптимизации? oculus culling тот же, и использование функций OnBecameInvisible и OnBecameVisible.
>>493149 Охуенно! Любую часть открытого мира можно легко и непринужденно подгружать двумя строчками кода при наведении на её местоположение камерой и так же легко выгружать. Приходите к нам в годотред. У нас есть печеньки. Бросьте эту вредную привычку ебаться с префабами в префабах.
>>493160 Допустим, у тебя есть префабы домиков. Внутри них ты используешь сундучки. Вдруг ты захотел изменить сундучок. Тебе придётся лезть в каждый их домиков и обновлять сундучок. А если бы сундучок был префабом, то тебе нужно было бы обновить всего 1 префаб.
>>493153 >годот, слишком сырой Это было актуально год назад. Сейчас там всё охуенно! Ну ладно, многое охуенно, не всё. Римейк Мора можно написать в годо за пару ночей.
>>493167 > Вдруг ты захотел изменить сундучок. Тебе придётся лезть в каждый их домиков и обновлять сундучок Зачем, если можно открыть префаб домика и изменить в нём сундук?
>>493174 Бесплатно тебе что-то показывать? Годотобоги пишут три-четыре игры за то время, что я потрачу чтоб тебе что-то показать. Настолько там всё пиздато.
>>493181 > У тебя несколько домиков Типа несколько разных префабов домика, в которых используется одинаковый сундук? Ну да, тогда имеет смысл. Правда я думал что можно разместить префаб внутри префаба и так. Можно же из Resources просто подтянуть что надо.
У меня ещё такой пример - нпч в перфабе, а у него вместо руки дрель вертится, например. Отдельная анимация для пнч и дрели, поэтому дрель (или разные её варианты) тоже в перфабе. Так вот и получается - перфаб в перфабе.
>>493188 В годоте то? Без единой строчки кода? Они нормальную совместимость со своим же плагином для блендера не могут добиться уже 2 года. То нормали проебутся, то распидорасит все. Про анимации я вообще молчу.
>>493164 Конечно же ноль, я архитектуру одного и того же проекта мусолю. Чтобы было ОПТИМИЗИРОВАНО. На самом деле я просто вспомнил про свою любимую ферму-дрочильню и понеслось.
>>493164 > сколько раз нажали New Project за этот месяц? Два. Один доделал, второй удалил через пол часа, передумал лепить никому ненужную хуйню. Хотя и первый никому не нужен, потому что клон однокнопочной хуйни, которой уже не один десяток лет, просто интересно было повторить
>>493221 Так это же азы dead zone в по-экранной 2Д хуйне, анон. Гуглиться на раз-два, тот же полупидар выебистый Brackey делал видосы на тему. Ну или можешь Cinemachine2D использовать, у них там тутор есть.
>>493133 Но ведь не обязательно их всех сразу подгружать же. Тем более не обязательно дом, мебель и людей в нём обязательно пихать в одну сцену. Надо тебе чтобы какой то объект из непрогруженной сцены общался с прогруженными - прогрузи только его. Зачем тебе грузить всю площадь, чтобы находящийся на ней торговец чебуреками мог кричать рекламные лозунги в соседнюю локацию?
>>493232 >какой то объект из непрогруженной сцены общался с прогруженными - прогрузи только его. Да и даже этого не нужно, модель объекта повесь scriptable object или аналог и при активации объекта просто реализуй интерфейс загрузки текущего состояния.
>When a GameObject is rotated, the blue arrow representing the Z axis of the GameObject also changes direction. Не понимаю, на какую систему координат смотреть нужно. У GameObject и Transorm разные системы координат или как?
>>493312 ну так локальная система вращается. То есть, вот ты резетишь transform объекта и он алайгниться с глобальной системой. И его Z совпадает с Z глобальной, значит движение вперед по Z будет совпадать. Ты его повернешь по Y и Z повернется и движение вперед по Z будет отличаться от Z глобальной.
>>493315 То есть, в Position хранится положение начала локальной системы отсчёта относительно более глобальной системы, а в Rotation – просто вращение локальной?
>>493336 Не, обычными слайдерами я и так пользуясь. А хочется выбирать диапазон значений, а не одно конкретное. Ну хуй с ним, допишу valueMin и valueMax, потом может найду костыль.
>>493405 > Юнити тред > вопрос по работе редактора Юнити > "Ой, иди нахуй, дебич, мы за тебя игру писать не будем". Я же тут исходники под Марио не прошу прислать, лол.
>>489738 (OP) Всем привет. не понимаю как решить следующую задачу: необходимо, чтобы нажатие клавиш на клавиатуре было последовательным, т.е., к примеру, я нажимаю клавишу A - затем я должен нажать на D. И так каждый раз при нажатии A или D исполняется код. Но если я собьюсь с последовательности и два раза нажму на D или A - исполняется другой код. Момент нажатия клавиши отслеживается функцией Input.GetKeyDown(KeyCode.D).
>>493528 Queue<KeyCode> nazhatieKnopki, при каждом нажатии пушишь клавишу в очередь (заодно проверяешь нажатую перед ним клавишу) и запускаешь какую-нибудь корутину которая удаляет клавиши через секунду чтоб твое комбо надо было нащелкивать быстро а не просто так нажимать.
>>493528 Заводишь список List<KeyCode> pressedKeys = new List<KeyCode>(); При нажатии делаешь pressedKeys.Add(keyCode); CheckSequence();
CheckSequence проверяет весь список pressedKeys целиком каждый раз и сравнивает - не совпало ли с AD, DDA? Совпало? Очищаем pressedKeys, запускаем спелл или что там и тебя. Не совпало и в списке больше 3 кнопок? Очищаем.
Вообще условие очистки и проверки списка зависит от твоей реализации, что будет если я нажму AAD? Сработает ли AD?
>>493553 Ага, блять, заебись. Ригидбоди равны оказались. Тогда почему > parent_rb = GetComponentInParent<Rigidbody> (); возвращает мне ригидбоди с самого себя?
>>493533 >>493534 >>493535 всем спасибо. весь вечер мучался со списками, никак не получалось нормально сравнивать элементы. в итоге пришло в голову записывать в строку и искать ненужную мне комбинацию там. работает. доволен как слон. https://pastebin.com/Q7sK84uy
Скажите пожалуйста блядь, можно ли в юнити-хуюнити двигать модели хоткеями, как в блендере? Заебало это гизмо управление дебильное для инвалидов блядь.
>>493600 > Ну типа как скрипты работают, если я сделаю их у нескольких объектов, Ну если ты один и тот же скрипт вращения по часовой навесишь на 3 куба, у тебя просто будут вращаться 3 куба.
> как из одного скрипта обратится к переменным другого и тд. public CustomComponent yoba; Либо мышкой в поле перетаскиваешь конкретный, либо изъебываешься всякими FindObjectOfType<CustomComponent>(). Либо статичные поля.
Пацанва, как рисовать такой график? Думаю рисовать массивом вертикальных Line Renderer (хотя можно и img использовать), 300 пикслей в ширину, значит 300 линий, а? Ну это если один тикер, а если несколько, не дохуя ли будет? Если 10 тикеров на 1500 пикслей в ширину, итого 15к обжектов на сцену уже. Может есть другие инструменты?
Как во время воспроизведения игры залезать внутрь скриптов и смотреть на переменные? Можно ли это вообще делать? Или нужные переменные Дебаг.Логом просто выводить в консоль?
>>493659 >>493667 Чет не хочет эта кувалда отталкивать моего перса. Просто черпает землю под ногами, персонаж подпрыгивает и приземляется на том же месте. На палке и персонаже стоит rigidbody с отключенной ротацией по всем осям и заморожена позиция по Z, соединены фикседДжойнтом. Если включаю верчение по Z, то перса и палку начинает дико пидарасить во все стороны. Видимо это происходит, из-за того, что управление реализовано через Camera.main.ScreenToWorldPoint (Input.mousePosition). Беда еще в том, что не могу найти ничего похожего на туториал по созданию игры с таким управлением.
>>493654 >Ну, если ты таргетишь Core i7 восьмиядерные то можно и черeз setpixel, да Так стоп, выходит сетпиксель больше ресурсов съест чем пачка геймобжектов?
>>493726 Когда ты вызываешь SetPixel у тебя происходит маршалинг данных передача из управляемого кода в неуправляемый. Маршалинг довольно тяжёлая операция, поэтому если ты хочешь замутить софтварный рендеринг, то лучше использовать SetPixels.
Но еще будет лучше, если ты эти графики будешь рендерить на GPU.
>>493734 сорян но факторио делали такие байтоёбы что выжимать это из шарпа не кажется целесообразным. это больше вопрос как глубоко ты хочешь познать глубины безумия, чем вопрос про юнити. а так то хули, вон Cities: Skylines симулирует же пиздилион всего. есть и более казуальные примеры типа fortresscraft evolved который является клоном менкрафта и факторио.
Как, не залезая в скрипт, поменять кнопку W на одну из кнопок мышки? Я смотрел в project-settings-input, нашел там про vertical axis, но дальше (пикрил)
>>493765 > Смичной ты Чего тут смищного? У тебя же явно прототип, тебе хватит простого перемещения/вращения, проверку на коллайдер и isGround Хули там писать?
>>493779 если начальная скорость (x1, y1), а нормаль (перпендикуляр) к поверхности, от которой отражение, (x2, y2), то скорость после отражения можно посчитать по формуле (х1 - kх3, y1 - ky3), где k=2(x1x2 + y1y2)/(x1^2 + y2^2) , вывод расписывать лень. Можно и по-другому считать, наверное, но эта формула рабочая
>>493778 Если начальное положение (x0, y0), начальная скорость (X, Y), а ускорение g направлено по оси y, то формула соответствующей траектории (параболы) будет y = y0 + Yt + gt^2/2, x = x0 + Xt, дальше упрощай сам. (ты вообще еще тут или решил встроенную физику прикручивать?)
>>493815 Тогда у начальной скорости минус должен быть. Как бы то ни было, квадратный член работает на компенсацию линейного, если речь о параболической траектории.
Пример: 1. Ссышь в потолок 2. Или метишь в писсуар
Направление вектора ускорения то же, вектор скорости на залупе направлен поразному
>>493826 Ну так я хз как он стреляет. Может вверх, может вниз. Когда метишь в писсуар, струя тоже по параболе идет, а что "перегиб" параболы не входит в траекторию - ну так мало ли.
>>493897 Лучше всего на массивах сделать. Делаешь статический массив типа "ссылка_на_игру". Затем в главной сцене / главном меню вызываешь игру по индексу: Игра(1).Запуск;
>>493778 крч нам нужна переменная vector2 для импульса, vector2 для положения указателя и массив vector2 для точек.
ставим указатель в изначальное положение (в дуло мортиры), импульс ставим такой чтобы совпадал с направлением и силой выстрела.
цикл i=0..1488(введите свое значение длины симуляции), в цикле: { записываем в массив точек текущее положение указателя. рейкаст2д из указателя с длиной вектора импульса. если рейкаст таки попал во что-то, тут крч нужно взять узнать угол удара к поверхности и отразить от поверхности. юнети подогнали вам vector2.Reflect для такого, подробные объяснения тут stackoverflow.com/questions/41129573/unity-how-to-use-vector2-reflect переносим указатель в новую позицию по вектору импульса. умножаем вектор импульса на 0.98(введите свое значение торможения) }
а, вот забыл, когда вектор бьётся о коллайдер его нужно обрезать по пройденому пути, и отражать уже оставшийся отрезок. пройденый путь можно узнать в out переменной physics2d.raycast
>>493785 треднечитай @ сразуотвечай >принимая во внимание массу объекта нинужна от слова нинужна, если конечно тебе не всралось прописывать продолжительные отрезки времени трения и это тебе не нужно >его velocity даладно.png >силу гравитации ну нихуя себе. прибавляем (0, 0.1f) к вектору2 каждый степ >пружинистость объекта умножаем на 0.7(вставьте свое значение потери скорости) при столкновении.
начал читать манул по мультиплееру https://docs.unity3d.com/Manual/UNetSetup.html и собрал игрушку по примеру: запускаю две игры на одном компе, в одной в NetworkManagerHUD выбираю LAN host, в другой - LAN client. И все, каждое окно игры управляет именно своим персонажем (кубом)
Но как я понял, как только персонаж "хост" закроет игру, то и вся игра накроется. Так как хост является что-то типа связывающего звена "клиентов"
Я правильно понял, что если я хочу создать многопользовательскую игру по инету, то в качестве хоста должен быть выделенный сервер/хостинг? По тому примеру, хостом является сам игрок. Но игроки ведь должны являться только клиентами, верно?
>>493938 В PUN сделали так, что логика обновляется на стороне клиента. Если хост-клиент выходит, то хостом становится другой клиент. А весь трафик пересылается через их сервера. https://www.photonengine.com/en/PUN
>>493778 Могу предложить такой хак: Когда нужно обновить траекторию, выставляешь таймскейл на дохуя, запускаешь свой снаряд, в корутине пишешь его координаты в массив. При уничтожении снаряда возвращаешь этот массив, интерполировать и рисуешь по ним лайнрендерером. Нахуй надо свою физику и юнитевскую комбинировать.
>>493778 Короче есть такой код https://pastebin.com/BkpDZ1Q1 , он возвращает массив векторов по которым должен лететь снаряд, каким способом лучше прорисовать линию по этим векторам? Должно получиться что-то типа этого
>>494162 чё сказать то хотел? не понимаешь что-ли что Vector2[] и Vector3[] это разная хуйня? сделай чтобы твое говно возвращало массив из Vector3, а не Vector2.
>>494165 тебе помогают. сделай в своем сраном Plot чтобы он возвращал Vector3[] а не Vector2[]. Один хуй векторы кастуются один в другой без вопросов. или ты бы предпочел в качестве помощи получить сначала пиздюлей, а потом чтобы тебе в ебало сунули сделанное за тебя?
Антон, такая проблема: есть у меня шейдер для спецэффектов, шейдер в материале, в материал в рантайме передаётся параметр. Что делать, если я хочу несколько таких объектов, каждый из которых будет получать своё значение параметра? Создавать для каждого новый материал?
>>494234 а) каждый раз новый массив создавать это по уебански б) можно не писать new Vector3(arr.x, arr.y, 0) так как у него есть implicit оператор для приведения его к Vector2 в) можно не ебатся с массивами и сувать в линию точки сразу через line.SetPosition
>>494260 Спасибо за код, позволяющий передать параметр материалу, никогда бы в доках не нашёл. Только это изменит значение параметра для всех рендереров, использующих этот материал, не так ли?
>>494251 >каждый раз новый массив создавать это по уебански
Но нахуя? обнуляем счетчик максимального количества и переписываем имеющиеся данные новыми. Вообще - переиспользование объектов - дает охуенный буст к производительности. Это еще во времена Java ME поволяло делать графин и относительно быстрый геймплей, при том что там жаба-машина была зачаточная и без оптимизаций.
Можно так же использовать прокси объекты, у которых одни сплошные методы и гетеры сеттеры, а из полей - один единственный сраный индекс массива, и все обращения к прокси объекту передаются объекту-коллекции, который уже сделан строго по DODу с полями каждое отдельной коллекцией.
Всем привет, написал небольшой код спауна обьектов на определенной области с помощью OnDrawGizmosSelected(), он работает относительно правильно, но проблема в том, что почти в каждом случае возникают ситуации, когда обьект выходит за рамки указанной области, и спаунится за ее пределами, подскажите пожалуйста почему такое происходит и как пофиксить, в гугле подобного верного решения не нашел. Вот код https://pastebin.com/FQdYrEZD
ух. осталось сделать хитрый класс который бы хранил минимальные и максимальные значения луча и их паттерны и эта занятная хуйня наконец заработает как надо.
>>494275 чего сказать то хотел? я такой написал: создавать новые обжекты плохо. и ты такой "создавать новые обжекты плохо!". вообще ебаторий с этим, индексами и прочим говном конечно весело, но производительность то в геймдеве не так и нужна.
>>494320 если не на мобилки делаешь то почитай про https://docs.unity3d.com/Manual/ComputeShaders.html туда будет проще всего наверно вкатится для твоих целей. ты говоришь гпу че делать, а оно делает. можно сунуть какую-то текстуру и производить манипуляции с ней.
>>494329 чисто так интересно. а что должно было по твоей задумке делать это? foreach (GameObject g in balls){ float distance = (currentBall.transform.position - g.transform.position).sqrMagnitude; if(distance<10f) currentBall.transform.Translate(pos); }
>>494330 >чисто так интересно. а что должно было по твоей задумке делать это? Проверять дистанцию до каждого обьекта на сцене, и в случае, если дистанция мала, то выполнять попытку случайно перемешения currentBall на другую позицию
>>494331 что за хуйню вообще это пытается делать? собственно что должно ограничивать выход шариков за пределы то?
//получаешь случайную точку в выбранных пределах Vector3 pos = center + new Vector3(Random.Range(-size.x/2,size.x/2),Random.Range(-size.y/2, size.y/2)); //находишь все шарики с нужным тегом List<GameObject> balls = new List<GameObject>(); balls.AddRange(GameObject.FindGameObjectsWithTag("RedBall")); balls.AddRange(GameObject.FindGameObjectsWithTag("BlueBall")); balls.AddRange(GameObject.FindGameObjectsWithTag("GreenBall")); //создаешь новый шарик в рандомной позиции (хуй зает зачем) currentBall = (GameObject)Instantiate(getTheBall(), pos, Quaternion.identity); //проходимся по всем шарикам foreach (GameObject g in balls){ //находим дистанцию до созданного шарика возведенную во вторую степень (нахуй квадратная магнитуда то?) float distance = (currentBall.transform.position - g.transform.position).sqrMagnitude; //если расстояние меньше чем 3.162278 юнита то мы перемещаем шарики в направлении мировых координат созданного шарика? что за хуйня? if(distance<10f) currentBall.transform.Translate(pos); }
>>494336 Ух сука как ты меня выбесил. Первое - этот скрипт не работает, тебе это что-то говорит блять? Это не пособие к действию, а призыв о помощи, а ты сука задаешь вопросы будто я выставил это как решение("ЧО ЗА ХУЙНЯ"), долбаеб. Это первое. Во вторых, про квадратную магнитуду я тебе скажу так, цитата из справочника юнити " Calculating the squared magnitude instead of using the magnitude property is much faster - the calculation is basically the same only without the slow Sqrt call. If you are using magnitudes simply to compare distances, then you can just as well compare squared magnitudes against the squares of distances since the comparison will give the same result." Врятли такой долбаеб как ты это переведет, так что воспользуйся этим https://translate.google.com, в третьих, я не перемещаю щарики(Во множ числе), я перемещаю ШАРИК, так как этот скрипт висит на пустом обьекте, которых на сцене ровно такое же кол-во, как и шариков, в четвертых иди нахуй
>>494337 >Первое - этот скрипт не работает, тебе это что-то говорит блять? о том что ты долбоеб мне это может говорить только. он работает - он делает то что написано. другое дело что это расходится с тем что ты хочешь от него получить. поэтому я объясняю тебе, мудаку, что он делает чтобы ты написал его так как это надо тебе
>Во вторых, про квадратную магнитуду я тебе скажу так, цитата из справочника юнити лол он говорит что квадратная магнитуда это блять квадратная магнитуда. ты понимаешь что это длина вектора без извлеченного квадратного корня? что формула длины вектора это квадратный корень из сумм значений вектора во второй степени? можно не извлекать квадратный корень. но тогда длину вектора с которой сравниваешь тоже надо возвести во вторую степень. если ты хочешь сравнить длину с десятью то надо сравнивать с 10 умножить на 10. ну ещё лол конечно можно сравнивать квадратную магнитуду с 1. потому что очевидно что 1 во второй степени это все равно 1.
>я перемещаю ШАРИК а лол ну да я не обратил внимание что там написано currentBall.transform.Translate(pos); тоесть лол ты че, перемещаешь шарик в направлении столько сколько у тебя шариков в сцене? что ты творишь лол
>>494340 >я объясняю тебе >нахуй квадратная магнитуда то? >что за хуйня? >что ты творишь лол Ты больной, отьебись, и еще раз перечитай статью в справочнике
>>494343 слушай, я написал сраный навмеш. предположу что аналитическую геометрию и в частности векторы-хуекторы я знаю лучше тебя. а у тебя какие-то нелепые проблемы с объяснением комптютору что же ты от него хочешь. хули. я тебе объяснил почему происходит то что происходит. а ты почему-то взорвался.
>>494344 лол ну а хули ты смотри что тут написано? foreach (GameObject g in balls){ if((currentBall.transform.position - g.transform.position).sqrMagnitude<10f) currentBall.transform.Translate(pos); } проверить расстояние шарика с коллекцией шариков, если этот шарик достаточно близко к текущему шарику то надо сдвинуть шарик в направлении его изначальной мировой позиции. ололо!
>>494347 Чел который лепит велосипеды выебывается на двачике, спешите видеть >в направлении его изначальной мировой позиции. ололо > Не знает что такое Random.Range
>>494348 >Чел который лепит велосипеды выебывается на двачике, спешите видеть ну а хули, клевый велосипед. ты посмотри, можно сидение задом наперед одеть, руль от камаза прикрутить, педали снять. вполне нормально достать свой хуй и постучать им после того как кто-то обвинил тебя в некомпетентности.
>Не знает что такое Random.Range а что рандом рейндж? ты почитай где он применяется. Vector3 pos = center + new Vector3(Random.Range(-size.x/2,size.x/2),Random.Range(-size.y/2, size.y/2)); в самом начале. хуяк и позиция плюс рандомный вектор в таких-то пределах. ну хули. а дальше мы такие хуяк и заспавнили шарик на этой позиции. currentBall = (GameObject)Instantiate(getTheBall(), pos, Quaternion.identity); а потом хуяк и такие в лупе перемещаем шарик в направлении этого вектора currentBall.transform.Translate(pos); или ты что, думаешь что каждый раз при обращении к этому вектору он становится рандомным?
>>494349 какие твои претензии? что картинки не рисую, схемы там?
>>494377 Самое смешное что такой навмеш пишется за пару часов с нуля. Алгоритмы, особенно уже написанные, это в принципе самая простейшая область программирования.
Это выводит строку в консоли. Раньше, при клике на эту строку открывалась ms vs 2017 на соответствующей строке кода. Теперь - ноль реакции. Как исправить? Unity 017.4.0f1
>>494387 > Раньше, при клике на эту строку открывалась ms vs 2017 на соответствующей строке кода. Теперь - ноль реакции. Как исправить? Вот эту хуйню поковыряй. Вроде оно.
>>494337 > аллоцирует массив > FindGameObjectsWithTag > foreach > выиграл 0,0001нс на оптимизации КВАДРАТНОГО КОРНЯ Не устаю проигрывать с оптимизаторов
>>494382 ха-ха. нет. вообще если тебе интересно то в этом проекте сейчас 25к строк кода. за пару часов хуй ты чего напишешь.
>>494387 юнити никогда это не пофиксит наверно. там много что может пойти не так. попробуй убрать все пробелы из пути до проекта и реимпортнуть его. ещё в правом верхнем углу консоли можно ткнуть на три линии со стрелочкой, проверь включен ли там стак трейс и прочее говно. у тебя же не макось надеюсь.
Property в шейдерах/материалах как то кешируются? Добавлял новое проперти - сериализация через свойства материала не работает, всегда ноль. Переименовывал это - ничего, давал другим его имя - работает. Создал новый шейдер, полностью скопировав код старого - работает.
>>489738 (OP) Пацаны! Вытек из вольвовского Source. Занимался именно десингом уровней именно в хаммер эдиторе. Моделькать тоже умею. Как собрать просто мир без всяких нпц и прочей кодерской хуиты? Как всё работает? Есть гуиды? Что курить? Всякая хуета вроде видеотуторов от Васянов рвёт мне жёпу. Есть годные текстовые туторы именно по работе с визуальной составляющей?
>>494578 почему юнити перекладывает проблему производительности на пользователей? у них есть полный контроль над виртуальной машиной, они могут делать что угодно, писать свои конпеляторы и т.д. нет, вывалим уебищные велосипеды, ебитесь как хотите.
Чето на меня терминологический кретинизм напал. Хочу, чтобы в игру был встроен был простенький 3д-редактор - двигать/вертеть/группировать модели/слои, копировать-вставить-отменить, снэп ту *, итд.
Как эту хуйню гуглить, чтобы выдавало не сам редактор юнити/другой среды? Или может такого вообще хуй найдешь?
Анон, помоги. Грибы меня не хотят отпускать, ужасные блок-схемы парализовали разум. Речь идет про Fungus - популярный ассет для визуальных новелл и диалоговой системы вообще. Ну очень уж туго у меня идет общение этих блядских схемок с самописными моими скриптами. Небось создатели Фунгуса в первую очередь запали на идею создания игр без программирования и потому так мало годных инструментов для работы со скриптами. Единственное что нашел это Call Method, Invoke Method, Invoke Event. А мне нужно-то всего получить значение публичной переменной из соседнего gameObject. Ну не буду же я, как полудурок, писать методы возвращающие те или иные переменные. Должен быть способ проще. Как? Можешь не советовать писать диалоговую систему самому. В остальном меня Фунгус устаивает.
>>494614 Сейчас понял, что надо написать просто отдельный метод который будет через рефлексию находить переменную и возвращать. Просто у меня школьные знания шарпа, а в школе рефлексию не проходят. Завтра буду пробовать, заебся уже.
>>494618 Очень редко, несколько раз за игровую сессию справиться у игрока о состоянии его здоровья или другой херне и по результату вывести нужный диалог схемками в Фунгусе.
>>494652 И продолжает срать. Мидило, ты вообще с головой не дружишь? Хотя бы в канун такого светлого праздника мог свою имбецильность подержать за зубами.
public float ReturnSomeFloatVariable (string var_name) \t\t{ \t\t\tfloat result = (float)typeof(v_AIController).GetField(var_name).GetValue(this); \t\t\treturn result; \t\t}
В общем, сам и ответил на >>494614 Правда, все равно не так, как мне хотелось. А хотелось бы возвращать разные типы переменных из одного метода float, bool, string
>>494821 спасибо, но я примерно так и реализовывал, только OverlavCilrleAll и столкнулся с проблемой, если прыгаю рядом с платформой, то он воспринимает будто я на ней. т.к. совмещение коллайдеров все равно происходит. да и с низу можно прыгнуть и буквально повиснуть с низу платформы.
>>494903 Потому что школьники, вроде тебя, ведутся онли на чёрненький yoba интерфейс с цветными графами. Им кажется, что окно с кодом - это жи так скучно и офисно.
Как загрузить сцену с дефолтными настройками и данными? SceneManager.LoadScene(); загружает сцену, но это работает только при первом запуске, затем если повторить эту процедуру после того, как немного поиграешь, он загрузит сцену с твоим прогрессом в прошлый раз
тупейший вопрос блжад. как получить грид координаты объекта в ворлдспейсе? т.е. я тупо хочу что бы персонаж ходил по клеточкам тайлмепа. везде блжад полуторочасовые школотуториалы вида "как-запустить юнити, скачать 2д-экстрас и добавить грид на сцену"
>>495291 Чтобы реализовать ИИ хедкраба - ты сам должен стать как хедкраб. Думать как хедкраб, действовать как хедкраб. Сначала потренируйся дома, а потом выйди на улицу, примерься к симпатичной тянке, резко прыгни и засоси ей голову.
>>495549 >Decimal.Parse (value.ToString (CultureInfo.InvariantCulture), NumberStyles.Float, CultureInfo.InvariantCulture); Какое омерзительное словоблудие. Прям физически передергивает, глядя на это. Как вы в этой хуйне кодите?
>>495549 > какой даун использует decimal в игре Двачую этого. Decimal - это хуйня для банков, чтобы сходились до копейки суммы в триллионы. У обычного дабла точность чето 16 ебаных знаков, блять. В какой нахуй игре игрок способен запомнить баланс в овер 16 знаков и ему не похуй на последний?
>>495549 Когда оче хочется обеспечивать детерминированность в расчетах (а хотеться этого может, например, чтобы в мультиплеере не синхронизировать все состояние мира, а передавать только действия игроков, а последствия пусть считаются независимо), decimal - самый простой (далеко не самый оптимизированный, но, может, этого и не надо) способ.
Здорова бандиты. Короче, есть игрок, есть платформа, есть навМеш, есть бот с навМешАгент. Когда я пытаюсь столкнуть бота с платформы, этот пиздюк цепляется зубами и ни в какую не хочет падать в низ, по всей видимости навМеш не пускает его. Как реализовать возможность сталкивать бота с платформы?
Очередной ебанутый заскок Юнити! Итак, есть гуй, есть попап который надо показать. Старый код, делает Instatinate, SetParent, FirstSibling, все дела. Всё работает, кроме как на iOS. На iOS попап остается на фоне. Но если мы скажем Instantinate(prefab, parent) - то все работает! Хотя по существу то же самое. Алсо, на iOS пропадают партиклы в гуе, даже непонятно куда копать. Ебанутый движок. Остается только сидеть на работе в пятницу до упора и в очередной раз заливать билды в ассетстор. Спасибо Юнити за миллион лишних часов работы! Пидары.
>>495582 Дабл тебе ровно ту же самую детерминируемость обеспечит. Это стандарт языка (вернее, даже не самого языка, а используемого всеми компьютерами стандарта по вычислению чисел с плавающей точкой).
Пацаны вот я создаю геймобжект в игре, и мне нужно в его компонент внести информацию, например структуру, я обычно как делаю , создал гекй обжект, получил компонент, вызвал функцию у него InsertTooltip(ITooltip data) и все, так делать нормально? Если использвать ООП, то там для такого дела есть конструктор,а как в юнитипараше с компонентами быть? Так как описал выше?
>>496046 > ООП, то там для такого дела есть конструктор В юнити конструкторами монобехевиоров пользоваться нельзя. Вызов функции для инжекта - совершенно нормальное решение, почти как в паттерне DI.
>>496081 А как же фабрики и прочие пораждающие патерны. Кстати, кто-нибудь знает, как называется патерн, когда есть какой-то набор методов, которые возвращают объект или интерфейс, который реализует тот же набор методом. И можно из этого цепочки строить. Видел такое в LeatTween. Вот например: LeanTween.moveX( gameObject, 1f, 1f).setEase( LeanTweenType.easeInQuad ).setDelay(1f);
Типа двигать объект по иксу, выставить тип интерполяции, выставить задержку.
Помогите решить проблему, есть прототип 2д платформера, там 2 сцены, мне нужно просто нажать бег, и перейти из одной сцены в другую, проблема в том, что когда игрок оказывается на 2 сцене, он перестает бежать, и надо отпускать клавишу бега, и жать снова. Это дико раздражает, как сделать чтобы команда бега сохранялась при смене сцены. Все реализовано, через if (Input.GetButton("Horizontal")) _activeRun = true.
>>496397 >Все реализовано, через if (Input.GetButton("Horizontal")) _activeRun = true Ну ты сразу все технологические решения раскрыл, так и украдут твой платформер и сделают миллионы, оставив тебя ни с чем.
А если серьёзно, то сложно телепатически узнать, что там происходит с этим флагом при смене сцены и какова логика бега.
>>496397 В каком скрипте обрабатывается инпут? Уж не в том ли, которой прикреплён к выгружаемой сцене? Если я правильно понял описываемое, инпут обрабатывается в двух разных скриптах двух разных сцен, которые загружаются и выгружаются по очереди. Естественно, бег будет прерываться. Тут надо либо держать инпут в отдельном скрипте-синглтоне, либо при смене сцены, выгружаемая сцена пишет в публичную переменную инициализируемой сцены своё состояние (например stage2.RunState = activeRun). Новая сцена запускается с уже бегущим персонажем, далее она обрабатывает сначала событие отжатия клавиши бега с остановкой персонажа.
Я нафаня и не понимаю как оптимизировать открытую сцену, скажем город, с кучей фонарей, ящиков, бочек хуечек. Обьединить все в один меш? Но ведь оклюжен кулинг не будет тогда работать, он же кулит отдельные обьекты. А кулинг нужен пиздец как. Расхуярить все на чанки типа майнкрафт, и кулить их? Как делают в нормальных играх?
Годные книги/туториалы подкиньте, ребят. Учить буду Юнити с нуля. Есть опыт с JMonkeyEngine; писал простенький рейкастер на Java.
Интересует ручное редактирование мешей (планирую писать воксельное чудо с физикой и транспортом), прикручивание физики (Bullet? например), написание шейдеров.
Чет я запутался в архитектуре маленько. Допустим есть противник и в него попадает снаряд. Это может быть пуля или например ракета.
Я обрабатываю это в событии OnTriggerEnter2D скрипта противника. В случае с пулей противник просто дергается, в случае с ракетой - его разносит на куски. Соответственно, я должен вызывать 2 разных метода при попадании.
И что-то я не могу придумать, как красивше передать скрипту противника, что в него именно попало, поскольку у пули и ракеты разные контроллеры, хоть и наследуются от одного.
Пока я повесил на все типы снарядов еще один скрипт - DamageController, который в паблик-переменной хранит тип урона, и скрипт противника может обращаться к нему через GetComponent. Но это решение мне кажется кривым. Может подскажете чего?
>>496637 У меня проверка на попадание проводится в скрипте на снаряде, откуда делается sendmessage берётся IDamageHandler компонент объекта и в него передаётся информация о уроне.
>>496641 >Ты предлагаешь мне вместо: Если ты не в курсе, GetComponent в разы медленнее проверки тега или имени объекта. Во многие разы. Ок, у тебя медленный платформер, ты там стрелаяешь раз в минуту.
теперь представь bullet hell c 1000+ снарядов на экране каждый кадр. Твои разы превратились в десятки тысяч раз кек
>>496642 Да я-то как бы понимаю, что медленнее. Поэтому и задался таким вопросом. Ты правда не учитываешь того, что обращение к компоненту происходит только в случае попадания, поэтому десятков тысяч там не будет. Я бы и рад использовать тэг, но мне показалось логичным на все снаряды повесить один тэг и использовать несколько в другом контексте. Вот если бы можно несколько тэгов на один геймобжект повесить, то проблема бы просто решилась.
>>496642 > GetComponent в разы медленнее проверки тега или имени объекта И тут ты такой с пруфом. которого нет, потому что это наглый пиздеж уровня оопущенского дегенерата. как же вы заебали, ебаные пидарасы..
>>496644 Только что хотел линкануть но вот этот уже сделал: >>496645
результаты ужасные. Никто в здрааом уме не использует GetComp. Ты когда дельные видева от людей --- которые РЕАЛЬНО зарелизили игру и продали около 500к копий (типа INSIDE) --- смотрел? Где твоя популярная игра в стиме, дабы я знал, что не голословишь?
Я вот банально повторяю то, что люди с опытом и авторитетом сказали, никто пока их не опроверг. Ну окромя диванного мамкиного кодеры в богом забытом двач-треде, у которого и игры-то нет лоол
>>496647 > уебку линкуют график из профайлера, но он не способен прочитать английский текст и сравнить две чиселки > ой надо ченить линкануть тоже > линкует общий канал GDC на ютабчике)).)
>>496648 не за что. Всегда гугли сам, лучше офф. форум юнити, стековерфлоу, а еще лучше сам забенчмаркь в своем коде. Чем слушать каких-то уебков, которые понятия не имеют как работает дотнет/моно, и распостраняют дезу, пусть даже они сделали хоть 15 успешных игр в стиме хинт - успех игры зависит от погромистов чуть-чуть более, чем никак.
>>496645 давно уже все выясняли в тредах. getcomponent это тупо цикл по массиву объектов с оператором as. если у тебя не сотни компонентов на объекте, то это не сильно влияет на производительность.
мусор из-за отсутсвия компонента есть только при запуске в редакторе. юнити там возвращает специальный объект, который кидает ошибку в консоль что компонент не найден
>>496642 >еперь представь bullet hell c 1000+ снарядов на экране каждый кадр Иииии... время на все геткомпонент вызовы не приблизится и к миллисекунде.
>>496640 Используй SendMessage. на пуле и ракете отправляй разные сообщения. Наследование не используй. Вместо это сделай отдельный компонент общий для них.
>>496646 Ну ты и поехавший. Медленнее у него, пиздец просто. Ну медленнее оно, но так уж это важно? Вообще плевать. Главное, чтобы работало и, по возможности, писалось быстро. Именно поэтому у всяких инсайдов требования сопоставимы со скайримовскими - можно делать игры и продавать их сотнями тысяч копий, а можно вместо этого рассуждать, что быстрее работает и что лучше использовать.
>>496667 >Наследование не используй. Вместо это сделай отдельный компонент общий для них.
С этого момента подробнее. Почему наследование хуже, чем несколько компонентов с разделенной логикой? Я конечно диван, но наследование выглядит разумнее и повторов в коде позволяет избежать. Я наоборот все стараюсь в таком ключе переписать.
>>496677 >Ну медленнее оно, но так уж это важно? Ну когда у тебя микрофризы каждые n секунд - сам подумай, важно или нет?
Вот, Hollow Knight использует getComponent для проверки, есть ли на объекте скрипт Bounce, который отвечает за то, будет ли рыцарь pogo'ить от объекта. Ну а теперь зайди на офф-формы и поищи
"freeze on hit", "stutter on hit", "freeze on attack" etc
>>496680 Блядь, я про это и говорю: они не рассуждали, они делали игру - и теперь на форумах их игр обсуждают микрофризы. А что обсуждают на офф-форумах твоих игр? Ах, да, ты же деланью игр предпочитаешь жевание соплей!
>>496689 Какой анимации придурок, анимация уже давно загружена, тупой ретард. >обращение к винту вообще пушка Впрочем, не совмневаюсь что в твоей игре каждый аналог атаки персонажа - обращение к винту, лол вот же упырок
>>496701 Не он, но - нет, в принцип ничего плохого нет, однако для fast-paced игр или вообще для игр с очень активным геймплеем это не рекомендуется. Braodcast/SendMessage - вариант системы евентов для нищебродов. Заметно проще, но в целом хуже считается
>>496701 Основной минус в том, что эта херня не проверяется компилятором - соответственно может незаметно для тебя сломаться при рефакторе. По сути, ты превращаешь нормальный, строго-типизированный язык, коим является диез, в подобие джаваскрипта с багами, которые могут вылезти из ниоткуда.
Менее важный минус в том, что она использует рефлекшн, а значит просто пиздецово тормозит цифры порядка x10-50 по сравнению с GetComponent.
А самое главное, нет никакой причины предпочитать сендмесседж прямому вызову метода компонента - они работают абсолютно одинаково сендмесседж так же блокируется в месте вызова, пока обработчик не обработает его, по факту, это никакой не "месседж"
>>496706 Любая херня, которая что-то делает через рефлекшн - сразу нахуй. Вместо Invoke лучше использовать корутину, на 2 строчки больше, зато потом не надо бегать с пылающей жопой почему что-то отвалилось.
>>496708 Я так и думал. Еще одна просьба - если есть на примете статья или туториал для ньюфагов про использование корутин с примерами, то вкинь линк, пожалуйста, буду очень признателен.
>>496703 >нет никакой причины предпочитать сендмесседж прямому вызову метода компонента - они работают абсолютно одинаково дурачок так и не понял принцип использования SendMessage. если сообщения для тебя это всего лишь вызов метода у компонента, тогда действительно нет никакого смысла в сообщениях.
при вызове GetComponent() во время выполнения игры объект точно так-же РЕФЛЕКСИРУЕТ свое состояние. точно так-же какой-то вредный программист может удалить компонент и все сломается с ошибкой. как-же так...
Пацаны, я сделал график цены, отрисовал с помощью канвасов, и корчое лагает, кажыдй апдейт апдейтятся свеча цены + две свечи объема, итого на один апдейт 3 .sizeDelta и 3 .anchoredPosition. Когда свечек становится дохуя начинает падать фпс . Через Гпу шейдер рисовать обосрусь, так что нужно как-то оптимизировать, не ну конечно не надо каждый фрейм апдейтить, разве что когда график скроллишь, тем не менее хотелось бы уйти от такой растраты ресурсов и понять где я обосрался то, короче у меня главный канвас overlay, потом на нем канвас тикеры, потом в нем канвас контейнер для свечей ,а в нем уже свечи канвасы , ну я так хуйнул типа чтоб удобная иерархия была. Подозреваю канвасы могут друг от друга как-то зависить при расчете позиции, взываю к знающему анону.
>>496720 >Рефлексия != as какая разница как это сделано. в недрах c++ кода юнити тоже может не as. суть рефлексии в том, что происходит рантайм биндинг. ты получаешь члены во время выполнения
>>496721 > и в чем разница? > какая разница > всё же в ассембляр канпилируется РРЯЯяяя Вся суть даунов, не способных даже открыть книжку по .Net. Просто о чём можно разговаривать с такими
Загорелся идеей для своего долгостроя заебошить всамделишный скриптинг чтоб как в вар3/параходоиграх. Первый вариант: использовать уже существующий чтец цсв файлов и сделать скриптинг через цсв файлы, т.е. выглядит что-то вроде if;A;<;B;Action[новая строка]. Второй вариант: сделать свой джасс/параходокод для текстовиков со своим собственным ридером. В принципе, то же самое, что и первый вариант, но можно сделать всё красивее для пользователя. Я ебанутый, мне больше первый вариант нравится Третий вариант: каким-то образом вставлять в игру c# скрипты. Собственно, вопрос касается большей частью этого варианта - возможно ли такое вообще? Допустим, сделаю анальное ограничение, чтобы вставленный скрипт наследовал от какого-то скрипта в самой игре. Как это по безопасности?
>>496746 >>496748 Ещё глянул: http://angryant.com/2010/01/05/downloading-the-hydra/ Т.е. .cs загружать в рантайме можно, но это, очевидно, не безопасно. Выходит, лучше сделать ридер, который будет генерить .cs файл с нужными параметрами, юзингами и т.д. Сделать, так сказать, конвертер, который будет отсекать всё, что не надо. Но тогда зачем генерить .cs в принципе, просто сделать чтец строк а-ля "если первая ячейка строки совпадает с именем команды, то запускать команду, вставляя в аргументы следующие ячейки" и норм будет (у меня так сейчас и есть в цсв ридере).
Помогите же советом, ну. Я не знаю, как поступить.
>>496749 Зачем тебе скриптинг на диезе, когда основной язык - диез? Это пиздец наркомания какая-то. разве что у тебя мультиплеер и ты будешь давать игрокам поскриптить что-нибудь, но и в этом случае диез - это пиздец, а не выбор, из-за проблем с try catch finally-троллями, которые в принципе не решаемы - выебал так к хуям пару конкурсов
Для скриптинга обычно пихают интерпретатор другого языка, для этого есть либы, не ебу что тебе нравится. Для своих проектов я как-то ебанул интерпретер лиспа, было забавно, до тех пор пока я не заебался связывать скрипты с главными системами юнити и не забил хуй на это.
>>496760 > strings так же безопасны как symbols > ошибки в рантайме так же безопасны как ошибки при компиляции > duck typing так же безопасен как static typing > ебаться в жопу так же безопасно, как и дрочить
>>496761 Мда, этот даун так и не понял ничего. Не будет у тебя никаких ошибок компиляции. Просто у тебя будет ошибка null reference exception если ты попытаешься получить компонент, которого нет на объекте.
Когда ты посылаешь сообщение, ты не "вызываешь метод компоненты через рефлексию". Это то, как это может быть технически реализовано. А может и не быть. Если конкретно в твоем MonoBehaviour нет метода с именем сообщения, то это значит лишь то, что этот компонент не является обработчиком этого сообщения. Вот и все. Конпелция, static typing и т.д. тут совершенно не причем.
>>496756 >Зачем тебе скриптинг на диезе, когда основной язык - диез? Это просто вариант такой. К тому же "связать с главными системами юнити" было бы проще (а на самом деле я даже бейсика не знаю). >Для скриптинга обычно пихают интерпретатор другого языка Хитро, дёшево и сердито. Даже не думал о таком, лол. Скриптинг мне нужен для моддерства. Ну, и для меня самого, чтобы быстрее карты со сценариями строить. Какие-нибудь сложные действия захардкодить, например, поиск путей, а простые, - вроде отъёма очков передвижения за движение, - можно и во внешний изменяемый скрипт вынести.
>>496763 Оопущенский дегенерат до сих пор путает рефактор с удалением. Оопущенский дегенерат до сих пор путает свои маняфантазии с конкретной реализацией SendMessage в юнити. Просто как горох об стену, уже 2 месяца. Нахуй, просто нахуй.
>>496763 > может быть технически реализовано. А может и не быть. Какой же ты даун. Разговор за конкретную реализацию конкретного метода в конкретном движке юнити, блять, посмотри на шапку треда. И эту реализацию не рекомендует юзать вообще никто.
Твои личные велосипеды по работе с сообщениями могут идти строго нахуй, пока они а) не будут на гитхабе б) не будут использованы в нескольких законченных играх.
Чего не будет никогда, потому что ты, дебилоид, так ни одной игры и не написал, только срешь во все треды подряд о своих ооп-фантазиях.
>>496765 Не вижу проблемы с тем, чтобы делать это все на диезе скриптами юнити. Компилируется все за пару секунд. В общем, подумай, ты точно уверен в том, что тебе это надо? Ведь мог бы игру делать.
>>496768 >Какой же ты даун. Разговор за конкретную реализацию конкретного метода в конкретном движке юнити Вообще-то разговор о том, почему >эту реализацию не рекомендует юзать вообще никто Основной претензией там является то, что якобы "ряяя метод выполняется через рефлексию, а если кто-то переименует метод, что тогда?" И как выясняется, все доводы на самом деле высосаны из жопы, так как горе-критики не разбирающиеся в принципах абстракций сами не понимают что несут. Для них SendMessage это способ зачем-то "выполнить метод через рефлексию".
>>496786 > Calls the method named methodName on every MonoBehaviour in this game object.
Заебись идея вообще, давайте вместо 1 метода - вызовем все с совпадающими именами. Это же так нужно нет, и не приведет к еще большему пиздецу, чем другие проблемы этой параши.
Как можно топить за эту хуйню вообще? Ты поехавший?
>>496797 Глянь сюда: >>496748 Мужик сделал загрузку скрипта из рантайма через эти ваши юнитовские врождённые методы. Я не удивлюсь, если оно ищет в .cs файле
Что бы не создавать новый тред, спрошу здесь. Вот давно мечтаю сделать игру по типу Audiosurf, но не могу понять каким образом они считывают данные музыки и переносят это в игру. Может знающие люди объяснят или поделяться ссылками по этой теме?
Анонист, выручайшен. Короче есть vuforia точеная и модель с анимацией дроченая. Анимация по первому распознаванию метки не проигрывается, если юзать кнопку перехода к другой модели и оттуда вернуться, анимация идет как надо. Как заставить эту суку запускаться с самого начала?
>>496765 >Какие-нибудь сложные действия захардкодить, например, поиск путей, а простые, - вроде отъёма очков передвижения за движение, - можно и во внешний изменяемый скрипт вынести.
Поехавший, зачем тебе виртуальная машина в виртуальной машине?
Алсо, без обид, но твой язык говорит что ты нифига не понимаешь куда лезешь. И делать тебе это лет 5.
>>496735 Да, обосрамас был жидкий и по всем фронтам, короче хуйню там наебашил, везде по чуть чуть, главное это апдейт размеров канваса каждый фрейм с дробными частями, хотя они не нужны. Сейчас подшаманю, подчистю за собой или скажу насрано уже было, и перейду к замесу волюм алертов. Уж слишком смачно альткоины стреляют, вчера на коробку доширака заработал.
>>496858 >И делать тебе это лет 5. Делать что "это"? Конкретно эту фичу или вообще? Вообще - наверное так и выйдет, но в свою защиту хочу сказать, что пилю я не тупенькую игру, где всё захардкожено и где только сам программист может что-либо изменить, а нечто ближе к варкрафту в плане возможности менять диалоги, сцены, юнитов, всё такое. Вот ты пошёл стопами парадоксов и сделал какое-то количество форм правления, которые изменить никак нельзя. Только ты их можешь менять, разве что пару дефайнов вынесешь куда-нибудь. Если делать аналогию основываясь на этом, то я пилю систему, которая позволит моддеру сделать свою собственную форму правления, приложить скрипт и получить нужную распознаваемую игрой форму правления, а не ебаться и хитрить с ивентами, как это делается в королях крестоносцах, чтобы сделать в гехеймниснахте вампиров с орками.
>>496909 Тебе и ответили, если ты не в курсе, что значат все те слова из постов, то это твои персональные проблемы. Удачи грузить все сцены аддитивно кстати.
>>496914 Так мне нихуя не ответили, меня за долбоеба посчитали, который сценарий бега будет на сцену вешать, и про донтдестрой, а как бы я в другую сцену переходил если бы его не использовал? Бег реализован через эдфорс, но тут проблема то не в беге, а в загрузке сцены, при которой слетает инпут. В чем проблема аддитивности? Как решить проблему другим путем, или по вашему такой проблемы не должно быть? Сценарий висит на плеере, который переносится в другую сцену донтдестроем, если в дверь прыгнуть например то инерция сохраняется, слетает только инпут
>>496914 Так мне нихуя не ответили, меня за долбоеба посчитали, который сценарий бега будет на сцену вешать, и про донтдестрой, а как бы я в другую сцену переходил если бы его не использовал? Бег реализован через эдфорс, но тут проблема то не в беге, а в загрузке сцены, при которой слетает инпут. В чем проблема аддитивности? Как решить проблему другим путем, или по вашему такой проблемы не должно быть? Сценарий висит на плеере, который переносится в другую сцену донтдестроем, если в дверь прыгнуть например то инерция сохраняется, слетает только инпут
>>496917 >В чем проблема аддитивности? Никаких проблем, если ты знаешь что это, как работает, какие проблемы может вызвать. Если ты покурил матчасть - делай смело. >Как решить проблему другим путем Через синглтон.
>>496923 Двачую. Вообще не понимаю, зачем помогать конкурентам? Чем меньше людей разбираются в юнити, тем лучше тем, кто в нем разбирается хорошо. Я уже жалею что вообще рассказал о преимуществах SendMessage. А так бы писали свой говнокод и никода бы не сделали игру.
Кто-то в поте лица учит движок, разбирается в архитектуре, разрабатывает наиболее лучшие паттерны. А какой-то кирилл потом просто копипастит весь его труд и зарабатывает миллионы на чужом труде, не поделившись ни копейкой.
>>496930 Так ты и сам то нихуя не знаешь, поэтому и не можешь ответить, разрабатывает он там патерны, полуебок. В этой сраной документации два предложения на любую тему и все на этом. У тебя миллионов нет не потому что тебя кто-то опережает, а потому что ты бездарное говно. Это в любой сфере так, только неудачники находят себе оправдания в конкуренции
>>496933 >У тебя миллионов нет не потому что тебя кто-то опережает Именно поэтому. Слишком много расплодилось таких хаков как ты, которые тупо копипастят готовое и выдают за свои игры. Невозможно с такими конкурировать. Они тупо по закону больших чисел делают прибыльные игры одну из миллиона. Такие как-ты наносят ущерб.
>>496944 Ты долбоеб? Че я у тебя там спиздить хотел, как из уровня в уровень переходить? Простому игроку вообще похуй на это, главное история, геймплей и графон, а все это я точно пиздить не собирался, тем более у такой бездарности, как ты. И вообще харэ меня троллить, ебаная школота, как вы заебали
>>496944 Ты долбоеб? Че я у тебя там спиздить хотел, как из уровня в уровень переходить? Простому игроку вообще похуй на это, главное история, геймплей и графон, а все это я точно пиздить не собирался, тем более у такой бездарности, как ты. И вообще харэ меня троллить, ебаная школота, как вы заебали
>>497058 > архитектура игры > без игры > вообще не написал ни одной игры Вас надо с шизописакой в одну команду, у него как раз архитектура текста придумана.
Переехал в другую квартиру, подключился к новому провайдеру и у меня перестал работать коллаборейт и не только он, но то похуй. Поднял VPN - заработало, но либо пиздец медленно либо с ограничением трафика либо за деньги. Это что ж, когда на днях роскомнадзор блочил айпишники миллионами, под раздачу попал весь диапазон коллаборейт-облаков? Теперь всю жизнь на VPN сидеть что ли?
>>497070 Ну у другого провайдера всё работало и с тем же путеным и с тем же диваном. И вообще у нас тут не /ро/. Вопрос в другом - как бы это дело обойти через какую-нибудь проксю. Знать бы по каким адресам юнька стучится в свои облака.
>>489738 (OP) Здрасьтитя. Непрограммист-негейм дизигнер итт. Объясните неумному. Если я создаю C# скрипт, он наследует от MonoBehaviour и в нем по умолчанию есть методы Start() и Update(). Дальше я вешаю его на что-то в сцене. Это вводная. Вопрос: если я удалю из этого скрипта метод Update() - то в этом скрипте он срабатывать уже не будет?
Поцоны, нид халп. Нужно сделать самонаводящиеся снаряды, но без особых выебонов. Суть вопроса: что менее затратно по ресурсам, пилить через навмеш или каждый кадр просчитывать вектор? Снаряды в любом случае должны попасть в цель
>>497237 > пилить через навмеш или каждый кадр просчитывать вектор? Через навмеш agent.destination также дохуя чего просчитывает каждый кадр, особенно если цель движется.
Хочу сделать 2д пиксельное говно на этом вашем юнити. И сразу возник вопрос. Почему все измеряется в каких-то шизоиндых ЮНИТАХ, а не пикселях? В таком случае, как сделать так, что бы 1 юнит = 1 пиксель? И как можно скейлить спрайты без сжатия/сглаживания?
>>497368 > gunLine Чё это за хуйня? Прозреваю, что она у тебя одна и ты ее двигаеш как еблан в цикле, естественно остается только последнее ее положение.
Ну и вот чо за говно, баловался с этой вашей юнитей пару лет назад, все было гладко, щас решил еще побаловаться, скачал последнюю версию - сука, пиздец тормоза. На сцене еще нихуя нет, а тормоза уже есть. До чего техника дошла. Где там в настройках чего выключить?
>>497377 Пошел на форум и сходу наткнулся на тему 2017.2.0f3 Editor Very Slow?, тянется до сих пор, разрабы жуют сопли. Не я один такой, оказывается. Ну ее нахуй, хуюнити вашу, ебитесь сами.
Парни, помогите нубу. Суть такова: v = Input.GetAxis ("Vertical"); if (v != 0) // действие, если персонаж идёт вперёд/назад else // действие, если персонаж стоит или идёт вправо/влево
Проблема в чём. Если отпустить кнопку "вперёд" или "назад", то ось не сразу скидывается в 0, а где-то через пол секунды. Как отловить что игрок отпустил кнопку вперёд/назад и выполнить нужные действия в тот же кадр? Можно, конечно, поставить проверку нажата ли кнопка W или S, но это же оси, их можно на что угодно перебиндить. Блять, Абу мамку ебал с такой капчей, лучше б светофоры считал
>>497496 1. Не увидел реалистичных персонажей. 2. Не понял какая связь между контентом и движком, если все движки в конечном счете отправляют одинаковые команды рисования в видеокарту. 3. Ничего кроме раздувания бюджета и маркетинга, реалистичная графика игре не приносит.
>>497503 > одинаковые команды рисования в видеокарту Как жи, там жи нодовый шейдерный редактор, даже последний васян заебошит нет subsurface scattering ебабельной няше в бете бнити тоже ебанули, кстати
>>497501 Ой иди ка ты на хуй, это на юньке нет больших игр, а на уече их дохуя, причём все прибыльные.
Уеч используется с начала нулевых и является одним из самых распространённых движков среди профессионалов, а чем запомнился юнити - говноинди, которые ничего не стоят и лишь являются подобием видеоигр?
Накидайте, пожалуйста, книг по Юнити, по которым можно учиться без интернета. Уезжаю в деревню - с собой комп с установленным движком. И вдовесок по C#.
Как по мне, когда дело касается изучения какой-то проги, или языка программирования, то лучший способ изучения - официальная документация.
Надо: открыть доки + открыть юнити, и читать строго с первой страницы, и чтобы сразу, как что-то узнал - тут же сделал/тыкнул что-то в юнити.
А в книгах/видео что-то могут упустить, или слишком долго разжевывать. Или навязывать свой стиль программирования.
А если ты дочитаешь доки от корки до корки, то можешь с уверенностью считать, что знаешь все, что касается юнити.
Книги и видосы следует смотреть после, для закрепления информации, или для прояснения особо непонятных моментов.
Я после изучения доков купил курс на распродаже за 10 баксов, (https://www.udemy.com/unitycourse/), видосы по сей день новые добавляются и вообщем-то ничего нового не узнаю до сих пор
>>497523 Слушаюсь, мой скриптогосподин. Полагаю, что здесь я уже всех унизил своим посещением и могу удалиться. До новых встреч на просторах чебурнета.
Что нужно знать, чтобы при импорте 2D спрайтов не запутаться с Pixel Per Unit? Просто не знаю уже каких размеров спрайты уже рисовать, чтобы при значении 1 на сцене не появлялись гигантские спрайты. Спасибо.
>>497667 Мозг то включи, при Pixel Per Unit у тебя 1 пиксель будет размером с 1 юнит. Хочешь квадратный спрайт размером с 1 юнит - ставь в Pixel Per Unit размер его стороны в пикселях.
>>497684 1. Сделать квадратный коллайдер и вместо нескольких коллайдеров для пола использовать один. В тайловой карте можно объединить все коллайдеры в один. Еще есть edge collider. 2 Никак. Только пилить собственный контроллер. На дефолтной физике хорошо делать прототипы.
Запилил магазин для своей игры, в Unity я нажимаю на кнопку и происходит покупка нового бекграунда = то есть = происходит замена спрайта в префабе бекграунда на новый купленный спрайт. (1,2 пик код)
Все выполняется в пару строчек кода, имена спрайтов "1" "2" "3" и тд. имена баттонов для покупки анологично "1" "2" "3" и тд.
Проблема = В Unity все работает отлично = спрайты меняются, покупки происходят, но в сборке проекта не работает ровно нихуя, спрайты не меняются, хотя покупка происходит. Проверил на парс, в сборке все парсится правильно(3 пик), Как пофиксить?
Влияет как-то на производительность если валью тайп переменную кэшировать, ну типа назначить ее в классе,вместо того чтоб постоянно создавать локальн ов функции?
>>497734 Нет, в обоих случаях будет одно копирование, это же велью тайп. Из поля класса в куче еще медленнее небось, но по факту это совсем пиздец уже, хуй забей.
>>497775 > Может твой провайдер перестарался Мой тоже. И коллаборейт под запретом и developer.cloud.unity3d Писал провайдеру - сказали что залочено по решению РКН и, внезапно, налоговой службы.
>>497795 >внезапно, налоговой службы. Правильно. НЕхуй деньги зарабатывать игорами зарубежом, да еще под и в треклятых долларей! буржуи какие? А ну, сначала за путена голосовать, а потом на завод.
>>497519 >Нету больших игр >Pillars Of Eternity >Rust >Life is strange >Tyranny >The forest >Escape from Tarkov >Дохуя других Вопрос, что вы несете? Долбаебы? Вы хоть иногда думаете перед тем, чтобы что-то высрать?
>>497828 Забыл херстоун, kerbal space program, cities: skyline, тред порноделов по соседству заставляет вспомнить тот же honey select и т.д. Сейчас этот шизоид напишет про то что "никанон что создатель движка не делает на нем игор".
>>497796 >деньги зарабатывать игорами зарубежом Прикинь, что похую, ГДЕ ты их зарабатываешь. Налоги во всех нормальных странах платишь, ГДЕ проживаешь.
>>497862 Сделай отдельный скрипт, который этим делом будет заниматься, и повесь на префаб зомбака. При спавне пусть отсчитывает и затем красиво умирает с партиклами.
>>497864 То бишь предлагаешь делать менеджера, который бы держал спавнутых в списке до унижтожения? Мне больше нравится, если бы зомбак был максимально автономен, т.е. сам являлся полноценным префабом со своим набором аудио, эффектов и прочей AI-шной обёртки.
Я только в процессе поиска собственных "паттернов".
Сделаю так: public float timeToLive будет устанавливаться прямо после создания. Сам с корутине отсчитает, когда включайть предсмертный салют, и пидарештится через Destroy(gameObject);
Первый день в юнити, поясните в какую сторону гуглить. Надо в 2д разбить спрайт, чтобы одна часть была по оси Z на одной координате, другая на другой. Каким образом это реализуется?
>>497865 Cоздаешь DestroyableThing, который в старте запускает корутину и накидывает себе время жизни. Как только это время превысило выставленный лайфтайм, вызывается UnityAction OnDestroy и объект дестроится. Так ты сможешь потом вызывать что там тебе нужно при смерти: анимацию применить или нового моба спавнить.
Можешь там же сделать метод, который возвращает тебе, сколько мобу осталось жить. Можешь еще колбэк OnTik сделать и дергать его каждый тик, чтобы например это время жизни где-нибудь в гуи показывать.
Короче будь молодцом, не пихай все в один класс, разделяй и влавствуй.
>>497883 > не пихай все в один класс, разделяй и влавствуй Вот этот пидор всё правильно говорит. Чем больше ты разделяешь роли - тем больше у тебя пространства для манёвров.
>>497871 Ебать, нахуя тебе это? Что за изъебы. Ну подели ты спрайт руками двигай. Если очень хочешь, можешь кодом нарезать, но нахуя. Объясни хоть, зачем тебе это.
>>497821 А можешь посоветовать годноты от туда? Вообще сейчас в сторе майские скидки, может посоветуете полезностей на которую и разориться не грех, а то я не а теме немного, вообще сам пилю 2д платформер рпг. В основном интересую технические моменты всякие, а не визуальные
>>497828 На счёт херстона соглашусь, наверно единственная первоклассная игра на юнити, но учитывая двумерность игры, близзарды могли реализовать её хоть на гамаке, хоть на короне.
Список выше где всякие PoE и тарковы это явны не игры первого эшелона.
Пацаны короче это, тут это, есть одна биржа, надо подписаться на тикеры, каждый тик это отдельный вебсокет, как итог их может быть 10-20,а знач и столько потоков, и оттуда будут постоянно идти сообщения, если их скидывать в ConcurrentBag, а в юнити апдейте оттуда забирать, брат будет жив?
Есть где-нибудь спиздить полный сет четко визуально различимых анимаций для файтингов - всякие там хай-лоу-оверхеад-нижнийблок-итд? Нужно для прототипирования - на качество похуй, лишь бы различимо было, а юнитов несколько, поэтому просто поносить в консоль что происходит - уже не катит.
А разве какой-то общепризнанный 3д муген уже есть? Я помню была куча каких-то любительских проектов под любые движки, и я поэтому и спрашиваю, мб кто знает, откуда можно спиздить в юнити побольше и побыстрее.
Парни, кто-нибудь сталкивался с необходимостью одновременно передвигать объект и с помощью велосити и скейлить его? У меня какая-то хуйня получается, нагуглить за день не смог.
Тормозить начинает жутко, вроде как объект прорисовывает дополнительный кадр, или типа того. Речь идет о 2д, как рассчитывать такие моменты?
Вопрос по компоненту Constant Force. Нужно из цилиндра сделать колесо, которое начинает крутиться по нажатию кнопки и поворачивать по нажатию другой, в т.ч. поворачивать в движении.
Делается это, как я понял, через addTorque(). Только непонятно, куда и как применять силы. Подскажи, анон.
Котончики, мне нужно что то типа навигации сделать для юнитов как в парахододрочильнях. Почитал про стандартный навмеш, но он вроде как про прогулки по площадям (полигонам), у меня же хотьба по графу, узлы которого - столицы провинций.
>>498153 >Astar pathfinding project Спасибо, помотрел. Только у меня, в стратежке, вроде как разные графы для разных стран получаются. В том смысле, что граф то один, но цена перемещения разная, т.к. некоторые страны разрешают проходить сквозь их территорию, а другие - нет. Вот думаю, то ли кучу графов запилить, то ли на велосипед сесть. А все что нужно метод типа "верни узлы кратчайшего пути учитывая что мы можем ходить только по своим провинциям, провинциям союзников и провинциям врага"
Ребята, позвольте платину. Каким средством удобнее всего реализовать скриптованные действия в 2д игре, типа автомобиля, который начинает ехать когда в определенное место подойдет игрок? Спасибо за ответ.
Ребята, есть одно приложение, если его как-то запихнуть на сайт через этот webGL, как будет работать связь с сервером? Ну вот подписатсья к примеру на вебсокет, будет машина подписываться на которой открыт сайт с игрой, или сам сервер на котором лежит вебГЛ параша?
>>498040 Любой инструмент визуального программирования - костыль, забирающий у тебя свободу в написании кода в обмен на компенсацию твоей некомпетентности. Годнота tier - писать код самому, понимать, что и как работает, читать документацию, читать/смотреть туториалы. Mid tier - использовать костыли. Макака tier - копипастить чужие скрипты не разбираясь.
>>498178 >GL, как будет работать связь с сервером? Ну вот подписатсья к примеру на вебсокет, будет машина подписываться на которой открыт сайт с игрой, или сам сервер на котором лежит вебГЛ параша? Какой сервер укажешь, на тот и будет подписываться. Сервер может располагаться как на сайте, так и на удаленной машине.
Открыл для себя ScriptableObject. Господе, я сейчас буду обмазывать весь проект этим дерьмом, такое-то охуенное mvp будет, никаких данных в monobehaviour, никаких зависимостей между сценами, чистота, порядок, мир и покой. Охуенно.
>>498181 Маладца. Я у мамы тоже скриптблобджект-фанатик. Ещё написание кастомных инспекторов открой для себя, если ещё нет. Будешь кодить, а потом игры из своих асетов собирать и ползунки крутить.
>>498188 Я просто документацию читал. Со scriptbleObject особо знать ничего не нужно, кроме того, что что они существуют. Ну ещё ты не запехнёшь туда объекты со сцены и какую-то логику взаимодействия с ними, то есть они тупо для удобного хранения и редактирования данных нужны. Типа создал по скрибтблобжекту для каждого противника, скрибтблобжекты для итемов, для бонусов, один для общего баланса. И пихаешь их в свои скрипты. А насчёт редакторов, это по сути свои окна редактирования сериализуемых значений в юнити. Можешь просто попробовать написать кастомных инспектор для какого-нибудь из своих скриптов, параллельно гуглить, что тебе нужно и дописывать"unity inspector". Только там старый гуй используется, если через GuiLayout ещё норм, но в некоторых случаях приходится нарезать квадраты, что может вызвать лёгкое подташнивание.
>>498181 Нахуй нинужны, хуита без задач. Нахуя отделять данные от поведения? Первокурсники максималисты, блять, лишь бы модно было, а профитов в 2х файликах вместо 1 монобехевиора в котором точно так же крутишь ползунки в инспекторе никакого. Только читать тяжелее, что у тебя код моба делает с данными, которые какого-то хуя не в мобе. Зачем?
>>498197 Затем, чтобы написать один monobehaviour, а потом для запила 100 мобов создать 100 scriptableobject'ов через меню, перетащить на них меши, материалы, анимацию и 10 разных классов с поведением, получив в итоге удобный инструмент разработки мышкой и работающие из коробки сейвы в качестве полезной нагрузки. Не знаю, зачем я пытаюсь переубедить заскорузлого говнокодера, правда. Можешь делать как тебе удобнее.
>>498198 Ты конченый долбоеб. У меня 1 монобехавиор моба и 100 префабов с ним, в которые я, внезапно, мышкой перетаскал меши материалы и вбил параметры. Как делал и 5 лет назад. В чем отличие от твоей схемв со 100 скриптабл? Ни в чем, но первокурснику важно поюзать блидинг эдж, я понимаю.
>>498198 Алсо твое скриптаблговно не поддерживает сейвы больше чем plain old если бы ты почитал документацию, то знал бы это, но ты же восторженный долбоеб.
>>498214 > использовать самую последнюю ебатню, нужна она не нужна похуй > показатель скилла Вся суть школьников просто. Взрослые люди осваивают все инструменты, проводят сравнение, и потом пользуются тем, что подходит.
>>498204 Ты конечно ретроград ебучий, так реально удобнее. Кстати забавно, но для таких как ты любителей обмазываться префабами юнитеки запилили пресеты в 2018-ой версии, по сути своей те же scriptbleObject-ы, но только для редактора. Глянь, может понравится. Можно создавать темплейты для настройки скриптов, должно быть удобная штука, мне правда не пригодилась пока.
>>498230 > пресеты Еще один нахуй нинужный костыль для долбоёбов, которые никак не могут освоить префабы. Максимум, что надо впилить и они обещают таки впилить в 2к18 - это нестед префабы, всё, блять. Прекрасно все собирается с замечательным воркфлоу.
Нет, блять, дегенераты не могут освоить один нормальный инструмент и начинают ныть оой дайте нам еще какую-нибудь хуйню. Разрабы юнити тоже хороши, прогибаются под дибилов вместо нормального дизайна системы жесткой рукой.
Написал скрипт, чтобы по нажатию на мяч в моем простеньком гольфе возникала стрелка, указывающая направление до лунки. И вот в чем проблема: стрелка всегда направлена куда угодно, только не на лунку. Ткните меня, где я делаю неправильно. Стрелка - спрайт. По дефолту на сцену добавляется как на втором скриншоте и я ее после этого поворачиваю по OX на 90. Код примерно такой:
В редакторе крутится. Вот я стрелку поворачиваю вокруг OX на 90, и она ложится на землю. Дальше ворочаю вокруг OZ, и она опять же двигается, как мне нужно: крутится вокруг оси. Второй параметр у LookAt() указал. Так стрелка смотрит в сторону цели, но как бы "дном". То есть, не хватает вот этого поворота по OX на 90.
Подскажите хитрых методов как имея дохуилион векторов найти произвольное количество ближайших к каждому из них. Ключевое слово - произвольных. Например 10к векторов и к каждому 3-15 произвольных ближайших векторов.
>>498275 10к х 10к сравниваний с извлечением квадратного корня звучит просто замечательно!
>>498276 Как же я люблю этот тред. Каждый раз приходится объяснять хуиту как детям. Допууустим, смари, есть 10к геймобжектов. Понял? И на каждом корочи висит компонент который говорит "Вот число. Хочу вот стооолько ближайших ко мне геймобжектов было в этом листе". Каждый фрейм. И геймобжекты двигаются ещё.
>>498279 >10к х 10к сравниваний с извлечением квадратного корня звучит просто замечательно! Так ты сука тупая каждый кадр хочешь это делать? Тогда заебешься, ибо дешевого метода тут нет.
А раз при загрузке левела или рестарте чекпоинта, whatever - без проблем.
>>498280 Более дешевое разумеется октодерево, но построение самого дерева тоже жрет. Поэтому я пришел на двач спросить советов мудрых. Может кто-то знает больше меня.
>>498282 Физоном я это делать не могу, так как мне это надо сунуть в другие потоки. Где хуй а не API юнити. Так что да, в контексте вопроса это просто какая-то хуйня у которой есть позиция. Собственно спросил потому что само построение жрет хорошо. Малину портит то что объекты могут двигаться.
>>498283 >Малину портит то что объекты могут двигаться. Ну так обновляй кеш AABB tree? А как ты думаешь раньше у Юнити имплементация статик-коллайдеров была? При любом движении оного кэш перерасчитывался.
>>498279 > объяснять хуиту как детям Откуда мы знаем, какая у тебя метрика расстояния между векторами идиотина? Она вообще-то разная бывает. Например, косинусная. Понаберут по объявлениям.
>>498284 Большинство векторов будут двигаться все время, так что нет смысла проверять кеш даже
>>498288 >Во-первых, ты долбоёб, не умеющий описывать задачу нормально. Специально для тех кто не умеет читать я описал после этого более простым языком. Здорово, да?
>Во-вторых, ты долбоёб, который не понимает, что рассчитывать 10 соседей на 10к объектов каждый фрейм - это пиздец в любом случае. Этот вопрос не рассматривается так как задача не может быть упрощена. Потому что сама задача абстрактная и я выбрал наиболее хуевый вариант развития событий. Писать код который будет применяться не тобой и в хуй знает в каких условиях увлекательно, правда?
>В-третьих, если плотность точек примерно одинакова, с этим справится обычный грид. Дерево пересчитывать очень сложно, а грид нет. Ноуп, плотность точек тоже произвольная. Единственное что можно сказать об условиях сверху сказанного это то что вряд-ли будет происходить поиск более 20 соседей.
>>498289 Метрика в попугаях нахуй. 3д векторы в 3д пространстве.
Не могу с лицензией разобраться, может есть кто из профи подскажет, например хочу перед релизом игры убрать заставку "made with unity", правильно ли я понимаю, что можно просто оформить подписку на месяц, скомпилировать игру без заставки и выложить в продажу, а потом после месяца снова перейти на бесплатную версию, а игра так и будет продаваться без заставки дальше? Можно так?
>>498295 > задача абстрактная и я выбрал Тогда можешь пройти нахуй. Если ты даже не можешь себе представить пределы изменения плотности по времени и координатам, как ты собрался выбрать структуру данных? И вообще - привет, проблемы с точностью флоата. Магии тут, блять, нет, долб. Идешь на педивикию и выбираешь из деревьев и гридов по скорости обновления и скорости поиска. и вообще начиная от 10к я бы бахнул это в compute shader
>>498324 >Если ты даже не можешь себе представить пределы изменения плотности по времени и координатам, как ты собрался выбрать структуру данных? Например у к-мерного дерева нет проблем с плотностью, хули.
>И вообще - привет, проблемы с точностью флоата. Лол. Очевидно что там где у меня начнутся проблемы с точностью флоата там начнутся проблемы у всех остальных. Нет, пример с геймобжектами исключает это.
>Идешь на педивикию и выбираешь из деревьев и гридов по скорости обновления и скорости поиска. Я уже ходил и заимплементил и к-мерное дерево и октодерево. Но у них свои минусы. Вдруг я упустил чего? На педивикии нигде особо не консолидирована эта информация. Или я не нашел.
>и вообще начиная от 10к я бы бахнул это в compute shader Я бы тоже. Но начиная от 10к все остальное что пользуется этими данными перестанет работать адекватно. Вообще compute shader не очень для этого подходит. Потому как сам процесс перемещения данных туда-сюда будет уже занимать много времени. К тому-же я не могу возвращать произвольные размеры массивов. Если для какого-то вектора понадобится вернуть 20 ближайших, а для других только 5, то это придется для всех вернуть 20 и убрать 15 для всех кроме одного.
>>498346 > придется для всех вернуть 20 И? В этом нет никакой проблемы. Разумеется, массивы будут фиксированного размера, в твоем случае порядка 1Мб, что очень, очень мало. И кидать туда-сюда всего лишь 1 раз за кадр это ваще нихуя не нагрузка.
> Вдруг я упустил чего? Накодь уже
ГРИД Р И Д
И замеряй твою хуйню на всех трех алгоритмах.
а вообще, лучше бы пиздовал делать игру, или в /пр нахуй, это твое ебаное теоретизирование нахуй тут никому не сдалось
Теоретический вопрос. Хочу сделать карты и кампании, состоящие из набора карт, для своей игры, причём чтобы можно было класть в папку с игрой пользовательские карты и кампании. Импорт карт-то я реализовал, несложно, но как мне сделать "объединённые файлы" для кампании? Вот у близзардов были MPQ файлы, где прятали официальные кампании с картами, w3m файлы для карт (где все ресурсы ещё вложены), w3x для кампаний (и там все карты кампании лежат). Что мне, рар-архивы ебошить, что ли? Как взрослые дяди такую проблему решают?
>>498374 > взрослые дяди такую проблему решают Зипуют. Можешь расширение сменить с .zip на .kirill для солидности, но и это нахуй нинужно. Собственные форматы и заголовки выдумывать можно только если ты долбоеб близорт.
Получается, он заточен на поиск пути на плоскости а не графе (даже при использовании поинт графа), оперирует координатами а не узлами (еще и в int3 формате) и не позволяет отфильтровывать узлы по условию
Попробую что нибудь попроще, просто граф с астаром
>>498468 Господи, почитай уже нормальную статью. Астар - это алгоритм поиска в графе. Он настолько простой, что даже ты способен его накодить самостоятельно. а я накодил его раз 30 уже.
>>498471 Есть, но оно там нет фильтра узлов при поиске. Тупо по всем узлам ищет. И положения объекта описывается координатами int3 а не узлом, что смущает меня.
>>498472 Какой тебе фильтр нужен? Что такое узел "положения объекта описывается координатами int3 а не узлом"? Ты до конца понимаешь что тебе нужно или выдумываешь всякую чушь лишь бы игру не делать?
>>498480 Там можно ставить на узлы теги, типа корабль ходит по узлам "вода" но не "земля", и расставлять эти теги можно через скрипт динамически. Но зачем что то объяснять человеку, который будет искать свой идеальный ассет до талого и в итоге отбросит свою охуительную идею игры так как технологический прогресс еще не дорос до его гениальных замыслов.
>>498483 Ты заебал, ставишь на узел тег названия страны и на юнитов вешаешь разрешение ходить по узлам с тегами своей страны. Как ты игру сделал даже не представляю, спиздил у кого-то с гитхаба?
>>498386 >https://docs.unity3d.com/ru/current/Manual/AssetBundlesIntro.html To begin creating an AssetBundle (called AssetBundle in scripts and within the Unity Editor), select an asset from your project folder that you want to include in a bundle. Т.е. для работы этой херни нужен юнити у пользователей + какие-то свои форматы выдумывать. У меня же по определению нужен формат, подходящий для кириллов с доступом только к текстовику. >>498378 >>498385 Окей, погуглим.
Какая-то мистика. Создаю новый класс, а другой (уже существующий) класс его не видит. Хотя лежат в одной папке. До того как обновился до 2018 версии всё нормально было. Все скрипты, что были до обновления, видятся. Все новые - нет.
>>498492 из личного использования Анимы2Д заметил проблему ,что теряется объект из карты спрайтов и начинает глючить . помогает толко пересоздание карты спрайтов и повторное анимирование в спине все разделено на отдельные спрайты и не глючит из за этого
>>498495 И юнитистор и коллаборейт колбасит уже три недели, со времён всей этой хуйни с телеграмом. То работает, то не работает. Может два дня нормально отработать, а может и два часа. Но это не у всех провайдеров. Приходится VPN поднимать, да.
Делаю тут анимацию игры в Unity и хочу чтобы глаза двигались за мышкой но не проворачивались на 360 по кругу как при использование LookAt , а чтобы направлялись в своем нормальном положении как сделать кто знает ссылку на игру по которой делаю анимацию https://www.comdotgame.com/play/kitchen-fun-2
>>498497 >Puppet2D? чес слово попытался из его урока чтото сделать послал его на хуй этот пупет и решил поебатся с АНИМОЙ и то в аниме хоть урок куда более простой сча пытаюсь анимировать это из нарезки игры если что знаешь то ответь как глаза заставить за мышкой двигатся но чтобы не проворачивались а просто двигались
You can't redistribute the code or any of the content of the asset. Я тупой, но тут redistribute значит нельзя типа мне самостоятельно распространять повторно какие-то элементы и части кода? просто я сначлао подумал, что нельзя типа изменения вносить в код, как правильно?
>>498363 >И? В этом нет никакой проблемы. Разумеется, массивы будут фиксированного размера, в твоем случае порядка 1Мб, что очень, очень мало. И кидать туда-сюда всего лишь 1 раз за кадр это ваще нихуя не нагрузка.
плюс сам массив векторов, плюс хуйня, плюс муйня. каждый фрейм это таскать на видеокарту тоже неочень. но наверно придется сделать и оставить как опцию, да.
>ГРИД не, входные данные слишком подвержены кластеризации. нахуй.
>И замеряй твою хуйню на всех трех алгоритмах. а я, кстати, замерил. если интересно то для небольшого количества векторов победило к-мерное дерево. для больших квадродерево. хотя в моей имплементации к-мерное дерево получилось более адекватным решением. вообще, квадродерево выигрывает по скорости составления дерева только если пользоваться пиздилионом листов. и хуй его знает сколько там листов понадобится. а если не знать то эти листы потом по всей памяти тонким слоем размажутся. подскажите хороших имплементаций квадратодерева.
>а вообще, лучше бы пиздовал делать игру, или в /пр нахуй, это твое ебаное теоретизирование нахуй тут никому не сдалось а там уже им придется объяснять юнити-хуюнити. вообще чего ты? не одни же таскатели ассетов тут сидят!
>>498468>>498470 я бы лучше сделал свой граф с блудницами и игрищами и максимум что спиздил у астара это собственно сам а*. все таки сам поиск пути и графы-хуяфы очень малая часть самого астар. там охуеть сколько шелухи, а функционального кода не так и много. я читал.
>>498500 лол какое ты говно мамонта откопал. а просто вычесть из координат мыши координату глаза, нормализовать и умножить на то как далеко глаз должен крутится не?
Cкоро перекот, но всё же. Как получать объект, заинстансенный из кода? Вот например я в цикле спавню 10 префабов, у каждого имя "TileContainer(Clone)". А я еще хочу запихнуть в каждый по одному объекту. Как мне выбрать конкретный?
Ребзя, есть класс биржы, и в нем различные события, но вот символов то много, ну например рассылки апдейта ордерубка, я могу быть пописан по вебскоету от одного до десятка ордербуков, (сотни пар на некоторых биржах). Все хуярю одним события. А в классе подписчике уже дергаю со словаря конкретный экземпляр. Такой вот костыль, все правильно делаю?
>>498486 >Как ты игру сделал даже не представляю, спиздил у кого-то с гитхаба? Сам навелосипедил почти 17 loc
>ставишь на узел тег названия страны и на юнитов вешаешь разрешение ходить по узлам с тегами своей страны Но это же хуйня. Стран может быть пара сотен, + союзники, по врагам тоже можно ходить. Куда проще было бы фильтровать узлы в нормальном предикате, а не сравнивать по каким то тегам с названиями
Перевод ДокументацииАноним16/05/18 Срд 12:16:47#1002№499491