24 декабря Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!
А у меня отличные новости для пердоликов! Хоть и немного запоздалые. Unity3D 5 преркасно идет под вайном и PlayOnLinux! Работает то, что раньше в 4ой версии не работало. Например Asset Store, создание нового проекта, запуск игры прямо из редактора, никаких проблем со шрифтами. Инструкция по установке: http://wiki.unity3d.com/index.php/Running_Unity_on_Linux_through_Wine#Installation_with_PlayOnLinux
>>175867 Пишешь веб-сервис, хранящий таблицу с рекордами, разворачиваешь его в сети, пишешь в игре код, обращающийся к сервису с запросами. Не забыл ь безопасность, чтобы нельзя было что угодно писать в твой веб сервис.
Начни с изучения сайтов с базами данных (не сложно) и json-запросов (в mvc не сложно, там тоже сисярп) потом останется ничего. И да, первое, что в голову пришло.
>>175902 >от идеи до реализации прошло 2 часа (кликер) >через часа после релиза играли две общаги в мухосранске Был бы еще большим Ерохиным, но >лень доделывать до приличного внешнего вида
>>175914 >лень доделывать до приличного внешнего вида Лул, вот да, сама-то игра была написана за час-полтора, а все остальное время ушло на отрисовывание всякой хуйни и напидоривание интерфейса, а получилось все равно говно, так что в следующий раз не буду так делать, а сразу выложу что есть, все равно в подобных "играх" на графен всем похуй.
Блядь, да как этот ебучий стринг введеный в int конвертнуть, чтоб использовать можно было? public int a; void Update() { // a = Convert.ToInt32(Input.inputString); (a % 2 == 0) ? Debug.Log("Even") : Debug.Log("Odd number");
>>175967 Ок. возвращает объект каждый кадр. Тогда какого хуя там делает объект, если Input.inputString возвращает введенные с клавиатуры символы в этом кадре. Откуда блядь он каждый кадр берет объект и нахуй он это делает?
Почаны, можно ли в Юнити собрать проект не в виде кучки .unityassets, а чтобы файлы вообще оставались нетронутыми и юнити только создавал .exe в папке с файлами?
>>176026 Напиши как. например эта хуета не работает: if (int.Parse(Input.inputString) >= 0 && int.Parse(Input.inputString) < 10) { Debug.Log("ophui"); }
>>176051 Благодарствую. Только один хуй не понял как он работает. string.IsNullOrEmpty будет true только когда я нихуя не нажимаю, а когда я нажимаю что-то она false. Однако return выполняется как раз на false и возвращает в метод введенное значение.
Хаю хай. Посаны, а нужны ли классы в Unity? Просто сделал уже пару игр на мобилки, и никогда не использовал классы. А сейчас решил почитать книгу по C# и нихрена не понимаю вообще. Прекрасно жил без этих классов, ретёрнов и прочего.
>>176087 А скрипты твои сраные не экземпляры класса, наследуемого от MonoBehaviour? А игровая логика где хранится, у мамки в прикроватной тумбочке? Понимание ООП требуется для успешной разработки в юнити. Без нее ты не реализуешь ровным счетом ничего, выходящего за пределы доступных ассетов.
>>176061 Блядь, я тебе про это и писал. Is Null Or Empty True когда НИХУЯ нет. Но условная конструкция выполняется при true, следовательно return выполняется при true в условии, а это-когда нихуя нет. При вводе чего-либо, Is Null Or Empty становится false, потому что НЕ нул или пусто. Вот я и не понимаю, почему return выполняется на false.
>>176121 Дегенераты негуманитарные, даже объяснить нихуя не могут. Без вас разобрался. >>176121 Все я правильно писал. Когда нихуя не вводится там тру и выполняется return, который брейкает функцию апдейт и она уходит на новый кадр. Если что-либо ввести будет false и функцию уйдет дальше до Debug.Log("вывел введеную парашу") или чего угодно еще. >>176122 ты заебал рваться.
Поясните мне за общий процес разработки игры. Вот я хочу запилить модный зомби-сурвайвл от первого лица. Т.е. это будет почти как обычный шутан, только с элементам ололо-выживания и простенького крафта, может там еще деревья рубить и заборы ломать. Графон я пилить не умею само собой, так что все будет из кубиков. Собственно, на какие этапы это разбить? С чего по канону начинается разработка? В каком порядке это все делать?
>>176137 Ну, садишься за диздок. Нет, не как диздокодрочеры, просто для себя пишешь полный набор всего функционала и то, как он будет работать (желательно прикинуть даже общую реализацию в коде). Затем продумываешь структуру данных игры - классы, в основном, реализацию игровых сцен и так далее. Спорные моменты проверяешь на практике в мини-поектах. Затем садишься на жопу и делаешь все по плану, который сам успел для себя создать.
>>176354 Ну, это я понимаю. Просто интересно как это делают гейм-девелоперы. Т.е. с чего начинают и чем заканчивают. >>176188 Ну я же сказал что в графон не умею.
>>176499 То, как это делают геймдевелоперы, у тебя все равно не получится, потому что нет четкого регламента "как делать игру, чтобы сделалась игра, йопты" каждая команда планирует процесс разработки, основываясь на личном опыте. У тебя этого опыта пока что нет - так что хватай общие положения (см. выше, кстати, это тоже личный опыт) и вперед, делай. Если вдруг облажаешься, корректируй свою методику и делай снова.
>>176513 Ну ладно. Но есть какие-то хотя бы общие советы? Т.е. я так подумал, что сначала я реализую общие элементы шутана - мой персонаж, враги - зобми, несколько видов оружия, в т.ч. и ближнего боя. Потом буду делать инвентарь, прикручивать элементы выживача вроде необходимости жрат. Под конец пилить систему крафта и немного возможностей разрушения окружения, типа разъебывать деревенные заборы, двери и окна. Ну и на завершение всякие там интерфейсы, экран загрузки, ну ты понел. Такой план сойдет, или чего-то еще забыл? Ну это при условии чисто условного графона.
>>176527 Лол. Ну вообще, я просто попрактиковаться хочу и запилить что-то более-менее полноценное. А там если и правда взлетит, то может найду гей-девелоперов и будет грифон. Алсо, я больше на the Forest ориентируюсь. И таки некоторые оригинальные идеи у меня есть.
>>176533 Ну основные элементы шутана. Есть мой персонаж, у него есть здоровье, несколько видов оружия. Есть противник зомби, они друг друга убивают. Вот тебе уже основа шутана, не? Ну набросаю там в зд-максе простую винтовку, графон уровня unturned я точно осилю.
В посте твоем чувствую я поверхностный подход. Сразу скажу, сам я толком ничего не сделал (пилю тут потихоньку 2D-выживач в космосе), но на моем счету большой корован кодерских проектов. Позволь поясню, что мне не очень понравилось в твоем подходе - неопределенность. Слова "несколько", "в том числе" и так далее. Я настоятельно рекомендую тебе жестко определиться с тем, что твоя игра будет обрабатывать, иначе ты обязательно наткнешься на ситуацию, когда имеющийся код окажется несовместим с планируемым нововведением. Ты должен четко представлять как все работает и как взаимосвязано и лишь потом начинать писать код. Дальше уедешь.
>>176540 >Я настоятельно рекомендую тебе жестко определиться с тем, что твоя игра будет обрабатывать, иначе ты обязательно наткнешься на ситуацию, когда имеющийся код окажется несовместим с планируемым нововведением Ну я если честно хочу попробовать максимально упрощать код. Например, для большинства айтемов будет всего один большой класс. Таким образом создавая новый предмет, я просто путем использования класса GameObject буду задавать параметры объектов. Например, создаю ассет WaterBottle, который относиться к GameObjec, и через метод даю ему возможность утолять жажду, а Orange, например, можно съесть. А вот WoodenWall съесть нельзя, зато можно вращать перед установкой, разрубить топором и спалить. И новые фичи можно будет доабвлять просто новыми методами класса GameObject. Норм же идея, не? Я что-то подобное видел в java-коде Project Zomboid.
Для этого есть такое понятие, как интерфейсы и множественное наследование. Писать перекачанный базовый класс на 100500 методов на все случаи жизни - вырвиглазный пиздец. Не знаю как там в Unity с интерфейсами (по идее должны быть), но делать как в Java для зомбоида - на мой взгляд не самый лучший вариант. Закопаешься в коде.
Блядь, как думаете делать ролик презентацию для игры на движке-это норма, или нахуй так изъебываться и проще в чем-нибудь другом сделать? Кстати, в чем? Как их делают вообще, на всяких 3д максах, Майях?
У юнити есть старый мультиплеер и новый. Старый, очевидно, учить уже незачем. А новый вышел в очень сыром виде в 5.1, к нему очень мало документации и вообще отсутствуют какие либо туториалы/объяснения. Я в нем кое-как разобрался, но у меня ушла неделя, притом что я хорошо знал фотон. Поебался я знатно. Какие шансы у тебя? Ну сам прикинь как ты разбираешься в онлайне ВООБЩЕ и как в либах практически без документации в целом.
Алсо, мультиплееры бывают разные, есть клауд и есть дедикейтед сервак.
Фотон клауд легче всего изучить, но нет авторитативности. Дедикейтед геморный и написан на крестах, придется в с++ еще ебаться.
Напиши для чего тебе нужен мультиплеер для начала, в общем.
Антон, у меня есть обект гейммастер со скриптом, куда я добавляю перетаскиванием объект - текст, где отображаются игровые очки. Вопрос: когда я это все (гейммастер и текст) копирую на новую сцену, связи теряются. Что нужно сделать, что бы карды раз не добавлять объекты в скрипт?
Хочу сделать диабло-клон, но могу только писать логику. А весь смысл в красивых спеллах и анимациях, но на художника денег нет. Пилить с кубами и ворованными ассетами, пока кто-нибудь не присоединится?
>>176869 Есть дедики епта, но тебе их самому придется писать, а фотон клауд лепится как констуктор. Главный минус клауда в том что он дорогой - они убрали инди тарифы плюс доллар взлетел, поэтому ты рискуешь все доходы проебать на сервера
>>177162 Ручной пердолинг в новый юнет или в голые сокеты; так как либу для ваяния своего выделенного сервера юнитеки до сих пор не зарелизили (хотя обещали и в роадмапах она есть, отодвинули просто) можно пердолиться в сокеты. Я юзал Lidgren, заебок либа, но это още низкоуровневый путь - никаких тебе галочек на скриптах из коробки, всё сам. Как-то так.
Возможно ли реальзовать на Unity игру жанра Rhythm , аналог Audiosurf \ Guitar Hero \ Tap Tap и так далее, есть ли у кого опыт разработки такой игры, можешь рассказать, гугл меня не спасет.
>>177312 Да, через партиклы. Хинт — делай яркие и ОЧЕНЬ короткие. Хотя, можно и не яркие, это по вкусу и требованию к реализму, но короткие - обязательно. Не делай ебучий дым после выстрела.
И это всё ещё не совсем то, что я хочу - мне нужно, чтобы можно было проскользить пальцем по клавишам, как на пианино, не отпуская палец. А тач сейчас срабатывает только касание. Нужно сделать с .Moved? Не понимаю как.
Помогите ньюфагу. Решил сделать первую простенькую игру Tower Defence и сражу же обосрался. Вопрос очень глупый: как задать траекторию по которой будут двигаться мобы?
>>168691 Уважаемый Кирилл, Запилил недетерминистический реплей к юнити. То есть, реплей сохраняет данные о всех объектах каждые n секунд. Всё хорошо, однако, если его использовать для RTS, то сам понимаешь, придется хранить много данных. Поэтому хочу сделать детерминистический реплей, как в WarCraft, с сохранением только инпутов и сид радомов. Однако меня смущает физика юнити. Есть ли гарантии, что физическое поведение будет одинаково на всех платформах? Что думаешь?
Как точно разместить квадратные спрайты друг возле дружки? На пк выглядит нормально, уже зумил максимально, а на планшете всё-равно где-то насовывается а где-то щели.
>>177459 Смотря что ты делаешь. Если у тебя сложный проект с мультиплеером и кучей купленных или спизженных сложных ассетов, то лучше посиди. Если нет, то перекатывайся
>>177429 Ребята, хочу этим постом привлечь внимание к предыдущему. У меня член 2 см. И чтобы отвлечься от этого, я начал разрабатывать игру. И мне это удавалось, я практически забыл про мою беду. Но вдруг, неожиданно я уперся в стену - не могу разобраться с вопросом описанным выше. Волшебная магия отвлечения перестает работать и я снова начинаю вспоминать про свой 2 см член. Я боюсь не выдержать, и скорее всего застрелюсь в ближайшие часы, если ты, Анон, мне не поможешь.
Братишки, где мне набрать учебного материала на русском? В английский могу но на это уйдёт больше времени, так что реквестирую книги, видео и аудио на русском.
Есть 2D игра на спрайтах. Нужно делать противников и нужен NavMesh, но он очевидно работает с мешами только. Что делать? Переделывать всё в меши, или есть другое решение со спрайтами?
>>177606 > Какие познания c# необходимы чтобы устроится в контору, писать игоры на Юнити? На hh.ru заходишь и смотришь вакансии, там перечень необходимых знаний всегда будет указан. Хули ты на дваче это спрашиваешь, придурок.
>>177537 Да, есть такая проблема. Либо пиши свой навмеш, либо ставь орто-чётотам камеру и смотри на всё сверху, а спрайты рисуй поверх скачущих по земле навагентов. Как-то так.
>>177616 Хули мне какие-то придуманные требования? Мне нужно знать, что необходимо ДЕЙСТВИТЕЛЬНО знать, чтобы осилить работу. Вот в моём мухоссранске пишут ищем ПРОГРАММИСТА C#, а в конце приписка "для разработок на Unity3d", вот и хз что они там хотят.
Можно ли в Unity создать что-то вроде дебаг-компонента? Который отсекался бы при компиляции релиз версии? Я знаю про #if, но это не так удобно, как создание отдельных компонентов для отладки.
Юнити дает какие-нибудь возможности потыкать именно рендеринг? Угорел по компьютерной графике, но писать бойлерплейт желания нет. Интересны именно алгоритмы, всякеи BSP и так далее.
>>168691 Вопрос от нуба: Допустим есть у меня бонус (который создается случайно). Герой касается его и получает эффект. Как лучше обратиться к герою из бонуса? В данный момент я просто пишу типа "При прикосновении GameObject.FindGameObjectWithTag("Player").GetComponent<playerScr_w2>().takeBonus(id);"
Не правильно ли как нибудь по другому к герою обращаться или это норма?
p.s. Как вариант делать проверку пересечения в герое
>>177742 Ах да, я переволновался от того, какой ты ебанутый и неправильную декларацию указал. Она должна быть public static, так что public static playerScr_w2 Instance;
Как создать объект с определенным параметром? Допустим Бонус-3. Хотел сделать один префаб в него запихнуть каритнок и в зависимости от типа бонуса выводить нужную картинку. Но как создать нужный бонус? Т.е. если в другом языке програмирования можно сдлеать: Bonus bonus = new Bonus(3); То что делать в юнити?
Как вариант: 1) Сделать много префабов (для каждого бонуса) и выводить нужный из массива этих префабов 2) Сделать один префаб-бонус. При создании обращаться к нему и задавать ему параметры.
Это даже уже не смешно. На бонусе есть спрайт, так? Что мешает тебе написать скрипт бонуса, который бы в Awake или в Start подгружал бы в этот спрайт нужную текстуру из Resources?
Я бы написал enum со всеми типами бонусов, при добавлении префаба на сцену (в промежутке между инстанциированием и присвоением родительского объекта) я бы задал префабу бонуса определенный тип. Затем бонус бы сам подхватил все что нужно и правильно нарисовался.
Когда мне понадобился код, который динамически полностью меняет карту спрайтов на анимированном персонаже, я пошел в интернет и нашел его, ты же, как я полагаю, даже не пытаешься гуглить.
>>177758 Делаешь также как и сказал, т.е. Bonus bonus = new Bonus(3). Например полученую троечку кладешь в int bonusType.
Затем в этом же классе имеешь Start(). Погугли что такое Awake и Start, это важно. Вот в старте, в зависимости от bonusType делаешь свичкейс и выводишь на экран ту или иную картинку.
На юнити еще ни разу ничего не делал, хочу перекатиться, потому что очень похож по архитектуре на мой собственный движок (ECS), даже интерфейсом, только еще и в 3D умеет. Можно ли в юнити организовать поддержку скриптов?
Чтобы например лежал в папке с игрой файл script.txt, и по нему например генерилась карта, делалось поведение объектов, анимация задавалась. И добавлялась возможность модифицировать уже существующие ассеты (добавлять спрайты/модельки/все что угодно), и использовать их.
По запросу unity scripts гугол ищет скрипты C# внутренние. я же хочу чтобы поведение могло меняться извне.
>>177784 Делать надо ВСЁ, что приносит бабло. Изобретают чё-то раз в пару лет, а бабло делают оч многие на элементарных вещах. Я рад, что со мной конкурируют такие олухи как ты.
>>177761 Проблема "положить" 3ку в объект более правильным путем. В данный момент я из "главного" класса игры с помощью Instantiate создаю объект бонус. Потом GetComponent<Bonus>().switchType(3);
Но это чувствую криво -_-.
Если же делать. Bonus bonus = new Bonus(3); То получается что бы объект появился надо Instantiate вставлять в инициализацию класса?
>>177825 >Но это чувствую криво -_- Ошибка многих юнити-новичков в том, что они пытаются всё сделать через код. Используй редактор по полной. Все эти бонусы должны задаваться через редактор, а не через циферки и не через enum.
>>177860 Ошибка многих юнити-детей в том, что они пытаются всё сделать через редактор. Используй код по полной. Все эти бонусы должны задаваться через код, а не через циферки и не через editor.
Бонусы могут спавниться в процессе игры, бонусы могут выпадать из убитых врагов. Предлагаешь это через редактор реализовывать?
// создаём бонус в любом месте кода игры var bonuses = Bonuses.Instance; bonuses.CreateBonus(bonuses.Health, Vector3.zero);
// класс бонусов public class Bonuses : Singleton<Bonuses> { public HealthBonus Health; public SpeedUpBonus SpeedUp; public ShieldBonus Shield;
// сначала внутри CreateBonus используем Instantiate, потом начальник пиздит вас по голове за лаги и вы начинаете использовать пул объектов (но код игры нужно будет изменить только здесь) public GameObject CreateBonus(Bonus bonus, Vector3 position) { ... } }
>>177825 Ты, блять, программировать-то умеешь? Почитай про внедрение зависимостей и inversion of control. Не трогал ваш юнити никогда, но это >GetComponent<Bonus>().switchType(3) IoC как в учебнике почти. Читаешь, что это такое, осознаешь, зачем оно нужно, и начинаешь применять правильно. Что как ребенок-то?
Привет игроделы, у меня такая проблема. Есть объект со скриптом, у скрипта есть поле типа GameObject. В это поле будут попадать разные объекты с разными скриптами, но объединять их будет то, что у всех будут публичные методы с одинаковыми названиями, но по-разному реализованные. То есть, мне нужно будет вызывать, например, у каждого объекта из этого поля метод Metod(), независимо от того как называется этот объект и как называется его скрипт. Проблема в том, что для работы метода GetComponent(), с помощью которого я обычно получаю доступ к скриптам объектов, необходимо указывать тип в угловых скобках, а он заведомо неизвестен. Подскажите аноны, как мне это дело реализовать?
// реализуешь его во всех нужных классах class Pokemon : MonoBehaviour, INotification { public void DisplayMessage(string message) { Debug.Log("Pokemon say " + message); } }
// далее в своём скрипте делаешь так (GameObject - твоё поле) var component = GameObject.GetComponent<INotification>(); component.DisplayMessage("test");
>>177886 >зато прост в использовании А ещё он охуительно непредсказуемый. Он может вообще не вызвать метод, если игра сильно тормозит. Или может вызвать его, но только через n-ое время.
>>177891 Связь через интерфейс гибче. 1) Интерфесов можно унаследовать сколько угодно. 2) Не всегда можно унаследовать класс чтобы не потерять логику. Например дверь и банка варенья имею общий интерфейс IOpenable, но наследовать их друг от друга или от общего предка не очень логично.
>>177908 Иногда и это решение будет удобнее. - Интерфейс не найдешь функцией FindObjectOfType вроде - Нужно что-то сделать со всеми объектами этого типа, зачем геткомпонентить каждый геймобжект кода можно найти классы, сам геймобжект все равно будет доступен по gameObject.
Сап, анон. Помоги советом, как сделать анимацию для камеры от первого лица? Поясню конкретнее. Анимация задействует не только камеру, но и некоторое движение производит, пример - в шутанах обычно что-то подобное играется, когда перелезаешь через стену, или совершаешь какое-либо действие. То есть я не могу понять, стоит ли анимировать только камеру, или же весь объект игрока, или вообще игрока засунуть в еще один объект, и анимировать его? Анончик, выручай.
>>177940 Можно как-нибудь так сделать: - к скрипту камеры добавляешь поле CinematicModeOn, которое будет отключать управление камерой при помощи мыши и отключит ограничения на вращение - заранее заготавливаешь нужные анимации через стандартную систему анимации юнити - запускаешь нужную анимацию по названию, CinematicModeOn = true
Ребятки, тапками не кидайте, пожалуйста, совсем нюфаня. Как в скрипте дочернего объекта запросить логическую переменную из скрипта родительского объекта? По учебнику вот так, но не работает (учебник по 4му юнити по ходу)
public class Fire : MonoBehaviour { private СкриптРодителя ctrl;
void Start () { ctrl = transform.root.GetComponent<СкриптРодителя>; } и дальше, собственно, обращение
if (ctrl.логическаяпеременная) { }
Юнити ругается так: не удается привести группу методов 'GetComponent' к неделегируемому типу 'СкриптРодителя'. ЧЯДНТ? И еще вопрос: правильно ли это называть скриптами или лучше классами?
>>178019 Я в шарпе совсем мало бум-бум, но разве GetComponent<СкриптРодителя>; не должно быть GetComponent<СкриптРодителя>(); ? Это же вызов метода, не?
Тред не читал я же не дурачок какой-то, а вопрос есть. Хочу сделать игру и заработать миллионы. Суть такова: хотя похуй.
Игра - грубо говоря, несколько кнопок (элементов, на которые можно нажимать), заполняемые шкалы и куча циферок, а я не могу понять, делать это спрайтами обычными или как-то юзать гуй. Где эта грань между гуем и спрайтами?
Как перетащить в скрипт сразу много объектов? Типа объявил я public GameObject [] array; Но пока перетаскиваю по одному. Так как если начну выделять то сразу переключается от скрипта
>>178064 Там один долбоёб ванговал, что это появляется при выкручивании ползунков "металлик" и "смутнесс". На самом деле это баг, минимизировать эти белые точки можно, если удалить к хуям альфу из текстуры, но и тогда они полностью не исчезают и могут вылезти в самый неожиданный момент да и вообще без текстур вылазят.
>>178066 Ойвэй, как всё плохо. Хорошо хоть, что под мой проект и старого освещения в общем-то хватает, благо что не йоба-шутер.
В юньке вообще понимают, что одна из их ключевых фишек - PBR - работает непредсказуемо и весьма хуёво? Буквально месяц назад пилил шейдеры, в том числе и связанные с текстурами, всё работало нормально, тут вот скачал новую юньку и знатно так охуел.
>>178069 > в юньке вообще понимают, что одна из их ключевых фишек - PBR - работает непредсказуемо и весьма хуёво? Оно везде работает хуёво! — раздался голос со стороны юича
Аноны, а есть способы, чтобы на personal лицензии поставить себе темный скин. А то в темноте при переключении между темным скином студии и блевотно серым цветом стандартного скина юнити глаза уже болят. Заранее спасибо!
>>178081 >в темноте Включи свет даун, освещение за моником примерно должно быть равно освещению в нем, чтобы глаз не дергался на фокусировку от освещености. Настольная лампа подсвечивающая засраные обои подходит лучше всего. >темный скин По мнению британских ученых это говно приводящее к депресняку у 95% слабовольных петушков, лучше оставь себе светлый.
>>178069 Да не очень плохо, просто в шройдере недопил яркость пикселя получает запредельные значения. Тут наложилось несколько факторов - новый уёбищный латмапер и запил пбр с новыми шойдерами. И получили пару неочевидных багов. По идее, можно самому исправить. А так - допилят, хуле. Я вот жду, когда допилят апи к блендшейпам, но что-то не спешат.
>>178116 Законно. Качаешь буилтин шейдорс с сайта юнити. Находишь нужный, правишь, где надо, кидаешь в проект. Но шейдоры заметно усложнились со вводом пбр.
>>178155 Это пока только гидростатические силы. Гидродинамические - следующий этап. >>178171 Составляешь модельку, погружённую под воду, для каждого её треугольника применяешь архимедову силу. Формула несложная, но вот оптимизировать весь этот пиздец я подзаебался.
>>178175 >для каждого её треугольника применяешь архимедову силу Во-первых, ты ебанутый. Во-вторых, а если треугольников будет больше? Чем выше полигональность, тем сильнее эта сила? Ебанутый, чё ты там делаешь? А вообще, интересно, продолжай.
>>178321 Ты когда-нибудь игры вообще делал, клоун? Интересовался, как физика в них работает? Не нужно пытаться перенести поведение объектов из реального мира в виртуальный - ты все равно обосрешься и не сможешь учесть множество различных факторов, в итоге получишь нереалистичную поебень как у тебя на видео, либо получится так, что больше одного объекта на сцене пекарня просто не переварит. Физика - штука сложная, мой дорогой первокурсник, и поведение объектов в воде лучше тщательно заскриптовать/анимировать, ведь physX искаропки не имеет готового решения для воды и плавающих объекты не потому что они там такие тупые и не знают как это сделать, а потому что не рационально было бы использовать ресурсы компьютера для качественной реализации этой поебени. Для презентаций и демосцен твоя ебала сгодится, для игор - нет. Так что в реалиях игростроя твое поделие не имеет задач.
>>178324 Нахер ты мне это все написал? Автор физона выше наверняка это все понимает, если смог в такую симуляцию. Ой да забыл, дуракам половину работы не показывают, обосрут своими охуительными "кок-пок без задач, ирл нивзлитит кукареку".
Кстати, проблема воды это совсем не смешно. Как все нормальные люди, начал пилить воду шейдером. Пока не понял, что из шейдера не получу текущий уровень воды для коллизий. И в итоге получается, что волны шейдером делать нельзя, только скриптами. А это фпс хит. Беда.
Анон, помогите. Короче, насколько я понял определение координат нужно делать через vector3. Но это не главное. Вопрос: как сделать карту, на которой находится матрица ч заданными координатами?
>>178447 Тьфу, блять. Мозги не варят. Не так вопрос задал. Итак, есть карта. Карта поделена на клетки с заданными координатами. (Как пример: 1x1x0.5). Есть два вопроса: 1)Как лучше делать карту? Чтобы в каждой клетке была своя земля или сделать полную карту, а затем на неё сетку пилить? 2)Как лучше делать перемещение? Тупо прибавление к имеющейся координате? (Опять пример: если игрок хочет переместить персонажа влево на 5 клеток, то 0.5+5)
>>178444 Так это единственный вариант. Я о том, что расчёт волн в скрипте -> расчёт на цпу -> потеря производительности. На гпу это будет очень быстро, но не на цпу. Скорее всего, придётся городить костыли и считать только метров 10 от камеры.
>>178456 >расчёт на цпу Вместе с визуализацией можно еще рендерить карту высоты воды, а на следующем кадре использовать ее для подбора правильной высоты кораблика и прочих плавучих кубов.
>>178458 Кокой у вас изящный костыль, сударь. >>178456 У тебя там что, стимуляция реального мира? Тебе же надо пересчитать одну матрицу и применить её ко всем плайнам, лол, или ты прям хочешь волны от лодки пускать физические?
>>178449 >Тупо прибавление к имеющейся координате? (Опять пример: если игрок хочет переместить персонажа влево на 5 клеток, то 0.5+5) Да. В двух измерениях это x = x0 + cos(angle) dist; y = y0 + sin(angle) dist; где angle - угол, по которому ты перемещаешься, dist - расстояние, на которое ты перемещаешься, x0, y0 - текущие координаты. Для z координаты не помню, что там использовать, синус или косинус.
>>178458 Ну да, ты такой пиздец умный. Из шейдера я получить могу ровно нихуя. Или ты предлагаешь делать ещё одну камеру, рендерить в неё воду под углом 90 градусов, из камеры в рендертекстуру и из этой текстуры получать значение z-буфера?
>>178462 >стимуляция реального мира Ноуп. У меня там пока хуёвенькая вода с какой-то ебучей пикселизацией и без коллизий вообще. Хуй знает, про какие матрицы ты несёшь, там матрицы не нужны и слава хаосу. По сути, нужно высчитать ту же "карту высот" обычный массив, основываясь на входных данных и передать в объекты на воде. И, по сути, если рисовать "не-физические" фейковые волны от лодок, то всё равно их придётся рисовать через скрипт, а не через шейдор, потому нет никаких проблем сделать их физическими, кроме производительности.
>>178479 > Или ты предлагаешь делать ещё одну камеру, рендерить в неё воду под углом 90 градусов, из камеры в рендертекстуру и из этой текстуры получать значение z-буфера? Проиграл чёт. А ты попробуй так: для обычных волн, которые синусоида (обычные морские волны, например), подстрой колебания шейдера 1:1 под коллижн, а для волн от предметов ограничься шейдером и не просчитывай их физон, нахуйнада. Если хуйню несу извиняй
>>178521 >подстрой колебания шейдера 1:1 под коллижн Думал на счёт этого. Но это будет работать только если вода одним плейном.
>а для волн от предметов ограничься шейдером Шейдер не знает, где рисовать волну - нужно вычислять скриптом и слать в шейдер.
>ну или рисуй сам z-буфер Нинужен. Это шняга, которая определяет глубину пикселя при рендере.
По сути, вариант один - сгенерить карту высот скриптом, по ней же сгенерить меш скриптом и передать физону и шейдеру. Ну, как вариант, генерить два меша - для физона попроще. Хотя я всё равно хуйнёй страдаю, надо делать, а не ныть, что производительность проёбывается на ровном месте.
>>178527 >Или ты предлагаешь делать ещё одну камеру, рендерить в неё воду под углом 90 градусов, из камеры в рендертекстуру и из этой текстуры получать значение z-буфера? Ага. А что сложного? Тебе трудно установить ортографическую камеру над текущей игровой камерой и рендерить в нее воду хоть отдельным проходом, хоть в том же проходе что и визуализация? Затем снять ее и найте где находится кораблик относительно камеры, затем использовать этот уровень воды для расчета физона выше итт.
Из достоинств: воду можно будет как угодно шатать синусами-косинусами в шойдере и кораблик будет достоверно реагировать на волны.
>>178527 > Шейдер не знает, где рисовать волну - нужно вычислять скриптом и слать в шейдер. Можно попробовать прожектами, как в крузисе. > Нинужен. Это шняга, которая определяет глубину пикселя при рендере. Хуёво выразился, имел в виду хаймеп. Ну ты меня понял. > сгенерить карту высот скриптом, по ней же сгенерить меш скриптом и передать физону и шейдеру
>>178531 >>178527 Хотя, кстати, насчет пер-пиксельной хаймепы я погорячился — для твоего скриншота например она нужна будет Pizdolion*pizdolion пикселей, а ты наверное в курсе что читать ЦП эту карту будет пиздолион лет. Да даже видюха будет её пиздолион лет читать! Если вообще удастся загрузить её в память полностью. Это тебе не террайн, у которого 2048^2 пикселей.
Баклажанчики, стоит ли делать интерфейс игры на основе нового UI из Unity5? Мне нужная кнопка для вкл/выкл звука и пару кнопок для главного меню. Не будет ли проблем на разных разрешениях?
>>178555 Равняюсь на физон машинок из "нфс". Трёхсотонные неуправляемые утюги - вроде то, что надо. А так - физона нет, всё фейковое, кроме коллизий, но часть коллизий тоже фейковые. Но толком ещё и фейков нет, пока пилю. В отличии от анона сверху с архимедовой силой, я не хочу делать честный физон.
>>178556 Самописную или фотон, фотон хоть лучше червя-пидора.
Посоны, как скачать ассет не через ассет стор? А то мой хуевый инет вечно разрывает, и я пытаюсь скачать это говно уже раз 6ой. почему бля у них системы возобновления закачки?
>>178605 >что не так делаю? Страдаешь хуйней вместо того чтобы запилить свое решение. Как ты игру собрался делать, если даже контроллер залабать не можешь?
>>178617 >Причём тут байтоёбство, поехавший? А при том, что ты проявляешь первые симптомы. Сегодня тебя тянет написать свою собственную сеть при наличии уже готовых вполне нормальных решений, а завтра полезешь полезешь к опенгл-блядям в тред спрашивать советов. Сиди лечись, пока не поздно, потаскай ассеты пару часов и пойми как ты был неправ.
>>178646 Сирануш с байтоблядкф-кукаретика. хэллоуворлд послать васяну по сети и рабочее решение с авторизацией, матчмейкингом и нормальной скоростью это разные вещи, прикинь
Ну же, посоны, есть юнити 5, есть third person controller, там написано, удалите дефолтную модельку, вставьте свою - профит. Я так и делаю, управление персонаж получает, но проигрывает только одну анимацию. И я никак не могу понять, почему анимации не меняются? Куда смотреть то? Весь инет обгуглил.
>>178682 Такс, таки нашел, дело было в том, что другой компонент выбирался. Ну ладно.
Вопрос еще. Я вижу как многие модельки в ассетах сделаны так, что у них кости отдельным чайлдом, почему? Как так сделать? У меня при импорте кости просто где-то внутри.
Анончики. Собираюсь делать что-то типо рогалика, для этого мне нужна рандомная генерация уровня. Собственно вопрос, для генерации у меня уже будут шаблоны комнат, если я для каждой комнаты запеку NavMesh, то как мне сохранить его при копировании/создании этой комнаты?
>>178629 >уже готовых вполне нормальных решений Если ты про слоупочные кривое жсоноговно, которое фотон\ракнет, то лучше написать своё кривое говно, которое будет быстрее в десятки раз. И более гибкое, свой-то сервер с чужим говном юзать нельзя.
>>178735 >фотон/ракнет >жсонопараша Какие ваши доказательства? Хайлевел абстракция с сериализацией? Это тащемта с любой либой можно делать. И то и другое позволяет отправлять и принимать бинарные данные, можно байтами хоть обпердолиться.
>>178735 Я ни за что не поверю, что у тебя есть опыт проектов, на которых сказывалась слоупочность фотона/ракнета. Для поделий среднестатистического кирилла их вполне хватает.
>>178743 Сейчас как раз пилю, лол. >Для поделий среднестатистического кирилла Вообще сеть не нужна, потому что никогда не будет допилено. Но посуди сам, юнити ракнет не работает без релея. Собственно, эта новомодная сеть - только релей и больше нихуя. А это +100-200 мс к пингу. Если делать сервер на игроке, а-ля каэсочка, то это пинг игрока+пинг сервера, что уже подбирается к 500 мс. Подходит только для пошаговых игр. Попробовал пингануть сервер фотона, он вообще не отвечает, лол, 100% потерь. Молчу уж о том, что если я хочу даже простенькую серверную логику отдельно от клиентов, то оба подхода можно даже не рассматривать.
>public static bool Send(int hostId, int connectionId, int channelId, byte[] buffer, int size, out byte error); >byte[] buffer Ебись с байтами сколько хотишь. Что, впрочем, для любого проекта уровнем повыше хелловорлда, весьма предпочтительно.
>>178685 Что ты имеешь ввиду под "считать"? Хуй поймёшь, что ты хочешь.
>>178777 Ох нихуя. Когда знакомился с этой хуйнёй, вроде, не было байтов. Но это один хуй не важно, своё говно надёжней, быстрей и без прослойки на левых серверах.
>>178823 Нормальный графоуни, хуле тебе не нравится?
>>178856 Вот сам возьми и почитай её, хуесос ты сраный. Почитай и убедись, что нихуя там такого не написано, можешь блядь хоть в интернете погуглить и всё равно нихуя не найдёшь. Потому что сама идея о том, что кто-то будет платить за все эти серваки, это долбоебизм.
Уже один раз обосрался и был мокнут мордой в своё дерьмо, нет он блядь снова лезет.
Пытаюсь сделать АИ движения корабликов. Прикрутил NavMesh - все отлично кроме одного. Не понимаю как сделать так, чтобы при обнаружении цели NavMeshAgent не сразу "перемещался" к нему, поворачиваясь на месте, а нормально бежал по дуге.
Поиск ничего не дал кроме этой замечательной картинки с форума юнити, где кто-то озадачился такой-же проблемой, а ему ответили хуй.
>>178969 Выставь у НавМешАгент скорость 0 и прицепи скрипт (а он уже должен быть, может ты его назвал Vehicle?) в этом крипте флаг IsMoving, если тру, талкай вперед обнавляя навмеш, по плану он должен так же поворачиваться туда куда ему нужно и машина будет ехать только вперед, а не боком.
Сап, аноны. Смотрите какое дело: спавню в руку своему персонажу пекаш, а он, в зависимости от того куда смотрит персонаж, крутится, растягивается и плющится в руке. Это просто пиздец. Спавню таким образом: Instantiate(gunHolder, gunHolder.position, gunHolder.rotation) gunHolder - это пустой объект, его ось Z смотрит туда же, куда и рука.
Аноны, знаю сишарп довольно поверхностно, стоит ли учить сишарп одновременно с обучением юнити или же сначала подтянуть язык хотя бы на средний уровень?
Пачаны, не устанавливайте Unity 5.1, если разрабатываете игры на андроид. Эти хуи подключили там аналитику, которая добавляет три пермишена в апк: - android.permission.READ_PHONE_STATE - android.permission.INTERNET - android.permission.ACCESS_NETWORK_STATE
Отключить их нельзя. В версии 5.2 обещают убрать "READ_PHONE_STATE", но остальные два останутся. Отключить их можно будет только в Pro версии. Они таким образом будут собирать информацию об игроках.
>>179064 Я тебя огорчу - эти пермиссиям давно не требуется разрешение от устанавливающего приложение. Если ты качаешь с гугла игру и при установке написано "не требует специальных разрешений" - никто тебе не дает гарантии что этих пермиссий в игре нет. Сноуден мамкин блядь, выкинь телефон и пека в окно и запрись в туалете чтоб за тобой не следили.
Сап, аноны. Помогите реализовать фишку: есть UI, в нем объект Inventory, в котором лежат UI-объекты, которые рисуют инвентарь. Как мне его скрыть/показать? Пробовал SetActive(), но это не вариант, так как в отключенном состоянии к содержимому этого объекта не обратиться.
>>179134 Зачем тебе обращаться к UI, когда он отключён? UI и инвентарь должны быть отделены от друг друга. То есть есть визуальное представление инвентаря, и есть инвентарь в коде.
>>179135 А ведь ты прав. Сам стараюсь делать все как можно более абстрактно и независимо друг от друга, а с инвентарем что-то затупил. В общем, я за каким-то хреном обновлял UI инвентаря при изменении его содержимого в коде, даже когда UI инвентаря был отключен, что приводило к ошибке. Теперь поставил обновление на открытие инвентаря и все работает как я хотел. Спасибо за совет.
>>179414 Как ты собрался пилить убийцу кукурузиса, если ты не можешь в текстуринг, моделлинг, шейдоры, саунд и партиклы? Или умеешь, но у тебя дохуя свободного времени, лет так скажем 20-40? Или у тебя команда в 200 человек есть? Зачем тебе анрил енжин, клоун? Это двигло не для кириллов, а для профессиональных студий. Почему ты так за него копротивляешься?
>>179424 Ребёнок, где я тебе сказал, что я пилю убийцу крузиса и что-то не умею? Где я хоть слово сказал, что копротивляюсь за уе? А нормальное сглаживание и свет заметны были бы даже на твоём юнитиговне. Хотя когда в глаза ебёшься, то и мыло норм
Есть один ПК, один проект на юнити, три монитора, три камеры в проекте.
Как вывести изображения с камер на физические мониторы? Т.е. основная камера привязана к основному монитору, а два других монитора показывают эту же сцену, но с других камер.
>>179479 Ну да, был вариант сделать под второй монитор билд-клиент с прикрученной камерой, запустить на отдельной машине и ней прихуярить монитор и гонять по сетке локальной данные. Ебануто, безумно, костыльно. Но что-то других вариантов не видно. Либо запустить второй клиент на той же машине, окно и посылать ему данные, эмулируя сетку. Само окно приложения закинуть на виртуальный экран и вывести его на второй монитор.
>>168691 (OP) Аноны, хочу написать систему для сохранения равновесия в этом вашем Юнити 3ЖЕ, не могли бы вы ответить на пару вопросов? Есть ли реалистичная физика материалов? Можно ли в одном объекте сделать модули(конечности) И заставить их вращаться по разным осям в одном объекте? Есть ли в игре центры тяжести? То есть, можно ли сделать так, чтобы объект падал при неправильном центре тяжести? Как у вас идут камеры? Могу ли я не привязывать ее к объекту, а сделать летающей и ограничить одной комнатой?
>>179499 Можно ли начать вести разработку на питоне? Можно ли сделать так, чтобы от положения одной конечности зависело расположение другой конечности? И можно ли взять 3Д сканнер и эмулировать все пространство в юнити?
>>179406 >В гугле забанили и в игры не играем, да? И в гугле, и в играх, по сути, одно и то же. Хдр = вырвиглазный блум. Вот я и спросил, нахер он вообще нужен. Но раз ты тоже не знаешь, нахуя это говно, то мамке привет передавай.
>>179499 >Есть ли реалистичная физика материалов? Этого нигде нет. Но физические материалы в юнити в наличии.
> сделать модули(конечности) > центры тяжести > чтобы объект падал > не привязывать ее к объекту, а сделать летающей > от положения одной конечности зависело расположение другой конечности Скриптами реализуется. Про питон забудь. Ну или если ебанулся достаточно, то гугли коннектор.
>>179519 А юнити это поддерживает вообще? Я могу расположить какой-нибудь Sense 3D, сканировать местность, перегонять ее в 3Д редактор и загонять в Юнити?
>>179522 >А юнити это поддерживает вообще? >перегонять ее в 3Д редактор и загонять в Юнити Ну наверное, модели для игор в редакторах же делают, не? Ты задаешь такие вопросы и хочешь сделать 3д-сканер? Я думаю тебе стоит начать с крестиков-ноликов.
>>179518 > Хдр = вырвиглазный блум. >Да нах мне чет гуглить, че я даун, васян из 9-б сказал что это типо блум и нах нада))) Матчасть учить, че я умный штоле)))
>>179524 >Ну наверное, модели для игор в редакторах же делают, не? Ты задаешь такие вопросы и хочешь сделать 3д-сканер? Я думаю тебе стоит начать с крестиков-ноликов. 3Д сканнер есть, просто узнаю возможности юнити, хочу использовать его, как движок для робота
>>179520 Не просто си, а сишарп. Бу в юнити для галочки, "яваскрипт" на самом не яваскрипт и тоже для галочки. В любом случае, писать на шарпе достаточно удобно, так что проблем не вижу.
Сап, аноны. Есть гайды по созданию файлов с данными и чтению из них?
Суть такова: есть экземпляры класса, при старте игры в них должны подгружаться характеристики для каждого экземпляра. Вопрос: ка, из какого типа файлов и как эти файлы создать и вбить в них инфу?
Когда пилил движок на Java делал это через *.txt, но ведь это пиздец убого, да, анон?
Посоны, нид халп. Есть несколько спрайтов. От размеров текстуры, используемой в спрайте, расчитывается размер УИ-элемента, на который, собственно, этот спрайт и натягивается. Вроде все норм робит. Но если я ставлю на спрайты пэкин тэг, и пытаюсь собрать текстуры в атлас, то в результате sprite.texture.width возвращает размер конечного атласа. Как мне получить размер именно нужно текстуры в атласе в рантайме?
Котаны, планирую делать свою игруху в жанре OLD-like RPG. И мне хотелось бы в него запилить респавнящуюсь живность. А теперь внимание вопрос. Можно ли сделать при помощи C# (или более простыми путями) зону или обьект в котором будут респавнится неписи. Ближайший пример сталкер с его гулагами там в случайный промежуток времени спавнится сталкер\ы с рандомными характеристиками и снарягой. Я ПРОШУ НЕ САМ СКРИПТ, А ЛИШЬ ХОЧУ УЗНАТЬ, ТАКОЕ ВОЗМОЖНО ? С меня няши.
>>179608 Скрипты могут изменятся по другим скриптам ? Вот скажем есть Скрипт (или какой тип файла нужен для хар-к) Опыт Одноручное Двуручное Дробящее и ещё с десяток разных статеек, а они передаются уже к скриптам анимации которые отвечают за анимирование персонажа.
>>179609 >Скрипты могут изменятся по другим скриптам ? Конечно могут. Более того, можно завести статические классы и обращаться к ним из любого места программы.
>>179596 Бампую вопрос. Как мне быть? Я так понимаю, что если ставить пэкин тег, то в билд текстуры попадают уже в виде атласа. И, получается, размеры исходной текстуры я получить не смогу? Придется заводить несколько векторных переменных, чтобы этого говнго хранить? Или есть какой-то способ выдрать из атласа размеры исходных текстур?
>>179614 Доки кури, у спрайта дохуя всяких переменных, связанных с размером bounds, rect, textureRect, textureRectOffset, ты всегда так по нескольку часов не можешь нагуглить решение таких простых затыков? http://docs.unity3d.com/ScriptReference/Sprite.html
>>168691 (OP) Аноны, а как у вас происходит сохранение равновесия? Я могу сделать так, чтобы при неправильном центре масс или ударах мой персонаж падал?
>>179671 Бля, ну не обижайся, я веду исследовательскую работу, если у меня все получится, то возможно будет прорыв в науке и социальной сфере жизни большинства населения + появится новый рынок Я кстати разобрался с 3Д сканнером, жаль, что у него диапазон всего 3 на 3 метра сканирование, но теперь мне осталось еще помучиться с 3Д редактором (Хочу сделать автоматическую обработку информации. Блин, кстати, придется копить на нормальный процессор за 30к. Может попиздим с тобой немного, можешь объяснить, есть ли в юнити свободная гравитация и точки опоры?
>свободная гравитация Хуй знает, о чём ты. Гравитацию можно отключить отдельно для любого ригидбоди либо задать глобальную в сцене >Physics.gravity = Vector3(0, -1.0, 0); Точки опоры? Хуй знает, о чём ты, но объекты с коллайдерами могут опираться друг на друга. Единственное "но", очень не советую, чтобы коллайдеры проваливались один в другой. Можешь заглянуть в кар туториал, он старый, но там есть пример реализации центра тяжести скриптом.
>>179676 >проваливались Нет, ладно, смотри, у меня есть шест и на его конце есть тяжелый шар. Не важно как, но я воздействую на шар с шестом. Как в этом случае себя поведет юнити?
В Unity только пол года назад вкатился. Суть: Есть две сцены. Нужно создать переход между ними. Читал, что есть функция Application.Load(). Как мне сделать своего рода "загрузку", которая отображает процесс загрузки пока все гейм объекты второй сцены прогрузятся и выполнят Start() своих скриптов.
Котоны, есть ли мануалы уровня "пилим изометрическую тактику за 5 минут для дегенератов", чтоб готовые скрипты с комментариями? Или лучше таки изучать "общие" туторы по всем возможностям движка?
Поясните, как запилить бесконечный раннер, который собирает всё из заранее сделанных заготовок. Я не придумал ничего лучше, как рандомно выбирать эти заготовки и собирать их потайлово как на пикрелейтед. Попроще способы есть?
Юнята, как создаются светящиеся поверхности/объекты, как на пике? Это сама поверхность излучает свечение или же там просто в нескольких местах размещены point light'ы, а на поверхность наложен обычный diffuse шейдер?
Ладно, можно сказать я решился взяться за дело спустя месяцы ридонли. Я не буду вас мучать огромными простынями про "охуенная игра, делаю охуенную игру, пишите код за меня, а я посижу", просто буду иногда задавать тупейшие вопросы базового уровня. И разжуйте слегка ответы, мне нравится как вы объясняете итт, гораздо лучше рандомных туториалов c ютаба доходит.
Первый уже есть. Как сделать, чтобы кубик двигался в точке, в которую я нажму. В определение координат нужной точки я уже смог. Как придать движение?
>Вычитание векторов удобно для получения вектора, который показывает из одного местоположения на другое. >Когда мы имеем дело с направлениями (в отличие от местоположений и скоростей), важно, чтобы вектор направления имел длину, равную единице.
>>180702 Да, действительно просто. Впрочем я догадывался. Уже делал так же вчера, просто забыл про умножение на скорость и немного недоумевал.
Кстати, координаты высчитываю через луч от камеры до мышки. Из-за этого натыкаюсь иногда на искомый куб и он начинает взлетать, пытаясь двигаться к поверхности самого себя. Есть другие методы? Или может попробовать сделать коллайдер?
Какая-то хуйня в одной проекте. Персонаж там проходит через большую часть коллайдеров, как-будто их нет блядь. Разве что застревает уже внутри, через метр где-то. Там же какая-то хуеверть с ригидбоди, которые при фризе позиции и поворота все равно поворачивается и двигается. Я хуею с этой параши. Тоже самое говно кинул в другой проект - работает как часы блядь.
Смотрел стрим недавно и там мужик выдавал сотни строк кода не отвлекаясь. Я же постоянно что-то гуглю и сверяюсь. Когда я смогу как он? Сколько лет нужно чтобы выучить стандартные функции чего-то уровня юнити и не обращаться к документации?
Хочу сделать стратегию типа world in conlict. Умею делать только модельки, но в Unity не экспортировал так-то. Есть шаблоные проекты бесплатные похожие по механике на WIC, чтобы взять и заменит модельки?
Оказывается если покопатсья в сбастейте в меканиме, то можно нахуй его убить, подняться он уже не сможет. Надеюсь дома осталась вчерашняя версия, восстанавливать не так уж много в целом, хотя неприятно. Буду знать теперь, что к сабстейтам вообще нельзя лезть.
>>181030 Это хуйня. Я вот блупринт всю ночь писал в юиче, сделал копию, удалил оригинал — копия перестала работать. пидарики кароч. хочу движок без статуса БЕТА
Пагни, есть текстура. Есть спрайт, с этой текстурой. Текстура, например, 20481536. Есть экран размером, например, 1296642. Есть УИ панель, растянутая на весь экран. В компонент image этой панели передан спрайт, о котором я говорил выше. Если я выбираю image type симпл, то спрайт просто натягивается на панель, в итоге все, что нарисовано на текстуре сплюскивается. Такой же эффект при выборе слайсинга.
Если выбрать тайлед, то текстура не влазит в экран, и отрисовка начинается с нижнего левого угла текстуры.
Как мне сделать, чтобы текстура сжималась с сохранением пропорций, например, до ширины экрана. А лишнее по вертикали просто не отрисовывалось, как при тайлинге?
Ананасы помогите. Есть Animation Controller, который отлично проигрывает движения, но как только надо играть анимацию атаки-у него ступор и он её игнорирует - там по сути каждый Update шлются данные о том, была ли атака в контроллер - но судя по дебагу переменная меняется настолько быстро, что анимация не успевает проиграться. Как с этим совладать? Или лучше не пользовать меканим?
Есть две комнаты, в одной стоит нпс 100hp, в соседней опасный газ. Между комнатами дверь, она открывается и газ постепенно проникает в комнату. Только когда газ дойдет до нпс, тот должен получать урон. Как можно реализовать систему воздуха?
>>181663 Зачем тебе симулировать газ? Просто сделай таймер. Хочешь физично - почитай про молекулярку, концентрации, скорость диффузии. Реши диффур. И сделай таймер основываясь на нём.
Скажите пожалуйста, как сделать так чтобы функция принимала другие функции как параметры навроде GUILayoutOption? Чтобы я мог, например, написать Shit.DoMyStuff(Options.Option1(string), Options.Option2(int));
Посоны, а ничегож в юнити плохого не будет естли я удалю Temp и Library? В лайбрари вроде тоже только кеш импортированного. А то я сейчас бекаплю иногда проект, а стал смотреть на что место тратися - сам проект 200мб + 200мб темп + 500мб лайбрари какие то шейдерные кеши
>>182552 Для бекапов (да и вообще переноса проектов с места на место) нужны лишь папки Assets и ProjectSettings. И да, зачем ты делаешь бекапы вручную, а не используешь для этого какой-нибудь гит?
>>178735 У сетевого кодирования много подводных камней. У фотонов то полезное свойство что их за тебя решают другие люди, тебе надо только CCU нагонять. Ну вот неужели хочется писать свою авторизацию через мордокнигу и ингейм покупки? Лучше уж Entitas-CSharp распараллелить и кэшами ему там подрочить.
Поясните за вот эти поля в скриптах. Если я вставляю строчку unit.gameObject.AddComponent<PlayerSelectable>(); в одном месте кода, то это поле имеет то значение какое я указал. Однако я вставил эту же самую строчку в другое место - в другую функцию в том-же самом классе, и поле равно null. Мистика какая-то!
Я так понимаю, в Унити нет возможности высирать префабы которые отличаются каким-то параметрами? Т.е. создавать Ёбу рандомных размеров? Надо сначала создать, а потом менять параметры у каждой конкретной Йбы?
>>183144 То, что ты сделал и есть >а потом менять параметры у каждой конкретной Йбы Я же спрашивал, за изменения параметров префаба, а затем уже ИНСТАТИАТЕ. Зачем? Да хуй знает, просто интересно.
Посоны, у меня есть скелетная анимация, есть разбитие на руки и ноги. На руках висит несколько вариантов анимаций, их нужно проигрывать в разное время по нажатиям кнопок. Есть ли оптимальные варианты написания такого кода, а не как у меня? http://pastebin.com/412vUFKg
>>183269 Зачем ты так ебёшься? В Unity же есть встроенный конечный автомат, который не только позволяет делать плавные переходы, но и контролировать всё, передавая туда параметры.
Посоны, давльно давно работаю над игрухай. Есть прототип, но такая фишка, я хочу ввести типы патронов (для каждого оружия разные) Скажем 5.56x39 (Бронебойные, Со Смещ.центром тяжести, Дозвуковые и т.д) делать их скриптами ? Как вы вообще реализуете различные типы боеприпасов к оружию ?
Как побороть постоянно неработающие сочетания клавиш в монодевелопе? То блядь копирование не работает, то вставка или сохранение, иногда по пять раз приходится перезапускать сраный монодевелоп. Особенно разрывает жопу когда хоткеи перестают работать после банального создания нового скрипта.
>>183478 > закрой свой тридэмакс и начти с прочтения инструкции к меканиму > ну мы тут короч типа делаем модельку и без задней мысли делаем анимацию в меканиме, просто импортируя модель > когда ты импортируешь модель, она использует легаси, без которой анимация не проигрывается даже при использовании кода из примеров Как же я хочу нассать на тебя.
Господа, а у меня тоже есть вопрос по анимации. Почему когда я импортирую модельку и делаю аватар "из этой модели", он где-то есть, но найти его могу только в настройках аватара, в инспекторе его нет, но когда ту же модельку импортирую еще раз и указываю "скопировать из другого аватара", тогда в иерархию обьекта добавляется доступный в сцене скелет? Это я хочу делать keyframe анимацию в юнити, может я чего не так делаю?
>>183604 >аватары же ложатся во вкладку импортированной модельки сразу как кнопку нажмеш. Аватары, да. Но не скелет.
У меня получается так: 1) Импорт первой модели, сделать аватар из этой модели - у модели есть аватар и нет скелета. Точнее он есть, но он куда-то зашит, и трансформить его руками я не могу. 2) Импорт второй модели, скопировать аватар, аватара личного нет, используется тот первый аватар, но зато есть скелет, который я могу в сцене трансформировать. Вот и вопрос, как же правильно импортировать, чтобы был этот скелет? (2 раза одну и ту же модель туповато) Или может его как-то можно "отобразить"?
>>183705 Короче, это даже с одной моделью противоположные вещи, делаю аватар - есть аватар, нет скелета, копирую аватар - появляется скелет, исчезает аватар. И что за хуйня? Аватар нужен для аниматора, а скелет для создания анимации. И чё делать? Иметь 2 разные модели для этих целей? Опять же, я этот скелет появляется во время конфигурации аватара, но потом его опять нет. Вот у меня чувство, что где-то что-то недопонял.
>>183706 И 2 модели иметь для этого не могу, так как пересадить скелет не получается, анимируется именно та модель, на которой был записан кифрейм. Нихуя я в общем не понял.
>>168691 (OP) ЮнитиМастера, дайте совет. Есть объект со свойством circle collider2D, есть стена в которую он упирается при ходьбе, но если в стену долбиться, то он проваливается в неё. Что за х? Какие решения? Для перемещения используется transform.Translate(направление*скорость); У меня есть подозрение, что когда стоит высокое значение скорости, то объект проваливается. Но хз
>>182914 Давай я тебе помогу создавать твои проекты ? Сделаю все за копейки! А тебе, Анон, напоминаю: Пишу скрипты/делаю проекты/пилю дизайн на Юнити3Д от 50 рублей. Очень хочется кушать. Вот мое мыло: [email protected]
>>183742 А обучаешь? Если бы ты смог ответить мне на вопросы, которые я не могу найти ни в доках, ни в гугле, ни в гд, тогда б я тебе вполне дал пару рублей.
В гуе есть объект Panel. Он - чайлд текста. Я скрываю текст, выключая его (text.enabled = false), но панель не выключается и продолжает висеть перед камерой. Что я делаю не так?
Начал переделывать анимацию под блядский меканим. У меня фатальный недостаток - нет AnimationController, следовательно, я сосну с меканимом. Что делать? На легаси перекатываться обратно уже поздно.
>>183780 Так задумано. Если хочешь скрывать сразу всю ветку иерархии, то сделай внутри основного Canvas ещё один и уже на него цепляй объекты, которые надо скрывать.
Задизейбленые Canvas'ы скрывают всех своих чайлдов.
>>183738 А ты прежде чем делать Translate, проверяй - есть столкновение или нет. Ну и желательно физические расчёты делать в FixedUpdate, иначе заебёшься бороться с артефактами дельта-приращения времени (просадка fps - и персонаж застрял "в текстурах").
как в скрипте определить факт соприкосновения объекта игрока с другими игровыми объектами? в моем случае - соприкосновение сферы с полом, стенами и прочими объектами. необходимо для реализации прыжка таким образом, что прыжок возможен, только если на данный момент игрок касается какой то поверхности. да, от стен тоже хочу отпрыгивать с#
>>183886 Задумано в fbx ебошить, но меня чот заебало каждый раз после фиксов экспорт делать. Так-то сохранил и пердолься со скриптами, юнити сам всё зделоитю
>>183887 >юнити сам всё зделоит Ну... он тебе показывает как будто моделька в max, а на самом деле автоматически импортирует в fbx и следит не обновилась ли она. Такая же история с любыми другими ассетами, покликай по ним в редакторе и подивись, что инспектор в своём окошке показывает "Import Settings".
>>168691 (OP) >>168691 (OP) Тупой ньюфаг в треде. Пилю свою первую игру. Поясните за UI. Я хочу сделать так, чтобы при наведении курсора мыши на определенный слой/обьект у меня появлялся на экране button. Когда курсов мыши не на нем - button исчезал. Потом скрипт добавить к main camera. План был таков: Vector3 m = Input.mousePosition; m = new Vector3(m.x,m.y,transform.position.y); Vector3 p = GetComponent<Camera>().ScreenToWorldPoint(m); RaycastHit hit = new RaycastHit(); Ray ray = new Ray(new Vector3(p.x,20,p.z), Vector3.down); if (Physics.Raycast (ray, out hit, Mathf.Infinity, groundMask) && a==0) { GameObject button = (GameObject)Instantiate (towerButton); a = 1; } if (!Physics.Raycast (ray, out hit, Mathf.Infinity, groundMask) && a>0) { Destroy(towerButton); a = 0; }
} Не работает функция исчезновения button`a. Скорее всего у меня ебанутый способ и есть проще. Помогите пожалуста.
>>183917 Еще раз: Vector3 m = Input.mousePosition; m = new Vector3(m.x,m.y,transform.position.y); Vector3 p = GetComponent<Camera().ScreenToWorldPoint(m); RaycastHit hit = new RaycastHit(); Ray ray = new Ray(new Vector3(p.x,20,p.z), Vector3.down); if (Physics.Raycast (ray, out hit, Mathf.Infinity, groundMask) && a==0) { GameObject button = (GameObject)Instantiate (towerButton); a = 1; } if (!Physics.Raycast (ray, out hit, Mathf.Infinity, groundMask) && a>0) { Destroy(towerButton); a = 0; }
>>183918 Попробуй не Destroy(); а вот так towerButton.gameObject.SetActive(false); Я у себя так кнопку прячу и показываю. Насчет остального не подскажу. Сам только недавно начал учить.
Создаешь на своём объекте компонент Event Trigger (Add Component\Event...), после чего добавляешь в нём два обработчика событий (кнопка Add new event type) - OnPointerEnter и OnPointerExit. В них прицепляешь методы-обработчики, которые будут включать и выключать твою кнопку.
Обработчики должны иметь такой вид: `public void OnPointerEnter(BaseEventData e)` `public void OnPointerExit(BaseEventData e)`
Сделол перекат на меканим. Ёбаный в рот, и почему ж я раньше так не делал. Просто ж берешь и без задней мысли ебошишь. Легаси официально зашкварен теперь.
Посоны, хочу зделоть шутер с кучей оружия. Проблема в том, что у меня всё работает, но только с одним оружием. Что я делаю? Перед экраном висит моделька пушки, на ней висит скрипт стрельбы типа [CODE]if (Input.GetKey(KeyCode.Mouse0)) { GetComponent<AudioSource>().PlayOneShot(gunfire); muzzleflash.GetComponent<Light>().enabled = true; GetComponent<Animator>().SetTrigger("shoot"); } [/CODE] Моя пушка делает весёлый пыщь и проигрывает анимацию. Но как мне сделать несколько пушек?
>>184052 Ну да, а алгоритм-то какой? Я сейчас варианты перебираю, чтобы было два-три скрипта, а новое оружие можно было бы добавить безболезненно - хуита получается
>>184055 В Unity есть такая вещь, как Prefab'ы. То есть полностью готовые объекты, со всеми скриптами и наворотами, которые сохранены на диск и которые можно в любой момент поместить в мир из скрипта при помощи метода Instantiate() или уничтожить при помощи Destroy();
Сохрани все свои готовые пушки в виде префабов на диск (просто перетаскиваешь объект пушки из окошка в папку Assets\Prefabs, она должна "посинеть" и удаляешь из мира). А уже в другом скрипте (обычно это GameController), напиши логику, которая будет эти твои пушки подгружать в мир и уничтожать, когда они не нужны.
>>184072 Чему там подлагивать-то? Не, ну если кто-то делает модельки пушек на мульон полигонов с 4к текстурами, то он сам себе злобный буратина и Unity тут не причем.
В конце концов можно не уничтожать, а просто дизейблить.
>>184083 Никакие мьютексты и корутины для того, что он хочет сделать, не нужны. Объектами можно полностью рулить из отдельного класса, и без всяких GetComponent, как в этом говнокоде >>184051
Один раз на старте GameController собрать референсы на экземпляры унифицированного класса "ПУШКА" в одном массиве и потом прямо рулить ими через этот массив, используя методы типа "выстрел", "перезарядка", "исчезни", "появись" и т.п.
>>184089 Очень просто блять, в чём конкретно проблема-то? Пушки все работают примерно по одному принципу, на каждом префабе задашь классу "ПУШКА" уникальные для данной пушки настройки и всё.
В крайнем случае на хитровыебаную пушку можно повесить ещё синглтон, который будет дёргаться из класса "ПУШКА" для реализации чего-то уникального. Главное создать уровень абстракции, который тебе позволить со всеми пушками работать одинаково.
>>184097 Я просто не улавливаю особенностей юнити по объектам и классам. Я пишу скрипт pooshka, на каждую пушку вешаю звук и контроллер анимации, потом этот скрипт вешаю на каждую пушку и сохраняю в префаб?
Главное, когда будешь писать класс pooshka, делай так, что один экземпляр класса знал только про одну пушку, не старайся туда запихнуть ссылки на все пушки. Иначе очень быстро запутаешься, что у тебя где.
Если чувствуешь, что в GameController появляется слишком много хуиты и вызовов класса pooshka, то лучше сделать ещё один класс типа GunController, который будет заниматься переключением между пушками, подсчётом патронов, определением попал/не попал и прочее. В этом классе уже будут ссылки на массив конкретных пушек, а в GameController можно будет вообще только говорить "а ну-ка выстрели воон туда и скажи в кого я попал".
AudioSource на предметы лучше не вешать, а звуки проигрывать через отдельный класс, в котором у тебя будут все ссылки на все AudioSource, который ты используешь. И который будет предоставлять методы, способные самостоятельно выбрать нужный AudioSource, в зависимости от того, что за звук проигрывается.
У меня есть скрипт, который удаляет человека и ставит на его место регдолл с помощью Instantiate. Но у рэгдолла нет начальной скорости. Можно ли сделать так, чтобы у регдолла сохранялся импульс?
>>168691 (OP) Аноны, кто знает? Допустим, есть часы, круглые такие, чья стрелка(внезапно) крутится вокруг оси. Вращение сделал через анимацию. Но еще этим часы двигаются вверх вниз. Без анимации они двигаются как надо, а с анимацией по архимедовой спирали. Какие охуевшие решения есть?
>>184157 > Вращение сделал через анимацию nahooya, если можно зделоть скриптом? void Update () { gameObject.transform.Rotate (Vector3.up, Time.deltaTime*speed); }
>>184158 odnohooystvenno, по спирали топит. Я понимаю, что это из-за того что объект движется. Но как пофиксить идей нет пока. Потому что стоя на одном месте анимация нормальная
>>184217 Да, и декодинг на клиенте теперь тоже не требуется, хотя в документации пишут, что WWW.text кириллицу не поддерживает, и нужно ручками декодить байты. Хуйня какая-то, ну похуй, работает и ладно.
>>168691 (OP) Аноны, как реализовать в юнити акселерометр? Мне надо сделать систему, чтобы она сохраняла равновесие и в ней есть несколько сочленений. Что для этого можно использовать в юнити? Как я могу получить ускорение и направление объекта? Например, есть столб, я действую с силой на верх столба, как мне получить силу, направление и ускорение этого столба?
Допустим, есть одна ммо, в этой ммо есть один повторяющийся квест, который можно повторно выполнять через час после его предыдущего завершения. Как реализовать его сброс в бд с состояния (completed) на дефолтное (available), если хостер mysql - жопошник и отключил ивенты? Писать отдельное серверное приложение?
>>184157 Аноны, все ебусь с этой проблемой. На пикче(аки пэйнт мастер) изобразил суть проблемы. Как заставить этот круг двигаться по прямой и в это же время крутится вокруг себя?
Предлагаю зделоть перекат. Алсо, есть какие-нибудь годные глитч-эффекты на юнити? Мне предлагают только один несвежий опенсорс-скрипт без дисплейсмента
Почаны, я случайно скрипты. Так вот, у меня есть weapon controller, он мне меняет оружия путём клонирования себе в чайлды префабов с оружием. Каждый апдейт он пускает лучи. Что лучше - поставить функцию выстрела в контроллер, или в классы префабов пустить?
>>184548 Хуйню написал немножко. В классе пушки у меня есть функция выстрела. Лучше сделать проверку нажатия в контроллере и передавать луч в функцию выстрела, или в классе пушки все сразу?
>>184511 Спасибо, анончик! Я вчера ночью так и пробовал сделать - заработало. Но подумал, может такой способ не кошерный, поэтому посоветоваться решил.
>>184553 В итоге сделал в pooshke. Теперь такой вопрос. У меня есть анимация рук и анимация собственно пушек, затвора на каждой. Есть несколько видов оружия, соответственно, на каждый вид - своя стойка, они переходят через анимацию опущенных рук. Так вот, как мне получше сделать, чтобы оружие в момент нажатия кнопок переключения теряло возможность стрелять, анимация рук доходила до idle, там оружие собственно переключалось, потом анимация доходит до следующей стойки и новое оружие получает возможность стрелять? [CODE] void ChangeWeapon(int number) { if (number != -1) { DestroyImmediate(gun); current = number; gun = Instantiate(weapons[number], transform.position, transform.rotation) as GameObject; if (gun.GetComponent<Gun>().type == "pistol") player.GetComponent<Animator>().SetInteger("weapon", 1); else if (gun.GetComponent<Gun>().type == "auto") player.GetComponent<Animator>().SetInteger("weapon", 2); else if (gun.GetComponent<Gun>().type == "smg") player.GetComponent<Animator>().SetInteger("weapon", 3); else if (gun.GetComponent<Gun>().type == "rifle") player.GetComponent<Animator>().SetInteger("weapon", 4); gun.transform.parent = this.transform; } else { current = number; player.GetComponent<Animator>().SetInteger("weapon", 0);
Почтенные Юнити-бояре, у меня есть вопрос. Как в юнити создать сустав, чтобы он нормально работал в физике? То есть у меня есть 2 объекта (назовем их бедро и голень), соединенные с образованием заданного угла. В рантайме нужно, чтобы угол сустава задавался скриптом в заданную величину, при этом взаимодействуя с другими rigidbody. Варианты, которые я попробовал: 1. Сделал голень дочерним объектом по отношению к бедру. Добавил коллайдеры к обоим объектам, в бедро добавил ригид-боди компонент. Угол сустава - это угол поворота голени в пространстве бедра. Вроде как оно работает, но есть косяки с физикой: если согнуть сустав и резко разогнуть его, оттолкнувшись от статического меша, то бедро с голенью по инерции не отлетят от меша. Также странные проблемы с трением. 2. Добавил в голень и в бедро коллайдеры и rigidbody2d компоненты. Добавил в голень HingeJoint2d компонент, связал его с бедром. Голень вращается вокруг бедра, все ок. Но теперь как задать угол голени? Я хочу, чтобы сустав действовал как радиальная пружина. То есть я задаю угол, сустав стремится принять этот угол, но если есть препятствие, он упирается в препятствие и создает силу, пока не примет заданный угол. В интернетах говорят, что можно использовать лимиты HingeJoint2d (установить минимальный и максимальный угловые лимиты в заданный угол), но мне кажется, что это хуита. Как сделать это правильно?
Юнитачеры, у меня есть моделька, проигрывающая анимацию в цикле. Так вот, в некоторых положениях анимация проигрывается медленнее. С чем эта хуита может быть связана?
>>184823 У тебя меканим? Посмотри там в стейте может стоять мультиплайер.
А у меня анончики такая фигня, не могу нормально реализовать прыжок. Физически вроде налепил что-то, хоть и не понял нихуя как это работает, а еще и анимацию туда реалистичную подвязать - вообще пиздец. Есть ли у кого-то годный продвинутый туториал про CharacterController + Mecanim (blendtree). У миксамо довольно годно, но уже выдрал всё, что мог у них.
Аноны, такой вопрос, есть 2 (или более) почти одинаковые модели, с ригами и вся фигня. Разница в том, что одна "голая", другие "одетые", как "одеть" "голую" используя части "одетой"? Что у меня то риг теряется, то меш, не могу понять как это провернуть правильно.
>>184894 Уменьшать (скрывать) не получится (или я не понимаю как это сделать правильно), ибо так получается, что у нас целый скелет (и скрытые другие мешы) на каждый предмет одежды, и анимировать все как-то туповато, ну или я таки не понимаю, что имеется ввиду. Нужно именно взять кусок от одной модели, и встроить в структуру другой.
>>184902 Да и меканим игноририует вторую модель на моем объекте, может и можно помудиться, но не думаю, что это правильно решение. Поковырять ассеты чтоли.
>>168691 (OP) Аноны, как сделать движение одного объекта в зависимости от другого? Мне например надо сделать так, чтобы нога меняла положение в зависимости от положения торса или силы и направления, которую приложили к нему.
http://unity3d.com/
Сохранение форматирования кода:
работает только через костыль, жаловаться можно здесь:
https://2ch.hk/d/res/194351.html
Костыль:
https://github.com/ololoepepe/MakabaCode
https://2ch.hk/pr/res/457262.html
В настройках скрипта добавьте охват gd, по дефолту там только програмач.
Звёздочку макака уже полу-починил.
Предыдущий тред:
https://2ch.hk/gd/res/165410.html
Тредус архивариус:
http://pastebin.com/jQDuWUnn