Вы видите копию треда, сохраненную 26 января 2017 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
агонизируем
1.Требуется ли для создания игр в юнити глубокое понимание ООП?
2.В какой мере изучение юнити даст понимание программирования?
2.Можно ли сейчас зарабатывать копейки выполняя работу для белых господ на всяких фрилансах? В моем незавидном положении либо так, либо вовсе тяжкие, или в петлю.
Начинал изучение с javascript, анус в ошметки разорвало от "10 странностей языка", но говорят в вэбе низкий порог вхождения + всегда работа есть, но а что скажешь ты?
1. Нет
2. В плане умения таскать ассеты мышкой тебя будут превосходить только блюпринт-программисты.
2. Рано, если задаешь такие вопросы.
>Начинал изучение с javascript, анус в ошметки разорвало от "10 странностей языка"
Не с того конца изучать начал.
Благодарю за ответы, держи няшу.
> Рано, если задаешь такие вопросы.
Да, это понятно, но а если заниматься изучением?
Алсо, если копать серверную часть, всякие фотон серверы, пытаться разработать простейшую логику, это даст то самое понимание, где его можно будет применить? Просто это интересно, можно целый день просидеть за обучалками. Другое дело, имеет ли смысл? Не могу определится с направлением.
1. Желательно, особенно раздел "почему не надо использовать ООП в играх".
2. Не хуже и не лучше чем всё остальное.
3. Нет, как минимум не на твоём уровне. Потому предложения слишком много.
Сервер копай. Но там нужно реальное понимание что делаешь. Бэкенд он оплачивается ОК и очень нужен всем.
Чувак, я же перекатил. Зачем ты ещё один тред создал-то?
https://2ch.hk/gd/res/261828.html (М)
>юнити дает возможность половину игры сделать методом "пацаны, скиньте скрипт на подбор оружия"
Много раз встречал подобные высказывания, но каждый раз когда брал книжку и пытался сделать по ней игру натыкался на "ехал код через код". Это такое максимум утрирование или я дуб дубом?
Ну, т.е. когда берёшь кусок готового кода "у пацанов/гугла" необходимо сначала досконально разобраться что он делает, чтобы применить его в игре. А это занимает примерно столько же времени, как и написать нужный кусок самому.
Или я дубом дуб?
Ну я имел ввиду следующее, вот окрываю урок по C#, и там конструкторы, хуюкторы, перегрузка методов, статический класс, кок-пок, паттерн, дизассемблер, а потом смотрю в юнити, где линкую объекты между собой да пишу простенькую логику,и понимаю, что вот там реальные пацаны, а я опущ обыкновенный.
Ну я посмеялся и мне хорошо, ответ не знаю, так что жди более умных людей или ищи в гугле.
В гугле хуйцы без гречки, я бы сюда не пошел еслиб оно нагуглилось.
Мамку твою ебал, чмошник. Я маны на русском уже года 3 вообще не читаю.
(Автор этого поста был предупрежден.)
саси
Сукаблядь. Это принципиально невозможно сделать из-за особенностей работы физического движка.
Пример не всегда один, есть изи примеры в гугле а есть потные с тем что ты описал, поначалу юзай изи методы которые пишут такие же как и ты кирилы, потом пытайся разобраться в сложных и пиши все сам когда постигнеш дзен.
>Алсо, какой смысл перекатываться, если меня устраивает то, что есть сейчас?
Никакого. Для Фри версии ничего практически не изменилось, только установили ограничения на дополнительные сервисы, типа Multiplayer.
Это как шоколадная конфета с начинкой из говна. На первый взгляд все красиво, а потом в лицензии всплывает какая то анальная хуйня.
Я так понимаю лицензия заходит вместе с обновлением движка, или это только для новых пользователей?
Ты сам не умеешь видать.
1. Реализуешь упрощенную модель полета по учебникам физики.
2. Добавляешь модельки.
3. Заказываешь шлюз и вагон кокса.
С остальным проблем нет. А вот здесь:
>1. Реализуешь упрощенную модель полета по учебникам физики.
Я обосрался не знаю как. Захерачить управление с тангажом, рысканьем и креном довольно просто, но хочется добавить ощущение сопротивления воздуха, чтобы трясло на максимальных углах и было сваливание в штопор. Чтобы ветер немного сносил.
Пулемёты ракеты и прочим уже разжёваны и отточены с этим проблем не будет. А вот с запиливанием физики какая-то ебала на юнити. Либо крайне элементарная уровня платформера, либо попытки в реализм которые выглядят крайне уёбищно. Кто играл в бёрдс оф прей или вартандер хотя бы, поймёт с их упрощённым физоном всё равно чувствуется когда самолёт теряя скорость начинает не просто падать вниз и зависать в воздухе а именно что планировать, заваливаться и сваливаться в штопор плывя в воздушном потоке из которого его трудно вывести просто потянув в другую сторону. Даже в Эйсокмбат и Хоксе полная параша с этим.
https://www.youtube.com/watch?v=u9X8FxeQ9Cc
https://www.youtube.com/watch?v=BuX5O44azvo
https://www.youtube.com/watch?v=8U9PDPRS6tQ
https://www.youtube.com/watch?v=jO7eS1XySdY
>даже в Эйсокмбат и Хоксе полная параша с этим
Ну тогда у тебя проблем точно не будет. Берешь тип юнети и пилиш.
Ну там ригидбоди, силы всякие блять, понимаешь? Из ассетов пизженых годноты не слепишь.
Мы всем тредом будем в тебя верить.
Теперь нищенкам придётся платить почти в 2 раза больше, чтобы убрать плашку движка.
if (Physics2D.Raycast(pos, Vector2.zero, Mathf.Infinity, 1 << 14).collider != null) Debug.Log("виден слой 14 сука");
Суть в том, что на сцене ВООБЩЕ нет объектов 14 слоя. Но ёбаный рэйкаст берёт любой коллайдер, в который попадет, и говорит мне, что это результат рэйкаста.
Бля. Оказывается, юнити воспринимает 1<<14 как расстояние. Всю жизнь сталивался с этой хуйнёй и заменял на physics2d.linecast. Теперь буду знать, что длину луча пропускать нельзя.
Как флипнуть анимированного персонажа, у которого анимация сделана IK контроллерами?
Гугель не помогает.
FacingRight бла бла бла работает только с прямой кинематикой.
С инверсной - спрайты переворачивает, но анимация превращается в кашу, всё дёргается неправильно.
Это если привязать скрипт флипа к главному объекту персонажа.
Ещё я пробовал привязывать его отдельно к каждому объекту из которых состоит перс, получается лучше, но всё-равно некорректно (нарушается расположение слоёв).
В теории:
Создать пустой объект, к нему привязать всю лабуду анимированную, флипать пустой родительский объект.
Именно это и не выходит.
> С инверсной - спрайты переворачивает, но анимация превращается в кашу, всё дёргается неправильно.
> Это если привязать скрипт флипа к главному объекту персонажа.
Ну ладно, пойду, и в правду, нахуй этот фотон непонятный, буду ждать сервеной либы от юнити, надеюсь она будет простая и понятная как ебля твоей мамаши.
Зависит от массы иных факторов. От пары дней до месяцев.
Блеать, скелет udp/tcp сервера на любом языке описывается 10-25 строчками кода. Нет блядь, буду ждать северную либу, дауны сука.
лол. просто скопипастив 25 строчек кода из например мсдн ты не сделаешь сервер. ты сделаешь хуйню которая сможет только байты слать. с тем же успехом можно в три строчки подключиться к базе мускуля и назвать это сервером.
Ну а что тебе ещё слать надо, кроме байтов? Координаты, евенты - те же байты. Проблема не в отсылке байтов, а в их обработке.
Ты даун что ли? Это не отсылка байтов, это уже их обработка. При чём тут вообще мультиплеер?
окей. я перехватываю пакет и говорю серверу что клиент "честно" посчитал столкновение пули с твоей головой при том что ты в пяти километрах от меня. а потом я "честно" просачиваюсь через дверь и иду по своим делам.
Естественно. На сервер идет только иснхронизация. Какой нахуй физон на сервере считать? Совсем поехавший.
и кстати отсылка кому? кому угодно? у меня перегон байтов с минимальной аутентификацией уже 100 строчек кода.
и будет как на говнофришардах линейки, где геодаты не завезли. мобы проходят свозь стены. ты ходишь сквозь стены. все ходят сквозь стены.
Поэтому пакеты шифруются.
Я же написал, скелет пишется изи.
Т.е. Может принимать и отправлять данные. А обработка данных в промежутке между приемом и отправкой данных это не более чем стандартная работа с бд, массивами и прочей хренью.
Насчет прохода сквозь стены: можно же на клиенте в тех же стенах поставить малюсенькие коллайдеры или подобную шелупонь, до которых честный игрок никак не достанет, а вот читакака, задевшего такой коллайдер можно заставить обосраться.
Можно пойти более сложным путем, на сервере воспроизводить упрощенную карту стен и просчитывать уже там, естесно все придется делать ручками.
Ну а неосиляторы и дальше будут ждать выката серверной либы, что бы наконец та запилить ммо мечты
скелет моего сервака сейчас насчитывает 1000+ строк кода. и реализовано почти нихуя.
Ебать ты странный. Нахуй ты свои 1000 строк велосипеда сравниваешь с серверными библиотеками?
ебать ты даун.
посмотрю я на вас юнитидебилов когда вы будете по сто раз спрашивать как в этой серверной библиотеке байт переслать. а потом еще буду года три угорать от сотен ассетов которые делают это за вас.
лал. вангую что после запила серверной либы на юньке появится миллиард "игор" с геймплеем уровня дцпешного квейка.
Сук. Мой UDP серв на плюсах занимает 50 строк кода. Написан на winsock2.
На питоне простой UDP эхосервер вообще 9 строк кода.
>>262717
блеать. какие ассеты, поехаваший?
В C# есть класс UdpClient, который спокойно вызывается в юньке. С помощью него написание сервера или подключения к серверу укладывается в 15 строк. Никаких ассетов, только using System.Net.Sockets
Зачем писать свой тормознутый велосипед на 1000+++ строк? Если только ради интереса.
какой же ты дебил блядь. что ты можешь сделать с помошью этого сокета. перечисли. если 15 строк то видимо даже не асинхронный. так как на калбаки еще строк 3-5 нужно.
ты просто поехавший ребенок называющий экземпляр сокета - сервером.
давай ка лучше напиши мне в 15 строк как игрок торгуя с другим игроком дает ему 1 золотой и в ответ получает 10 слитков железа.
если не уложишься - значит это НЕ сервер.
Да я понял.
Ну похоже кроме лицензии способов нет. Вообще многие жалуются на вырвиглазную цветовую схему. Могли бы и добавить.
Разные приоритеты например. Не прошла команда "игрок переместился"? Следующая придет. Не пришла "игрок заспавнился"? Жопа. Плюс игровые сессии, битвы, авторизация, аккаунт, админка, античит.
Скелет сервера - это на порядок больше чем передача данных по udp. Это когда игрок может залогиниться, зайти/создать сессию, выйти и отлогиниться. А админ может игрока кткнуть/забанить. Это минимум. Передача байтиков тут на самом низком уровне.
CE5 как и анрыл требует нехилой базы для использования, не предназначены для нубов.
тебе кажется что достаточно сунуть в буфер координаты и потом отослать их всем клиентам но ты не прав. если ты считаешь что сервер только броадкастит что то там клиентам то ты явно никогда не писал сервак и даже не пытался. сервак отсылает клиентам индивидуальные для каждого клиента кадры мира. он не просто шлет все подряд. он принимает ото всех клиентов дату, сопоставляет, сравнивает таймштампы и прочую ебалу, делает поправки на пинг, проверяет на читы, потом отдает клиенту кусок мира в котором тот находится.
Vector3 theScale = transform.localScale;
theScale.x *= -1;
transform.localScale = theScale;
лол вот именно. сервер != сокет
у которого есть прокси поле для строки (через дополнительный класс, не знаю как иначе сделать кастомный отрисовщик для стандартных типов)
при его изменении грузит с диска файлик и дописывает туда свое имя прямо в редакторе, или выдает ошибку что такое имя уже есть, такая типо метадата.
Потом есть поля у других объектов специальные, и там я делаю попап со списком имен из этого файла.
Как не по уебански это сделать?
Можно, конечно, написать методы на проверку изменений этих параметров, но код вырастет просто ну на овердохуя, а это лениво.
Использовать события не выйдет из-за особенностей моей системы.
Под интерполяцией имею ввиду что если у нас прошло 40% времени для FixedUpdate выполнено, то мы в Render будем выводить так:
obj.draw(position + velocity * 0.4)
Апдейт, в любой сложной системе и так обрабатывает сотни параметров. Если под обновлением ты понимаешь присвоение 40 переменным новых значений, то это не страшно (при условии что это не делается для сотен объектов). Хотя анон тебе правильно сказал, переступи через лень и реорганизуй систему так, чтобы нужные операции выполнялись только когда это нужно.
Не меняй скорость в фиксед апдейт или увеличь число его итераций в секунду. Интерполяция тебе тут не поможет.
>Интерполяция тебе тут не поможет.
Если бы не помогла, то это не был бы один из паттернов в game programming patterns.
Ну да. Скорее всего буду уменьшать время между вызовами FixedUpdate.
в фикседе конечно будет константой, но рендер то не в фикседе
Я практически уверен что ты не по назначению используешь физику. Покажи что ты делаешь в фиксед апдейт.
Туториал Space Shooter.
Просто в туториале также объект рендерится. Можешь посмотреть в конце и поймешь о чем я.
https://www.youtube.com/watch?v=rVSLczG1M1E&index=6&list=PLX2vGYjWbI0RibPF7vixmr4x8ONJX-mNd
float moveHorizontal = Input.GetAxis("Horizontal");
float moveVertical = Input.GetAxis("Vertical");
Vector3 movement = new Vector3(moveHorizontal, 0.0f, moveVertical);
rb.velocity = movement * speed;
уважаемые дама и господа.
прошу, подскажите годных книг по юнити, комп. графике, чтобы они были только на русском.
очень прошу.
если все будет хорошо, в четверг создам тредик со своим дипломным проектом.
Ну я имел ввиду с фризами.
Туториал не об оптимизации. Не используй фиксед апдейт. Используй апдейт и дельта тайм.
>если бы не помогла
Ты понимаешь что ты используешь для движения физику. Как ты не интерполируй, а если ригид боди у тебя в позиции 0,0, то и столкновения у тебя в позиции 0,0. Хоть ты рисуешь в 10,0, хоть в Афганистане, а физический объект остается на месте.
Либо тебе отказываться от физики, двигать спрайт вручную через координаты отрисовки, писать собственные события столкновений, либо не ебать мозги со своей интерполяцией, а делать как белые люди.
> годных книг по юнити
> на русском
ЛОЛ
Форум Юнити.ру, Статьи на Хабре, этот тред.
Или что конкретно ты имеешь ввиду? Кодинг?
> комп. графике
конкретизируй
>>262866
Писать что-то уровня "глобального слушателя" или "глобального менеджера" - я слишком туп и ленив. Затянется это надолго из-за чего вообще могу забить на проект, да и острой необходимости пока в нем не вижу.
Решил, что просто в методах добавлю простое условие, которое будет проверять наличие изменений в этих параметрах.
А потом уж, если потребуется и вообще доделаю проект, сделаю "глобального слушателя".
вот этому за мой счет чайку два
Готовлю к защите диплом про игру на юнити, всю инфу брал с хабрхабра и официальной документации на сайте юнити.
Вот например уроки для начинающих с хабра:
Уроки 1-3
https://habrahabr.ru/post/141362/
Уроки 4-8
https://habrahabr.ru/post/142845/
Если ты после этого не поймешь суть юнити, то....
Ну и что касается графики, я за несколько дней научился делать модельки в Blender3D, он бесплатный и не тормозит, а суперграфон и куча полигонов для дипломного проекта не нужны. Уроки по блендеру найдешь в интернети.
русские, сэр.
ну вообще это плоскость на которой нарисованы дороги и понатыканы кубики нескольких видов
большего и не требовалось.
>>262929
мне надо теоретической части наливать как воды в диплом, чтобы объема набрать.
игра написана. 2Д стел экшонюазарюс пиксельартом.
я так подумал что я тут использовал -
1. анимация, аниматор.
2. коллизии.
3. несколько камер.
4. гуи.
5. фонарик(сделал из ассета).
вроде все.
я именно про все это хотел бы добавить.
а, ну еще стрельба и поиск пути.
поиск пути стандартный, навигация.
а стрельба - инстанциировал патрону и проверял коллизии, то есть про это не надо опять писать.
я тоже так собираюсь сделать.
я про то что о коллизиях опишу в том как у меня ГГ ходит, мол почему он сквозь стены не проходит, о том что я лайнкаст юзаю, чтобы проверть "можно ли сделать шаг".
писать то же самое про коллайдеры и рейкасты/лайнкасты при получении пули в лоб нет смысла.
кстати, сколько у вас там страниц по требованиям?
нам сказали 60.
в прошлые года говорили 90 минимум
сам хуею
вообще, хорошим решением мне видится две камеры, одна для нарм всего, другая для лодов. но за этим последуют охуенные глитчи, опенворлд может обламаться — особенно на мабилах
Ты ёбнутый, там можно овердохуя дистанцию отрисовки нарисовать. Но больше 2-3к ставить не советую, z-buffer не резиновый. Хотя зависит от твоих скейлов.
>>263066
Хуёвое решение, как показала практика. Это удваивает время на сортировку и кулинг жрёт просто пиздец сколько времени. Частично помогает дисейбл ненужных объектов, но один хуй. Я пилил под две камеры, теперь заменил на ААА-технику. Замыливаю всё нахуй.
инбифо: гд
Мы что вешаем целый поток на этот метод? Почему тогда если я просто напишу
while(true)
{
}
у меня всё зависнет?
Там нехуй читать пока. Даже на юнитифоруме это никого не заинтересует.
Потому что нет выхода из цикла.
Не правильно выразился. Допустим у юнити есть thread pool.
Могу ли я быть уверен, что когда у нас выполняется WaitForSeconds() поток, который занимался этим методом начнет заниматься другим? И через определенное время уже этот поток (или другой) продолжит выполнение этой функции.
все фунции, относящиеся к движку юнити должны вызываться только в главном потоке. В доках этот момент есть.
Не в одном потоке. Просто тебе не всё разрешают.
>>263199
>Basically, Unity runs on a single thread
Cразу нахуй, потому что юнити выполняется в нескольких потоках. Да, юзеру дали только один, потому что не все апи функции треад сейф, а юзер по умолчанию идиот. Как автор того поста, на который ты дал ссылку.
Ну это полный бред. Движок должен использовать столько потоков, сколько аппаратно доступно. В логике создавать потоки - бред.
Ну, эдитор и билд разные вещи. Плюс, если у тебя тяжёлые задачи - пили мультитрединг. Сам. Юнити использует несколько потоков для своих внутренних целей, для того же рендеринга. А тебе дают возможность использовать любое кол-во потоков, но доступ к апи только из одного.
while (true) { i += 1; }
Просто для меня это странно. Юнити позиционирует себя как двиг для инди проектов. Купил лицуху, наклепал и работает. А, по сути, мне самому нужно пилить многопоточный менеджер задач. И при этом не на прямую работая с API железа, а используя System.Threading (ну не круды же пилим блин).
Короче я для себя вывод сделал. Для прототипов - супер. Да и куча платформ из коробки. Но для готовых игр не очень.
Кстати, ещё запустил pillars of iternity. GPU 70%, CPU 46%, FPS 50. Но, если не ошибаюсь, обсидианы делали ее на Unity3. А там вообще всё в одном потоке крутилось.
Запустил проект без менеджера задач, по крайней мере, без дополнительного. Посмотрел на утилизацию процессора.
Ну и да, посмотри на собственный пик, 150 фпс с 30% загрузкой процессора. В чём проблемы-то? Для готовых игр юнити это очень заебись.
>Unity3
Unity3 = Mono 2.6 = C#4. А там треадинг есть.
>pillars of iternity
eternity
>>263240
Если ты думаешь, что я за анриал поясняю, то ты не прав. Достаточно посмотреть на игры, которые вышли.
>>263241
Ну смотри. У тебя процесс использует 4 аппаратных потока (сам двиг). Плюс пул потоков. Допустим 2. У тебя уже проблемы с производительностью (думаю пояснять не нужно почему). Да и суть не в CPU а в GPU. Это GPU должен быть всегда нагружен на 100%.
>Unity3 = Mono 2.6 = C#4. А там треадинг есть.
Сама архитектура Unity 3 была однопоточной. Типа:
while(true)
{
updatePhysX();
update();
render();
}
У меня нет проблем с производительностью.
>GPU должен быть всегда нагружен на 100%
Ты ебан, всинк для кого придуман? Хотя вот я его выключил и получил 100% загрузку gpu и 40% загрузку кпу. Короче твои посты не соответствуют реальности.
Но это не значит, что разработчик не мог использовать треадинг. И это не значит, что я верю хую с двача, что якобы он знает, как выглядел код.
Под кАпотом у Юнити есть менеджер задач. Они просто ещё не придумали как тебе его выдать. Для подавляющего большинства случаев разработчику просто не надо этого, одного потока для игровой логики достаточно.
Кто нить может чего посоветовать.
Как в юнити "сварачивать" сцены? И возможно ли это? Или может быть как-то предзагружать объекты?
Проблема: При переходе из игры в меню игра подвесает на полсекунды (игра на мобилу, на компе понятно дело все моментально).
Как вариант конечно сделать объект меню с не уничтожать его и врубать когда переходит в меню.
Там есть функции асинхронной загрузки сцен.
бампану один раз
Чорный скин, приоритет в Cloud Build и несколько полезных фич по поводу анализа крэшей у игроков за 35 в месяц. Убрать логотип - 125 в месяц. На всех платформах разом.
Есть ли какой-нибудь механизм морфинга из одного спрайта в другой?
К примеру из квадрата в круг, с возможностью остановиться в промежуточном значении.
Да в чем по сути разница блядь?
Они специально составили такой список где у unyti все хуево? Похоже на откровенную антирекламу и провокацию.
Ну посмотри первую строчку, cost. Юнити вот поднимает подписку до 125$, у них 7500$. Откуда? За анрил ты не платишь, откуда у них 5к$? Ну да, если у тебя выгоды больше 3к$, то роялти 5%. Откуда эти цифры? Точно также со всем остальным - всё пиздёж.
>Let's take a small company with 3 developers and 2 level designer having $105,000/year income from the game
То есть они мне гарантируют, что если я запилю игоря на анриле, то заработаю за первый квартал 100к$? А если нет? Долбоебизм какой.
>>263452
125312 = 4500$. Да всё равно пиздеж, ги есть, рефлекшс есть. Табличка от хейтеров для хейтеров.
>level designer
Кто-то вкидывал видос, что гейдизайнеров не существует. Так что воздух можно не считать.
С новой версией подписки там идёт олл инклюзив, отдельно докупать не надо.
Если залупаться до упора, то я могу сказать, что команде-то и не нужна про лицензия. Только билд собрать. Так что 0k$x5 = 0k$. Ну да, плюс сервачок развернуть под билды или для тимлида машинка, полтора косарика. А если у тимлида перманентная про лицензия? Но всё равно это хуёвые вангования, как и про команду из пяти рыл и 100к за год.
>сервачок развернуть под билды
Этот момент Юнити на себя уже давно берёт кстати. Если только наши индики не параноики.
Если у тебя несколько объектов на сцене, значит ты уже из заинстансил. Че несешь?
Сразу будет рендерить одну геометрию в нескольких местах?
Не заинстансит, а сбатчит. Тут есть дохуя нюансов. В сумме не должно получаться более 64к треугольников, должен быть одинаковый скейл и материал. Но да, если все условия соблюдены, то юнити будет рендерить это за минимальное количество драуколов.
Спасибо.
>Не заинстансит, а сбатчит.
В комп. графике это называется инстансинг. Я в доке и искал. Теперь пойду читать.
Batches в Statistics, как я понял, это и есть количество этих паков?
Ты смотрю дохуя начитанный, но если тебе пишут батчинг, значит батчинг. Инстансить можно один объект, а юнити может объединять разные меши для отрисовки за раз, то есть батчить. У объектов должен быть общий материал и ограниченное количество трисов, в доках точно написано сколько и как.
Это не инстансинг.
Цитата из документации:
>Internally, static batching works by transforming the static objects into world space and building a big vertex + index buffer for them. Then for visible objects in the same batch, a series of “cheap” draw calls are done, with almost no state changes in between. So technically it does not save “3D API draw calls”, but it saves on state changes done between them (which is the expensive part).
Т.е. юнити не рисует >9000 одинаковых объектов за один ДК, а экономит на переключениях контекста между ними.
Только не инстансинг, а батчинг. Инстансинг это создание копии объекта. Вот копия может батчится с другой копией. А может и нет. Но это не инстансинг.
>>263502
Скорее всего, ты прав. У меня просто никогда не было таких больших моделей.
>>263504
Юнити не рисует 9к за один дк, но может отрисовать пару сотен за пару десятков, я проверял. Не знаю, на чём там ещё экономия, но на дк точно.
хуйня какая то. откуда ты 64к на все взял? это ограничение обж формата. Почему скейлть нельзя то? это просто матрица трансформации, как поворот или перемещение.
А в статическом батчинге грузи обьекты сколько хочешь, но у них должен быть один общий материал, они не должны изменяться во время выполнения, и их флаг должен быть выставлен как статик.
бамп вопросу
Нет. Если только свой шейдер не писать. Но здесь мы тебе не помощники.
>для прототипов - супер
От разных петухов по поводу разных движков такое слышу. Очень часто. По факту люди игори делают, а эти петухи - выводы. А потом заплывшие говном приходят на двощи и рассуждают о том, как хуево делать игры на движках когда можно хуем себе по лбу случать.
>откуда ты 64к на все взял?
В буфер больше не влезет, 65534.
>for example object A with +1 scale and object B with –1 scale can not be batched together.
Для меня было самым неприятным, что нужно использовать один инстанс материала. То есть просто инстансить префаб с одним и тем же материалом - мало.
>>263544
Вообще, если уж задрачиваться на батчинге, то посмотри на Mesh.CombineMeshes.
Ну смотри. Я с юнити не был знаком. Но мне вручили hololens и сказали сделать на нем простенькую игру (пощупать платформу). У меня 2 варианта. DirectX + C++ или юнити. Выбор очевиден.
Сложную игру ты все равно не осилишь. Мало просто бить себя в грудь, какой, мол, я матерый программист. Нужно собственно ДЕЛАТЬ. Один хуй на чем. Два мудака за год делают готи, а ты за год делаешь прототип на юнити, чтобы потом рассказать нам какое оно говно. И дело ведь не в юнити, дело в тебе.
64k -,ограничение ushort что для индексов. По идее юнити делает "ручной инстансинг" заливая вершины в один буфер и рисуя все одним вызовом. Инстансинг есть не на всех железках.
Это вопрос как то относящийся к сути разговора?
>>263579
пождите-пождите в какой буфер то?? есть статический батчинг, есть динамический батчинг, и как товарищ напомнил, есть дедовский ручной батчинг. (кстать, инстансинг это дублирование объекта из образца. Это не батчинг)
В статике вообще пофигу на трансформации должно быть. Для динамики хз даже. У тебя указано от 1 до -1 может быть отзеркаливание на процессоре, меняет порядок индексирования вертексов. Кароч, попробуй масштабирование от 1 до 2 может заработает
http://answers.unity3d.com/questions/358887/why-does-scaling-affect-dynamic-batching.html
Ну вот например. Статик батчингу похуй на трансформации, динамик не похуй только на скейл.
>пождите-пождите в какой буфер то?
http://answers.unity3d.com/questions/255405/vertex-limit.html
Обычный вертекс буффер. В DX10, например, этот буфер уже вмещает в 2 раза больше данных, в DX11 это вообще 64 бита. Но политика юнити строгая, лол. Либо работает везде, либо нигде. Хотя нужно быть ебанутым, чтобы заливать в игру модели, которые не пролазят в эти лимиты.
хех точно, попробовал тяжелую модель импортнуть так он её автоматически на несколько подповерхтностей нарезал.
но для батчинга статитики 65 к вершин это не много.
Для статики лоды есть.
GPU знает только про вершинные и индексные буферы. Батчинг это просто способ уменьшить число dip путем засовывания геометрии в один набор буферов.
Это четкое ограничение типа данных в индексном буфере. Более жирные типы использовать не рекомендуют.
Ну хуй знает. По большей части хочу работу с сетью скрыть, чтоб меньше читерили. Ну и чтение файлов. Как-то тупо, что весь код отдаётся в исходном виде.
Кривая хуйня, после которой большая часть кода перестаёт работать, а то, что работает, работает в три раза медленнее и всё ещё легко вскрывается? Слышал.
myTransform = this.transform;
Или можно каждый раз вызывать this.transform? Что быстрей? Или пох?
Однохуйственно. Но когда тебе каждый раз приходится писать GetComponent<Rigidbody>().transform.position.x, начинаешь задумываться.
Спасибо. Просто думал, что так ему ещё лезть, искать. А если сразу задать, то он адрес в память скидывает. Наверное я чересчур заморачиваюсь. Преждевременная оптимизация не нужна.
В манавалах говорили что именно с трансформом - общепринятая практика оптимизации. Сферической. В Вакууме. На миллионную долю миллисекунды.
Можно писать без this.
Это юнитипараша.
это их дефолтная система освещения. Хер знает как устроена, но на самом деле немного жрет.
Ты наркоман не в редакторе запускайся, а на таргет платформе.
В редакторе профайлер пиздабол тот еще.
Инфа соточка.
мимоПРОбыдло
Нахуя рисовать то, что не нужно.
Алсо, на других мудаков тоже будешь вешать пушки по 100к полигонов?
Кароч, плееру пушку, остальным тело с пушкой.
Cкайбокса и латмапы не существует.
Короче ну их нахуй, эти кресты ёбаные.
скачал бесплатную vs 2015 комьюнити
@
триал 30 дней истёк
Чтоблядь? Она же якобы фришная.
скачал дополнение к шарпдевелопу для крестов
@
мсбуилд в c:/msbuild не найден
Уёбок, его там никогда не бывает. Ладно, поебался с реестром, нашло всё. Компилим.
Неправильная целевая платформа
@
Целевая платформа - любой CPU
Окей. Скачал экплипс. Велком ту эклипс еррор сервис!. И главное каждая эта дрисня тащит за собой кучу софта, библиотек, конпеляторов, даже джаву блядь, джаву! И не работает. Язык для пердоликов, блядь, чтобы запустить IDE нужно пердолиться с ней полгода. С шарпом же пиздец всё просто, накатил дотнет, накатил любую хуйню в качестве редактора. Всё, работать можно.
Проиграл с этого IDE борца. И при чем тут вообще язык и твои потуги стартануть IDE?
Ну так-то тот же шарпдевелоп успешно собирает C# проекты и не может собрать C++. Но я в итоге понял, что этот хипсторский бесплатный софт - это для педиков. Так что я пошёл и отсосал билли, получил хипстерский аккаунт в облаке и лицензию на студию. Где всё сразу же собралось. Всё остальное говно просто не нужно.
Нахуя тебе он нужен, я уверен что валвы его так просто не раздадут, да и если брать соурс 1 то он очень узкий, хоть и мощный, если соурс 2 будет на него похож, то ну его к черту
даун как он есть
Делают или нет, неизвесно, да и вообще симпатизизовать соурс движку глупо, т.к. они для узкого профиля.
а если я буду делать 100к в год? получается 12*125 = 1500. Ого. Это получается я из кровно заработанных 100к получу только 98500?
Ты сначала заработай, фраер.
Это еще не все к стати:
$35/month for a 12 month plan. $49/month, for a monthly plan.
$125/month with one year commitment,
Это значит, что ты весь год должен платить и не можешь дропнуть через пару месяцев?
А что произойдет если не заплатишь, она обновятся что ли перестанет? И почему все бугуртят насчет сплэшскрина, можно же купить подписку на 1 месяц, собрать билд со своей заствакой и получать профит.
>Unity Multiplayer
>50 Concurrent Users
>200 Concurrent Users
Чот пиздежь. В ~20 рыл в юнити я ещё поверю, но не в 200.
>И почему все бугуртят насчет сплэшскрина, можно же купить подписку на 1 месяц, собрать билд со своей заствакой и получать профит.
Это так же нелегально как и скомпилить пираткой. При покупке подписки ты соглашаешься с тем, что будешь проплачивать её как минимум год.
Не забудь еще налоги Россиюшке заплатить, еще -13K.
Я вообще-то выше писал, что так и поступил.
>>263763
Тогда проще оплатить сразу на 36 месяцев и получить вечный про.
>>263753
Я помню ещё в древние времена играл в браузере в юнити-игру. Гоночки с пострелушками по ебанутым ландшафтам. Так там пара сотен была.
>Тогда проще оплатить сразу на 36 месяцев и получить вечный про.
Не прокатит, с 2017 упити будет только по подписке, ну по индивидуальному прайсу.
>Пожалуйста, обратите внимание, что поддержка бессрочных лицензий Unity Pro, включающая новые функции, улучшения, исправления и сервисы, будет прекращена в марте 2017 г. Подписка Unity Pro дает вам доступ к новым функциям, улучшениям, исправлениям и сервисам в течение всего срока своего действия.
https://store.unity3d.com/ru/subscribe
>В дополнение мы предложим продукты Pro по модели pay to own тем заказчикам, которые хотят сохранить версию Unity по окончании периода подписки.
http://blogs.unity3d.com/ru/2016/05/31/new-products-and-prices/
>Заказчики бессрочной лицензии смогут приобрести предоплаченную 24- или 26-месячную подписку на Unity Pro, что позволит им использовать ПО как бессрочную версию после окончания срока подписки.
http://unity3d.com/ru/unity/faq/4520
Хардкодинг вообще плохая практика.
А "прекратим поддержку" это значит, что обновления и сервисы ты нахаляву перестанешь получать. Но лицензию на юнити не отберут.
>которые хотят сохранить версию Unity по окончании периода подписки.
Еще раз перечитай. Версию юнити, все будут юзать новые йоба-функции, а ты будешь жрать говно мамонта свое купленное навечно. ЗАТО НИКТО НЕ ОТБЕРЕТ.
>24- или 26-месячную
"Ну короч на 2 года вперед купите и это типа будет бессрочная подписка, через джва года мы еще говно придумаем какое-нибудь)))"
>ты будешь жрать говно мамонта
Будет надо новее - можно купить новее. Да и один хуй юнити 6 не будет, а теперешняя юнити достаточно хороша. В мире софта вообще редко новые версии дают бесплатно, а в играх даже минорные обновления докупать надо.
> бессрочная подписка
Так тебе бессрочную подписку никто и не обещает. Как-то дохуя хочешь, сервисы юнити, мультиплеер вот выкатят, обновления. Хуяку в сраку. С другой стороны, это не особо-то и нужно, лол. Я вот никогда не буду пользоваться встроенным мультиком или сервером сборок, так нахуя мне оно? Нахуя мне 26 платформ для деплоя? Разве что обновления могут понадобиться.
Дык платная юнити это и есть сервисы с мультиком и без сплеш скрина. То есть за свои деньги покупатель получает практически нихуя.
Тёмная тема и сплешскрин. В юнити же просто все сделали бесплатным, бессрочная версия имела вес, пока не было отражений\теней во фри. За свои деньги покупатель получает дохуя. Но, опять же, "за свои деньги". Ты оплачиваешь лицензию на 2-3 года вперёд, пользуешься всеми сервисами и потом у тебя не отнимают возможность юзать тёмную тему или сплешскрин. А в большинстве софта так и происходит - прога превращается в тыкву. А разные мобилоклепатели, которым нахуй не нужны сервисы и т.д. будут только рады. Сорт оф старая лицензия юнити, может, даже обновления со скидкой запилят, как раньше. Но изначально вообще речь шла про сплешскрин, эту проблему бессрочная версия решает.
не, тут именно эти кружочки остаются на том же месте, если камерой покрутить в сторону. Сейчас если найду в какой-нибудь игре пример, скину
и как его можно реализовать, чтобы эти кружочки становились того же цвета, что и свет, что проходит сквозь них в данной точке экрана?
Это боке. Это капельки и кусочки грязи которые не попали в фокус и от этого выглядят размытыми, но свет преломляется через них, поэтому если в шар не светят то их почти не видно а если светят в шар то светятся этим преломлённым светом.
Антуан, я вот тут сижу, читаю вскукареки всяких петухов без игор и замечаю все чаще посты в стиле "шарп говно".
Мне интересно, на самом деле ли оправданы эти выпады в сторону шарпа, и если да, то что в нем такого ужасного? У нас тут как бы общество петухов, говорить привыкли все твердо, безапелляционно, но, по какой то причине не подкрепляя все это аргументами. А мне их очень не хватает, пушо я действительно не вижу каких то заметных минусов.
Какая разница кто что говорит? Если лично тебе удобно, то пользуйся на здоровье и не слушай никого, тем более петухов.
Дело не в том, что я начал сомневаться или что-то такое. Просто интересно, чем аргументируют свою позицию такие люди. Меня юнька пока устраивает практически полностью.
по идее никак. Запускаешь свой проект на новой юньке и дебажишь. Вообще, менять версию инструмента по ходу разработки не принято нигде.
Это все натолкнуло меня на другой вопрос. Как обновлять свою игру? тоесть выпускать патчи для уже готовой. Есть ли уроки на эту тему? какие то рекомендации?
да хуй знает, модно так говорить, тролят, начинали на яве или крестах. Хз кароче, аспект психологический.
ну так один спекуляр не даст тебе металл. Нужно добавить рефлекшн. Ну у подготавливать карты правильно надо
Дык куды его пихать рефлекшн ваш, там слота нет, вот спекулар есть я понимаю, а рефлекшн-а совсем нет.
Наведи мышку на квадратик спекуляра и всплывет подсказка что в каком кагале. Или доки открой блять.
Сохранять версию инструмента, в которой велась разработка.
если уж совсем заморачиватся - установи новую юнити в другую папку и не парсо
лолировал. Есть же чуваки, которые заплатили овер дохуя за эти лицензии. Например, они могли взять про+андройд+ios, вроде по старым ценам это около 4500 бакосов. Но самое веселое, что они могли набрать на 10-20 машин, лол
Познай силу ассет стора.
может подменять перса на флипнутого? ну там через SetActive или через инстанцирование.
Все старые до-PBR текстуры не годятся. Надо делать новые, и правильно. Спекулярных карт как и диффуза больше не существует.
Тем что шарп может быть медленнее плюсов. Но ты скорее всего никогда не напишешь код где это проявится.
То есть человек готов дрочить свои велосипеды годами, так нихуя и не запилив, вместо того, чтобы игры делать, и все это потому что плюсы "быстрее" на годы, лол?
Ага. Пару лет назад еще можно было сказать что "хочу всякие эффекты которых нет в халявных движках".
>Тем что шарп может быть медленнее плюсов.
Какой-то пустой цикл с миллионом итераций - возможно. Теоретически C# или джава могут работать быстрее за счёт runtime компиляции, у них больше информации о машине, на которой они выполняются - поэтому могут быть более оптимизированы. Но вылизанный С++ код, конечно, быстрее.
Вообще очевидно на плюсах скорость разработки гораздо ниже, я думаю там невозможно нормально писать без статического анализатора кода и всяких умных указателей. Короче, петухи.
>>264109
А он профайлер запускал? Вообще ты правильно заметил - долбоёб, что говорить.
Ну так-то в пыхе теоретически иф быстрее за счёт того, что в нём на пару инструкций меньше. На практике этот выигрыш гораздо меньше статистической погрешности. Он, наверное, из тех уёбков, что тащат легенды про одинарные кавычки из 4.х в современность. Ну или проект был на пыхе десятилетней давности, лол.
>>264136
> Но вылизанный С++ код, конечно, быстрее.
А тут мы приходим к тому, что можно писать С код на С# и он будет быстрее крестов. Часто пиздят на сборщик памяти, но в шарпе есть куча. Пиздят на слоу высокоуровневые функции, но их можно не использовать. И тут внезапно оказывается, что "вылизанный" с++ и вылизанный с# это просто С и есть и разницы в скорости хуй да нихуя.
>>264125
Выбери террейн в иерархии, зайди в таб инспектор, нажми шестерёнку, прокрути до RESOLUTION. Выстави нужный. Больше 2к не ставь.
>"вылизанный" с++ и вылизанный с# это просто С и есть и разницы в скорости хуй да нихуя
Вот мне тоже кажется, что все эти петухи с плюсами головного мозга - просто бездарные программисты.
ПРОБЛЕМА
Пытаюсь редактировать код в visual studio, не показывает подсказок, при на ведении на файл со скриптом пишет, что VS не совместим с текущей версией проекта, как решить?
Требования ОС: Linux, шинда
Имею линукс. Стоит ли мне перекатываться на шинду? Есть ли разница? О юнити знаю чуть меньше, чем нихуя, там сказано, что какие то скрипты на c# нужно пилить, а visual studio же онли для шинды.
пик рандом
Есть monodevelop, идёт вместе с юнити. Не обязательно vs юзать.
На маках студии нет. VSCode как то хреново интеллисенсит если надо и код игры и редактора редактировать.
Редактор для линукс в глубокой бете.
Кроме мозга, баран.
Разница титаническая. Старый спекуляр с диффузом это значения взятые с потолка. Новая система имеет физический смысл.
Ну, то есть разницы нет.
1. Делаю два рижидбоди, соединяю их ConfigurableJoint'ом.
2. Выставляю angularXDrive и таргет ротейшон руками через инспектор
3. Джоинт крутится
4. Делаю то же самое через скрипт
5. Нихуя не меняется, хотя в инспекторе видно измененные значения. Если изменить даже на 0.000001 руками, то он сразу же переезжает в нужное положение
6. ???
7. PROFIT
Ссу в глаза юнитекам, совсем уже оборзели такое говно клепать.
http://answers.unity3d.com/questions/58416/joints-configured-from-script-do-not-work-properly.html
>вопрос 2011 года, когда configured joint'ов и в помине не было
>вопрос вообще про другое
Решалось все просто. Нужно было поставить у ригидбодей sleepThreshold который кстати раньше был в инспекторе, но теперь его какого-то хуя убрали на 0. И естественно, в документации нихуя не написано, что джоинты не могут "разбудить" спящий рижидбоди. Не удивлюсь, если мотор у других джоинтов может так делать, а у configuredJoint'а - нет. Какого хуя оно двигалось при изменении параметров руками в плеймоде, тоже непонятно. В общем, плохо сделано, тупо.
Она вообще нужна? Я так понял, это альтернатива Mono Develop и можно забить?
если хочешь охуеть от монодевелопа, то можешь забить. я охуел и советую не связываться с этим говном у которого вечно не работают шорткаты вечно какая-то срань, говно вместо опций форматирования и прочая хуйня.
Ты зачем юнити спиздил, аутист?
Я понимаю что тут игры делают, а не модельки. Но мне казалось что тут сидят одинокие кириллы, которые вынуждены и музыки сочинять, и модели рисовать, и локации делать.
Очевидный материал с альфой на 50%.
А конкретно это Introduction to Modeling in 3D Studio Max.
Обычный IK же, только с рижидбодями.
>>264569
Хочу болтающиеся и цепляющиеся за углы пушки как в sub rosa. Только у меня не про мультиплеер. Вообще попытаюсь сделать персонажа с как можно меньшим количеством ограничений, но понимаю что полностью на физоне вряд ли получится его основать. Плюс интересно, как это будет работать с оружием ближнего боя, ради чего я все и затевал.
>Обычный IK же, только с рижидбодями.
На то я и новичок, чтобы не знать даже такой простоты.
То есть руки со включенным ик, а их "цель" - винтовка?
Или винтовка тоже к рукам приклеена костями?
>Плюс интересно, как это будет работать с оружием ближнего боя
Должно быть охуенно для какой-нибудь рпг с булавами и щитами, например. Или гейплеем того же курсед крусейд.
Все сделано из рижидбодей и джоинтов. IK рассчитывается как обычно, но вместо того чтобы напрямую вращать руки, задает параметры джоинтам, а те уже сами вращаются.
>>264586
Пикрелейтед собсно. Нужно еще доделать кисти, чтобы они тоже анимировались и нормально закрепить оружие, но в целом меня удовлетворяет результат. Это на 0.5 скорости кстати.
Круто.
Ты мой новый бог.
В планах (очень отдалённых) было сделать слешер с встроенным редактором ударов, стилей и так далее.
Теперь знаю на что опираться.
Круто, продолжай.
И сделай ещё так, чтоб мышкой управлять направлением удара. Ну ты понял. А потом доспехи, зональные повреждения и вся хуйня.
1. Как сделать так, чтобы деревья были разные? При копировании дерева или создания разных прфабов, они все одинаковые.
2. Как наносить траву не только на террайн, но и на произвольные объекты?
3. Как сделать так, чтобы деревья и трава, установленное не на террайн, "упрощались вдалеке"?
Решил включить тени, но не настраивал особо. Как оказалось, не лучшая затея.
>>264620
У меня немного про другое и доспехи вряд ли будут уместны, но вот зональные повреждения будут непременно. Вообще надо хорошо постараться, чтобы это не выглядело как две болтающиеся сосиски на статичном персонаже, да еще и целиться нормально можно было, но пара идей есть. Позже запилю тутор, как такое же реализовать.
У меня не получается засунуть это в сеттер. В апдейте то я знаю как его гонять.
Но в любом случае жду прогресса от тебя. Кстати, для анимации сисек ик годится вообще?
>>264640
https://habrahabr.ru/post/160105/
>>264631
1. Делай разные деревья. В спидтри 1 кнопка.
2. В блексмите смогли как-то. Изкоробки этого нет.
3. >не на террайн
Аддкомпонент - лодгроуп.
1. https://www.youtube.com/watch?v=hTqmk1Zs_1I Это может быть не нужно - в Firewatch, который целиком в лесу, было чуть более десятка моделей деревьев. Можно сделать тулуз что будет размещать деревья хаотично чуть-чуть меняя масштаб и поворт. И будет ОК.
2. Никак.
3. LOD для деревьев, террейн вроде бы умеет скрывать траву далеко.
FSM.
Сиськи часто делают через ик. Видел кстати ik ассет в юнити и там был пример с сиськами.
Это как клизму через нос ставить
собственно я сделал что хотел, но почему она такая бледная? пробовал менять GUI.skin, пробовал GUILayout.Box (который почему-то инорирует GUILayout.MaxHeight), пробовал потыкать опции импорта текстурки, в итоге сделал через AssetPreview.GetAssetPreview(), но все равно интересно в чем же дело.
Мне это нужно, чтобы реализовать bouncing. По сути, не ик нужен, а физически правдоподобная модель поведения. Думаю, привязать их к костям, а кости к невидимому ригидбади. Но пока не брался за это, пилю другую хуйню.
но нахуя ИК то? просто приделай кости к джойнтам, чтобы джойнты трясли то что ты там хочешь.
уж на то чтобы сиськи трясти то их хватит с избытком.
да и вон на ксп, или бесидж посмотри, че, плохие джойнты?
Вообще довольно интересная тема, сам ни разу не пытался такое делать. Может попробую на днях.
IKea-кун
только уже есть в Exanima и получше. вообще заебись, надо показать одному мудаку который хочет примерно то-же самое, только он артист и все на что у него хватило мозгов это спиздить https://www.assetstore.unity3d.com/en/#!/content/48977
>>264554
как планируешь стояние то сделать? копчик тоже на джойнт? вообще, заебись, сам такое в свой проект хочу сделать. чтобы было как в Receiver только ещё можно было валыну в корягах проебать, или выстрелить себе в ногу по неосторожности.
Могу создать Ragdoll скелет.
Что можно использовать в качестве мышц?
Насколько реально работает физика?
Пока думаю еще. Пришло в голову прилепить персонажа на невидимый коллайдер и рассчитывать то, с какой силой его поддерживает в зависимости от состояний. Ну а двигать если прокатит то ногами, а если нет, то как-нибудь анимировать. Не пытался еще этим заниматься. Как начну, может что получше в голову придет
Заебешься пружины настраивать. Да и количество инпутов огромное будет. Вообще конструкции из множества соединений трудно стабильными сделать, но если получится, то отпишись как-нибудь.
Вообще, оставь контакты какие, тоже этой темой интересуюсь.
У меня не так уж и много соединений, а физика, вообще, на основе шарнирной куклы.
Все сначала на генетическом алгоритме буду тестировать.
А потом отдам нейронной сети.
Но я пока не до конца понимаю, как это в юнити.
У меня есть скелет, накладываю на него модельку.
А чем заставлять скелет перемещаться и где почитать вообще про все это?
Можешь spring joint юзать, можешь configurable joint. Оставь мыло, вместе помозгуем.
Spring joint немного не то, ибо мне все-же нужен шарнир
А над Configurable joint надо подумать
Хорошо, аноны, нагуглил, есть методы Add Force и Impulse, они не игнорируют массу, что уже реалистичнее.
Но как менять силу Импульса?
Как работает PhysX можно почитать на сайте нивидии.
А скорость? Зависит от массы объекта?
Как это вообще работает? Указываем большую длину вектора - получаем большую силу.
Указываем меньшую длину - меньшая сила?
Вряд ли ты осилишь ходьбу, если с такой элементарщиной не можешь сам разобраться.
Попробовал бы сам за пол часа вникнуть в движок о котором ничего не знаешь.
Да и я сам разобрался, двачеры как всегда, ничем не помогли.
Есть API для прикручивания своего шифрования/упаковки к AssetBundle.
Скорость зависит от силы, которую ты прикладываешь, от линейного и углового замедления, от гравитации и от массы естественно. Чем больше масса, тем большую силу нужно приложить к объекту, чтобы его двигать. Вектор задает силу по двум осям, соответственно движение по каждой из осей зависит от соответствующего компонента вектора.
>соответственно движение по каждой из осей зависит от соответствующего компонента вектора
Это весело? Говорить фразы, понятные только тебе?
Вектор вроде как не имеет компонентов.
А вот про линейное и угловое замедление поподробнее, если можно.
У меня есть сочленения и есть механизм их вращения.
Вращать все через механику - наверное лютый костыль.
Да и у Joint Motor, наверное, будет проблема с системой координат, ведь у меня как бы движение шарнира должно зависеть от предыдущего его движения, хотя можно и забить
Ты с самого начала должен понять, что тебе стоит загуглить "векторы движение физика", потому что ты вообще не понимаешь, похоже, как это работает на примере юнити.
Нейросеть он пишет, а открыть официальные видеоуроки не смог.
мимо
Я это загуглил.
Мои вопросы и не связаны с вектором движения больше.
Мне просто нужно полностью управлять движением шарового шарнира по 2-м осям c заданной скоростью и силой.
А в официальной видео-гайде есть управление только 2-х мерным Hingle Joint
У ConfigurableJoint есть мотор тоже, но не написано, по каким параметрам он вообще управляется.
ConfigurableJoint.rotationDriveMode
Написано, что контролирует X & YZ, а вот как - непонятно.
Эх, пора качать юнити.
А, вот, есть
>ConfigurableJoint.targetAngularVelocity
С помощью него можно настраивать скорость.
А как настраивать СИЛУ?
Заебись.
То есть у петли можно настраивать и силу и скорость.
А у Configurable Joint только скорость? Ну заебись.
А, оно вообще и не нужно.
Кватернионы вам что-нибудь говорит? Вообще там для каждой оси настраивается упругость, дампинг и максимальное усилие, и ты бы это давно знал, если бы скачал юпити.
Да, у меня впереди еще очень много ебли мозгов.
Но спасибо.
Можешь подсказать, а возможно ли двигателем от Hingle Joint двигать Configurable Joint?
Будет ли в юнити действовать редуктор?
У него вообще нет такого параметра как motor, потому что он может вращаться по всем осям. Для каждой есть JointDrive. Так сложно открыть документацию и почитать?
unity on linux when?
Компоненты вектора это то же, что и компоненты чего нибудь другого. Составные части, хуле тут непонятного?
Есть вектор Vector2 (10,15). 10 - икс-компонент вектора, 15 - игрек-компонент. Это же школьная программа, вроде, не?
Замедление (damping) в физике твердых тел используется для симуляции трения. Об другие тела или окружающую среду. Линейное замедление приводит к потере импульса движения в пространстве, угловое - к потере импульса вращения. Грубо говоря, чем больше замедление, тем быстрее объект остановится или перестанет вращаться.
Для простого вращения физических объектов вокруг точки не нужны джоинты. Достаточно задать ему при создании угловую скорость и промаркировать как кинематик. Джоинты нужны когда тебе не просто нужно вращать, но и физически взаимодействовать с объектами.
Про шарниры ничего не понял.
after stable gpu drivers
Начнем с того, что ты пиздоглазое мудило.
Сначала из этого ануса достань детектор, а потом распознавай пиратобогов по скачанному в инете лично мной, нотариально заверенному скриншотику.
>Обосрался с детектом скачанного в гугле cкриншота, попробуй стереть говно с лица и заяви что "а у меня вот есть, а у тебя нету, а еще ты глупый и у тебя штаны в каках! азаза!"
Правильно работаешь, как по учебнику.
Скрин не гуглится. Зачем вообще брать скрин с этим лейаутом из гугла, ты что, дебил?
Не умеешь в гугл, твоя проблема. Погугли в яндуксе, чтоли.
Нет, говноед, мне лень скринить, обрезать кортиночку, чтобы был виден именно Layout group, а не куча всякой херни. 5 секунд<6 секунд, ваш КО. И вообще, я срать хочу, лезь в унитаз.
тебе лучше не знать какую сортировку можно написать в юнити.
А теперь её нет. Почему?
Аноны, нужно научиться работать с юнити.
Ничего создавать я не буду, оно мне нужно в качестве визуализации своих идей.
Технологии я уже почти полностью изучил, документацию прочел.
Но языком программирования все еще не владею, с чего начинать и чем заканчивать изучение Сишарпа?
> Ничего создавать я не буду, оно мне нужно в качестве визуализации своих идей
> Но языком программирования все еще не владею
Ну так не парься - юзай гугл, ютюб.
Это в смысле: уроки, сайты типа стаковерфлоу, форумы по юнити, в том числе русские, официальную документацию, уроки на ютюбе, бесплатные/ворованные асеты.
Пару месяцев такого вдумчивого (осознанного а не тупо копипаст) въёбывания и элементарные вещи сам писать будешь.
Результат можно полирнуть парочкой книг типа "сишарп/жабаскреп для школьников/чайников".
но я мимо-кукаретик
Ну, каждые 5 минут ходить в гугл - это не дело.
Да, пожалуй, наверну книгу по Сишарпу и перейду к юнити
> Ну, каждые 5 минут ходить в гугл - это не дело.
Книжки-хуижки это всё теория. А гуглить это норма, сорт оф практика. Как говорится, хороший ученик не стесняется задавать вопросы.
Как минимум - документацию курить.
С одной только книжкой хуй что получится.
Хуле итт так тухло стало?
Два чаю. Без задней мысли пишешь говнокод, он не работает, гуглишь в чем проблема, решаешь, повторяешь.
Как же жизненно, сука.
> Чапаны, вот раньше (по крайней мере в юнити 4ых версий) в корневой папке проекта создавалась вся эта херня: sln, csproj, unityproj, userprefs.
> А теперь её нет. Почему?
Всё ещё жду ответ.
Реально интересно, а нагуглить ответ не могу.
===============
Unity generated
===============
Temp/
Library/
=====================================
Visual Studio / MonoDevelop generated
=====================================
ExportedObj/
obj/
.svd
.userprefs
/.csproj
.pidb
.suo
/.sln
.user
.unityproj
.booproj
============
OS generated
============
.DS_Store
.DS_Store?
._
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db
===============
Unity generated
===============
Temp/
Library/
=====================================
Visual Studio / MonoDevelop generated
=====================================
ExportedObj/
obj/
.svd
.userprefs
/.csproj
.pidb
.suo
/.sln
.user
.unityproj
.booproj
============
OS generated
============
.DS_Store
.DS_Store?
._
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db
Делай интересно на кубиках.
Все что ты перечислил делается мышкой.
Угадайте движок игры. По графону и сложности исполнения проекта.
https://www.youtube.com/watch?v=bGej8K1r8KI
Да, 2d, короче как опыта поднабраться? Смотреть unity туториалы или пытаться что-то свое сворганить?
Чем там выстрелы уебищны? А с физоном что не так?
Может прямо в проекте? Чё им надо вообще?
>>26532
Не уточнял, ну вот скажут надо то и то? А как его делать? К примеру я хз как сделать лазерный луч, небо, солнце или какие-то эффекты, например искажение света над горящим костром.
Какие-то зачатки кода нужны только для лазерного луча, но там буквально 20 строк, чтобы понять откуда и куда стрелять и когда его отрисовывать. Эффекты уже настраиваются в менюшках, если тебе не нужно что-то сверхъестественное.
Вот, надо же знать что и в каких менюшках настраивать, а я только кубы умею двигать.
Ну, если тебе названия подменю и параметров ничего не говорят, то я даже не знаю чем тебе помочь. Смотри видеоуроки, подтягивай английский и включай смекалку.
заебись. Теперь будет резон переходить на плюс.
Если сильных ограничений в бесплатной версии не будет, то фраза "Made with Unity" без упоминания версии - это заебись.
Малаца.
Как увеличить размер интерфейса в самом редакторе? А то я слепой и на широком экране ничего не вижу.
А ты ожидай больше, тогда будет.
Со всем уважением, но только мне у тебя на картинке фиолетовые хуи мерещатся? Может это знак?
Суп, гд, вопрос от слегка овоща.
Кратко - есть допусти три куба в рандомных местах. Нужно чтобы они могли объединяться в сеть, типа являлись вершинами графа, но суть не в графе. Допустим я щелкаю пкм по одному кубу и если я после этого щелкну пкм по другому кубу - они объединятся в сеть, то бишь переменная connected = true;
Загвозд вот в чем - как куб, который соединяется, узнает что я хочу его соединить с кубом, по которому щелкал до этого? Создавать глобальные переменные как то не оче хочется.
Так по другому никак же -_-
Берешь такой, тип, список и добавляешь туда куб. Потому хуяк и еще один. А потом для обоих кубов хуяк-хуяк и идентификатор "объединения" присваиваешь.
Повесь какой нибудь SelectionManager на пустой объект, у которого будут поля selected1, selected2, или можешь в список все пихать.
Трооооооль ебаный трооооооль
>>265411
>я слепой и на широком экране ничего не вижу
Панель управления - центр специальных способностей - включить экранную лупу.
Поидее можно, мне один пижженый ассет распидорасил шрифты, в каждую панель влезала лишь одна буква.
Спасибо, доктор, пойду есть длиннющие бананы и курить толстенные сигары.
https://feedback.unity3d.com/suggestions/change-font-size-in-unity-editor
Иди проголосуй и молись.
>>265527
Это надо в эдитор скрипты залезать, по идее, там работают все те же фичи, что и у старого юнити юи.
Быстрый вопрос: как заставить Particle System спавнить частицы без оглядки на то, что предыдущая пачка ещё не исчезла? Грубо говоря, чтобы у меня отрисовывался постэффект не по кулдауну Lifetime, а каждый раз, когда я нажимаю клавишу.
Вот нажимаю я кнопку, начинается проигрываться анимация, а как сделать переход обратно к статичной анимации?
if (Input.GetKey(KeyCode.Space))
{
shoot=true;
}
animator.SetBool ("shooting", shoot);
А дальше как? Просто не могу додуматься.
Стрелочка обратно без переменных.
Например:
const int STATE_IDLE = 0;
const int STATE_SHOOT = 1;
int currentAnimationState = STATE_IDLE;
void Update()
{
if (Input.GetKey(KeyCode.Space))
{
changeState(STATE_SHOOT);
}
else changeState(STATE_IDLE);
}
void changeState(int state)
{
if (currentAnimationState == state)
return;
switch (state)
{
case STATE_WALK:
animator.SetInteger("state", STATE_IDLE);
break;
case STATE_CROUCH:
animator.SetInteger("state", STATE_SHOOT);
break;
}
currentAnimationState = state;
}
В аниматоре добавь параметр state и на графе ведущем к анимации стрельбы присвой ему 1, и 0 на графе идущем к анимации простоя. Легко расширить на любое количество анимаций и переходов.
Например:
const int STATE_IDLE = 0;
const int STATE_SHOOT = 1;
int currentAnimationState = STATE_IDLE;
void Update()
{
if (Input.GetKey(KeyCode.Space))
{
changeState(STATE_SHOOT);
}
else changeState(STATE_IDLE);
}
void changeState(int state)
{
if (currentAnimationState == state)
return;
switch (state)
{
case STATE_WALK:
animator.SetInteger("state", STATE_IDLE);
break;
case STATE_CROUCH:
animator.SetInteger("state", STATE_SHOOT);
break;
}
currentAnimationState = state;
}
В аниматоре добавь параметр state и на графе ведущем к анимации стрельбы присвой ему 1, и 0 на графе идущем к анимации простоя. Легко расширить на любое количество анимаций и переходов.
>новый браст
Что?
При нажатии рисуется line renderer (луч) и particle system (постфэффект). При новом нажатии/зажатии снова рисуется луч, но постэффект не рисуется пока не кончится startLifetime предыдущего.
На видео видно, что эффект включается каждые 3 секунды = startLifetime, скорострельность же — 1 секунда.
Мне нужно, чтобы начало отрисовки эффекта было привязано к скорострельности, а не жизни частиц, и чтобы частицы не исчезали при новом нажатии, а жили до конца. Я не могу допетрить в какую сторону копать.
Instantiate не помогло, ибо клоны точно также дожидаются смерти всех частиц.
>>265453
Вы не поняли проблемы - я не знаю как сделать что то вроде РЕЖИМ ОБЪЕДИНЕНИЯ ВКЛЮЧЕН и если включен, то при нажатии пкм по кубу объединять его с кубом, по нажатию на который включился этот режим то есть проверять соединен ли он с основным кубом, и если да, то у куба, который я соединял переменная connected = true; и рисовать линию от присоединенного к присоединяемому. Бля хуй знает как это нормально объяснить
пиздец, я думал они только на пека-стендалоуны хуй забили
обезьяна, я тебе слова нахуй вообще не давал, ублюдочное ньюфажное чмо, иди нахуй из моего треда, говно
Сука, кляти москали блядь. У меня 100$
Хм, не совсем то, но все же ты меня натолкнул на мысль, спасибо.
везёт
Что значит "лицензия на стим гринлайт"? Я думал просто если доход выше 100 000$ то нужно что-то куда-то сколько-то платить.
>если доход выше 100 000$ то нужно что-то куда-то
То нужно купить про версию юнити. А стим гринлайт - это разрешение на выпуск игры в стим.
> лицензия на стим гринлайт
Публикация в категории (каталоге) концептов стим гринлайт - бесплатна.
А вот публикация в каталоге завершённых (или "почти завершённых") проектов стим гринлайт - 100$
Это фильтр от долбоёбов и шутников. Выплата единоразовая, допуск не ограничен временем и количеством проектов.
Используй дебаг, люк.
Как сделать такой же лазер пиздатый?
Можно же, камера + рендер ту текстур материал со скейлом -1 по горизонтали.
Заебато выглядит, но наверняка просаживает фпс.
А вообще этих способов с десяток.
начнем с того, что по хорошему, ты вообще не должен заниматься этой хуйней. Для этого должны быть левел дизайнеры-рабы, которые как раз и задротят редактор за 20 тысяч в месяц. Но если руководство ебанаты и будут заставлять этим заиматься тебя, то ничего страшного, просто гуглишь и делаешь. Как можно быстрее устраивайся на работу, там по ходу разберешься что нужно, а что нет.
> все на месте
А ты когда последний раз проект создавал на юне?
У меня проекты на версиях 4хх с этой ебалой, а которые уже на 5хх - без.
Если у меня не лагает, значит не пора.
Лебил, блять.
Содзавай партикл систем БЕЗ ЭМИШЕНА. И когда нужно (в нажатии кнопки) спавни нужное количество партиклов.
Посмотрел на ваши вебэмки и сразу руки дошли и себе лазер замутить. Все таки лайн рендерер симпатичнее чем голые партиклы.
Есть канвас, режим скринспейс, камера.
Один спрайт уезжает на ведроиде за экран, хоть в плеере при масштабировании все скейлится нормально.
Куда копать-смотреть?
Уже не надо, накостылил сам не наю как, но все встало на место.
Есть скрипт который позволяет вращать объект в сторону другого объекта(Target) по оси z.
Нужно чтобы вращаемый объект вращался в сторону Target не моментально, а с определенной скоростью.
Сам скрипт:
public GameObject Target;
void Update ()
{
if (Target != null)
{
Vector3 TargetPos = Camera.main.WorldToScreenPoint(Target.transform.position);
var screenPoint = Camera.main.WorldToScreenPoint(transform.localPosition);
var offset = new Vector2(TargetPos.x - screenPoint.x, TargetPos.y - screenPoint.y);
var angle = Mathf.Atan2(offset.y, offset.x) * Mathf.Rad2Deg - 90;
transform.rotation = Quaternion.Euler(0, 0, angle);
}
}
обчитаються своей геометрии и пишут потом нечитабельную хуйню. на.
а хотя стоп. у юнити же Mathf.Sign не возвращает 0, а только 1 и -1. можно не городить тернарный оператор и вместо (targetLocal.y > 0 ? 1 : -1) написать Mathf.Sign(targetLocal.y)
не ну можно написать
tempVector = Vector3.Lerp(tempVector, new Vector3(targetTransform.position.x, targetTransform.position.y, myTransform.position.z), speed * Time.deltaTime);
myTransform.LookAt(tempVector);
но если myTransform начнет двигаться по оси z то результат сразу станет говняным, да и для более равномерного лерпа надо нормализовать вектор, что тоже превратится в гору нечитабельного говна. по моему ротация лучше направления в этом случае.
Спасибо тебе огромное! Заработало. Почему-то сразу не подумал использовать лерп.
Второй день с этим говном ебусь.
>>267018
Распидорасит. У меня вращение идет только по оси z.
Кстати мой вариант с минимумом переменных:
public GameObject Target;
void Start ()
{
if (Target == null) Debug.LogError ("Target is null");
}
void Update ()
{
if (Target == null) return;
m_Unit.transform.position = transform.position;
m_Weapon.transform.position = transform.position;
Vector3 targetLocal = new Vector3(
Target.transform.position.x - transform.position.x,
Target.transform.position.y - transform.position.y, 0);
float angle = Vector3.Angle(targetLocal, Vector3.right) Mathf.Sign(targetLocal.y);
transform.rotation = Quaternion.Lerp(transform.rotation, Quaternion.AngleAxis(angle-90, Vector3.forward), Speed Time.deltaTime);
Debug.DrawRay(transform.position, transform.up, Color.red);
}
Спасибо тебе огромное! Заработало. Почему-то сразу не подумал использовать лерп.
Второй день с этим говном ебусь.
>>267018
Распидорасит. У меня вращение идет только по оси z.
Кстати мой вариант с минимумом переменных:
public GameObject Target;
void Start ()
{
if (Target == null) Debug.LogError ("Target is null");
}
void Update ()
{
if (Target == null) return;
m_Unit.transform.position = transform.position;
m_Weapon.transform.position = transform.position;
Vector3 targetLocal = new Vector3(
Target.transform.position.x - transform.position.x,
Target.transform.position.y - transform.position.y, 0);
float angle = Vector3.Angle(targetLocal, Vector3.right) Mathf.Sign(targetLocal.y);
transform.rotation = Quaternion.Lerp(transform.rotation, Quaternion.AngleAxis(angle-90, Vector3.forward), Speed Time.deltaTime);
Debug.DrawRay(transform.position, transform.up, Color.red);
}
вообще, раз уж у тебя такая специфичная ось то можно чуть покороче написать
Vector2 targetLocal = (Vector2)(targetTransform.position - myTransform.position);
потому что z всеравно 0 и использовать вместо Vector3.Angle - Vector2.Angle. ну и вместо Quaternion.Lerp можно Mathf.LerpAngle, если сохранять предидущий angle, наверно это лучше.
алсо советую кешировать переменные, юнити то так хитро хватает this.transfrom что это выходит немного дольше. и вообще переменные лучше с маленькой буквы называть, чтобы не путать их с функциями.
Спс. Учту.
Это для коллективной работы я спрашиваю.
в гит
>>267108
>юнити то так хитро хватает this.transfrom что это выходит немного дольше
настолько немного, что должно быть абсолютно похуй
> this.transfrom
Это встроенный метод доступа к компоненту. Unity за тебя вызывает GetComponent<Transform>() каждый раз, как ты обращаешься к transfrom класса-родителя. Так что, если ты будешь обращаться к нему в каждом кадре, то каждый кадр будет поиск этого компонента. Но вообще да, на ранних этапах разработки этой хуйней лучше не заниматься.
>Unity за тебя вызывает GetComponent<Transform>() каждый раз, как ты обращаешься к transfrom класса-родителя
nope
http://blogs.unity3d.com/2014/06/23/unity5-api-changes-automatic-script-updating/ (Последняя строчка)
кэширование трансформа
Н И Н У Ж Н О
И
Н
У
Ж
Н
О
Оптимизаторы мамкины. Написав один скрипт из тысячи необходимых уже думаю как бы сэкономить 0.000001 мс.
Ну раз ты такой прошаренный может пояснишь есть ли смысл(в плане оптимизации ясное дело) делать все возможные функции и переменные private?
В плане оптимизации нету никакого смысла. Это все нужно только для разработчика(ов). Читать, поддерживать, и расширять правильно оформленный проект намного проще.
Ясно. Кстати, ты не в курсе как сделать чтобы public объект не показывался в инспекторе?
То что нужно. Спасибо.
MonoBehaviour.OnBecameInvisible()
Shader error in 'Custom/Ground': 'lerp': no matching 3 parameter intrinsic function; Possible intrinsic functions are: lerp(float|half|min10float|min16float, float|half|min10float|min16float, float|half|min10float|min16float) at line 73 (on d3d11)
не та ошибка там на скрине, в глаза ебусь
Нахуй тебе эта навмеш-дрисня?
Пока ты ее допилишь, уже повсюду нейросети будут, а ты будешь похож на шизика, который только что колесо изобрел
https://www.assetstore.unity3d.com/en/#!/content/62542
я знаю, у тебя есть всё.
Нет ты
В общем в уроках 2Д только платформеры или если вид сверху, все равно используется физика и ригидбоди и вся коллизия через них.
В общем тестю юнити.
Вид сверху по типу как Hero Siege или Binding of Isaac, как сделать коллизию со стенами? В гугле искал - все советуют ригидбоди для платформеров и т.д. Но у меня не платформер, нашел какой-то вариант с CastRay но что-то не вышло.
Помогите, а?
а в чем проблема? сделай коллайдеры на стенах
давно уже хочу пробнуть делать свои игры (мечта детства прям),
и решил взять для этого юнити.
Только вот немного глупый вопрос: для юнити обязательно учить С#, или можно кодить на Джаве?
дак я нихуя не знаю о юнити от слова совсем.
но мне пиздец как интересно, какой ЯП там используется,
не злись, анончик
C# и javascript. В теории можно делать одни и те же вещи и на том и на том, но js'ом никто не пользуется и 95% туториалов сделаны для шарпа. Прибавь сюда то, что js - гавно и получишь единственно верный и православный язык для написания скриптов - C#
Чего жаль? Что вместо полноценного с# нельзя писать на его грызке?
Алсо, писать ты можешь на чем угодно, только конпелировать придется самому. В случае .net надо просто положить длл в папку с ассетами
Каждый раз рыдаю, когда понимаю, что вместо полноценного с# приходится писать на его огрызке.
Жаль что приходится писать на куче сахарка на коленке т.к. нормальных IDE NET.U. А для джавамашины есть языки, которые дерут шарп во все дырочки и будь тут джава, были бы и они.
скиллы на SendMessage
Сделать функцию как static и через имя класса вызывать её, либо синглтон сделать и обращаться через него
Да не за что, но static юзать часто не стоит, ибо потом проект может превратиться в неконтролируемое нечто, в идеале объявлять поле с типом твоего класса и обращаться через объект этого класса задав его в инспекторе
Для хранения состояния не стоит. А статик функций без сайд эффекта может хоть до жопы быть и никому это не повредит.
Оказывается уже Rider вполне годится для разработки на юнити! Я кончил.
Кто-нибудь, может поделиться опытом, как нужно писать и как не стоит?
погугли mvc, на хабре знаю была статья про mvc в unity, юзаю в каждом проекте, весьма доволен
>на хабре знаю была статья про mvc в unity
Это та, где прямо в комментариях пояснили, что mvc говно и не нужен?
Не нужен, потому что это лишний слой говна. Как то структурировать скрипты надо конечно, но сама суть скриптов в юнити - это написание конкретно игры а не средство городить дополнительные абстракции и фабрики фабрик, а потом перекидываться между ними сендмеседжами.
>Оказывается уже Rider вполне годится для разработки на юнити
sublime text уже вышел из моды?
>Посоны, вопрос дебильный, но гугол выдает какую то хуйню - как получить угол между двумя векторами в диапазоне от 0 до 360 Vector3.Angle дает только 0-180
для этого надо знать какой вектор справа, а какой слева. если from справа, то просто 360 - угол. Так как в 3д право зависит оттуда, откуда смотришь, то тут без inversetransform' не обойтись. Для 2д надо просто сравнить икс
дебажишь логом?
Для того, чтобы такую элементарную хуйню понять не нужно быть крутым прогиром, нужно просто закончить школу.
Юнити позволяет писать игры на шарпе под ведро (да и на ios тоже), на само ведро очень предпочитает джаву, то если я хочу заделать игры на андроид (а иногда и обычные проги), то что у меня должно быть в приоритете: шарп или ява?
для обычной таполки не нужно городить, в больших проектах необходимы и фабрики и абстракции для упрощения своей же жизни как разработчика, тут такое
решаешь что для тебя важнее: приложения - джава, игры - шарп. И задрачиваешь в этом направлении. По сути языки очень похожи и не будет проблем с перекатом туда-сюда
Сейчас создаю около 500-3к игровых объектов со стенами и полом.
Полы имеют
1) Спрайт рендерер.
2) Аниматор.
Стены имеют
1) Спрайт рендерер.
2) Бокс коллайдеры.
Игра 2D топ даун шутан.
Но всё люто начинает лагать. Как бы мне это исправить, помогите плиз?
Собери тайлы вместе, отметь их статическими, собери все коллайдеры в один и так далее. С триллионом объектов всё равно полтора фпс будет.
https://docs.unity3d.com/ScriptReference/PolygonCollider2D.html
ты чо, я ебанусь же руками это делать, выделяя их в полигон коллайдеры!
должен быть какой-то другой выход точно.
Собирай скриптом.
слышал только про метотд "после генерации объединить объекты в один"
Юнити зарелизили свою великую демку adam, призванную показать возможности движка. Только в этой демке нет ничего от юнити, даже для симуляции одежды использовали платный ассет. ЛОЛ!
So the situation is this:
-We have this awesome demo, that’s really has nothing to do with the engine that’s we’re advertising by it.
Or
-IT IS made with unity. But you have to rewrite shaders, lighting, physics, mesh tools – almost everything.
How many times i’ve encountered the developers saying “oh, Unity is a great engine, take a look at ADAM’ and then it turns out they can’t do a tenth of what they saying this wonder-engine capable of.
So – what is the point, if your engine is useless out of the box? Oh, i forgot – the asset store..
This all looks like false advertising. Of course you can do such stuff if you have an army of hi-level programmers, but you sell your stuff to indie devs, who obviously don’t have it.
Сделай пустой гейм обжект, засунь в него свой ромб с нужным поворотом.
Там абсолютно все запилено с нуля. С таким же успехом можно было сделать на уече, да. Демка должна показывать возможности движка, а не программистов.
В юнити нет кнопки zdelat pizdato, хуй знает что ты хочешь чтоб тебе показали.
Ты тупой? Я хочу чтобы в рекламе движка показывали возможности движка. В юнити на данный момент нет возможности сделать графику как в этой демке.
Я понимаю, что ты ньюфаг, но дело в том, что нужно понимать, как делаются демки в юнити. Команда разработчиков к демкам не имеет и малейшего отношения, демки пилит отдельная студия. И да, они очень часто допиливают что-то сами. Это для того и делается, чтобы выявить какие-то острые углы. Вся инфа уходит разработчикам, пожелания и т.д. Для блексмита, допустим, писалось расширение редактора, чтобы траву растить на любых мешах. Надеюсь, это уйдёт в компоненты нового террейн энжина, когда бы его ни запилили. Ну и кроме того, если ты на самом деле будешь делать игру - тебе в любом случае придётся писать что-то поверх движка, все это понимают.
Зачем мне эти оправдания? Эти демки показываются на официальном канале с подписью made with unity.
Если бы они вылаживались на канале vasyan.tv с подписью "ин зис демо есть технолоджи не представленное в движке", то был бы другой разговор.
>>307444
Ммм, ясно. Почему это тогда не демка directx, или видеокарт нвидиа, или visual studio в которой был написан код?
>Эти демки показываются на официальном канале с подписью made with unity.
Потому что они действительно сделаны на юнити. Не понимаю твоего подгорания.
они сделаны с использованием юнити
Спасибо!
Ты какой-то странный. В юнити есть только кубы с цилиндрами, и из них таких моделей как в этой демке ты не соберешь. И в уече тоже, представь себе. То есть невозможно воссоздать эту демку пользуясь только редактором юнити, редактором уеча, края, аллахэнжина, по-моему это должно быть и ежу понятно.
Чтоб никто не догадался.
Ты же понимаешь, что это оправдания фанбоя? С таким же успехом можно взять какой-нибудь лефт фор дед и сказать, мол смотрите, какие охуенные игры вам позволяет делать sdl.
интересно как сделать в этой мешанине эвристику, а то хоть я и сильно сузил список возможных действий хождением задом наперед, но их все равно дохуя для дейкстры.
>>307171
кросс-продукт оси возьми относительно которой меряешь, хуйни же натвориш.
Уважаемый, "Unity 5 From Zero to Proficiency (Advanced)" случаем у вас не найдётся?)
Благодарю.
>А что, инвентарь у тебя не знает, к чему он прикручен?
А, черт меня раздери на куски, опять не так выразился, хотел спросить за слот, скрипт-примерник висит на слоте, и когда туда дропаешь итем, то этот итем добавить нужно в список вещей.
Есть охуительный генератор уровней.Но он на флеше.Есть ли возможность при запуске уровня запустить swf чтоб свф записал координаты обьектов в хмл или ещё куда и потом прочитать их оттуда?
Лист у героя находится, и как на героя линк получать? Искать по тегу на страте или синглтон?
Странно, что скрипт лежит в слоте. Яб любой инвентарь управлял скриптом самого инвентаря, но не каждого его отдельного слота. Слотики любые эвенты бы передавали в текущий инвентарь.
Хм, пожалуй так и сделаю.
слушай, что у тебя за такая сраная проблема? у тебя сам Player чтоли не может сказать инвентарю что он тут клитором командует? он у тебя на другом обьекте или че?
Смотри как заебательски можно захуячить.
Есть герой (не обязательно ведь один, вдруг ты захочешь 5,25,100, N героев, тогда синглтон не канает). К нему прикручен инвентарь, который прихуячен к герою дитятей. Инвентарь может обратиться к нему как к родителю через иерархию. Он хранит в себе массив слотов, где какой предмет лежит (опять же, почему у тебя не инвентарь хранит инфу о предметах, а герой?).
Когда ты хочешь отобразить инвентарь любого героя, инвентарь либо стучит в гуи менеджер (вот в него можно въебенить синглтон твой любимый), чтобы он создал инстанс ОКНА инвентаря, либо, если не предполагается возможность открытия сразу дохуищ окон инвентарей, то пусть просто активируется gameobject общего для всех инвентарей окна (окно одно, просто каждый открывающийся инвентарь будет его апдейтить и прятать при закрытии).
Окно инвентаря просто рисует слоты, регистрирует клики и прочие события, стучит обратно в инвентарь.
Это удобно и няшно! Ты отделил модель и отображение её. К модели инвентаря потом ты спокойно можешь прикручивать другие свистоперделки, не особо беспокоясь за гуй, ведь он лежит отдельно. Также и гуй можешь потом перепиливать много раз, инвентарь не отвалится.
Ага, вроде начинаю понимать, кажется так оно и было примерно, только через жопу.
>опять же, почему у тебя не инвентарь хранит инфу о предметах, а герой?
У меня наверное недопонимание возникло, в моем случае инвентарь по сути есть как кусок UIменеджера, он только и занимается тем что вырисовывает всякое. Данные лежат у героя в компоненте BaseHero, там кол-во слотов, список шмоток, что можно носить. Вот это ты и называешь инвентарем? То для меня инвентарь это как раз вырисовывание окошек. Было примерно так, хуяк итем в слот дропннулся, слот говорит в BaseHero "эй браток, добавь-ка итем в список шмота", а BaseHero такой, "эй инвентарь, а ну создай иконку". У моба и игрока есть BaseHero, а MobInventory И Inventory(существуют в единичном экземпляре) занимаются отображением. Во втором еще и таскать можно. Но возникают вопросы, наверное эти два инвентаря перенести в UIменеджер? Или пусть будут отдельно, а то менеджер может превратиться в непроходимую чащу? В общем обращаться со слота к BaseHero(который есть инвентарь в твоем понимании, и уже моем)со словами что шмотка упала есть верное решение?
Меж тем поковырял компьют шейдоры, DX11++ гпу отпугивают. Проще шейдером генерировать текстуру, а потом скриптом в OnPostRender получать пиксели. Так получится запускать своё говно на говне мамонта, а то и девайсах постарше.
>>307598
полез таки в компют шейдор? молодец какой. клевая же хуйня!
я вот забиваю периодически хуи, но всегда возвращаюсь, потому что альтернативы хуже. недавно вот друганы дали мне BF1, сказали "иди сюда" и я пошел, но через три дня меня от него начало тошнить и в итоге я вернулся к тому что делал.
в крайнем случае если мне надоест одно, то я могу начать делать свой проект с другой стороны. а то от решения одних и тех-же задач и правда мозги киснут.
с пердолингом даже представить сложно сколько времени понадобится.
А теперь вспомни насколько уёбищен action script во флеше. Если на шарпе писать такое три месяца, то на as - тридцать лет. Что не может быть правдой. А значит, на шарпе ты запилишь за пару дней с ноля.
А не проще ли риальне иметь в инвентаре ссылку на героя хотя смутно понял что тебе надо - разве эквип экран не часть инвентаря? Почему? Может сделать его частью и не городить перекрестные ссылки?
Какая то наркоманская схема имхо. Проще чтобы инвентарь занимался и хранением и отображением - пердолинга меньше и сущностей.
Сделол как ты сказал, доволен. Добра.
>на дебагер GOAP уйдет больше сил, времени и кода
Может просто вывода в консоль мало? Рисуй в onGUI дополнительные окна с инфой, мне помогает.
>полез таки в компют шейдор?
Да, но мне не понравилось. Может, взял бы для физона, но тогда отвалится слишком много устройств - не интересно.
да его определенно мало. я разумеется сразу полез в SceneView.onSceneGUIDelegate и стал дорисовывать то что мне нужно в окне сцены, но там действительно надо дебажить все и вся, чтобы понимать происходящее. а чтобы все это удобно наблюдать было то действительно придется написать больше кода чем сам GOAP. удивительно насколько довольно простая имплементация дейкстры с парой хитростей может быть непредсказуемой на процедурном графе. тут никаким юнит-тестированием не оттестируешься, в имплементации бихейвор три было значительно проще с этим.
кстати сегодня юнити меня здорово сконфузило. я хранил факты о мире в структах как ключи для словаря, с сылкой на геймобжект и всё такое. хотел потом дополнять их, а пока для удобства положил в словарь чтобы в качестве значения было последнее время когда эти факты наблюдались, чтобы сортировать их по релевантности. оверрайднул гетхешкод, эквивалетность другому обьекту, чтобы работало быстренько. а когда я стал из мира удалять обьекты поднимая их: стала происходить какая-то белиберда. в итоге понял что юнити меня сконфузило тем что оно делает это говно для удаленных геймобжектов и их компонентов перегружая у них оператор ==. удалил геймобжект, суешся в ссылку к нему, получаешь магическим образом что он равен null, хотя туда его никогда не присваивал. значения в словарике сразу стали вести себя интересно.
>Да, но мне не понравилось. Может, взял бы для физона, но тогда отвалится слишком много устройств - не интересно.
ааа так ли оно надо? в общем-то можно заимплементить и так и так. если платформа не поддерживает, то можно делать так как поддерживает.
Иерархии для пидорасов, желающих самоутвердиться смищными картинками, посмотри зарплаты тех или иных разрабов и успокойся.
Что посоветуете?
Нарисуй свою картинку, где C# соответствует баллистическая ракета и обоссывай в интернете всех, кто что-нибудь против кукарекнет. Картинка ему спать не даёт, охуеть.
Двачую, как узнаешь, пока не попробуешь. Если ты не даёшь какого-нибудь результата (код, картинки, план работы, набросок механики или сюжета своими словами, неважно), а сидишь в прострации и чего-то раздумываешь - ты тупо стоишь на месте. Лучше сделать хуйню и выкинуть, переделать и ещё раз выкинуть, чем вообще ничего не делать.
Есть способы ограничить дирекшнл лайт кроме как по слоям?
В идеале хотелось бы ограничить по определенному объему, именно ограничить а не навставлять куки, т.к. тратиться ресурсы на обработку все-равно будут.
В крайнем случае подойдет что-то типа слоев, но не сами слои - их просто не хватит.
В очередной раз, благодарствую за проявленное внимание.
Имитация света через прожектор не подходит по ряду причин. Так-же не подходит спот-лайт и ареа-лайт.
Ты не понимаешь, что такое корутины. Ты не понимаешь, какого хуя ты вообще делаешь.
страшно представить чего ты хочешь достигнуть. поделись охуенной идеей.
>>307972
проверять на столкновении с чем столкнулся?
>>307990
я бы написал элементарную машину с стейтами из энама, чтобы твоя хуйня знала что делать в нужный момент. а по завершению работы корутины просто переключал флаг, чтобы продвинутся с следующему стейту.
что-то вроде такого.
впрочем по моему ты переусложняешь процесс.
>мне нужно выполнить карутину в внутри карутины
yield return StartCoroutine ( другая корутина ());
поставит на паузу текущую корутину и запустит новую
Это не оффтоп, это мягкий намёк на то, что ты ебанутый, а архитектура с тремя вложенными корутинами - говно. Тем более подобное использование корутин - повод почитать справку по корутинам ещё разок-другой. Код с пика, кстати, вообще не соберётся в юнити.
Стейт машина, как писал анон выше - более адекватный вариант.
хотя, лол, если подумать, то flag = false надо писать до включения корутины, а то вдруг она его сразу и переключит.
Потому ты дурачек который думает что псевдо код на пике и есть код и даже критикуешь его архитектуру, не обижайся
>проверять на столкновении с чем столкнулся?
Это мне и нужно! Но как задетектить столкновение?
собственно, использовать мессенджи коллайдера на нужный тебе случай.
тыж документацию то открой.
https://docs.unity3d.com/ScriptReference/Collider.html
прокрути на Messages и увидишь что там есть просто охуительные вещи, вроде OnCollisionEnter, или OnCollisionExit, или даже OnTriggerEnter. которые вызываются в очевидных ситуациях и туда попадает вся-вся информация о коллизии с чем-то.
а если у тебя персонаж с чарактер контролером то смотри
https://docs.unity3d.com/ScriptReference/CharacterController.html
в документации не только если прокрутить вниз есть вся та-же хуйня, но ещё и OnControllerColliderHit
но если серьёзно, то что за охуительные вопросы. "Как запретить гг двигаться на кубы?" как? сделать их статичными, например? чтобы хуяк куб лежит, его никуда не сдвинуть. или у тебя там какой-то особый случай когда например что-то кубы двигает, а игрок двигать их не может?
Я подгружаю на сцену разные маленькие уровни, и мне нужно чтобы на них было разное "глобльное" освещение. Лучшая имитация солнечного света - всетаки дирекшнл лайт, но тогда они складываются с разных уровней очевидно. Тратить драгоценные слои на это считаю расточительным.
даже не знаю что за подозрительные махинации ты делаешь. мне кажется ты хочешь переключение лайтмап, а не всего освещения. лучше на саму проблему укажи, а лучше скриншотиком. у меня никаких идей чего ты пытаешься достигнуть.
Глубоко копаешь.
Задача - сделать так, чтобы источник направленного света освещал только объекты в определенном объеме (каждый источник может иметь свой объем), и карты теней для него тоже считались только в пределах этого объема.
Судя по тому что я знаю - встроенных средств для этого не существует. Можно сделать имитацию через куки, но она будет тормозная и я ожидаю к тому же увидеть артефакты при наложении большого количества источников. Использование слоев для достижения этого эффекта не годится.
Зная принципиально как работает движек, думаю - это не так уж сложно делается. К сожалению, одного этого знания недостаточно.
хуй знает даже что ты делаешь. я не понимаю ключевых отличий желаемого эффекта от спотлайта, кроме того что он конусом. но это. ты покопай в сторону комманд буффера, например. https://docs.unity3d.com/Manual/GraphicsCommandBuffers.html он довольно могущественный.
>сделать их статичными, например? чтобы хуяк куб лежит, его никуда не сдвинуть
Так он и не двигается. Герой сквозь него проходит.
Не работает. Вот добавил метод onCollisionEnter(Collision collision) и ничего при пересечении не происходит.
на объектах повешен компонент rigidbody и collider?
возможно не работает потому что на объекте с которым происходит коллизия не висит коллайдер поставленный в IsTrigger
а хуй знает что там у тебя. может коллайдеры забыл, может ещё чего.
на тебе экзампл. можно передвигаться капсулкой, рулить. красные кубы двигать нельзя, зеленые нельзя двигать, но если зажать пробел и подойти то можно их пинать. ещё на сцене будут рисоваться линии на месте столкновений. http://rgho.st/6mqDZDFbn
Есть спрайт размером 100х100, и смартфон с экраном 1920х1080. Но в телефоне спрайт изменил размер до 108 пикселей. Как избежать скейла?
Окей, спасибо.
Почему спрайт меняется в размерах неправильно? В юнити какой-то ебанутый скейл. Как правильно настроить проект, что бы спрайты отображались в истинном размере? Потому что при скейле спрайты портятся. Например тут, что за 2 красные точки в углу спрайта? Пиздец.
Уже и сглаживание отключил в настройках проекта, и всякое говно типа Perfect Pixel накатил, все равно спрайты портятся.
Выставлял, не помогает. Еще пробовал создавать материал sprite-defauel и применять его к спрайту-ничего не менялось.
Выложи скрин с выделенным объектом спрайта.
А если кирилл мечтает о том что срубит пару долларов на пивас с индигого, то авторское право никак нарушать нельзя?
Алсо, сколько времени уходит на то чтоб нарисовать одну иконку из пикрелейтеда?
Может кто знает. Можно ли как нить выполнять в редакторе скрипты?
То есть допустим хочу Все поле кубиками заставить 10x10. можно ли делать это не ручками, а как то скриптом?
/как вариант конечно можно
написать в коде чтобы все заставить
Запустить сцену
Потом все скопировать
Вырубить сцену
Вставить/
Поцаны,а насколько вообще шустрый юнити?Смогу ли я реализовать город с 1к нпц, с поиском пути для каждого,можно даже в лоуполи?
Ты понимаешь, что ты поехавший?
++ же по идее на енум должен работать.
Паттерн "состояние" или стейт-машины посмотри.
лол ну можно конечно и похитрей сделать если не хочешь инт, то можно сразу на индексы переидти. хотя чувствую грохот и кажется это костыли.
Так эти пидорасы не сделали встроенную фичу которая все делала бы сама, типа engineState.next? Ок, становлюсь пока на вермишелине, тут совсем простенькое. Спасибо.
ноуп. во всяком случае я такое не знаю.
вообще енум же в итоге это int с клевым названием, собраным в тип и имеющим константные имена. их самих не очень то следует использовать для хранения значений. если бы я захотел использовать енум, то использовал бы не индекс энума, как значение, а использовал энум как указатель индекса в другой коллекции. и имел бы не лист с всеми значениями из enum, а имел лист с нужными мне значениями, которые я бы получал обратившись на индекс enum. потому что тот подход выше решает проблему последовательного хождения по значениями enum, но чтобы указывать значение для curStateIndex то придется обращаться к проперти curState и писать там set curState = states.IndexOf value. что так себе. такой подход более адекватен по моему.
Анончик, научи плес, как ты выводишь имена геймобжектов в редакторе на экран?
легко. ткни нужную опцию ткнув на голубой куб
У него может случиться SendMessage от этого.
например можно шейдором отрезать по маске значение, а саму маску сделать в форме нужной тебе анимации. например вот так http://rgho.st/7KFn9HPFt запусти сцену и посмотри что будет.
собрал на коленке за 15 минут. впрочем в шейдорах я все равно понимаю почти ничего, так что наверняка говна подсунул.
>говна подсунул
this, ибо в компоненте ui Image все эти маски для кд уже есть, переключаешь на sliced или на что то подобное и готово.
а хуй знает где оно. я такое не знаю. покажи. я знаю что есть компонент Mask, но он всё отрезает, что надо и не надо.
лол и правда. а я и не знал что можно крутить туда-сюда. заебись сделали.
У компонента Mesh есть Vector3 vertices - ну это ясно почему, позиции вершин и все такое. А еще есть int triangles - и это мне неясно. Какого хуя инт? Нахуя это вообще? Как исходя из заполнения массива юнити понимает какие вертиксы куда объединяются? Вроде почитал в гугле, но там чот нихуя такое не объясняется.
Вот пример юнити доков :
>код блять
mesh.vertices = new Vector3[] {new Vector3(0, 0, 0), new Vector3(0, 1, 0), new Vector3(1, 1, 0)};
mesh.uv = new Vector2[] {new Vector2(0, 0), new Vector2(0, 1), new Vector2(1, 1)};
mesh.triangles = new int[] {0, 1, 2};
>дальше код нахуй
И что с того, что в трианглес записано 0, 1,2? Что будет, если записать 1, 2, 3 вместо этого? А если 1, 4, 88?
Поясните плес.
это индекесы вертекса. значит что для построения треугольника будет использовано то что на 0, 1, 2 индексе mesh.vertices и в этой последовательности.
что?
А lookat по двум осям тебя чем не устраивает(можно и смуз лерпом присобачить же)
имеешь в виду руку крутить не IK а просто кость покручивать? не. IK ещё красиво локоть крутит при повороте руки. делать такие костыли поверх того что и так нормально работает не стоит.
крутить объект в руке тоже плохой план.
крутить руку оружием тоже не кажется чем-то хорошим, персонаж же не только в прицелившемся состоянии будет и переключение между ними тогда потребует больше усилий чем просто смена анимации.
анимацию делай.
никакого "оффсета ротации" не существует. видимо ты имеешь ввиду положение кости без вращения. Это зависит только от того, как скелет настроен в редакторе
разумеется я не буду делать никакой анимации. особенно если уже всё что мне надо бесплатным лежит.
нет я имею в виду положение кости после применения IK. скриншот видишь? розовеньким это целевая ротация для IK. которая имеет мало общего с ротацией кости самой руки. очевидно что эту разницу скорей всего задает настройка аватара, но трахаться с каждым аватаром разумеется тоже нахуй. очевидное решение - применять к целевой для IK ротации ещё и оффсет. но очевидного метода узнать этот оффсет я не вижу, что и рождает мой вопрос.
>розовеньким это целевая ротация для IK. которая имеет мало общего с ротацией кости самой руки
очевидно ты что-то неправильно сделал
>разумеется я не буду делать никакой анимации. особенно если уже всё что мне надо бесплатным лежит.
каждую анимацию будешь хардкодить? удачи.
всё что я сделал в соседнем скриншоте. ну кроме того что куб голубеньким рисует свой transform.forward. я вот не вижу того что я сделал неправильно. а ты видишь?
>>308721
зачем каждую анимацию хардкодить, наркоман? у меня уже есть IK который крутит руку сразу в нужную мне ротацию красиво. независимо от анимации рука будет повернута как я скажу и будет где я скажу. вот только то куда IK вертит руку это не совсем то что я от него ожидаю.
О там какая функция что дает и как крутить объекты.
Пока что сижу transform.rotation = ... использую, бошка ломается каждый раз на бумаге по пол часа решать уравнения тригонометрические, я уверен есть что-то готовое и простое.
Нет.
я таких не знаю. в официальных документах есть полезная страничка https://docs.unity3d.com/Manual/VectorCookbook.html на эту тему. ещё можешь взять полезную хуйню с вики http://wiki.unity3d.com/index.php/3d_Math_functions которой я регулярно пользуюсь.
почти все нужные решения находятся в неймспейсе Quaternion, или Vector3, а все нужные значения как правило дает трансформ.
ну и можно ещё похитрить с матрицами трансформации при желании. например чтобы узнать где находится нужная точка при такой ротации и такой дистанции. например то как у меня графически отображается лимит угла прицеливания. решение с синусами, косинусами, радианами было бы намного менее читабельно.
>а ты видишь?
конечно. ты зачем-то используешь значения кости для вращения
>зачем каждую анимацию хардкодить, наркоман?
IK максимум годится чтобы смещать руки относительно заранее сделанной анимации. Если ты фантазируешь делать анимации для оружия только на одном IK, то у тебя ничего не получится.
то есть предлагаешь вращать обьект в руке и IK давать ротацию обьекта.
да, я знаю что это очевидное решение, я думал над ним. но у него минусы есть. такие как если я никуда не буду целится им, то мне придется возвращать этот объект в какую-то дефолтовую ротацию для объекта в руке и процесс переключения между прицелившимся и не прицелившимся разумеется будет довольно стремным. ну и ещё пару потенциальных проблем разумеется это родит.
гораздо проще просто взять пивот заперенченый к кости руки и повернуть его в сторону примерно как у инверсивной кинематики. или прибавлять к целевой ротации эту разницу.
и не гуглится ничего интересного по этому вопросу.
>>308743
>конечно. ты зачем-то используешь значения кости для вращения
лол ну в этом случае ты плохой чтец. потому что значение ротации для IK это просто вектор от плеча к цели, повернутый так чтобы не держать куб как ганкстер.
>IK максимум годится чтобы смещать руки относительно заранее сделанной анимации. Если ты фантазируешь делать анимации для оружия только на одном IK, то у тебя ничего не получится.
тоесть примерно то как я делаю. воткнул спизженную анимацию "целится с винтовки", "целится с пестика" и прочее и желаю делать небольшие корректировки этих анимаций по своему вкусу через инверсивную кинематику, включая прицеливания. разумеется нет ничего очевидней чем заперентить объект в руке к самой руке, чтобы его держать.
Переход в дефолтный ротейшн производится параллельно с проигрвыанием n-ной анимации перехода в дефолтное положение. Почему бы и нет. Я так с ходьбой и переходами в положение лежа-сидя для животных делал. В любом случае аниматор надо юзать очень усиленно и блендить эту фигню всю. На одном айкее не уедешь далеко
йеп, на одном IK разумеется не уедешь, но это та часть где если выкинуть подобную лишнюю ось то количество потенциальных проблем только уменьшится. а никаких бонусов, кроме как решение только этой задачи, которую можно решить и другими методами, я от неё не вижу. подобные лишние переменные как всегда в итоге будут только костылями, которые будут мешать.
если уж брать костыли, то хотя-бы такие на которые не придется весь остальной код упирать.
воспользовался тем что у аниматора есть клевая фича с Update.
SomeClass a = b.GetComponent<SomeClass>();
if (!a) {
a = b.AddComponent<SomeClass>();
}
На дженерик однострочный вызов (да я понимаю что можно и самому написать, но все же если видели где т, то скиньте плз)
я не видел, но э. на.
public static class MyExtensions {
public static T GetMyShit<T>(this GameObject go) where T : Component {
T result = go.GetComponent<T>();
if (result == null)
result = go.AddComponent<T>();
return result;
}
}
хмм, внотуре
Что-нибудь, чтобы понять, что меня не наёбывают. Для маааленькой галочки - уровень технического пиздеца в одной из индиподелок недавнего времени. Нас наёбывают, для нормпродакта нужны топовые специалисты и куча бабла. Исключений не было нет и не будет. Матрицы Байесса. Спектральный шум по каналу на основе синего. Ну норм, чё. Нахуй мне вообще это говно, если я могу такие вещи делать, нахуй мне какой-то движок?????
http://www.gdcvault.com/play/1023002/Low-Complexity-High-Fidelity-INSIDE
что за хуйню ты несешь. где пиздец? показали хорошее, интересное. а нахуй тебе движок? ну так гвозди легче забивать микроскопом, чем голыми руками.
Пиздец в плане уровня знаний. Тут весь раздел вместе если соберется, не сможет даже по мануалам такое сделать.
я пиздеца не вижу. всё что было показано отталкивалось от желаемого результата, а то что нужно было сделать для его получения подсказывала сама задача. я её бы решал дольше просто потому что не имею опыта в скрин спейс шейдорах, например. и не знаю как сказать глупой машине что я от неё хочу.
но хули, я вот например смог сделать многоуровневый навмеш с укрытиями, прыжками и чтобы он мог делаться в рантайме. и приступая к задаче я не имел представления как же его делать.
проблема в том, что volumetric light и т.д. эффекты должны настраиваться в движке одним кликом, а не ебстись самому с шейдорами.
но нет, зачем надо делать движок. давайте лучше сделаем сайт для юнити-фриланса, запилим очень нужный визуальный редактор ассет бандлов, сделаем редактор который собирает из текстур спрайшит и еще очень много бесполезного говна. Все это конечно зарезилим через 10 лет, как 2д тулзы допилим, которые мы обещали 3 года назад.
>я вот например смог сделать многоуровневый навмеш с укрытиями, прыжками и чтобы он мог делаться в рантайме
ты его уже 5 лет делаешь лол.
на самом деле юнитеки дают и шейдоры и волуметрик лайт и много всякой хуйни там сям везде через собственный сайт в собственных бесплатных ассетах, например. и другим дают давать свое бесплатное говно. не то что бы это уж так сильно увеличивало количество кликов.
просто помимо этого дают и возможность сделать всё самим так как этого хочется. тут вот по своему захотели и молодцы.
да и хули, пилят же клевые фичи вон. мне например в бете новые линии, партиклы и прочее очень нравятся.
>>308909
да не особо. начал тем летом, закончил в конце этого лета. при этом много прокрастинировал и отвлекался на иные задачи. сейчас разве что не допилил пару важных фич, например сериализацию навмеша, но ну нахуй. уже тошнит от наблюдения статичной картинки и пердолинга в собственном болоте, сделаю недостающее по мере надобности. надо сначала проверить работоспособность этой хуйни на более реальных задачах.
лучше вот с АИ покручусь и чтобы он сам туда-сюда покрутился. на сегодня вот задача перелопатить процесс остановки контролера, чтобы он мог останавливаться на какой-то дистанции от нужной позиции, чтобы подбирать предмет. контролер уже похож на какое-то мусорное ведро с кучей переменных.
А вот этот первый адекват в разделе за последние 4 года. Просто как бох описал всё как есть.
> дают и возможность сделать всё самим
Точно уверен? Знаешь, как это делается у нормальных людей хоть?
К бесплатной лицензии как-то можно систему контроля версий прикрутить? Если нет, то как быть, какой софт использовать для организации своего труда? Сейчас всё проектирование ведётся на бумажках, результат соответствующий.
Ты ошибся, это обычный петушок каких в гд пруд пруди. Чтоб он перестал срать в треде юнитеки должны запилить кнопку "сделать пиздато", только тогда у сажепидора получится сделать игру, а пока он будет с видом умного школьника рассказывать по какие то 2д тулзы, без которых ему, понимаете ли, жизни нет. Плохому танцору яйца мешают.
>как делают движок нормальные разработчки
>добавляют новые функции, улучшают графику, облегчают использование
>как делают движок by unity
>ну и что у нас ничего нет, зато мы дали вам asset store и фриланс-сайт: покупайте, заказывайте что хотите. Видите, мы даем вам возможность сделать что угодно на нашем чудо-движке.
да не. понимаю же я немного всякие сюрфес шейдоры. вот например меня хватило на простенький вертексный шейдор. я имею некоторое представление о том что там рассказывают в картинках.
>>308935
что мы определяем как рамки нормы?
>>308945
гитхаб и всё такое? юнити ещё вон https://unity3d.com/ru/services/cloud-build дает, тоже клевый.
Разрабам юнити невыгодно делать хороший движок. Если сразу сделать хороший двиг, то и ассет стор не будет нужен, а как иначе выкачивать деньги с лохов, играющих в разработчиков игр?
Некоторое представление? О каждом типе из икснормала сможешь рассказать без гугла? Имплементировать сможешь программно в тот же юнити? Это тебе так кажется, что ты имеешь представление, сядь и попробуй - свернешься калачиком на кроватке, закроешься одеялком и начнешь хныкать беззвучно.
Мдя. Ты ведь шутитшь? Я б у тя в реале хату бы отжал за 100 минут, если ты реально такой лошок.
>О каждом типе из икснормала сможешь рассказать без гугла?
какого икснормала. он же там какая-то хуйня для того чтобы нормали делать.
>Имплементировать сможешь программно в тот же юнити?
наверно? для начала я должен понимать задачу.
>какая-то хуйня для того чтобы нормали делать
Ну и нахуй такие деволоперы нужны, скажи? Я тебя не унизить хочу, ты не подумай, но вот блядь вы чем занимаетесь тут всем разделом, мне интересно?
я вот делаю то что желаю видеть. я желаю видеть игру своей мечты. предположу что все остальные тоже.
но ты просвети что же такое икснормал на самом то деле, вдруг упускаем что-то интересное. мне вот карты с нормалями ненужны.
Все сплотились единым фронтом, во всеобщем порыве, чтобы тебя удивить высокотехнологическими фокусами и разными твикерными чудесами.
Кстати, ты, блять, кто такой вообще?
где поискать 3д модели для пакетов моделирования, с детализированными морщинами
надо, чтобы морщины детализированы были, и чтобы была возможность добраться до самой модели
Похоже на правду. Наверняка ассет стор их основной источник дохода.
https://blogs.unity3d.com/ru/2016/11/07/unity-connect-open-beta-join-the-first-talent-marketplace-dedicated-to-unity-creators/
Это что-то типа фриланс-биржи для гейдевелоперов. Интересная штука. Если вдруг нужен будет шойдер или какой-то скрипт, можно будет заказать быстренько. Или если нужна будет моделька/арт.
>шёл 2017 год
>в юнити до сих пор нет нормального персонажа для прототипирования
У меня тоже такое говно бывает. Какие-то множители из формулы уходят, а кавычки остаются.
Где ты нашел такое странное решение? Были варианты (float)damage или damage / 100f, но ты решил написать хуйню.
>Где ты нашел такое странное решение
В своей больной голове.
Так значит разницы между (float)damage и Convert особо никакой нет, так что лучше использовать (float)damage ибо удобнее? Алсо да, вот в коде 100 вместо 100f, что в таком случае происходит? 100 автоматом в флоат конвертируется?
Если одна из переменных в операции float то результат будет float. int / float = float, float / int = float, 100f это float, 100 это int, 100.0 это double, 100.0f это float.
Спасибо, держи добро.
В общем, есть один объект, цилиндр, он движется в пространстве.
Нужно каждый кадр ориентировать его дном на точку (0,0,0).
Как я только не ебялся со всеми эти transform - не получаетсо.
Помоги, аноним.
сделай пустой геймобжект, присоедини к нему цилиндр, так чтобы его дно торчало в сторону голубой стрелочки и скажи тому объекту к которому ты присоединил цилиндр
void Update () {
transform.LookAt(Vector3.zero);
}
LookAt поворачивает выбранный трансформ в нужном направлении передней частью вперед, но так как передняя часть это нижняя часть теперь то будет нужный тебе поворот.
ну или можно присвоить трансформу нужную ротацию. например
void Update () {
transform.rotation = Quaternion.LookRotation(Vector3.zero - transform.position, Vector3.up) * Quaternion.Euler(-90,0,0);
}
но ты что-то совсем валенок. документацию почитай внимательней.
>>309228
О, спасибо, анончик. Лишнее доказательство тому что если не получается надо подумать или вообще отвлечься а не перебирать разную хуйню часами.
>>309228
>валенок
Но у меня процедурная генерация меша и его редактирование на лету, а я всего неделю в юнити
Ну-ну. Как наебут, прибегай сюды ныть.
Можешь. В стиме продавать, обосрался с этого наивного.
Вот у меня есть ЮИ панель с кучей кнопок. Как передавать между ними сообщения типа ОнКлик я разобрался.
Теперь мне нужно передать сообщение ОнКлик 3д объекту, который играет роль корневого, там вся физика просчитывается.
Делаю также как с кнопками а мои функции в списке отсутствуют (паблик, ессно, и оба наследуют МохоБихейвор) - пикрил.
Вопрос - как мне передать сообщение от кнопки тому 3д объекту?
Видимо, в 3д объекте нужно создать ссылки на все кнопки, потом установить листенеры для каждой кнопки...
Ок, я подключился к панели с кнопками по тегу gameControllerObject = GameObject.FindWithTag("UIobject");
Как мне теперь получить список кнопок и прочей лабудени в этой панели? Что бы добавить кнопкам листенеры и вообще управлять ими.. Гуггле пишет что через transform.FindChild( "child name" );
Но трансформ то мне нафик не нужен, мне сам объект нужен а не его трансформ.
О, разобрался вроде.
Можно вообще с тегами не ебаться а делать так.
Button btnDig = GameObject.Find("btnDig").GetComponent<Button>();
Хотя это все равно изврат - искать объекты по имени.
Нихуя не понял что тебе нужно, но вообще
>Но трансформ то мне нафик не нужен, мне сам объект нужен а не его трансформ
Доступ к объекту можно получить через трансформ, transform.gameObject, или к компоненту: transform.GetComponent<...>()
>Доступ к объекту можно получить через трансформ, transform.gameObject, или к компоненту
Спасибо, пригодится
Но почему нету простого GetAllMyFuckingChilds()...
>почему нету простого GetAllMyFuckingChilds()
Скорее всего, потому что есть. Ртфм, блядь.
https://docs.unity3d.com/ScriptReference/Component.GetComponentsInChildren.html
https://docs.unity3d.com/ScriptReference/Transform.GetChild.html
1)Создать ГО, к нему чайлдами лепить 2 контроллера, к этому гей(м)обжекту прицепить скрипт включения одного и выключения другого контроллера, при этом автоматом присваивая включенному контроллеру позицию,ротацию выключенного (ну,чтоб не было такой хуйни, что один контроллер тут, а другой воооон там).
2)Прилепить к tps controllerу вторую камеру, и менять depth (или как оно там?), типа как true fps
Так вот, какой вариант лучше, менее геморен, ибо не хочу потом соснуть хуйца. Или расскажите мне другой вариант.
Иначе бы и не спрашивал. Логично ведь.
А даже если бы и писал бы свой - хуй его знает, как это все в него впилить. Может ты поделишься, как бы ты запилил?
Это не ошибки, а предупреждения. что некоторые вещи в скриптах устарели. Они могут юзаться спокойно, но иногда бывает, что выдает ошибки при работе, так что поставил скрипт - проверь его.
Для паузы можно сделать переменную pause
void Update(){
if(pause) return;
...
}
для обсчета раз в секунду можно запилить корутину
void Start(){
StrartCoroutine(RazVSekundu());
}
IEnumerator RazVSekundu(){
WaitForSeconds delay = new WaitForSeconds(1);
for(;;){
yield return delay;
if(pause) continue;
GrabPussy();
}
}
Пиздец просто. Решил научиться в этом хуюнти что-то сделать а тут тебе C# который вообще не знаю блять. Просто решил найти уроки по этому юнити и нашел на хабре какую-то статью по созданию 2d платформера. Все сделал как он сказал скачал его скрипт а он блять такие ошибки выдает. Теперь вообще не знаю с чего начать вообще.
>Пиздец просто. Решил научиться ездить а тут тебе рычаги, педали, какие то кнопки и кольцеобразная параша по середине, которую вообще не знаю блять. Просто решил найти видосы и нашел в ютубе какой-то видос по вождению. Делаю все как он сказал, а оно блядь какие-то звуки издает. Теперь вообще не знаю с чего начать вообще.
>Теперь вообще не знаю с чего начать вообще.
Иди учи C#, потом обучающий туториал с сайта юнити, иначе ничего не выйдет
Ясен хуй, ты же небось еще по 4ке смотришь туторы. Это как в новый штеуд 8 ядер 32 гига пихать планку ддр1
Ну бля, Анон, не будь мудаком, ну помоги
С машиной легче :)
>>309362
Хорошо! Спасибо.
>>309364
Сколько пересмотрел серавно не понял. Тупо пишут код не обьясняя что и за что отвечает. Так что буду учить C# .
Ну я учил js по туторам на сайте юнити. За 2 недели начал быдлокодить. А так - на понимаешь - гугли часть кода по их скриптинг апи.
Это в каком году?
Но когда я отвожу камеру что бы видеть весь объект (где то тысяч 5-10 в местных 3д еденицах) - в местах соприкосновения появляются такие противные острые артефакты (пик 2)
Вопрос - как эта хуйня называется и как с ней бороться?
Связано ли это с погрешностью вычисления типа float?
Есть ли смысл масштабировать всю сцену в 1000 раз, например, что бы было меньше погрешности?
С расчетом нормалей это связано быть не может случаем?
https://en.wikipedia.org/wiki/Z-fighting
Там все так расписано, что и добавить нечего. Разве что из языков только английский и сербский. От себя добавлю, что тебе проще будет либо физически разнести полигоны(скажем, увеличив углы склонов), либо запретить так удалять камеру. Ибо в этом вашем Юнити у тебя едва ли есть контроль над точностью буфера.
>где то тысяч 5-10 в местных 3д еденицах
Ну а хуле ты хотел. Вселенную ты в масштабе 1 к 1 не сделаешь при всем желании.
>>309423
>>309424
Спасибо, анончики!
>>309424
>Ну а хуле ты хотел.Вселенную ты в масштабе 1 к 1 не сделаешь при всем желании
Я сначала сделал планету радиусом 6 000 000 единиц - артефакты вообще всю картинку съели.
Сейчас планета - 6000 единиц.
И потом, у меня в физоне (не в рендере) при вычислении высот тоже появляется ошибка округления - где то 0.004 на число типа 6300. (Что наверно логично, т.к. у float где то 7-8 знаков после запятой)
Думаешь, поможет еще в 1000 раз уменьшить масштаб?
>>309423
Погоди, расскажи подробнее, я же нуб в 3д графике. Порядок отрисовки полигонов вроде как в меше задается? Где я тебя не понял?
https://docs.unity3d.com/Manual/SL-CullAndDepth.html
>Offset
>This allows you to force one polygon to be drawn on top of another although they are actually in the same position
А вообще сцена у тебя слишком большая, тебе нужно подумать, какие хаки и костыли здесь могут подойти, потому что физон так и будет тебя ебать. Попробуй совместить центр сцены с центром меша планеты, это даст тебе немного пространства, т.к буфер считается и в отрицательную сторону тоже.
>
>>Offset
Спасибо. Вообще, мне нужно оба полигона отрисовать и получить на их пересечении няшную береговую линию. Может быть, если синие полигоны воды с помощью Offset рисовать поверх земли то будет лучше.
>>309452
>А вообще сцена у тебя слишком большая, тебе нужно подумать, какие хаки и костыли здесь могут подойти, потому что физон так и будет тебя еба
Попробую масштаб в 1000 уменьшить
>>309452
>Попробуй совместить центр сцены с центром меша планеты, это даст тебе немного пространства, т.к буфер считается и в отрицательную сторону тоже.
А это и так есть - центр мешей в (0, 0, 0). Хотя в будущем, возможно, планета будет двигаться по орбите для корректного расчета нагрева поверхности от солнца. Впрочем, можно будет изъебнуться и вращать солнце вокруг планеты ...
Гугли как в ксп зделоли, лекция где-то на ютубе лежит. Один хуй ты больше солнечной системы не сделаешь таким способом без потерь точности.
таймер обнуляй, а не 1 отнимай, там же мусор остаётся. Не критично, но лучше делать сразу нормально, чем потом часами в случае какой хуйни искать причину.
Ну да, выбора то нет. Перейти с float на double не возможно, как я понимаю (в рендере).
Я тут почитал про погрешность вычислений в float - этож пиздец какой, чуть что поделишь да вычтешь - и получается погрешность в 0.004 на число 6000, примерно.
Че делать то? Может мне расчет физики (не рендера) перевести в double? Так там та же петрушка вроде, запятая то плавает. Может вообще по хардкору в целочисленный тип перевести физон? Делить с остатком, остаток не проебывать?
Буду костыльничать.
Лучше всего сохранять ссылку на них в коллекцию во время инстанциирования. Обходить дерево объектов и сравнивать строки это неоптимальное дрочево.
Зачем тебе такой гигантский масштаб? Какой самый маленький размер движущегося объекта на планете по отношению к радиусу планеты? От него и пляши.
>Какой самый маленький размер движущегося объекта на планете по отношению к радиусу планеты?
Молекула
>>309261
>Но у меня процедурная генерация меша и его редактирование на лету, а я всего неделю в юнити
не ну молодец конечно. вот красивые слова сказал, а ты покажи что ты там делаешь то такое.
>>309557
>Молекула
человек-молекула
>Зачем тебе такой гигантский масштаб?
Я хотел считать в километрах и рисовать сцену из расчета 1 float = 1 километр.
Тащемта, как я понял, ошибка накапливается не из-за масштаба а из-за интервала. например, если считать высоту в числах от 0..6000 float, то точность вычисления уровня 9999.999, т.е. цифры после третьего места после запятой уже ничего не значат.
А если считать в высоту в числах -99..99 километров то максимальная точность будет 99.99999, т.е. точность на 2 порядка выше.
Но, все равно погрешность накапливается. Кароч, мне надо научится незначащие цифры после запятой в null отправлять и будет збсь.
>>309552
>Какой самый маленький размер движущегося объекта на планете по отношению к радиусу планеты? От него и пляши.
Там вообще никто не движется (и не будет), зато есть расчет перетекания воды с накоплением ошибок (что плохо).
>цифры после третьего места после запятой уже ничего не значат.
Как и твоя жизнь и нелепые попытки сделать что-то полезное.
>Рассчет перетекания воды
>Не может сделать нормальную систему координат
Что ж ты там нарассчитывал то?
Внезапно, я, и можно сказать что НФ по сюжету.
Но я только начал и вообще кирил. И не факт что смогу продать или хотя бы не дропну (хотя писечка уже получается местами).
Текстурки и пара моделек может и пригодились бы, да я наверно в ассет сторе найду какую нибудь размытую хуйню. Да и как я с живым человеком буду взаимодействовать то? Хочешь, фейк-адрес дай, может напишу через неделю или раньше\позже. ДА и тебе не понравится, у меня не стрелялка.
Симулятор вселенной. С термодинамикой и всей лабудой. Да там и нечего моделировать, несколько текстур да пару моделек. Генерируется жи почти все. Или не нужно.
Нит, в SE процедурное говно а у меня все норм рассчитываться будет на лету
Кароч, победил я ошибки с рассчетами в float.
Промежуточные результаты оставляю как есть - с незначищими цифрами, а перед записью конечных данных округляю с помощью
public static float safeRound(float income)
{
return Mathf.Round(income * Application.calculationPricise) / Application.calculationPricise;
}
Где calculationPricise - 100 00f
, т.е. до 4х знаков запятой (до дециметра, лол, ибо мерю все еще в километрах)
Норм решение с точки зрения погрешности\производительности?
Можно выключить их генерацию просто. Они нужны только для дебага.
Их можно удалить (серьезно)
Ябучий юнити. Через нескольких запусков-перезапусков может внезапно заявить при билде проекта, что что-то там нужно куда-то залогиниться (хотя залогинен). И, главное, всё нормально билдит, но заебывает видить эту ошибку при каждом запуске, а чтобы она исчезла, нужно с нуля проект начинать и импортировать, лол.
Это норма?
Оказалось, что проблема в terrain + auto baked lightning, а я на физику грешил.
https://issuetracker.unity3d.com/issues/stuck-at-clustering-jobs-when-baking-lightmaps
Эти "разработчики" уже пятую игру доделывают, пока ты там целую неделю бампмаппинг к своим кубам на опенгл прикрутить пытаешься
Лел.
Можно. Скриптом, если тебе это нужно в редакторе то пишешь скрипт для редактора.
Скажу так - нет, нельзя. В любом 3Д редакторе проще это сделать процедурно - выглядит ворклфлоу так - подготавливаешь элементы, прописываешь расстояние, рисуешь линию. Вуаля, линия заполнена согласно твоим параметрам. В анриле нет "той самой" параметризации, он как раз рассчитан на "ручное", художественное композиционирование.
Оговорился, да.
1. Отказаться от бредовой идеи делать каждый гекс объектом.
2. Просто без задней мысли берёшь и делаешь.
А просто взять и сделать религия не позволяет? Или ты всё ещё ищешь кнопку "Zdelat Pyzdato"?
Просто гекс-объект тормозит, я пробовал. Точнее, там можно изъебнуться, чтобы меньше тормозило из-за батчинга. Я как-то даже код вкидывал в тред со скринами. Так что лучше собирать всё поле в один объект.
Во первых, ты хуй. Во вторых, нихуя не тормозит. В третьих я твою мать трахал тащемта, ньюфаг ебаный.
Ну ты и пидор ебаный. Сорян.
Во-первых, лицо твоё выебано, а мамка обоссана.
Дохуя объектов нельзя делать, потому что нельзя делать никогда.
>Дохуя объектов нельзя делать, потому что нельзя делать никогда
Там анон из OpneGL треда миллион кубов по аттрактору Лоренца крутил. И ничего
Очевидный пререндер.
у вас есть идеи как реализовать что то типа джэнэрик listview для юайки?
или может видели где
За коллайдером проверь.
Жать V на клавиатуре. Все такие злюки, потому как сами школота. Игнорь и кодь
Спасибо.
И в чем, собственно, проблема?
нет
В чем проблема то? У тебя точно на канвасе поверх никаких объектов перекрывающих нет/или у канвса- канвас скрин-спейс - камера какая-нибудь левая не выставлена?
можно ссыль?
С уважением, ньюфаг
Я не могу понять твой код. Совсем.
Ты создаешь приватное поле типа Crewmamber.
Затем ты создаешь метод Member, который возвращает созданное ранее поле.
И затем метод Se(t)upMember(Member), который устанавливает значение того же поля.
Но что ты хочешь этим сказать? Нахуя все это? Почему ты просто не таскаешь Member? Я бы еще согласился, если бы это была, как бы, ячейка инвентаря. Но ты ведь запрещаешь укладывать в неё что-то, если там уже что-то есть. И не предоставляешь методов что-то оттуда основательно выложить? А еще иметь похожие названия элементов - не к добру. Даже если это метод доступа и поле, к которому совершается доступ. Поверь, ты найдешь способ их перепутать и что-нибудь наебнуть. Так что лучше поберечься заранее. Ну и действие после if стоит обрамить в скобки. Даже пускай оно всего одно и язык это позволяет. Когда ты будешь читать-менять этот код, ты можешь об этом не вспомнить
Ну вот создаю предмет для инвентаря(геймобжект), "зашиваю" туда какой-нибудь объект, то есть сменить его уже нельзя, таким образом не смогу что либо перепутать.
В охуенном TouchScript есть все.
Удаляем компонент "Позиция в мире" и "Визуальный ресурс" (что убивает GameObject с моделькой и коллайдером), добавляем "Принадлежит игроку" с id'ом игрока.
За пределами тривиальных случаев Юнити следует использовать только как фронтенд, в MonoBehaviour не должно быть игровой логики. Тогда всё становится тривиальным поскольку можно использовать все стандартные методы.
Бля, иди джуном, меня взяли просто из-за того что я горел играми и хотел их делать. У юнити легкое вхождение.
Чет я тоже ничего не понял. Я вроде как тоже уже не дно с шарпах, учился по Рихтеру и Троелсену + год работы на галерах. Пришел на собеседование в днище команду на юнити, на вопросы местного тимлида ответил как нехуй делать, он походу сам не знает шарпов выше чем в туториал на сайте. Параллельно рассказал им, что пихать весь графоуни в одну сборку - это пиздец зашквар и им срочно нужно выносить ресурсы отдельно. После чего они мне отказали под видом, "ну ты же не знаешь юнити, а мы тут делаем серьезные игры".
>пихать весь графоуни в одну сборку - это пиздец зашквар и им срочно нужно выносить ресурсы отдельно
Как юнитидебил скажу - к этому рано или поздно приходишь сам. И удобнее, и размер билда сокращает и вообще.
int tempInt = (temp + 1) * 50;
panelMid.transform.GetComponent<RectTransform>().sizeDelta = new Vector2(panelMid.transform.GetComponent<RectTransform>().sizeDelta.x, tempInt);
tempInt = 1250, но высота панельки всегда становится = 1000.
Если вместо tempInt написать 1250, то и высота станет 1250.
В чем подвох?
На какие вещи в 5.5 нужно обратить внимание?
На то что кнопку "zdelat pizdato" так и не завезли, поэтому игр от тебя в ближайший год можно не ждать.
Кароче проблема оказалась в том, что юнити неверно показывал ChildCount, пришлось обходить костылями
То, что кнопку cancel убрали при импорте, и вообще зависающее диалоговое окно, переместив импорт в фон - уже прорыв. Кнопка "zdelat pizdato", я понимаю - следующий шаг.
Ты сам с собой разговариваешь?
https://www.youtube.com/watch?v=_6gbv_Jf2wA
https://www.assetstore.unity3d.com/en/#!/content/59843
О том и речь. Это любому понятно, кто хоть как-то касался игр для веба/мобилок. Но для этих господ эта была новость и оверинжениринг.
версию поновее накати, спрайт флип из коробки уже давно завезли
Пользуюсь чилдкаунтом регулярно, ошибок никогда нет, всегда сходится с реальным.
У меня две гуишные панельки, в каждую спавнится 250 ячеек, когда я дебажу чилдкаунт, он говорит что там их 380, а во втором случае 498. Не знаю в чем было дело, если в самой панельке сделать скрипт, в который записывать число добавленных чилдов, а потом использовать его, то все прекрасно.
>Version: 0.5 (Aug 29, 2016)
Автор видимо забил хуй на ассет, не смог шарики-молекулы в вертексы меша преобразовать. В оригинальной демке флекса такой хуйни нет.
Ну очевидно, что твой код дерьмо. Возможно, где-то создаются чилды с неправильным анкором или позицией и ты их не видишь. Чилдкаунт врать не может.
Уже было в матрице
В настройках. В настройках ищи. Явно что-то не так
И в фиаре и в макспейне, в титанфоле бег по стенам вообще фишечка, ее же передрали калофдютии. Было все и везде.
Лол, можешь не манямечтать, c# ты не знаешь даже на начальном уровне. Туториалы на оф. сайте сделаны просто для привлечения внимания, на деле там поверхностный пересказ 10 страницы Троелсена.
1. Нет, они ведь загнали тебя в анальное рабство своей архитектуры.
2. Очень небольшое и специфическое, особенно если будешь ковыряться один.
3. Можно, если сумеешь нассать в уши заказчику.
Ну так вот, нажали кнопочку, делаем проверки, активируем контроллер, получаем <IHitable> таргета и вваливаем ДАМАГ. Дальше делаем Корабль.Корпус.Отнять_энергия ( energyUSageOfWeapon). Ну норм, работет, хуй знает насколько это криво, но мне норм, пока что. Но вот захотелось сделать баф на корабль, -20% к энергопотреблению всеми орудиями. И что тут, в контроллере делать проверочку на наличие бафа? А что если бафов много? Тогда может требуется сделать поле в корпусе которое будет отвечать за энергоэффективность орудийных систем? Кинули баф в корпус, корпус сделал пересчет характристик, а контроллер только черпает информацию из нужного ему поля и заебись? А может вообще контроллер не должен иметь права отнимать у корпуса энергию?Может контроллер должен только говорить корпусу что было активировано, а корпус уже внутри себя делает перерасчет и отъем энергии ? Спасибо.
Я бы сделал чисто c# систему для управления всем этим и "сборщик" на стороне Юнити. Сборщик берет кораблик и делает все геймобжекты как надо. Никакой логики в нем - только отражать изменения в модели и сообщать о попаданиях назад. Так проще.
похоже единственное адекватное решение это два раза делать этот процесс. первый - в обратной последовательности чтобы сократить список возможных действий только до самых нужных и прямой - чтобы обновлять позицию агента на каждой итерации.
алсо разница по времени между обоими вариантами почти нихуя. спасибо байтоёбле.
>>310932
как-то ты логику организовал непонятно. организуй все операции через какую-то центральную абстрактную часть где описана вся логика, на которую остается ссылка при создании компонента. где были бы функции в духе bool TakeEnergy где возвращалась бы возможность взять энергию из общего пулла, рядом бы лежала функция наличия возможности стрельбы и функция (или несколько на разный вкус), которая бы применяла все нужные модификаторы к конечному дамагу. пушке же необязательно знать какие там баффы и где, надо просто знать можно ли стрелять, как делать стрельбу и сколько дамаги выплюнуть после всех модификаторов. так что да, ты подумал в правильном направлении. собирание такой ключевой логики в одном месте упрощает дальнейшие манипуляции с ним.
похоже единственное адекватное решение это два раза делать этот процесс. первый - в обратной последовательности чтобы сократить список возможных действий только до самых нужных и прямой - чтобы обновлять позицию агента на каждой итерации.
алсо разница по времени между обоими вариантами почти нихуя. спасибо байтоёбле.
>>310932
как-то ты логику организовал непонятно. организуй все операции через какую-то центральную абстрактную часть где описана вся логика, на которую остается ссылка при создании компонента. где были бы функции в духе bool TakeEnergy где возвращалась бы возможность взять энергию из общего пулла, рядом бы лежала функция наличия возможности стрельбы и функция (или несколько на разный вкус), которая бы применяла все нужные модификаторы к конечному дамагу. пушке же необязательно знать какие там баффы и где, надо просто знать можно ли стрелять, как делать стрельбу и сколько дамаги выплюнуть после всех модификаторов. так что да, ты подумал в правильном направлении. собирание такой ключевой логики в одном месте упрощает дальнейшие манипуляции с ним.
Ебанутый движкописатель, ты игру то будешь делать? Нахуй ты юнити мучаешь?
Имадж это (внезапно!) картинка, а панель это (опять-таки!) панель, тобишь картинку ты можешь кинуть в панель, а панель в картинку нет.
>картинку ты можешь кинуть в панель, а панель в картинку нет
На самом деле можешь кинуть панель в панель, а потом это всё в картинку. Если посмотреть на компоненты панели и картинки, то очевидно, что это одна и та же хуйня. Только дефолтные настройки анкора отличаются.
Тебе, пидорас, в уретру ебаный, самое место на параше с УЕдаунами.
А парень в верном направлении движется.
мимоПРОбыдло
Скучал я по вам, господа.
Не совсем в верном. Пусть опен-сорс версию берет и ковыряет. Только без прямого диалога с техами движка это растянется на годы. Пусть xenko берет - однохуйственная юнити, только опенсорсная.
мимо УЕ-даун
Выгрызи анус, это у меня скрипт такое делал, но я уже научился меш комбинировать. Очень помогло, знаете ли.
В шары долбишься? Там дракон есть из меша и шейдер для воды в комплекте
если у меня есть аниматор из которого я могу проигрывать две анимации типа animator.Play("one") и animator.Play("two")
то как мне осуществить проверку не проигрывается ли одна из них сейчас?
пачаны, есть смысл в это начинать? или есть альтернативы
Посмотреть код.
Не стоит. Когда из прототипа выйдешь в альфу, как и 80% деволоперов, уйдёшь в менее лагающее место.
Если цель мобилы, то пили сразу на юнити. Если целишься в топовые платформы, то есть Сryengine 5\Лумберярд. Если у тебя есть желание и возможность нахуярить сотню тысяч строк с++ кода, то уе4 может быть альтернативой. Но это такое, для мазохистов.
а потом я охуеваю, делаю много лайнкастов проверяя видимость нужных мне высот на полученных точках. но зато получаю какой-то сорт информации о том куда ИИ следует бежать. надо будет добавить ещё какие-то сорта цыфр на этот грид видимости, вроде того целится ли туда кто-то, удаленности их от агента, наличия рядом ценных предметов, дистанции до союзников, или врагов.
или сделать ещё лучше - когда сделаю сквад менеджер, то подобная информация думалась бы на его стороне для всего сквада, чтобы одни и те-же точки не проверялись несколько раз
>>310968
а я вот делаю! заебись вот практичное что-то же!
>>311251
давно же тебя тут не было видно
>>311257
а зачем? проект я начал делать исходя из желания узнавать что-то новое по мере создания мира своей мечты и я не тороплюсь особо. опенсорс мне не слишком то нужен, ковырять чужой код пытаясь заточить его под себя это сомнительное удовольствие. особенно в плане навигации, или ИИ. которые мне бы пришлось в той-же степени имплементировать скорей всего на любом другом движке. (хотя навигация на УЕ мне например очень нравится. зато не нравится много чего другое)
а у юнити есть такие важные плюсы как довольно легкое расширение самого редактора, хорошая документация.
>>311287
про лайтмапы чтоли? Window > Lighting. снизу чекбокс Auto
Проблема не в том, чтобы это замоделить. Проблема в том, чтобы это принести в движок, и он не охуел от усердия. Я, например хочу не просто хайвей, а дорогу, которая на обочине плавно переходит в грунт. Такое отдельными моделями делать - швы останутся и смешивания текстуры модели и террайна не будет.
>Нормально ли рисовать геометрию дороги прямо на террайне
Высокой чёткости дорогу так не сделаешь. То есть просёлок ещё можно, грунтовка-брусчатка. А шоссе уже нет.
>большой уровень разбивать не несколько террайнов
Да. Но смотря на сколько большой. Не советовал бы делать размер террейна больше, чем 2х2 км. Плюс рекомендую дополнительно выключать GO, до которых очень далеко, иначе сортировка жрёт фпс.
>Как обстоят дела с текстурированием?
N текстур смешиваются по маске, нет никакой "огромной текстуры". Декали террейн же не поддерживает, о чём ты вообще? Про дитейл меши? Их можно хуярить сколько угодно.
>>311346
Долбоёб, ты не в том треде срёшь. Уёбывай в свой загон.
>высокой чёткости дорогу так не сделаешь
Ну мне высокая четкость и не нужна. Нужно дорожное полотно, с небольшими неровностями. К примеру в тест драйв, где дороги около берега переходят в песчаный пляж. Без ограждений, просто полотно. Остальное моделями можно допилить.
>2х2 км
Это практически полный размер уровня, на который я ориентируюсь. Будет ли толк если я, скажем, сделаю четыре куска по квадратному километру? А если восемь кусков по пол километра? Или это уже на производительность не влияет?
>выключать GO
А разве амбиент околюжен с этим не справляется автоматически?
>о чём ты вообще?
Ну я в разных 3д пакетах наблюдал как работает этот процесс, при экспорте текстуры приводятся к одной гигантской диффузной карте. Думал и тут так же. Окей, а сама маска, чтобы содержать приемлемое качество детализации должна же быть тоже высокого разрешения. А для большого террайна, 2х2 киллометра, например, разрешения в 1024х1024 маловато. Вот я об этом и говорил.
А что до декалей, так это я образно. Какая то текстура, у меня как бэкграунд для террайна. А другая - чтобы, например, травки добавить под деревом, на этом террайне. Третья - чтобы на дороге ямку нарисовать или неоднородности придать. Вот это я называю декалями. Может неправильно выразился.
Ой как стыдно то...
Алсо, вот если даже дорожное полотно делать отдельными моделями, как его конформить к террайну потом?
>дорожное полотно, с небольшими неровностями
Думаю, вполне. В крайнем случае ебанёшь поребрик мешами.
> Будет ли толк если я, скажем, сделаю четыре куска по квадратному километру
Ну я на самом деле разницы не замечал. Сам террейн скидывает лишние полигоны при отдалении, т.е некоторая оптимизация есть и её хватает при адекватных размерах. Ну ты можешь поставить эксперимент. Только не забудь зайти в справку, найти там Terrain.SetNeighbors и накалякать себе скрипт для этого дела. Без него несколько террейнов - гроб-кладбище-пидор.
>А разве амбиент околюжен с этим не справляется автоматически?
Нет. Хотя бы потому, что AO это фейковые затенения и не имеет никакого отношения к куллингу. И нет, я же говорю, он начинает слишком грузить. То есть отсечение всего лишнего говна производится каждый кадр, когда достаточно выключить его один раз. Хотя с уровнем 2км это скорее всего не пригодится. У меня уровни больше, вот и начал расписывать, лол.
>при экспорте текстуры приводятся к одной гигантской диффузной карте
Это говно ёбаное. Из 3д пакета тебе нужны оригинальные текстуры и сплатмапа. Она же эта "маска". Для террейна 2х2км используй 2048x2048 и вполне годится. Если не ошибаюсь, сплатмапу из стороннего 3д пакета без скрипта тоже не ебанёшь в юнити.
>неправильно выразился.
Это. Ты текстуры назвал декалями, хотя это не так.
>>311363
>как его конформить к террайну
А никак. Весь "обвес", если это не деревья, трава и не детейл меши, просто делается отдельно.
>>311357
А давай я тебе просто на ебало поссу и всё? Кокой агрессивный, пиздец просто. Пссс-пссс.
>AO это фейковые затенения
Околюжен куллинг, конечно же. Опечатка.
>Ты текстуры назвал декалями, хотя это не так.
Просто они выполняют, в моем манямирке по крайней мере, туже функцию, что декали на моделях.
>делается отдельно
Славненько. Значит этот вариант отпадает.
Спасибо за помощь, антош. Добра.
Ты лох. Мать ебал.
Я спиздил скрипт у мужика, но моя хуйня все равно не двигается. Я плачу.
A*
Sdelat_knopku_ctoby_tekst_vo_vsex_scenah_pomeyalsya_srazu.asset
В общем потыкал я в террайн эдитор. Хуйня, все хуйня. Годится только для подготовки основы для террайна. Деталей не добавить, на высоких разрешениях карт все начинает дико тормозить. Нерикаминдую. Придется делать ручками все и импортировать готовую геометрию.
Руки из жопы? Ну ок, покажи что нибудь из своих художеств, сделанных этим злоебучим инструментом.
>Нет, ты!
Как-то тупо. В гугл сходи, тебе предоставят пруфов. Импорт меша всегда будет хуже. Ты же не будешь делать для цельного меша свою лод систему. Не прикрутишь адекватный мипмапинг или хотя бы батчинг травы, камней и деревьев. А значит, "свой" меш всегда будет медленнее работать, чем такой же террейн.
>Relief Terrain Pack
Ну у тебя то пруфцов точно нет. Ты сам никогда сложнее бугорков ничего на террайне не делал.
И я не говорю что террайн не нужен. Но как инструмент для создания того, что у тебя на пикче он не подходит.
Cкачай RTP и посмотри, для чего он сделан.
Для даунов - смешивание юнити террейна и кастомных мешей. На скрине - юнити террейн.
А теперь этот же террайн, но не с высоты птичьего помета, а из камеры на земле. Ты бы еще в три раза картинку ужал, чтобы эффект усилить, дятел.
Говно. Причина, по которой вся эта процедурная коковолюция провалилась - низкий уровень инвестиций в исследования математической составляющей понятия "красота". Ебальники и сиськи математически изучены, все эти перспективы и гармонии на ландшафтах - говно.
using System.Collections;
public class DebugScript : MonoBehaviour
{
// скорость
public float moveSpeed;
// направление
private Vector3 moveDirection;
void Update ()
{
// текущая позиция
Vector3 currentPosition = transform.position;
if (Input.GetMouseButton(0))
{
Vector3 worldpos = Camera.main.ScreenToWorldPoint(Input.mousePosition);
moveDirection = worldpos - currentPosition;
moveDirection.z = 0;
moveDirection.Normalize();
}
Vector3 target = moveDirection * moveSpeed + currentPosition;
transform.position = Vector3.Lerp(currentPosition, target, Time.deltaTime);
}
}[/CODE]
NullReferenceException: Object reference not set to an instance of an object
Что.Это.За.Хуйня.
using System.Collections;
public class DebugScript : MonoBehaviour
{
// скорость
public float moveSpeed;
// направление
private Vector3 moveDirection;
void Update ()
{
// текущая позиция
Vector3 currentPosition = transform.position;
if (Input.GetMouseButton(0))
{
Vector3 worldpos = Camera.main.ScreenToWorldPoint(Input.mousePosition);
moveDirection = worldpos - currentPosition;
moveDirection.z = 0;
moveDirection.Normalize();
}
Vector3 target = moveDirection * moveSpeed + currentPosition;
transform.position = Vector3.Lerp(currentPosition, target, Time.deltaTime);
}
}[/CODE]
NullReferenceException: Object reference not set to an instance of an object
Что.Это.За.Хуйня.
ебаный насрал
using UnityEngine;
using System.Collections;
public class DebugScript : MonoBehaviour
{
// скорость
public float moveSpeed;
// направление
private Vector3 moveDirection;
void Update ()
{
// текущая позиция
Vector3 currentPosition = transform.position;
if (Input.GetMouseButton(0))
{
Vector3 worldpos = Camera.main.ScreenToWorldPoint(Input.mousePosition);
moveDirection = worldpos - currentPosition;
moveDirection.z = 0;
moveDirection.Normalize();
}
Vector3 target = moveDirection * moveSpeed + currentPosition;
transform.position = Vector3.Lerp(currentPosition, target, Time.deltaTime);
}
}
NullReferenceException: Object reference not set to an instance of an object
ебаный насрал
using UnityEngine;
using System.Collections;
public class DebugScript : MonoBehaviour
{
// скорость
public float moveSpeed;
// направление
private Vector3 moveDirection;
void Update ()
{
// текущая позиция
Vector3 currentPosition = transform.position;
if (Input.GetMouseButton(0))
{
Vector3 worldpos = Camera.main.ScreenToWorldPoint(Input.mousePosition);
moveDirection = worldpos - currentPosition;
moveDirection.z = 0;
moveDirection.Normalize();
}
Vector3 target = moveDirection * moveSpeed + currentPosition;
transform.position = Vector3.Lerp(currentPosition, target, Time.deltaTime);
}
}
NullReferenceException: Object reference not set to an instance of an object
C земли выглядит не так эффектно. Но всё равно не тормозит. То есть про руки - остаётся в силе, криворучка.
>>311483
Да похуй на революции. Изначально сгенерированный ландшафт выглядит лучше, трудозатрат на него меньше, кисточкой рисовать не надо. А "красота" вообще понятие субъективное - в популярных рпг до реалистичности очень далеко, но всем нравится.
>>311492
В код не вникал, но у тебя очевидно не находит чего-то. Сделай переменную под камеру, например.
и как же ты тут нулл то мог получить? камеру из сцены удалил чтоли? параши какой-то принес.
>>311459
>Но как инструмент для создания того, что у тебя на пикче он не подходит.
террейн никогда и не являлся единственным доступным инструментом для создания всякой хуйни. к тому-же если тебе не хватает какого-то инструмента для редактирования террейна, вроде выравнивания его вдоль дорожек, то можешь сесть и написать его за пару вечеров.
>>311453
>Деталей не добавить
потому что детали добавляются иными методами, очевидно.
а вот то что у деревьев может быть только капсульный коллайдер последний раз когда я это проверял это гораздо большая проблема.
Допустим я пилю шутан-рпг. И тут возник вопрос, если я хочу прикрутить мультиплеер на 20 рылблядское ограничение, насколько сильно придётся перепиливать код ?
>похуй
От лица конечного потребителя говоришь? Запомни, игры делать для себя и для других - разные вещи.
Можно сказать, останутся только меши и немного кода. Большую часть придется писать с нуля.
>>311581
Ясно. А что по поводу диалогов. Есть способы пилить диалоги без сильного гемора ?
Я не совсем понимаю как их сделать в unity
Делаешь катсцену. Всё?
using UnityEngine;
using System.Collections;
public class MouseLook : MonoBehaviour {
void Start() {
}
void Update()
{
}
}
Проблема явно в какойто настройке толи Unity толи еще чегото. Редакторы пробовал и monodevelop и visualstudio все однохуйственно
В чем может быть дело?
Зависит от изначально выбранной архитектуры. Если ты делаешь типично по-юнитевски (MonoBehaviour everywhere, YAY!) то очень сильно.
Тогда самое время учиться гуглить(не в обиду, просто все через это проходят). На подобный вопрос отвечали сотни раз ибо все с ним сталкиваются. Гуглить прийдется по мелочевке год-полтора, а потом уже и вопросы можно начинать задавать.
Все книги и видео урокилол которые находил походят на какой-то трэш, либо на начальный уровень. Официальный сайт туда же.
Официальный сайт не нравится? А как надо? Чтоб тебе шаг за шагом объясняли на примере готовый тайтлов - что куда надо настраивать, какие буковки писать, как модельки пиздить с интернета вплоть до релиза и получения денежков? Официальный сайт не нравится, бля!
>не так эффектно
Ты бы еще пруфцы подогнал, что то нарисовано в террайн эдиторе, а не в каком нибудь блендере. поскольку сам ты нихуя не сделал, а только чужими руками что-то там маняфантазируешь, то я засчитываю тебе очередной слив.
>>311522
>детали добавляются иными методами
То есть если я хочу добавить декаль, или сделать ЯМКУ, мне нужно хуячить вмятину размером с анус твоей мамки, а потом маскировать ее такого де размера мешем с замоделенной нормально ЯМКОЙ? Хорошо, что я хотя бы доебался до шейдеров, и эту ситуацию можно спасти. Но сторонними методами за вдвое большее время.
За то же время я замоделю хороший террайн в блендере, затекстурирую, приведу к идеальному состоянию и просто импортну мапы в юнити.
А все на что способен юнитековский террайн - пикрелейтед.
>То есть если я хочу добавить декаль
то ты добавляешь декаль
>сделать ЯМКУ, мне нужно хуячить вмятину размером с анус твоей мамки, а потом маскировать ее такого де размера мешем с замоделенной нормально ЯМКОЙ?
да, прямо как это делают в многих других играх. замаскировав швы всяким говном вроде камешков. если конечно ты не можешь сделать из них нужную тебе ямку изначально.
>Хорошо, что я хотя бы доебался до шейдеров, и эту ситуацию можно спасти. Но сторонними методами за вдвое большее время.
как бы террейн это не совсем шейдор
>За то же время я замоделю хороший террайн в блендере, затекстурирую, приведу к идеальному состоянию и просто импортну мапы в юнити.
травку тоже анимируешь в блендоре? мистер артист, карту высот оптимизировать явно проще чем результаты твоих непосильных трудов в блендоре.
>А все на что способен юнитековский террайн - пикрелейтед.
это то на что способен ты, а не террейн. юнити разумеется ещё может делать траву, деревья, эту свою хуйню с лодами, шевеление травкой и прочим говном о котором можно прочесть в документации.
Да. Сделать терран на сфере.
>то ты добавляешь декаль
Ямогу ее добавлять и без всякого террайна. Нет ни функций, ни оптимизации для этого в террайне юнити.
>да, прямо как это делают в многих других играх
В других играх? 2016 год на дворе. Все уже во всю используют тесселяцию, шейдеры геометрии и прочие хорошие вещи. Проснись.
>как бы террейн это не совсем шейдор
Но детализация террайна это работа шейдера.
>травку тоже анимируешь в блендоре?
Та травка, которой можно шевелить в юнити - кусок говна. Для нормальной травы все равно приходится лепить меши, и либо шевелить их вручную, либо нахуй вообще шевелить. Лично мне это шевеление не нужно, а вот нормальные инструменты для работы с террайном - очень даже.
>юнити разумеется ещё может делать траву, деревья, эту свою хуйню с лодами, шевеление травкой и прочим говном
Да, он может делать все, кроме террайна, это я и без тебя понял. Лоды, шевеление травкой можно написать самому. А террайн то де?
>Ямогу ее добавлять и без всякого террайна.
потому что декали это явно не фича террейна
>В других играх? 2016 год на дворе. Все уже во всю используют тесселяцию, шейдеры геометрии и прочие хорошие вещи.
только швы это не слишком то скрывает.
>Но детализация террайна это работа шейдера.
шейдор это последнее что к террейну применяется.
>Та травка, которой можно шевелить в юнити - кусок говна. Для нормальной травы все равно приходится лепить меши, и либо шевелить их вручную, либо нахуй вообще шевелить. Лично мне это шевеление не нужно, а вот нормальные инструменты для работы с террайном - очень даже.
сделать инструменты - легко. сделать шевелящуюся травку - трудно. и ололо шевелить вручную. костью видимо.
>Да, он может делать все, кроме террайна
это он и есть, наркоман.
>Лоды, шевеление травкой можно написать самому.
что ты там напишешь сам? как сетка разрешение меняет по мере удаленности от камеры без дырок под ногами? как деревья билбордами становится красиво? чтобы шевелилось все от винд зон?
>потому что декали это явно не фича террейна
Схуяль бы ямка на земле или выбоина на асфальте не фича террайна?
>только швы это не слишком то скрывает
Пикрелейтед
>шейдор это последнее что к террейну применяется
Это что-то меняет?
>сделать инструменты - легко. сделать шевелящуюся травку - трудно. и ололо шевелить вручную. костью видимо
Наркоман.
>Схуяль бы ямка на земле или выбоина на асфальте не фича террайна?
мистер артист, декаль - широкое понятие не ограничивающееся террейном. декаль может быть где угодно. как и выбоина может быть и на стене и на земле и на космическом корабле.
>Пикрелейтед
мистер артист, понимаешь ли ты что на картинке? на картинке есть пенёк, потом есть красивая волнистая хуйня с текстуркой террейна красиво обрезанная, чтобы как раз скрыть факт того что меши разные. и всё. нету охуительных шейдоров делающих техномагию, есть как раз то о чём я сказал - умелое скрытие швов всяким говном.
>Это что-то меняет?
меняет иерархию представления о террейне, разумеется. что же ты глупый то такой. это то о чём я тебе говорю. террейн это то что из карты высот, карт с травкой, карт с текстурками и карт с деревьями делает вертексы, треугольники, так чтобы их количество было пропорционально расстоянию до камеры, коллайдер, и прочую замечательную хуйню так чтобы всё это не тормозило. и дарует инструменты для редактирования всего этого, даже в процессе игры. а шейдор это уже то что отображает тебе на монитор представление террейна о представлении всех тех карт что ему скармливают. прослеживаешь иерархичность?
>декаль - широкое понятие
И, тем не менее, в гейдеве декали для террайна уже давно не новость. Но юнети в этом плане зачем то взаде.
>нету охуительных шейдоров
Лол, на картинке как раз шейдер геометрии. Никаких лишних мешей не добавлено. Все процедурно сделано через шейдер. Маня, ты застрял в 2005 году.
>прослеживаешь иерархичность?
Аутист, при чем тут иерархичность? Я тебе говорю что все эти
>карты высот, карт с травкой, карт с текстурками и карт с деревьями
вещи, это не весь террайн. Есть слот под кастомный шейдер для террайна, но НЕТ ИНСТРУМЕНТОВ для маппинга дополнительных карт через кастомный шейдер. Так же как и нет продвинутого родного шейдера дляобработки все той же тесселяции. Ты какой то упоротый, ей-богу.
>И, тем не менее, в гейдеве декали для террайна уже давно не новость. Но юнети в этом плане зачем то взаде.
ничего особо не мешает сделать тебе их там самому. юнити поставило перед собой благородную задачу - сделать инструменты так чтобы их можно было заточить под себя не проходя через боль и страдание.
>Лол, на картинке как раз шейдер геометрии. Никаких лишних мешей не добавлено. Все процедурно сделано через шейдер. Маня, ты застрял в 2005 году.
https://www.assetstore.unity3d.com/en/#!/content/48684
видишь ли ты где-то файлик с расширением .shader?
>Аутист, при чем тут иерархичность? Я тебе говорю что все эти вещи, это не весь террайн. Есть слот под кастомный шейдер для террайна, но НЕТ ИНСТРУМЕНТОВ для маппинга дополнительных карт через кастомный шейдер. Так же как и нет продвинутого родного шейдера дляобработки все той же тесселяции.
как бы предполагается что ты эту хуйню сможешь делать самостоятельно и это не выглядит такой большой задачей. ты же понимаешь что у велосипеда скрутить сидение и прикрутить другое под свою задницу несравнимо проще, чем собрать свой велосипед?
>ничего особо не мешает сделать тебе их там самому
Как и сам террайн. Но если уж есть такой иснтрумент, то почему не позаботиться о такой насущной проблеме?
>видишь ли ты где-то
Да тут я обосрался.
>эту хуйню сможешь делать самостоятельно
В отм то и дело что слишком много нужно делать самостоятельно и слишком мало идет искаропки. Чем работать в двух инструментах сразу, проще взять сразу один. И в этом конкретном случае этот инструмент точно не юнитековский террайн. Карту высот я могу сделать в любом графическом редакторе, а деревья расставлять с травой - не самая приоритетная задача.
Просто представь что нужно сделать не чисто-поле, а, например, поселок. С хатами и грунтовками, с огородами и прочими колдоебинами. Чтобы это выглядело КРАСИВО нужно 90% времени пользоваться декалями, мушо от террайна не добиться ничего кроме гладеньких бугров.
>Как и сам террайн. Но если уж есть такой иснтрумент, то почему не позаботиться о такой насущной проблеме?
сам террейн то довольно проблемно сделать самому. а то что ты выдвигаешь как проблему - не является той проблемой которая должна решатся непосредственно террейном. она изначально решаема множеством методов, в том числе переделкой террейна для себя, переписывая его шейдор, добавляя какие-то внешние карты самостоятельно храня их. разве что уныло что сорсов нет, но с другой стороны с прослойкой из API обновление на новую версию не превратится в боль.
по моему насущные проблемы это капсульные коллайдеры у деревьев, или отсутствие тесселяции изкаропки. уж тесселяцию то могли бы и сделать.
>Да тут я обосрался.
как видишь методы 2005 года достаточно технологичны и сейчас. а вот например
https://www.assetstore.unity3d.com/en/#!/content/2680
который уже пиздец какой старый, но всё ещё валиден и на текущий день. можешь скачать, посмотреть что там внутри, сделать по своему.
>Карту высот я могу сделать в любом графическом редакторе
ну сделай, хули. инструменты редактирования карты высот в юнити ни на что особо не претендуют, особенно учитывая что большинство всё равно эти карты генерируют используя внешние программы независимо от движка. например вон тот мой скриншотик с пальмами был сделан процедурной генерацией которую я сам-же и написал. просить от юнити каких-то серьёзных инструментов для редактирования этой хуйни всё равно неадекватно, хуй там знает чего тебе надо. куда важней что это то что ты даешь юнити - работает. а это уже гораздо практичней. мне вот например понадобилась хуйнюшка чтобы копировать куски карты из заготовок, но жаловатся что в юнити нет такого инструментария изначально довольно странно.
>Просто представь что нужно сделать не чисто-поле, а, например, поселок. С хатами и грунтовками, с огородами и прочими колдоебинами. Чтобы это выглядело КРАСИВО нужно 90% времени пользоваться декалями, мушо от террайна не добиться ничего кроме гладеньких бугров.
да не особо. накати тесселяцию сам, или отдай за неё 15 долларов. https://www.assetstore.unity3d.com/en/#!/content/20439 будет всё объемное-обьемное. даже не знаю где тебе там декали могут понадобится в таком колличестве.
>Как и сам террайн. Но если уж есть такой иснтрумент, то почему не позаботиться о такой насущной проблеме?
сам террейн то довольно проблемно сделать самому. а то что ты выдвигаешь как проблему - не является той проблемой которая должна решатся непосредственно террейном. она изначально решаема множеством методов, в том числе переделкой террейна для себя, переписывая его шейдор, добавляя какие-то внешние карты самостоятельно храня их. разве что уныло что сорсов нет, но с другой стороны с прослойкой из API обновление на новую версию не превратится в боль.
по моему насущные проблемы это капсульные коллайдеры у деревьев, или отсутствие тесселяции изкаропки. уж тесселяцию то могли бы и сделать.
>Да тут я обосрался.
как видишь методы 2005 года достаточно технологичны и сейчас. а вот например
https://www.assetstore.unity3d.com/en/#!/content/2680
который уже пиздец какой старый, но всё ещё валиден и на текущий день. можешь скачать, посмотреть что там внутри, сделать по своему.
>Карту высот я могу сделать в любом графическом редакторе
ну сделай, хули. инструменты редактирования карты высот в юнити ни на что особо не претендуют, особенно учитывая что большинство всё равно эти карты генерируют используя внешние программы независимо от движка. например вон тот мой скриншотик с пальмами был сделан процедурной генерацией которую я сам-же и написал. просить от юнити каких-то серьёзных инструментов для редактирования этой хуйни всё равно неадекватно, хуй там знает чего тебе надо. куда важней что это то что ты даешь юнити - работает. а это уже гораздо практичней. мне вот например понадобилась хуйнюшка чтобы копировать куски карты из заготовок, но жаловатся что в юнити нет такого инструментария изначально довольно странно.
>Просто представь что нужно сделать не чисто-поле, а, например, поселок. С хатами и грунтовками, с огородами и прочими колдоебинами. Чтобы это выглядело КРАСИВО нужно 90% времени пользоваться декалями, мушо от террайна не добиться ничего кроме гладеньких бугров.
да не особо. накати тесселяцию сам, или отдай за неё 15 долларов. https://www.assetstore.unity3d.com/en/#!/content/20439 будет всё объемное-обьемное. даже не знаю где тебе там декали могут понадобится в таком колличестве.
>даже не знаю где тебе там декали могут понадобится в таком колличестве
Посмотри что под ногами у игрока. Вот где.
справа не видно ничего особенного, это без проблем достижимо средствами юнити. а то что там дайсы в фростбайт положили это разумеется трудно ожидать от юнити. можешь почитать их статьи о том как они это сделали и воспроизвести, или перекатится на другой движок. UE получше террейн рисует, например.
Дело не в том как движок рисует террайн. Юнити вполне справляется с красивым рендером.
Но посмотри на террайн же. Колор маппинг, дисплейс, тесселяция, декали. Без всего этого у баттлфронта террайн выглядел бы так же как и в юнити - голым. Я не знаю как технически это реализовано у дайсов, но я не вижу технических возможностей сделать то же самое в юнити, без дописывания функционала вручную. Как ты правильно заметил, я артист. И не смотря на то, что я не совсем деревянный программист, я самоучка и писать дополнительный функционал для меня и сложно и долго. Я выбрал юнити чтобы игры делать, а не велосипеды.
Тур по предместью города. Он не для продажи, лол.
>Я не знаю как технически это реализовано у дайсов
дык они же периодически рассказывают как они это сделали, как и все другие крутые ребята. гейдевелоперы же любят хвастатся своими достижениями. вон так навскидку http://www.frostbite.com/wp-content/uploads/2013/05/Chapter5-Andersson-Terrain_Rendering_in_Frostbite.pdf научная работа, хули.
>но я не вижу технических возможностей сделать то же самое в юнити, без дописывания функционала вручную.
какая нелепая жалоба. а я не вижу технических возможностей не делать модельки, не делать текстурки, не записывать звуки в этом случае. вот очень трудно мне. наверно я не должен этого делать никогда! даже если очень надо!
>я самоучка и писать дополнительный функционал для меня и сложно и долго.
а кто тут не самоучка. тоже мне особенность!
>>312134
а говорил что выбрал юнити чтобы игры делать
>какая нелепая жалоба
В юнити нет функционала для 3д моделирования, поэтому он не претендует на возможность делать модельки. Нет там и графического редактора, чтобы претендовать на рисовку текстур. Звукового редактора там тоже нет, нутыпонел. А террайн эдитор есть. Функционала у него нихуя нет, но сам он есть. Я не требую невозможного, я выражаю свое неудовлетворение куцым инструментарием. Не пойму чего тебе печет-то так? Ты сам же только что показал террайн свой, который годится в лучшем случае для РТС, и то если PODALSHE SEL.
>а кто тут не самоучка
Ну есть же тут и студентики, и профессиональные программисты. Это их профиль. Как мой - делать арт. Хоть я и пытаюсь совмещать, но прекрасно понимаю что звезд с неба в этом деле мне не достать.
>а говорил
Это интерактивная презентация в игровой форме. Не вижу, собственно, разницы в техническом плане. И вообще это ведь мемас такой)))0) Смищно, азаз)
>А террайн эдитор есть. Функционала у него нихуя нет, но сам он есть. Я не требую невозможного, я выражаю свое неудовлетворение куцым инструментарием.
ну а чего тебе не хватает то? кисточек? ты вот требуешь инструменты чтобы сделать чтобы как у дайсов. это вопрос не нехватки инструментов, это вопрос нехватки самих фич для начала. чтобы ещё инструменты для них сделать.
>Ты сам же только что показал террайн свой, который годится в лучшем случае для РТС, и то если PODALSHE SEL.
эй, все мои силы ушли на то чтобы сделать процедурный генератор. я напиздил бесплатного говна, пальм, текстурок на землю, травку там, у половины даже не потрудился карты с нормалями воткнуть. зато кнопку нажал, чёто получил. сделать покрасивей задача другого дня, месяца, года. надо ещё хотя-бы гейплей сделать для начала.
>Ну есть же тут и студентики, и профессиональные программисты. Это их профиль.
а знаешь ли ты как получаются профессионалы? вот например я забежал в шарп с разбегу имея куцое говно из первого курса универа про паскаль. мне вот даже в школе в таинства бейсика не посвятили. и хули. я вот не испытываю явно той боли которую ты испытываешь при написании дополнительного функционала. мне кажется для этого не надо быть профессионалом.
>Это интерактивная презентация в игровой форме. Не вижу, собственно, разницы в техническом плане.
кинцо делать собрался!!!
>инструменты чтобы сделать чтобы как у дайсов
Бля, да декали это не вопрос "как у дайсов". Декали не интегрированные в террайн будут более накладными для производительности. Колормапы - вопрос внедрения в стандартный шейдер. Ты можешь переписать юнитековский шейдер? Я - нет. То же и тесселяции касается. А чтобы рисовать все это добро потом кисточкой, нужна еще настройка самой кисти под конкретный материал, использующий тесселяцию ли, колормаппинг или другую текстурную карту, или не использующий ничего.
>все мои силы ушли на то чтобы сделать процедурный генератор
И вот ты такой сидишь, пилишь свою процедурную генерацию и с пеной у рта мне доказываешь что все ок, даже не попробовав поработать с этим самому. Что за манера?
>мне кажется для этого не надо быть профессионалом
Не все, что тебе кажется, является истиной. Вот ты возьми лучше и попробуй красивые модельки сделать, текстуры к ним хорошие нарисуй. Мне тоже кажется что для этого не надо быть профессионалом.
>кинцо
)))
>Бля, да декали это не вопрос "как у дайсов".
тыж сам их показал как пример заебись. ты тогда конкретно давай указывай чего тебе там хочется. чтобы вот камешки проглядывали через землю? чтобы камешки как галька на земле лежали? чтобы валуны были? всё сразу?
>Ты можешь переписать юнитековский шейдер? Я - нет. То же и тесселяции касается.
ну так. я тебе даже экзампл дал. сделай реверс-инжинеринг и сможешь. в крайнем случае всегда можно спиздить готовое. ты всёравно вроде там бесплатное делаешь, никто и не заметит твоего успеха.
>А чтобы рисовать все это добро потом кисточкой, нужна еще настройка самой кисти под конкретный материал, использующий тесселяцию ли, колормаппинг или другую текстурную карту, или не использующий ничего.
ну так сделай, хули. уж написать свой интерфейс для редактирования террейна в юнити особого труда не составит. потому что у юнити могущественное API для расширения его интерфейса.
>И вот ты такой сидишь, пилишь свою процедурную генерацию и с пеной у рта мне доказываешь что все ок, даже не попробовав поработать с этим самому. Что за манера?
гы гы. а ты думаешь почему я процедурную генерацию сделал? как раз потому что попробовал. и решил что нахуй и в пизду. сделал кусок локации ручками, но быстро заскучал от подобного творчества и захотел кнопку которая бы делала за меня. но потом сделал копипаст локаций, чтобы какие-то места всё-же можно было делать руками. но я пробовал сам. вышло нормально. но скриншотов не будет, винч сгорел со скриншотами двухлетней давности.
>Не все, что тебе кажется, является истиной. Вот ты возьми лучше и попробуй красивые модельки сделать, текстуры к ним хорошие нарисуй. Мне тоже кажется что для этого не надо быть профессионалом.
я же утрировал. впрочем мне тоже кажется что понятие о професиональном артисте невероятно размыто. и, кстати, я делал красивые модельки, текстурил, лошадью мешок красил, иконки рисовал, анимировал. но писать код важней. без кода всё это бесполезная хуйня.
>тыж сам их показал как пример заебись
Просто это первый скриншот с нужным набором фич на террайне, который мне попался. А так то да, нужно все и сразу.
>сделай реверс-инжинеринг и сможешь
Я таким методом ковырял пиксельные шейдеры. Но там я хотя бы принцип работы понимал. А тут я в душе не ебу зачем седално так и так. Я прекрасно понимаю какой эффект даст карта нормалей, например, но я понятия не имею как это работает на практике. Ну то есть сухая теория есть, а представления как это использовать - нет.
>быстро заскучал от подобного творчества
Чет вспомнилось как мы в школе в пэйнте рисовали, лол. Творчество уровня гд.
>но писать код важней
А я вот не могу писать код, пока у меня нет перед глазами более-менее цельной визуальной картины. Для меня бесполезен плавающий по уровню куб.
Чему равна одна единица Unity в размере террейна ?
Столько, сколько захочешь.
В моём 3д-редакторе - 1 к 1.
учитывая что в параметрах ускорение свободного падения стоит 9.8 юнитов в секунду стандартом - то размышляй, чему равен юнит
1000м
using UnityEngine;
using System.Collections;
public class SpawnObject : MonoBehaviour
{
public Object Player;
public GameObject prefabToSpawn;
private void Update()
{
if (Input.GetKeyDown(KeyCode.Mouse0))
{
RaycastHit _hit;
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
if (Physics.Raycast(ray, out _hit))
Instantiate(prefabToSpawn, new Vector3(_hit.point.x, _hit.point.y, _hit.point.z), transform.rotation);
}
}
}
Вы видите копию треда, сохраненную 26 января 2017 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.