Это копия, сохраненная 22 декабря 2017 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Прошлый тред: https://2ch.hk/gd/res/311710.html (М)
Официальный сайт: https://unity3d.com/ru
Документация: https://docs.unity3d.com/ru/current/Manual/index.html
Уроки: https://unity3d.com/ru/learn/tutorials
Форум: https://forum.unity3d.com/
Магазин ассетов: https://unity3d.com/ru/asset-store
UnityWiki: http://wiki.unity3d.com/index.php/Main_Page
На Unity сделано много замечательных игр - Rust, Блицкриг 3, Pillars of Eternity, Tyranny, Kerbal Space Program и многие другие. Главным преимуществом Unity перед другими движками является его простота для одиночной разработки. Вам не нужно иметь целую компанию девелоперов, чтобы сделать хорошую игру. Тем не менее, многие крупные корпорации выбирают для своих игр именно Unity.
FAQ
- Какие у Unity сильные стороны?
- Простота разработки, удобный инструментарий, кроссплатформенность, богатая документация, огромное сообщество.
- Какие у Unity слабые стороны?
- Сложность в создании фотореалистичной графики. Для графики как в Crysis рекомендуется взять другой движок. Хотя Unity вполне способен выдавать не уступающую любым другим движкам картинку, это требует определённого навыка от разработчика.
- На каких языках я могу писать скрипты для Unity?
- На выбор два языка - C# и UnityScript. UnityScript - это что-то среднее между JavaScript и ActionScript. Выбирай язык по своему вкусу, они оба вполне удобны, но помни, что большинство примеров написано на C#.
- Для каких жанров подходит Unity?
- Для абсолютно любых! Жанр ограничивается лишь фантазией разработчика (и его умением писать скрипты, разумеется). Можно создавать и РПГ, и стратегии, и слэшеры. Можно делать VR-проекты или Minecraft-подобные песочницы.
- На каких платформах работают созданные с помощью Unity игры?
- Windows, Linux, MacOS, SteamOS, Android, iOS, Windows Phone, PlayStation4, Xbox One, WebGL, Oculus Rift и многие другие. Полный список можно найти на официальном сайте. Таким образом, игры Unity работают на десктопах, на смартфонах, планшетах, приставках, в браузерах, VR-очках и некоторых других системах.
Обучение
Итак, с чего же начать изучение этого замечательного движка? Прежде всего, с изучения языка. Самые основы C# можно узнать на интерактивных курсах здесь:
https://dotnetcademy.net/CSharp/Beginner
Для изучения основ UnityScript выучите вначале основы JavaScript:
https://learn.javascript.ru/
Помните, что далеко не всё, представленное в JS есть в US. Чтобы понять, в чём разница между этими двумя языками, прочтите эту статью:
http://wiki.unity3d.com/index.php/UnityScript_versus_JavaScript
Помните, что вам достаточно одного языка из двух и учить их оба одновременно не нужно.
Если ты уже умеешь использовать язык, то можно приступать непосредственно к изучению движка. Для начала посмотри на туториалы с официального сайта:
https://unity3d.com/learn/tutorials
Если же ты не любишь видеотуториалы и предпочитаешь текст, то посмотри здесь:
http://catlikecoding.com/unity/tutorials/
Тут крайне подробно описан процесс разработки и приведены примеры кода. Эти туториалы универсальны и описывают множество различных частей игры, от работы с текстурами до генерации карты мира. А вот в этом туториале описыватся разработка двухмерной игры с видом сверху:
https://www.raywenderlich.com/61532/unity-2d-tutorial-getting-started
Это будет полезно, даже если ты планируешь разрабатывать трёхмерную игру. Ни в коем случае нельзя обойти вниманием этот сборник туториалов:
https://noobtuts.com/unity
В нём подробно описывается процесс пошагового создания разных игр - двухмерных и трёхмерных.
Разумеется, все эти туториалы охватывают лишь часть возможностей Unity. Самый надёжный способ выучить Unity - это начать делать игру и по мере разработки гуглить непонятные моменты.
Шапка: http://www.writeurl.com/publish/zukmrogwv45ptyuseyol
Решил запилить стрельбу через OnCollisionEnter2D(). Запилил жёлтый кирпич вместо стрелы (а может это уже готовый выстрел из бластера, лол), даже прикрутил атаку вблизи.
Пока разбирался с коллайдером для удара в щщи, наебнулись летающие кирпичи. Какого хуя? Rigidbody2D стоит на снаряде, чтобы пинать его в нужном направлении, следовательно, коллизия должна регистрироваться. Разница в скриптах только в том, что кирпич должен исчезать при попадании в противника, но они пролетают насквозь, в логах сообщение не всплывает.
Ивенты вызываются только на том объекте, на котором навешён rigidbody. Может ошибся в написании метода, или параметры неправильно передаёшь, или сообщения в логе отключил, или сделал коллайдер триггером. Видишь сколько варантов, которые можно словить.
Может шейдер какой можно сделать или скрипт камеры, влияющий на очередь отрисовки?
Одним не обойтись. Скалы проще всего в зебре лепить. Хочешь хорошие текстуры — добро пожаловать в сабстанс или в кота.
>В какой формат сохранять
вообще в fbx, но юнити может на лету конвертировать модели из нативных форматов средствами установленного у тебя 3d пакета. То есть если ты используешь 3d max, ты можешь .max файл сохранять прямо в проект, тоже самое для блендера, майи и нескольких других форматов. Очень удобно, когда ты корректируешь модель - в юнити она будет обновляться и изменения сразу применятся в сцену, не надо каждый раз париться с реимпортом.
Подробно про форматы https://docs.unity3d.com/Manual/3D-formats.html
Кстати, когда пойдешь по ссылке, потрудись прочитать весь мануал.
Ага, блядь! Коллайдер и вправду был триггером. Спасибо, анон, буду дальше пилить дрочильню своей мечты.
Я в Юнити первый день.
Вопрос по "механике" выполнения скриптов. Чтобы мой говноскрит был учтён и его start, update etc вызывались на каждый фрейм, его надо бросить в какой-нибудь GameObject, включая пустой (empty). При этом я получи в том скрипте доступ к атрибутам и методам объекта, к которому привязан.
Если я в этих рассуждениях прав, то для получения поступа к самой мякотке надо знать "generic name" по типу self или this. или тупо gameObject ?
Обоссыте меня плес
Теперь мне надо добраться до костей/суставов отригганого аватара
Научи меня, анон!
> надо бросить в какой-нибудь GameObject, включая пустой (empty)
Да. Всякое важное, типа глобальных менеджеров можно крепить на камеру.
> для получения поступа к самой мякотке надо знать "generic name" по типу self или this.
Можешь референсить объект:
public GameObject manya;
void Start ()
{
manya = GameObject.Find("OtherManya");
}
Где OtherManya — существующий в мире объект.
> или тупо gameObject
gameObject описывает объект, на который прикреплен скрипт, насколько я понимаю.
Спасибо!
>зебре
Что это? По "zebra 3d editor" гуглится не то.
>кота
А это?
И где лучше всего рисовать даггерфолоподобные текстуры типа этого >>356645 (OP)?
Спасибо!
если хочешь пользоваться благами юнити, то да. твоей лабуде лучше наследоваться от monobehaviour и пользоватся всякими полезными функциями вроде Start или Update. Есть конечно множество хитрых методов вокруг но они специфичны и тебе про них пока знать не надо. все что находится в сцене учитывается в любом случае.
если погромист на шарпе из тебя некудышный то почитай про https://msdn.microsoft.com/en-us/library/ff650316.aspx синглтоны и статичные классы, сэкономит кучу времени и тебе и конплюктеру.
>>387511
дебуг хороший дает. https://www.youtube.com/watch?time_continue=68&v=vAcSTo6w2Ts
>>387512
легко. просто сделай кучу публичных переменных и сунь туда нужные тебе кости. или если хочешь фанси-шманси то повесь аватара и пользуйся https://docs.unity3d.com/ScriptReference/Animator.GetBoneTransform.html
>>387524
зебра это zbrush
Не слушай зебрапидора. Он хуйню тебе советует. Блендера для всего хватит за глаза. В нем ты сможешь и вершины подергать, и поскульптить, и покрасить. А потом все это запечь в текстуры, как полагается. Плюс, у блендера низкий порог вхождения, например. Вот я такое говно моделю и крашу в блендере после недели изучения пакета. https://sketchfab.com/anon3d
Не слушай блендеропидора. Модо-господа с презрением ссут на всех. Интерфейс 10/10. #стабильность без багов и политоты. Из хайполи в лоуполи за считанные минуты. Запекание от неба с Аллахом до собственной мамки. Лепка, анимация, рисование. Он бы и отдрочить тебе смог, но с этим ты и сам справишься.
Любой. Просто блендеродебилы не могут успокоиться. Можешь попробовать Майю, Блендер, Модо. И пользоваться тем, что удобнее. Для скульптинга очевидно збраш.
Любой. Просто остальные заметных денег стоят. Substance тоже стоит, но всего стольник и в рассрочку.
Йобу дал? В юнити моно, дллки которого идут в комплекте с игрой.
Школьник-параноик.
да где угодно, главное освещение не делай.
Это же обычные текстуры низкого разрешения вроде. Только хуй знает, как Юнити их отобразит, выше в треде моя NPC-коробка со стрелкой почему-то покрытая ржавчиной, но она 16х16 все таки. Ещё фильтрация заметно замыливала.
На четвёртом скрине явно не олдфажная игра, хотя я знаю как сделать такие текстурки.
>Это же обычные текстуры низкого разрешения вроде.
Не только, есть 2 фактора, при соблюдении которых можно сделать такие текстурки.
На четвертом скрине поделие анона в соседнем треде. Тащемта, у него можно было и спросить, как он запилил текстуры (а он их вроде как сам ручками хуярил). Он вроде даже текстуру кирпичной стенки кидал.
Спасибо!
Пожалуйста, сколько отвечаю, ты первый поблагодарил
Юнити не использует компилятор майков, а делает билд с помощью моно, так что не бойся, будет работать везде. Может через некоторое время перейду на кор
Если бы ты внимательно читал в том треде, у него не раз спрашивали, а он или не автор игры, или ему жалко поделится
ребят посоветуйте исходник или ассет rts какойнибудь
чтоб там было прописано поведение юнитов в отряде и прочее чем больше тем лучше.Неохота писать свой велосипед но там все чета отваливается уже(корованы неправильно корованят)
И есть ли на юнити готовая реализация укрытие-перекатной системы?
А то я накатал на планшете в яваскрипте убийцу Код доступа рай с открытым миром за три месяца,и решил щас все это портануть на юнити
сохранятся
иначе это нельзя было бы назвать полноценным импортированием
также и rigid body, и кости
Согласен. Смотри видюшки.
Зато бесплатный.
Ты о чем болезный? Все тоже самое, мапы, каналы, параметры. Ты может раньше цвет шарика в 3дмаксе менял, а в блендере ув-развертку увидел?
Юнити вставляет по дефолту контролы на
- переключение fullscreen/windowed
- выход через Application.Quit()
или это надо самому?
вставил в упдате на отъебись
if (Input.GetKey(KeyCode.Escape)) Application.Quit();
if (Input.GetKeyDown(KeyCode.F)) Screen.fullScreen = !Screen.fullScreen;
Я просто любовался скриншотами, потому что его обосрали в первых постах что, как я понял, обычное дело для этой доски.
Думаю его обосрали за неадекватность, он как бы спрашивает совета про олдовые шутеры, не воспринимает их, оправдывается, похоже это не его поделка и вообще не про шутеры. Короче: унылая ссанина.
Это просто бобров, создатель ванильного рогалика и ещё всяких тайтлов без музыкы на самописных движках. Своеобразный тип, учитывая, что ему за 40 или типа того. Активно обитает на гамине
Ну или хотя бы ссылку на обучающее видео или тутор скиньте, пожалуйста.
это решение делается одной сраной строчкой кода (если вообще его требует). но тебе посоветую превозмочь своими силами.
Да я и не против сам превозмочь, но без знаний как-то не получается. Дай ссылку хотя бы на тутор, в котором объясняется создание такой функции.
Всё, таки сам сделал. Пока больше вопросов нет.
Это не рейкастинг, это просто присваивание ajhdfhle вектора между текущей позицией и позицией гг
https://docs.unity3d.com/ScriptReference/Transform.html
Ну, синглтон хотя бы один должен быть и у хорошего программиста, если он не фанат дрочильни мышкой объектов в поля, конечно же.
Transform реализует IEnumerable, поэтому можно по нему ходить с помощью foreach. Особо пользы это не даст, т.к. внутри всё равно вызывается GetChild.
Делал всё по этому тутору - http://www.unityrealm.com/2d-sprite-lighting-in-unity/ стало немного лучше, но всё равно объекты светятся как новогодняя ёлка, в то время как вокруг непроглядная темень.
Кто-нибудь знает, как это можно исправить?
Создаешь материал, выбираешь в нём шейдер sprite-diffuse, кидаешь на свой спрайт.
В руководстве, ссылку на которое я скинул выше, предлагают сделать тоже самое. Но в итоге всё равно спрайт очень хорошо видно издалека, даже несмотря на непроглядный тёмный туман, например.
Погугли, есть ли "C# Player's Book Guide" на русском. Если есть, попробуй, базарю еще захочешь.
Спасибо, сейчас поищу
Возможно это из-за ambient color, выкрути его в черноту
Русской нет, буду читать оригинал тогда
Все что ни напишу - ошибка/недостаточно.
Хелп, Анон.
> почему не катит с var
В чистом шарпе вроде нет var, не?
Хуй знает, что там в учебнике, поясняю за классы здесь:
Есть статичные классы. Это когда есть класс с пачкой методов, которые тебе нужны на регулярной основе, и сам класс ты задаешь и больше не модифицируешь, скармливая его методам входящие данные, типа:
Console.WriteLine("fgsfds");
Convert.ToChar("a");
Ничего не мешает сделать тебе свой статичный класс, но вроде до нас уже все додумали.
Динамические классы. Это ты делаешь шаблон с пачкой переменных, какие-то методы, хуе-мое, а потом ты делаешь инстанции со своими значениями. Вот типа у тебя есть игровой объект Batya. И ты пишешь к нему:
namespace Batya
{
public class Batya
{
int health;
int hunger;
int pivas;
bool isBald = false;
private void EbnutPivka(){
pivas -= 1;
}
//это ты только написал шаблон, ему нужна инстанция
public class Program
{
public Batya theBatya = new Batya();
//это инстанция конкретного бати, с которым уже можно что-то делать
theBatya.health = 100;
//вот ты конкретному бате задал значение в переменной
}
}
Вообще скачай C# Player's Book Guide, там все довольно хорошо расписано.
> почему не катит с var
В чистом шарпе вроде нет var, не?
Хуй знает, что там в учебнике, поясняю за классы здесь:
Есть статичные классы. Это когда есть класс с пачкой методов, которые тебе нужны на регулярной основе, и сам класс ты задаешь и больше не модифицируешь, скармливая его методам входящие данные, типа:
Console.WriteLine("fgsfds");
Convert.ToChar("a");
Ничего не мешает сделать тебе свой статичный класс, но вроде до нас уже все додумали.
Динамические классы. Это ты делаешь шаблон с пачкой переменных, какие-то методы, хуе-мое, а потом ты делаешь инстанции со своими значениями. Вот типа у тебя есть игровой объект Batya. И ты пишешь к нему:
namespace Batya
{
public class Batya
{
int health;
int hunger;
int pivas;
bool isBald = false;
private void EbnutPivka(){
pivas -= 1;
}
//это ты только написал шаблон, ему нужна инстанция
public class Program
{
public Batya theBatya = new Batya();
//это инстанция конкретного бати, с которым уже можно что-то делать
theBatya.health = 100;
//вот ты конкретному бате задал значение в переменной
}
}
Вообще скачай C# Player's Book Guide, там все довольно хорошо расписано.
> Вот типа нужен тебе объект Батя, да так чтобы можно было иметь несколько бать, и ты его прописываешь
фикс. На типа единичный класс есть синглтон.
Вообще-то var это одна из ключевых особенностей шарпа. Да и интересно узнать, что в твоём видении шарп "грязный",а термины в твоём описании классов заставляют прильнуть кровь к глазам. Лучше скачай clr via c#, а другие аноны пусть не читают твой пост.
>Вообще-то var это одна из ключевых особенностей шарпа
Окей, я просто видел его только в Unity.
> что в твоём видении шарп "грязный"
C# в Unity с кучей классов, это все что я имел ввиду.
> термины в твоём описании классов заставляют прильнуть кровь к глазам
Ну так напиши как надо. Я год назад не мог вкурить, что такое инстанции, вот сейчас снова потихоньку ковыряю шарп, на этот раз с учебником. Если бы мне кто-то тогда пояснил мне, как они работают, хотя бы вот так, может быть я бы продвинулся чуть дальше.
> Лучше скачай clr via c#
Окей, заценю.
И куда мне вообще обращаться с таким предложением? Биржи фриланса?
Я тебе запилю за две недели. Прайс - 20к.
рандомные генераторы лабиринтов из тайлов на ассет-сторе стоят 15-30 баксов. Смотрел несколько штук, ни один не понравился, сделал свой.
Но и "локация" - понятие растяжимое, много нюансов, напишешь с подробностями - помогу с оценкой nekitYZl696ANUSgmN/zailPUNCTUMcoeCom
Легко - не иметь скрипт бега на герое. Скрипт на герое не должен знать ничего про бег. Он должен знать про анимации, звуки и коллизии. Всё остальное тогда подчиняется обычным правилам софтварного инженеринга и модельке героя на экране про это знать не надо. А коду отвечающему за бег не нужно знать ничего про модельки. Это одна из больших проблем Юнити - оно поощряет очень плохой дизайн кода ровно до момента когда всё ломается.
>оно поощряет очень плохой дизайн кода ровно до момента когда всё ломается
кокие альтернативы? уеч?
Таки да, уеч. В отличии от Юнити, в уече компонентная система, благодаря акторам, инкапсулирована и даже может в наследование.
мимоанон
Ни в коем случае, там почти такое же говно, только прибитое гвоздям. Юнити это набор API, игровые ассеты и редактор, на уровень ниже UE. В уече тебе сделали всё готовое и оно ОК до тех пор пока игра на это хорошо ложится. Юнит более гибкий в этом аспекте, ты можешь сделать что угодно поверх. Надо просто понимать что MonoBehaviour с логикой это ОЧЕНЬ ПЛОХО. MonoBehaviour это визуальная часть, игровой логики там быть просто не должно. Они должны быть тупыми на уровне "мы умерли - играем анимацию смерти". Всё остальное должно жить отдельно. Лично использовал и использую Entitas в качестве базы.
А вот это уже интересно.
Ни разу не видел, чтобы на юните так писали. Расскажи про entitas и покажи готовый пример, если не затруднит.
Документация на голову выше, туторы тоже хороши, но их меньше, много конченного говна на уровне "как включить лампочку". В общем разобраться более чем реально.
Мне вот интересно, что отпишет анон выше. Вообще говоря, на анриале в рамках блюпринтов можно безнаказанно говнокодить, за что его крайне люблю. На Юнити надо изобретать пайплайн, держать себя в руках и изобретать немыслимое количество велосипедов. В общем создается парадокс, при котором Юнити может понять даже школьник, но вот чтобы создать что-то адекватное необходимо обладать весьма мощным скиллом. Уеч же на первый взгляд оче сложный, но в реальной разработке на нем все делается намного проще и быстрее.
Но с аноном выше соглашусь, если уеч под проект не подходит, например из-за света, то придётся этот самый свет писать. А на юнити не написать, кек. Даже не представляю, что тому анону захотелось навелосипедить.
>Лично использовал и использую Entitas в качестве базы
Обосрался с списка игр "сделано на нашей хуйне", твоя какая?
https://github.com/sschmid/Entitas-CSharp/wiki/#madeWithEntitas
>Документация на голову выше, туторы тоже хороши, но их меньше, много конченного говна на уровне "как включить лампочку". В общем разобраться более чем реально.
Как в UE4 в Paper2D на персонажа прилепить горизонтальную капсулу? Или чем заменить другим? Молю только пошагово. Можешь ссылкой в меня швырнуть
Расскажи по архитекутуре игры - в какой класс/компонент/интерфейс что пихать, или дай ссылки на статьи и книги, где об этом рассказывается.
Почитай хабру по тегу юнити, там было как раз такое - вся игровая логика реализована отдельно от движка. Хотя как по мне это порочный круг и заставляет писать в пять раз больше кода, причём этот код гораздо сложнее понять.
>на юнити не написать
Уе4 не поддерживает кастомные системы освещения. Только как постэффект. Юнити поддерживает кастомные схемы освещения, как в упрощённом "легаси" варианте, так и в новом виде с глобал иллюминейшн.
Не так уж редко. Тут главное отучиться мыслить в терминах "объектов", а начать мыслить в терминах данных и их трансформации. ECS типа Entitas по сути есть специализированная БД. Там есть таблицы (компоненты в энтитях), есть запросы (системы) и есть индексы (индексы). Всё что делает ECS - каждый кадр трансформирует эти данные в новое состояние. Задача Юнити тут - это просто показать эти данные и их изменения. Есть такое определение игры как "БД с красивым интерфейсом" - вот это оно и есть.
>>388617
По идее это больше про общей архитектуре софта. Аналогичный подход тут хорошо показан: https://www.youtube.com/watch?v=x_4Y2-B-THo в первой половине, когда показывают как у них структура классов устроена.
не задумывайся об этом пока не заебёт что корневая папка похожа на мусорную кучу. на этом моменте обычно появляется просветление что куда положить. я всегда так делаю.
>стрельбы, взаимодействия, характеристик
ты это. логику не размазывай. всегда должно быть главное место откуда ты управляешь главными значениями. то что ты описал должно только интерпретировать эти значения.
>>388579
пиздит. документация в UE намного хуже.
>MonoBehaviour с логикой это ОЧЕНЬ ПЛОХО
Инструменты должны соответствовать масштабу, энтерпрайз подход с созданием абстрактной фабрики для класса вычислителя процента - гораздо хуже для проекта одного человека.
Городить такую ебанину ради трёх в ряд точно не стоит.
Стоит. Хорошая модульность окупается в момент когда игра перестаёт быть прототипом.
вот только прототипов делаешь много, а игру одну и возится с каждым прототипом это ёбнутым надо быть.
> MonoBehaviour с логикой это ОЧЕНЬ ПЛОХО
Т.е. через MonoBehaviour я только получаю данные о коллайдерах, о нажатых кнопках, анимациях и т.п, а что-то типа пихания урона от отравления в FixedUpdate() — это зашквар, который тоже надо выносить из MonoBehaviour?
другой анон
Если ты будешь слушать того поехавшего то ни одной игры не сделаешь. Запили игру сначала через жопу, потом сам придумаешь как надо делать. Например архитектура всеми любимого маинкрафта - на уровне проектов гд, но это не помешало жирному нотчу стать миллиардером.
Тебе нужна чёткая точка входа, оттуда делать как обычно делается без Юнити. Юнити-объекты вставляются туда где обычно лежат движковые объекты типа моделек. У тебя не мужик_с_пулемётом лежит в GameObject, как Юнити хочет. У тебя GameObject с моделькой должен лежать внутри мужика_с_пулемётом. Делается так: один главный GameObject где есть один MonoBehaviour "ИгроваяЛогика" который ведёт себя как стандартный главный цикл. Больше логики нет нигде.
Зачем тогда использовать юнити? Если хочешь писать игры в одном классе - бери сишку, сдл и пили проекты распидорасило. Парадигма юнити - таскательство ассетов, и пытаться ее сломать ты будешь ровно до момента когда надо будет импорировать полезный ассет с кучей скриптов распиханных не по фен-шую. Связывать всё это будешь адовыми костылями.
>в первой половине, когда показывают как у них структура классов устроена.
Ты вообще не ебешь, что на том видео?
>один MonoBehaviour "ИгроваяЛогика" который ведёт себя как стандартный главный цикл
То есть MonoBehavior::Update следует иметь только один раз, а в нём задавать порядок обновления?
Сижиперсия всё? Не открывается второй день.
такое уже десятки раз бывало раньше. Починят со временем.
Одно другому не мешает. Редактор, рендер, звук, кроссплатформенность остаются. Я ебал снова писать куллинг и загрузку текстур.
> импорировать полезный ассет с кучей скриптов распиханных не по фен-шую
Can't be helped, можно воспринимать их как чёрный ящик. Всё по фен-шую всё равно не будет. Главное чтобы костылей было меньше и они были изолированы.
>>388775
Я про принцип что Юнити-объект не отвечает за логику. Ферштейн?
>>388782
По возможности да. Проще работать.
>пиздят софта на несколько десятков тысяч евро
>не могут сделать то, что делают американские школьники
И стоит ли своих денег тайловый редактор внутри юнити, или лучше самому в этом разобраться? А то я постоянно читаю о том что юнити хочет ввести свой, но никакой информации по этому поводу не нашел.
И еще один вопрос, как вы изучали возможности скриптинга Юнити? Есть ли смысл например заучивать ключевые классы и их методы, а то сейчас я только смотрю за тем как кодят другие и гуглю то что они используют.
Не надо ничего заучивать. Берешь и читаешь книги по программированию, параллельно пишешь код. И всиуо.
Если тебя смущает необходимость изучать программирование, то выбери тулсет, не требующий программирования же. В юнити писать код всёже необходимо.
>В чистом шарпе вроде нет var
>>388570
>Это одна из больших проблем Юнити - оно поощряет очень плохой дизайн кода
>>388572
>В отличии от Юнити, в уече компонентная система
>>388573
>MonoBehaviour с логикой это ОЧЕНЬ ПЛОХО
>>388637
>вся игровая логика реализована отдельно от движка
>>388650
>главное отучиться мыслить в терминах "объектов", а начать мыслить в терминах данных и их трансформации
>>388743
>Тебе нужна чёткая точка входа, оттуда делать как обычно делается без Юнити
обосрался со СВЕЖЕЙ КРОВИ в треде
Почему унитипидоры всегда так стремного говорят на инглише? То тихо, то акцент уебанский.
Кому нахуй в геймдеваче стрелнет в сраку делать логику на БД? Рисование по говну теперь с сервером?
Какой тред - такая и кровь.
Да меня и не смущает, я уже читаю книжку по С#, просто насколько я понимаю ассеты сэкономят мне несколько сотен часов моего блуждания в темноте, да и насколько я почитал отзывы, можно посмотреть как это у них всё работает и научиться самому.
Столкнулся с проблемой в 2д-юнити. У меня есть sprite sheet, из которого я наделал несколько кадров для анимаций, всё работало хорошо. Решил сделать еще одну (три картинки на скрине из ФШ, с мечом), добавил по примеру того, как добавлял до этого, import settings не трогал, но моделька стала "размытой". А еще в редакторе фаил показывается 128х14, хотя он должен быть 144х16. В чем может быть проблема?
>144х16
>144
Сделай или 256х16, или 128х32. Видеокарты жрут только текстуры с размерами сторон в степени двойки. Видишь в предпросмотре (NPOT)? Это как раз об этом - non power of two. Неподходящие по размеру спрайты растягиваются или сжимаются автоматически и картинка шакалится. И обнови юнити.
А он, изменяясь, "булькает".
Как победить бульковатость питча?
Сотни часов блужданий тебе сэкономят туториалы по юнити. Ассеты стоит брать, только если ты знаешь зачем они тебе. Можно конечно брать на посмотреть, но эффективность такого подхода куда ниже.
Спасибо большое, 128х32 помогло. 256х16 почему-то стало еще более...мыльным. Про NPOT не знал, кроме расшифровки, так что тут отдельное спасибо.
Охуеть, на сраном официальном ответнике почти неделю тишина, на дваче за 15 минут ответили. Надо бы в свою дипломную в литературу двач вписать.
Даун, который var видел только в unity, учит синьора. Вот это дерзость!
такое как на скринах делается низким разрешением текстур и отсутствием освещения как такового..
Норм. Пердолься, если нравится, безделье — это игрушка дьявола, ежжи.
Хочу сделать изометрическую игру, вот думаю как лучше поступить.
У меня есть два стула:
1) Нарисовать сразу в изометрии задники-локации могу в рисование и впихнуть на неё 3д-модельку героя. Но тут сразу возникают сомнения. Если я на тот же quad ебану отрисованную локацию, то камера должна на quad смотреть ровно сверху вниз, чтобы не поехали пропорции. Но тогда и на персонажа она будет смотреть ровно сверху вниз, поэтому на фоне локации, которая как бы "под углом", он будет смотреться как говно. Можно ли сделать так, чтобы 3д-моделька была как бы под таким же углом, что и нарисованные объекты, но в то же время чтобы камера смотрела на него ровно сверху вниз? Коряво объяснил, но, надеюсь, поймёте
2) Напиздить ассетов и делать локации в 3д, а потом отводить камеру чтобы получить изометрию.
Дело в том, что если я сяду на первый стул, то я сэкономлю кучу времени ибо умею рисовать, а в 3д не могу, но я представления не имею как заставить 3д-человечка нормально ходить по такой локации. К тому же придётся как-то ебаться с объёмом "предметов" на локации, чтоб героя перекрывали стены, предметы и т.д.
А если на второй стул — придётся ебаться с 3д, осваивать соответствующий софт, но зато я буду лишён всего остального пердолинга.
Посоветуйте, ребят, только на вас надежда.
Персонажа-то я и каком-нибудь Mixamo ползунками сделаю. Ну или на крайняк закажу. Одну модельку и несколько анимаций заказать - не разорюсь.
Тут вопрос с какой стороны подойти, чтоб через месяц не оказалось что всё хуйня, давай по новой.
Да скорее всего так и придётся.
Но а вообще, та проблема, что описана в первом стуле, теоретически решается?
Я, конечно, понимаю что даже если и решается, то это получится лютый троллейбус из хлеба, но всё же.
Вообще решается. Не могу вспомнить как называется игра, где очень хитро извернулись чтобы сделать 2.5д игру в изометрии. Если вспомню — напишу.
Обосрался
Задник-билборд и орто-камера чем тебя не устраивают?
А сам уровень задай зонами проходимости.
не уметь рисовать в 3д и рисовать в изо - это что-то новое.
Вот на первой пикче задник нет, не мой, но для теста и он сгодится. Вот я кидаю его на квад и переключаю камеру в орто (вторая пикча). Добавляю на сцену персонажа (третья пикча). Он же совсем в другой плоскости, на камере он ожидаемо выглядит тупо сверху, хотя всё остальное "под углом" (четвёртая пикча).
Если я чего-то не догоняю, то не шли сразу нахуй, я просто с такой комбинацией (изометрический задник и 3д-персонаж) никогда не работал.
А насчёт зон проходимости — да, можно, но сначала надо заставить героя перемещаться по заднику так, чтобы оно смотрелось естественно.
>>389338
Да я уже почти свыкся с этой мыслью. Это решит очень много проблем.
С тебя знания движка~
С меня всё остальное (Рисовка, музыка)
Есть примеры работ?
Вообщем решил вкатиться в бинарную сериализацию с помощью BinaryWriter планировал хранить всякие данные типа сохранений и т.д Вроде все понятно, последовательно записываю через поток биты в файл, затем в той-же последовательности их считываю назад, но на всякий случай решил разобраться как эти данные записываются и структурируются в файле, дабы если решу переобуться на пол пути и изменить структуру, я смог бы вытащить данные из старых сохранений и накатить в новые. Вроде бы принцип понял, я просто последовательно указываю какой тип считывать в BinaryReader, а он сдвигается на необходимое кол-во байт(в зависимости от диапазона типа, например если буль то его диапазон 1 байт, если инт то 4 байта и т.д).
Но возникли непонимания со String, Как я понял при записи string в файл первый байт указывает кол-во char в String'е, а после BinaryReader сдвигается на это кол-во байт возвращая их как string, но если char больше чем на 1 байт, то он добавляет еще один байт в начало, но делает это каким-то не очевидным для меня образом, собственно в этом я и хотел разобраться, как BinaryReader определяет в таких случаях сколько букв в стринге и как это интерпритировать - синий квадрат на 3 пике?
> Так никто не делает. 2,5 нормальное только в PAPER анриловском
Ну слава богу, остатки сомнений развеяны.
Пересаживаюсь на 3D, всем спасибо.
Не пересаживайся. Стой. В 3Д нет системы, где бы ты мог без программирования что-либо высрать.
Дополню, что все работает заебись, данные входят и выходят, но я не понимаю как это работает.
Я вот не понимаю, а вдруг напарник тебя наебет возьмет все твои наработки склепает игру и получить прибыль не поделившись, как уберечься от такого?
Нужно чтобы этот метод(или как он там называется) срабатывал один раз, и после работал только сет эктив, без снятия 100 из скора.
>решил разобраться как эти данные записываются и структурируются в файле
тебя это ебет штоли?
>я смог бы вытащить данные из старых сохранений
берешь и вытаскиваешь с помощью сериализации обратно. или ты еще решил написать свой велосипед? ты ебанутый?
>но если char больше чем на 1 байт, то он добавляет еще один байт в начало, но делает это каким-то не очевидным для меня образом
https://msdn.microsoft.com/en-us/library/system.io.binarywriter.write7bitencodedint.aspx
Бля, сложна.
Ты все не правильно понял и написал хуйню , еще и ссылку никчемную прикрепил, вообщем я уже разобрался, так что похуй.
Заведи булевскую переменную, делай if внутри второго if, один на проверку score >=100 и в нём обрабатывай обе действия плюс инвертируй переменную, второй на проверку самой переменной и в нём только одно действие.
Или просто в проверке && ебани.
>Ты все не правильно понял
ебать дибил. это ты все неправильно понялй.
ты говоришь, что тебе "нужно знать формат, чтобы потом достать данные обратно". причем это можно сделать просто ReadString(). то есть ты либо дегенерат, либо просто из кирилльского любопытства решил расковырять файл в HEX-редакторе, забыв, что можно просто посмотреть исходники этой функции.
сейчас я тебе их и покажу:
protected void Write7BitEncodedInt(int value) {
uint num;
// пока num больше 128 (это 10000000, т.е. значение не помещается в 7 бит)
// num | 128 - включаем старший бит, показываея что дальше еще есть байт
// записываем как байт
// и сдвигаем num на эти записанные 7 байт
for (num = (uint)value; num >= 128; num >>= 7) {
this.Write((byte)(num | 128));
}
this.Write((byte)num);
}
На будущее: исходники любого класса можно посмотреть прямо в MonoDevelop. просто в контекстном меню выбираешь go to declaration, а в Assembly Browser Language ставишь на C#
Тьфу ты, bool же.
Спс. Все работает.
КРАСИВО + просто - признак топ-тир специалиста.
В 2017 все умеют программировать на уровне любителя
Задник параллелен плоскости камеры, ты чего там упарываешь? С таким пространственным мышлением игры делать не надо.
По той же самой, xy. Влево-вправо, вверх-вниз, без глубины. Я не тот анон, если что.
Задник это виртуальное пространство. Болванчик бегает в триде мире, просто мир не отрисовывается.
Вообще ругать костыли в геймдеве это путь в никуда. Геймдев состоит из костылей "какбыпопрощенаебатьзрителя"
Да-да, говнохоррор, но суть не в этом. Я так понимаю, на мою летающую камеру надо прицепить коллайдер, который при контакте с коллайдером стены будет заставлять стену в месте пересечения колллайдеров менять существующую текстурку на заранее подсунутую. Но как сделать чтоб не вся стена перекрасилась, а только там где коллайдеры пересекаются?
Данке шон.
Делаешь шейдер, куда в глобальную переменную float2 вписываешь позицию персонажа, во фрагментном шейдере находишь distance(IN.uv, _MainCharacterPosition), ну и сравниваешь со всоим значением.
может кто-нибудь помочь на реальном примере показать как вставлять рекламу?
могу на пиво подкинуть за помощьдешевое
не до конца еще сделал простенький раннер как учебный проект. вот ебусь с адмобом уже второй день, пытаюсь понять как он работает.
может сможет кто-нибудь на пальцах объяснить? ну или хотя бы просто помочь добавить и с комментариями в коде пояснить чтобы отображался обычный баннер и межстраничный на примере любого туториала Юнити стандартного
уже все плагины перепробовал. даже самые простые для идиотов, когда надо просто префаб перетянуть на сцену и все равно не работает, скрипты не подгружаются. хотя казалось бы куда проще.
плагин admob vntis
но желательно бы с официальным от гугла разобраться, как его настраивать.
Если есть какие то материалы касаемо этого - буду признателен за ссылки.
Судя по всему ты новичок, что однозначит Unity. Но должен предупредить, нужно пииздецки много усидичивости. Если не зассышь могу дать пару советов хуетов как проще пройти через всё гавно.
Я другой анон, мой совет будет банален, но мало ли. Я почти год занимался хуйней, но реальный рост начался только когда я послал нахуй все эти видео уроки и готовые ассеты и тупо на одном мониторе api help, на втором редактор кода с отладчиком. Были моменты когда хотел все бросить, но сейчас я могу открыть любой готовый ассет и мне все понятно (если не даун писал). Суть в том что видео уроки это видимость обучения. Настоящее обучение это когда разбираешься и набиваешь шишки сам.
ну без этих самых туторов я хрен разобрался бы в интерфейсе.
попробуй не на минималках. у меня так KSP на минималках 10-15 выдает, а вот на средних аж 30
чё так - я хз
>графон весьма средний
Как это ты определил что там средний графон?
Хуевая картинка имеет мало общего с нагрузкой на видеокарту. Достаточно накидать на камеру дефолтных постэффектов, чтобы убить ФПС
Тебе ж там даже в загрузочном экране написали что демка нихуя не оптимизирована.
>PlayMaker
Ребята не стоит вскрывать эту тему. Вы молодые, шутливые, вам все легко. Это не то. Это не Чикатило и даже не архивы спецслужб. Сюда лучше не лезть. Серьезно, любой из вас будет жалеть. Лучше закройте тему и забудьте что тут писалось. Я вполне понимаю что данным сообщением вызову дополнительный интерес, но хочу сразу предостеречь пытливых - стоп. Остальные просто не найдут.
Форсировал отключение в настройках драйвера сглаживания и на всякий случай анизатропию, все нормально стало.
Ну расскажи, как он по юзабельности? Функционал чем ограничен?
Им надонатили пару десятков лямов деревянных, которые они успешно спустили на шлюх и кокс, а потом за выходные сделали демку на коленке.
Сегодня обновил до последней все пизда, фпс порезался в 2-3 раза (а то и больше, обычно счетчик показывал 60-70, но сейчас вообще 10-14).
При этом никаких ошибок в консоле, что они там намудрили?
Быстрый поиск по форуму выдал всякую хуйню типо удаления программы для контроля скорости вращения вентилятора для фикса.
UPUTU
>>389825
Да именно так, учение происходит только на практике и ошибках. Но вот какой путь мне кажется более рациональным: 1. Смотришь вот это https://unity3d.com/ru/learn/tutorials/topics/scripting и параллельно выцепляешь в свою игру то что тебе надо. Тут есть и основы языка, и функции от самой юнити. Простою текстовую игру можно сделать посмотрев первые 10 гайдов. Советую пробывать на инглише смотреть т.к. это отточеные без лишних слов видео. Далее по маленьку выцепляй нужное и меняй под себя. Есть еще совет, не просто копируй код из туторов, а меняй немного или много, только так начнешь ошибаться и когда ошибешься сначала попробуй сам понять что не так, но не долго, а потом гугли. удачи. З.Ы. повторюсь нужно много усидчивости. За неделю не получиться с нуля захуячить свою ГТА или доту. Кстати перфекционизм в больших объемах до добра не доведет, если не можешь решить что то очень долго - переключись на другую
и не бояться читать scripting API
> Есть еще совет, не просто копируй код из туторов, а меняй немного или много
Я ещё когда всякие туториалы с оф сайта смотрел и когда автор говорит "а сейчас мы прикрутим вот такую вот залупу" - ставил на паузу и пробовал прикрутить её сам. В 80-90% случаев получалось, в остальных случаях включал дальше и смотрел где ж я обосрался.
Тоже хорошо скил качало.
спасяб.
усидчивость есть.
пока только вкатываюсь в азы( как создать сцену, работа с префабами и скриптами, анимаци и п.р.)
делаю не гта, а рпг типа фоллача 2го. ток под другие реалии.можно будет грабито корованы
Запилил коллайдер для взаимодействия и даже коробкомаунта Твайлайт Спаркл, на которого можно сесть, покататься и слезть и дезинтегрировать. Больше на нем, правда, нихуя нельзя делать, хотя неплохо было бы прикрутить хотя бы взаимодействие с NPC и невозможность спешивания прямо в стену.
>>390002
> нужно много усидчивости
Два чая этому Кармаку. Капча начинается на 666, лол.
Так-то да. Правда, велосипед для взаимодействия я не спиздил, нашел только совет "тебе нужны рейкасты или коллайдеры", что и так было очевидно. А в сторону рейкастов мне пока смотреть даже страшно. Впрочем, куда я денусь.
Нужно заанимировать руки для персонажа, отдельно от других анимаций, видел что можно отключать в определённых анимациях определённые кости.
Сам не люблю когда говорят "гугли то-то" и т.д., но тебе нужна Avatar Mask.
Я просто уж буквально в одном сапоге, как вернусь — распишу более детально, если ещё не разберёшься.
>>390068
Держи пока вот это, думаю разберёшься.
https://youtu.be/4wPw_-AOlw4?t=668 смотреть с 11:08 если привязка отвалится
Всё, свалил
сделай как делают прочие артисты-пидоры. заведи себе патреон, когда с него бабла будет достаточно то найми себе раба и в случае неудач вали всё на него.
учись кодить, лол. До уровня начинающего кирилла дойдешь за неделю, поди
без программирования тебе только в рпг мейкер. Ну или найти какой-нибудь ассет волшебный
софт прон рисуешь?
что, совсем? приклей свои картинки на картонки и делай немое кино перед камерой? можешь вон UE скачать, там будет просто всё через жопу зато погромировать не обязательно.
но советую перестать быть бестолочью и смочь хоть что-то базовое.
Пилить очередную ВН.
В нуфаготреде есть небольшой перечень движков, на которых можно играть в лего геймдев без шкриптов.
есть ли менюшка к скрипту, где посмотреть, куда этот скрипт вошёл
что бы по фасту помочь могли без недельной самоебли мозга. типа взаимопомащи для нубав
>Спустя неделю крайне неторопливой ебли с...
Как вычесть один rotation из другого, чтобы получить смещение? Один quaternion из другого вычитаться не хочет.
Крайне неторопливая ебля у меня была, потому что были другие дела, лол. Пиздить велосипеды — задача несложная, а придумывать свои мне пока что нравится.
Запили сам, чо, вбрось ссылку.
хотел бы я сам, запилил бы ыы)
Это я тоже объебался, потому что сначала создал переменную прокрученности в методе и только потом передвинул ее оттуда.
А, ну значит спать ещё не пора.
Не совсем понял.
> Мне надо, чтобы евент при нажатии кнопки отсылал всем лисенерам ее имя
Тут тебе в помощь BroadcastMessage
> и в другом методе чтоб я мог эту кнопку уничтожить по этому самому имени
Ну вот через бродкаст её и лови.
то есть, по сути, объясню, для чего мне это: Есть несколько предметов под замочками, которые должны открываться только после просмотра юнити рекламы. После нажатия на замочек вылазит меню "посмотреть рекламу, чтоб открыть?" нажав кнопку "да" поэтому CurrentSelectedGameobject не надо и после просмотра рекламы уничтожается конкретно тот замочек, на который нажали до этого, вот
> Мне надо, чтобы евент при нажатии кнопки отсылал всем лисенерам
> уничтожается конкретно тот замочек, на который нажали до этого
Так всем или только тому, на которого нажали?
почему нельзя сразу записать какой предмет был выбран, и после показа рекламы что то вроде predmet.unlock = true;
ну, лисенер - то в скрипте находится? То есть, задумка такова, что я нажал на кнопку, лисенеру пришло ее имя, в другом скрипте по этому имени я ее уничтожаю и все. Я как - то не так что - то понял, да?
или ещо пиже иметь пул всех предметов и запомнить только номер в пуле. pool[selectedToUnlock].locked = false
> То есть, задумка такова, что я нажал на кнопку, лисенеру пришло ее имя, в другом скрипте по этому имени я ее уничтожаю и все
Я тебя не понимаю. Если скрипт висит на том же объекте, что и кнопка, то просто передай её в него.
Ну или юзай таки бродкаст, потому что я хуй знает какой там скрипт у тебя где висит.
скрипт висит на пустом GO, который является моим скрипт менеджером
Мне идея с бродкастом не оч подходит т.к. он же с чайлдами только работает
ты так долго с этим паришься может проще сделать подругому?
хм, как вариант
Ты же можешь выбрать бродкаст у любого объекта, который можно определить заранее. Или у массива объектов.
Допустим, нашёл ты по тегу все свои нужные объекты и загнал из в массив yoba
Потом пишешь
yoba.broadcastmessage ("имя метода", что передаём);
Хотя не уверен что пропустит обращение напрямую к массиву, так что если чего - юзай цикл и гоняй массив по индексу.
Но я всё равно не до конца понял как там оно у тебя работает, так что не факт что я тебе советую то что нужно
у меня в точности до наоборот. го в месте? скину шо к чему, подумаешь. щас фейкопашку дам. https://vk.com/id415307358
1232x456
(Смотрите на position)
Итак, здравствуйте, господа.
Звать меня, допустим, Вася. Ебаный студент, не менее ебаный еблантий, которому за две недели максимум надо сделать 2д игрульку.
в голове это выглядит как максимально упрощенная версия ранних final fantasy. Гг один. Без "открытого" мира. Меню-карта арен-битва. Несколько монстров, пара скилов, подобие инвентаря.
Сам нихуя не умею, от слова совсем. Проект идет как дипломная работа. Но, как уже понятно, по "профессии" не пойду.
Поэтому прошу помощи. Куда\как обратиться лучше?
Дохера бабла в благодарность нет (да чего уж там, бабла пока что вообще нет), но с этим, думаю, можно будет договориться.
Заранее спасибо (и извините) за всю хуйню.
> за две недели максимум
Двачую RPG Maker. Хотя можешь напиздить ассетов с магазина и склеить что-нибудь из них. Или открыть какой-нибудь тутор на Youtube и просто скопировать игру чуть меньше чем полностью.
RPGmaker в вузе не приняли. Поэтому выбрал Unity. Изменить уже нельзя.
уже искал, не нашел даже приблизительно что хочу.
ах да, еще у меня небольшие проблемы с английским.
Так там не нужен английский, лол. Гугли "Unity %жанрподелия% Tutorial", сразу найдешь дохуя видео с ссылками на используемые ассеты. Просто делаешь так же, как делает чувак на видео.
В душе не ебу, как ты будешь показывать преподу код и не тупить при этом, но проект у тебя будет, да.
А, ты же уже написал, что это типа JRPG. Ну тогда хуй знает, гугли, как прикрутить пошаговую боевку, статы, предметы, вот это вот все.
Добавляю на сцену машину, на колёса цепляю wheel collider, на саму машину цепляю rigidbody, запускаю и машина улетает в ебеня, выдавая лютые кульбиты. Это с какого хуя?
колайдеры друг в друга въежают наверно(пересекаются и пытаются разъехаться, но не получается)
1232x476
Эта машина какая-то заколдованная блять.
Вы только посмотрите на это адское колесо. Оно и по Y и по Z вращается ОДИНАКОВО.
Неудивительно что на таком колесе wheel collider с ума сходит.
ну а модель то откуда? ты ее импортил или готовую взял? попробуй покрутить настройки импорта убери rig и animation галочки(нажми в на ярлык исходника модели в юньке там появяться эти опции)
Импортировал. И rig и animation убрал, само собой.
В пизду её, взял другую модельку, сча прицеплю коллайдеры, гляну что получится.
И где ты там увидел приравнивание флоата к инту, мань? Там объект Color приравнивается объекту Color.
да в общем-то нигде он не проебался, кроме как в развитии. float в int кастуется только если попросишь. а вот то что он сам не захотел кастовать а пришел на двач и стал махать этим говном нам многое говорит.
Уже делал, та же ошибка.
Почему если это я проебался в развитии, то еще не увидел в треде правильного решения проблемы?
1432x540
Что это за хуета? На сцене нет нихуя, кроме 4-ёх сфер, засунутых в пустой геймобджект и на которых висит по wheelcollider'у.
И всё это так люто пидарасит, что я вообще нихера не пойму что с этим компонентом не так.
Гугл выдаёт всякое дерьмо типа смещения центра массы в риджидбади пробовал, ещё хуже становится и поставить массу в риджидбади 2000 и Damper на коллайдерах убрать в 1500. И нихера не помогает.
Только на вас надежда, а то у меня скоро глаз начнёт дёргаться так же как на видеорилейтеде.
GameObject block = (j == minY + columnHeight - 1)?grassPrefab:dirtPrefab;
Это все работает. Взял с урока на ютубе.
Занятный синтаксис, не знал.
В стандартном ассете всё нормально, но там и скриптов дохуя, попробуй разбери где там оно балансится и как.
Надо же понять как оно и почему.
1: 0 0 0 0 0 0 0 1 1 0 0 0 1
2: 0 0 0 0 0 1 1 1 1 1 0 1 1
3: .....
где 1:2:3 это слои, а 0 1 наличие или отсутствие материала в каждой клетке по порядку. Прокатит?
Да нихуя там сложного.
В шапке подключаешь using System.Runtime.Serialization.Formatters.Binary;
иначе не схавает.
Внутри стандартного класса, наследуемого от MonoBehaviour создаёшь подкласс, перед ним прописываешь [System.Serializable]
И потом как в твоём туториале - открываешь потоки, льёшь инфу, закрываешь.
Так. А как дебагить в юнити? Если в других языках я мог вывести хоть целый массив в консоль и глянуть его тип/размер, то как это делается здесь? Обязательно считать всю сцену для этого?
А как остановить эту шайтан-машину, если я проебал и теперь у меня все зависло?
Да я уже заметил, что это многовато для него. Хотя по сути это всего-навсего 256х256х24 клеток игрового поля.
Они не бесконечны. Там в объекте несколько плоскостей, которые создают его форму.
А вообще нахера ты велосипедишь, если тебе уже сказали что лучше сохранять через сериализацию?
Почему, если я своими глазами вижу, что они небесконечны? Создай пустой GameObject и в нем создай плоскость, увидишь, что она имет конечный размер и форму квадрата.
>>390558
Я пока еще не приступил к сохранинию, разбираюсь с тем, как это все говно запихать в объект или массив объектов. Так как гениальный автор урока рисовал каждый объект с ходу, без сохранения в переменных.
> Почему, если я своими глазами вижу, что они небесконечны? Создай пустой GameObject и в нем создай плоскость, увидишь, что она имет конечный размер и форму квадрата.
Потому что это визуализация.
Держи, ленивец
> A plane is an infinitely large, flat surface that exists in 3D space and divides the space into two halves known as half-spaces
Да его уже обосрали, забудь.
С меня няши
> Почему, если я своими глазами вижу, что они небесконечны?
Повторяем геометрию за шестой класс всем /gd/.
> в определённых местах
Руками можешь поставить. Либо скриптом, если надо спавнить на определённом расстоянии друг от друга.
> убирать
По тегу.
>Руками можешь поставить
Лол, нет. Карта рандомная.
>По тегу
Как? Допустим теги я назначил. Как теперь удалить по тегам? Гугление по remove instantiated by tag ничего не дает.
Гугли не то что ты думаешь "remove instantiated by tag", а то что является зацепкой к ответу на твой вопрос. Что то вроде "unity3d tag" "unity scripting tag" или конкретнее с упором на твою проблему. "unity3d remove object" "unity3d удалить объект" и т.п. Что на счет твоего вопроса, просто изменить позицию ведь можно?
> Гугление по remove instantiated
Ты там упоролся что ли? После instantiate твой префаб становится геймобджектом. Какое нахуй remove instantiated, совсем поехал?
GameObject.FindGameObjectsWithTag("Yoba");
Загоняешь массив в лист, потом всем йобам прописываешь Destroy() в щщи.
Чтоб все охуели.
MovieTexture is finally deprecated after Unity 5.6.0b1 release and new API that plays video on both Desktop and Mobile devices is now released.
см. описание
Как я понимаю, человеческий Videoplayer
https://www.youtube.com/watch?v=nGA3jMBDjHk
Video: Fixed crash when creating/releasing multiple VideoPlayers. (888305)
какие возможности для недорогого хостинга используете?
Хорошая схема.
Destroy((GameObject) Instantiate(spawnPrefab, transform.position, transform.rotation));
не блогодари
Придётся пилить кикстартер на публикацию в стиме
была и стима идея пропускать игори, за кототые толпа проголосует.
Теперь хотят бабла запросить. "От 100 до 5000 зелени", но пока думают.
они думают, как гринлайт заменить
Код рабочий, хотя и бесполезный. Проверил предварительно, хотя это и так ясно было (не всем, получается).
внезапно понял, что там мапится прямо на экран через рендер и ни положение камеры, ни даже её полное отсутствие роли не играет.
Мне нужно сделать так, чтобы из кадра вырезался кусок для симуляции раскачивающегося объектива
У кого был опыт с видео в юнити?
702x574
>>390634
Я почему-то подумал что такую проблему сформулировать в гугле не получится, но как только попробовал, нужная строчка нашлась сразу же. Вот она:
GetComponent<SpriteRenderer>().sortingOrder = Mathf.RoundToInt(transform.position.y 100f) -1;
Я даже не знаю что она делает и как работает. Но я присобачил движущемуся игроку её в апдтейт, а статичному в данном случае дереву в старт, и всё заработало. Даже не знаю, радоваться или плакать.
Ну это я знаю, я это и искал. Я имею в виду что до сих пор не понял как и зачем работают эти GetComponent. Да и зачем округлять до целого числа тоже не совсем понятно.
GetComponent возвращает тебе хуйню на которой он вызывается того типа который ты просишь. в данном случае возвращает SpriteRenderer. где ты ставишь его леер на столько насколько у него позиция в Y. а округляешь потому что оно только int принимает.
>Как работают эти GetComponent
скрипты, transform, SpriteRenderer, Box Collider - это все компоненты. Один и тот же компонент на дереве и игроке это две копии с разными параметрами(в SpriteRenderer у них разные спрайты - дерева и человека). GetComponent возвратит ту копию SpriteRenderer что висит на том же игровом объекте, что и скрипт. То бишь "соседний" компонент
Сам делал (не удивительно)
Ам.. ну... что ещё добавить - то. Аааа, эт самое, это просто "build pac хуяк" (Вы по другому не понимаете)
Если хотите выплеснуть весь негатив, то вот ссылка на этого пидора в вкотактеле.
https://vk.com/0x00000024
И это, самое. Делитесь своими достижениями, не ну а хули?)
охуенно же, ты моделер типа? АА(а) контент среднестатистичной ф2п игрухи из топов стора. хочешь в сотрудничество с юной командой стартаперов?
ололо блять я тебе такую сценку за сутки накидаю
меши из куиков и булеанов у них АААААААААААААААААААА(а) контент, охуеть
Толкай за 1000$, а то опять школьники понакупят десяток ассетов и в гринлайт, и ведь потом это говно продают.
Кстати, если спиздить ассет, который "только для ознакомления и личного использования", засунуть его в игру и выкатить в стим, насколько велика вероятность всяких судебных исков и прочего дерьма? Или всем похуй?
Знаю знаю)
Да я в теории. Кто там вообще мониторит стимопомойку на наличие своих ассетов?
Cам посмотри - анон чуть выше скидывает пики ассетов, выкаченных с сиджиперсии, куда их залили из ассет стора, а никто их даже не узнал, некоторые вообще начали писать кипятком при виде пятилетней давности ассетов. Там ещё в паке руины были живописные. Так что смело воруй @ продавай.
Для игры мне нужна платформа, которая будет трястись, создавая некое землетрясение.
Прошу, поделиться кто чем может: ссылками, видео, самим кодом.
Заранее благодарю.
может и было, но мне нужно сейчас и не в графоне 2007-г0
Тряси платформу рандомно.
>сам объект через transform
У меня были подозрения, что так можно сделать, но я не знаю как это прописать в скрипте.
у меня возникает подозрение, что ты ещё в самом начале и не юзал даже Input.GetKeyDown
Благодарю за ссылку, но это не совсем то.
Платформа должна трятись сама, без вмешательства игрока.
1. создаёшь платформу
2. создаёшь скрипт
3. кладёшь скрипт в платформу
4. открываешь скрипт в студии
5. в Update издеваешься над transform
возьми этот скрипт для камеры для начала
https://gist.github.com/ftvs/5822103
Random.insideUnitSphere
>ма должна трятись сама, без вмешательства игрока.
Попробуй
Platform.Tryastis(Tryasuny.self);
Блядь.
public GameObject platform;
void Update ()
{
platform.transform.position += new Vector3(Random.Next(0,1), Random.Next(0,1), Random.Next(0,1)) * Time.deltaTime;
}
Вроде бы Random так работает, давно его не использовал.
Только прикрути возвращение в какую-нибудь точку, а то распидорасит.
ебать землетрясутие
Ты не очень сообразительный, да?
На сколько хуёвая идея запилить ТД в 3д на мобилки?
чёт в голосяку с выверенного и поставленного на конвейр круговорота говна в природе
Tower Defence жи. Ставишь башни у дорожки, собираешь голду, прерывая какой-то военный парад.
Причём усложнение графона и игрового процесса только увеличивают критичность оценки геймкритиков из 8б и твои шансы жидко обосраться с объёмом работы.
Без гениальной идеи только клоны флаппибёрд и пилить. И это нагоняет депрессию.
> ебусь с костями
Далеко не уходи, вопрос имею.
Юнити вообще сама по себе умеет в кости и анимацию? Ну, то есть можно ли засунуть в неё голый меш и всё это прикрутить? А то я всё это дерьмо не особо ковырял, юзаю готовые модельки, но интерес имею.
создать скелет в юнити нельзя. Для таких как ты есть mixamo.com - простой и благодатный сервис автоматического риггинга и скиннинга гуманоидных персонажей. Если у модельки сильно выходящие за рамки базового человеческого меша компоненты, типа: длинные волосы, наплечники, юбки или фартуки, результат будет довольно хреновый, нужно корректировать вручную будет. Також если короткая шея очень длинный подбородок, лишние вертексы, раздельные меши ну и все вроде.
На счет анимаций: в юнити можно переносить анимации с одного гуманоидного персонажа на другой, если у них меканимовский тип рига. То есть можно использовать готовые или краденые.
1000
> Для таких как ты есть mixamo.com
Да я его и пользовал раньше, сейчас у меня свой моделлер есть, мне просто интересно было, вдруг в юнити есть какой-нибудь костыль для всего этого дерьма, но я его просто не нашёл. Оказалось — нет.
В этом и суть. Нужно придумать что то очень простое, но цепляющее.
И хорошо раскрутить конечно.
Есть вопрос: для начала этой книги хватит?
The C# Player's Guide Из С# шапки
Или нужно что-то ещё?
Я книгами вообще не обмазывался, всё методом проб и ошибок.
Но порой думаю что-то почитать, дабы КПД повысить.
Хватит, чтобы вкатиться в шарп, но потом придется разбираться в классах Юнити, тащемта они довольно простые. А на сайте туториалы по сути учат шарпу параллельно с объяснением фич движка, но лично мне по видео учиться нихуя не удобно, хотя в английский могу нормально.
Прочитай Player's Book Guide, поделай в консольке всякие текстовые симуляторы бати и вкатывайся в Юнити. А я пойду дочитаю его, лол.
>только клоны флаппибёрд и пилить
Ну в некоторых руках и из клонов годные игры получаются, например: мультиплеер флеппи берд, флеппи берд, в котором нужно от стен(на которых появляются шипы) отскакивать, находя безопасное место, или флеппи гольфДа да, есть и такое.
>мультиплеер флеппи берд
>флеппи берд, в котором нужно от стен отскакивать
>флеппи гольф
>годные игры
подскажите, где я обосрался
на другом компе всё работает, но там SDK пришёл с Xamarin
на этом установка сделана через Android Studio (пидары не раздают более экзешником, только в зипе)
Там твои пиздоглазые закарючки ни в каких важных путях не участвуют? Может потому и нахуй шлёт.
>>391343
>>391340
Разобрался. Апдейты - зло.
http://stackoverflow.com/questions/42538433/not-finding-android-sdk-unity
GameObject thePlayer = GameObject.Find("ThePlayer");
PlayerScript playerScript = thePlayer.GetComponent<PlayerScript>();
playerScript.Health -= 10.0f;
И стоит ли жертвовать удобством, засовывая все нужные скрипты в единый скрипт? Как делаете вы?
GetComponent в апдейте не особо приветствуется, но от одного никто не умрёт.
> Как делаете вы?
По ситуации. Чаще всего разношу по разным.
Бродкастом, например, но его в апдейт засовывать - ещё больше через жопу.
Или в одном скрипте создавай публичную переменную типа смкрипт или геймобджект, на котором висит второй скрипт, передавай его и в Старте ебашь GetComponent.
if(leCachedPlayer == null)
{
leCachedPlayer = GameObject.Find("ThePlayer");
if(leCachedPlayer == null)
{
print("player proyoban");
}
}
if(leCachedPlayerScript == null)
{
leCachedPlayerScript playerScript = leCachedPlayer.GetComponent<PlayerScript>();
if(leCachedPlayerScript == null)
{
print("player huevy");
}
}
if(leCachedPlayerScript != null)
{
leCachedPlayerScript.ApplyDamage(10);
}
1. получить нужный компонент заранее, например в старте
если плаер меняется в процессе игры(переключение между персонажами например) предусмотреть промежуточный скрипт, который это отслеживает и передает нужному
2. использовать события в какой-либо форме. т.е. первый скрипт посылает соопшение "плаера стукнули на 10хп", плаер его ловит и обрабатывает.
че за ебанутые костыли, просто пропиши public PlayerScript player; и в инспекторе в самой юните перетащи плеера в эту дырку. А у плеера добавь функцию
changeHP(int v) {
health += v;
health = mathf.clamp(health, 0, 100);
}
И в любом другом скрипте нужна бует токо эта строка player.changeHP(-5);
Там нет яваскрипта. ЮС - голимый флешевский экшонскрипт.
тоже из-за этой фигни день убил.
Раньше делал карты для первой Амнезии где написать скрипт было намного проще и понятней.
Например
Если(Объект("Игрок") коснется Объекта ("Стул_1")
{ Дестрой Объект("Стул");}
И все.
Здесь же я не совсем понимаю, как ссылаться на тот или иной объект и т.д.
делаешь колайдер обьекта триггером.
на него вешаешь скрипт OnTriggerEnter
в который передается колайдер того обьекта, который туды влетел. проверяешь игрок ли это и делаешь что нада
2д анимация это набор картинок без всяких скелетов и аватаров, только если тебе не нужна физическая 2д
ого, значит костной анимации спрайтов не существует, нихуя себе, какие только дибилы тут мудростью не делются, ахуеть просто
Пишу 3D-редактор на C# и WPF, хочу использовать Unity в качестве графического движка. Есть некий WPF-овский контроль, на который собственно хочу осуществлять вывод графики сцены. Вопрос: как мне подключить Unity к своему приложению, есть ли какая-нибудь информация на этот счет.
Сам думал над этой хуйней, рейкасты не понравились, потому что хуй знает, когда их вызывать, алсо хотелось прикрутить подсветку "нажмите E чтобы активировать". Придумал только постоянно активный коллайдер перед моделькой игрока, которая проверяет теги объектов, в которые он въезжает. Если с объектом можно взаимодействовать, он передаётся в переменную на главный скрипт на игроке, а там скрипт по телу определяет, какую функцию вызывать по нажатию кнопки "использовать".
Хуй знает, оптимально это или нет, но оно работает.
ты случайно не телка? Уж слишком контрастный моему ответ, неадекватный. Где я написал что скелетов для 2д не существует?
1280x720
Ты тупой совсем? В деревьях нет костей!
>https://forum.unity3d.com/threads/how-to-integrate-unity3d-into-c-wpf-application.332276/
можно, но идея хуевая ибо разные фреймворки
по направлению мышки - только рейкаст. вызывать каждый кадр.
коллайдер не катит ибо имеет зону действия и вполне может не зацепить нужный объект/зацепить лишнее
Тогда почему юнити пишет что у обычного кубика 24 вершины, если их там по идее 8? Или если из одной вершины выходит больше чем 2 ребра, то она считается за несколько?
где тебе это пишут и зачем тебе это нужно?
каждая вершина сохранена лишь один раз, если она участвует в нескольких треугольниках, это прописано в индексах
Нет, у них разная вертексная информация (uv/uv2).
> где тебе это пишут
В свойствах меша.
> зачем тебе это нужно?
Понять схуяли у объекта с 8 вершинами написано что их 24.
различаются только в depth (0, -1)
как юнити решает, какую брать по умолчанию?
и, кстате, как их переключать
Ты мыслишь, как человек. Есть способы триангулировать, "как тебе нужно", но мне лень объяснять. Если бы ты запостил свой пак с аниме-девочками, то возможно...
Юнити мне нравится всё больше
Какую в левеле пропишешь, та и будет в данный момент юзаться. Пишешь две, можешь переключаться между ними. Рендер-камера обычно финалка со всеми пассами. Признак профана, но большинство детей про пассы не знает, так что делай что хочешь.
а ты попробуй сделать кубик с 8 вершинами. результат этого тебя знатно удивит. так сделано чтобы кубик был похож на кубик.
Давай в класс иди. Переменка закончилась, шотакон =3
да пиздишь, разумеется. ты похоже ничего не делал, бестолочь. на, смотри, хули. что же тут не так? что же тут нечисто?
расскажи, как такую хуйню заполучить в юнити и зачем
pixel lightling совсем иная тема и решается шейдерами
Значит в кубе вершины не являются общими для некоторых полигонов, чтобы были коректные нормали для расчта освещения?
лол ну на, хули.
[RequireComponent(typeof(MeshRenderer), typeof(MeshFilter))]
public class MakeCube : MonoBehaviour {
float size = 0.5f;
void Start () {
Vector3[] verts = new Vector3[] {
new Vector3(-size, -size, -size),
new Vector3(size, -size, -size),
new Vector3(-size, size, -size),
new Vector3(-size, -size, size),
new Vector3(size, -size, size),
new Vector3(size, size, -size),
new Vector3(-size, size, size),
new Vector3(size, size, size)
};
int[] tris = new int[] {
0,2,1, 1,2,5, 3,0,1, 1,4,3, 0,3,2, 2,3,6,
1,5,4, 5,7,4, 6,3,4, 6,4,7, 6,5,2, 7,5,6
};
Mesh mesh = new Mesh();
mesh.vertices = verts;
mesh.triangles = tris;
mesh.RecalculateNormals();
mesh.RecalculateBounds();
GetComponent<MeshFilter>().mesh = mesh;
}
}
большое, блять, дело сделать меш через код.
зачем? неибу. смеху ради? посмотреть на хуйню? я не знаю. например я сделал чтобы в треде показать какая хуйня бывает.
>>391513
йеп. у куба слева нормали вершин смотрят по направлению вершины, у куба справа нормаль каждой плоскости перпендикулярна плоскости. в итоге куб слева думает что он шар, а куб справа только выглядит как куб, а на самом деле это 6 квадратов.
лол ну на, хули.
[RequireComponent(typeof(MeshRenderer), typeof(MeshFilter))]
public class MakeCube : MonoBehaviour {
float size = 0.5f;
void Start () {
Vector3[] verts = new Vector3[] {
new Vector3(-size, -size, -size),
new Vector3(size, -size, -size),
new Vector3(-size, size, -size),
new Vector3(-size, -size, size),
new Vector3(size, -size, size),
new Vector3(size, size, -size),
new Vector3(-size, size, size),
new Vector3(size, size, size)
};
int[] tris = new int[] {
0,2,1, 1,2,5, 3,0,1, 1,4,3, 0,3,2, 2,3,6,
1,5,4, 5,7,4, 6,3,4, 6,4,7, 6,5,2, 7,5,6
};
Mesh mesh = new Mesh();
mesh.vertices = verts;
mesh.triangles = tris;
mesh.RecalculateNormals();
mesh.RecalculateBounds();
GetComponent<MeshFilter>().mesh = mesh;
}
}
большое, блять, дело сделать меш через код.
зачем? неибу. смеху ради? посмотреть на хуйню? я не знаю. например я сделал чтобы в треде показать какая хуйня бывает.
>>391513
йеп. у куба слева нормали вершин смотрят по направлению вершины, у куба справа нормаль каждой плоскости перпендикулярна плоскости. в итоге куб слева думает что он шар, а куб справа только выглядит как куб, а на самом деле это 6 квадратов.
> It should have 24, because each face needs 4 separate vertices for the normals and UVs. The faces can't share normals and UVs (well, technically they could, but the lighting and texture would look completely screwed up).
Короче да, вершины не общие.
на малых углах обзора получается такая фигня
может, просто камеру двигать?
жа. проебаные нормали. вообще у юнити mesh.RecalculateNormals() отталкивается от количества смежных эджей же. так что не все нормали на самом деле торчат совсем уж по направлению от уголка. вот с красивыми нормалями кубик! гораздо лучше!
Например, вот есть у меня большой куб, я подношу к нему маленький куб, мне нужно чтобы они были встык. Только на глаз ставить ну или через scale и position ручками считать?
И? Ты выставил директ пойнт на поверхность и хочешь ЧЕГО ИМЕННО? Что ты выставил, то и получаешь.
хули ты меня то спрашиваешь? я куб хотел увидеть.
или по-другому: как получить видеостреам с ютуба, но лучше с vimeo в VideoPlayer?
Спасибо! Какая комбинация клавиш?
Я нашёл даже лучше цвет говно...:
https://www.h3xed.com/blogmedia/youtube-info.php
Координаты чаилда относительно парента.
В моей реализации вместо того чтобы включаться и гореть, йоба мигает аки бешеный, потому что каждый кадр его вырубает.
> Как Йобой получить информацию о том, что луч перестал его касаться
Не совсем понял зачем тебе это.
Йоба по умолчанию выключен, игроком пуляешь лучом. Если луч наткнулся на объект с тегом yoba, то передаёшь в йобу нужный метод или чего там тебе надо.
У Йобы есть дочерний объект, который должен включаться и быть включенным все время, пока на Йобу направлен луч. С этим проблем нет. Но когда луч отходит, я больше не имею доступа к Йобе через RaycastHit, и не могу придумать как тем не менее сказать Йобе что пора бы ему выключить свой объект.
Чувствую что упускаю что-то очевидное, аш пригорает
Ну так там же где пускаешь луч, где у тебя проверка что если светишь на объект с тегом yoba, то йоба включает свой malinki yoba, а иначе (то есть если тег не yoba), то йоба выключает malenki yoba.
public GameObject YobaReference = GameObject.Find("Yoba");
//тут рейкасты
if (hit.collider.tag != "Yoba")
{
YobaReference.transform.GetChild(0).enabled = false;
//или
YobaReference.transform.Find("YobaJunior").enabled = false;
}
Куда жать? А то я только готовыми анимация пользовался.
И как потом это сохранить чтобы рука сжималась только тогда, когда мне надо? Это можно как-то сохранить в новую анимацию, а потом кисть изменять через AvatarMask когда нужно?
Рэйкаст в апдейте это нормально.
в 2д вообще похуй, если совсем параноя юзнай FixedUpdate() например, но в нем нельзя детектить нажатия кнопок, можно но детектить не будет в 50% случаев. Взгляни на это.
RaycastHit2D hit = Physics.Raycasy...
if(hit.collider.tag == "yoba"){
hit.transform.getcomponent<YobaMINI>().toggleOutLine()
}
В сцене можно через дебаг рисовать, а в самой игре как?
Не представляю, что надо делать, чтобы прямо пиздец по производительности был.
Когда у меня возникает мысль "Да не, грузить же будет" на стадии двух коробок вместо персонажей и одного зеленого квадрата вместо травки, я вспоминаю баталии в Mount&Blade. С другой стороны это Юнити, даже сраный Verdun на минималках жрет неоправдано много.
Не юзаю контроллер, передвигаю игрока, прикладывая к нему силу по векторам. Прыжок - сила по y, но получается так, что его можно спамить, постоянно прикладывая силу, и улетать в космос.
Не поможешь?
> Анон, можно ли как-нибудь чекнуть, находится ли уже "в воздухе" объект (игрок)?
В характер контроллере есть такая вещь как isGrounded. Если без него, то хуй знает, стрелять рейкастом под ноги, например.
в fixedUpdate пишешь что то вроде
if(physics.raycast(position, vector3.down, 1.1f)
Grounded = true;
else
Grounded = false;
З.Ы. там где 1.1 это то насколько луч стрельнет вниз. таким образом если под ногами на расстоянии 0.1 небудет земли то прыжок мы не делаем.
if(Grounded)
Jump();
else
sosiPisos();
и второй способ через статичные функции типа void OnCollisionEnter
OnCollisionStay
OnCollisionExit
Ой хуйню написал про фиксед сорян.
Нужна такая ебала
bool Grounded(){
if(raycast)
return true;
else
return false;
}
и там где прыжок пишешь if(Grounded()) jump();
Спасибо, попробую.
Спасибо.
Есть у меня анимация простоя, есть анимация ходьбы. Анимации проигрываются как надо, в зависимости от того стоит герой на месте или нет. И вот запихнул я анимацию прицеливания и хочу чтоб герой мог целиться и стоя и во время ходьбы.
Создал Avatar Mask, выделил там необходимые части тела (руки и голову), создал в аниматоре отдельный слой по маске, кинул туда анимацию прицеливания, вроде всё норм.
И вот хочу я чтобы герой по ПКМ начинал целиться.
Сделал
void Update {
if (Input.GetMouseButton (1)) {
animator.SetLayerWeight (1, 1);
} else if (Input.GetMouseButtonUp (1)) {
animator.SetLayerWeight (1, 0);
}
}
но получается коряво, персонаж слишком деревянно переключается между анимациями, за 1 кадр.
Сделал так
float weight = 0f;
void Update () {
if (Input.GetMouseButton (1)) {
weight = Mathf.Lerp(weight, 1f,Time.deltaTime 10f);
animator.SetLayerWeight (1, weight);
} else if (!Input.GetMouseButton (1)){
weight = Mathf.Lerp (weight, 0f, Time.deltaTime 10f);
animator.SetLayerWeight (1, weight);
}
}
Вроде всё работает, но насколько целесообразно держать в апдейте то, что стоит за условием else if (!Input.GetMouseButton(1))? Оно же постоянно обрабатывается.
Да и вообще, правильно всё или я на велосипеде катаюсь?
Походу вот это >>391818 мой брат-параноик
Есть у меня анимация простоя, есть анимация ходьбы. Анимации проигрываются как надо, в зависимости от того стоит герой на месте или нет. И вот запихнул я анимацию прицеливания и хочу чтоб герой мог целиться и стоя и во время ходьбы.
Создал Avatar Mask, выделил там необходимые части тела (руки и голову), создал в аниматоре отдельный слой по маске, кинул туда анимацию прицеливания, вроде всё норм.
И вот хочу я чтобы герой по ПКМ начинал целиться.
Сделал
void Update {
if (Input.GetMouseButton (1)) {
animator.SetLayerWeight (1, 1);
} else if (Input.GetMouseButtonUp (1)) {
animator.SetLayerWeight (1, 0);
}
}
но получается коряво, персонаж слишком деревянно переключается между анимациями, за 1 кадр.
Сделал так
float weight = 0f;
void Update () {
if (Input.GetMouseButton (1)) {
weight = Mathf.Lerp(weight, 1f,Time.deltaTime 10f);
animator.SetLayerWeight (1, weight);
} else if (!Input.GetMouseButton (1)){
weight = Mathf.Lerp (weight, 0f, Time.deltaTime 10f);
animator.SetLayerWeight (1, weight);
}
}
Вроде всё работает, но насколько целесообразно держать в апдейте то, что стоит за условием else if (!Input.GetMouseButton(1))? Оно же постоянно обрабатывается.
Да и вообще, правильно всё или я на велосипеде катаюсь?
Походу вот это >>391818 мой брат-параноик
Бля.
Второй код:
float weight = 0f;
void Update () {
if (Input.GetMouseButton (1)) {
weight = Mathf.Lerp(weight, 1f,Time.deltaTime 10f);
animator.SetLayerWeight (1, weight);
} else if (!Input.GetMouseButton (1)){
weight = Mathf.Lerp (weight, 0f, Time.deltaTime 10f);
animator.SetLayerWeight (1, weight);
}
у меня есть стойкое чувство что проще погуглить, не верю что ты единственный на всей планете с такой проблемой
Главный скрипт с управлением висит на родителе, двигается тоже родитель. На модельке висит две строчки в Update(), которые ставят модель в (0, 0). Это правильное решение? Не пойдет ли по пизде физика и не будет ли модель спокойно проходить сквозь стены?
Да я вот как раз это и нагуглил, но кажется что можно лучше сделать.
Да и хуй с ним, работает и работает
нипанятна
Окей, посмотрел в стандартном 2D пакете, который есть из коробки в Unity, что модель игрока двигается через RigidBody, а двигать персонажей через transform.position — зашквар, хоть и удобно.
Rigidbody там все равно учитывается: другие модельки своей я толкать мог. Другое дело, что я в итоге аки бог ходил сквозь стены со статичным телом.
Алсо, повесил теперь RigidBody и модель на корень, и все внезапно заработало как я и хотел, а не как обычно, хотя настройки все те же. Ебаный пердолинг.
Почему это никто не делает для игорь?
скрипт лежит в VirtualJoystickContainer
он типа себя родного находит по GetComponent<Image> () ???
какие профиты не делать это через декларацию в public и перетаскиванием в гуе?
> он типа себя родного находит по GetComponent<Image> () ???
Все так.
> какие профиты не делать это через декларацию в public и перетаскиванием в гуе?
Меньше лишних операций.
transform.FindChild("Yoba").GetComponent<Rigidbody2D>().angularVelocity = 1;
Имхо, если тебе нужно будет прикрутить детей объекту, ты будешь знать для чего каждый из них нужен. Либо отправлять массово методы. А так делай как хочешь, главное понимать, что вообще происходит в проекте.
кстате, он в том видосе ошибся и по joystickImg = GetComponentInChildren<Image>() и получил вложеного чайлда, а самого парента, в котором скрипт.
Переделал как на пике
Просто сделай ретаргет. Как все нормальные пиздильщики ассетов делают.
Есть у меня мишень, есть пистолет, стреляю рэйкастом, все дела.
Нужно чтобы в месте попадания в мишени появлялась дыра Натуральная дыра, сквозь которую можно смотреть.
Пока из мыслей только ебенить свой шейдер, который будет просвечивать насквозь те участки, которые помечают пули.
Всё правильно думаю или велосипед получится?
Есть у меня ощущение, что это делается намного проще.
> ебенить свой шейдер, который будет просвечивать насквозь те участки
захуя свой, если можешь выбрать катофф и красить альфу.
но не делают таких дырок в играх не просто так, их не делают потому что катоффы и недайбох транспаренты дают НЕХИЛЫЙ такой овердрав и вообще всячески мешают z-буфферу, что соответствующе сказывается на производительности.
и да, тебе предстоит не только отыскать позицию на UV куда попала пуля, но и позаботиться о том чтобы попавшая в шов развёртки пуля дырявила текстурку адекватно, а не наполовину
Короче ебли много, толку мало.
Свой Red Faction пилишь?
А еще у дыры есть стенки, потому что каждая дыра это немного нора.
Слишком много ебани для Юнити.
Тебе нужно провести дебаггинг. Это значит, просмотреть код и логи вручную, если коротко. How to debug in unity? в ютабе или гагле.
Что, добавили в код одну из сотен существующих десятикилобайтных библиотек? Вот так перемога.
яблопидор, но, кажется, и на винде проблема есть.
В монодевелопе с копипастом вообще проблемы.
Лечится через Build -> Rebuild All и Build -> Clean All.
Хуй знает почему так, но работает.
Видать монодевелоп настолько крут, что у него даже такие костыли не у всех срабатывают.
Ещё, кстати, он иногда перестаёт раскрашивать код, приходится или терпеть или перезапускать, причём вместе с юнити.
Хоть и правда на ВС переползай.
Вариант А я нагуглил, но для меня не применимо, в макоси нету такого понятия как раскладка по умолчанию. Тут раскладка не меняется по инициативе системы, только по команде пользователя. Пробовал вообще интерфейс системы переключить на английский - не помогло.
По варианту В.
У меня 5.5.0f3
Попробую обновиться, но надежды мало.
Спасибо и тебе.
Благодарю, пробовал, не помогло.
Копипаст из контекстного меню работает, беда именно в русской раскладке, в ней не работают хоткейсы вообще.
Будут еще варианты?
Гей комьюнити, хэллоу энибади. Кто-то еще использует monodevelop на яблоке? Гляньте, пожалуйста, есть ли у вас проблема.
5.5.2f1(64-bit)
Поставил дефолтную раскладку на EN все работает. Если зайти в монодев с RU, автоматически меняется на EN и все работает. А как там на маке хз
Поставить кд на прыжок?
Обнова до последней не помогла. Спасибо за попытку помочь.
Попробуй угадать прежде чем смотреть под спойлер.
На маке нет VS, есть только куцая vs code.
Я вообще не фанатик, могу и в винду ребутнуться, или виртуалочку запустить.
Но, блин, неудобно.
Этим, видимо всё и закончится.
У меня через встроенный апдейтер тоже не видела, поэтому просто скачал с сайта свежий дистр.
Я тут недавно и поэтому не знаю, может быть так и задумано, обновы только в пределах ветки. Хз.
Без идеи ничего хорошего не слепишь, а идеи в голову не идут.
Ох уж этот ТВОРЧЕСКИЙ ЗАПОР
Очень тебя понимаю. Игру как книгу надо начинать с конца писать.
Спасибо!
я правильно понимаю, что если открою в редакторе другую сцену, юнити сделает ее по дефолту первой, т.е. надо всякий раз смотреть в build settings?
ещё такая фигня: в сцене с меню у меня панели, которые по определению полупрозрачны. Такое ощущение, что панель остаётся лежать на гуе и после загрузки второй сцены. видно, что краски другие и всё как-то темней
на первом пике, если сцена с шариком грузится первой
на втором пике, когда та же сцена грузится из/после меню, где панели
> я правильно понимаю, что если открою в редакторе другую сцену, юнити сделает ее по дефолту первой, т.е. надо всякий раз смотреть в build settings?
нет.
Расставляешь сцены в build settings в нужном порядке и всё.
я переключен на андроид, но гоняю в редакторе
как бы расположение в build settings не влияет на порядок, если запускаю на компе
как заставить юнити и с редакторе брать порядок как в build settings по возможности без долгого билда?
Чего? По умолчанию запускается сцена с индексом 0, потом уже скриптами в нужных местах подгружаешь сцены с нужным индексом. Индекс тебе build settings пишет справа от названия сцены.
как бы нет, вот я и ищю, где проебался.
в установках первым Menu прописано, в редакторе открыта сцена TouchInput, она и грузится первой
А, ты про редактор.
В редактор при запуске игры внезапно открывается та сцена, которая у тебя сейчас открыта. Не надо делать как на пикрилейтеде, у тебя тогда сцены смешаются. Доделал сцену - закрывай и открывай вторую.
Хуй знает. Попробуй перед загрузкой второй сцены выгрузить первую.
Application.UnloadLevel (0);
Application.LoadLevel (1);
наверно так и надо будет делать для полного порядка
я дико извиняюсь, но в скрипте какой сцены держать этот код? в чём-то пустом работающем за менеджера всего?
кричат, что LoadLevel из обсолет
> но в скрипте какой сцены держать этот код?
Ну тут уже надо смотреть чего там у тебя происходит.
Если ты насчёт перехода из меню в основную сцену, то вообще поебать куда ты этот скрипт повесишь, потом по нажатию кнопки просто выполняешь метод и всё.
Попробуй LoadSceneAsync. если не поможет - видимо ты где то что то забыл
Лень читать, сразу скажу:
Есть скрипты там можно прописать что-бы при нажатии Плей в редакторе запускалась нужная сцена, а не текущая.
Когда ты редактируешь сцену там одно освещение, а когда запскаешь там хуйзнает какое, если ты не настраивал его специально. Обычно амбиент лайт отпадает.
кому оно нахой надо? фотон нормальный, не нравиться пиши свой, как делают тру прогеры
> не нравиться пиши свой
Да раньше вполне нравился, просто думал может чего нового выкатили, времени-то нормально прошло.
Чтоб с посонами по сетке гонять.
Sprite[] thumbnails = Resources.LoadAll<Sprite>("Levels")
>В смысле на ком он лежит?
имел ввиду "сам в какой папке"
ведь папка Resources подцепляется функцией по умолчанию?
я тупо не вижу очевидного...
> Функция возвращает null
Так а что она тебе ещё вернёт, если ты нихуя не делаешь? Возьми да присвой, ёбанарот.
что это за магия погромирования, когда возвращаемое функцией значение зависит от того, присваивается ли оно ини нет?
because you asked for it
переименовал спрайт в "1" и положил прямо в Resources
Ну вот сам подумай, почему у меня это работает, а у тебя — нет? Может быть потому что ты делаешь что-то не так?
Что именно — хуй знает, у меня твоего проекта на руках нет.
Ну вряд ли там что-то понёрфили.
Порежь там свой проект, что никто твой ИНТЕЛЛЕКТУАЛЬНЫЙ ТРУД не спиздил и скинь — посмотрю где там чего у тебя не цепляется.
Теперь надо инвентарь сделать, но у меня уже EXPLICIT TYPE DECLARATION от этого кода. Тяжело, когда ты тупой и порядком заебался читать StackOverflow.
Пиление UI тоже тоже не радует. Пытался поковырять слайдеры, чтобы сделать простые бары под хп-ману-стамину и прихуел (особенно от типа, который посоветовал в коде отрисовать слайдер, вот это пушка,блядь), благо в каком-то туторе все было довольно хорошо описано.
Делаю так-же, меш не поварачивается, чяднт? Версия юнити - 5.6f1.
https://youtu.be/m5wBulwoZss?t=44s
5.6 эта ше бета
чего бл*? что сложно в слайдерах / ui? там же говотые, просто перетащил на канвас и жрешь мёд
я разобрался. Тип у картинок, даже будучи сконвертированными в Sprite (2D and UI), остался Texture2D. Я хз, ибо в юнети нуб
Unity v5.6f1
типом Sprite может быть только префаб\игровой объект на сцене. А картинки(не префабы)
это texture2d
Последние две ссылки — просто находка.
в 5.6 даже Sprite Mode не указан никакой по дефолту. ахуительное обновление
> Какие подводные в обоих случаях?
В бесплатной версии нет Dark Theme для труe девелоперов. Ну и еще щепотки графона.
Скачай бесплатку, начни ковырять, поймешь, нужно ли оно тебе вообще.
Меньше вопросов и больше практики - девиз самообучения. Иначи никак
Смысл воровать?
> http://answers.unity3d.com/questions/12909/pro-versus-free.html
Первая ссылка, но я не увидел, что пост от 2010-го года.
Ой, иди нахуй. Вот эта хуйня не работает. Я уж подумал, что в Update пихать нельзя (да и не нужно, пожалуй), прописал в OnHit() изменение хп. Диспенсер стрел убивает стороннего NPC, убивает меня, в дебаге все отображается. А слайдер, сука, не работает.
Блядь, и внезапно все заработало на новом слайдере. Уже второй или третий раз эта хуйня. Хуй знает, как у меня это получается.
Зачем это писать в апдейт? Запили отдельный метод вызываемый по изменению.
перетаскиваю мышкой, но не берёт
в юнети есть два геймобжекта, один наследник System, другой — наследник UnityEngine, проверь типы переменных, тебе нужен второй очевидно
По-моему нужно забить пытаться в 3D в одну харю, это слишком накладно и даже невозможно. Халтурщики конечно пытались продвинуть лоуполи, но в итоге покупатель не оценил и сторонится поднобного.
В отличие от пиксель артка, который спустя время до сих пор собирает кассы.
Чтоб пилить качественное 3D — внезапно нужен хороший 3D-шник. А лучше несколько.
Это делается слоями ?
Если да, то обьясните.
Ещё проблема в том что если делать от первого лица видимость всего персонажа приходится камеру перед лецом держать иначе куча багов возникает. Можно ли убрать видимость конкретной части тела или проще в меше "отпилить" голову для вида от первого лица ?
Тогда происходит баг, что приближаясь к обьекту камера как бы погружается в него.
Спасибо няша.
https://www.youtube.com/watch?v=zDQZVmZcNYA
Ещё вопрос, есть ли гайды по ЛейрМаск\Аватрам (анимации ?)
Желательно англоязычные.
Да там в офдокументации всё вполне нормально расписано.
> и я обозвал свой класс Button
У нас ещё на первом курсе за такое монтировкой по ебалу били.
где там теней нет? в настройках ищи Shadow distance или вроде того. Это называется оптимизация производительности
а на андроиде можно и напрямую из пакета?
Нет.
Вот есть лимит - 20 пользователей. Что будет если превысить лимит (и можно ли ?)
не боись, не превысишь
а если превысишь то тебя ЮнетиКоп остановит и попросит предъявить лицензию
открываешь асет стор >> Unity Photon >> скачиваешь бесплатный, наслаждаешся простотой
зачем тебе убирать ограничение в 20 человек? у тебя что уже есть хотя бы 10 потенциальных игроков?
Нет, просто есть возможность ради теста найти такое количество.
плюс фотона в том что для игры по сети не нужнен отдельный сервер, а вообще с таким отношением если тебе не интересно самому почитать то нафиг ты вообще этим занялся
?
Хотелось узнать что думает местный разработчик.
+ информативность, ранее я темы мультиплеера не касался, а если и касался там были довольно устаревшие материалы (2010-2013-й годы)
щас и нет особо новых по мойму
>>ньюфагу
из за этого у меня встречный вопрос может оно тебе не надо? Тобишь это жизненно необходимо геймплею? Надо взять угол между vector3.up игрока и полигона о который он ударился. А для силы удара узай impulse.magnitude
но проще незаморачиваться и просто прописать if(col.impulse.magnitude > например 5, потестишь сам) ApplyDamage(99999999);
если совсем ньюфаг гугли OnCollisionEnter
Я тебя не знаю.
Перечитав я понял что тебе надо гуглить только OnCollisionEnter из которого вытекает col.impulse. Тобишь импульс столкновения. Если ты рпосто бежишь он около 0.1 а когда именно ударяешься 3+
Ананас, если ты и правда ньюфаг, то я тебе очень советую не заморачиваться.
Поверь мне, это довольно хуёвая дорожка.
Если ли возможность поставить анимацию на запись, если данные по верчению джоинтов приходят по другому каналу данных?
Я понимаю, что вопросы весьма специфичные и криво поставленые. Модельки импортируются, мне бы теперь мой мокап пристегнуть и начать бабло лопатой грести
>зависть к обвешанному дешевым мокапом юнитидебилу, который дрыгает культями воображая себя аниме девочкой.
ой сорян за мать, без плохих намерений написал в качестве крылатой фразы или типа таво
Да да, бомбит от школотрона называющего кинект МОКАПОМ. Используй свой иксбокс по прямому назначению и забудь про геймдев.
Обосрался с тебя, это работает.
Скачать сдк и получить говно на выходе. Нормально работает только если развести руки в стороны и плавно водить вверх-вниз.
>желательно, и не спорь
схуяли? не траль плиз
Мокап как способ создания анимации никогда не был для реального времени ни предназначен ни пригоден, то что появилось несколько "спортивных" игр с кинектом, где удалось применить распознание позиции тела в реальном времени никак ситуацию не изменило.
>ну как с таким упёртым разговаривать...
>кинект - мокап реального времени
кинект - это просто устройство. Сенсор глубины. Сам по себе он ничего с данными не делает. Я сам кстати использовал не кинект, а asus xtion, у него в два раза больше разрешение или в два раза больше частота кадров при том же разрешении. Что дальше делается с этими данными - уже зависит от софта. К примеру тот же ipi soft позволяет, помимо всякого базового, вроде кропа или ретаргетинга анимации на целевой скелет, применять разные фильтры, устранять джиттер и всякое другое разное, нужное для того, чтобы анимация выглядела гладенькой, а кости не тряслись, как листья на ветру. Поскольку фильтрация делается на базе информации сразу из нескольких кадров и в несколько проходов, это может занимать много времени, сродни рендерингу. Какое уж тут реальное время.
Ну а что ты ожидал от харкача?
куда слать?
Полноценный мокап, либо инерционный экзоскелеттоже хуйня выходит: с увеличением количества дачиков суммарная погрешность пронзает небеса
>с увеличением количества дачиков суммарная погрешность пронзает небеса
нихуя такого
каждой кости по датчику
У тебя есть четыре стула: Awake(), Start(), Update(), FixedUpdate(). Ну и куча специфических табуреток. Main() в юньке нет.
Первые два делают штуки один раз до загрузки сцены и прямо в начале сцены соответственно, Update() каждый кадр выполняет действие, FixedUpdate() по фиксированной частоте, чтобы не зависить от FPS.
Согласен. Так что мне с этим Main делать-то?
Пример отсюда про UDP
https://forum.unity3d.com/threads/simple-udp-implementation-send-read-via-mono-c.15900/
они там в край прихуели, 3к+ просят, а х-коробку-то за 8-9 покупали
причем ведь блять и сами в игры на нём не играют потому что игры с кинектом это для сказочных дегродов вообще и ПРОДЕШЕВИТЬ НЕ ХОТЯТ
Там же через три поста написано, как запустить эту хуевину отдельным процессом. Зачем тебе вообще этот велосипед?
Хуя-хуя, датчики не идеальны и с каждой новой костью в цепочке погрешность будет расти всё сильнее.
В целом работало нормально, но кисть и особенно пальцы пидорасило просто нечеловечески. И с калибровкой возни много.
если ты про это, но я нухуя не понел
как я получу в юнети экзешник, чтобы в StartInfo.FileName подвязать?
ты ведь вращение парента чайлдам не передавал? Только смещение сустава (начала след.кости ) рассчитывал?
Чайлд получает координаты крепления к паренту и угол вращения датчика между ними. Из этого расчитываюся координаты конца чайлда, которые передаются его чайлду.
TIL: активация несуществующего триггера аниматора бьёт по производительности гораздо сильнее чем расчёт коллизии двух динамических объектов.
>Чайлд получает координаты крепления к паренту и угол вращения датчика между ними. Из этого расчитываюся координаты конца чайлда, которые передаются его чайлду.
и я так же запилил вот здесь уже много раз на ГД выкладывал
https://drive.google.com/open?id=0B5eCY5SALqIZTENvWUVkSm01LTQ
я то думал, анимазу какой-нибудь...
В мануале написано что он нужен для того, чтоб свет был заебись. А если мне и так заебись? Всё таки надо курить это дерьмо? У профи небось в каждой игре эта хуерга в освещении участвует, да?
короче это такая хуегра чтобы вторичное освещение освещало ещё и твоих кхарактеров
например, заходишь ты в анальный тоннель, вторичное освещение на лайтмапах там есть и тоннель тускло освещен, хотя не находится в прямой видимости от источника освещения, а вот кхарактер и прочие мувейбл обжекты — не. диссонанс. ну и короче расставляешь эти анальные пробы и перестраиваешь освещение, вуаля, и твой 3.5полигональный нериганный уёбок адекватно реагирует на освещенность
сам их не юзал, основываюсь на аналоге из юича
Спасибо, антоша.
Короче, решил пока на них внимание не заострять, просто буду помнить что они есть. Если начнутся такие вот проблемы со светом — буду доставать эти анальные бусы. А пока пусть в сторонке полежат.
Это Global Illumination, на ютубе есть ролики с объяснением этой хуйни. Нужно для графона. Или когда моделируешь помещение со множеством лампочек, которые накладно делать настоящими лампочками. Что значат шары так и не понял, у меня свет от GI выбивался далеко за пределы площади, очерченной шарами. Мб для наглядности.
LIGHT PROBE - нужен что бы освещать динамические объекты на сцене, статическим светом. Например хуй ты подсветишь объект от emit текстур без источника света light. Можно сказать что один шарик light probe выступает в качестве пипетки как в фотошопе и наносит полученный свет на что бы там нибыло. Вроде таво
То есть настраивать эти шарики не надо? Разместил и они будут подсвечивать динамический объекты, высчитывая всякие там интерполяции на основе основного извините за тавтологию света?
Все очень просто: эти штуки нужны, чтобы лайтмаппинг влиял не только на стены, пол и потолок, но и на движущиеся объекты. Освещение, запеченое на каждый шарик как бы проецируется на объект, если тот находится близко к шарику. Если находится между двумя - эффект будет средним между ними. Конечно надо иметь в виду, что освещение это не настоящее, теней от него не будет.
Вполне можно не использовать все это, также как не использовать лайтмаппинг, можно обвешать всю сцену исключительно реальными источниками света с реальными тенями.
Но можно расставить свет и пробки, запечь лайтмаппинг и удалить все источники света вообще! Как на пике. Под персонажа кинуть blob shadow. Использовать только кратковременно существующие источники света без теней для эффектов. И получится в принципе красивая сцена, где персонаж или какие-то другие объекты, типа движущихся платформ, освещаются при перемещении по сцене, а у персонажа вроде бы есть тень. Короче апофеоз оптимизации в плане освещения.
кстати, в мануале про это все подробно, блять, написано, причем на русском языке.
> кстати, в мануале про это все подробно, блять, написано, причем на русском языке
Да читал я это всё. Вопрос был немного о другом.
> Всё таки надо курить это дерьмо? У профи небось в каждой игре эта хуерга в освещении участвует, да?
если используешь лайтмаппинг - грех не использовать лайтпробы, это же кусочек графона считай бесплатно. И что там курить, прочитать за 10 минут всю информацию по компоненту и за 5 минут сделать тестовую сцену? полчаса на накидать шариков на основную? Это же все очень просто.
Вот я написал такую строчку:
GetComponent<Rigidbody> ().AddForce (transform.position, ForceMode.Impulse);
То есть этот самый вектор силы — это координаты самого объекта. И куда полетит объект при использовании этой строчки?
Говном не кидайтесь, я просто уже заёбаный. Знаете как бывает когда одно и то же слово повторяешь и оно теряет смысл? Вот тут та же хуйня, я элементарное говно уже не осознаю а оно мне нужно.
А, нашёл на сайте архив старых версий.
от vector3(0, 0, 0) тобишь центор персонажа и до vector3(10, 10, 10); первый вектор тебе не выдается как бы он по у молчанию 0.0.0 в центре твоего игрока. попробуй пропиши transform.forward * 10; форвард это то куда смотрит синия ось Z
Пишут, что 5.2 с чем-то запустится. Буду пробовать
> OS: Windows 7 SP1+, 8, 10; Mac OS X 10.8+.
> Windows XP и Windows Vista не поддерживаются; серверные версии Windows и OS X не тестировались.
охуительные истории
> апофеоз оптимизации в плане освещения
а ничего что статический свет не освещает статические объекты от слова вообще, только в лайтмапы печёт, а риалтам вообще игнорирует их
и подозреваю что расчет освещения от сфер — особенно от нескольких сразу — такой же или даже потяжелее будет чем расчет прямого освещения
> Под персонажа кинуть blob shadow
под открывающиеся двери из индора в аутдор тоже будешь блобшадоу кидать?
> и удалить все источники света вообще
класс, и под каждый пук нужно будет свет включать назад, перестраивать, отключать
>>392971
вектор идёт из центра ригидбоди, да
> у которого даже вполне есть длина
да, но это не нормализованый вектор, в нём же и задаешь силу
> Направления вектора относительно центра тела?
относительно центра, но в системе глобальных координат, т.е. не зависит от поворота ригидбоди
по идее это тебя толкнет в ту сторону которую ты смотришь если хочешь дам дискорд попмогу если че
> это тебя толкнет в ту сторону которую ты смотришь
это толкнёт тебя в ту сторону, в которую ты отбежал от центра мира и с той силой на какое расстояние ты отбежал
>...
а. я подумал ты о строчке которую написал тот анон
> GetComponent<Rigidbody> ().AddForce (transform.position, ForceMode.Impulse);
а она то с каково перепугу толкнет? первая точка по дефолту локальный 0.0.0 и вторая та что мы указываем, тоесть ты толкнешь этой строчкой с 000 до 000
Мне, собственно, что нужно было — чтобы от взрыва "бомбы" все объекты с Rigidbody разлетались в соответствующие стороны. Те, что слева — влево, те, что сзади — назад и т.д.
Сделал как на пикрилейтеде — вроде работает, только надо вектор умножать, а то вяло отскакивают, ну и приплюсовать Vector3.up, наверное. И проверку на дистанцию, а то бомба получается такая ядрёная, что от её взрыва вся сцена скачет, даже если объект чёрти где.
>>392984
> тоесть ты толкнешь этой строчкой с 000 до 000
Неа, нихрена, попробуй сам. Если объект стоит в (0, 0, 0), то эта строчка его не сдвинет, потому что будет двигать в те же (0, 0, 0). А вот поставь его в (0, 0, 10) и он вполне себе неплохо полетит по Z.
Хех, метод делает ровно обратное тому, что должен. Кто стоит дальше от "бомбы", тот дальше и улетает.
Буду велосипедить.
[code](transform.position -1 ) / Distance(БОМБА.позишн, ТУШКА.позишн) СИЛА_БАБАХА[/code]
>а ничего что статический свет не освещает статические объекты от слова вообще, только в лайтмапы печёт, а риалтам вообще игнорирует их
спасибо, кэп.
>и подозреваю что расчет освещения от сфер — особенно от нескольких сразу — такой же или даже потяжелее будет чем расчет прямого освещения
"Не читал, но осуждаю"
Делаешь пару тестовых сцен с разными вариантами освещения, открываешь профайлер, смотришь результат. Подозрения сменяются знаниями, основанными на опыте, уровень скилла растет, все дела.
>> Под персонажа кинуть blob shadow
>под открывающиеся двери из индора в аутдор тоже будешь блобшадоу кидать?
Речь шла только о персонаже.
Очевидно же, что такой сетап сцены неприменим в ситуациях, когда требуются динамические тени от объектов окружения. Если у тебя игра про открывающиеся двери из индора в аутдор, очевидно, блять, надо делать по другому. Применять те или иные способы можно и нужно исходя из своих целей.
>класс, и под каждый пук нужно будет свет включать назад, перестраивать, отключать
Тут вообще нет слов. Чекнуть enable для группы источников света — это проблема? Или что там у тебя вообще за пуки такие, которые могут требовать постоянной перенастройки всего освещения сцены?
Тебе походу только бы доебаться. Лайтпробы в детстве обидели?
Делай вообще как хочешь, кто тебя ограничивает?
к чему тебе костыли? в юнити все уже есть https://docs.unity3d.com/ScriptReference/Rigidbody.AddExplosionForce.html
Ну вообще я догадывался, но очень уж хотелось навелосипедить, оно иногда полезно.
Спасибо за ссылочку.
>> с 000 до 000
>>Если объект стоит в (0, 0, 0), то эта строчка его не сдвинет, потому что будет двигать в те же (0, 0, 0)
>> с 000 до 000
>> с 000 до 000
>> с 000 до 000
>> с 000 до 000
ты под наркотой или че? ты тоже самое написал что и я только под предлогом того что ты прав. пиздец ахуеть
Нет, я написал что из (000) оно тебя передвинет в (000) только если сам объект глобально стоит в (000). Не более того.
если ты стоишь не в 000 и укажешь в addforce transform.position то тебя никуда не толкнет потому что бы первая кордината в центре тебя, и вторая тоже. получаеться ты толкнешься в центр себя
1432x828
> если ты стоишь не в 000 и укажешь в addforce transform.position то тебя никуда не толкнет
Держи, мне не жалко.
да ты прав
Странно, но не работает.
Сама выборка срабатывает, массив создаётся, а вот как доходит до строчки
> rb.AddExplosionForce(power, explosionPos, radius, 3.0F);
так и нихера, стоят и стоят.
Мда, всё ещё страннее.
При предполагаемом взрыве визуально все остаются на местах, но в инспекторе у каждого "отбрасываемого" объекта и position и rotation меняются.
Такого я, надо сказать, ещё не видел.
> Что символизирует это самое "-1"?
умножить на -1 инверснет вектор без особой ёбли. да, их можно вот так перемножать.
>>392990
> Делаешь пару тестовых сцен с разными вариантами освещения, открываешь профайлер, смотришь результат. Подозрения сменяются знаниями, основанными на опыте, уровень скилла растет, все дела.
ну что же, я попробовал
вообще есличестно ожидал что все эти оккультные пляски со светом до добра не доведут, на деле же результат неоднозначный
фпс поднялся, ето да, но блики пропали. блики это вам не тот всратый specular из древней эпохи, они делают живым метал, склизкие щупальца, лужи и океаны и даже очки анимешных девочек. деталь-нормал-мапы пострадают в первую очередь. короче от лукавого это всё.
но вообще спасибо за идею, неплохой эксперимент.
нет, свет не выключен в статике, просто они там темнее, но не в мощности суть а в спекуляре
> Тебе походу только бы доебаться.
нет
ты затираешь новичку про экспериментальный подход, которй пойдёт разве что для О.Л.Д.-фажных (старающихся ими казаться) игор, ну или какой-нибудь ещё казуальной хуйни.
они вот так вот берут, делают-делают, трудятся, а потом ОКАЗЫВАЕТСЯ что Х не работает как надо, а почему? а потому что Х был разработан под нужды нормальных людей, которые действуют по тем принципам, которые придумали собственно разрабы движка, и ещё удивляются, типа, А ДОЛЖНО ЖИ РАБОТАТЬ
Это вообще законно?
Я имею ввиду в билде игры, конечно же
Не знаю насчёт "шпионит", но любой билд при запуске что-то шлёт по одному и тому же адресу, это есть.
другой хуй
Эту хуйню можно отключить в про версии. Галочка в плеер сеттингс. Тпа отладочная инфа отсылается вместе с данными кредиток и кейлогом за последние 5 лет
У меня по датчику на
- поясе
- каждом бедре
- каждой голени
- каждой ступне
в модельке они сверху вниз считаются чайлдами предыдущего парента.
Соответственно, если я вращаю бедро, то колено не гнётся, т.к. голень получает вращение родителя.
Велосидедом на пике вращаю чайлда назад конъюгированным кватернионом родителя, чтобы в последствии самому чайлду задать вращение от его собственного датчика.
Коротко: пусть чайлды свисают с суставов без вращения через родителя
в чем проблема за 1 день сделать нужную анимацию или спиздить готовую из инета? нахуй все так усложнять буду нубо кодером
Я уже нашёл це. Пздц, сделать что то хвойное с помощью Tree Generator - нереально.
Такое чувство словно он только под кусты заточен был
Что в юнити отслеживает, что чайлд получит вращение парента и в какой момент и где этот пересчёт происходит?
> Что в юнити отслеживает, что чайлд получит вращение парента
Чайлд же вроде всегда получает вращение парента.
Во всяком случае обычные объекты, не ебу как там это у ригов.
Дело вот в чём: я могу в Update задать вращение любой кости/сустава называйте как хотите.
Логично, что в отриганом префарбе некая "сила" делает перерасчёт положения чилдренов, т.к. родительская кость сместила свою конечную точку, откуда чилдрены ростут.
В том же Update я вручную возвращаю ротацию чилдренов в исходное new Quaternion(0, 0, 0, 1), и это работает, НО из-за проёба с синхронизацией, наверное, конечные чилдрены "дёргаются" при движении.
ты понимаешь что проебал уже неделю и в итоге забьешь хуй на это через неделю? а если нет то через две максимум
маня проецириет
В чём подвох?
> ультраоптимизированна
было б что оптимизировать
там у частиц физика от слова "точка в пространстве", делов-то, просчитать за фрейм коллизию точки и передвинуть её на вектор скорости + вектор гравитации
> отправляя коллбеки
разве что вот это быстренько, да
но вообще сомневаюсь что в больших масштабах это применимо, думаю что водичка каплями, которая коллайдится сама об себя вызовет затруднения у ФПС
>было б что оптимизировать
У них есть круглые коллайдеры так то, разве что РБ не прилепить.
>но вообще сомневаюсь что в больших масштабах это применимо
Я шуты делал на частицах, огонь вышел вообще пушка.
> круглые коллайдеры
для определения столкновений. а для физона те же "точки", потому что не вращаются, а следовательно и избавлены от необходимости рассчитывать импульс и прочие трудоёмкие вычисления
Да пожалуй, хотя всё равно все кругом так дрочат на оптимизацию мелочей, а тут такая то ёба. Слегка порвало шаблон.
722x526
Как можно улучшить толчок от удара? Понизить трение? Или тут всё дело в движении камеры?
У твоей тянки на голове то ли блик то ли заколка иногда зеркалит.
Но то ты, скорее всего, и сам знаешь.
че за жесть с 6 колайдерами? я бы добавил в анимации в кадре удара эвент DoAttack с примерно таким кодом
if(vector3.dist(postition, player.position) < attackRange)//если игрок в зоне удара
rigidBody2d.addForce((transform.position - player.position).normalize * punch);
кстати если не очень шаришь в математике и логике в целом, советую iTween правда придеться часок потратить что бы разобраться но он это годнота если хочешь могу помочь в дискорди
ну всмысле для динамической камеры
> че за жесть с 6 колайдерами?
Я даже спрашивать побоялся. Это даже не велосипед, это ебучий бронепоезд из велосипедов.
Вот я к такому и пришел в итоге. А изначально я подумал что если зомби замахнулся и ударил в одном направлении, то урон должен проходить только в этом направлении, типа чтобы можно было увернуться. Следовательно добавил 6 коллайдеров-триггеров на каждое направление удара, похоронил себя в куче функций, переменных и триггеров, и когда это таки хромая заработало, понял что это всё нахуй не нужно было.
>>393321
О, спасибо за наводку. Посмотрю. Кстати, а что из математики нужно бывает в принципе? Я как раз на математическом факультете учусь, интересно.
keywords: patching, updating, DLC за много тенге
да
видно тебе не очень надо это говно, т.к. если надо было бы нагуглил наверно даже нет готовой говно игры. Так зачем засорять голову калом? но на скоолько я знааю для этого есть Asset Bundles или как то так
>Asset Bundles
дык ясен GUI!
мне очень надо, т.к. новыми ништяками буду из донатов на патреоне тянуть баблосы
Спасибо, это то, что надо! Бандлз ар зэ уэй ту гоу
Я думал есть какой-то метод, куда можно просто передать значение, которое надо исключить.
Ну да ладно, так тоже пойдёт, похеру, всё равно уже велосипед на велосипеде.
лол? не такие уж и велосипеды я написал, в первой же ссылке гугла тоже самое
var validChoices = [1,3,5];
function GetRandom() : int
{
return validChoices[Random.Range(0, validChoices.Length)];
}
А что по твоему было бы в этом методе? Магия?
В том и дело, что у меня будет не 0 и 9, это я для примера написал.
У меня будет диапазон от 0 до 63 и "исключений" может быть до четырёх.
Например, иногда надо нарандомить число из диапазона, но не 3 и 17, иногда не 10 20 30 40.
Короче, загнал исключения в небольшой массив и если нарадомленное число совпадает с числом из массива, то рандомится заново.
Поле 8 на 8 квадратов, от одного до четырёх квадратов могут быть "активными" (читай - подсвеченными) и мне надо активировать/подсветить ещё один рандомный, который на данный момент активным не является. То есть исключить из рандома те индексы, которые уже активны.
А вот нахрена нужно вот это — даже не спрашивай.
лол так это динамическая хрень попробуй примерно:
list kvadrati[]...
getRandQuad(){
временный лист disabled[]
for(...)//пробегаем по массиву
{
if(kvadrati.Glow == false)
disabled.add(kvadrati);
}
return disabled[random.rang...];
}что бы юзать листы которые проще массивов добавь сверху всего кода using collections.generic или типо того
list[] quads
transform getRandQuad(){
list[] notGlowing
for(...quads.lengt...){
if(quads.glow == false)
notGlow.add(quads);
}
return notGlow[random.range(0, notGlow.lenght)]
}
я не ебу на скоько ты нуб так что написал попонятней
вот эта функция будет всегда включать ту лампочку которая выключена и не надо будет заготавливать какие то циферки по массивам
Ассеты из тырнета. Если делаю свои в 5.6, то всё падает и разбивается
мокап заработал в унити
https://drive.google.com/open?id=0B5eCY5SALqIZLWVFaGR6SllLOFk
сегодня нашёл, как писать в файл .anim, что само по себе закрывает этот вопрос >>393037
https://github.com/newyellow/Unity-Runtime-Animation-Recorder
следующим будут AssetBundles и можно в тираж :3
Делал все один в один как тут http://catlikecoding.com/unity/tutorials/clock/. Но, как вы можете видеть на пикриле, ничего не получилось.
Ошибку выдает следующую:
UnassignedReferenceException: The variable hours of ClockAnimation has not been assigned.
You probably need to assign the hours variable of the ClockAnimation script in the inspector.
UnityEngine.Transform.set_localRotation (Quaternion value) (at C:/buildslave/unity/build/artifacts/generated/common/runtime/TransformBindings.gen.cs:98)
ClockAnimation.Update () (at Assets/ClockAnimation.cs:26)
Гуглить я конечно пытался, но нашел решения только для частных случаев, в которых ошибка как правило в коде.
На всякий случай залил вот код https://pastebin.com/srKcZR53 может кому так удобней.
>You probably need to assign the hours variable of the ClockAnimation script in the inspector
перетащить туда мышкой
переводить пытался?You probably need to assign the hours variable of the ClockAnimation script in the inspector./ВОЗМОЖНО ТЕБЕ НАДО ПРИСВОИТЬ ПЕРЕМЕННУЮ HOURS В ИНСПЕКТОРЕ
2 ошибки возможно вытекает из первой
перетащи CUBE в скрипт
расширенное объяснение от нуба:
если переменная в классе объяслена как public, это даёт возможность присвоить ей значение уже в инспекторе. Для этого маркируешь объетк, на который положил сктипт, и смотришь в inspector, какие ячейки пустые "None". В них перекладываешь опять же в редакторе то, что подходит по смыслу.
хочешь помогу если есть телеграм или дискорд
просто как я понял ты в инглише не оч, потому что эта проблема описана чуть ли не вначале тутора. А по русски я те обьясню изи
И такое в принципе возможно, если сделать скрипт сложнее. Ты перекладываешь его на объект Clock, и в Start() делаешь поиск чайлдов по имени или тегу. Это как бы вслепую и легко обосраться. Ведь надо проверять, нашлось ли нужное.
ты почитай или посмотри видео хотя бы сначала что такое update, lerp... ты так заебешся по каждой мелочи которую ты искозил по незнанию ждать ответов
ну корутинах можно, только они никак не отличаются по сути от апдейта + если ты новичок только лишний бред только получишь в голове если перескакивать с простых вещей на более сложные
pivot point гугли?
что это за параша, что вылезает за края
перекрывает обзор сука
Я пишу IEnumerator:
newRotation = -target (Mathf.Cos(Mathf.PI time * speed));
где time обновляется time += Time.fixedDeltaTime ну и плюс условие newRotation == target.
Дальше, получив новое фиксированное значение поворота я хочу плавно повернуть к нему. Мое решение в Update:
transform.rotation = Quaternion.Lerp(transform.rotation, Quaternion.AngleAxis(newRotation, Vector3.forward), Time.time);
Вроде как-то работает но все равно странно. Боги Unity как вы двигаете/вращаете объекты в этом простом движке. самому писать интерполяцию?
> Боги Unity как вы двигаете/вращаете объекты в этом простом движке. самому писать интерполяцию?
У меня двигаются через MoveTowards, но без вращения, ибо 2D.
Ну, короче, я не ебу как там с поворотами, лень проект запускать, но двигаются вполне плавно, сам код лежит в корутине.
Спасибо за MoveTowards.
Вместо Lerp юзаю RotateTowards(prevRotation, nextRotation, Time.deltaTime) и вроде показывает самое стабильное линейное сглаживание
У тебя на пике неделя работы для трех-четырех спецов. Это где-то 100к рублей если с нуля делать.
привет 1 что хочу сказать корутины тебе не нужны если у тебя не многомилионный проект в котором пиздецки важен каждый 0.1 фпса.
2. для поворота. (Q = quaternion для сокр)
//здесь вставляешь желаемое направление например если тебе нужно повернуть в сторону монстра.(если получиться кверх ногами, переверни выражение в LookRot..)
Q newRot = Q.LookRotation(player.position - monster.position)
transform.rotation = Q(.Slerp) или (.RotateTowards)
делать нечего всеравно
> корутины тебе не нужны если у тебя не многомилионный проект в котором пиздецки важен каждый 0.1 фпса
А я их юзаю для плавных перемещений, чтоб в апдейте не вертелись постоянно, а работали только когда надо.
Ну так проверяться каждый кадр будет, я о том и говорю.
Я просто не люблю любое проявление мусора.
ответь мне тогда как у тебя все устроино без if и update? в каком месте ты вызываешь\прекращаешь корутины? мне кажеться у тебя параноя друг
ну так как
Я ж тебе написал - OnMouseDown
Метод вызывается если юзер клацнул ЛКМ по объекту, на котором висит скрипт.
а что за гру ты пилиш
Шта? Речь про объект, Похуй, 2д или 3д.
Главное, что возможно. А в какую сторону читать? Вдруг есть какие-то конкретные решения.
> Главное, что возможно
Возможно всё, что укладывается в понятие "компьютерная игра". Другой вопрос — как долго это делать и какие ресурсы для этого нужны.
дохуя с нуля без знаний, если ебошить как мразь то месяц ради этой комнатки. а по фану никогда
Как я понял встроенный сервер поддерживает около 1000+ коннектов, но производительность не очень у него.
Ulink чуть получше.
Уже гуглил, параша которую взламывает любой читер.
Это блядь вообще не сервер, это ебучее облако.
Я уж не говорю о том что все Фотоны(сервер и клоуд) дорогие, платные и с ограничением по коннектам. Если б у меня были деньги - платил бы за Phonot Server, но у меня столько денег нет, могу максимум тысяч 30 заплатить за такое серверное решение.
К сожалению, серьёзное решение требует серьёзных денег, халяву не завезли.
боюсь тебя расстроить за 30к в год без ограничения тебе никто никогда не даст. Это либо пиздешь, либо скорость будет количество подключений делённое на максимальную скорость
Конечно же нет.
Смотрел Fungus, но там очень уродско реализована система save\load, и при достижении почти 1к блоков, лаги неебучие в проекте.
До этого юзал ренпи, но заебался придумывать костыль для интерфейса.
что такое бек
> Все статика, анимации и 3д рендеры не нужны
> нужен ассет
И что ты там в ассете хочешь увидеть, если тебе нихуя не надо?
> Ах ну да, без программирования
А, понятно.
Господи, что там кодить в ёбаной визуальной новелле?
>>Господи, что там кодить в ёбаной визуальной новелле?
как я понял ему это и надо, то есть кодовая основа на которую он просто прилепит картиночки. И да согласен по мойму тоже в новеле кодить особо нечего
> Раз написал, значит с этим проблема
Я не шучу, чтобы осилить шарпы на уровне управления визуальной новеллой, тебе понадобится максимум неделя, и то это с учётом того, что ты каждые 5 минут будешь чесать яйца и переваливаться на двачик.
Если более целенаправленно, то это один день чтобы влить себе в голову кучу инфы, потом с этим всем выспаться и ещё один день чтобы всё закрепить. Всё.
> Так подскажите про системы, или будете дальше писать про код и блп-бблп-бла?
Пойми, игр совсем без кодинга не бывает, даже визуальных новелл. Так или иначе тебе придётся писать/редактировать скрипты.
всмысле нет времени? "сделать" что то, что бы там нибыло красивым есть, а кодить нет. Есть только 1 вариант ищи напарника который будет это делать бесплатно
нет никаких систем, что за навязчивая идея найти какую то систему. Может проще не юзать юнити? На сколько я знаю есть спец. движки для виз. новелл. Зачем тебе юнити которое подразумевает код
Программисты всему голова, и кроме них нету больше профессий?
>>393720
Юнити не панацея. Имел его ввиду, потому-что посоветовали выше описанный Fungus Asset что и подразумевают говотую работу по типу визуальных новелл и поинт енд клик адвентюр. Но на практике, при работе с большими проектами загружают всю оперативку на максимум, в результате чего работать невыносимо...
Специализированные движки по типу RenPy увы предоставляют довольно смешанную иформацию. Тут тебе фастстарт для даунов, которые реально за вечер осилил и в дорогу, а если чуть посложнее, то уже идут прям полотна кода, в которых хрен разберешься.
> Программисты всему голова, и кроме них нету больше профессий?
Тебе выше уже сказали, тебе хватит двух дней чтобы освоить шарпы на уровне написания скриптов для ВНок.
Или воя профессия всему голова и потратить два вечера на изучение чего-то другого кодекс не позволяет?
Ты дольше свою "систему" искать будешь.
Мне вот нужно было склепать несколько моделек, я не пожалел нескольких вечеров чтобы освоить Блэндер на уровне макаки и сделать/затекстурить то, что я хотел.
я забыл название game maker или game constructor. я на нем без кодинга сделал простенький марио в 12 лет. а какие возможности там есть щас не могу представить
gamemaker studio наверное
> я ни грамма не программист, и в душе не ебу как все прописать
Тут так-то полтреда такие и я не исключение. Вон сколько довольно простых вопросов всплывает.
По шарпу есть годные учебники. По юньке видеоуроки на официальном сайте — это шарп вместе с классами и функциями движка. Оба стула ничего так.
И сколько я буду свой сервак писать, кек? Год-два? У меня нет столько времени чисто на сервак.
Импортировал в obj и открыл в блендере - все норм
вставляю в юнети - проёбывается текстура
пробовал и через fbx - блендер норм, юнети сосёт
где я проебался?
всё оче просто - это не текстура, это вертекс колорз хотя может вдруг и текстура, я хуй знает, но подавляющее большинство 3дсканов пишут цвет именно в вертексы
тебе предстоит сделать ретопологию модели (советую Topogun), сделать ей развёртку (обычно либо zbrush либо макс) и запечь увета вертексов в настоящую текстуру (советую xNormals)
>>Сделал красиво
у меня плохи новости для тебя.
1. не красиво.
2. это не модель а скульптура с милионом полигонов, нужно делать ретопологию
>2. это не модель а скульптура с милионом полигонов, нужно делать ретопологию
видно же на скрине с блендером, что 200к трисов. Для какой-нибудь интерактивной презентации вполне сойдет.
хуй знает я не разбираюсь в презентациях может для них это годнота, но для меня это выглядит как кусок кала сделаный на отьебись
Искать по тегу быстрее чем по имени, так? Но при этом я прочитал что еще круче вообще не использовать методы Find..., а получать всё через get/set. Что использовать то?
Как лучше анимировать 2D спрайты? У меня сейчас всё идет через AnyState и с одной переменной переключаюсь между различными состояниями прибавляя 10 или 20, попытался усложнить анимацию - всё по пизде пошло.
>Мне нужен доступ к методам того объекта который задет рейкастом
other.GameObject.GetComponent<pes>().dernut("anus");
>переключаюсь между различными состояниями прибавляя 10 или 20
Для этого подойдут блендтрис. Энистейт задавит тебя при усложнении анимаций.
Поясни про датчики.
мм щас бы задавать вопрос о том можно ли задать вопрос, в теме предназначенной для вопросов
нуу не знаю, вопрос насколько нестандартный? если уж совсем нестандартный такой что прям вообще нестандартный, то, думаю, не стоит, а если нестандартный так, немножечко, то, вроде бы, можно
тогда только под спойлером
да, действительно, Agisoft Photoscan может и в vertex colors. Но тогда это выглядит вот так
Спасибо за совет с Topogun и xNormals.
Кто нибудь пытался сделать так чтобы:
1. В одной строчке - сразу несколько текстовых команд
2. Помимо текстовых команд можно ещё и обычный текст в эту же строчку.
Может, из-за смешения с освещением?
Слушай, а в чём прикол вырезать неровный кусок здания?
Т.е мультипоточный парсер или как там его - это несколько команд в 1 строчке?
Как в юнити то это сделать?
vasiliy666 не знаю. Делаю через стандартный workflow шаг за шагом. Чанк у меня только один. Как и почему юнети разбивает на нестолько частей, я не знаю.
Блуры - те, что я поменит на втором пике? Не я их делаю, сами по дефолту выходят.
Сейчас переделываю под 20к поли
начинаю догадываться, почему в юнети выглядит замыленно - так подмешивается отражение от нормален в то время, как в агисофте и блендере картинка без света и текстурка один к одному
Кто-нибудь может подкинуть каналов на ютубе, которые объясняют саму структуру разработки игры с нуля, а не просто "делаем простую бегалку в юнити за 3 часа"?
Парсер - это то, что разбивает строку на логические части. Для примера можешь погуглить парсеры командной строки.
И реализация от юнити никак не зависит. Берёшь строку - получаешь команды.
если ты новичок, то просмотром таких видео ты не сможешь сделать даже простейшую игру. Нужна много практики, а видосики только создадут иллюзию познания. Процессы отличаються у проффесионалов\любителей\новичков целиком и полностью. Любитель и новичок в первую очередь практики, которым не нужен анализ рынка, макеты и прочий кал.
С другой стороны Third person controller дается за бесплатно. Добавить rigid body кубикам и побежали
да это спецефическая особенность людей, проще поверить в какой то субьективный кал который никак не тратит энергию мозга, чем начать что то запоминать и вникать
А, сука. Контроллера не было. Я из-за этой простой ошибки 2 часа смотрел видео про слои анимации.
Сначала подумал что это название. А какие? Те что я находил именно "делаем бегалку".
>>393913
> ты не сможешь сделать даже простейшую игру
> практики, которым не нужен анализ рынка, макеты и прочий кал
Да я в принципе скорее про общую архитектуру проекта, как все компоненты сливаются воедино. Просто туториалы типа "напишем скрипт двигающий кубы по нажатию клавиши" это конечно хорошо, но у меня с этим нет проблем - а как правильно делать уже то, что уже похоже на реальный комплексный продукт с анимациями, моделлингом, алгоритмами всё равно не ясно. Идеально было бы препарирование уже существующих игр - есть такие каналы?
> vasiliy666 не знаю
имел в виду многочисленные туторчики с ютуба
> Делаю через стандартный workflow шаг за шагом
о том и речь. да, он попроще и побыстрее чем возня с профильными программами. но не лучше.
> Чанк у меня только один.
чанков у тебя полно, судя по вот последнему скрину. всё что окружено блюром - чанки. островки развёртки, ну ты понел.
> Блуры - те, что я поменит на втором пике? Не я их делаю, сами по дефолту выходят.
их даёт запекалка Agisoft Photoscan
> Сейчас переделываю под 20к поли
попробуй MeshLab, а в нём Filters -> Quardic Edge Collapse Decimation. неплохо снижает полигональность при сохранении формы, хотя и хуже зибрашевского десиматора особенно для хард-сюрфейс мешей вроде зданий, впрочем лучше дефолтного из Агисофта
> почему в юнети выглядит замыленно - так подмешивается отражение от нормален
впринципи ты прав, но вот всё это хуйня. вообще хуйня. тебе нужна настоящая карта нормалей, снятая с первой модельки, той, которая на 10млн полигонов. с ней ты вообще не отличишь те 20к поли от оригинала
ты уже начал делать какой то сложнейший проект для которого тебе жизненно необходима та невнятная эмульсия которую ты ищешь? с трудом вериться что твой проект сложнее оригами. Это в идеале, а в реале ты даже не начал по твоим словам
>А какие? Те что я находил именно "делаем бегалку".
https://www.youtube.com/results?search_query=unity+rpg
Проблема:
Есть 8 анимаций направления стояния и направления бега, но без рук. Руки должны анимироваться отдельно. Казалось бы, сделай два аниматора, один на игроке, другой в чайлде. Но нет, стоит подвигаться, как анимация перестает быть синхронной. Окей, тогда гуглим решение, все советуют использовать animation layers. Делаем всё как сказано, но опять, хуй там плавал. Теперь в зависимости от веса слоя на экране либо тело без рук, либо летающие руки. На пикрелейтеде у меня два идентичных синхронизированных слоя. Состояния Idle и Run содержат в себе Blend Trees. Что делать, в какую сторону копать, в какие бубны бить?
Забыл добавить что это всё 2D , и без всяких спайнов.
Не совсем понял чего ты хочешь.
> Руки должны анимироваться отдельно
То есть у тебя есть базовые анимации, но они не юзают руки, потому что движение рук у тебя в другой анимации и ты хочешь их смешать?
Вот тебе и юнити с его русской документацией, лёгким обучением, многими тут хвалящими и т.д. А сами нифига не могут подсказать, видимо на столько умные ребята. Я сам не пользуюсь Юнити, в анриле это выглядит вот так
>Я сам не пользуюсь Юнити
И нафиг ты вылез со своего петушиного угла для блюпринт-программистов? Кому какое дело как это делается в уече, фростбайте, сурсе? У вас там реферальная программа какая-то, ассет за каждого привлеченного в секту?
Всё это есть в Animation State Machines, не пойму чем ты тут выёбываешься.
Настоящие уечеры не кодят и не делают игры. Они заходят в юнити-треды и пишут что юнити говно, но я его не тестил.
Батя так делал и ты делай.
> все советуют использовать animation layers
> Animation layers
Пиздец, ты вообще читать пробовал хоть раз?
Нет конечно.
Мой спрайтовый петушок бегает и независимо от этого машет руками. Так что возможно ты не сделал всё правильно.
Как увеличить его чёткость ?
Просто если задать размер всего лишь 5000х5000
То видна угловатость ландшафта. Как сделать более детальным ландшафт ?
зачем такой большой нужен ваще
тут в основном нубы сидят, в телеграме есть конфа русская по юньке там может помогут гугли сам
Таки запилили конфу? Скинь ссылку что ли, а то тут несколько человек просили запилить, мне даже любопытно стало.
она уже давно запилена, гугли я же говорю. Если не ошибаюсь она от форума unity3d.ru
Я специально разделил руки и туловище, чтобы руками можно было анимировать атаку, например. И не прерывать при этом бег, и не использовать кучу спрайтов.
>>394006
Насколько я понял пока гуглил, аватар маск это скорее для 3D c гуманойдами, либо для других конструкций с позвонками. Для обычных спрайтов я не нашел как это применить.
>>394021
Т.е. ты просто добавил второй слой, синхронизировал, поставил ему Additive, добавил анимации и вес, и всё заработало? У тебя Blend Trees были внутри?
>>394028
Так я и не ищу альтернативные. Просто в интернете на эту тему вообще нет материалов.
>добавил второй слой
И третий для анимаций удара
>поставил ему Additive
Override. У обеих вес 1. Анимация верха и низа вообще не пересекаются между собой.
>У тебя Blend Trees были внутри?
В одном из слоёв есть.
А, ок. Я думал, такие же ковырятели унити как я отсюда решили скооперироваться.
go to Asset shop
У меня в стандартных ассетах хуй да нихуя.
Сейчас я тупо юзаю выдранные из линейки ассеты, ибо знаю где там что лежит. Но если для текстурок и моделек все збс, то батч-конвертера для анимаций я не нашел, писать его влом - приходится тратить время на ручную поштучную конвертацию.
ты походу неправильно понимаешь, что такое "прототипирование". 5000 анимаций из линейки для прототипа?
Мне не нужно 5к анимаций, мне нужно 100 визуально различимых юнитов на любые роли, у которых есть по 5 основных анимаций - чтобы при просмотре было сразу понятно, что вон то - дракон летит, вон то - труп лежит, а вон то - лошадь едет, а не наоборот. Линейка просто потому, что там все есть с запасом, и я знаю где что лежит - если есть какая-то другая игра, где можно батч-рипнуть - то тоже пойдет.
Для примера. Есть модель ракетного двигателя, есть три ползунка, диаметр + длина сопла и давление окружающей среды.
Двигаю первый и второй, меняется непосредственно сама модель, и меняется радиус эффекта реактивной струи.
Двигаю второй, меняется внешний вид реактивной струи.
Набросайте примерный пайплайн, как такое можно сделать, я полный 0 в создании моделек для юнити. Блендер уже скачал, скилл рисования проиллюстрирован пикрелейтедом.
Хули все уроки на английском? Нихуя не понятно же. Запилите гайды на нашенском.
Я ещё и не таких видел. Один у меня спрашивал можно ли передвигать персонажа без скриптов, потому что "а то я в скриптах немного лох". Предложил ему воспользоваться готовым, на что получил городе "но я ж сам хочу".
Хуй пойми этих мамкиных игроделов, делать хотят, а учиться не хотят.
levf. hfp,fujntnm yf gfnhbjyt buhfvb ghj t,k.
стало интересно, набросал заготовку для сетапа меша для факела реактивной струи.
http://image.prntscr.com/image/1eefd6b6fdbd4fb99136aad3b9fe8c66.png
Я так полагаю, дальше делается меш-основа эффекта, прискиннивается, анимируется в крайних состояниях системы. В юнити на меш навешивается материал с шейдером пламени, управлять формой можно переменные в аниматоре. Делать я это конечно же не буду.
Неплохой спецэффект наверное был бы.
ns pf dct[ yt ujdjhb!
Бротиш, я конечно все понимаю, ты опытный и умный, но перечитай мой вопрос.
Мне нужен краткий гайд, куда погуглить, чтобы из нихуя и блендера сделать себе красивую кастомизируемую модельку в игре. В игре. На Юнити.
Вот, это уже ближе к делу, спасибо.
А ты посмотри видео, там как раз про это.
В редакторе задаются ключи, юнити эти ключи видит и через float-переменную ты изменяешь value этих ключей и меняешь модель уже в юнити.
Что за мода пошла даже видео не досмотреть и говорить что это не то?
>кастомизируемую модельку
начни с описания русскеми буквоми того, что хочешь сделать
в эдиторе - говно без задач
Визуальная новелла про отношения инженера и его вайфу - реактивного двигателя Вали.
Сорян, проебался. Ну, пойду тогда учиться моделить в блендере, если там все что нужно есть.
если она будет ебацца с его псом, а он дрочить в замочную скважину
На данный момент известно про FlowCanvas, Makinom, PlayMaker, Node Canvas, ICode, plyBlox, и GameFlow. Можно еще сверху добавить визуальный скриптинг типа Uscript, который можно втулить в пару с фсмом. Цель - небольшой 2д проект. без физики, куча переменных, економика и диалоги.
мне, нубу, всегда хватало стейтов на корутинах. Все очень просто и работает.
https://blog.playmedusa.com/simple-fsm-like-structure-with-coroutines-in-c-unity3d/
если будут вопросы говори
Как выставить значение по индексу нашел, как узнать текстовое значение из выбранного пункта нашел, а как выставить значение по тексту - хз.
ЕБАНАЯ ПИДРСКАЯ МАКАКА БЛЯДЬ КАКОЕ СЛОВО ЗДЕСЬ ИЗ СПАМ ЛИСТА ПИДОР БЛЯДЬ ТУПОРЫЛЫЙ СУКА МРАЗЬ ПЕТУХ БЛЯДЬ ЧМО ЕБАНОЕ ВЫПИЛИСЬ НАХУЙ ПИДОРАСИНА
В нем можно менять струю как тебе угодно.
А размер-форму сопла можно одной-двумя костями менять.
Туториалов по партиклам есть в интернетах.
какие кости? там все сделать можно на партиклах + милипиздрический скрипт который будет регулировать шейп эмитера
>шь видеотуториалы и предпочитаешь текст
https://www.youtube.com/watch?v=JzezSQdKJoA
Подскажите, а это как делалось?) спомощью анимаций либо это еще часть скриптов?
Начал изучать с этих материалов https://habrahabr.ru/company/microsoft/blog/236125/ но версия старая, и некоторые моменты, ввиду своей неопытности в среде/языке - не понимаю.
Это копия, сохраненная 22 декабря 2017 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.