Это копия, сохраненная 30 декабря 2016 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Где скачать?
На официальном сайте.
Где взять уроки?
На официальном сайте.
Где взять текстуры и модели?
На официальном сайте.
Предыдущий тред - https://2ch.hk/gd/res/277225.html (М)
Как зделоть?
http://answers.unity3d.com/questions/1181093/what-is-profiler-unaccounted.html
Экстрасенсы на ТНТ. Кроме тебя никто не скажет что ты там нахуевертил.
Ничего не хуевертил. Все на стандартных штуках. Ни шейдеров. ни чо нет. Скролл добавил в менюшку и с каждым билдом все хуже стало работать. Кстати, скролл кто как делает?
Начинай отключать все, что твоей игре не нужно. Шейдеры, тени, освещение, графические настройки. Профайлер покажи.
Буду как раньше legacy использовать и пошли они нахуй со своими свистоперделками. Бомбануло.
И сразу начались маняврирования. Можешь не продолжать, уже понятно, что ты даже не пытался его "осилить".
Если ты кинул NetworkManager и NetworkManagerHUD в сцену и решил, что это игра - у меня для тебя плохие новости.
Заем вообще использовать это говно, когда есть Photon? Тем более после того как эти дебилы ввели ограничение в 20 UCC для бесплатной юнити.
Так unet это сервера или что? Или надо свой сервер и там еще будет ограничение?
Я-то знаю, что вас, программистов где-то обучают. Программистами не рождаются.
Есть ли смысл скачивать юньку и переносить всё туда. Почему спрашиваю? Дело в том, что не существует вечных решений. У каждой технологии есть свой временной промежуток актуальности.
Все крутые вещи однажды становятся неактуальны. Юньке уже много лет и я то и дело, когда вижу игры на этом движке замечаю вещи, которые настораживают. Это и низкая производительность при простой картинке, тогда как на всяких уечах и краях в разы более сложные сцены летят на 60 фпс без проблем, на юне проседают даже лоуполи сцены.
Так вот вопрос таков, вы наверняка прочувствовали этот момент, что век юнити подходит к концу, сейчас пик этого движка и конечно будет точка наивысшего уровня использования, после чего произойдёт кризис и отказ в пользу более совершенной технологии.
Сколько лет вы дадите юнити? 2 года, 5 лет. Как долго эту лошадь ещё можно будет напрячь?
Мы сами себя обучаем.
Рождаются, просто раньше программистов в Спарте со скалы скидывали, а теперь они делают игры.
>на всяких уечах и краях в разы более сложные сцены летят на 60 фпс без проблем, на юне проседают даже лоуполи сцены
Попробуй потоньше.
У движка уже кризис, я бы перекатываться на него не стал. Если твоя игра сложнее Марио, то ты будешь вынужден накостылить овердохуя решений поверх движка.
Если очень важна скорость разработки игры то лучше на уеч перекатись.
Собственно так и думал. Даже оплаченный пиар юнити советует не использовать его для основных игр. Для прототипов да, для мобилок да, для пк игр нет.
Я бы и для прототипов не стал.
Они намного быстрее в том же уече собираются.
Но а так да, это, по большей части, движок для мобилок, социалок и наивных бак.
По факту на нем можно сделать все что угодно, но блядь, что-то большое в нем создается через дикую жопную боль. Его потолок - Inside.
Есть, конечно, дикие исключения в лице того же Rust, развивающийся со скоростью черепахи.
Есть, впрочем, один момент. Уеч движок специфичный и под конкретные задачи, если на Юнити можно хуярить не парясь, на уече такой подход к хуям убьет оптимизацию. Это не движок для Кирилла с его мечтой сделать кликер про кота.
>на юне проседают даже лоуполи сцены
>движок для мобилок
Нормальную методичку составьте уже, а.
После литературы и перед биологией откроется.
Да, по образу и подобию монашеского ордена уечезависимых.
Яростно доброчую
>с производительностью комплексных игр на пека для учобы у юнити проблемы.
Конечно проблемы, особенно когда дауны пилят движок майнкрафта и для построения карты инстансят миллиард кубов (ыл тут один в позапрошлом треде), а потом жалуются, дескать, упити тормозит! Придется перекатываться на уе4!
>особенно когда дауны пилят движок майнкрафта
Лично я сравнивал производительность кокоса и юнити, с сопоставимой нагрузкой мобильных приложений на средней руки телефон. И юнити действительно в этом плане проигрывает. Но не так, чтобы это было критично. Я считаю, умеренная плата за удобство.
>особенно когда дауны пилят движок майнкрафта и для построения карты инстансят миллиард кубов
Все так начинали, хуле ты
>дауны пилят движок майнкрафта и для построения карты инстансят миллиард кубов
А как правильно?
т.е. передвижение и поворот относительно Трансформа2
Нужно брать один куб и с помощью шейдеров камеры и хитрых алгоритмов раскидывать его по карте. Этакое зрение стрекозы должно получаться. Кубов вроде много, а на самом деле он один.
Брал приложения и сравнивал, хуле ты?
На кубе.
Хуй знает, у Нотча спрашивай
Но мне необходимо оперировать трансформами без ригидбоди. Фактически, через
transform.position=
transform.rotation=
Оперируй ригидбодями. А хочешь - не оперируй. Пиши функционал, вспоминай эвклидову геометрию за 9 класс. Всем похуй.
и есть ли аналог ее под glsl
Ну так то я оператор всем операторам оператор. Хочу оперирую, хочу не оперирую, хочу, так операнд спрячу, что хуй найдешь.
Но вообще у нас это было на линейной алгебре на 2м курсе, а я ее наглухо не помню. Так что я пиздец как впечатлен твоим 9м классом.
Неосилятор шапки порвался
public int startNum = 1;
public int endNum = 1000;
public float duration = 2f;
public Text text;
void Start(){
StartCount();
}
public void StartCount(){
StartCoroutine(Count());
}
IEnumerator Count(){
var timer = 0;
while (timer<duration){
timer+=Time.deltaTime;
text.text = Mathf.lert(startNum, endNum, timer/duration).ToString("0");
yield return null;
}
}
ебать ты погромист
Возможность дедик сделать правда с некоторыми ограничениями по платформам была давно, и сейчас есть. То, что ты об этом не знаешь - твои проблемы.
>Mathf.lert
Спасибо, только что за Mathf.lert?
https://docs.unity3d.com/ScriptReference/Mathf.html
В юнити такого нет.
опечатка, Mathf.lerp()
если нужна не линейная, а, к примеру, ease-out анимация, то можно еще использовать Mathf.Lerp(start,end,Mathf.SmoothStep(0, 1, timer / duration));
А еще лучше
Mathf.Slerp(start, end,(float)((int)(Mathf.Clamp( Mathf.Lerp(0,1,Mathf.SmoothStep(0, 1, timer / duration))), 0, 1)*10))/10);
для этого можно использовать Update, будет проще. но если нужна именно коротина, то можно в классе объявить булевый флаг запущена ли в данный момент коротина. и при нажатии пробела делать проверку: если не запущена - запустить и выставить этот флаг в значение true, а если запущена - обнулить переменную таймера.
Ага ок, просто думал мб есть что-то типа Restart Coroutine, ок буду ставить таймер и пешушить булевую переменную.
Это стандарт же, lerp везде lerp.
Пробовал хуй, оно не уничтожает первую корутниу, а приостанавливает, в итоге когда нажимаешь пробел, создается еще корутина, и продолжается первая, в итоге анус выходит.
а вейтфорсекондс не надо? Эту корутина не сожрет все время проца?
(я только постигаю глубины юнити)
Я так понимаю оно ожидает след кадра, мимо такой же петух как ты.
Братика себе заделай, может посмешнее петросян будет.
Привет. Подскажите как добавить настройки в собственный unitypackage. Знаю, что это возможно. Хочу сохранить в unitypackage настройки осей из InputManager.
>не знаком с апи
linear interpolation
Логика и здравый смысл в программировании намного ценнее знания апи.
Ебучий Юнити, я так и написал поначалу, но оно мне создало с нулями, видимо не успело просраться, и я решил что так не работает.
Ты видимо написал так, когда скрипт уже был добавлен на объект. Нужно резетнуть его и тогда все загрузится по умолчанию.
Не, я создавал через [CreateAssetMenu...], но уже полечилось, спасибо анон, мой убийца фоллаута спасен.
Хаха, бро, обучаюсь и делаю йобу. Уже понял что так делать не надо, ну а схуяли? Не хотелось говном захламлять иерархию, еще говорилось якобы они жутко лагают при передвижении, так ли это? Хочу сделать вверх вылетающие циферки от дамага.
канвас охрененно большой, потому что разработчики решили приравнять координаты транформа пикселям экрана. так как 1 единица в ворлд спейсе условно равна 1 метру, то этот канвас часто имеет размер 800х600 метров и больше.
и это удобно, потому что если нужно расположить какой-нить объект на экране по пиксельным координатам (например, Input.mousePosition), то можно просто присвоить эти координаты transform.position без преобразований в экранные координаты через камеру.
Отдай канвас менеджеру и ссылайся на него из нужного при рисовании урона. Нахуй тебе сто канвасов то плодить?
Есть у меня в проекте неуязвимые теги. Не те, которые "спрятаны" от пользователя, типа "Respawn" или "Finish", которые не отображаются в редакторе, а вот самые обычные, типа missile и explosion.
У могу их удалить, переименовать, нахаркать на монитор прямо на них, но после перезапуска Юньки они никуда не деваются, как и харча с монитора - снова там же. Как победить их? Что это, блять, такое?
Штоблять?
Возможно у юньки нет разрешений на перезапись файлов, которые в защищенной директории лежат. Пробовал запускать с правами администратора или переместить в другое место директорию с проектом?
К сожалению, права есть, на всякий случай я поперекидывал в разные папки с разными правами - они все еще возрождаются после перезапуска.
С утра уже. И между 2 и 3м уроком тоже, вместо заполнения прописей, между прочим!
Они у тебя в коде где-то каким-то объектам задаются и юнька их автоматически добавляет
Слыш ты... это... Спасибо, добра тебе. Твой отец - настоящий мужчина, а мать - достойная женщина.
Что я делаю не так?
Слушай. Мне чтобы чему-то научиться, нужен хоть какой-то пример. Или ты такой гений, что написал свой первый скрипт абсолютно с нуля, никуда не подглядывая?
Ебучий двач. Чего еще надо было ожидать, задавая тут вопрос, кроме как оскорбления.
>Или ты такой гений, что написал свой первый скрипт абсолютно с нуля,
В чем проблема самому написать скрипт передвижения?
Разбивай задачу на более мелкие и начинай гуглить.
Например можно вполне начать с "unity how to move object". Скорее всего попадешь на форум, где добрые буржуи уже ткнули в апи носом другого кирилла.
Ах да, если не можешь в английский хотя бы на таком уровне, то будет очень тяжело, придется еще год стандартные скрипты юзать, лол
Тупой даун, неспособный зайти в /pr/ и украсть там рандомную книжку из фака, умри в мучениях.
И да, как в unity можно реализовать интерфейс какого то прибора. Например есть приборчик с экраном например эхолот, и надо показывать динамически рыбу на нём.
Я бы тебе ответил как полагается, да мочух опять порвется
Сделал свитч твоей мамке за щеку
Что ты имеешь ввиду?
Я просто такой только перекатился в unity3D из нихуя. Хочу, чтобы в OnTriggerEnter было несколько вариантов коллайдеров из массива геймобжектов. Не очень понимаю, как это реаилзовать, кроме как кучей if(coll == hui) if (coll == pizda)
Сделай свои layerы и в настройки физики юнити разграничь что от чего должно тригериться, чтобы не делать проверки на всякую лишнюю шалупень.
Есть разные типы снарядов. И нужно где-то хранить их префабы, чтобы потом давать юнитам. Но пихать десяток префабов снарядов в каждого юнита слишком тупо.
Если кинуть на сцену пустой объект и в него добавить скрипт в котором хранить нужные префабы, а потом спавнить через
Instantiate(prefabs_Container.prefab1 ...
То юнити ругается на то, что не может найти в префабе компоненты.
200 навмеш агентов без каких-либо команд на поиск пути просто стоят, и лагают сука, без них сцена выдает 300 фпс, как включаю их - 2-3 фпс. Опять же, это не мои скрипты, я вообще ничего им не добавляю. Если подключаю скрипты поиск пути, вызываю раз в секунду а не каждый кадр, ничего не меняется, все те же 2-3 фпс. Все галки на навмеш агенте уже перетыкал, ничего не нашел.
И нет, юнька вроде может и больше, есть демки с 1000+ навмеш агентами и их движением.
сделай скриптабл обджект с референсами на все префабы и назначь его юнитам. если лень назначать, можешь засунуть его в ресурсы и в старте вызывать Resources.Load
Ну не на кубах же тренироваться, алсо, убрал прозрачную анимацию с корабля, немного оптимизировал канвас, и вот уже 500 ботов @ 60+ фпс
Я не про ошибки, просто если у тебя там каждый юнит каждый тик выдает в консоль Debug.Log, то уже десяток юнитов будут заметно проседать фпс.
Что-то мне подсказывает, что сферический коллайдер на триггерах так и делает.
Наверное.
КАНВАС на экран натягиваешь и жизнь хороша.
Зачем тебе ссылка? Ты думаешь, у тебя что-то получится? Ты же даже ссаный тутор найти не можешь по фиче почти трехлетней тухлости.
https://www.assetstore.unity3d.com/en/#!/content/37599
Зачем это нужно? 3 года в юпити и не могу представить ситуацию при которой бы пришлось искать подобное.
Так вроде для вывода спрайта служат два полигона обтянутых текстурой, что то поменялось?
>>301108
Это не из-за физона. Если использовать обычные квады, у тебя будет много пустых пикселей, которые будут калькулироваться вхолостую в пиксельном шейдоре (напомню, что пиксельный шейдер вызывается для каждого пикселя геометрии). Поэтому юнити генерирует меш отрезающий как можно больше невидимых пикселей.
Да, пустые пиксели тормозят индустрию. Говорят на UE4 справились этой проблемой, поэтому могу посоветовать юзать для пиксельного 2д хуинди именно уе4. НЕ ДАЙ ПУСТЫМ ПИКСЕЛЯМ ЗАТОРМОЗИТЬ ТВОЙ СПРАЙТ!
Ты что, даун? Если у тебя 50% пустого места в кваде, то отрезав эти 50% ты ускоришь рендеринг спрайта в 2 раза.
Количество вершин это хуйня и не являются bottleneck'ом графона. Этот скрипт просто наебка.
Из обсуждения я так понял что никто энтот ассет не использовал? Нашел торрент, к стати, сам буду сейчас проверять. Посмотрим что там диванные угадали, а что нет.
Поменялось то, что юнити для 2д спрайтов больше не использует квады, а автоматически строит мэш, который отсекает пиксели с полной прозрачностью.
А есть сравнения производительности с квадом с кривым спрайтовым говномешем? Я чет сомневаюсь что мой спрайт 16 на 16 с простейшим шейдером наложения текстуры способен что то там затормозить своими пустыми пикселями, смысл считать милипиздрилионные доли секунды используя ЮНИТИ блять. Конечно ботллнеком в игре на юнити будут пустые пиксели, ага. Совсем уже ебанулись.
Вот, допустим у меня есть анимация, которая меняет цвет объекта. Однако, эту анимацию необходимо применять не к какому-то конкретному объекту, а к одному из многих в зависимости от того куда тыкнул игрок. Собственно вопрос, есть ли возможность применять эту анимацию к выбранному объекту? Или надо писать скрипт, который будет покадрово менять цвет объекта без всех этих аниматоров? У меня не вызывает сложности написать скрипт, просто хочется понять, есть ли возможность менять анимируемый объект.
Можно, есть два пути:
Хуевый для долбоебов: добавить на выбранный объект компонент аниматора, передать ему анимацию и попросить воспроизвести.
Нормальный: не делать этого.
>А есть сравнения производительности с квадом с кривым спрайтовым говномешем?
Все за тебя надо делать, ленивый уебок.
>Я чет сомневаюсь что мой спрайт 16 на 16
На маленьких спрайтах разница действительно не очень заметна (что очеивдно, т.к. разница в пикселях между квадом и мешем не очень большая), но если сделать upscale побольше (или у тебя большие спрайты), то фпс ощутимо проседает
Понял, делаю через скрипт и колорлерп.
>Конечно ботллнеком в игре на юнити будут пустые пиксели, ага
для видеокарты все равно прозрачные у тебя пиксели на текстуре или нет. боттленеком может стать то, что видеокарта рисует в 2, а то и 3 раза больше чем необходимо.
Короче такие дела, котаны. Этот ассет нихуя не золотая палка выручалка. Работает луче юнитекосвкого мэша, но только в некоторых случаях. Лучше всего работает на спрайтах с более менее ровными гранями. Собственно именно таки спрайты они в промо картинки и засунули.
В среднем у меня количество полигонов на экране упало с трех до одной тысячи. Количества батчей снизилось в среднем с 60 до 30-40. Впрочем на пеке это на фпс особо не повлияло. Средний фпс был около 600, примерно таким же и остался. На мобилке правда еще не тестил, может там влияние более заметное будет. В любом случае эта хуйня 12 баксов не стоит.
Ах да, сами спрайты у меня с прозрачностью от 50% размера спрайта (в некоторых случаях - 70-80%). Средний размер от 400х400 пикселей. Есть даже в мегапиксель длиной/шириной. Это я для тех, кто на свой хипстерский пиксельарт натягивать собрался. Там это не поможет. Там вообще ничто не поможет.
Если кому интересно, качать тут: http://rgho.st/8CbqMdTZ8
Мне лень читать тред, т.к. все крутят кубы и не хотят в документацию.
>>301215
Ты какой-то странный.
Почитай про opaque, transparent и fill rate бля буду.
мимоПРОбыдло
Держи браток, угощайся.
В общем-то сделано, но как так, это же самое простое, когда камера смотрит сверху и мобы поворачиваются ебалом к игроку, то спрайт становится ребром. Неужто нельзя было сделать галочку "развернуть спрайт на 90" по такой-то оси? Или я что-то не понимаю?
Такое, делал игру, пытался логику от интерфейса отделить, но соснул без коллайдеров и тд. Теперь переделываю. Посмотрел разные видосы как клепать рпг, в самых простых используется компонентный подход, топор - отдельный компонент, если чуть сложнее, итемы всякие делаются уже через наследование. Абилки, статы, левелинг тоже. В моем случае корабль состоит из разных частей, притом что каждой требуется доступ к несколько другим, а то и всем остальным,энергия, вычислительный блок, то се. Значит нужно отдельный класс корабля? Но тут возникают трудности, вот компонент EnemyAI геймобжекта-корабля имеет public Ship ship;, и хоп у него прожимаются ship.weapons.Fire(ship), и там хуяк делаются ракеты, складываются в ship.galaxy.rocket , менеджер делает проверку в апдейте на их наличие, делает инстантиейт, вешает им компонент RocketAI, получает его. вносит ему информацию о ракете, дамаг, начальная позиция, цель, то се. Тут ракета летит врезается в другой корабль, получает коллайдер , получает компонент, вызывает функцию GetDamage(damage) у вражеского ship'a. А потом дальше такой пиздец, вражеский корабль распидорасило, ship ушел в isDead, пробежал апдейт, увидел дохлого, сделал на его месте взрыв разметав говно вокруг и т д. и тд. Вот это всё ебический костыль или норм? Посматриваю в строну компонентного подхода, но не могу никак сообразить его в целом. Из ship'a одного хорошо, есть доступ ко всему, и оно как одно целое. С компонентами хуй знает. В общем мне нужно знать, на компонентах нужно делать? Выкинуть нахуй ship? Итемы (оружие, двигатель и тд) складывать в одном компоненте? Или как?
Нарисуй блоксхему иерархии своих кораблей и проблемы, а то заебал в край своими кораблями, нихуя не понятно.
Блок схема это сложно, давай ты внимательно прочитаешь и дашь свой ответ, хорошо?
Нахуй это вот туда -> и немного налево.
Я же не прощу весь твой генитальный проект выкладывать.
Вот мы делает 2Д игрулю, предположим с видом с верху.
ГГ бегает по уровню, че-то собирает. И предположим я хочу ограничить область видимости игрока кругом, будь-то комната темная и игрок видит область только в некотором радиусе, а остольное чернота. Мне не нужен туман войны (типа игрок не видит того что находится за стеной рядом с которой он стоит).
Я вижу следующий способ - обрабатывать изображение после рендеринга и закрашивать не нужные пиксели, но не нашел подходящие для этого методы и классы, слышал что шейдеры могут решить вопрос, но пока не смог их освоить.
Хелп.
>>301294
>>301295
Буйство семена итт.
>>301282
>Нарисуй блоксхему иерархии своих кораблей и проблемы, а то заебал в край своими кораблями, нихуя не понятно.
Хуй знает как рисовать, ты же должен иметь представление о всяких дотах/варкафтах. Если делать вакрфат3 на юнити, то герои это объект класса Hero(без наследования от моно), напичканные объектами Item и Spell ? Или же нет никакого класса Hero, а есть только геймобжект, увешанный компонентами "Health bar", "Stun Agility" и как им взаимодействовать с самими собой? Вот как тут проектировать игру?
А если герой не всегда по центру экрана, а если надо будет подсветить несколько областей. Конечно я думал об этом, но мне кажется это хреновых выходом.
Наложи на экран картинку с белым пятном. Делов то!
И на источники света можешь еще наложить и все их сложить. Будет тебе самая тупая карта света.
Мммм, может почитаь про ООП?
Может скачать движки кваки, варгуса(фриплейный варкрафт), еще всякое говно?
Рисуешь текстуру на весь экран, а по льфа-каналу шейдером проходишься. Хуль тут сложного?
Шейдеры
Ладно я так понял шейдеры самый адекватный вариант.
Где можно найти вводный материал по ним, потому что я пока в душе не ебу что это и как
В гугле, стаковерфлоу, сайт юнити, в коране, в торе, у мамки спроси.
Можешь без шейдеров обойтись. Рисуешь текстуру в буфер, размером с экран. Поверх рисуешь круги. Назначаешь текстуру из буфера как альфаканал для другой текстуры. Рисуешь эту текстуру на экран. Хуль тут сложного?
Эт по проще звучит, правда не уверен не угробит ли производительность, попробую.
Ну вот например геймобжект, он будет героем скажем, создаешь для него класс типа HeroContainer, которій держет в себе тот самый класс Hero и еще методы для работы с ним
Делаю интуитивно. На уровне хитровыебанных мест должно быть немного, остальное - передышка для игрока перед очередной залупой. Никогда не выверял ничего, делал на глаз, потом тестировал это место на сложность, на обходные пути и хаки, потом весь уровень целиком. Регулярно при разработке, чтобы отвлечься, прохожу уже созданные уровни, заодно выявляю баги и недоработки. Казуалки все таки казуалки, хардкоре игроки больше не любят.
(для 2д игры, если это важно)
> 1488
Бля, даже макак с тебя лоллирует.
Для начала нормально пояснить что ты пытаешься сделать.
Например:
class Girl : IFuckable
{
void Fuck(); //реализуем интерфейс IFuckable
}
class Mother : Girl
{
}
в этом случае при gameObject.GetComponent<Mother>().Fuck(); ты соснешь немытого
поэтому вам и говорят, ебланам, юзайте компоненты, а SendMessage оставьте универским шлюхам
А вскукареки про производительность меня вообще заебали, лучше сядьте и не пиздите, оптимизаторы хуевы
Большая часть хейта в тебя летит потому что ты не изучал прогинг в отрыве от Юнити, и потому не можешь внятно показать что ты пытаешься сделать. Ту дрисню что ты расписал выше с наследованием читать невозможно. И да, наследование почти всегда сосет, не используй его блядь, юзай композицию/агрегацию.
Поясните за ооп-проблемы в юнити.
Охуенная же вещь, думал в юньке столько применений для него, а итт его не любят совсем.
Или это только одна сажеманя рвётся?
Я наследование не юзаю почти никогда, и потому немного в ахуе, что то что ты описал не сработает.
Впрочем похуй, то что ты описал является примером весьма хуевой архитектуры.
Я другой анон, и я не люблю конкретно наследование. ООП охуенно без него, и в юне проблем с ним нет.
Матрица столкновений в настройках физики.
ООП заебись, пока не натыкаешься на такие подводные камни. А SendMessages - это костыль, который, как я подозреваю, для таких случаев и придуман был
Когда там уже норм UI редактора завезут для широкоэкранных мониторов?
>SendMessages придуман для тех, у кого ООП головного мозга, так как хуюнити не может взять через GetComponent базовый класс и вызвать в нем метод из общего интерфейса
Каждый день узнаю в gd что-то новое
http://pastebin.com/31ftCeif
Специально для тебя накидал, теперь копируй это говно и иди тести гнида
>gameObject.GetComponent<IFuckable>().Fuck();
Чоблять?
Всю жизнь считал что наследование работает в другую сторону.
ВРЕТИ
Нуфаня что ли?
У них UI очень мелкий, ждут апдейта уже который год.
разрешение экрана 1980:1080 - нихуя не видно.
Как же я тогда скейлю, м?
Нарожали блядь уебанов, неспособных строчку в инспектрпе найти. Иди и убей себя, биомусор.
А блядь, ты про редактор.
Сука, нахуй ты его UI назвал? Ты ебанутый? И без тебя путаница в ссаных интерфейсах.
Все.
Кирюш, перестань ссать себе на лицо и загугли термин UI
Да что ж это такое, какое-то послеканикульное обострение в моем гд.
Во-первых, ты написал хуиту. Иди читай про модификаторы доступа в ООП.
Во-вторых, SendMessage придуман для, внезапно, сообщений. Что такое сообщения, зачем они нужны и чем они отличаются от событий - это тебе домашка.
Могу только сказать что конкретно в юнити сообщения нужны только затем, чтобы ВЫПОЛНЯТЬ ОДНУ ФУНКЦИЮ НА ВСЕХ КОМПОНЕНТАХ. Запиши это себе на лбу.
Т.е. SendMessage("OnHit") будет аналогично коду:
GetComponent<Player>().OnHit();
GetComponent<Stats>().OnHit(); и т.д. безотносительно модификаторов доступа. Они тут вообще не имеют никакого отношения.
Зачем это надо и почему нельзя вызывать все функции прямо (кроме того, что это неудобно) относится прямо к твоей домашке о сообщениях. Могу только намекнуть, что если внезапно на объекте не окажется Stats, то ты получишь ошибку. А будет там Stats или не будет, ты не всегда можешь знать.
Вялого лобызай, гнида, домашки он тут задает, петушня.
Маманю твою у тебя на спине пялил, говно
Беги портки теперь стирай, дристун
>Ту дрисню что ты расписал выше с наследованием читать невозможно.
Бро, прикрепил свой высер, отделил 5 нужных скриптов в папку 2ch. Гляньте, если не затруднит. Это уже чуть переделанный вариант, хотелось бы услышать замечания в сторону логики реализации работы оружия, нарушение инкапсуляции/говнокод и так понятно. Оно работает, но я хз, приемлемо ли.
>И да, наследование почти всегда сосет, не используй его блядь, юзай композицию/агрегацию.
Ага, ага, кажется это мне и нужно, просто вот наследование дает возможность воспринимать производные объекты как объекты базового. И я хз как без этого обойтись в реализицаии пушек.
https://yadi.sk/d/IsmV3_-GvWJdR
100 рублей за консультацию
Попробуй всё то что ты написал, по другому представить, каждую пункт отдельно.
Ну, версия по ссылке и та что была описана теперь различаются.
80 рублей
"Норм, но можно так или если хочешь так сделать, а вот тут подводный кммень", или "хуйня, переделывать, потому что причинанейм".
Ладно, я тут начал почитывать композицию, по чуть-чуть доходит.
Посмотрел почти все скрипты, у тебя есть своя архитектура, по самому коду я проблем на свои взгляд не вижу, но сам пишу по другому.
Вообщем я думаю если ты сам не путаешся, и всё работает, то всё норм.
Обойтись очень просто.
Есть объект - основа, на который навешиваются модули. В твоем случае это будет палка торчащая из камеры. Вот ты к ней добавил модуль "прицел", и ты можешь целиться, отправляя ему через интерфейс команду. Надоел такой тип прицела? Взял и заменил на другой модуль, хоть прямо в рантайме в случае агрегации. И к новому обращаешься через все тот же интерфейс. И так с каждым нужным тебе функционалом.
Плюсов очень много, основной заключается в том, что такая архитектура имеет очень низкую связность, и по этой причине её легко дебажить и от поломки одного модуля остальные из строя не выходят.
Плюс увеличивается скорость самой разработки за счет того что тебе не нужно держать в голове семь поколений, ты просто берешь и вставляешь новые модули в разъемы.
Если научишься, то от наследования плеваться начнёшь.
Оно какбэ вроде нужно, иногда даже полезно, но если можно без него, то лучше без него.
Хм, звучит охуенно. Буду пробовать, думаю чтоб понять в полной мере нужно использовать и то и другое, попутно переделывая несколько раз.
Анимирую их создавая новую анимацию girl_moving и перетаскиваю по очереди каждый спрайт. Потом создаю другую анимацию girl_standing и т.д.
Но для каждого спрайт листа создавать новые анимации довольно долго, есть ли способ автоматизировать процесс или заменять весь спрайтлист на лету? (https://www.youtube.com/watch?v=rMCLWt1DuqI на видео используют другую технику которая не подходит в случае такого спрайтлиста)
Меня чет пугает твой подход когда корабль тянет в себе инфу про галактику и все остальную залупу, я бы (не факт что это правильно) напейсал бы менеджер, который знал бы про голактику и хранил бы в себе корабли. Этот менеджер потом же можно и за сериалить в сейв.
А еще спаунить рокеты/пистолеты из префабов, ты уверен что оно того стоит?, может сделать кэш с готовыми префабами и дергать их туда, сюда, и уж если весь кэш истратишь новых на инстансить?
+ не пиши всякие числа и тексты(скорости, подсказки) в код, иначе отлаживать заебешься или локализовать.
Дальше пока не понял твою систему.
Ты точно ебнутый, спрайт шит блядь. Сохрани ПНГ поотдельности и собери в юнити. Даунохудожник.
Нет, все еще говно.
>Сохрани ПНГ поотдельности и собери в юнити
Кирилл педрилыч, плиз.
Юнити умеет нарезать спрайтшиты, нахуя хранить кадры анимации по разным картинкам?
А как с менеджера инфу получить о кораблях в классе Weapon?
Вот сейчас надо бы сделать АоЕ пошку, нужно взять откуда-то инфу о кораблях в системе, класс Galaxy/Solar system вполне подходит для этого, разве нет? Еще можно получать со статической переменной, но говорят так плохо.
>может сделать кэш с готовыми префабами и дергать их туда
Хорошая идея, думал об этом, отложил до первых посадок производительности. До этого еще дойти нужно.
>Единство плюс дает вам возможность создать свои >собственные заставку, развивать на темно-редактор ui кожу
10 из 10 госпади
Делаю 2д платформер, возник такой вопрос.
Я хочу, чтобы мой персонаж двигался с постоянной скоростью(без ускорения).
Хотел использовать rigidbody.velocity, но в доках написано, что непосредственно с помощью него лучше не перемещать объекты. Сам заметил, что персонаж немного подвисает в воздухе, когда сходит с обрыва, затем падает.
AdForce не могу использовать, так как движение с ускорением и замедлением. А мне в платформере это не нужно. Параметр Impulse использовал.
Как мне сделать нормальное перемещение персонажа?
Написать свою физику.
>AdForce не могу использовать, так как движение с ускорением и замедлением.
Нихуя не понял, чем тебе замедление и ускорение мешает использовать AddForce
Отруби стандартную гравитацию, да постоянно прижимай персонаж перпендикулярно оси X, в чем проблема?
>Сам заметил, что персонаж немного подвисает в воздухе, когда сходит с обрыва, затем падает.
Ах да, это скорее всего, из-за криво написанного тобой контроллера. Проверяй как ты задаешь вектор движения, ты наверняка обнуляешь позицию по y там где этого делать не надо
Ну мешает то, что мне нужно придать персонажу по нажатию кнопки сразу нужную скорость, а не ускоряться.
В настройках проекта g выставить в 0?
>>301794
Ох, да, вот я даун. Спасибо.
При взрыве АоЕ передаешь менеджеру инфу что в таких-то координатах подрыв. И дальше перебираешь пуканы корабли на предмет попадания в радиус.
Вобщем это твое дело, если сложность кода не растет -пиши так.
Стартовать с 0 в V скоростью это неправильно, это бесконечно большое ускорение значит. Что за аркаду ты пишешь такую?
Кстати, вот что странно.
В космосе g = 0, сопротивления и трения нет. Но ведь все равно силу нужно приложить к объекту, чтобы начать его двигать
На подобии этого http://store.steampowered.com/app/270550/
Сам только разобрался со скриптингом и в сетях не шарю.
(Ну и чтобы все это без мастер серверов)
Сложнее чем домашка по матеше.
хочишь потралить разницей инерционной массы и гравитационной?
Защеку тебе все три закона ньютона сразу.
>Чего не знаю, машина едет потому что ее завели. Путь равняется скорость умноженое на время. За щеку тебе все 4 колеса.
Есть одна игра. Пилится под ведроид.
При первом появлении любой модели на перед камерой идет бешеный пролаг. Посоветуй, как с этим бороться.
не, создается она вообще в обжект-пуле (при загрузке сцены). Но в тот момент, когда на нее посмотрит игрок - лаг.
UnityEngine.Mathf или System.Math?
я хуйодожник, так что не ссыте
В общем, есть у меня сцена, не очень большая типа 60м в диаметре. На ней много растительности. У меня есть своя кастомная трава и кусты и вся петушня. И тулза есть, своя в гудини, которой я заебись наполняю сцену.
Но проект на мобилки и мне нужно оптимизировать все это как-то. То-бишь я имею, скажем, всю траву в сцене одним мешем и это не выглядит слишком хорошо. Это ж столько просчета альфы-хуяльфы, никаких тебе истансов. Зуб даю дефолный терейн обладает кучей крутых фич.
Ах да, все ето еще анимируется кастомным шейдером, через ветрекс оффсет.
Подскажите, что я могу сделать на стороне шейдера, может как то с пассами можно поебатся? Я не слишком в этом шарю. Какие есть вот приемы оптемизации такого облока шатающихся плейнов с альфой? Что гуглить?
Шейдеры дефолтные мобайл
>есть у меня сцена
>На ней много растительности
>Но проект на мобилки
>нужно оптимизировать
Очевидно, тебе нужно выкинуть нахуй всю растительность.
Есть 2д платформер и написанный мною кривой код движения(пик).
Так вот у моего персонажа в 1 из 10 случаев не срабатывает прыжок, а иногда происходит, наоборот, гиперпрыжок.
В чем может быть проблема?
забыл добавить, что клава в порядке
rb.AddForce(... , ForceMode.Impulse) или если эффекта не будет другие опции попробуй
Тоже не помогло
Готов помочь за 50 рублей
Не, точно не в этом дело
Ты, сволочь, хватит демпинговать цены. Пусть платят фуллпрайс. Заодно меньше тупых вопросов будут задавать.
Поле из клеточек и нужно понять пересекает ли он клеточки?
Глянул твой код, это какая-то шиза. Скоро погрязнешь в говнокоде(если уже не утонул) и разработка затормозится настолько, что ввод одного нового элемента превратится в бесконечный отлов ошибок. Я бы посоветовал начать с чего-нибудь менее глобального. Изучить основы и методику их применения, а не пихать каждый совет с двача куда не попадя.
Была такая же хуйня. Так и не понял, с чем это связано. Сначала не было и все работало как надо, а потом поломалось. Как вариант - посмотри, работает ли в билде, возможно просто редактор тормозит.
Блядь, обработчик нажатия клавиш тормозит в фиксед апдейте. Ну чому вы такие тугие?
А там разве не так?
>>301986
Был не прав, прошу прощения за тупость. Засунул в апдейт обработчик клавиш и синхронизировал с фикстапдейт с помощью флагов(пик). Теперь всё ок.
>>301997
Сам даун :(
>FixedUpdate should be used instead of Update when dealing with Rigidbody. For example when adding a force to a rigidbody, you have to apply the force every fixed frame inside FixedUpdate instead of every frame inside Update.
>https://docs.unity3d.com/ScriptReference/MonoBehaviour.FixedUpdate.html
У тебя единичное нажатие кнопки, дебил. Ты не добавляешь силу постоянно, ты делаешь это один раз, когда нажата кнопка, что абсолютно никак не влияет на процесс, за исключением того, что тебе НЕ НУЖНО дополнительно что-то СИНХРОНИЗИРОВАТЬ. Какие же долбоебы сидят в треде, я хуею...
Еще, вот, про оси почитай, синхронизатор хуев.
https://docs.unity3d.com/ScriptReference/Input.GetAxis.html
Ладно, спасибо. Почему такой злой-то? Я не больше недели этим занимаюсь...
>>302002
А с осями-то что не так?
Так ты хотя бы дочитывай то, что цитируешь, до конца. Может вопросы сами собой отпадут.
>с осями
То, что их нужно использовать для управления вместо событий нажатия. Тогда проблемы с апдейтами вообще не будет.
Английский.
Boo
Всё время забываю, какой сегодня год. Спасибо, что напомнил.
Кровавая мочерация.
>Знаю, легко можно выполнить скриптом, но очень уж не хочется засирать проект ещё одним ненужным скриптом.
Вытаскивайте нашего программиста мышкой из-под шконки, пускай пополнение принимает
>как на объект(префаб) навесить скрипт на OnClick в Button
>Знаю, легко можно выполнить скриптом, но очень уж не хочется засирать проект ещё одним ненужным скриптом.
Што?
Учусь мягко объяснять человеку, что он - ебанько, извини если обидел, кстати мамку твою у тебя на спине пялил, сорян
Да ты на хуй пройди, выёбщик.
Ну хуй знает, пара ифов каждый кадр это норм? если таких объектов будет всего 5-7 в сцене одновременно
Кроме пары ифов в юнити каждый кадр раздрачиваются миллионы бессмысленных операций потому что это ебаный комбайн, и ты спрашиваешь сильно ли пара ифов просадит производительность? Игру лучше делай, оптимизатор.
Это заговор УЕЧеблядей.
А лол, ебать я дебил, точно.
Дебил ебаный, ты стандартный плейн из унити используешь чтоли? Посмотри на сетку и просрись.
Бамп вопросу.
>>302199
Погуглил, но создавать пул лайнрендеров для рисования линий - имхо пиздец, можно проще.
Ну я работаю над этим только вот не могу понять, как можно заинстансить спрайт и растянуть его от точки до точки
>перетаскивание обжектов с гуи в ворлд? типа меню строительства в РТС
В какой это РТС можно "перетаскивать объекты"
Перехватываешь событие перетаскивания объекта за пределы гуя и инстанциируешь из префаба объект в мир.
Нет.
Лучше напишу для таких как ты ассет, настраиваемый в три щелчка. И буду продавать за 40 баксов.
У меня были совсем скромные познания, поэтому решил сначала как следует изучить шарп, потом уже вкатиться в юнити. Пытаюсь следовать этому плану, но голова как будто лопнет, такой хаос...
Зашёл в /pr и скачал первый справошник из шапки фак-треда.
Как двумерный массив в строку перевести?
Я хочу на UI.text вывести двумерную матрицу из символов. Сделал двумерную матрицу из символов в массиве символов, но вот теперь не знаю, как матрицу эту на экран вывести.
Ручками, маня, ручками.
В цикле после каждой строки добавляешь в конец переход на новую строчку.
http://pastebin.com/MaXsWgjV
Мой быдлокод. Нихуя не работает, не понимаю, бляять. Я уверен, что выход очень прост, но я даун.
Такой уже есть и за 30 бачей. Но я хуй когда буду код покупать, сам лучше сделаю
Охуеть блядь. Используй StringBuilder
Можно шейдеров хуйнуть и капсул-коллайдер!
Почитай про стайл-гайды
Так вытягиваться он будет все равно в две стороны.
== чем не подходит?
Мне нужно проверить является ли полученный трансформ конкретным трансформом, а не является ли он экземпляром трансформа.
Самому сделать.
Я ленивый мудак так что спрошу тут - есть ли КНИГИ? Какиенить теоретические основы для чайников с поменьше картинок и побольше текста, чтобы читать по дороге на работу с работы.
Вообще дохуя, рили. Мне это не сильно помогает так как я ленивый мудак. Но может поможет тебе.
Читал пикрелейтед.
Книга разсчитанна на то, что ты можешь и нихуя не знать, но не слишком на этом зацикливается. Написанна вполне читабельно. Думаю если дочитать заебись база будет, ну да хуй с ним.
http://rgho.st/7p7MwqbnT
Если тебе нужно отношение к каждой конкретной особи держать, то именно так как ты и описал.
Удалять через Action.
Лучше враждебных в отдельный слой, если надо поймать - оверлап сфер на дальность видимости и перебираем полученный массив на предмет минимального расстояния. Просто перебор всех врагов - оче долго.
Спасибо. Видел уже, но побоялся использовать. Но вроде как норм.
Нихуя подобного, мамин оптимизатор.
Проверка входа в сферу в лучшем случае жрет столько же ресурсов, что и проверка расстояния до всех персонажей. Только ты потом в отдельном цикле будешь еще и до тех кто внутри считать расстояние, считай что работу делаешь.
И даже в этом случае тебе будет похуй даже если на сцене пара тысяч персонажей.
Так что отсоси мой толстый хуй.
Заебался кликать наугад настройки.
пикрелейтед результат 3х дней ковыряния
Это не оптимизация, это элементарные разумные ограничения. Или ты хочешь сказать, что разумнее обсчитывать расстояние рейкастом для всех существующих персонажей, чем делать только нужное количество рейкастов, затратив на это лишний оверлап?
Пиздос, я понимаю теперь, почему васяноподелия лагают - они считают разумные ограничения ОПТЕМИЗАЦИЕЙ.
> кукарекать об оптимизации
> думать, что единственный способ вычеслить расстояние это рейкаст
> называть кого-то васяном
До ошибки доебись@на пост не отвечай@пости анимеговно.
Я уже понял что ты уебан, который хочет сказать что нет разницы, обсчитывать ли расстояния для всего неясного размера массива расстояния или для количества, явно меньше или равного полному количеству всех враждебных персонажей в сцене/игре.
Можно просто добавить компонент, который отвечает за отношение к фракции то есть к какой принадлежит и с какими враждует, а когда надо проверить пиздить/не пиздить то проверять конкретную переменную на предмет нахождения этого значения в списке врагов
Какой же ты тупой, пиздец.
По твоему оверлап не жрёт нихуя? По твоему он работает по какой-то темной магии?
По твоему лучше перебирать всех существующих врагов, чем потратиться на оверлап тупой тут только ты
>считает что его васянский брутфорс всех объектов в скрипте будет быстрее супер-оптимизированного physx работающего на GPU
>считает что может высказывать свое мнение касательно производительности
Где там твой бенчмарк, эксперт мамкин?
Оверлап работает нормально.
Лал. Ну ты получаешь массив коллайдеров. У каждого из них есть трансформ, с помощью Vector3.Distance можно получить расстояние. Сортировку загугли как делать просто охуеть вопросы Если нужно несколько - то сначала сортируешь, потом получаешь несколько раз самый маленький по расстоянию объект и удаляешь его из массива.
Сделай копию проекта и обновляйся. Скорее всего ничего не случится. А лучше VCS используй и иди отседова с такими вопросами.
Самый общий случай - создаешь пирамиду с вершиной в камере и с основанием, образованным выделенной областью на земле, далее проверяешь все объекты на попадание в пространство этой пирамиды.
Да писал уже, нихуя с этого толку. Появляется ебанутая идея, которой нет в диздоке, она дописывается туда куда-то в начало и начинается реализация. В процессе появляются идеи, они записываются в начало и по накатанной. Пока не забудешь, что какие-то доки вообще были, а ведь они были и в некоторых бэкапах даже существуют.
>>302830
Райкастишь на старте выделения из курсора на террейн, получаешь координаты хита, переводишь их в глобальные, райкастишь при стопе выделения, получаешь координаты хита. Из первых двух точек получаешь ещё две, стоишь прямоугольник, проверяешь - что в него попало, а что нет. Y координату можно игнорировать.
>пирамиду с вершиной в камере
А вот так, если не игнорировать Y, то можно захватить самолётики, которые изначально в выделение попасть не должны были.
>Райкастишь на старте выделения из курсора на террейн,
А у меня террейна нету, постелил бокс коллайдер 100х100, норм пока Алсо, это единственный вариант выделения? Пытался еще с помощью получения координат мыши, но оно только работает когда камера ортографик. В целом то и с рейкастом заебись, просто что ссаный коллайдер может мешать в будущем, можно ли постелить хуйню, которая будет ловить рейкасты, и ни на что больше не влиять?
>террейна нету
Да похуй, райкасту любой колайдер сгодится.
>единственный вариант выделения?
Ну, ты можешь получать координаты курсора в моменты кликов и, используя матрицы проекции, по ним получать мировые координаты. Фактически почти тот же райкаст, но через мат.вычисления на коленке, а не через мат.вычисления в шизиксе.
>можно ли постелить хуйню, которая будет ловить рейкасты, и ни на что больше не влиять
Ты это, про слои слышал?
Вот как раз читал о них, ага, очень хорошо, вопрос исчерпан, благодарю.
Короче надо было RectTransform.anchoredPosition
Шлешь нахуй свои ебанутые идеи и делаешь только то, что записано в диздоке и только по завершении начинаешь думать надо оно тебе или нет (скорее всего нет т.к. под конец разработки дико заебываешься).
ну да, делаешь меш, добавляешь бокс коллайдер.
Или проще сделать префаб с коллайдером(триггером) и скейлить его до нужного размера при выделении.
Ага, но я думаю таки перебирать, ведь выделение будет происходить максимум раз в несколько секунд, и перебрать меньше сотни геймобжектов это же хуйня, да? Вот если бы в апдейте дрочилось, то другое дело.
Да хоть в апдейте дрочи, нихуя от сотни геймобжектов и простой функции ТочкаВПрямоугольнике() не будет. Эта сотня и так дрочится сотней разных способов, думаешь что дроч происходит только от написанного тобой говнокода? Коллайдер сам собой по-твоему работает?
Ага, ну так то да, но я короче сделал коллайдер уже, хотя бы потому что не надо говнокодить проверку положений , коллайдер-няша становится ровно по середине двух точек и заебись.
если с подобной фришной лицензией, то похоже больше нигде такого нет.
Если спиздить, вариантов дофига из игр выдрать, на сгпирсе паки
Смотря что нужно.
Спасибо браток, не увидел сие полезное изобретение.
Снести юнити к хуям пробовал?
Вот есть камера и моделька игрока, 2 разных объекта (так надо).
Камера является игроком-контролером и у нее есть скрипт в котором спавнится моделька.
public override void OnStartLocalPlayer()
{
base.OnStartLocalPlayer();
Cmd_SpawnPlayer(gameObject);
-----------------------------------------------------------------------------
[Command]
public void Cmd_SpawnPlayer(GameObject go)
{
GameObject playerPref = Instantiate(playerPrefub, new Vector3(10400, 10000, 90), Quaternion.identity) as GameObject;
NetworkServer.SpawnWithClientAuthority(playerPref, go);
GetComponent<MainCameraScript>().player = playerPref;
И проеб в последней строчке, чтобы камера летала за моделькой, нужно ей задать цель. Но этот сучий нетворк пишет что <MainCameraScript>().player == null. На сервере все устанавливается, а на клиенте null.
Кароче как передать в клиентский скрипт объект созданный в [Command] ?
А я могу найти трансформ в листе, передав в функцию Find трансформ, который я ищу?
Без понятия. Наверно можно.
>>303006
Свопать - хуйня на самом деле, потому как у одного элемента меняется индекс - мы перемещаем его с последнего на n-ую позицию.
Смотря какая цель удаления элемента.
Бля от души.
Если ты вынешь свою голову из жопы и прочтешь вопрос, то поймешь, что отвечаешь на вопросы, которые сам себе придумал.
Я вот теперь знаю как поменять отображение модельки игрока на сервере и на самом клиенте.
Но если это не кооп для двоих и появляется 3й игрок, то тут я начинаю обсираться жидким.
Как синхронизировать какое-либо говно между всеми игроками?
Я примерно понимаю тип:
При изменении говна на клиенте, посылать инфу на сервер, а с сервера раздавать ее всем клиентам.
Вот на последнем пункте забуксовал.
Звучит как неплохое название для индюшиной рпг. Запатентовал.
Можно просто не обновляться
Твоя аудиокарта бережет твои уши, идиот
Почитай про то, из чего аудиосигнал состоит, кирюш.
Класс оружия отдельно, классы поведения отдельно
>там чувк сделал List<behavior> и хуячил туда разные типы поведения
близко
>А второй как раз делал через интерфейсы всё
еблан-выпускник говновуза
Чего ты там не можешь, даун?
Понавяжут себе смирительных рубашек на анус и кукарекают что не могут ногой двигать, но это так задумано и нужно научиться ходить блядь
А почему просто не сделать переменную к которой добавлять/вычитать дельтаТайм?
А схуяли та ссань лезет в другой тред, ей никто разрешения не давал? Как выходить из положения?
Только вот в моем классе нет наследования от моно.
Мамку твою инкапсулируем.
Игры делаем. А ты нет.
ИН ДУС
> unyti
> геймлогика не в компоненте
Почему так сложно пройти пару туторов на оф на сайте и не творить неведомую хуету
Ссылочку на туториал пожалуйста. Смотрел и не один, но обычно там , вот класс Item, вот класс Armor, вот ту наследованине, спасибо за просмотр. Вот хороший тутор, где чувак делает класс абилок, наследует класс фаерболл, а сам скрипт иконки ,уже имеющий наследие от моно и имеющий поле FireballAbility, проворачивает картинку и отслеживает кулдаун. Но а какого хуя, почему кулдауном не заниматься самому оружию?
https://unity3d.com/learn/tutorials
Берешь и повторяешь любой из понравившихся проектов. Желательно рогалик, потому что он сложней чем расставление кубов по кругу, но легче чем ебля с процедурной генерацией и мешами. По ходу дела смотришь доп.туторы в темах если какой то аспект не понятен, они все короткие и по сути это разжевывание матриала из скриптинг апи.
>Но а какого хуя, почему кулдауном не заниматься самому оружию?
Самый главный принцип ООП: не делай ничего над объектами, пусть объекты все делают сами.
>Самый главный принцип ООП: не делай ничего над объектами, пусть объекты все делают сами.
Ну, я же и стараюсь так сделать ,чтоб пуха сама меняла свои состояния по прошествию времени, и как мне это сделать? Вот могу поменять булевую переменную isCooldown, подписывая метод смены переменной на окончание таймера. Куладуны таким образом и работают, а вот если в методе который тригернулся есть другой метод, то уже ошибка потоков. И блядь хуй проссышь, вот ты говоришь ООП, другие говорят - НЕНУЖНО.
Вот тут я хотел сделать беспрерывную атаку, типа луча, который будет бить покуда выполняются условия, а условие проверяется раз в 2сек. >>303191
Ну, так что, господа, может уже хватит издеваться?
Да. Хватит издеваться над движком, возьми что попроще. Повер поинт например.
ладно, так и быть, помогю тебе забесплатно в этот раз.
Выкидывай все говно, что ты написал. Создаешь префаб оружия и вешаешь на него простые компоненты. Все.
Player.cs:
if (Input.GetButtonDown("Fire1"))
weaponObject.SendMessage("Fire");
Weapon.cs
void Fire() {
SendMessage("DoFire");
}
WeaponWithCooldown.cs:
float cooldown;
void Fire() {
if (cooldown > 3) {
cooldown = 0;
SendMessage("DoFire");
}
void Update() {
cooldown += Time.deltaTime;
}
Fireball.cs
IEnumerator DoFire() {
// play sound, instantiate etc.
}
ладно, так и быть, помогю тебе забесплатно в этот раз.
Выкидывай все говно, что ты написал. Создаешь префаб оружия и вешаешь на него простые компоненты. Все.
Player.cs:
if (Input.GetButtonDown("Fire1"))
weaponObject.SendMessage("Fire");
Weapon.cs
void Fire() {
SendMessage("DoFire");
}
WeaponWithCooldown.cs:
float cooldown;
void Fire() {
if (cooldown > 3) {
cooldown = 0;
SendMessage("DoFire");
}
void Update() {
cooldown += Time.deltaTime;
}
Fireball.cs
IEnumerator DoFire() {
// play sound, instantiate etc.
}
Тебе лучше больше не заниматься программированием
Сухяли эвенты не подходят?
В классе веапон определяешь эвент выстрела, на который подписываешь все нужные тебе поведения пухи из других компонентов. ООП во все поля, как вы уебки любите
Никогда не используй сендмесейдж. Да и такая лажа написана, таймер в апдейте - это крах. Зачем вэйтфорсекондс придумали, не задумался?
Блять ты тупой, я даже видел как сделать иконку КУЛДАУН ШОБ КАК В ДОЦКЕ АНИМАЦИЯ.
Ты это сам придумал?
Он работает через рефлексию, а трудозатратней такого подхода этого только файловые потоки ввода вывода. Доки не рекомендуют его использовать в апдейтах.
inb4 мамкин аптимизатор
>>303255
> Зачем вэйтфорсекондс
Он не сериализуется
О, и пятый класс не отстает. Замечательно.
>сделать событие которое примерно раз в секунду будет рассылать время прошедшее с прошлого тика
Остановите этого костылиста, пока я себе портки не обоссунькал
Ну так у меня оружки, оборудование и тд наследуется друг от друга, и вставляется в корабль. ООП, все дела.
Хочу сделать чтоб все было модифицировать до усерачки. НУ а геймобжект уже имеет компонент с объхектом корабля, и через него происходит взаимодействие. Хуй знает как такое на компонентах делать, читаю читаю, но нихуя не пойму.
Да Player.cs это конечно же контроллер игрока и его не надо добавлять на префаб оружия. А то вдруг ты тупой и не догадаешься.
Ты, случаем, не тот петух с порванной сракой, который по всему разделу против ооп копротивляется?
Программирование игор это вообще-то своя особая специальность и не надо сюда приплетать опыт написания бизнес приложений.
Тем более что с# мягко говоря не самый лучший язык для игр.
Нет
>Программирование игор это вообще-то своя особая специальность и не надо сюда приплетать опыт написания бизнес приложений.
Ты мне одно скажи, даунич, твои кириллоподелия кроме тебя кто-то видел изнутри? На чем вообще твой опыт основан? На каком основании ты тут с умным видом категорично предлагаешь лютую хуиту вместо нормальной архитектуры?
Потому что в юнити уже есть своя архитектура - ECS. Это ты занимаешься лютой хуитой, вместо того чтобы писать простые скрипты, выдумываешь архитектуру поверх архитектуры.
Есть делегат public delegate IEnumerator MyFunc();. В планах было наполнить делегат карутинами, исполнить и наслаждаться последовательным выполнением оных, но не фартануло. Помоги мне совладать с делегатами или поясни почему они не для этого, и укажи куда копать Основная цель последовательно запускать карутины, последовательность которых будет меняться и запускаться по завершению работы карутины
Перетолстил
>нахуя?
Там все написано.
>корутины запускаются через StartCoroutine()
Спасибо кэп, это и так ясно, видимо придется пояснить одаренным ребятамвроде тебя что на скриншоте не рабочий код, а пример, что-то вроде псевдо кода.
Итак, мне нужен корабль, у которого есть корпус с хп и сокетами под разное оборудование, оборудование тоже разное, одно просто статы дает, другое абилки добавляет на панель типа "заюзать батарейку". Короче как в EVE, только простой вариант. Но чтоб потом можно было легко/не_тяжело добавить новые фичи.
Роль класса выполняет компонент? У меня было так, компонент BaseShip содержит объект класса Ship, а Ship собирается из других кусков(Hull,Weapon). Всё через ship.
А тут как, просто обмазываю геймобжект компонентами, кэширую /рассылаю другим евенты типа "пацаны пора за работу" ?
>>303245
Вот здесь не понял
>Weapon.cs
>WeaponWithCooldown.cs
Отдельный скрипт для орудий с кулдауном? Но зачем?
В общем если что подскажете, будет хорошо, а не ,то не, пойду пока читать и вечером приступаю.
Обосрался с твоей вебм, ты бы звук потише сделал.
Запилил в качестве тренировки за полчаса рабочий прототип. Оружие для простоты сделал как ability.
Новые фичи добавляются просто путем добавления дочернего объекта
зарепортил за флейм и оффтом
>Отдельный скрипт для орудий с кулдауном? Но зачем?
Потому что лучше сделать несколько простых компонентов, чем один общий суперкомпонент.
И обязательно связать их SendMessage'ми
его и используй
Чем ты аргументируешь его использование, анон выше сказал что это лаганое дерьмо, к тому же писать имя функции в строковом представлении немного раковато, не находишь? Жду пояснений
Не слушай всякую хабропетушню, юзай SendMessage, это освободит тебя от кучи ненужного кода
>Чем ты аргументируешь его использование
Тем, что он есть в API юнити.
>это лаганое дерьмо
Юнити это лаганое дерьмо. И пара десятков вызовов SendMessage никак этого не изменят.
>писать имя функции в строковом представлении немного раковато
>пишет сроки вместо использования констант
лол. каждая строка - это выделенный объект = мусор.
>пишет сроки вместо использования констант
Типа присвоить стринговое значение в константу и давать ее на вход в сендмесседж?
>Пацаны на хабре
ты чо, мудак что ль совсем?
ты либо на хабре с раками сиди, либо с кириллами здеся сиди.
Игры свои покажи.
Правильней всего будет завести xml файл и парсить от туда имена функций или если умеешь в sql, то используй любую бд.
Спермодаун, плез.
Ты его куда то передоверять по сети что ли собрался, что боишься пару тегов написать? XML легче руками редактировать и на беглый взгляд его структура понятней. Тем более поддержка из коробки.
>XML легче руками редактировать и на беглый взгляд его структура понятней
В самую точку попал, опять этот сектант тут срет
Я не верю, что существуют два разных человека, счетающих что XML на беглый взгляд воспринимается проще, чем JSON
а я не верю, что существует на столько упертая макака, которая думает, что джейсон читать приятнее, чем хмл.
Не спорь с поехавшим.
>Я не верю, что существуют два разных человека, счетающих что XML на беглый взгляд воспринимается проще, чем JSON
О, вот ты где
Как у того кирилла сделано? Корабли на rigidbody или нет?
У меня получается что они уходят в слишком большой ДРИФТ
>>303514
Это эффект такой лол
каждый тайтл отдельной 3д моделью ?
Как быть с генератором и что бы юниты двигались только по клеткам в соответствии с пошаговым режимом. Неужели пошаговые стратегии сложнее в производстве нежели RTS ?
на самом то деле хули бы и не писать свою навмеш дрисню? у юнити хуйня совершенно не приспособлена под большие процедурные уровни. а мое приспособлено.
>>303512
например так
https://gamedevelopment.tutsplus.com/tutorials/understanding-steering-behaviors-pursuit-and-evade--gamedev-2946
почитай про преследование.
>>303397
на самом деле настолько простых компонентов лучше не делать. если на всё компоненты добавлять то в этом говне уследить чё за чем делает будет невозможно.
я пробовал.
>>303351
так если ты как в EVE хочешь то начал бы с изобретения инвентаря который бы склеивал уже все твои изьебы. архитектура юнити такой хуйни не знает, а делать через компоненты такую хуйню как типизация слота и разные эффекты одинаковой хуйни что в нём довольно быстро превратится в боль. особенно в боль превратится заготовка и хранение префабов например для меню рефита, или торговли, или ещё чего. делать параметры какого-то предмета через компоненты боль. через компоненты стоит делать внешнее проявление предмета. чтобы ты сказал "у меня есть пушка с такими параметрами, она может ебошыть" и на ней висит компонент о том как именно она ебошыт, а не то как часто, или какие патроны жрет когда ебошыт. компоненты в юнити по сути очень удобная замена интерфейсам, использовать их как замену наследования не стоит.
но если делаешь что-то простое то похуй, делать через компоненты там действительно будет быстрей. и будет быстрей пока не начнет мешать общей организации проекта.
>у юнити хуйня совершенно не приспособлена под большие процедурные уровни. а мое приспособлено.
Чем тебе RAIN не угодил?
много причин. основной - метод триангуляции. у RAIN из-за того что он пользуется заполнением для этого разумеется не может быть такой хуйни как адекватное разделение на области проходимости и тем более ретриангуляции навмеша например чтобы сунуть в него динамические обстаклы. последний раз когда я читал RAIN у него не было возможности ретриангулировать какой-то чанк, несмотря на то что он делает разделение на куски для мультитрединга, они не рассматриваются как элементы какого-то глобального грида. а много отдельных навмешей он связывает довольно плохо, так плохо что выходит какой-то пиздец при попытке связать навигацию из например 10х10 маленьких навмешей.
а на то что я хочу мне нужна такая хуйня как возможность выдернуть кусок навмеша и переделать его. и иметь возможность делить на разные зоны и разные проходимости по высоте. ну и желательно сразу решить проблему прыжков и поиска укрытий, чего RAIN не делает совсем.
но стоит сказать что RAIN конечно довольно клевый, особенно в плане расхода памяти и то как я собираю информацию о мире это слепок того что есть в RAIN .
был вариант конечно взять A Star и допилить его, но в нем чёрт ногу сломит и много какие места в нем мне не понравились. я писал для него дебагер чтобы вообще понять что там происходит внутри и охуел от того как некоторые места написаны.
в итоге мне не понравилось ничего.
>почитай про преследование
Ну у меня примерно так и есть. Проблема в том, что корабли могут только лететь вперед и крутиться
да я сам слухи услышал что в 5.5 они таки обновляют моно до 4.4, но лень бету качать
чет нипайму. в блоге указан переход на 4.4 но в бете только старый второй
Ассет тайловой карты делается ручками за полчаса, если лень с ассетстора 50 готовых решений пиздить.
Ассетотаскатель такой ассетотаскатель, пока кнопки zdelat pizdato не найдет - игры не будет.
придется таки и дальше плагином от алекзззза пользоватся, эх
Короче, я хочу, чтобы когда я в юнете игру делал, то при запуске отрабатывал метод класса OnGUI(), ну...чисто для меня там кнопочки.
И не хочу, чтобы эти кнопки попадали в готовый билд.
Пробовал обрамлять #if DEBUG ...#endif, не сработало.
есть такое. но юнити насрать на настройки среды и по этому DEBUG там не определен.
как вариант юзать
#if UNITY_EDITOR
для кода который будет исполнятся только в редакторе и ли определять в настройках плеера свои символы и не забывать включать/выключать их по необходимости
о, точняк. спасибо!
Как то они дергано перемещаются все
>Скинь проект.
Нет. Я уже добавил свои ПРОПРИЕТАРНЫЕ суперскрипты. К тому же я еще не настолько спятил, чтобы помогать конкурентам.
Могу только сказать, что в юнити у тебя не C# объекты, а GameObject. Если ты хочешь создать какой-то новый объект, ты создаешь GameObject. Все скрипты в идеале должны взаимодействивовать как 2 геймобжекта. Можно делать ссылки на компоненты, но только для кеширования, чтобы каждый раз не вызывать GetComponent().
Все объекты в идеале взаимодействуют только посредством SendMessage().
Пишешь такой FastCoroutine(isOpCock, 3, true), и хуяк ОП становится петухом через 3 сек?
сам напиши 1 раз в статическом классе
Если да, то куда копать?
Пока на кириллил на твинах, но чет мне не нра, сложно отлаживать и настраивать все эти временные параметры.
Invoke
Почему ты копротивляешься против единственно верной архитектуры?
Нихуя не понял.
+= Vector3.forward
открываешь юнити, открываешь мануал и делаешь то что придет в голову, решая проблемы непонимания в процессе.
я всегда так делаю.
4 юнита-автоматчика в метре друг от друга стреляют со скорострельностью 600 выстрелов в минуту и звук просто глушится до уровня помех.
А что в юньке нет менеджера аудио? Чтобы звуки не засирались?
Но тогда будет СТРАННО, может есть еще варианты?
Нет, 600 в минуту, а так получается по 10 выстрелов в секунду * 4 стрелка = 40 пер секонд. Как тогда добиться нормально звучания автоматной очереди с разной скорострельностью имея 1 звуковой файл выстрела не спавня по 40 звуков в секунду?
Например, слить звук выстрела в звук автоматной очереди, и проигрывать его каждые несколько выстрелов.
А еще нормализовать громкость, звук-то небось оочень громкий.
Спасибо, анон. Так и сделаю.
>>303714
Вот как раз такого дерьма и хотел избежать.
Неужели в батлфилдах и контрстрайках так же извращаются?
Конечно.
+ еще пишут очереди для индор и аутдор отдельно.
Еще не пришел век детального симулирования.
Объясни мне что такое Server library.
Думаете взлетит? Реквестирую тему для первого туториала.
Только не что-то уровня корованера онлайн, а простые топики для начала.
кризис идей, да? а вот у меня то их много. предлагаю:
1) симулятор штукатура, чтобы мазать говно лопаткой стараясь массу разгладить максимально ровно.
2) проект про могучего охотника со скульптингом туш мобов. чтобы можно было например поймать кабана, выдолбить в нем дырку и одеть это на голову. с возможность игры по сети.
3) штуку вроде проектора которая на входе берет заданное пространство с направлением а на выходе выдает карту высот всех мешей что в него попали с нужного ракурса и переводит в карту высот которую потом можно скопировать на террейн. с красивым дебагом, хандлесами и сохранением в файл.
4) шейдор воды
Да идите вы нахуй блядь с такими запросами, сами делайте. Пиздос.
github.com/TorbVR/ViewR-simple
Можешь переделать? так что-бы не 3д объект или фильм шел, а например тянка как объект 2д картинки без холста.
Штука в том что это приложение уже настроено именно так как нужно. А новый вр я уже видел.
Не знаю что именно там открывать.
Очевидно корутина с генерацией каждого следующего участка.
Кароч разобрался там панелька lighting же есть, кек.
Не, ну чуть-чуть потемнее же лучше будет.
Удачи юный падаван.
двигай текстурки через offset
Ну это я и так знаю. Ты вообще делал такое сам? Там что-то с иерархией костей у меня вроде не правильно..
Какая иерархия в редакторе такая будет и в юнити. Попробуй закинуть в юнити обычный маевский файл сцены, например .max юнити понимает.
Иерархия костей - стандарт, которого следует придерживаться. Если модель гумманоидная, что чтоб не ебаться с меканимом в дальнейшем, и блендами анимаций, я, например, уже к готовому мешу приконекчиваю скелет через сервис от mixamo - там и названия и иерархия - все збс, вплоть до пальцев(а если ты ленивая задница, можешь и анимаций базовых под этот самый скелет накачать), в любом случае прийдется скелет немного подправить в плане расположения внутри меша. Но... только расставить их по местам, а не назначать иерархию, обзывать, и молиться, чтоб вдруг не было что-то забыто
чему вы учите - max кидать - фу(кстати буз установленной студии либо вообще не съест, либо результат будет печален)
так-же как и .blend(который даже на очень крутом железе будет импортироваться по несколько минут
не скажу
25 секунд смотрел как аутист пытается ввести локалхост. В следующий раз делай видео сам, а не заставляй своего брата инвалида.
Ахуена
Дудец ВСЁ
>The profiler has run out of samples for this frame.
Они эту парашу чинить вообще собриаются?
Бля, сорян, забыл что это не обоссанный уеч, а швитое юнити, тут все как надо работает, а если не как надо - то нужно править руки об забор, пойду искать забор((
Пошла нахуй отсюда, ньюфажная мимообезьяна, учить она меня еще с хуюнити обращаться будет, пиздец
И последняя струя мочи тебе в тупое ебало, мразь:
https://forum.unity3d.com/threads/bug-the-profiler-has-run-out-of-samples-for-this-frame.377360/
Больше не разевай свой обосранный рот в моем треде, поняло, чмо?
>>304147
Этот школьник порвался.
Ты бы еще ссылку на прошлый юнититред дал в качестве пруфа, даун малолетний.
Не позорься уже, иди читай как выключить профайлер
Оно еще и побулькивать смеет, пиздец.
Кирюша без мозгов и игор советует мне как починить конструктор. Спасибо, мистер мейлец
Чаще всего, когда свернул юнити и загрузил пекарню на 100%. Игнорируй.
Я бы и на твою мамку его не потратил.
Опять велосипедодебил порвался, не осилив юнити.
>Он работает через рефлексию
Как же ты заебал, полуебок. Он не работает через рефлексию. Он работает в нативном С++ коде.
Кек, так то и js-дрисня в нативном коде работает, только через 10 прокладок. Юнити через 9.
Да хоть с Аллахом путь работает. При вызове сендмессадж код копается в собственной структуре во время рантайма и ищет твою функцию, и вызовет ее даже если та приватная. Или при Instantiate полностью воспроизводит всех членов класса, такую информацию можно получить только через рефлексию, а ты говоришь что она не используется.
> в нативном С++ коде
Какие то пруфы будешь приводить?
>При вызове сендмессадж код копается в собственной структуре во время рантайма и ищет твою функцию, и вызовет ее даже если та приватная/
Код не копается в собственной структуре. Потому что этот код не выполняется в виртуальной машине, а в самом движке unity.
Движок копается во внутренних структурах mono и вызывает функцию скрипта через функции mono.
> Движок копается во внутренних структурах mono и вызывает функцию скрипта через функции mono
Ты только что описал рефлексию.
http://pastebin.com/1E04fhdt
Ты не понимаешь сути SendMessage. Это не функция, чтобы вызывать метод. Никто ее так не использует. По крайней мере никто адекватный.
Это функция для вызова методов на всех компонентах объекта или даже на всей иерархии объекта. То есть по сути, gameobject это некий абстрактный объект, а сообщение - это функция, которую этот объект должен выполнить.
Вот с этим и нужно сравнивать. По сути у тебя только 2 альтернативы: самому найти все компоненты и вызвать функции, что не намного быстрее sendmessage; или найти компоненты один раз и сохранить в массив, и потом уже вызывать функции (делегаты сюда же; только с делегатами выйдет очень хуевая архитектура).
ну так и в чем же преимущество сендмессаджа перед вызовом метода по массиву из заранее найденных компонентов?
Болезный, зачем ты мне доки переводишь, я помню что там написано.
Мой код никак им не противоречит, а функция не вынесена в сотню разных компонентов и не наполнена разной логикой, потому что я не ебанутый этой хуетой заниматься ради теста. Циклы лишь симулируют количество компонентов, а количество итераций - наглядную разницу во времени.
А с хуевой архитектурой просто иди нахуй. Посмотри код любой вменяемой игры на юнити, там не будет ни одного вызова SendMessage или перебора тучи хуев из го ради поиска функции, потому что везде где нужен поведенческий паттерн используются делегаты или вообще ооп. Тут скорее ты не совсем понимаешь где нужно использовать делегаты.
>>304239
Если придерживаться MVC-парадигмы, то вообще с иерархией париться не надо, как и искать нужный класс нужного объекта. Я всегда стараюсь запихать все нужное в контроллер, и вызывать все через него(так делают многие при работе в серьезных конторах). Не пойму в чем хайп по поводу SandMassage. В любом случае вызывая метод можно вызывать его через параметр не юзая сообщений.
ЗЫ sendmassage юзать полезно для мобилок, ибо им можно кидать инфу в нативный код, и обратно. Но во многих случаях - это просто плохой тон
>Мой код никак им не противоречит
SendMessage ищет компоненты, а потом вызывает на всех метод (что на чистом C# возможно только через написания тучи интерфейсов; как юнитидауны сделали в новом гуи). У тебя просто обычный вызов метода.
Сделай сложную иерархию объекта с десятком компонентов хотя бы для начала и замеряй.
Это тролинг или ты реально такой тупой?
SendMessage проще. А если не видно разницы, то зачем изобретать велосипед?
>Посмотри код любой вменяемой игры на юнити, там не будет ни одного вызова SendMessage
Ты меня решил говнокодом удивить лол?
Такие же как ты дурачки без понимания философии движка пытается делать игры по привычки, в итоге пишут свой скриптовый движок поверх скриптового движка, а потом ноют что юнити тормозит.
Чем меньше ты напишешь своего говнокода на скриптах, тем быстрее будет твоя игра. Функции юнитивских объектов выполняются в нативном движке и поэтому быстрые. Твой говнокод на C# выполняется на древнем как говно мамонта mono, засирают память и т.д. и поэтому медленные.
Обосрался просто с этого философа.
Это все ваши велосипеды проклятые тормозят, а сендмесседж быстрый!! И что, что времени больше занимает, зато написать проще!! Понаоптимизируюют свои движки и ябут друг друга в жопы! НЕ ТОРМОЗИТ РРРРРРРЯЯЯЯЯЯЯЯЯЯЯЯ
Бля, чувак, затроллив человека, который ошибочен в своем мнении - ты больше укрепляешь его в понимании того, что его метод "альтернативен".
SendMassage - просто плохой тон. Настолько плохой, что при устройстве на работу за него по-перваку будут чморить. Сто процетов
Анон, поясни, SendMessage это типо обсервера? Если да, то чем не устроили стандартные события шарпа?
мимо знаю юнити только по видео урокам
нет! пожалуйста, не надо! прошу!
деванон жи, я слишком параноик
В основном ничего конкретного, как будто любую другую вакансию скопипастили и вставили слова unyti / c# / игоры
походу кто-то на школьных завтраках сэкономил
Деанон на конфе про юнити?.. Ты же не письки стримишь с призывом к революции...
Если ты задаешь этот вопрос, значит SendMessage еще не для тебя. Укрепляй дух.
Им пользуются только те, кто постинг дзен юнити.
В общем в уроках 2Д только платформеры или если вид сверху, все равно используется физика и ригидбоди и вся коллизия через них.
В общем тестю юнити.
Вид сверху по типу как Hero Siege или Binding of Isaac, как сделать коллизию со стенами? В гугле искал - все советуют ригидбоди для платформеров и т.д. Но у меня не платформер, нашел какой-то вариант с CastRay но что-то не вышло.
Помогите, а?
Твоя мать выебана, твое лицо обоссано. Уходи и не возвращайся, пока мануалы не выучишь.
Подумой головой, что вид сверху делает видом сверху в 2д играх.
А что если включать/выключать объект который выходит из видимости камеры? OnBecameVisible/Invisible
Мне кажется ты что то не то делаешь. На клетку из 10к клеток на мониторе физически сложно кликнуть.
Ну открываю редактор сцены в запущенном игровом режиме, кликаю рандом клетку - юнька 50/50 виснет.
пикча и координаты. по координатам находишь клетку. нахуя тебе квады то эти? Че за дичь?
public GameObject var;
Что за GameObject? Это функция, метод или что это? А то что следует за ней что это? Переменная? Тогда какого она типа?
Я уже понял, но я встречал разное описание этой хуйни, её описывали как класс, как объект, метод и прочее дерьмо, да и по названию не сразу понятно что это тип.
Зачем мне его бросать если с помощью него я заработаю миллионы долларов? Боишься конкуренции? (хотя я и сомневаюсь в том что двачедауны способны что либо сделать кроме битардии) Ну может быть не миллионы, но миллион точно.
Хороший вопрос
Твоя мамаша
Текстуру используй, дебил
>да и по названию не сразу понятно что это тип.
Имбицил. Почитай про объявлении переменных в шарпе и усвой, что при этом всегда идет ТИП название_переменной
Кириллачую вопрос.
Я думаю через интерфейсы ебашить, но хотел бы получше узнать как это делают в принципе.
Просто, как и саддам хусейн это делал
Пока не оказался у разбитого корыта
прост
бросай
конечно, няш, всегда так делаю
object[,] m = new object[3,4];
m[0,0] = 1;
m[0,1] = "decy";
m[0,2] = true;
Это хуйня убогая, я сам моделю с хорошей детализацией и интерьером, мне просто нужно понимать сколько ресурсов оно сожрет чтобы решить ебаться с разветркой и лоу-резом или не париться.
Много сожрёт, особенно если проработаны получше чем плохо. Да и нахуй они нужны эти хрущёвки? Какой ты геймплей с ними сделаёшь? Практика игр показывает что геймплей к ним не прикрутишь.
Лучше создай рашку, ядерную бомбу, и скинь её на рашку, это получше идея, да и геймплей можно прикрутить
>задал нормальный вопрос как реализовать определенную игровую механики в контексте юнити
>какой-то школьник сдетонировал на знакомое слово
Угомонись, маня. Просто первый пример игры пришедший в голову.
Пизда игре
Пиздец нахой, отправляйся лучше играть в морровинд.
Какой же ты тупой блять, меня аж трясет всего, я тебя убью нахуй и съем.
написал (спиздил в инете) скрипт для експорта obj модели вместе с текстурой
он работает круто в edit моде, но в play моде не работает частично:
сама модель експортится ок, но текстура нет
проблема в том, что я скрипт берет текстуру используя EditorUtility.GetAssetPath
создавал тред на стаковерфлоу, но я не понял ответа
http://stackoverflow.com/questions/40067543/what-function-can-i-use-instead-of-editorutility-getassetpath
подскажите как решить проблему плс
Класс баффов, каждый бафф имеет список эффектов и иконку. В классе игрока есть список активных баффов, если список не пустой - выводим иконки на экран.
В чем фишка нахуяривать тонну ассетов, если ты не знаешь, как они работают? Модифицировать ессесна не можешь. Разве так реально собрать норм игру?
Ну дык нету в плеймоде ассетов. Тебе www и Application.dataPath, а оттуда полный путь. Можешь просто в дату кинуть, куда тебе надо, а можешь и иерархию обратную построить в из /data в /assets, но только папку эту и содержимое надо будет после билда вручную создавать
лол хуево быть дебилом и учить юнити по урокам от таких же дебилов.
простейший инвентарь делается за 5 минут.
http://pastebin.com/DhYwKgDY
Не благодари
Естественно это нужно использовать с юнитивскими лайоут компонентами. Ну думаю это и так понятно.
>>304517
А блядь, тебе экспортировать надо. Вчера сонный был, не заметил.
Короче проиграл с кода, там getassetpath только для получения имени используется. Можешь заменить на любую хуйню и будет работать. А если тебе важно имя сохранить такое же, тогда хуй знает. Мне лень искать, но наверное в классе текстуры есть что-нибудь. Поройся в api.
С офф сайта скачена. фри версия
Тебе достался YTINU. Теперь тебе надо участвовать в конкурсах игор с другими селекторами. Если ты выиграешь 3 раза, то сделаешь игру мечты. А если проиграешь 3 раза, то сделаешь игру своей мечты наоборот.
Какая самая последняя версия, поддерживающая XP?
Не понимаю я ваш жаргон.
Не прокатит. Сендмессендж только к юнити применим, а кирилл дебилыч к любому разрабу в гд.
>Где ваш бог теперь?
Давайте спросим у него:
foreach (GameObject god in GameObject.FindGameObjectsWithTag("God"))
{
god.SendMessage("tyGde");
}
За щекой проверь
Да, этот аи использовался в таком известном ААА шутере, как суперхот. Ну да, основная логика в нём в сторонней dll. Из основных фич - совместимость с анимациями. И всё. Пиздатый АИ. Релизился, к слову, для юнити 4.3. Вообще, величина - в сторе аж 4 комментария. Двухлетней давности всего.
на самом деле не особо то они там используются. логические узлы rain его не используют в любом случае.
>>304677
непонятно даже нахуй они всё в dll сунули. из основных фич ещё можно вспомнить возможность смотреть активные ноды в выбранном ИИ. а из недокументированных довольно хорошо написанную сериализацию и хитрожопую вокселизацию которая подставляет меш на позицию коллайдера и уже его растеризует.
хоть бы сделали какой-то глобальный список переменных, а то вводить его как стринг каждый раз это охуеть можно. и это они конечно здорово придумали - отображать все древо как список с иерархией. интересно нахуя.
>непонятно даже нахуй они всё в dll сунули
Не знаю, нахуя они это сделали, сам пишу unmanaged dll, чтобы разными илспаями особо не лезли.
Твой вопрос непонятен. Ты описал свой говнодизайн и все.
Есть комната с координатами 10х10. И есть гг, который передвигается по этой самой комнате. Так же есть шар, при касании которого он меняет свое место положение в комнате на рандомное. Так вот.
Как сделать так, что бы шар меняя место положения не заспавнился в том месте где стоит герой? Иначе получается, что гг дважды подбирает его на одном и том же месте.
>Как сделать так, что бы шар меняя место положения не заспавнился в том месте где стоит герой?
Не спавнить его в том месте, где стоит герой. Тупой что ли?
Не пососать, я сам.
Просто у меня получается так, что шар все равно иногда попадает на игрока.
Изначально было вот так:
if (col.gameObject.tag == "red") {
score = score + 100;
red.transform.position = new Vector3 (Random.Range 0, 10), Random.Range (0, 10), 0);
Как тут добавить условие, что бы шар не попадал на игрока. Ведь игрок занимает площадь определенную. А если я добавлю что-нибудь с отслеживанием позиции игрока, то там будет просто координаты центра.
Кароче сам придумал. Нужно просто разделить поле на две или 4 части. Тогда Шар будет всегда появляться в другом месте. И ни как не пересечется с игроком.
if (col.gameObject.tag == "red") {
score = score + 100;
if (k==1)
{
red.transform.position = new Vector3 (Random.Range (0, 4), Random.Range (0, 10), 0);
k=0;
}
if (k==0)
{
red.transform.position = new Vector3 (Random.Range (5, 10), Random.Range (0, 10), 0);
k=1;
}
Пространство в 1 клетку специально оставил, что бы если шар заспавнится оба раза на краях, то не пересекся с героем.
Поздравьте меня.
Поздравляю, Шарик, ты - балбес. Берёшь координаты героя и если твой рандом её высрал, то либо крутишь рулеточку заново, либо корректируешь координату тем же рандомом на клетку в сторону.
>>304746
На самом деле это гениально. У меня нет как таковых клеток в игре, там есть обыкновенные координаты. Плюс у шарика и гг есть 2д колайдеры. Так что если проверять координаты спавна просто на совпадение с гг, то очевидно такое может быть раз в миллион. Но суть в том что шарик заспавнится рядом, и их колайдеры пересекутся, а значит гг типо еще раз поднимет его в той же точке.
А так у меня получается, что гг никогда не пересечется шаром. Даже если первый шарик заспавнится на одной границе, а второй на другой. Гениально.
Блядь, у классов Vector есть метод Distance, котрый позволяет определить расстояние между двумя точками, тебе нужно просто сделать сравнение расстояния между героем и предполагаемой точкой спаун шара и минимально повзоленным расстоянием между ними, ещё до того, как ты заспунил свой ебучий шар.
Ну еще же есть граница поля, а это еще одно сравнение. Так что я не могу догнать как это сделать. Значит мой вариант самый правильный. Потому что он прост и работает. Гениально.
>еще одно сравнение
>не могу догнать как это сделать
>мой вариант самый правильный
Хорошо, ты подебил, иди соси свой желанный хуй. Только игры больше не пытайся делать. А я ещё думал, что это я тут говнокодер.
Кэша.
Ну а что делать.
>This is why when you call GetComponent() to query for a component that doesn’t exist, that you see a C# memory allocation happening, because we are generating this custom warning string inside the newly allocated fake null object. This memory allocation does not happen in built games. This is a very good example why if you are profiling your game, you should always profile the actual standalone player or mobile player, and not profile the editor, since we do a lot of extra security / safety / usage checks in the editor to make your life easier, at the expense of some performance. When profiling for performance and memory allocations, never profile the editor, always profile the built game.
Не только производительность. Вообще профайлить нужно билды а не эдитор. Это логично, хотя бы из-за возможной разницы архитектур и систем, не говоря уже про то, что так красноречиво нам говорит гринтекст.
Так может SendMessage в билде быстрее?
будет
просто если использовать OnMouseDrag() и там иземнять transform.position или rb.position то резкие движения будут телепортировать кубик и есть возможность затолкать его в другой объект. Подозреваю надо как то применить velocity но я ебу как сделать так, что бы кубик передвигался так же как и при обычном OnMouseDrag
/gd,помоги аутисту.Как качать более ранние версии с официального сайта? Постоянно кидает на последнюю.
через 6 дней икспихе исполняется 15 лет! столько же, сколько Гетсу тут! ня! как и тебе мой милый друг, скорее всего
Держите юношу в норм качестве
Используй интерполяцию. Или двигай с помощью джоинтов.
Удваиваю этого аристократа.
А использовать непрерывный расчет физики не?
Мое мнение - наиболее красиво получается, когда на точке рейкаста создается ГО, который соединяется с ближайшей дивгаемого ГО с РБ точкой... внимание джоинтом(лучше спринг).
>у вас есть идеи как реализовать драг объекта с риджидбоди?
Нажать галочку в импорте стандартных ассетов
спасибо, в стандартных ассетах скрипт нашёл.
у меня еще пару вопросов:
1. если при большой скорости драгать один кубик в сторону второго, то первый частично залезет в текстуры второго. Пробовал фиксить изменяя Collision detection, но ничего не дало. Помогло увеличить рейт фиксд апдейта, но не уверен что так хорошо
2. как модивицировать стандартный скрипт для драга, что бы передвижение максимально было похоже на обычний OnMouseDrag() с изменением трансформа? (без колебанией и плавного движения)
Есть модель А с гуманоидным аватаром, есть модель Б с гуманоидным аватаром. И анимации к модели Б. Если юзать анимации Б с моделью Б, то всё неплохо. Если попытаться использовать анимации Б с моделью А, то не происходит нихуя. По мануалу, мне надо инстансировать Б, выключить мешь, положить дочерним объектом А и тому подобная ебля. Наебалово какое-то, придётся привязывать кости в максе делать ретаргетинг там.
По мануалу с ютуба? Что за бред ты написал.
Не просходит нихуя, потому что ты в animator controller не настроил
>По мануалу с ютуба
Нет.
https://docs.unity3d.com/Manual/Retargeting.html
>animator controller не настроил
Настроил на одну анимацию. Хуйня, короче. Весь хуманоид риг говно ёбаное.
Все просто. Если писать string.Format("{0}/{1}", 1, 1);, и обновлять каждый update, то за минуту генериуется целый мегабайт мусора. А если таких строк не одна, то не один мегабайт.
Возможно и гавно, но он работает. Модель А с анимациями Б используются вообще без проблем. Возможно ты криворукий долбоеб, не способный даже на базовые манипуляции с ассетами (не можешь таскать мышкой)
>Модель А с анимациями Б используются вообще без проблем
Ну хуй знает. Разве что в случае идентичного скелета, лол.
>Возможно ты криворукий долбоеб
Ну это сомнительно. Модель А работает с анимациями к модели А, модель Б работает с анимациями модели Б, но при этом Б не работает с анимациями А и наоборот. Если бы проблема была во мне, то вряд ли бы получилось вообще хоть что-то. У меня же не работает только ретаргетинг.
По крайней мере вебмки ты хорошо делаешь.
>Ну это сомнительно
Это не сомнительно. Это так и есть. Перетащи модели в редактор заново. Скорее всего после твоих экспериментов ты распидорасил все.
>Перетащи модели в редактор заново.
И не трогай там ничего. Там уже все настроено специально для таких даунов как ты. Выбери просто контроллер в аниматоре.
>обе модели имеют humanoid rig?
Да, и в этом и оказалась проблема. Риг проворачивает кости. Родное вращение в 4 градуса ему не понравилось и он установил -170. В генерик, само собой, всё заебись. Модель резаная, всего пиздеца сразу не видно, надо фулл импортировать. Хотя у второго скелета пивоты и вращения такие же, но их ригом не пидорасит. То есть на 95% такой же скелет - ок. А этому пиздец. Можно наебать юнити, провернув в 3д пакете пивоты, но костыльно как-то. И анимации поплывут скорее всего. Короче хуманоид - пиздец.
>>305013
Хуёвая из тебя ванга.
Юнити говно в жопу залил
>Твоя проблема не имеет к юнити отношения
Отлично пошутил. Это проблема юнити с давних пор, так как юнитеки не умеют в матрицы. А модели не мои на самом деле, лол, я их спиздил из коммерческого ААА проекта на UE3. Естественно, там всё заебись, в 3д пакетах всё заебись, а юнити самовольно вращает трансформы. Причём даже со сброшенным иксформом. Хорошо, что только в рудиментарном хуманоид риге, который с самого начала был говном.
Юнити не может ничего вращать. С гуманоидным ригом он просто игнорирует вращение объекта.
Хочешь избавиться от проблем с гуманоидной - кидай риг стандартный от блендера, или иди на сайт mixamo, и через их сервис генерируй скелет, там и анимашек базовых натырить можно. По поводу подвигать руками косточки и скин весами перераспределить в дальнейшем - это уже самому решать. Скелет войдет в юньку, как родной
Ну да, и все импортируемые транформы он на -90 градусов тоже не вращает. Хотя бы понял, что всё дело в ротейшн матрицах. Вообще баг, который лечится вращением пивота кости на 360 градусов - это пиздец. Ну, по крайней мере ретаргетинг заработал, лол.
>>305045
Да смотрел на миксамо, очень хорошую вещь намутили. Но, опять же, к этим анимациям явно нужны дополнения. С блендером толком не подружился, он странный.
не тупи. у тебя сто процентов пивот повернут изначально. Все пивоты смотрят своими осями в одну сторону. Всегда такая хрень, когда X путают с Z, например. Разверни не кость, вращай и не пивот, а блять направление пивота изначальное
Нет, дело не в осевой ориентации. Смотри на пике, что я сделал. Да, это помогло. Cам охуел. Несколько костей юнити не принимал. Теперь использую аватар этого покрученного скелета, работает. Xотя качество анимации падает.
все равно поиграйся с mixamo
на самом деле не повернут он изначально, он просто не понял порядок импорта гуманойдных анимаций в юнити. сам столкнулся когда таскал бесплатные анимации у mixamo.
Оставь только одни гугл плей сервисы, дебил
Пояснишь за код?
Ну давай разберем по частям, тобою натасканное )) Складывается впечатление что ты реально контуженный , обиженный жизнью кирилл ))
Чтобы использовать анимации от одной модели на другой, тебе нужно последовать трем простым шагам:
1. Создать контроллер с анимациями первой модели
2. Назначить его как контроллер второй модели
3. Нассать себе в рот
Если уж ты на столько даун - переходи в ридонли. Один хуй ничего осмысленного не напишешь.
А как их таки импортировать правильно? Вот, моделька миксамовская и еще стандартный юнитевский этан, пак анимаций тоже от миксамо. Анимации работают, но левая рука и нога почему-то вывернуты. Как это пофиксить?
а я и не помню на самом деле уже точно. вроде в окне импорта анимации в вкладке Rig надо выбрать Avatar Definition: Copy From Other Avatar правильный Source для аватара и тогда она уже нормально экспортируется насколько помню.
ответ нашел здесь в прошлый раз
https://community.mixamo.com/hc/en-us/community/posts/203173978-Animation-not-working-feed-twisted-in-Unity5
Импортни эту же модель в другой позе и попробуй аватар от неё. Либо вращай кости в максе.
Это ты что ли с XP? Нет у тебя 2D
короче если взять аватар из анимации, то становится все правильно, но не во всех случаях, иногда работает если для анимации аватар выбрать из модели-цели для анимации, тогда в этой модели на сцене надо чтобы аватар был None, но опять же не во всех случаях. Либо надо риг переделывать в самом миксамо, вместо уже существующего. Короче либо этот миксамо пиздец (причем именно этот пак). Либо ретаргетинг юнити не так уж универсален как должен был бы быть.
Я помнится использовал всякие анимации из других источников, никаких проблем не было.
Есть конечно куча вариантов еще перепробовать и перекрутить всякое, но что-то уже задолбался.
>>305175
а во, нашел. в прошлый раз скачал пак анимаций и их дефолтовый аватар. когда поставил его в качестве Copy From Other Avatar, то все анимации стали работать нормально. если продвинешься в решении своих проблем то хоть расскажи че куда нажал. раз миксамо стали немного бесплатного давать то интересно какие проблемы можно увидеть если пользоваться этим.
не только пиздец, но ещё и пиздит похоже. написано что DragAndDrop.PrepareStartDrag() очищает драг н дроп дату, но оно по моему ничего не делает. зато можно DragAndDrop.objectReferences = new Object[0] и DragAndDrop.paths = new string[0] и вот тогда дааа. сделают же.
Как сделать такие атрибуты?
Еще я знаю что, например, в доте если -50% урона, то считается от чистого урона, т.е. без применения всех остальных модификаторов. Интересно, это фича или просто ограничение движка?
Что именно ты хочешь узнать? Именно то, как сделать подобное в юнити? Или просто варианты формулы расчета урона?
collision detection должен был бы как то помочь, но чет 0 эффекта
видимый результат получил когда fixed update увеличил к .005, но хз насколько это хорошо
Естественно я хочу сделать АТРИБУТЫ. Как их хранить, как их обновлять, как их модифицировать при разных эффектах или итемах.
Самый очевидный вариант конечно же просто сделать все переменными. Но я уже подозреваю хуиллиард перекрестных ссылок в коде обращения и чтения этих переменных что не есть хорошо. А если в будущем захочется что-то новое это вообще пизда.
Хуй саси, быдло ебаное)
У тебя должна быть готовая вормула просчета урона, со всеми модификаторами.
Например:
dmg = ( (basic_dmg aditional_dmg) / (armor aditional_armor_modifer) ) critical_dmg;
Когда значения баффов и дополнительных модификаторов меняются с дефолтного 1 (нет модификатора) на, скажем, 50% (или 1.5), то вся формула просчитывается с учетом этих 50%.
dmg = ( (10 1) / (100 1) ) 1.5 => 0.15
dmg = ( (10 1.5) / (100 1) ) * 1.5 => 0.225
Разметка поехала.
Ну это как раз пример как делать не надо: считать урон в скрипте который его же наносит. Что, если цель неуязвимая и т.д.
В данном случае надо просто отправить мессажку что такой-то дамаг был нанесен. А как его получать должен определять уже скрипт цели.
Ну даже в этом случае если использовать просто переменные получится длинная простыня.
Никогда не изучал этот движок, но уже с ходу набросал простенький top down примитив буквально за несколько минут.
На велосипедити на это ушло почти полгода. Единственная проблема как, а точнее в чём модели пилить. Большинство конечно придётся пиздить как все, но хотя бы главного героя хочется самому слепить.
Что лучше всего сочетается с юнити в плане моделинга, чтобы без кряканья?
Блендер
двачую
blender3D вполне себе сочетается. Единственное, экспортить модели (если они с анимациями) лучше по этой статье: https://habrahabr.ru/post/254937/
по крайней мере у меня результаты были более удовлетворительными чем способом описанным в юнитидокументации.
А, ну и советую при первом запуске блендера иметь под рукой шпаргалку в которой будут описаны все хоткеи для быстрой работы, а то запаришься понимать как тебе вращать камеру и вокруг нужного объекта и т.д.
Хочу его заюзать как альтенативу Sprites&Bones и совершенно не понимаю как контролировать angle limits - сустав перекосоёбливает со смещением относительно зелёненького сектора лимитов и вообще ведёт себя непредсказуемо.
Лень копаться сегодня три вопроса в кратце обресовывающих для меня картину ТХЕ ЮНИТИ.
1) Какие подводные камни в использовании по части прав.
В виде анальной подписки или ежегодной уплаты за про версию в виде копроабонемента.
2) Можно ли использовать мои родные Це Крестик Крестик?
3) Забыл пока писал, а вот хуй! Есьт ли там анальная модерация контента создаваемого мною навроде:
Блять хули ты сделал эта жи сисьге объектификация жиньщины куырица птица, а де нигры сука блять пидорасов у ниго нит!!!!1111
Какого нахуй контента, даун? Кто тебе его модерировать будет? Как ты вообще себе это представляешь?
Я сначала грешным делом подумал, что он имеет ввиду ассетстор, но он по-ходу просто упоролся.
Крыжовник обыкновенный.
>>305361
Ну очень просто. Сделал ты то что не сходится с идеологией компании и на тебя подают в суд, забирают лицензию и вся твоя работа накрылась СЖВ пиздой.
Пример:
- Я делаю игру про пезды и сиськи.
- Но так нильзя эта же абъебификация жиншин!!1111
- Но я не живу в США.
- Ах ты цисгендерный хуеносец!!111 мы накатим заяву в кампанию на движке которой ты делаешь свою херню!1111
>>305363
1) Это хорошо
2)Это блохо
3) Это просто охуительно.
>>305370
если тебя интересует порнуха, то её на юнити выходит много. вон епонцы например юнити полюбили. вот запускал я недавно Itazura Katei Kyoushi и понравилось.
а хотя... всем спасибо за внимание. я осознал что действия применимые к чему-то могут создаваться внутри него через конструктор. я понял что решаю проблему не с того конца.
чот обзмеился с этого говна
Господи, прекрати, останавись!
Sps, petushara. Ты тут самый полезный. Остальные бесполезные.
Брат братан братишка зачем тебе свои анимации?
Вот если бы у робота были 4 ноги, или он умел бы превращаться в машину как трансформер, тогда базару 0.
Возьми дефолтные гуманоидовские от юнити и работай с ними. по крайней мере так ты поймешь принцип. Если по делу: ТЕБЕ НЕОБХОДИМО ДЕРЕВО СМЕШИВАНИЯ.
Вот то, что тебе нужно.
https://docs.unity3d.com/ru/520/Manual/class-BlendTree.html
Четыре состояния в дереве. Отдых, прыжок, бегу влево, бегу вправо. Координаты:
(0,0),(0,1),(0.5,0),(-0.5,0). Плавно меняешь от одной к другой, ?????, профит. БлендТри сам за тебя проинтерполирует все че надо.
По крайней мере я так понимаю эту хуйню, могу ошибаться, энивей вся инфа по ссылке есть.
А мне нравится
собственно, двигай анимациями как я тут >>303540 если хочешь синхронизации. во всяком случае на таких анимациях как "прыжок". можешь повесить на стейт с анимацией прыжка StateMachineBehaviour и когда стейт включается то происходит Animator.applyRootMotion = true, а на выходе из неё наоборот. в передвижении можешь включить прилипание ног через Animator.stabilizeFeet.
Потому что это ненужное говно.
А если бы ты вместо видео дегенератов с ютуба читал официальную документацию, ты бы знал что в анимациях можно задать мессажки на определенном времени.
Я имею ввиду в окне импорта анимации, а не в окне редактора анимации
https://docs.unity3d.com/Manual/AnimationEventsOnImportedClips.html
А то вдруг особо одаренные полезут ставить события в окне редатора
> Кто-то итт юзал SimpleCCD для 2Д ИК-анимации?
> Хочу его заюзать как альтенативу Sprites&Bones и совершенно не понимаю как контролировать angle limits - сустав перекосоёбливает со смещением относительно зелёненького сектора лимитов и вообще ведёт себя непредсказуемо.
Я хуею. Сколько раз уже итт задавал вопросы по 2Д ИК - ноль ответов.
Никто итт кроме меня не делает 2Д ИК в юнити? Да ладно. Что за говно.
Ещё вопрос по Sprites&Bones - кто-то пробовал юзать SKin2D последней версии?
Знаю, что есть форум, просто интересно.
Как это ты сделал модификаторы на основе состояний?
В общем, я нашел решение. Не скажу что это самое лучшее, но сомневаюсь что-то кто еще мог додуматься до этого. Мвха-ха-ха!
Все компоненты моего убийцы доты готовы. Осталось только прикрутить юнити мультиплейр.
Статы и предметы я решил не делать. Вместо этого будут бонусы дропающиеся из крипов как в шмапах. Это могут быть как детали корабля, так и просто какие-то эффекты.
Отдельно складываются +1+5+7+50+9000=9063
Отдельно складываются проценты - +50%+20%+30%+9000%=9100%
Потом умножается=9063*(9100/100)=824733 - вуаля. Естественно все модификаторы должны хранится и быть доступны, что бы при любом добавлении или убавлении можно было пересчитать.
Ну это понятно. Тут вопрос как это сделать на юнити. В идеале в самом простом случае нужно просто компонент, в котором надо указать модификации.
>убивать мертвую игру
Там же только конченное быдло осталось, да студентики. С оттоком школоты габерен теряет миллионы прибыли каждый месяц. Скоро это вынудит его анонсировать третьи порталы и халф лайфы или выпустить очередной патч-маскарад, который перевернет весь геймплей, сделав из одних героев других.
Вот только что еще там придумать нового можно, я хз. Игра постепенно изживает себя.
Если мне 25+ лет и я буду проситься на позицию джуниора (причем опыта программирования у меня 3 месяца и "вышка" не IT), будут ли на меня смотреть как на долбаёба?
или лучше про офис сразу забыть и настаиваться на фриланс/удаленку?
>в офисе
>школота
реально долбоёб
ты в курсе, что школьникам приходится ходить в школу, а не в офис?
ужасно. делал игру а получил доту!
>>305549
как на долбаёба то на тебя в любом случае будут смотреть. пришел какой-то хуй, три месяца погромирования, 25+. я даже не знаю что я мог бы такому доверить.
>>305552
https://www.google.ru/search?q=unity+grey+screen+on+launch
оче хуёвая помощь, 0/10
ну и пошли вы нахуй, сам справился
Как мне этому кубу поменять цвет?
>>305619
Вот это оптимизон, я понимаю. [САРКАЗМ]
В явном виде - нет. Но у меня есть мир, который содержит чанки, которые содержат кубы. И дохуя голого брутфорса, лол. Но на самом деле вокселей нет а то были уже подрывы на эту тему, да и сшакаливаю далеко не всё - по стронам чанки просто выключаются, они отдельными ГО сделаны. Вот сейчас думаю, как рампы запилить и террейн более нескучный. И кроме брутфорса нихуя в голову не лезет.
можно конечно просто положить в структ ещё несколько long и у меня пропорционально вырастет количество индексов, но это сомнительное решение. думал сделать бит эррей который бы хранил все мои биты и вместо значений структ бы хранил индексы для этого эррея, но как-то тоже решение мне не кажется хорошим.
>>305626
че сделал то и как?
>>305641
наверно мог бы сделать всё заебись быстро-быстро если бы делал изменения в кубиках например через Compute Shader, а кубики рисовать геометри шейдером, а физон все равно от отрисовки можно же отделить.
25+ народу на юнити пишет тьма народу, и вкатиться в этом возрасте реально, хоть и сложно, будь готов начинать с самых низов, с позиции того самого школьника. Причем еще не факт что возьмут, с тремя-то месяцами опыта.
>Ещё нижние слои скрывать
Что то не понял, у тебя чанк это не один единственный меш без невидимых граней кубов? Совсем юнитиребенок?
>МАМ СМАРИ Я КРУТОЙ ПРОГРАММИСТ)) ЕБУ БАЙТЫ НА СИГАРПЕ В UNYTI)))) АПТИМИЗИРУЮ КАРОЧИ)) ПАБАЙТОВЫЙ СДВИГ ДЕЛАЮ НУ Я ЖИ ПРОГРАММИСТ МАМ)
понятно.
про "школьников" это я утрировал. типа шутканул. не хотел никого обидеть на самом деле.
просто программирование - это в основном удел молодых, ну а геймдев наверное должен быть еще моложе. игори всё-таки.
меня же больше VR интересует, учебные игры/симуляторы, вот это всё... ага, да.
то что будет тяжело это понятно. но всяко лучше чем на завод или на рынок.
ты тут недавно чтоли
он то давно уже рассказал показал че там как
>>305666
я бы переписал. когда костыли падают становится очень больно искать дефекты этой конструкции. а если другим покажешь то ещё и стыдно становится.
>>305670
25+ мудака трудно считать настолько старым чтобы он мог кого-то называть молодым. как по мне ничего не мешает делать игры, если ты в них сам дрочишь давно и представляешь какими они должны быть.
куда больше проблема что три месяца погромирования ололо. есть че показать то? если есть то проблем нет.
йеп. почти все что раньше было платно теперь бесплатно и в этом списке есть и ИК. хотя не сказал бы что у юнити сама инверсивная кинематика такая уж хорошая. можно крутить башку, можно крутить руки, ноги. а вот палец там на кнопку точно положить или жопу выпятить не дают. да и есть она только для гуманойдов вроде.
Уже сам нашёл на реддите. Да, оказывается все про-онли функции юньки с пятой версии стали доступными для бесплатной версии.
Хуй знает, просто там дописал пару пять проверок, для внесения в конструкцию их надо переделывать стейт машину, чот лень.
> геймдев наверное должен быть еще моложе
Это с чего бы? А, да, "игрыждлядетей". Да даже если это так (а это нихуя не так, есть жанры с ЦА 50+), то это не значит, что их дети и делают. Игрушки на заводе игрушек не дети же делают, так?
И в программировании полно людей всех возрастов. Просто люди набираясь опыта уходят на административные позиции, а не работают всю жизнь кодомакакой (но и таких полно). Или как оно по-твоему, поработал программистом до 40, и пошел в таксисты/грузчики, бо старый?
трудно представить что имеешь в виду под обработкой флагов. сами флаги то у меня и так хранятся в нодах процедурного графа которые ветвятся. стартовая нода у меня это целевое состояние флагов, конечная нода должна соответствовать флагам ИИ. ну и в каждой следующей ноде заодно копятся все предыдущие флаги, чтобы ИИ не думал по кругу.
я шейдоры немного умею и компут шейдор для грида просто заебись. работает быстро-быстро. недавно прокликивал гундосящих мудаков на ютубе и наткнулся на этого https://youtu.be/YP0_aA_wKfU?t=2868 как раз про тебя на этом моменте подумал.
меня твои кубы вполне устраивают. тут то мало кто показывает что-то. а тут охуеть кто-то кубы ворочает, интересно смотреть че делает че придумает такого.
>>305684
не, массив булов не рассматривается. мне гарбаж коллектор спасибо не скажет, плюс бул занимает в памяти больше места чем хотелось бы, плюс стопитцот итераций по массиву явно дольше чем байтики.
GOAP просто идеален в том что я делаю. потому что в общем-то шутан, плюс ИИ делится на несколько иерархий подчинения, плюс я хочу множество архетипов ИИ. чтобы был там например мужык с гранатометом, негр с палкой, или динозавр. для каждой такой срани я не в силах сделать бихейвор три буду, а GOAP вполне решает все эти проблемы.
>>305686
да вроде есть всё. у меня на навмеше этим проверяется влезет ли в предполагаемое место агент, вроде места запрыгивания и версия юнити у меня последняя.
Чо хошь, то и используй. очевидно что если способ передвижения в Rigidbody, то и работать он будет только в ригидбоди, трансформ же будет работать всегда.
дык зависит от нужного тебе эффекта же. сделай так чтобы чето, например куб, двигалось выбранным методом когда кнопку жмешь, и пожми эту кнопку, посмотри как оно ползает, цыферки там у компонента поменяй какие-нибудь по вкусу. то что ты спросил слишком общий вопрос. вопросы лучше отталкивать от того что ты хочешь получить.
>мне гарбаж коллектор спасибо не скажет
А ты добавь unsafe и пиши fixed bool[], оптимизатор мамкин
>плюс бул занимает в памяти больше места чем хотелось бы, плюс стопитцот итераций по массиву явно дольше чем байтики.
а ты думаешь битовые операции быстрее? алсо, зачем тебе сравнивать все массивы. в своем классе цели или что там у тебя просто указываешь нужные условия и все.
>GOAP просто идеален
Нет. GOAP не подходит для игр, особенно для таких, где состояние мира постоянно меняется. Ты просто не сможешь сделать никакого плана. В лучшем случае это выродится в кучу конкретных целей, для каждой из которых будет план в 1-2, в лучшем случае 3-4 действия.
>а ты думаешь битовые операции быстрее? алсо, зачем тебе сравнивать все массивы. в своем классе цели или что там у тебя просто указываешь нужные условия и все.
йеп, они быстрей. я пробовал. выходило быстрей провести сравнение битов двух цыфр по маске ещё двух, чем итерация через два массива на ещё два.
>Нет. GOAP не подходит для игр, особенно для таких, где состояние мира постоянно меняется. Ты просто не сможешь сделать никакого плана. В лучшем случае это выродится в кучу конкретных целей, для каждой из которых будет план в 1-2, в лучшем случае 3-4 действия.
мне и нужен план состоящий из 1-4 действий и очевидно что это выродится в кучу конкретных действий. мне от ИИ надо чтобы у возможных действий был какой-то трешхолд указывающий их валидность данной ситуации.
алсо 25+
Ситуация - образования нет, опыта работы нет.
Но в итоге джуниором я даже не был, так как работать пришел в пустую нишу VR-а, которая на тот момент только появилась. А получить место помогло только портфолио из нестандартных работ, и различные домашние эксперименты с leap, кинектом, и само собой VR. Нехилый плюс будет - инди игры в маркете
(любые) и активное общение с тусовкой, бложик, твитор и все дела. На самом деле - не все так сложно. Если есть желание в свободное от основной работы время пилить штуки, которые тебе нравятся, хуячить ночами - то все путем. Только соблюдай режим работы/кодинга/личной жизни не в ущерб остальному. Тут в помощь энергетики, гугл календарь, планировщики времени, какой-нибудь чувак, за которого можно зацепиться "падаваном" и серьезность намерений.
Ну ты на фпс посмотри. У меня на скринах от 300к до 729к кубов. Столько бы не было при куб = Го. Сарказм в каждый пост писать?
>>305692
>прокликивал гундосящих мудаков
> как раз про тебя на этом моменте подумал
Лол. Да один хуй надо будет эту же текстуру вынимать из шейдера, получать пиксели. То же самое, что делаю сейчас. Ну да, освободится, может быть, применение меша. Недостаточно привлекательно выглядит. Да и твоё решение с ботами мне не нравится что-то. То есть плясать от цели это хорошо и логично, но вот флаги эти. Я себе точно сделаю класс для каждого действия, а про цели моб знать вообще не будет.
>>305693
Есть 2 типа передвижения объектов, физон и транслейт. Понимаешь, чем отичаются? С физоном и без. То есть машинку лучше двигать аддфорсами, например.
там чутка подругому конечно это будет работать. я то по большей части ради манипуляций с гридом советую. тут то через гпу они будут происходить а она явно сильней в брутфорсе чем цпу.
у меня то тоже каждое действие описано, просто возможность выстраивать цепочки действий полезна. вот например стреляет корпорант из винтовки по негру, стреляет, а тут хопа патроны кончились а мочить надо. и вот он смотрит что ещё удовлетворяет критериям мочения противника и смотрит что у него в кармане пистолет и им мочить можно, но его надо достать из инвентаря перед этим, или что у него есть кулаки но ими мочить себе дороже, или вот охуеть рядом есть автомат павшего товарища им то легко мочить, значит нужно подойти к нему, забрать у него автомат и стрелять уже с него. или ещё более экзотические конструкции, когда рядом лазерная турель, но надо включить генератор к ней.
да почти никак. можешь тикрейт физона сделать быстрей, но это так себе. можешь поменять тип колижен детекшен у риджидбоди на Continuous, но если и это не поможет то советую сделать то что ты делаешь по другому.
ну типа я увеличением рейта и пофиксил, но чет стремно как то
а с колижен детекшен тоже тестил, но 0 эффекта
я пробовал по другому (ну мне надо драгать плоки и что бы они не проходили друг через друга) но это пиздец какой то был, типа детеклил об какую сторону коллайднулся и запрещал туда движение
покажи че и как сделал то. мне трудно представить чтобы ты мог например тягая объект джойнтом ускорить его так что он бы пролетать стал.
Куда ты под Vr вкатился? Я уже год как в одного пилю всякое, куча демок, пара работ в маркете. оборудования: от leap motion до моушн капчура. окулус dk2, сейчас с vive работаю, вкатываться куда то боюсь и чувствую что если хоть немного бросаю разработку: начинаю забывать все, ибо еще другие негеймдев проекты есть. стоит ли бросить все и сосредоточиться на одном?
Да не для ВР конкретно, синтаксис там, приемы. короче рассеянность у меня.
вот. драгаю джоинтами скриптом с стандартных ассетов только в осях x z
пролетания нету, просто залезают вот так если сильно натянуть
хуй даже знает что на что ты там натягиваешь и как. Physics.defaultContactOffset не менял?
Ищи конторы, которые занимаются презентационной деятельностью для всяких выставок и форумов. Геймдев - гиблое место, ибо пока не понятно все, будет ли это затребовано. Там все эти штуки пригодятся. Я вот для музеев разработку вел. Специалистов, которые этим занимаются - с огнем не сыщешь.
Еще раз по поводу ВР-а. Я состою уже оч долго в слаковском комъюнити, в котором собираются энтузиасты от VR-а(все любят слак, ня!). Почитаешь профили - все либо директора западных студий, либо ведут свои разработки устройств, либо продюсеры, либо девелоперы. Организовано комьюнити, с целью ебучего придумывание принципов, которые можно применять в ВР. НО... И пиздец какое жироне НО. Никто нихуя не знает, что можно с ним делать. Почему нет контента? Потому что всем похуй. Чуваки из VR-lab, JAUT, VicoVR самсунга, имея возможность вести друг с другом переписку ради общей цели скатили конфу в полное говно, в котором новый пост появляется от кого-то, от силы раз в сутки. И выглядит он, что-то типа - "чуваки, а чем дейдрим отличается по функционалу от кардбоардовского СДК". Чем отличается, Карл!!!
Короче, забей на все, сделай приложульку для кардбоарда, закинь в нее рекламу от VirtualSky, аолучай с нее небольшую денюжку, и если нет кредита, бросай работу, и делай что-нибудь грандиозное, перейдя на питание бичпакетами и энергетиками. Потому как это будущее, Бро, и никто кроме тебя не сделает чего-либо пиздатого. Я кончил
натягиваю зеленый примерно сюда
не менял
можешь у себя попробовать, я все описал что добавил: станадртный скрипт, и залокал constraints
И еще, когда клепаешь приложули, пиши о их создании себе в бложик вордпрессовский, сделай под него лендинг "типаконтора по разработке под VR" с каким-нибудь звучным названием, и если живешь в одном из дефолтсити, наклепай визиточек, ходи на всякие разработчиковские фесты, и раздавай их направо-налево. Алсо активити в соцсетях по этой теме, накрути себе подписонов. Зарабатывает в этой среде тот, кто создает себе имя. В нашем веке именно эти вещи превращают "хуясгоры" в "тогопиздатоготипа"
Лол, неоднократно думал об этом, ибо это и мотивирует и создает имя, но все остановилось на отчете по каждой итерации внутри команды, но сила мотивации от такого подхода чувствовалась. выкладывать на всеобщее обозрение как то страшно что ли. От «школьного» страха: «украдут идеи» до обычной боязни критики и «толпы». поэтому я здесь. к слову на двощик я выкладывал работы по motion capture и даже реквесты выполнял, лол.
Отчеты от команды по итерациям могут выполнять через канбан трелло(или джира) + слак и слакботы + менеджеры рабочего времени + git + ifttt, который все это автоматизитрует. Я очень люблю автоматизацию рабочих процессов, однако раз в неделю все-равно надо общаться ртом обсуждать, кто слабое звено.
Но каждый должен иметь право пиарить себя лично - не как члена команды, а как специалиста. Никто не будет пиздить идеи, ибо в этой сфере они никому не нужны и реализовывать их, пока, никто не собирается.
Вот например - есть у меня симулятор стрельбы из ПТРК и ПЗРК. Да, к очками прикручена болтами труба нужного диаметра и веса, + игра-симулятор имитирующая наведение + штатив от фотика. ЗБС. походил по выставкам, показал эту хрень, других посмотрел, да себя показал. Теперь забил, потому как изначально собирал для лулзов и самопира. То-же с софтом для лечения амблиопии. При этом есть критичные разработки, на которых зарабатываю, и статейки для внутреннего пользования, как например, все что связанно с подключением leap к андроиду(потому как тестовое сдк в альфе, и пока не будет релизов - нельзя и делиться инфой по наработкам)
ПТРК зачет. Из моих мед попыток были: исправление осанки через наполнение тела со стороны через motion capture и терапия тремора через leap. еще хотели к ээг подключить и в vr стимулировать, но руки не дошли. Насчет пиздинга идей: у меня есть основное дело и я очень часто встречаюсь с использованием моего материала у конкурентов потому что он пизже а и вообще реверс инжиниринга имеет место быть ибо я сам поднялся, создав первый продукт с его помощью лол
окей, как только так сразу
Бля, хотеть мультиплеерный симулятор дегенератов-маньяков которые одевают фурсьюты и ебашут друг друга битой с гвоздями.
Запилил лазер, который стрелять через определенный промежуток времени, аля заряжиется.
При зажатой кнопке стрельбы все работае, стреляет с паузой, но если кликать, то стреляет при каждом клике, без задержек.
Куда тут таймеры впаять и какие?
Добавь условие перед тем как мышью клацаешь - if (!reload)
алсо после клика включай корутину c таймером
IEnumerator Fire(float shoootTime) {
yield return new WaitForSeconds(shootTime);
reload = true;
}
алсо вторую корутину, которая будет отвечать за промежуток времени между выстрелами.
И вообще свою корутину убери нафиг, и кидай это все в апдейт. Это же оружие. и выключать не забудь
вокселька в принципе нынче оч модная, да и у нее потенциал хороший. зря ты
>И вообще свою корутину убери нафиг, и кидай это все в апдейт. Это же оружие. и выключать не забудь
Сделал все через Update(), заработало.
Можеш и мне кинуть плз. Кст, Анон, где репозиторий (я ньюфаг)
Наткнулся сука на проблему
!createdirectory recursive unity
Не один проект не запускается. Уже переустанавливал, удалял из реестра. нихуя не изменилось.
лох пидор НЕОСИЛЯТОР
Ну ты всегда можешь использовать C++ биндинги и в них кинуть логику работы с адруинкой а подписку на событие из C#
Файнд же медленный как жирная мамаша, попробуй или через статику если у тебя менеджер в единственном инст или dep injection
двачну вопрос (но думаю синглтоны)
Что за хуйня?
И, как я понимаю, в юнити нельзя управлять кернингом шрифта, если только он не растровый, сгенерированный в юнити.
Это копия, сохраненная 30 декабря 2016 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.