Вы видите копию треда, сохраненную 23 ноября 2016 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Где скачать?
На официальном сайте.
Где взять уроки?
На официальном сайте.
Где взять текстуры и модели?
На официальном сайте.
Предыдущий тред - https://2ch.hk/gd/res/277225.html (М)
>NullReferenceException: Object reference not set to an instance of an object
TwoSidesCover.calcCover () (at Assets/Scripts/TwoSidesCover.cs:20)
TwoSidesCover.Start () (at Assets/Scripts/TwoSidesCover.cs:62)
http://pastebin.com/8zdyrXXV
При клике на объект эксепшн не выскакивает, только если засунуть CalcCover в старт.
>Object reference not set to an instance of an object
>(at Assets/Scripts/TwoSidesCover.cs:20)
Используй. Ну только не пихай его в Update() и т.д.
У тебя currhit это RaycastHit, а ты в 20 строчке пытаешься достать из него transform: currhit.transform.GetComponent<NodeMaterial> () - вообще бессмысленная хуйня какая то.
Но его нет в твоем хите потому что не было коллизии. Пиши if (physcis.rayacst(...)) {...}
У УЕ4 есть комиссия по этике, Твоя игра не должна нарушать закон, под которым может быть что угодно вплоть до иска от тумблерин у Юнити есть что то подобное?
Модель тупо разваливается на составные части.
google -> blender export to unity
>у Юнити есть что то подобное?
Нит. Но если ты заработаешь 100 тысяч за год, то должен будешь купить ПРО лицензию.
Изверги.
http://docs.unity3d.com/ScriptReference/Rigidbody.MovePosition.html
Тут вот что делается:
void FixedUpdate() {
rb.MovePosition(transform.position + transform.forward * Time.deltaTime);
}
Разве не fixedDeltaTime должно быть?
Погуглил.
Как я понял суть в следующем:
есть состояния и события, из одного события в другое есть переход.
Например у нас в игре 3 состояния: меню, загрузка уровня, сама игра(представим что такая архитектура).
И мы делаем так что из меню мы можем перейти в загрузку уровня, а оттуда только в саму игру, но при этом сразу перейти из меню в саму игру нельзя.
Я на верном пути?
И ещё про события какие-то там пишут, но я так понял это просто разная реакция на события в зависимости от состояния, так?
Агам, именно оно.
Оно позволяет, в частности, избегать деревьев if при правильном проектировании и, что намного важнее, не допускает промежуточных состояний, что исключает целый класс багов.
На нем пишут в основном контроллеры, анимацию и AI.
Есть один GUIText который надо показать в определенный момент, а не постоянно. Как это сделать? Есть ли у него метод какой нибудь, типа GUiText Sraka.text метод текст в котором пишут текст который хотят вывести.
Смысл в том, что в стандартном инпуте ты вынужден сосать хуй без возможности переназначить клавиши во время игры.
Упоротый штоле?
Это самая известная проблема юнити с его стандартным инпутом, которая не решается уже целое десятилетие
А что мешает использовать Input.GetKey() и тупо его изменять при изменении настроек управления? кроме того факта, что это немножко геморно
У тебя модель в блендере не скреплена значит
>Ну на ось можно хуй положить.
Ну если только ты кликер какой-нибудь делаешь, но тогда вообще не понимаю, зачем может понадобиться переназначать клавиши
я про Input.GetAxis
Пошел нахуй отсюда, даун
freesound.org
При загрузки билда происходит долгая загрузка первой сцены (серый экран после логотипа Юнити (да, бесплатная версия)), даже если ставлю первой пустую сцену. Что делать, куда смотреть?
http://pastebin.com/W72Sxrmb
Суть вот в чём: игрок вращается в определённую сторону на w,s,d,a(можно одновременно w и a например) и движется вперёд. Когда игрок ничего не нажимает он начинает останавливаться, когда скорость движения очень маленькая он переходит в состояние idle.
Все правильно сделал? В принципе движение игрока меня устраивает.
У тебя не конечный автомат, а какая-то жалкая пародия.
Вот это
http://gameprogrammingpatterns.com/state.html
средней паршивости реализация, но уже намного лучше твоей.
А вот это https://youtu.be/4FSeuQ7UjrM идеальный вариант, сам им пользуюсь, брат зависим, жив есть.
Но тебе для того чтобы его вкурить надо очень хорошо понимать ооп, ты должен уметь в контракты интерфейсы и, в идеале, понимать что такое события и делегаты этот пункт на первых порах не так важен
Имхо чот дохуя ифов, суть стейтов же именно избавиться от ифовых конструкций. Но кагбэ если тебя страивает движение и скорость - чому бы и нет.
Интерфейы события и делегаты это не сложно, так что пойдёт.
>>293892
А как надо? И что в том варианте не так?
Для того чтобы понять видео, нихуя хорошо вкуривать не надо, нужны только основы.
Ну ифы можно кейсом заменить легко. И большинство ифов там это проверка нажатия клавиши.
GameObject govno = (GameObject)massiv.get(10);
по поводу метода get не уверен, я не знаю как тут у вас из аррей листа элемент получают.
спасибки.
Undefined symbols for architecture arm64:
"_OBJC_CLASS_$_SKStoreProductViewController", referenced from:
_OBJC_CLASS_$_CustomStoreProductViewController in UnityAds(UnityAds)
"_OBJC_METACLASS_$_SKStoreProductViewController", referenced from:
_OBJC_METACLASS_$_CustomStoreProductViewController in UnityAds(UnityAds)
"_OBJC_CLASS_$_CTTelephonyNetworkInfo", referenced from:
objc-class-ref in UnityAds(UnityAds)
"_OBJC_CLASS_$_ASIdentifierManager", referenced from:
objc-class-ref in GA_UserID.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Обычно все проходит гладко, когда я собираю на маке, такая хрень произошла после сборки на винде. Гугл молчит. Пересобрать на маке сейчас не могу, а мне надо побыстрее выложиться -соснуть хуйцов заработать миллион- соснуть хуйцов.
>иксодовский проект
дебил, блять
http://stackoverflow.com/questions/33321897/xcode-7-1-symbols-not-found-for-architecture-arm64
А как надо делать? Я увидел что так делают на оффициальном сайте юнити -> сделал так же, я же не могу знать как тут у вас это все делается.
На официальном сайте так же и про интерполяцию говорили, и про флаг "кинематик", где ты явно не дочитал.
Когда запускаешь игру Stats нажимаешь.
>>294112
http://docs.unity3d.com/ru/current/Manual/class-Rigidbody.html
ты же про эту статью?
Я сделал rigidbody кинематик и все работает плавно, но мне нужно чтобы оно обычным было. Интерполяция не помогает.
http://docs.unity3d.com/ru/current/ScriptReference/Rigidbody.MovePosition.html
Я про эту статью.
>If Rigidbody interpolation is enabled on the Rigidbody, calling Rigidbody.MovePosition results in a smooth transition between the two positions in any intermediate frames rendered. This should be used if you want to continuously move a rigidbody in each FixedUpdate.
>If the rigidbody has isKinematic set false then it works differently. It works like transform.position=newPosition and teleports the object (rather than a smooth transition).
Если тебе нужно двигать ДИНАМИЧЕСКИЙ ригидбади, для этого есть сила и импульс.
Спасибо, теперь как надо работает.
>Stats
Профайлер находится в меню Window - Profiler, а это короткая не информативная выжимка.
и все-равно ничего не работает
ld: library not found for -llibaotp
clang: error: linker command failed with exit code 1 (use -v to see invocation)
А ты правильно подключил свою рекламу? Ап-ту-дэйт и все такое? Явно же что у тебя конфликтуют рекламные ассеты.
>все работало нормально
>@
>пока хуюнити не обновил
Ассеты под разные версии хужно перепиливать, есичо.
А есть что-то в текущей версии юнити, чего нет в твоей, но очень сильно тебе нужно? Ты бы почитал список фиксов и изменений, для начала.
Может случиться, что ты заебешься переписывать код под новый апи, а может - только одну строчку сменить. Все зависит от твоей и текущей версии. Как правило лучше не выебываться, если далеко зашел. Особенно если при этом еще и ассетов натаскал. Чужой код разгребать хуже всего.
Наверняка у тебя там в либах симлинки были, которые на винду не перенеслись. Вот чего-то в проекте с винды и не хватает
мимоньюкек
Вопрос скорее для интереса. Вот представим я пилю игру уровня ксенуса. Как сделать "круг отрисовки" и как его регулировать ?
Ведь большие площади убьют если их разом рендерить.
И второе, как обставить что бы ИИ симуляция работала даже когда игрок её не видит ?
Два слова - околюжен куллинг.
Два слова - ти питух)))
Но я не лучший даун.
нет
Вот я хочу класс оружие к примеру, делаю там виртуальный метод атака. Потом делаю несколько новых скриптов-компонентов которые наследуются от оружия и реализуют метод атака.
Потом где-то в скрипте которым контролю игрока вытаскиваю компонент оружия из геймобжекта оружия и вызываю из него атаку. Так можно делать? Или тут тоже самое как-то по-другому можно сделать?
Не надо никакого ООП. Отправляешь сообщение "Fire" и все. В обработчиках этого сообщения в компонентах можешь хоть Аллаха призывать
О, спасибо.
>Можно, но иди нахуй блядь.
Меня тимлид постоянно ебал за то что наследование не юзаю.
"Вот я оверрайдю функции, и ты так делай".
Потом его пидорнули к хуям.
Его так в вузике научили, инфа сотка.
Обожаю блядь распутывать охуительный код, в котором аж по семь поколений.
Стараюсь, но зайдя на двощи меня снова пробивает, настолько силен мой жопный огонь.
А если я хочу сделать несколько видов оружия и у каждого свой эфект стрельбы и своя моделька - как мне это лучше всего сделать? Я конечно могу сделать ебанутый компонент оружие, в нем хранить тип оружия и при атаке ифом проверять тип и делать что-то, но я не хочу так делать.
Как нормально это сделать можно?
Вот если бы я с каждого оружия мог один и тот же компонент получить(реализующий интерфейс оружие например) и обращаться к нему - было бы здорово. Так можно?
Пилю под мобилки, нужна максимальная производительность.
Да, композиция через интерфейсы и строится. Создаешь, например, интерфейс IMagazine, и делаешь кучу разных магазинов, которые этот интерфейс реализуют. И через интерфейс к ним обращаешься в пушке. Например можно создать переменную magazine и в неё передать объект класса IMagazine, и при необходимости просто назначать вместо старого новый, а старый удалять.
Магазин правда весьма хуевый пример, для него интерфейс это дикий оверхэд. Но вот если у тебя есть десяток видов патронов, как в борде, это имеет смысл. Типо есть магазин с взрывными пулями, а есть с зажигательные, и у них разное поведение.
Принцип композиции это когда ты берешь абстрактную винтовку, создаешь на ней интерфейс "планка пиккатини" и к ней хуяришь все что тебе может понадобиться, при желании заменяя это на ходу.
В случае с наследованием тебе бы пришлось создавать десяток ебаных пушек наследников, что намного хуже воспринимается мозгом чем простые навесные модули.
Что касается производительности, то не юзай SendMessage, это очень дорогая функция. Ну и рефлексию не юзай. И не генерь тысячи объектов, чтобы в следующем кадре их удалить, кешируй.
Такие дела.
Через GetComponent
хохол плиз
Если ты упоротый SendMessage-фоб, то можно так
foreach (IFireable comp in weaponObj.GetComponents(typeof(IFireable)))
comp.OnFire();
transform.rotation = Quaternion.LookЧто-тоТам
А луну не могу сделать. Ибо с ней такой темы нет. Мне делать отдельную камеру которая в узком фокусе будет луну держать и у которой дальность отрисовки овер 9000 ?
Тоже вчера муда посмотрел. Охуел конечно с того как сталкер до сих пор непревзойден. Фоллач после него смотрелся польским шутером без баллистики и интеллекта врагов.
Я никого не смотрел. Давно хочу свой проект сделать (Эдакая смесь сталкера и ксенуса)
Но мешает то что в проггерстве я тупень.
я же из дотатреда, там все современные мемы, вступай к нам будешь тоже тральит)
Мамку свою просить ответить будешь, дотадебил обоссанный
Я провел следующий тест: в первом случае получение компонентов через интерфейс и вызов метода. Во втором случае SendMessage. И в третьем случае кеширование компонентов с интерфейсом и самостоятельный вызов метода.
Как видно, каждый раз производительность падает вдвое. При этом в целом SendMessage работает достаточно быстро, и игра по его оптимизации просто не стоит свеч.
Вывод: пишите SendMessage();
>Не одна наносекунда, а целых 3!
Ты мне напоминаешь этот баннер vg с производительностью видеокарты
Когда начнешь делать что-то больше змейки и будешь охуевать куда ресурсы утекают и юнити постоянно крашится - тогда поймешь чо
Делаю что-то больше чем змейка, ничего не падает.
Ты либо былинный говнокодер, либо нищенка на некрокалькуляторе.
Хуево быть тобой.
Юзаю юнити 3 года и ничего ни разу не крашилось. Ты с уе4 не путаешь?
>ЯСКОЗАЛ
А потом ещё и удивляются, почему юнитиподелия на любой платформе считаются тормознутым говном
Лол, то же самое. Делаю игорь с физоном, гигантскими, по меркам телефонов, спрайтшиты и играю на слабеньком телефоне в него без проблем. С тобой что-то не так.
Алсо, даже если такая проблема присутствует в редакторе, то это не значит что проблема присутствует на устройствах. Особенно учитывая особенности сдк под разные платформы и архитектуру самих устройств. Возможно даже что в редакторе это сделано намеренно, как фича, пушо вся эта ебала, запущенная в дополнительных тредах, не подлежит сериализации, и е может быть сохранена в состоянии, которое потом можно воспроизвести после запуска игоря от места остановки.
В общем без подробной информации ты нахуй послан.
Повсюду примеры со всякими пул менеджерами и прочим.
Можно сделать просто 2 линкедлиста - один с активными, другой с неактивными объектами?
>Я ЗАСТАБИЛЬНОСТЬ БЕЗ МНОГОПОТОЧНОСТИ, НО ЗАТО КУКАРЕКАЮ
Тебя эта проблема не коснется, не переживай
Пили дальше свой кликер про мемсы
>>294882
Сам себя не похвалишь - никто не похвалит.
Давай пруфы твоей гигантской игры которая и с говнокодом не тормозит на слабеньких телефонах
Моя в мобилкотреде есть, тапалка типа флаппи берда. Но сначала детектор почини.
Лол, ну если под гигантской игрой ты понимаешь что-то совсем охуеть большое, то сходи и поиграй в столбы. На моем некролептопе не тормозит. И вообще завязывай с толстотой, а то становится просто неприятно тебя кормить.
>внезапно гигантский = мелкая поделка уровня флаппи
>съехал на другую игру
>съехал с мобилок на лептопы
а ты забавный, выкручивайся дальше
Флаппи берд это механика. Она о комплексности игры ничего не говорит. Сам сходи и посмотри, о чем речь. Алсо, вышла вторая часть игры, с которой я свою и клонировал. Написана на либгдх, ручками. На той же мобилке - тормозит безбожно. Шах и мат.
Можно, но для проверки обоих списков все равно нужно писать менеджер, лол. Дерзай.
Если порассуждать логически, то хуюнити и не должна их завершать, но определенную головную боль и подводных камней это явление накидать таки может.
За целый день непрерывной работы с хуюнити, когда каждые 3-15 минут запускал проект, ничего не вылетело и не зависло, при том что в сцене было до тысячи объектов. Так что похуй.
Проблема чисто редактора. Не вижу повода для беспокойства. Очевидно же что у билда такой хуйни быть просто не может.
Ну например, сделал пустынную локу тиррейн 2к*2к + скалы/пещеры/проходы + растения + практиклсы, в итоге - 3 ляма поликов. Для моего старого ноутбука (7 лет давности), это сложно осилить Даже Robocraft, на низких шел в 40 фпс если просто в небо смотреть, и падал до 12 в замесах. Скайрим на средних в 30 фпс, лол Так вот, какие должны быть границы в количестве полигонов на сцене для мидл/топ пк?
Вполне возможно, что это говно может всплыть при загрузке сцен во время игры, но я пока не проверял
Ну как проверишь - отпишись. Проблема то все равно решается легко, но лучше бы знать об этом заранее.
Дело не в том, сколько полигонов у тебя в сцене, а сколько ты их обрабатываешь на экране. Все остальное за тебя сделает юнити, с правильной подстройкой, разумеется. Начни, например, с того, что правильно настрой куллинг, батчинг и позаботься, чтобы твои компоненты работали когда это действительно нужно (при рендере, в радиусе от камеры етц).
Окей. Как например батчить объекты на сцене? Самый эфективный способ, помимо всяких ассетов для этого?
Батчинг - нативная фишка юнити. В официальных доках есть и описание, и руководство. Советую почитать, перед тем как задавать такие вопросы и приплетать не относящиеся к делу вещи.
Ну на андроиде вылеты это в пределах нормы(по крайней мере для тех кто либо пердолиться с прошивками), так что все ок.
Посоны, такой вопрос: у меня весь интефейс пока был на NGUI и все собственно утсраивало, но вот подвернулся компонент на ассетсторе 10 из 10, то что мне надо. Но беда в том что он до мозга костей сделан на uGUI. Отсюда возник закономерный вопрос: можно ли и рыбку съесть и нахуй съесть? Они будут работать вместе/паралельно? Кто-нибудь с таким сталкивался?
Васяны с говноплагинами должны страдать
Пока не появится более лучший движок (никогда)
Через 10 лет хуюнити станет универсальным движком вообще для всего, даже появятся официальные плагины, превращающие его в редактор трех и двухмерной графики, моделировать ядерные взрывы будут в хуюнити, собякин презентацию новой москвы будет показывать в хуюнити, новые криптомессенджеры недоступные для петухнадзора будут на хуюнити, и даже небо и аллах
будут на хуюнити
По идее первое может иметь нагрузку, потому что остается в сцене, хоть и выключено, а второе удаляет вообще. Но может я ошибаюсь.
В игре по сути объектов на сцене мало, поэтому такая маленькая оптимизация погоды не даст, но на будущее заранее знать хочу.
Хватит базовых основ, остальное специфичные функции Юньки, которые освоишь по мере практики.
Подводные камни в том, что юнет доступен ПРО пользователем и там нужно платить за трафик. Лучше смотри в сторону Фотона. Они уже давно на рынке и скоро релизнут ещё Bolt со подключённым стим-апи, который идеально подходит для авторитарного сервера. И релизнут какую-то крутую замену PUN'а. Юнет пока полностью отсасывает у них.
Рекомендуют именно пул объектов, потому что удаление будет дёргать сборщика мусора, а это может порождать фризы. Но тут ещё многое от платформы зависит.
Гамак гнется от оверпрайса, а не от того, что ему много годиков. Не путай хуй с пальцем. Если бы не это, то для мобилок по популярности гамак бы был впереди планеты всей. Среди гуманитариев, естественно.
>>294992
Оптимизация - это в превую очередь мозги. Если тебе не нужен объект в данный момент, его нужно отключить. Пушо инстансировать его потом намного дороже. Если тебе он вообще больше не нужен - удалить.
Рожденный велосипедистом игры делать не может.
>пул объектов
Каким образом пул относится к удалению или сборке мусора? Пул это просто список. Что ты с ним будешь делать в итоге, то и вылезет тебе потом боком. Я уже не говорю о том, что сборку мусора можно проводить и вручную.
Я имею в виду, чтобы работать удобнее было.
Нахуй такие конструкторы, в которых аж 12 параметров? Оптимизируй данные тогда. Для конструктора достаточно, например трехмерного вектора, вместо трех параметров x,y,z. Вообще я еще не встречал таких конструкторов, чтобы аж 12 полей понадобилось.
Сократил до 7, но как-то даже хз, на какой стул сесть: плодить структуры, или оставлять кучу параметров.
Структуры пока удобнее кажутся, впрочем.
Ну ты же в любом случае используешь какие то общие классы для этих данных. Утрированно у тебя есть классы, обладающие какими-то общими свойствами. В конструктор ты отправляешь класс, а уже в самом конструкторе достаешь из класса нужные данные. Не могу объяснить конкретнее, потому что не знаю с какой целью ты плодишь по десятку параметров и для чего тебе такие монструозные конструкторы нужны.
Отличный вариант, кстати
Ну в плане если человек думает ага, нужно НАЖАТЬ на это окошечко и нажать исследовать такую теху, то как делает ии ?
Пикрандом
> то как делает ии
запускает функцию исследования в обход интерфейса (ЧЕРЕЗ КОНСОЛЕЧКУ), очевидно же
В общих чертах принятие решений ИИ аналогично принятию решений игрока.
Очевидно кнопАчка вызывает функцию ЗАПУСТИТЬ ИССЛЕДОВАНИЕ, а ии просто при каких то условиях вызывает void ZapustitResearch(tvoyaMamka);
То есть для него нужно запилить свою гравитацию?
А, забыл упомянуть - кубик получается полностью чорным.
>>295051
Хорошо, но как ИИ собсно понимает когда отдать команду на это. А ведь бывают разные ситуации в том же стелларис я бывало отбивал планеты и по идее исследование (точнее его длинна по времени) удлиннялось.
Тогда отключается коллижион детекшн и солвер. В общем тупо сделано.
Ну ты француз. Такое простое и гениальное решение, мне даже обидно, что я до такого не додумался. Спасибо, братишка.
Когда совокупность условий удовлетворяет требованию на исследование. А если удовлетворяет нескольким, нужно формировать приоритет, в зависимости от других условий. Это все на уровне алгоритмов и блок схем. Нарисуй на листке бумаги и тебе станет проще.
Энжой йор фризы.
Ну проверь просто будет ли работать или нет.
Я поднимаю белый флаг!
Нужно знать, что на ассет сторе есть для этого ассет.
Второй: как нагуглить уже готовый ассет густой слизи, консистенции густой краски или чуть более жидковатой сметаны, ну вы понимаете? Что бы плотность и текучесть можно было подкрутить под свои нужды скажем так.
Смотря как у тебя организована игра. В любом случае сначала пользователю придется обновиться до новой версии.
Ну я же не тралю, просто нюфаня в этом, хотел узнать.
Как сделать это из одного скрипта? Сделать его статическим?
>Каким образом пул относится к удалению или сборке мусора?
Хранишь объект - он не удаляется.
>что сборку мусора можно проводить и вручную
Ты лишь можешь попросить среду сделать тебе одолжение. А что в результате она сделает - хуй знает. У тебя нет прямо доступа к очистке памяти.
Нельзя. Тебе нужен класс, который хранит инфу о нажатии рычага. При загрузке новой сцены, это класс нужно обработать, и произвести нужные действия.
>Ты лишь можешь попросить среду сделать тебе одолжение.
Нихуя. Можно заюзать pile и ложить хуй на GC. Из минусов - это путь деграданта, будешь байтоёбить и сосать хуи. Почти такая же педерастия, как кресты, но не кресты.
я бы сделал так: объект со скриптом с переменной, который сделать DontDestroyOnLoad
либо можно сохранить информацию в PlayerPrefs в одной сцене и считать в другой.
гугли Fluid Simulation, еще в сети вроде был очень-очень старый общедоступный скрипт с уткой Rubber Simulation, там был набор параметров также для "Желе"
как вариант, возможно просто удастся использовать компонент Cloth?
Если нужен не особо интерактивный эффект, вроде капающей из разбитой трубы слизи, проще всего наверное будет сделать вертексную анимацию в каком-нибудь 3д редакторе, типа неколько состояний: накапливание массы, вытягивание в каплю перед моментом отрыва, сжимание в шар в момент полета, и плюханье на пол с брызгами и растеканием, а в юнити уже управлять блендшейпом кодом в зависимости от "фазы"
>хранишь объект - он не удаляется
То есть привести его в нужное состояние менее ресурсозатратно чем инстансировать новый или удалить старый? Пул это не универсальная волшебная палочка. Держать десяток пустых объектов, чтобы не создавать их каждый раз - хорошо, держать десяток объектов с кучей параметров - не очень. У всего своя цель.
>сделать тебе одолжение
Я бы сказал - дать распоряжение. Да и что в результате сделает система тоже ясно - очистит память, если это возможно. Рано или поздно. Как бы то ни было, а ручная сборка мусора все равно станет вопросом. Я столкнулся с неприятными проседаниями именно из-за ненужной автоматической сборки. Каков бы не был ее результат.
Язык ласкательных утех для анусая.
Как сделать что бы персонаж поворачивался мышкой ?
Есть уже готовые скрипты на обзор мышкой, и двжение персонажа. Остаётся лишь что бы он поворачивался по горозионтали в зав-ти от положения мышки.
Во всех гайдах на A или D, но удобнее сделать поворот по осям мыши.
Посоны, а как можно синхронить один проект на паре пк, бесплатно, без смс?
Я так понял, за бесплатно любой мимокрокодил сможет видеть/добавлять/менять что-то в моем проекте?
Нет. Если будешь юзать гитхаб бесплатно то любой сможет на основе твоего проекта свой сделать, но именно в твой лезть не сможет. Менять в твоем могут те кому доступ даш.
Ещё есть битбаккет, там бесплатно можно закрытые репозитории делать, которые никто не сможет видеть кроме тех кому доступ даш.
Спасибо.
>>кококо гитхаб не гит, кукарек социалочка хипстерки кудах
>
>найс рофлиш братишь))
для тебя и яндекс.фотки с фотошопом одно и то же, я погляжу.
очевидно же ты обосравшийся ньюфаг никогда не слышавший о гите
Хочу сделать простой мультиплеер, не обязательно убер быстрый, не шутер, но хотя бы уровня майна.
GetComponent, как следует из названия, возвращает компонент. Что в этих простых истинах тебе непонятно?
То что я написал, очевидно.
Компонента хуюнити нет, но есть компонент который реализует интерфейс хуюнити.
Значит ты должен получить тот компонент, который есть, а из него уже получить то, что тебе нужно. Разве не очевидно, что при попытке получить доступ к компоненту, которого нет, ты получишь нулл?
Но есть компонент который реализует интерфейс и я уже затестил все работает как я написал, а ты отвечаешь когда сам не знаешь.
Персонажи прорисованные (как в Брейд) не "пиксельные", с ИК-скелетами, адон спрайт&бонс.
Довольно большие и сложные, чтобы мне было западло делать спрайтшит.
Потребовалось заанимировать кое-что посложнее чем "шаги, прыжки, бег"
А если быть точным - катсцены.
И тут начинается пиздец - если, например, у персонажа по катсцене падение, до поворачивание и перемещение Hip почему-то действует на персонажа и остальные анимации, всё адово глючит, выворачивается. Нужно сделать флип тела в обратную сторону - пиздец.
Поднять сброшенную шапку - пиздец (ведь она привязана к телу/хипу) и т.д.
Как же это правильно сделать?
Откуда нам знать почему твой васяноаддон пидорасит после твоих анимаций.
>Как же это правильно сделать?
Очевидно выключать васяноподелие когда проигрывается анимация (ты ж дефолтным аниматором делаешь?)
>Толсто.
Почему толсто-то. В сущности этой простой алгоритм который автоматически находит переходы между состояниями т.е. тебе не надо их хардкодить.
Пусть у тебя небольшой оверхед и поначалу кажется что обычные состояния сделать проще, но преимущество goap в том, что у тебя получается декомпозиция всех состояний. Ты в любой момент можешь добавить и удалить любые состояния без имзенения строчки кода! Это короче как ООП архитектура vs компоненты
> А если я делаю GetComponent<Huyunity>(), и на этом геймобжекте висит компонент Velosiped, который реализует интерфейс Huyunity, то я получу этот самый Velosiped?
Нет, ты получишь его интерфейс. Но для тебя разницы почти не будет.
Нахуй путешествуй отсюда, нуб ебаный.
Чувак там дико охуел от таких предложений, он даже простейший конечный автомат не может написать, а ты ему гоап предлагаешь.
пиши сюда логин с паролем от почты и через минуту придет письмо с подтверждением
Но зачем?
Бред. Надо изначально делать правильно, а не быдлокодить, а потом полировать говно. Это как делать все переменные пабликами, чтобы не париться с вызовом, а потом мол в конце выставлять им правильные протектеды.
Почему тогда все работает, я делаю Weapon c;
c = GetComponent<Weapon>()(хотя такого компонента нет, но есть который реализует этот интерфейс), вызываю метод Attack и все работает?
При помощи текстур. Из меша вытащи позиции вершин и дальше расставляй партиклы как тебе нужно.
Так можно теперь? Просто раньше тамм было ограничение что тип должен быть компонентом. Я-то по старинке пишу GetComponent(typeof(IWeapon))
Ну у меня работает.
Я сделал так: к костям привязал квадратные коллайдеры, сделал их триггерами, приделал риджидбоди, чтобы работал обсчет столкновения. Потом снаряд со своим коллайдером при столкновении вызывает функцию урона. Проблема в том, что засчитывается очень коряво и через раз.
В чем хуевость моего подхода? Мне кажется, что функция GetComponentInParent тяжеловесная, а она вызывается при каждом "ударе". Может из-за этого плохо срабатывать? Или что еще?
Ах, и что нужно выставить в риджидбоди в полях Interpolate и Collision Detection чтобы срабатывало? У меня снаряд быстрый, я выставил соответственно Interpolate и Continuous
Ну, у меня очень специфичный снаряд, наверное лучше было бы пример с мечем привести. То есть на снаряде висит коллайдер, а движение обеспечивается анимацией. Наверное так бы я сделал с мечем, у которого есть анимация атаки.
Что-то не помогло. Все еще есть недетектируемые столкновения.
>2016
>нельзя контроллировать симуляцию физики вручную. например уронить объект за один кадр.
>есть сцена 1 там есть объекты, они скриптом то актив, то пассив
>подгружается сцена 2 - там свои объекты
>потом обратно сцена 1 и все объекты ресетятся в начальное состояние.
>а хочется чтобы сцена подгружаась в том состоянии в каком ее оставили.
Подскажите как в юньке разумно передать данные между сценами?
Пока только публик статик дунотдейстройонлоад
Делать правильно и оптимизировать это две разные вещи, еблан.
>Сериализация
>Разумно
Кек.
Сериализация нужна чтобы сохранять в файл. Зачем сериализовать данные об объектах, если их можно хранить в их девственно первоначальном виде?
А сериализовывать ты собрался не в ручную? Плагином из ассетстора поди
Ой, а работы там пиздец, строк на 10. Лучше все свойства руками писать.
Ну в любой поток, какая разница-то. Суть в том, что зачем что-то сериализовывать, а потом полчаса десериализовывать все во время загрузки, если можно просто сохранить, например, Vector3. А в случае классов ты вообще просто копируешь ссылку и все.
Нихочу.
У тебя два десятка объектов, у каждого помимо трансформа и/или физических свойств, нужно еще сохранить приобретенные в ходе игры свойства. У каждого объекта они могут быть разными. То есть для каждого такого объекта нужно написать метод сохранения свойств, в методе определить конкретные для каждого объекта свойства. Потом это нужно куда то передать, и при подгрузке уровня определить, каким объектам какие свойства вернуть. Сериализация намного упрощает этот процесс.
>То есть для каждого такого объекта нужно написать метод сохранения свойств, в методе определить конкретные для каждого объекта свойства.
Сам Кармак так делает.
Вот я об этом и говорю. Такая лента для каждого объекта это чересчур, когда добрые дяди сделали все за тебя, и нужно только брать и пользоваться.
'1 пик - глосс; 2 - спекуляр; 3 - настройки в юнити; 4 - различия между глосс и спекуляр картами.
Если Бог геймдева так делает, то и мы должны так делать.
Пилю 2д парашу
Камеру в ней запилил такую, что она следует за гг, но если подходить близко к краям уровня, то тогда будет видно то, что находится за уровнем (где текстур нет)
Как лучше всего сделать , чтобы камера останавливалась и не шла дальше за героем на краях уровней?
Кидай рейкаст по бокам от персонажа боку но пико и если расстояние от начала рейкаста до стены меньше такого-то числа - останавливай камеру.
Если ты сам не можешь определить где у тебя кончается уровень, то мы это тем более не сможем сделать
Э, генерируй какую нибудь фичу по краям уровня, типа коллайдера, как только камера пересеклась -"стоять-бояться".
Есть какая-нибудь функция, проверяющая пересечение конкретно камеры с "чем-либо"(тем же коллайдером)?
рандомпик
А зачем? Вешай емпти, вешай ригибоди, делай что-хочешь.
Короче бля, делай две палки по бокам от камеры, делай для них рельсы на уровне, чтобы они по ним скользили за игроком, подключай под это дело физику и катайся за игроком как поезд по шпалам. Охуенно же.
Рано тебе с такими знаниями игры делать, мальчик. Не срамился бы ты, а лучше основы подучил
Это не сработает если на уровне есть этажи разной ширины.
Лучше бы мне интерполировал, а заодно рассказал в чем проблема.
Точно. Добра тебе.
Да, всегда так делаю.
Взрывов должно быть много!
Как? У меня не перетаскивается. Префаб называется gr. Есть такой код:
>public GameObject gr;
>Instantiate(gr, new Vector3 (0, 0, 0), Quaternion.identity);
Пишет gr not assigned. Как передать ему префаб? Кроме того, у скрипта прописано Gr, в инспекторе, что бы это ни значило.
Используй JSONUtility от юнитеков. От нее не такой пизданутый оверхед, как от всяких там плагинов из ассетстора с рефлексией.
Но это говно для тупых пидоров, нормальный пацаны давно порются в protocol buffers со скомпилеными сериализаторами данных. Да "сложно", да, муторно, зато ничего быстрей и компактней ты не найдешь.
А кармак этот ваш хуесос и быдло.
мимоПРОбыдло
Подразумеваю что в двумерном массиве лежат сведения о проходимости к которым я обращаюсь путем вычислений из вектора позиции агента, ну ты понял..
навмешы для этого придумали
Печаль, беда. Пойду переделывать.
Я не про это.
>>296008
Ну пиздец. Только платформер из 50 спрайтов на этом говне можно сделать?
JSONUtility быстрее протобафа, сосни и утрись, манька.
Делаю йоба-тулзу как в блюпринтах.
Дебил, ни один движок тебе разом миллион спрайтов не отрисует. Иди лечись уже, а потом руки вправляй. И про партиклы почитай тоже, чтобы хуйней не заниматься.
>>296146
YobaMark на юнити. Движок тормозит уже при нескольких тысячах йоб
http://googledrive.com/host/0B58U0cNOPxQQTjJZTTFKOGlWYlU
То, что делать бенчмарки в браузере - долбоебизм. И не нужно приплетать сюда разные нерелейтед поделия.
Так это бенчмарк браузерной версии. Или по твоему все игры должны запускаться на топовых пекарнях?
А тоже самое с физоном есть?
Да.
>сравнивает 2д и 3д рендер
>в браузере
А тебя не смущает что твое поделие заточено именно на 2д бенчмарк.
А та срань что ты сделал, заточена на твой кривой зачаток мозга.
>the browser could not allocate enough memory for the WebGL content
Может все дело в тебе?
Ах да, этот пикси не выдает даже 60 фпс при двух кроликах) Представляю какой у него запас прочности с игровой логикой и двумя тремя мегапиксельными тайлсетами. Огонь!)
>>the browser could not allocate enough memory for the WebGL content
На калькуляторе двачи читаешь? потому что у меня даже на телефоне все работает
На анусе твоей мамки. Я не знаю как ты умудрился засрать свое поделие, но факт налицо. Другие игори идут без проблем.
Это наверное тот даун, которого собственный браузер унижает и не дает скачивать файлы с ргхост. Не ебу что за поделие у него. Браузер Куранина какой-нибудь
Т.е. что будет лучше - одна моделька с двумя материалами или две модельки, у которых по одному материалом на каждой?
Хуярь по маске, дибил блядь.
Можно обойтись и 1 материалом, ты для свечения свою "текстуру" (маску) задать можешь
>одна моделька с двумя материалами или две модельки, у которых по одному материалом на каждой
Для движка разницы никакой , но работать проще с одной моделькой
В стандартном шейдере есть Emission, добавь туда текстуру, в которой альфа 100 - области светимости, альфа 0 - несветящиеся области. И потом в рантайме скриптом можно управлять светимостью и цветом свечения.
какую геймплейную механику или эффект ты хочешь сделать при помощи нескольких тысяч йоб? Мегамультилеерный понг может быть? Или дохуядцать-в-ряд, а? Или это будет такой прям пиздец какой красивый взрыв, что сотни тысяч искр-йоб, каждая размером в пиксел будут мельтешить на экране, покрывая его плотным шевелящимся слоем?
Да, каждое приложение имеет свои технические ограничения. Ты хочешь сказать, что вот конкретно вот это технологическое ограничение вот этого конкретного приложения мешают тебе творить твою нетленку? Ты непризнанный гениальный художник-артист-программист, да???
хэлоу сасаны,
Есть телефон ведроид Alcatel One Touch Evolve 2 , на котором непонятно что за графический контроллер стоит и как SM поддерживается.
Короче,есть шейдер пост эффект:
`
Shader "GUI/Glitch"
{
Properties
{
_MainTex ("Base (RGB)", 2D) = "white" {}
}
SubShader
{
Pass
{
Ztest Always Cull Off ZWrite Off
Fog { Mode off }
CGPROGRAM
#pragma vertex vert_img
#pragma fragment frag
#pragma fragmentoption ARB_precision_hint_fastest
#include "UnityCG.cginc"
uniform sampler2D _MainTex;
uniform float3 _Params; // x: speed, y: density, z: maxDisplace
inline float rand(float2 seed)
{
return frac(sin(dot(seed floor(_Time _Params.x), float2(127.1, 311.7))) 43758.5453123);
}
fixed4 frag(v2f_img i) : COLOR
{
float2 rblock = rand(floor(i.uv _Params.y));
float displaceNoise = pow(rblock.x, 8.0) pow(rblock.x, 3.0) - pow(rand(7.2341), 17.0) _Params.z;
float r = tex2D(_MainTex, i.uv).r;
float g = tex2D(_MainTex, i.uv + half2(displaceNoise 0.05 rand(7.0), 0.0)).g;
float b = tex2D(_MainTex, i.uv - half2(displaceNoise 0.05 rand(13.0), 0.0)).b;
return fixed4(r, g, b,0);
}
ENDCG
}
}
FallBack off
}`
Что может быть причиной отказа работы на слабом телефоне? Вроде прочека - большинство мат функций пашут на SM1. Беда-беда.
хэлоу сасаны,
Есть телефон ведроид Alcatel One Touch Evolve 2 , на котором непонятно что за графический контроллер стоит и как SM поддерживается.
Короче,есть шейдер пост эффект:
`
Shader "GUI/Glitch"
{
Properties
{
_MainTex ("Base (RGB)", 2D) = "white" {}
}
SubShader
{
Pass
{
Ztest Always Cull Off ZWrite Off
Fog { Mode off }
CGPROGRAM
#pragma vertex vert_img
#pragma fragment frag
#pragma fragmentoption ARB_precision_hint_fastest
#include "UnityCG.cginc"
uniform sampler2D _MainTex;
uniform float3 _Params; // x: speed, y: density, z: maxDisplace
inline float rand(float2 seed)
{
return frac(sin(dot(seed floor(_Time _Params.x), float2(127.1, 311.7))) 43758.5453123);
}
fixed4 frag(v2f_img i) : COLOR
{
float2 rblock = rand(floor(i.uv _Params.y));
float displaceNoise = pow(rblock.x, 8.0) pow(rblock.x, 3.0) - pow(rand(7.2341), 17.0) _Params.z;
float r = tex2D(_MainTex, i.uv).r;
float g = tex2D(_MainTex, i.uv + half2(displaceNoise 0.05 rand(7.0), 0.0)).g;
float b = tex2D(_MainTex, i.uv - half2(displaceNoise 0.05 rand(13.0), 0.0)).b;
return fixed4(r, g, b,0);
}
ENDCG
}
}
FallBack off
}`
Что может быть причиной отказа работы на слабом телефоне? Вроде прочека - большинство мат функций пашут на SM1. Беда-беда.
Просто сохраняю .blen прямо в проект, все подхватывается корректно.
Ну, сохранять в object mode надо конечно же ну и location-rotation в 0 сбрасывать и scale в 1, ну это наверное не влияет. Раньше тоже были проблемы какие-то, после переустановки операционной системы все норм стало.
Скачай 3д макс.
Generic skeleton выстави, аутист
При выходе из PlayMode OnDestroy тоже вызывается, но эту ситуацию можно отловить по вызову OnApplicationQuit как раз перед OnDestroy.
К сожалению, при входe в PlayMode этот метод не вызывается.
Партиклы мне не подходят.
Они двигаются неправильно.
Мне нужно прям каждый двигать по нужной траектории.
Свои напиши. Хотя я уверен, что у какого-то ассета партиклов вполне есть задание траектории, а ты просто вообще не понимаешь, о чём говоришь и что вообще происходит.
Я хочу, чтобы было бдыщь бдыщь во все стороны, а потом некоторые подлетали и делали восьмерку в воздухе, а другие складывались в лаконичную фразу "я тебя затралил, пидрила".
Ну вот к примеру хороший кандидат на 2д блокбастер: jetpack squad, взрывов там много, но явно меньше миллиона спрайтов на сцену.
У тебя походу мутация штамма той инфекции, при которой люди говорят "главное - когда много полигонов", "главное - когда много герц" и так далее. Осознай и попустись короче.
Задача: требуется шейдер для двухстороннего отображения спрайтов, принимающий свет и тени от различных объектов, а так же корректно отображающий прозрачные части спрайта.
С помощью гугла и кучи примеров, собрал монстра Франкенштейна, который соответствует всем требованиям кроме последнего: прозрачные спрайты отображаются некорректно (см. картинку). При добавлении #pragma alpha спрайт перестаёт принимать тени. Подскажите, как допились шейдер, чтобы всё нормально работало.
http://pastebin.com/gNXGYqY1
это значит что нет интерполяции. значения обновляются только во время ключевого кадра.
нужно, например, чтобы переместить камеру без интерполяции с одной точки в другую
Я так и понял, в таком случае я не понимаю в чём разница с флэт.
> Можно как-то просто сделать шейдер с необходимыми параметрами?
Сам напиши, или сделай в ворованном конструкторе шейдеров Shader Forge
>>296508
двачую вопрос
1) в режиме "редактор" до CustomEditor OnInspectorGUI();
2) в режиме "игра" в редакторе и в билде перед запуском скрипта Start().
Я использовал EditorApplication.playModeChaged для этого. Это подходит для режима "редактор", но для режима "игра" не работает, вопреки этой статье (http://www.codingjargames.com/blog/2015/08/04/unity-and-initialization-order/) , playModeChanged не выполняется до Start() в режиме "играть".
Может кто-нибудь помочь мне?
>Может кто-нибудь помочь мне?
Нет.
>в режиме "игра" в редакторе и в билде перед запуском скрипта Start().
Awake?
>в режиме "редактор" до CustomEditor OnInspectorGUI();
вставить свою фунецию в начале OnInspectorGUI?
Скачал книгу Unity in action - годная?
А то эти жидополоски заставляют персонажа при смене анимации (например движение-бездействие) продолжать анимацию еще несколько миллисекунд, а это выглядит просто уебищно.
Ага понял.
>C++
>учить
это говно не поддается изучению, ты его либо просто понимаешь и используешь, либо ты дебил и сосешь хуи и пользуешь блюпринты
юнити отдельно, шарп отдельно.
хотя у шарпа базовый синтаксис то не сложный.
>>296610
я не нашел как это сделать красиво. очевидный путь - сделать анимацию короткой и повозится с переходами анимации из одной в другую, но отзывчивость таких переходов все равно как-то не очень.
видяшечка в тему. дня три возился с меканимом, узнал много интересного.
https://youtu.be/DDZAelIX-w4
Это фича а не баг.
и не пытался
я свободный от задротства человек, зачем мне весь этот крестобатхерт, когда все что мне нужно я могу легко и просто сделать на шарпе, и еще время на побухать остается?
да-да, так уебищно. Вожусь со скоростями перехода анимации, чтобы убавить это дерьмо до малозаметного.
Да я сам думал, куда вкатываться после сей, выбрал шарп по той же причине.
Спасибо, нужно будет украсть shader forge.
А можно как-то модифицировать стандартный mobile defuse шейдер, добавив к нему emission? Или это приведет к потере производительности?
Пиздец, я даже так не умею делать. У меня не игра, а какое-то статичное бревно.
Что ты там, починил своего уродца?
Я только в тред зашёл. Я полагаю, альфатест или рендермод должны были починить проблему.
http://docs.unity3d.com/Manual/class-Transition.html
лол, я чекбокс сам налутал методом тыка и аутического прочесывания аниматора. Но нихуя не изменилось, в двадэ анимация так и осталось говном.
Мимо-другойгейделевореп.
Бля, базовая геометрия нужна, какой-нибудь тьютор Unity Platformer Tutorial, понимание складвания векторов, понимание работы C# скриптов в Юнити (уметь отличать Update() и FixedUpdate(), этому в тьюторе научат)
А вообще вот этот анон прав >>296792 - тебе что, реально лень было погуглить тьюториалы в сети? На курс cs50 он записался, а самого главного - искать и усваивать инфу - не умеет.
Бери ассет и разбирайся. Метод проб и ошибок самый проверенный.
Никогда никакой особой литературы, кроме справочников по апи не читал. Начал с гамака, а после, без проблем, за четыре дня уже вкатился на юнити.
Говнокодером ты останешься, если у тебя мозгов чуть. Умение применять иснтрумент книгами не привить.
>кококо книжки!! в универе скозали!
а потом уебки с дипломами удивляются, почему вместо них на работу берут сычей-самоучек
>книги по программированию
>читать
лол. эти книжки пишут умственно отсталые дауны. в них ничего кроме банальностей и воды нет. если полный н0ль (хули это в спам-листе, блять) читай официальный мануал по c# на msdn
Дауны, книга это системный подход к обучению, а ютубовые ролики и чтение справки урывками - это бесистемная праша с кучей пробелов и отсутствием общей картины изучаемой области.
Удваиваю адеквата. Ютуб и справка хорошо, но без книжек и опыта адекватный код не написать.
>хули это в спам-листе
Спасибо очкопидору.
>>296858
Системный подход говновузика незаметен. К счастью, в век цифровых технологий любую информацию можно добыть из интернета, и образовать из контента собственную систему, персональную а не унифицированную для дегенератов.
Фрилансер с 100к/сек защищает свою гордость за то, что он научился программировать на ютубе.
Собственная система у него, блять. Это называется костылями.
Лол, вот это бабах. Костылями называется то, чем ты по клавиатуре стучишь, когда в сотый раз свои темплейты переписываешь по книжке которая еще и морально устарела до выхода.
В книге нет ничего, чего нет на msdn. Книгу ты будешь читать в лучшем случае неделю. Мануал ты прочитаешь за пару вечеров. Профит одинаковый
Хуя ты проецируешь. Может ты сам даун, который думает, что книжки нужны, чтобы темплейты с них переписывать? Пока у меня не было интернета и у бати моего, когда он сам начинал кодить книжки были пиздец какой полезной штукой. Сейчас из актуальных книжек стоит почитать разве что какие-нибудь фундаментальные, про алгоритмы, паттерноебство (тут спорно), разную другую специфику, которая не может устареть. Это помогает избежать многих ошибок. Я изучал (и продолжаю изучать) юнити частично на тьюториалах (на первых порах смотрел как кто че делает), но сейчас у меня свои костыли оформления проектов и свое видение того, как и что надо делать.
>Пока у меня не было интернета и у бати моего, когда он сам начинал кодить книжки были пиздец какой полезной штукой
>ДИДЫ ГОВНО ЖРАЛИ ВОТ И ТЫ ДАВАЙ ЖРИ
Твои аргументы нам понятны, теперь уебывай.
>книжки были пиздец какой полезной штукой
Я и не спорю. 20 лет назад без этого нельзя было обойтись. Но мы уже не там, где 20 лет назад.
>стоит почитать разве что какие-нибудь фундаментальные
Что нибудь фундаментальное дают по школьной программе. Если ты после школы и/или говновузика так и не научился самостоятельно работать и информацией, то тебе дорога на стройку а не в айти.
>я изучал (и продолжаю изучать) юнити частично на тьюториалах
Так что ж ты, мудила, мне тут про программирование на ютубе визжишь?
Он про тзометрию, Алеша.
Что-то ты какой-то ебнутый и жирный.
>>296877
Я, например, не помню, чтобы в моем говновузике (радиотехническо-паяльном) давали паттерны. Только алгоритмы и алгебру-логику. Так что читал по книжкам.
А про программирование на ютубе я тебе визжу с того, что я кодить, КОДИТЬ СУКА, учился не на ютубе, а на реальных проектах. Тьюториалы я смотрел по, опять же, фундаментальному устройству юнити и редактора.
Давай, блядь, разведем тут гнилой срач по поводу того, как зашкварно игры делать, а как - нет. Я просто видал долбоебов, которые изучали кодинг по видеоурокам и слепо брали оттуда темплейты и "Бест практисы )0)", не обладая даже базовыми умениями в нормальный ООП. Писали говно. Учитывая, что половина доски здесь - студентота, а другая половина - двинутые байтоебы, не трудно предположить, что про ютуб затирают первые.
>которые изучали кодинг по видеоурокам
Я не хочу дальше разводить срач, тем более беспредметно. Просто скажу тебе, что на ютубе, помимо хеллоуворлдов полно интересных лекций, по специфическим и не очень вопросам. А в остальной части интернета - статей (с решением конкретных задач), паттернов (каких хочешь, под любые задачи, а не урощенные для широкой аудитории подходы) и алгоритмов. И все это не обобщения, а материал под вполне конкретные цели. Просто это нужно найти и использовать. Просто твое представление о уроках на ютубе слегка деформировано, вот ты и бесишься.
Кто умеет программировать хорошо - пишет программы. Кто не умеет - книги по программированию.
Лекции и разборы задач != видеоуроки, вот. На этом я тоже прекращаю срач :3
Охуенный маняаргумент из манямирка.
Тащемта одно другому не мешает. Если у человека есть навыки и умение объяснять информацию, почему бы не поделиться опытом?
Потому что у него есть более интересные занятия. Учителя это всегда традиционно неудачники ничего не достигнувшие в своей сфере
Это разумеется не относится к отдельным статьям, докладам на всяких конференциях и т.д.
Лол, наверное Кнут тоже неудачник и Ричи и Страуструп , а сикп так вообще дауны видимо писали, которые не смогли больше нигде реализоваться)
Да и кстати хороший мануал - это по сути та же книга и их тоже кто-то пишет, только в книге стараются еще и поделиться личным опытом.
>Перечислил каких-то нонеймов
>Считает что они не неудачники
Лол. Где их великие проекты. Покажи хоть одну успешную игру какую они сделали.
Я больше чем уверен, что это все нестриженые бомжи, которые едят свои мозоли
Как там под мостом?
>Ричи
>Ритчи наиболее известен как создатель языка программирования C и ключевой разработчик операционной системы UNIX
>Кукаретик
Ебин совсем?
>наиболее известен как создатель молотка и ключевой разработчик квадратного колеса
Что сказать-то хотел?
Что ты даун.
Потому что я могу, а ты нет
отработать навыки юнитикаляканья без лишнего напряга по поводу выдумывания творческой идеи
какой ты гей-девелопер, если ты ещё не додумался до такого удобного способа отработки навыков?
this
Один из них тригер, его мне трогать не нужно.
>>296761
В общем, мне подсказали, что Transparent с тенями - штука нетривиальная, и проще всего будет сделать Cutoff шейдер. Теперь у меня два шейдера: один с альфой, но без теней, а другой с тенями но все прозрачные области отсекаются, мне норм.
http://pastebin.com/5sP2T6cy
Вложи в геймобжект еще один и сделай его триггером, а отключай первого
foreach (Collider collider in GetComponentsInChildren<Collider>())
{
if (!collider.isTrigger) collider.enabled = false;
}
https://github.com/i-saint/Unity5Effects/blob/master/Assets/Ist/Props/MosaicField/MosaicField.shader
addforce?
Толсто
Bounding box вам что-нибудь говорит?
Проходят друг в друга коллайдеры, а не ригидбади.
Выключай только джоинты, не ригидбади и не коллайдеры. Когда рейкастишь выстрел - добавляй маску, для игнорирования капсуля, тогда рейкаст пойдет сразу на коллайдеры конечностей. Усе.
> Выключай только джоинты
> добавляй маску, для игнорирования капсуля
> рейкаст пойдет сразу на коллайдеры конечностей
И на каждую конечность вешать свой скрипт? Как лучше найти тогда основное тело, чтобы в него попадание передать?
> решил переписать свою игру мечты с нуля
Я уже джва месяца так хочу сделать, но у меня слишком дохуя кода, я от этого демотивируюсь.
А я хочу сделать как в F.E.A.R: чтобы при попадании в конечно их дергало (я с тех пор такого так и не видел больше в игорах)
Создаешь один скрипт и в него передаешь в инспекторе через публичные переменные все свои коллайдеры.
Да там наверное на инверсной кинематики сделано.
Не думаю что в юнити можно соединить физику с аниматором
GTA 4/5
Игру сделай сначала, конечности он дернуть собрался блядь.
Анус себе лучше дерни, кирилл ебаный
>БА-БАХ
Вот это анальная бифуркация. Кому-то неприятно что в /gd/ делают игры, а не только пиксельную/казуальную рвань.
Аноны, в этом вашем юнити можно всё писать руками? Нелюблю программирование мышкой. Генерация сцен, расстановка объектов и их параметров, подгрузка текстур и спрайтов - вот это всё делается в коде? И если да, дайте ссылку где вот про это написано. пасип.
Еще пару недель еботни над бесполезной хуитой "чтоб как в кукурузисе" и ты тоже начнешь делать пиксельную рвань, кирюш.
Это если просто не забросишь и не вернешься в свою доцку
Типо можно, но любой, кто предпочитает заниматься подобным в коде, заслуживает ссылки в Таганрог.
Ну ладно про подгрузку текстур я перегнул может, мало смысла заниматься этим динамически, лучше заранее все в память загрузить и сделать это можно и мышкой, но вот генерация и расстановка объектов, расчёт их параметров может быть нужна динамическая. А если нужна, то нахрена учить два способа (мышкой и в коде), если некоторые вещи без кода не сделаешь?
Ты, блядь, долбоеб, сын шлюхи, что ты собрался учить в ПЕРЕТАСКИВАНИИ мышкой? Как ты вообще здесь сидишь, не умея пользоваться МЫШЬЮ?
Ебал я в рот таких аутистов.
Свет мне блядь на сцене красиво расставь кодом, ебанат.
В чем твоя проблема, мудила? Что тебе мешает взять и сменить положение любого объекта динамически, сука?
Этот ебанутый тред пробил очередное дно.
В жопу иди да, дорогой.
Короче тут стена текста должна быть, но мне лень и прими как данность что аутист это ты.
Иди учись мышкой двигать.
От середины "крайнего" зелёного (например) до "углового" белого.
Как высчитать точно интервал/индекс между градациями, если, например, уровней 9.
Ну давай разберем по частям тобою написанное. Складывается впечатление, что юнити ты не открывал, да и кодить не умеешь. Советую тебе ознакомиться с азами программирования, а потом задавать тупые вопросы. Проанализируй и сделай выводы.
побольше бы таких шизоидов итт
На моём лице с самого утра упорно проступала улыб- ка. Я прилагал все старания, чтобы загнать её внутрь, под холодную липкую кожу, но она с лёгким шелестом про- ступала вновь и вновь. Прохожие останавливались оборачи- вались их указующие на меня пальцы вытягивались в подзорные трубочки и змеились. Я ничего не мог поделать с этой улыбкой — в ярости я со всей силы пизданул по ней звонким кулаком — она прямо так и полезла наружу. Я взмахнул руками засмеялся и побежал.
Резко напомнило мне метро
Вот я и поехал.
Смотря как у тебя реализовано игровое поле.
Если брать в пример цивилизацию, то игровое поле может быть представлено как массив данных о ячейках. Информация из этого массива, передается для отрисовки на камеру определенных частей массива (видимых для камеры ячеек). В таком случае отрисовки берется нужное количество данных из начала массива и из конца.
Если же у тебя это монолитный кусок меша и его никак не разбить на части, то можно использовать несколько камер. Одна работает постоянно, а другая включается только когда мы выходим за края уровня. Рендеришь из этих камер в текстуру в нужной позиции (собираешь из двух кусков один кадр) а потом выводишь текстуру на экран.
Смотрел, BakeMesh прекрасно работает и создает статичный меш из skinned mesh, но вот как сделать из статичного меша skinned?
Одной функцией это не сделать. Нужно будет натягивать скелет и как-то рисовать вес в юнити? Такое возможно?
Посчитать?
Программирование я немного знаю. Могу без напряга реализовать вот эти ваши тетрисы, крестики нолики или морской бой по сети или с аи (последние два делал теста ради).
Юнити открывал, смотрел пяток видео уроков. Ответа на вопрос не увидел, поэтому решил уточнить.
Дело в том что я не просто так спрашиваю. Когда я изучал wpf на шарпе, то там визуальную составляющую можно писать тремя способами. Мышкой, кодом xaml (как xml кто не в курсе что это) и кодом шарпа. Так вот кодом C# можно сделать максимум, кодом xaml - поменьше, мышкой по экрану ещё меньше. В частности ни мышкой ни кодом xaml нельзя сделать динамическое добавление или изменение элементов, короче интерактивность. Учебником рекомендуется это делать всеми тремя способами. Но так как я вот ни разу не художник, то мне физически проще всё делать в коде, да и привык я так, а поскольку написание кодом никак не сужает возможности то и решил не учить первые два варианта а только код.
Собственно хотел выяснить как с этим в юнити дела обстоят.
Если нет возможности делать всё кодом или нету учебников по этому - то мне сложно будет работать с этим инструментом, я лучше другой движок поищу (например box2d, мне тоже понравился)
Телепорт ячеек или телепорт камеры?
>>297147
Двухмерный массив, на основе которого строятся ячейки. А не будет проблем, если долго скроллить в одну сторону? У юнити есть ограничение по координатам?
Хорошо, с этим разобрался, можно скопировать вес костей и их расположение из оригинального меша, это должно работать ведь ничего особенного не собираюсь делать с мешем, но почему-то не работает и все идет по пиздец, неправильно переносит вес или координаты костей. Вес скорее всего верно копирует, значит дело в косятх. Как корректно скопировать скелет с скинед меш в просто меш, чтобы они стали идентичными скинед меш?
Ты же понимаешь, что если ты хочешь всё делать в коде, то тебе нужно писать свой движок.
Большая часть движков продвигают как минимум драг-н-дроп, как максимум - перевод большей части кодорутины в ручную и наглядную работу.
Не понимаю, нахуя тебе нужно что-то искать, если кодить всё через код ты можешь не отходя от своего движка и чистого кода.
Ну не совсем. В частности:
а) Меня интересует физический движок. Писать его с нуля - не простая задача.
б) Работа с видеокартой. Тут есть две подзадачи
б1) Рендеринг картинки с применением возможностей видеокарты, что должно повышать производительность.
б2) Применение всяких шейдеров.
Всё-таки на дворе 2016 год, не хочется всё это писать с нуля, да и не уверен что это реально в одиночку.
Ты не поверишь, но передвигать мышкой объекты по сцене не менее эффективно, чем кодом.
Кирилловалерий, пиздуйте сосать хуй на свою плюсопарашу.
У нас тут движок, минимум хардкода-максимум гибкости.
мимоПРОбыдло
В оружии есть рейкаст, который вызывает метод объекта при попадании в объект. Как я туда через паблик переменные эти объекты передам?
> Меня интересует физический движок. Писать его с нуля - не простая задача
Сложно писать столкновения polygon-to-polygon. Реализация ColliderBox, ColliderSphere и ColliderCylinder занимает восемь минут, капсулы и прочие вариации займут еще столько же. Правда, физику для каждого объекта нужно будет включать отдельно, как и столкновения одних предметов с другими.
Нахуя тебе в него что создавать? На один объект можно повесить несколько коллайдеров, а потом просто делать проверку, и в зависимости результата делать разное дерьмо. Что-то вроде:
Collider hitboxFoot
Collider hitboxPisos
Collider hitboxHead
If (hit.collider == hitboxHead) {
Someshit();
}
Все, я понял. Даже если возможно запечь скинед меш, деформировать, а потом опять распечь в скинед меш, то это явно не мой уровень. Оказывается то что мне нужно было существует уже несколько лет, точнее существовало, ибо все это накрылось пиздой с какой-то версией юнити и сейчас такого не сделать. А хотелось всего-то лишь разрезать скиннед меш на две половинки.
по моему самое простое https://docs.unity3d.com/ScriptReference/Camera.WorldToViewportPoint.html или просто градусы сравни.
bool isVisible;
void OnBecameVisible { isVisible = true; }
void OnBecameInvisible { isVisible = false; }
Будут. Координаты в сцене имеют тип float, так что у тебя в распоряжении семь цифр в числе в любую сторону от точки. С каждом новым десятичным знаком после этого точность вычислений будет падать. Например у тебя есть координата 999999.9, когда ты перешагиваешь порог 1000000.1, переменная сохранит только 1000000, если еще увеличить, например до 12345678, погрешность составит уже восем целых (1234567).
Поэтому координаты нужно время от времени нормализовать. Например при загрузке игры или в конце хода. В общем там, где будет большая пауза, и задержка производительности не будет так заметна.
Просто иди нахуй.
Кстати о погрешностях: есть ли 3д двиг который использует не float для координат, а что-то побольше? Или такое проще самому с нуля написать?
https://www.youtube.com/watch?v=YqugrFy9EoQ
Ассемблером можно сделать еще больше чем кодом C#! Что ж ты сидишь здесь, беги быстрее машинные коды изучать.
heaps
В этом нет никакого смысла. Чем большее значение может держать переменная, тем больше памяти выделяется на нее. Даже если тебе нужно будет сохранить всего один байт информации в ней, выделение памяти останется колоссальным, под самое большое возможное значение. Оно тебе надо?
Хорошо, тогда такой вопрос: как реализована звёздная система в KSP, там ведь неебические расстояния и все работает? Пытался найти какой финт ушами сделали разрабы чтобы обойти это ограничения, но что-то плохо пытался, может анон подскажет где искать?
Ты уебок что ли? умножай размеры объектов на .0001F и делай свой ебаный космос
В космических леталках не оперируют реальными значениями. Берут расстояние в масштабе, а сами объекты также масштабируют в зависимости от расстояния до игрока.
>GameObject tile = (GameObject) Instantiate(er);
Вначале понятно - объявление переменной tile типа GameObject, которой присваивается результат функции Instantiate c аргументом er. Но что значит (GameObject)?
Instantiate возвращает по умолчанию object. В скобках стоит указание перевести при присваивании object в GameObject
>public class NewBehaviourScript : MonoBehaviour {
>
>public GameObject er;
>
>// Use this for initialization
>void Start () {
> GameObject tile = (GameObject) Instantiate(er, new Vector3 (j 4, i 4, 0), Quaternion.Euler(0, 0, 0));
> tile.transform.localScale = new Vector3 (10, 10, 10);
>}
>}
Работает нормально, но в консоль выдаёт такую ошибку:
>UnassignedReferenceException: The variable er of NewBehaviourScript has not been assigned.
>You probably need to assign the er variable of the NewBehaviourScript script in the inspector.
В чём может быть дело?
Спасибо, теперь понял.
Фикс
>public class NewBehaviourScript : MonoBehaviour {
>
> public GameObject er;
>
> // Use this for initialization
> void Start () {
> GameObject tile = (GameObject) Instantiate(er, new Vector3 (0, 0, 0), Quaternion.Euler(0, 0, 0));
> tile.transform.localScale = new Vector3 (10, 10, 10);
> }
>}
Соси хуй, опездол
Там он круглый, и освещает круг, а хотелось бы его сплющить, чтобы получалась линия. Как сделать чтобы на освещаемом объекте появлялась линия света?
ARM® Mali™-400
http://www.arm.com/products/multimedia/mali-gpu/ultra-low-power/mali-400.php
Почему он не принимает сей шейдер:
http://pastebin.com/LueTyu9i
вроде же все в рамка
>OpenGL ES 2.0: Vertex & fragment programs, four texture combiner stages.
ЧЯДНТ?
У меня все работает, очевидно ты просто криворук
Хуя у программиста мышкой припекло.
[SerializeField] над public GameObject напиши, ебанашка.
Найс даунёнок не может даже в своё кодирование, а на мышку мычит.
Хуячишь скрипт на камеру
Туда
void LateUpdate ()
{
transform.position = new Vector3 (Mathf.Clamp (target.position.x, xMin, xMax), Mathf.Clamp (target.position.y, yMin, yMax), transform.position.z);
}
target типа GameObject это твой гг.
Максимумы получаешь любым удобным тебе способом.
почему нубосы поносят юнити при первой же труддности, хотя даже Габен сказал, что движок заебись?
> СУКА, КАК В ЭТОМ ЁБАННОМ ДВИЖКЕ ОТ КРИВОРУКИХ ДЕГЕНЕРАТОВ ДЛЯ ПРОГРАММИРУЮЩИХ МЫШКОЙ ДЕБИЛОВ ПРИВЯЗАТЬ ПРЕФАБ К СКРИПТУ?
Довн года.
> ДЛЯ ПРОГРАММИРУЮЩИХ МЫШКОЙ ДЕБИЛОВ
> КАК ПРИВЯЗАТЬ ПРЕФАБ К СКРИПТУ?
Зачем тебе геймдев, вася?
>нихуя не понимает.
>While Newell worked at Microsoft, he was running program management on the Windows OS, specifically, Newell held several positions in the Systems, Applications and Advanced Technology divisions that worked on the first two releases of Windows and was a driving force in the introduction of Windows NT and server edition.
тоже хотел ему сразу это впостить, но впадлу было, молодец.
У Габена опыт такой же огромный, как и он сам. Да, он больше администратор, но что происходит в индустрии он прекрасно знает, поэтому любой адекват должен понимать что его слова имеют огромный вес.
Обоснуй.
>менеджмент
>опыт такой же огромный
опыт поедания пончиков. даже если эта жирная свинья что-то умела 20 лет назад, то уже все забыла.
>>296910
расскажи о своих трудностях, интересно же. а то в треде только ты и этот с шейдором что-то интересное показали.
Помимо всего прочего в играх с большими масштабами пространства используют кластеры. Например одна звездная система (или даже планета) может быть самостоятельной сценой, переход между ней и другой - еще одной. Из таких маленьких кусочков собирается цельный мир. А у каждой сцены своя координатная система, объекты в которой расставлены так, чтобы не попадать в ограничения.
Меня интересует именно бесшовный и плавный переход от звёзд к звездным системам и планетам. Такое возможно или проще не ебать мозг и сделать разными сценами?
https://docs.unity3d.com/ScriptReference/MonoBehaviour.OnMouseOver.html
или
https://docs.unity3d.com/ScriptReference/RaycastHit-collider.html
Не стесняйся задавать любые вопросы, на самом деле мы все очень рады тебе помочь.
подели мир на координатные сегменты и просто сдвигай координаты всего когда игрок пересекает какой-то предел в котором плавающая запятая не вызывает пиздец. вообще чего ты мозги себе ебеш? решай проблемы по мере их поступления, на начальном этапе быстрей сделать ошибку и понять как её исправить, чем жопу просиживать неделями пытаясь учесть все проблемы.
Правильно. Бесшовный переход осуществляется как раз через подгрузку в процессе игры новых кластеров и выгрузку старых, которые уже не нужны. Представь трехмерный массив, в котором твоя сцена это активная ячейка, а смежные ячейки - сцены, которые нужно подгрузить.
А как ты перемещаться между звёздами будешь?
Плавный переход между звёздами миллионы лет занять может, а любой сверхсветовой перелёт по сути телепорт, а не плавный переход.
Что за логика путешествий у тебя там?
{
object objResult = null;
using (MemoryStream ms = new MemoryStream())
{
BinaryFormatter bf = new BinaryFormatter();
bf.Serialize(ms, obj);
ms.Position = 0;
objResult = bf.Deserialize(ms);
}
return objResult;
}
Это нормально?
Протестирвал - работает.
Но у меня пока тестовые ресурсы мелкие, может потом там полезет хуйня какая, или еще чего. Вот я и спросил.
Блядь, бы ебанутый, нахуя тебе сериализация для клонирования?
Я думал сюда какой-то дико прошаренный анон залетел, решил нас потроллить байтоебством.
Слушай, это дикий костыль, нихуя кавайного. Ты забиваешь гвозди калькулятором.
Попробуй то что предложили.
То что происходит в голову больше похоже на самодельный сериализатор, так что у меня нет других идей.
А зачем тебе это понадобилось вообще?
Ну тогда все просто относительно
List<T> CloneList(List<T>originalList){
List<T>result = new List<T>();
foreach (T item in originalList)
result.Add(Instantiate(item));
return result;
}
Юнити умеет сериализовать листы из коробки
https://docs.unity3d.com/ScriptReference/SerializeField.html
У меня там еще несколько списков, и еще говна по-мелочи.
Сер-Десер наверно будет проще, чем прописывать клонирование всего и вся.
Лол, я этим не пользуюсь просто, вот и не знал.
100 предметов в инвентаре, 100 действий, если не склонировать - действия будут одинаковые.
>>297440
Force Unity to serialize a private field.
You will almost never need this.
Блеать.
public class JOption
{
куча говна
string TextToShow;
List<JAction> Actions;
List<JCase> Cases;
куча говна
}
public class JDialog
{
public List<JOption> Options;
}
Вот подгрузил я шаблон диалога,
там образец 1й реплики, теперь мне надо расклонировать образец на 100 копий.
Если без сериализации через текст- копируется ссылка, на одни и те же действия(Actions которые). Меняю одну - меняются все.
Может я и вправду делаю через жопу.
То есть при наведении на предмет выскакивают опции для него? Изи
У тебя всего один экземпляр опций должен быть, к ним просто подсовывается объект под мышкой. В самой убогой и грубой реализации это объект
TradeMarket, имеющий доступ к инвентарю тебя и торговца и у него будет поле SelectedItem (или лист, чтобы через контрол несколько айтемов брать
И группа методов:
TradeSelectedItems() (покупает-продает в зависимости от ситуации)
TransferMoney() и так далее. Итого тебе не надо создавать бесконечные клонируещиеся списки кнопок. Все твои кнопки ссылаются на одни и те же методы, которые реагируют в зависимости от выбранных объектов в инвентаре.
У меня тексто-параша.
Только пункты диалога, только хардкор.
Если не выйдет разумно, сделаю подстановку на лету.
У меня пока одна механика диалога и баттл описывает и разговор и трейд.
Я у мамы инди-девелопер, времени писать и так не много, а хочется до пенсии дописать.
нахуй иди
2Д, набирается из двух таких спрайтов - "отрезок тела" (должен скейлится из точки в направлении движения по прямой) и поворот на 90 градусов, должен, собственно появляться на поворотах, в правильном направлении.
Ну и типа движение ограничено стенками лабиринта.
Как это можно реализовать?
Нет, на разных. Я хочу сделать скроллинг карты из ячеек, где при передвижении камеры добавляются новые ячейки и убираются старые (обсуждалось выше в треде). Скрипт двигания камеры на камере, скрипт работы с ячейками на пустом объекте. Или стоит перевесить и его на камеру? А как тогда импортировать?
Суть такова, делал я 2д игруху, юзая UGUI. И видимо обосрался, ибо эта сука жрет drawcall'ы как мразь. Решил я провести эксперимент и использовал вместо спрайтов готовый атлас со спрайтами, вместо Sprite Packer'a. результат следующий: http://imgur.com/a/j8dnE
В чем obosrams? Юнити использует Image'и из одного атласа, как и пакер спрайтов. Но, сука, почему-то юнити жрет 3 drawcall'a, в то же время левый атлас один. Кароче, в тред реквестируются монстры UI, шейдоров и батчинга.
Через двумерный массив.
Сделай тот, из которого нужно получить информацию статичным.
Ты оптимизатор дохуя? 3 дк вместо одного, какой пиздец, всё, игру не сделать.
Такое ощущение, что он просто их не пакует.
Может ты и так сделал этим способом, но вот что я тебе вкину:
Я вижу хорошим архитектурным решением отделить игровую механику от "представления" (то есть того, что видит игрок) и положить между конкретным представлением и игромеханикой прослойку в виде интерпретатора.
Итого интерпретатор будет собирать динамически объект диалога, наследующего интерфейс IDialogParams и описывающего следующие параметры
string RequestText (то, что за текст будет отображаться на экране)
List<string> answerOptions (арианты ответа) и передавать его в "представление" для отображения на экране.
Ну а представление будет возвращать индекс ответа обратно в прослойку. Прослойка же будет интерпретировать ответ в зависимости от того, что за игровая ситуация и уже отдавать команды голой игромеханике.
У меня так и сделано. Все через менеджеры проходит.
Хуй с ним, сделаю отдельный блок по инвентарю и торговле, зато будет юзеру удобнее.
боттленекофобия.
программист головного мозга
Гедеванизм
Это не болезнь. Болезнь это "ну у меня ж работает, значит и у всех будет работать)))". В итоге игра для огромного рынка PC рассчитаная в лучшем случае на 1% пользователей.
Причем в современных играх даже такой тренд вообще убирать настройки графики. Я не понимаю что за удовольствие стрелять себе в ногу.
В настройках выставь, чтобы паковал всегда.
И тестируй на готовом билде, а не в редакторе такие вопросы
Нахуй пошел со своим говном, весь гд засрал уже.
Был бы графон можно было бы поиграть. А три часа смотреть на циферки, ну хуй знает.
>>297584
В чем интерес вообще дрочить циферки?
Решай матан, и полезно и интересно, если так любишь.
Что за заблуждение про счет цифер? Мнеджеры - это обычные симуляторы. С твоим подходом можно сказать, "Нахуя играть в гонки? - Становитесь гонщиками в риал-лайфе.".
>Мнеджеры - это обычные симуляторы.
За тем исключением, что менеджеры, а особенно спортивные, почти все - просто кликеры с натянутой темой.
Поиграй в Football Manager или посмотри летплеи. Ты абсолютный бред сейчас сказал, рили.
Ну есть же симулятор камня, значит есть потребители. На вкус и цвет, опять же.
Я лучше порнуху посмотрю. Там море интенсив акшион энд смуф геймплей.
Ну то есть, давай по существу, что у нас есть в футбольном менеджере кроме ФУТБИК КИНЦО ЛЮБИМАЯ КОМАНДА?
Распределил своих дебилов, посмотрел кинцо. Можно заниматься микроменеджментом вещей, которые могут повлиять, а могут и не повлиять на результат. Не то, чтобы на тебе висел груз тактических решений. Ты что-то делаешь, получаешь какие-то результаты. Некоторые решения удачные, некоторые нет, но обычно на берегу хуй проссышь какое из них какое.
Тот же This is the Police из последних примерно такой же кликер, только с сюжетом.
Главная фича FM - это то, что ты непосредственно своими действиями можешь повлиять на результат. Тактика, настроение игрока, силы команд, погода. Грубо говоря игра футбол разбирает как набор формул, и ты, меняя переменные, смотришь как меняется результат. По-моему вполне интересно.
http://store.steampowered.com/app/482730/
ебаные 1700 руб. Охуеть.
За уникальную возможность поиграть в эксель.
Я прекрасно понимаю о чём ты, но чем это принципиально отличается от кликера? (я не говорю про совсем тупые, а что-нибудь из среднего звена)
Вначале ты работаешь на маленькие величины, прорабатываешь алгоритмы, ставишь на поток, потом это говно автоматизируется и ты смотришь как твоя система приносит тебе результат.
Реакции и особых навыков не требуется, проиграть нельзя. Кликаешь для победы.
Ну со временем надоедает, да. Но часов 40 наиграть вполне можно. Просто менеджеры - мнпы на любителя. По вот сам процесс обработки информации и компиляции из нее последующей тактики, состава, курса тренировак и найма игроков - в этом и есть интерес, как минимум для меня.
Где и что исправить?
отлепилось
Похоже на куллинг или дальний рейндж второй камеры(я не знаю как там вода устроена)
Бэд-дизайн-кун репортинг ин.
Ящитаю, что архитектура кода, где нужно искать потомка в потомках - кривая. Засовывай объекты, которые нужно будет искать, в листы или прочие структуры.
Напиши обход дерева в ширину или в глубину. Что как маленький? Или лабы по алгоритмизации не делал?
>>297649
>>297651
Охуенно, то есть для такой задачи нет дефолтного способа? Отлично сделали, заебись.
Вась, ты дурак? Необходимость в этом способе - BAD FUCKING DESIGN
Алсо, а нахуя дополнительный синтаксический сахар и больше методов богу методов, если тот же самый рекурсивный поиск ты сам напишешь? Программист мышкой что ли? Твоя реализация будет точно не лучше, чем реализация юнити-разрабов.
>Необходимость в этом способе - BAD FUCKING DESIGN
Я даже не знаю что тут сказать.
>Алсо, а нахуя дополнительный синтаксический сахар и больше методов богу методов
Именно для этого есть transfom.find и transform.findChild, которые одинаковы.
>ты сам напишешь
Напишу, конечно. Просто я удивлен, что такого нет "из коробки"
>Программист мышкой что ли
Прочитал это, вспомнил что я в треде по unity и потерял сознание.
Хуя у тебя аргументы, сознание он теряет.
Ты мне расскажи свой кейс для которого тебе нужно искать рандомный компонент в рандомной точке рандомной иерархии компонентов?
Да пулю он спавнить возле пушки хочет, очевидно же
Съеби из этого треда, чтобы впредь не терять сознание, программист хуев.
Что-то сомневаюсь что Кирилл Кириллыч мог запилить moba движок с адекватным ИИ для симуляции матчей.
Покажи видео, аж интересно стало.
То, что в ранних версиях football manager'а не было 3д графениума (сейчас есть), не значит, что там не было футбольного движка. Просто игра выводилась с помощью схематической графики и логов. Для мобы тоже нужен аккуратный battle log и аккуратное передвижение юнитов по карте.
Если твой менеджер не может в симуляцию матчей нахуй он вообще нужен. Что за скам ты пытаешься продать.
Минимализм! Стимуляция лишь отвлекает.
Пытаюсь в эти ваши Unet. не могу передать простейшую переменную с сервера на клиент.
ЧЯДНТ?
using UnityEngine;
using UnityEngine.Networking;
public class Test : NetworkBehaviour
{
[SyncVar(hook = "OnActiveChange")]
public Vector3 scale;
// Update is called once per frame
void Update()
{
transform.localScale = scale;
}
void OnActiveChange(Vector3 updatedScale)
{
scale = updatedScale;
}
}
>Dictionary<int, int> rows = new Dictionary<int, int>();
В консоль падает ошибка на этой строчке:
> The type or namespace name `Dictionary`2' could not be found. Are you missing a using directive or an assembly reference?
В чём может быть дело? Это же стандартный словарь, что тут может быть не так? Заменял на
>var rows = new Dictionary<int, int>();
Тот же результат.
>Are you missing a using directive or an assembly reference?
В гуглопереводчик вбей. И номер ошибки тоже.
https://blogs.unity3d.com/2016/08/30/get-the-unity-5-5-beta-now/
>спустя больше чем десятилетие разработки добавляют фичи в particle system, которые должны были быть там с самого начала
unity такой unity
Главное, что добавляют. И ускоряют темп выпуска новых версий. Осталось им ещё часть движка, которая на C# вынести на гитхаб и перенести всё на .net core. Будет вообще бомба.
>обещали ссаную тайловую карту и другие элементарные компоненты для 2д хуй хнает когда
>до сих пор не могут сделать
>ускоряют темп выпуска новых версий
>Осталось им ещё часть движка, которая на C# вынести на гитхаб и перенести всё на .net core.
Вот это маняфантазии
>пок-пок
что сказать-то хотел? с выхода unity 5 по сути не добавили ни одной кор фичи. за 2 года сделано нихуя.
>за 10 лет сделано нихуя
Починил.
Но при этом, это говно все равно умудряется быть лучше уе4. Парадокс.
Решения с дефолтными 2Д-джоинтами физически работают ок.
Но этот метод плох тем, что конец верёвки со скриптом для дёрганья всегда будет отрыватся.
Я хз, может заморочится и попробовать сделать ИК-змею из костей?
Очередной уебок не может понять зачем нужны циферки у компонента на объекте, ничего особенного
Ха-ха, ок, с отрывание послезнего звена я разобрался.
А как сделать так, чтобы верёвка совсем не растягивалась?
И чтобы 2д бокс коллайдеры звеньев не пролазили сквозь стены.
Есть какой-нибудь класс главное сцены или еще какая-нибудь подобная хуйня?
Нет, сцена и есть точка входа
Создаешь пустой GameObject, вешаешь скрипт, определяешь void Start(){} и получаешь точку входа дибил
спасибо (spoiler)сучка(/spoiler)
>using System.Collecions.Generic
Огромное спасибо, анон! Помогло! Я упомяну тебя в титрах будущего хита!
Лел. Век игор не видать.
Что за порнография с Random.Range(int, int)?
int side = Random.Range(0, 1) * 2 - 1;
выдает только нули.
http://answers.unity3d.com/questions/233543/randomrangeint-int-returning-only-min-value.html
В двух словах - Random с интами не берет максимальное значение в предел генерации, только с флоатами так делает. То есть у тебя банально он думает, что бы сгенерировать, ноль или ноль? А может ноль?
И еще - следи, чтобы не пересоздавать Random каждый кадр.
Я уже осознал и покаялся.
Даже если бы инт не был сломан, у тебя бы выдавало строго либо -1 либо 1.
Это так и предусмотрено?
Весело. Ставь двойку тогда вместо единицы и в комментарии укажи, собственно, нахуя.
Ерохин, а ты почему не на алгебре? Прогуливаешь?
Наслаждайся цирком молча.
я над людской глупостью обычно не смеюсь, но тут же настоящий аттракцион!
Тихо, не сыпь ему соль на рану. Он гарантированно один из тех долбоебов, что тут пару лет назад не могли тетрис на сишарпе написать четыре треда подряд.
Там еще была какая-то казуальная игра от этого разработчика как пример использования.
Ты просто скаканул в немного другую версию бытия. Так бывает когда режим по пизде.
А как проверять какое именно сейчас состояние?
Разрабатываю на флеше, но, как известно, флеш умирает уже 10-й год, поэтому решил написать что-то на популярном нынче Unity. Захотел запилить 2d пазл какой-нибудь, но проблемы возникли уже на этапе генерации поля... С первым столбцом тайлов случилось какая-то херня...
И вообще, выходит какое-то уродство... Есть какие-нибудь годные гайды по генерации pixel perfect поля?
Код генерации поля здесь http://pastebin.com/WsVAueS6
Загляни в асетстор. Должны быть решения, возможно даже бесплатные.
Дебил блядь, даже простейшие вещи гуглить не умеет а уже игры пытается делать.
https://docs.unity3d.com/ScriptReference/ParticleSystemRenderer.html
Даже пример из стандартных ассетов - и тот неюзабельная хуйня.
Неужели с этим все настолько плохо?
Да хуле мне твое "работает", блядь.
Ясен хуй это говно работает, вопрос в том КАК оно работает.
Вам-то уебкам понятно, "еиздет и ладно", но я нормальную игру про машинки хочу, а не такую словно это симулятор толкания вагонов по асфальту, сука.
Аж трисет, работает у него
У меня тоже работает
А что по теме почитать можно? Сможешь подборку книг на могучем скинуть?
Стив Макконел, если уже что-то умеешь, но не совсем понимаешь как это что-то делать эффективно.
Если не умеешь то пикрилейтед.
Мимоанон
НУ так это в первую очередь, иначе совсем говно.
Единственное решение, какое я знаю - максимально сократить время прехода.
Везде какое-то говно уровня
1. создайте куб
2. навесьте на него вот этот скрипт
3. ???
4. теперь вы знаете как двигать кубы
И может кто-то кинет годноту до $500.
Dropbox. Гайды найдёшь.
Батлфилд, только лучше и с понияшами в кимоно.
>быстро
Это с получасовой конпеляцией, при которой игнорируются корутины в коде и в билд попадает огрызок проекта? Ну хуй знает. По мне так лучше веб плеера еще ничего не придумали, не понимаю чего эти ебанашки отказываются его поддерживать.
У меня так личную жизнь спиздили
Нормальную игру хочешь - пиши свой коллайдер для колес.
У твоей мамки в спальне
Открывай ротешник, пидар, ща будет тебе фидбек
Я вот только вчера перешел с 2012 и охуел, скоро это говно само код за меня писать начнет
Правда хуюнити такое не признает, как и пикрелейтед.
>Unexpected symbol `.', expecting `[', or `identifier'
>Unexpected symbol `<internal>'
Ну то же, будем и дальше страдать и писать нечитаемый код
А я компилю из студии в длл, что дает мне ряд преимуществ:
1. Современный компилятор.
2. Почти все новейшие фичи C#.
3. Поддержка F#.
4. Удобство использования (удобно создавать, удалять, переименовывать файлы).
5. Удобство использования совместно с VCS.
Главный недостаток, правда, заключается в том, что для пошагового дебага с брейкпоинтами и прочими удобностями нужно сделать непонятно что, так что я даже не пытался. Но мне норм: Debug.Log — наше все.
>писать нечитаемый код
>написал какую-то нечитаемую криптохуиту вместо понятного string.Format
это не ты давеча писал о лучшей читаемости json по сравнению с xml?
Так ведь и json и правда лучше читается.
Как вообще дрисня из тегов может казаться кому-то удобной?
Голоса за щекой у себя поищи
Тут важна не скорость сборки/выкладывания, а скорость запуска для анона. Если надо скачивать какой-то exe'шник, то игру посмотрят пара калек. Если можно просто открыть ссылку в браузере - пара десятков.
>при которой игнорируются корутины в коде и в билд попадает огрызок проекта?
Ты пийздишь. ВебГЛ уже вполне рабочий.
Да да, когда браузер 10 минут грузит неведомую жс-дрисню это прямо интригует, с каждой минутой загрузки желание поиграть лишь нарастает.
>Если можно просто открыть ссылку в браузере - пара десятков.
Это если эта говнина запустится раньше чем через две минуты и при этом не пожалуется на нехватку памяти
Проблема решается забиванием хуй на технологию, разработчики которой не могут осилить совместимость с единственным правильным браузером.
Сам свои портки стирай, я тебе не мамка
когда надо отобразить структуру из 5-6 элементов - безусловно лучше. Для чего-то сложного json превращается в нечитаемую парашу
Доброчую
вот это у тебя порвало, приятель, таскаешь свою бумажку по всем тредам, а ведь мог просто принять правду - json победил и используется повсеместно, а xml ушёл в небытие как многие костыли мелкософта.
С точки зрения петухаjavascript-макаки - безусловно. А вот мнение проффесионального программиста http://www.yegor256.com/2015/11/16/json-vs-xml.html
Ну раз уж сам vasyan666 сказал, то так оно и есть.
>проффесионального программиста
>жсон файл в хмл файл переделывается путем простой замены текста без особого изменения структуры.
Что за хуйня, анон?
>>жсон файл в хмл файл переделывается путем простой замены текста
нет. json это сериализованный объект. xml это язык разметки с помощью которого можно разметить хоть html, хоть небо, хоть аллаха. это уже задача программиста распарсить xml
>json это сериализованный объект
Пиздец, блядь. Неудивительно, что на этой доске никто игр не делает.
А что это по твоему, маня.
Вообще-то да. Незнание жс-дрисни не освобождает от ответственности, открывай ротик.
Вот это обомрамс
Докукарекался, сажепидор
С помошью жсон можно разметить не только аллаха, но и твою мамку.
Не согласны? Википедия:
>JSON is an open-standard format
>JSON is a language-independent data format
Раз уж у нас тут юнити-тред, то язык будет С# - десериализуйте мне следующий объект: {"мамку твою": "ебал";}.
Не понимаю таких людей как ты, прилюдно обосрутся и все равно кукарекают и что-то пытаются доказать с обосраными штанами. Жсон это аббривеатура JavaScript Object Notation, ползал же на вики, должен был заметить. В сишарпе можно десериализовать твою мамку библиотекой newtonsoft.json, отлично работает с юнити.
>JSON is a language-independent data format
Влажные фантазии жс-петушков.
Тащат свою жабопарашу к нормальным людям, а потом >ко-ко-ко-кудах езыг сишарп, десериализуйте мне следующий объект в нашй ебанутой нотации { "жс-петухи" : "соснулей" } Азаза ниможите, затралел лалок.
вебплеер был офигенен, согласен. Но на счет скорости билда вебгл, в юнитевском облаке у меня все компилируется в среднем за 7-10 минут, 15 максимум. К тому же можно добавить функцию, чтобы по окончанию сборка заливалась на хостинг, удобно же.
Я пока занят, извини.
Хуево же быть тобой
Забавно, что прилюдно обосрался здесь не я. Ещё раз тебе говорю, иди и читай про историю жейсона. Там ты узнаешь, что имя ему было придумано уже после, что сам формат возник ещё до жаваскрипта, и что джаваскрипт появился в 95м году, жейсон (как мы его знаем сейчас) вылез в 2001м, а поддержка сериализации туда и обратно в стандарте появилась где-то около (по-моему, позже, но не раньше) 2005го, а так же, что нотация эта была придумана для передачи, блядь, данных.
Алсо, довольно интересно, что вся серьёзная сериализация везде сделана в хмл (или в свой навелосипеденный формат, но его всё равно игнорируют и создают либы под хмл).
>Жсон это аббривеатура JavaScript Object Notation
А http - это аббревиатура Hyper Text Transfer Protocol, но передаёт он, каким-то чудесным образом, и обычный текст, и картинки, и видео, и архивы, и просто бинарные блобы. Удивительное рядом.
Сходи к врачу, серьезно. Такую кучу концентрированного бреда в гд еще не высирали.
Слишком много слов для файлика ключ:значение.
Естественно ты можешь интерпретировать их как хочешь, только зачем?
Вся популярность жсон как-раз за счет того, что это сериализованные объекты в жс и не надо никаких лишних телодвижений для парсинга данных.
Слава богу нигде за пределами жс-говна я больше употребления жсон не видел.
Какие подводные камни?
Я немножечко потрахался с unet.
SyncVar нихуя не работает, как заставить - хз.
Сделал через клиент-сервер (rpc-command), тормозит как лютый пиздец, хз почему.
Так что пока я остыл и дальше пилю в оффлайн режиме.
Хотя стоит отметить, что ничего особо сложного в HLapi я там не заметил.
>>298859
Короче, у меня есть один объект. У него несколько чайлдов - мешей. Меши у меня - это части одного большого коллайдера. Когда я скейлю этот объект, то расстояние между меняется (обратно пропорционально). Я ебу что с этим делать.
Глобал.
Папка твой кукарекал пока тебя делал, на этом все.
Иди в УеЧ-тред и расскажи им что на блюпринтах нельзя игори делать, потому что их в Юнити нет.
800+
Аноны агрессивно вскукарекивают между собой
Вопросы нубов составляют процентов 5 от всех постов
кое-что в этом мире никогда не изменится
На нубов всем похуй.
Твой уровень мне ясен, васян из 5-А
Пробовал всякие триггеры делать? Например там if (timeZero == true){...отключение управления...} else {...} else if(time2X == true){...} Ну вот что то подобное.
сам не сильно шарю, так что могу хуйню написать
Зачем ты умножаешь на Time.fixedDeltaTime, ты ебанутый? Объясни логику такого поступка. Все делается через Time.deltaTime, на который timescale вполне успешно влияет.
Uniti естественно
UE технически совершеннее, но пидарские блюпринты заместо православных скриптов.
Технически UE это кусок засохшего дерьма покрытый глазурью. На первый взгляд блестит и красиво, но если поскрести ногтем наружу прорезается ПРАВДА. А правда такова, что это пропахший нафталином и бабушкиными колготами движок родом из 1998 года с безнадежно устаревшей архитектурой и API.
Вот есть у меня 11 батчей, и их количество нужно уменьшить.
Как я понял, батчи - это типа отдельные отрисовки каких-то объектов на экране. И если объединить пару спрайтов в атлас, то батчей должно стать меньше. Но у меня эта хуйня не работает, хоть в пакере ясно видно, что спрайты находятся в одном атласе. Тогда какого хуя в Frame Debug показывает, что каждый из этих спрайтов создает 1 батч?
И еще одно. Вот есть у меня кучка картинок в сцене, и вся эта сцена создает 9 батчей. И если я отключаю какой-то из Image'ов, который находятся в сцене, то оно создает еще 1 батч, и у меня их уже 10.
Какого хуя отключение картинки добавляет батч, а не уменьшает?
Ах да, еще в этом Frame Debug показывается, что несколько батчей вообще нихуя не отрисовывают на экране, но они есть, почему так?
Кнута читайте, блядь. Вы бы ещё количество полигонов в 2д игре оптимизировали.
Если ничего толкового сказать не можешь, лучше молчи, чтобы люди не тратили свое внимание на тебя.
У меня fixed timestep 0.2 был. Поставил 0.1. Просто думал, что есть в настройках физики что-то. Надо будет в доку ещё заглянуть.
vita
А между тем я дал тебе самый толковый совет в этом разделе. Но ты этого не понял.
Пул геймобжектов? Мне кажется тоже какой то оверхед. Может лучше хранить координаты этой +1 в списке, двигать их в апдейте, а рисовать в OnGUI? Только я не знаю как тогда отследить ее время жизни.
используй альфу как таймер жизни,
при создании альфа=1, пошло движение/рисование,
каждый апдейт альфа-=дельта.
если в нуле - выкидывай го из области рисования.
Это если лень писать класс со счетчиком.
Вот это норм идея.
Система частиц с глобальным спаунингом и выплевывающая по одному спрайту за клик?
Разве мне не придется тогда все равно спавнить новый go? Я же не могу добавить 1 новую частицу к уже активной системе.
а шо если включать и отключать эммитер, и сделать, шоб ток 1 партикл за раз спавнился?
Ебанутый, если у тебя игра от такого загнётся, то лучше её вообще не делай, чем городить костыли
Хорошо, тогда возьму у твоей мамки денег на новый компуктер, когда в следующий раз к ней приду.
>Пул геймобжектов? Мне кажется тоже какой то оверхед.
Хотел написать какой ты мудак. Потом увидел что ты делаешь и решил ничего тебе не советовать.
Забавно. Ведь это именно ты пришел челом бить в мой тред. А теперь извольте покинуть это место навсегда.
Грешил на blend, но fbx не видит тоже. В логах Unity Cloud Build ошибки нет.
Потому что вместо as sprite нужно использовать типизированный лоадер
UnitIconImage.sprite = Resources.Load<Sprite>("UI/IndicationHUD/CarrierIconSprite");
Хохол детектед
Нахуй она мне.
Уже разобрался - лень было менять все обекты, хотел наебать юнити и подсунуть меши от fbx.
В итоге заменил ручками (там немного было) и всё заработало.
А вообще можно так:
http://kzarczynski.com/2015/11/wanted-to-use-unity-cloud-build-but-all-my-blender-models-disappeared-solution/
Срочно в гринлайт. GOTY не иначе!
И вообще, проверь за щекой, что у тебя возвращает Resources.Load() до приведения к спрайту. Вангую, что тоже null.
Малаца, но для меня такое не подходит. Если делать через партиклы, то мне еще нужно будет ебаться с позицией частицы и текстмешами на этих частицах потому что может быть и +1 и +42. Легче сделать как я и сделал - просто двигать позицию.
Аргументы? Ты вообще в своем уме? Представляешь себе что такое геймобжект? Представляешь от чего он наследуется и что из этого следует? Как работают частицы знаешь? Анус себе дерни, необучаемый.
Ору с дауна, какой же ты тупой блять, маняврирует вопросами на прямой вопрос показывая что нихуя не знает, сам на себя ссыт и кричит необучаемые. Скрыл ребенка короче.
>>299187
Так ты сделал лист<го> и дергаешь за анус по очереди?
Типа как декали выстрелов в шутанах делали?
А если серьезно, то раньше такого не было, после недавних обновлений при RandomSeed=0 все было как надо.
Привязать источник частицы к мыши - дело еще двух строчек кода. Вот рандномное число выдавать уже сложнее, да. Спрайт-шит, лол
А если делаешь через геймобджекты, то лучше откажись от идеии списка (да нахуя, бог оптимизона что ли?) и запили код движения, исчезновения и самоуничтожения прямо в апдейт скрипта конкретного "+1". А потом просто их инстанциируй по координатам, ололо, пусть сами за собой следят, ведь им, крмое самовыпила, ничего уметь и не нужно :3
Это, кстати, правда, и относится ко всем сдешним обитателям.
Но просто положи хуй и лови лулзы.
inb4: держи нас в курсе
Хотел тебе скинуть свой удобный и легкий де/сериализатор, но подумал и решил что пошел ты нахуй, сиди и страдай со своими костялыми мращь
Меня интересует анимация персонажа в 3д. Вот я замоделил персонажа, сделал ему анимацию идла, бега и т.п. А так же анимацию взмаха мечом. Но мечей у меня 10 разных и все должны быть с одной анимацией. Как это реализуется у нормальных здравомыслящих людей?
Моё предположение: во время анимирования персонажа, скажем, в блендере, добавить к нему на сцену меч и перемещать согласно движению руки персонажа. Т.е. создать отдельную анимацию самого меча, которая будет двигать его синхронно с персонажем. Затем в юньке мы подсовываем анимацию от этого меча всем остальным мечам. Хорошо придумал или я шизик? Или можно прикрепить меч к кости?
Ты странный. Просто заменяешь оригинальный меч своим. Смотришь риг на ошибки. Делаешь ретаргет, если всё плохо.
Отвечаю на свой же вопрострадиционно, двумерный массив нормально сериализуется, а то я уже боялся что придется перегонять его из листов, лол
Спасибо за Ваше резюме! Вы нам подходите, но есть еще кандидаты в очереди. Мы Вам перезвоним, я уверена, они вам не конкуренты.
Блять, вставь в блендере ему в руку кость, к ней приделай розовый хуй, и анимируй.
Потом в юньке найди эту кость и сделай на нее потомком нужный меч.
На выходе получаем индекс массива, что не так?
Использовать то что на пике 2 допустимо?
А как быть с пиком 3 ?
>Использовать то что на пике 2 допустимо?
Это ты тип про ненормативную лексику в комментариях? Не, не допустимо.
>А как быть с пиком 3?
Задача не ясна. Что за мэйн и какого рода информацию ты из него хочешь получить?
>Что за мэйн?
MAIN это менеджер управляющий миром, создает корабли, крутит планеты, двигает их, отрисовывет на сцене то что мне положено видеть(небольшую часть мира).
>Какого рода информацию ты из него хочешь получить?
Скорей какую ему дать. Я хочу сказать менеджеру что у Player в цели такой-то корабль (экземпляр класса Ship). Был совершен клик по геймобжекту ( который есть просто клон, созданный по образу и подобию Ship ), и менеджер должен узнать об этом.
Ну то есть менеджер как кукловод, знает все ссылки на все нужные геймобжекты и ворочает с помощью ниточек ими как хочет, но а как сделать грамотно обратную связь ?
Ну насколько я могу судить из пика и твоих слов - все вполне адекватно сделано. Что тебя смущает?
>Что тебя смущает?
Ну, может быть есть другие, не раз истоптанные пути. Не хочется в какой-то момент начать тонуть в собственно высераемом дерьме. Требуется одобрение папки, наставление на путь истинный
Можно ли подобное сделать на Юнити, или это забивание гвоздей микроскопом? Сам кодил только на уровне 10 класса школки, но, если надо будет, разобраться в принципах работы могу.
Можешь при инстансировании кораблей,планет и прочего мусора давать им ссылку на менеджер кликов, и при онмоуседаун пусть они ему самостоятельно сообщают - "я нажат, чих-пых, вот мои данные"
Все намного проще. Пишешь event в своем корабле, а в менеджере, подписываясь на это событие, указываешь какая функция должна вызваться при возникновении события.
https://msdn.microsoft.com/ru-ru/library/8627sbea.aspx
>event
Благодарю, братья.
Сыграл скатал тебе за щеку, проверяй.
В общем, говно сделали. Очень плохо. Я думал лучше все это будет. ЗАТО МЫ ТУТ ВАМ NETWORK MANAGER GUI СДЕЛАЛИ ИСКАРОПКИ, ПОСОНЫ, ТЕПЕРЬ МОЖНО КУБЫ СОЕДИНЯТЬ БЕЗ ПРОГРОМИРОВОНИЯ! НУ ВАМ ЖЕ ТОЛЬКО ЭТО НАДО, ДА? А ЕЩЕ ЛОББИ ЗА ВАС ЗАМУТИЛИ, КРУТО ДА?
Кое как удалось запустить на этом говне сервер и присоединиться к нему, не используя ебаные ассеты, хуй пойми для кого сделанные. Ей богу, хоть на старом API пиши. Или в этом и есть вся суть HLAPI? Чтобы поменьше кода?
Блеа, клево, век живи, век учись, кирилл.
Как её подключить? Её нужно предварительно компилировать или Юнити всё сделает сам?
Можно сразу дллку кинуть.
Я слепой даун. Там же галочка есть.
Это сакральная Абу технология. Она открывается лишь избранным.
Сейчас ракнет
Извращенец.
Вот смотрите, можно накидать все типы объектов в SpaceObj и указать вверху тип (пик2). Еще есть скрипт подсказки, и правильно анон сказал выше, подсказка должна быть универсальная, и тогда ей требуется скормить SpaceObj и намакаронить внутри следующее: "если звезда, то это, если корабль, то это", ну а можно спейсобжекту сделать финкцию типа GetInfo, которая будет возвращать какие-то даныне, например TooltipInfo, внутри которого уже будет там хедер, футер, иконка, а скрипт подсказки распарсит(?) данные. С одной стороны только большая макаронина в скрипте подсказки, с другой стороны весь код можно сосредоточить в SpaceOBj, но все равнно какой-то код нужно писать также в скрипте подсказки. Надеюсь не по даунски объяснено, в общем что тут делать надо?
юнити объекты не дружат со статиками. наименее страшное что может случиться - игра зависнет при загрузке уровня
Внезапно перестало работать простое как говно, говно.
void createBloodEffectPrefab(Vector3 pointOfHit, Quaternion rotation, Transform parent)
{
Transform blood = Instantiate(bloodEffectPrefab, pointOfHit, rotation)as Transform;
blood.SetParent(parent);
}
Всего две ебаные строчки. ругается на вторую, с текстом
"Setting the parent of a transform which resides in a prefab is disabled to prevent data corruption."
Что я делаю не так?
Ты, я так понимаю, пытаешься парентом префаб сделать. Тебе надо или его создать, или если уже создал, найти его копию на сцене.
С чего бы это вдруг ему зависать?
GameObject blood = Instantiate(bloodEffectPrefab, pointOfHit, rotation) as GameObject;
blood.transform.SetParent(parent);
Стоп, ты имел ввиду занаследовать все объекты от Спейсобж и всем наследникам сделать GetTooltipInfo? Но я не могу, планета уже наследуется от солнечной системы, и где-то говорилось якобы создавать суперкласс-помойку для новичка не самая лучшая идея. Или что? Братья, помогите.
Не брат ты мне, юнитидаун
>Интерфейс наследуй
Чем отличается абстрактный класс от интерфейса, сука?
припекает от таких вопросов, если честно, будто бы я от того что умею цитировать википиедию, я стану лучше погромировать, рашкинское айти такое рашкинское
У них вполне конкретное различие, если не работал с ними то и назвать их, конечно же, без вики не сможешь.
Так что да, вики не вылечит твою криворукость.
тем что абстрактный класс это интерфейс + неполная реализация, а интерфейс это интерфейс. у каждого класса есть неявный интерфейс который берется из полей, методов. интерфейсы нужны чтобы во время компиляции проверять типы. этим статические языки отличаются от жаваскрипто- и питоноговна.
>интерфейсы нужны чтобы во время компиляции проверять типы
ну и конечно-же чтобы показывать тебе красивые подсказочки в intellisense
мы вам перезвоним.
я хуй знает чем тебе помочь, я бы залудил базовый класс СпейсПисОфЩит с методом гетинфо и от него наследовал бы все плонеты и карабли
Спасибо бро, но как быть с первым вопросом, менеджер присваивает скриптам разные типы переменных, одному Ship, второму Plantet. Что тут делать чтоб не плодить скрипты для разных типов объектов? Наследовать каждый объект от какого-нибудь интрерфейса вроде Selectable?
При "ударе". Обычная корутина.
Самое обидное - когда мои клоны бьют меня, все ок, когда я их - ошибка.
>>299758
Спасибо, дружище, но попробовал это в 1ю очередь. Не помогло.
Самое забавное, что Debug.Log("------" + blood);
перед SetParent возвращает полное имя уже созданного префаба, с (Clone), с типом Transform и прочим.
Маленький дауненок проверил парент, паренту приятный и хороший. Мало того что существует, так еще и отзывается, имеет трансформ и пытается иметь мой мозг.
Пиздишь, сученок. Ты пытаешься добавить объект к трансформу префаба, и юнити ругается на это
>Instantiate(bloodEffectPrefab, pointOfHit, rotation, parent);
Раньше такого не было. В новой версии штоле добавили
>в отличии от предыдущего варианта, работает
может там просто нет проверки на префаб и ты надобвлял к своему префабу объектов лол
Не проси об этом счастье, отравляющем миры,
Ты не знаешь, ты не знаешь, что такое эта Юнька,
Что такое тёмный ужас начинателя игры!
Тот, кто взял её однажды в повелительные руки,
У того исчез навеки безмятежный свет очей,
Духи ада любят кушать эти ёбаные глюки,
Бродят бледные Кирилы по дороге юничей.
Видимо ты слишком туп чтобы даже понять где ты обосрался. Не хочу больше тратить время на такого дурачка.
Но ты только что написал мне это и потратил время. Ты поехавший?
Привет. Написал плагин для юнити, юзающий нативный джава код андроида. Моя активити наследуется от UnityPlayerNativeActivity. Перегружаю onGenericMotionEvent и вывожу на сцену текст, содержащий значения всех осей подключённого к мобиле геймпада геймпада. Выводятся только две (X и Y), а должно быть значительно больше - их можно увидеть, если написать не юнити приложение с плагином, а андроид приложение на джаве и перегрузить onGenericMotionEvent у Activity/AppCompatActivity. То есть у обычной активити отлавливаются ивенты со всеми нужными осями, а у юнитевской UnityPlayerNativeActivity только две. Как решить проблему? Для юнитевской активити прописал в манифесте <meta-data android:name="unityplayer.ForwardNativeEventsToDalvik" android:value="true" />, если что. Без этого вообще моушн ивенты не ловились.
В бетке 5.5 все работает нормально.
Я бы не заебывал, будь мне понятно. Что ты имеешь ввиду под "используй компненты". Типа для планеты один скрипт, для корабля другой? Это и есть "компоненты" ? И вообще не кричи на меня.
Мне сдается тебе нужен конструктор. У тебя есть разные классы объектов. У каждого есть свои свойства. Объект передает свои свойства в конструктор, а тот собирает из доступных свойств тултип. Для конструктора не важно какие свойства ты ему передал, главное чтобы они были унифицированы. Например пары ключ-значение. Допустим у корабля есть переменная-свойство "тип" и ее значение - "крейсер", и, например, свойство "скорость: 50".
Из этих данных можно собрать двумерный массив, и его передавать в конструктор.
Примерно так:
type = cruiser;
speed = 50;
//преобразование в пару ключ-значение
string[,] info = new string[2,2] {{"Type",type},{"Speed",speed}};
void ShowTooltip(string[,] info) {
// вызов конструктора
tooltip showTooltip = new tooltip(info);
}
Когда нужно просто обращаешься к методу ShowTooltip из менеджера и он тебе собирает из массива тултип по содержимому.
Ты что такое собрался писать что тебе Про-фичи понадобились? Логотип юнити убрать? Клауд-билд? Черную тему?
Купить про на неделю нельзя, кстати. Таких хитрых жоп и без тебя хватает.
С давних пор юнити, при наличии соединения и соответствующих разрешений шлет юнитекам приветы. Не слышел ни разу о прецедентах, но есть вероятность.
>логотип юнити убрать?
Очень жаль что не предусмотрено настройки оформления этого дела. Лично меня именно этот момент смущает, а не наличие самого логотипа. Так что да, иногда хочется от него избавиться.
мимодругойанон
Простенькую бродилку с боевкой, где ходишь от точки к точке, сражения будут происходить на отдельной карте поделенной на две части, слева твои юниты, справа врага, боевка пошаговая. То есть можно спокойной накатить персонал версию?
Благодарю.
> ? За жопу не схватят?
Схватят. Кто-то в прошлых трелах внятно обяснил, что есть там какая-то хуитень в билде, по которой живо определяют пиратку. И типа подделать невозможно.
Жируют на наши деньги, пидоры, движок не хотят делать. Такое лого делается за 5 минут. Нахуй кому-то нужен редактор показывания картинки
Пусть лучше движок свой делают. Какого хуя?
Короче юнити начинает уже попахивать трупным запахом.
вот и по поводу рад.
Спасибо.
Лет 10 назад подошел бы. Сейчас только C#, если знаешь яву, то и на шарпе сможешь, всех благ.
В связи с этим есть 2 стула.
Либо камера использует float, и тогда персонаж двигается плавно. Но при столкновении с коллизиями и просто мелкими перемещениями персонажа все спрайты плывут и подергиваются по пизде.
Либо камера привязана к целым числам, и тогда есть некоторая непостоянность восприятия, как заикание видеокарты и заметно дергается уже персонаж.
Как и качество не потерять и проблему решить?
>дико мылит оригинал
Признайся просто что ты хипстер с пиксельартом головного мозга. Билинейная фильтрация не мылит оригинал, если ты не пытаешься растягивать его до неебических размеров. Правильно настрой единицы измерения на спрайтах и камере и будет тебе все заебись.
Как зделоть?
Через сокеты.
т.е. передвижение и поворот относительно Трансформа2
При чём тут это блядь. Там ответ вообще о другом. У местных мамкиных прогеров просто JS не в почёте. Бери и ебашь.
Относительно, это значит что у нее свои позиции (как будто localPosition) и поворот. Дескать, в стороне от "родителя", за которым двигается. Но двигается это счастье синхронно с основным трансформом, относительно его, фактически, через
transform.position=
transform.rotation=
Я ничего не понял, уточка. Если ты хочешь привязать ее к родителю, но чтобы она была чутка сдвинута, то делай новый вектор Vector 3 vec = transform.postion;
Потом ему делай смещение vec.x += 100500;
Потом делай transform2.position = vec;
Есть разные типы снарядов. И нужно где-то хранить их префабы, чтобы потом давать юнитам. Но пихать десяток префабов снарядов в каждого юнита слишком тупо.
Если кинуть на сцену пустой объект и в него добавить скрипт в котором хранить нужные префабы, а потом спавнить через
Instantiate(prefabs_Container.prefab1 ...
То юнити ругается на то, что не может найти в префабе компоненты.
Создай папку Resources. Потом грузи через Resources.Load(путь_относительно_папки_ресурсов).
Вы видите копию треда, сохраненную 23 ноября 2016 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.