Двач.hk не отвечает.
Вы видите копию треда, сохраненную 23 октября 2016 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
8 Кб, 400x400
Unity3D #277225 В конец треда | Веб
Тред о лучшем движке.

Где скачать?
На официальном сайте.

Где взять уроки?
На официальном сайте.

Где взять текстуры и модели?
На официальном сайте.
#2 #277234
>>277225 (OP)
Как перестать сосать хуй и начать жить?
>>277235>>292496
#3 #277235
>>277234
Перестать писать на UE и начать писать на Unity, очевидно же.
#4 #277248
Планирую запилить пару-тройку статей по кодингу на юнити. Какие темы анонам интересны?
Когда-то заебал всех ховербордами, вроде, анону тема интересна была.
>>277267
#5 #277267
>>277248
Общая архитектура, сетка, как не делать грабли и велосипеды.
#6 #277297
>>277267
Доброчую сетку, в частности как делать все на связке HLAPI + своё самописное решение.
>>277345
#7 #277336
>>277267
Такого говна и так хватает.
>>277342
#8 #277342
>>277336
Поделись тогда ссылкой на статью по общей архитектуре игры на юньке.
>>277343
91 Кб, 599x150
#10 #277345
>>277267
>>277297
К сожалению, моя сетка это и есть грабли и велосипеды. Так как дефолтная сетка юнити это "точка-точка". По идее, можно поднять где-нибудь юнити и держать всегда включенной в качестве сервера, но это изврат. Но да, точка-точка через юнити это очень хорошо и удобно, ведь не нужен дополнительный сервер. Но увы и ах, сам этой темой особо не интересовался, так что и рассказать мне об этом нехуй.

>HLAPI + своё самописное решение


Только если купишь сорцы юнити. У меня таких денег нет.
>>277349>>277356
#11 #277347
>>277343
Ты долбаеб или мамкин тралл?
>>277358
#12 #277349
>>277345
А о чем ты можешь напейсать?
>>277394
#13 #277356
>>277345
Т.е. купишь сорцы? Ты хочешь сказать, что юнитимужики это не предусмотрели?
>>277394
#14 #277358
>>277347
Просил про общую архитектуру - тебе дали ссылку. Что конкретно тебя не устраивает?
>>277359
#15 #277359
>>277358
Меня не общая архитектура юнити интересует и расположение окошек.
Меня интересует структура проекта, как сцены грузить, когда, как инпут по-уму сделать, графоний как учесть, рамеры экрана, локализацию как заложить, где логику аи делать.
>>278009
#16 #277394
>>277349
Ну хуууй знает. Пожалуй создам девлог в виде серии туториалов, опенворлд с авторитарным сервером или менеджер посёлка в воксельном мирке. Или не буду строить из себя гуру, заткну ебало и съебу нахуй.

>>277356
Предусмотрели и они это продают, как там на пике и сказано. Мне, честно говоря, не очень интересно покупать у них сервер ради того, чтобы пользоваться их высокоуровневым апи.

>как инпут по-уму сделать


Вот с инпутами в юнити пизда. Больно смотреть на проверку кнопок в апдейте, лол. И, по большей части, это из-за политики, что всё должно работать везде и билд на иос и пк отличается только в выборе таргет платформ. Можешь посмотреть на стандартный ассет "кроссплатформ инпут контроллер". Событий на инпут нет, точнее, у тебя нет событий а-ля "button w keydown", в лучшем случае мы сами можем создать скрипт, который будет проверять нужные нам кнопки и уже из него запрашивать состояние кнопок. Как в кроссплатформ инпуте, но только с целевой платформой. Ну, конечно, поверх этого можно и события прикрутить, только нахуя.
>>277406>>278721
#17 #277406
>>277394
Пиши про менеджер поселка!

Меня с инпутом корежит что в каком-то префабе , в глубине компонентов висит скрипт в котором что-то в апдейте по инпуту делается и отдебажить это иногда заебательно или надо туда передать кучи левой инфы.
>>278017
#18 #278009
>>277359
Это глобальный вопрос на сотню толстых томов.
#19 #278017
>>277406

>somelandfill.blogspot.ком


Продолжать?

>в котором что-то в апдейте по инпуту делается


Инпут это бул, так что ты смело можешь заменить его на любой свой бул и подвесить его сеттер на гуикнопку.
#20 #278104
>>278017
Нет. Ты не понимаешь сцти учительства. Ты должен объяснить так, чтобы было понятно как делать, а не писать готовый код
>>278125
#21 #278120
unity где скачать? ну что за наркоманы???
>>278125
82 Кб, 632x440
#22 #278125
>>278120
https://store.unity.com/download?ref=personal
Держи, наркоман.

>>278104
Там же даже картиночки уже добавлены, всё разжёвано. В принципе, это не туториал по C# или юнити апи, если я начну пояснять, что такое мешфильтер, то урок растянется на сорок томов. Я хуй знает, начало там всё пояснено, а дальше только переиспользование того же кода. Ну не надо, так не надо.
>>278423
291 Кб, 1920x1080
2190 Кб, 1920x1080
#23 #278158
я знаю мне тут точно ответят
такая фигня в двух последних играх на юнити, фпс нет, видяха не раскачегаривается, частоты как в простое, 324Mhz
может установить чего надо
>>278161
#24 #278161
>>278158

>может установить чего надо


Игры
#25 #278179
Пацыки, скажите вот что, допустим у нас есть много псин, наследуемых от архипсины, нужно чтоб каждая гавкала по разному, мы просто каждому наследнику подключаем интерфейс и уже реализуем гавканье по разному, а абстрактный класс нужен когда у нас есть вообще разные мутанты нахуй, у которых как раз только общее это лай, а внутренние кишки совсем разные, ибо нахуя абстрактный класс использовать там, где внутренности объектов совершенно одинаковые, верно? Или нихуя не верно?
>>278186>>278191
#26 #278186
>>278179
Лучше забудь о наследовании, особенно в Юнити. Используй компонентный подход и интерфейсы.

>>278179

>а внутренние кишки совсем разные


Читай про принцип Барбары Лисков (но только не на вики, а где попроще написано). Если он нарушается, значит наследование у вас хуёвое и оно приведёт только к проблемам.
>>278191
#27 #278191
>>278179
Ну я вон выше писал про кубы, но никто не понял, там эта хуйня реализована ммаксимально гибко. Есть класс архикуба, от которого наследуются кубы. Методы этого класса виртуальные, так что можно от него наследоваться и перезаписывать всё. Это очень удобно, без разницы общее у нас только что-то одно или вообще всё.

>>278186

>Лучше забудь о наследовании, особенно в Юнити.


Лол. Так там каждый компонент наследуется от MonoBehaviour. Если хочешь делать наследование - вперёд.
>>278219
#28 #278195
Что можно почитать о создании изометрических тайтловых игр типа первых двух фоллачей? Может есть какие-нибудь готовые шаблоны-бойлерплейты чтобы не велосипедить.
>>278207
#29 #278207
>>278195
А чо не взять сразу готовый инструмент?
http://fifengine.net/index.html
>>278327
#30 #278219
>>278191
Ну ты и бака, давай, попробуй наследовать еще что-то поверх монобехейвор.
Ничего кроме интерфейсов ты не сможешь наследовать, потому что добро пожаловать в Шарп.
>>278226>>278244
#31 #278226
>>278219

>Ничего кроме интерфейсов ты не сможешь наследовать, потому что добро пожаловать в Шарп.


С этого момента поподробнее. Наследую как полоумный, брат жив.
>>278238
#32 #278238
>>278226
Почти в каждом скрипте ты наследуешь от монобехейвора, чтобы иметь доступ к функциям движка. Но, чтобы иметь ещё одного родителя, тебе придется задействовать множественное наследование, которого в шарпе нет. Интерфейсы это исключения, их ты можешь реализовывать столько сколько захочешь.

И таки да, в комплектно ориентированном движке использовать наследование вместо композиции это моветон.
#33 #278244
>>278219
Есть класс, наследуется от монобеха. От него наследуется ещё один. Всё работает. Виртуальные функции, массивы, флоаты. Сейчас вот добавил материал с перегрузкой. Другой вопрос, надо ли в наследуемых классах наследоваться от монобехавиор. Мне - нет. Собственно, интерфейсов в явном виде у меня вообще нет.
>>278293
#34 #278284
>>278017
Ты бы намек на финальный результат добавил бы.
Продолжай, воксели тема.
>>278362
#35 #278293
>>278244
Как-то это дико, тебе не кажется?
Я наоборот, везде где нужна универсальность при доступе использую интерфейсы. Удобно, но юнити немного неадекватно с ними работает. Не отображает в инспекторе и функция GetComponent() их не находит, что меня огорчает, приходится использовать GetComponent<>(), а ему на вход string не передашь для поиска компонента.
>>278362
#36 #278312
Вот такой вопрос:
Есть сцена Мар - там рисуется карта с локейшенами, на них можно тыкать, подгружаются сцены, то, се.
Есть скрипт, который по ответу в диалоге анлочит локейшены.
Скрипт вызывается в диалогах, диалоги происходят между персами в сцене напрмер TalknFight.
Как их соединить? Тащить в диалог карту?
>>278362
#37 #278327
>>278207
У него абсолютно ущербная документация. Я уже пытался его использовать, но там всё сводится к "угадай сам, как это сделать".
>>278329
#38 #278329
>>278327
Можешь на юнити делать же, хотя у него документация тоже примерно по такому же принципу устроена. Спасает стековерфлоу и форум юнити, там уже обо всем за тебя догадались, так что попробуй его, серьезно.
Для твоего жанра юнити отлично подходит, камеру можно настроить в два щелчка под изометрию, будет что-то вроде транзистора.
>>278695
#39 #278362
>>278284

>финальный результат


Суть в том, что это девлог в форме туториалов, финальный результат не далеко ушёл от конца первой портянки. Цель же - менеджер посёлка, в котором живут пезане. Управление пезанами непрямое, можно задавать задачи, которые они будут решать. В принципе, можно будет просто пройти по первым 3-4 статьям и взять себе один террейн для фпс\тпс кубача. Коменты там для анонов открыты, можете смело писать, что не понятно.

>>278293
Честно говоря, я не очень люблю всё это ооп, а вот к компонентам уже привык. Так что кому как удобнее, не вижу никакой дикости. Наоборот, всё это очень круто - есть масса возможных решений и каждый выбирает что-то своё.

>>278312
Можешь тащить карту. Можешь сделать поиск объекта, на котором карта и геткомпонент. Можешь сделать доступность локаций паблик статик и обращаться к ним вообще откуда угодно.
#40 #278378
>>278362
кубач+маджести?

А зачем генерация куба вершинами? Почему не готовый меш?
>>278394
72 Кб, 604x604
#41 #278380
Посоны, в чем преимущество [SerializeField] кроме возможности редактировать в инспекторе приватные переменные?
>>278383
#42 #278383
>>278380
Какое преимущество? Этим атрибутом ты указываешь сериализовать юнити поля, которые он по дефолту не сериализует
>>278384>>278387
#43 #278384
>>278383
Можно сделать так [SerializeFied] [HideInInspector]
>>278387
#44 #278387
>>278383
В том то и вопрос, зачем это делать?
В чем преимущество их на жестком диске хранить? Иди для чего это используется, я серьезно догнать не могу.

>>278384
Можно, но зачем?
>>278394>>279490
#45 #278389
Анон, проясни за пиратство в Юнити.
Я понимаю, что за модельки из крузиса получи пизды. Но что насчет, скажем, Shader Forge или Ultimate FPS? Как меня могут вычислить, если я их спирачу?
>>278397
#46 #278390

>получу


быстрофикс
#47 #278394
>>278378
Генерация вершинами полностью виртуальная. Можно наследоваться от куба и переписать вершины. Кубы? Можно рисовать хоть звёзды. Но на самом деле это больше для рамп сделано, ну и, может, ступенек. Не решил пока, какие части будут воксельные, а какие мешами. Хочется добавить меши маленьких домиков, персонажей, может, оружия и некоторой фурнитуры. Жаль, что нет артиста.
Ещё будут полностью пустые кубы, без вершин и мешей. Это даже важнее рамп.

>>278387
У тебя есть в игре магазины, допустим. И в них один контент. Хотя лично я использую префабы со списками, тоже ничего.
#48 #278397
>>278389

>Как меня могут вычислить, если я их спирачу?


Могут, но всем похуй. Даже если ты продашь миллионы копий игры. Используй спираченную версию, а потом, если заработаешь, купи (не будь хуем). Я так делаю.
#49 #278423
>>278125
спс антош, но я имел ввиду что не знать что Unity спокойно качается с офсайта - это надо упороться
>>278659
239 Кб, 846x444
#50 #278659
>>278423
Ну хуй знает, как по мне, сюда заходят уже после того, как скачали юнити.

Запостил вторую часть.
>>278702
#51 #278690
>>277225 (OP)
Посоны, можете кратко пояснить что такое меш? Это объект такой? В чем отличие и преимущество, что все их так используют?
>>278691
#52 #278691
>>278690
Меш это любой трёхмерный объект. Для 2д игр не нужен.
>>278692
#53 #278692
>>278691
А в чем разница между обычным 3д объектом или я туплю? Допустим, куб который я могу создать стандартными средствами унити - меш?
>>278693
#54 #278693
>>278692
Ты курил? Да, любой 3д объект это меш. И стандартный куб тоже. Посмотри в компоненты - мешфильтер, в нём поле меш - этот куб. Мешрендерер.
>>278697
#55 #278695
>>278329
Спасибо. Хорошо, что с камерой не придется своё писать.
#56 #278697
>>278693
А разве меш - это не треугольник?
>>278706>>278723
#57 #278698
>>278362

>портянки


>портянки


>тянки

>>278723
#58 #278702
>>278659
Это вода или земля?
>>278723
65 Кб, 568x275
#59 #278706
>>278697
Меш состоит из многоугольников, в том числе треугольников. В русском языке вместо английского термина "mesh", обычно используется "полигональная сетка".
>>278716
#60 #278716
>>278706
Все равно нихуя не понял. Какие то вершины, UV что вы несете вообще где можно годное на эту тему почитать, а то я тугой чот
>>278724
#61 #278721
>>277394

>Больно смотреть на проверку кнопок в апдейте


Разве в стандартных ассетах не так?
>>278723
#62 #278723
>>278698

>конца первой портянки


>конца первой тянки



>>278702
Земля.

>>278721
В этом и суть - нет другого способа.

>>278697
Меш может быть треугольником. Но чаще всего меш это дохуя-дохуя треугольников, скучкованных вместе. Тот же куб - каждая его грань это два треугольника.
>>278728>>278864
#63 #278724
>>278716
Что ты делаешь в этом разделе, клоун? Вернись в /vg/
>>278863
#64 #278728
>>278723

>В этом и суть - нет другого способа.


А какой способ ты хочешь. Вообще-то есть Input.GetAxis()
>>278809
251 Кб, 343x394
#65 #278747
Спрашивал в прошлом треде, тоже не ответили, есть системы звездные, содержит в себе корабли, но сами корабли содержат в себе звездную систему, этакая ссылочная петля. Ну вроде норм, сливаешь ссылку на корабль пушке, а она там уже смотрит в корабельной звездной системе, кто рядом, кого опускать а кого нет. Так делать нормально?
>>278806
#66 #278806
>>278747

>Так делать нормально?


Вполне. Если тебя это сильно напрягает, то можешь ограничить работы со звёздной системой через интерфейсы, и аналогично работу с кораблями. Пилишь интерфейсы, с минимум методов и свойств, которые нужны и по ним передаёшь ссылку на нужные объекты.
#67 #278807
Подкиньте годного туториал для first person controller, чтобы не застревал на углах, прилипал к движущемся платформам, вот это вот все.
#68 #278809
>>278728

>Input.GetAxis()


Те же яйца, только в профиль. В юнити есть система событий, допустим, такой код

Event e = Event.current;
if (e.alt)
if (Application.platform == RuntimePlatform.OSXEditor)
Debug.Log("Option key was pressed");
else
if (Application.platform == RuntimePlatform.WindowsEditor)
Debug.Log("Alt Key was pressed!");

Работает. Но только в Гуи-потоке, а не основном.
>>278813
573 Кб, 730x1033
#69 #278810
Кто-нибудь уже использовал новомодный Unity Multiplayer? Он лучше PUN?

Ещё меня их цены что-то настораживают. Получается, что нужно будет платить в несколько раз больше, чем в PUN. Платить в далларах, что с нашим курсом не очень приятно. Зато нет никаких ограничений. Платишь только за трафик.
#70 #278813
>>278809
Не понял, что это за чушь и зачем ты это написал. Это события - лютое говнище, которое было написано для не менее уебищного immediate GUI юнити и исползуется только внутри движка для рисовки окошек.
>>278816
#71 #278816
>>278813

>только внутри движка


Ну пиздец просто. А вообще, любые события лучше, чем дрочить в апдейте состояние кнопок.
>>278817>>278818
#72 #278817
>>278816
Таки чем тебя смущает дрочильня кнопок?
>>278820
#73 #278818
>>278816

>события


Какие это события лол. Наркоман штоле. Ты точно так-же дрочишь это все в апдейте.
Этот Event используется затем, что у юнитивского ГУЯ есть несколько фаз (т.е. OnGUI вызывается несколько раз за фрейм), типа отрисовки, обработки ввода и т.д., и в этом глобальном классе хранится инфа для каждого такого состояния и это нужно чтобы отличать в OnGUI какая сейчас идет стадия.
#74 #278820
>>278817
Тоже не понимаю. Написать скрипт событий можно за пять минут, если очень хочется. Только зачем?
>>278831
#75 #278831
>>278820
Может он полагает, что юнити к клаве доебывается каждый фрейм на предмет того не нажата ли кнопка?
#76 #278839
Как написать метод, реагирующий на появление или исчезновение объекта из вида? Примерно представляю как это сделать расставив по углам тригеры, может есть метод из коробки?
>>278841
#77 #278841
>>278839
isVisible
>>278842>>278844
#78 #278842
>>278841
OnBecameVisible
OnBecameInvisible
>>278844
#79 #278844
>>278841
>>278842
спасибо.
А как вы так быстро находите это все в документации? Или просто долго уже жадротите юнити?
>>278845
#80 #278845
>>278844
То, что используешь часто - всегда в памяти быстро находится. Больше практику, меньше двачуй капчу.
#81 #278863
>>278724
Спрашиваю, где почитать про меши
#82 #278864
>>278723
То есть меш в себе хранит координаты трех вершин? Могу ли я получить эти координаты из стандартного куба и изменить?
>>278867>>278887
#83 #278867
>>278864
Почитай что-нибудь про 3д графику вообще.
Либо очень толстый.
>>278868
#84 #278868
>>278867
Не толстый, просто не знаю про 3д нихуя.
>>278874
#85 #278869
Смотрите, допустим у моего меча есть меш коллайдер, который триггер. И при пересечении хитбокса врага OnTriggerEnter у него отнимается хэпэ. Но, допустим, меч очень быстрый, и проходит полукруг за 2 кадра, и иногда попадание не засчитывает, потому что в одном кадре меч еще не пересек, а в другом уже находится за хитбоксом. Это мне так кажется, точно я не знаю почему порой не засчитывает. Как решить эту проблему?
#86 #278872
>>278869
Надо физику для него не дискретную выставить, а непрерывную.
>>278901
#87 #278873
>>278869
Сделай учет коллижена не дискретный
>>278901
49 Кб, 400x566
#88 #278874
>>278868
Иди к дяде Борескову
#89 #278876
>>278869
И про интерполяцию не забудь.
>>278881
#90 #278881
>>278876
Не указывай мне.
#91 #278887
>>278864
Нет, меш хранит в себе координаты всех вершин. Обычно их гораздо больше трёх. Да, можно изменять эти координаты.

>>278869
Увеличь кол-во тиков физона и попрощайся с фпс. Вариантов овердохуя на самом деле. Можешь сделать огромные хитбоксы.
88 Кб, 526x350
#92 #278893
>>277225 (OP)
Нюфаня итт. Допустим игра сделана на Юнити. Чья-то другая инди йоба. Могу ли я как-то открыть эту самую игру в Юнити? Ну там в скриптах покопаться, посмотреть на игру в Scene View.
>>278902
#93 #278901
>>278872
>>278873
Спасибо, парни.
#94 #278902
>>278893

>в скриптах покопаться


Да.

>посмотреть на игру в Scene View


Нет.
>>278912
#95 #278912
>>278902

>Нет


Почему?
#96 #279052
Какой шейдер самый быстрый? ФПС пиздец проседает.
>>279072
#97 #279072
>>279052
Unlit/Color, по идее. Вообще шойдеры на ГПУ калькулируются, ты уверен, что причина в шейдере?
>>279086
#98 #279086
>>279072
Профайлер CPU пишет WaitForGPU - 30%, а GPU Graphics.PresentAndSync 90%.
>>279093
#99 #279093
>>279086
Синхронизацию отключи, дурень.
>>279096
#100 #279096
>>279093
V Sync? У меня отключена.
>>279099>>279112
#101 #279099
>>279096
Да и в Fastest по умолчанию отключена.
46 Кб, 400x307
37 Кб, 400x362
#102 #279108
Нужна помощь с шейдером.
Сурфейс с этим шейдером должен плавно "затухать", постепенно становиться прозрачным при соприкосновении с другими поверхностями.
Вроде бы просто нужна попиксельная проверка z-буфера, но я не знаю как делать в шейдере такиую проверку.
>>279613
#103 #279110
Парни, поясните за анимацию в юнити. Ставлю я значит дверь, двигаю, а эта сука берет и телепортируется во время проигрывания анимации.
Какого хуя?
#104 #279112
>>279096
Ты отключил шейдер и у тебя фпс вернулся в норму?
>>279113
#105 #279113
>>279112
Ну лучше стало. Но так себе. Да просто девайс херовый, на котором пилю игру.
>>279116
#106 #279116
>>279113
Юнька на телефонах нормально работает, а ты тут про девайс. Ты чет перемудрил прост. И шейдер не самое хуевое, судя по всему. Без профайлера трудно сказать.
#107 #279168
Поставил spot light. Сделал его mixed. После того, как запек освещение все динамические объекты стали черными. Как исправить?
>>279794
#108 #279192
Пилю 2д, заметил такую проблему, персонаж прилипает к объектам с коллизией, т.е если прыгнуть, упереться в блок например и не отпускать клавишу прыжка, то персонаж просто застрянет и зависнет, как фиксить?
>>279220
#109 #279220
>>279192
Если есть коллизии справа или слева и не касаешься пола, добавляй отрицательной скорости по оси Y, пока не достанешь до пола. При желании можно сделать замедленное соскальзывание.
379 Кб, 1920x1201
#110 #279248
Как сделать переход между уровнями, как в звездных воинах, ну типа уровень выплывает сбоку/сверху.
>>279262
#111 #279262
>>279248
Загрузить сцену и двигать камеру?
>>279280
#112 #279280
>>279262
Тогда предыдущая сцена пропадет же.
Вот тут на второй минуте пример
https://youtu.be/buvoKb8947I?t=120
>>279289
#113 #279289
>>279280
И что там выплывает
>>279290
#114 #279290
>>279289
Ширмочка такая, хуй знает как объяснить. Но вот на второй минуте тот переход, который я бы отел реализовать
>>279325
#115 #279296
Как прямо в юнити запилить мэш нестандартной формы? Полукруг например я нуфак
>>279300
#116 #279300
>>279296
Полушар ты хотел сказать?
>>279337
#117 #279325
>>279290
Загрузил сцену и захуярил ширмочку, чтобы игралась с начала.
>>279358
#118 #279337
>>279300
Именно закруглённую линию, буквой С, если так понятней
>>291364
#119 #279358
>>279325
Ты видео то смотрел?
смотри там какой сценарий:
1 сцена один
2 сцена один|сцена два
3 сцена оди|сцена два
4 сцена од|сцена два
5 сцена о|сцена два
6 сцена |сцена два
7 сцена|сцена два
8 сцен|сцена два
9 сце|сцена два
10 сц|сцена два
11 с|сцена два
12 |сцена два
13 сцена два

Как мне это реализовать? При выгрузке следующей сцены предыдущая исчезает, а мне надо, чтобы не исчезала. Ты видео смотрел? Там предыдущая сцена не исчезает. То есть появляется вторая сцена и накрывает первую. Посмотри видео. Там сначало идет первая сцена потом сбоку сползает вторая, а первая не исчезает. Там на второй минуте в видео будет видно. Можно не смотреть все эти две минуты, а сразу кликнуть на две минуты. Вообще в видео есть тайм код, можешь открыть в новом окне, там будет видно переход, такой, что первая сцена не исчезает при появление второй. Ты не знаешь как такое реализовать? Ты не мог бы мне помочь? В звездных воинах такой переход был. Там сцена, сменяющая предыдущую накрывала ее сверху, как шырма. Понимаешь? Я видео прикрепил, где в игре ангри бердс по мотивом звездных войн реализован этот переход. Ты знаешь как реализовать его в юнити? Я в детстве игрался с видеоредактором там были переходы между кадрами, там был такой эффект. Как реализовать его в юнити? То есть один кадр сменялся другим, выплывающим сбоку или сверху или снизу или с другого бока или с другого низу. Только в юнити я не понял как так сделать. Может есть какой-то способ? Вот при загрузке новой сцены предыдущая удаляется. А мне так не надо, надо чтобы вторая какбы покрывала первую и только после покрытия удалялась. Понимаешь? Я искал видео на ютюбе с подобным эффектом. и нашел видео с гемплеем игры про злых птичек, там игра по мотивом фильма ззвездные войны, там на второй минуте видно как это происхдит я прикрепил видеотам на второй мниуте поежешь пмочоь? юнити помоги видо вторая минута сменакадров как в звездных воинахпожалуйста сценадва\сценаодин она наезжает напредыдущуюсуену тамтаккак ввоинах звездныхюнити
#119 #279358
>>279325
Ты видео то смотрел?
смотри там какой сценарий:
1 сцена один
2 сцена один|сцена два
3 сцена оди|сцена два
4 сцена од|сцена два
5 сцена о|сцена два
6 сцена |сцена два
7 сцена|сцена два
8 сцен|сцена два
9 сце|сцена два
10 сц|сцена два
11 с|сцена два
12 |сцена два
13 сцена два

Как мне это реализовать? При выгрузке следующей сцены предыдущая исчезает, а мне надо, чтобы не исчезала. Ты видео смотрел? Там предыдущая сцена не исчезает. То есть появляется вторая сцена и накрывает первую. Посмотри видео. Там сначало идет первая сцена потом сбоку сползает вторая, а первая не исчезает. Там на второй минуте в видео будет видно. Можно не смотреть все эти две минуты, а сразу кликнуть на две минуты. Вообще в видео есть тайм код, можешь открыть в новом окне, там будет видно переход, такой, что первая сцена не исчезает при появление второй. Ты не знаешь как такое реализовать? Ты не мог бы мне помочь? В звездных воинах такой переход был. Там сцена, сменяющая предыдущую накрывала ее сверху, как шырма. Понимаешь? Я видео прикрепил, где в игре ангри бердс по мотивом звездных войн реализован этот переход. Ты знаешь как реализовать его в юнити? Я в детстве игрался с видеоредактором там были переходы между кадрами, там был такой эффект. Как реализовать его в юнити? То есть один кадр сменялся другим, выплывающим сбоку или сверху или снизу или с другого бока или с другого низу. Только в юнити я не понял как так сделать. Может есть какой-то способ? Вот при загрузке новой сцены предыдущая удаляется. А мне так не надо, надо чтобы вторая какбы покрывала первую и только после покрытия удалялась. Понимаешь? Я искал видео на ютюбе с подобным эффектом. и нашел видео с гемплеем игры про злых птичек, там игра по мотивом фильма ззвездные войны, там на второй минуте видно как это происхдит я прикрепил видеотам на второй мниуте поежешь пмочоь? юнити помоги видо вторая минута сменакадров как в звездных воинахпожалуйста сценадва\сценаодин она наезжает напредыдущуюсуену тамтаккак ввоинах звездныхюнити
>>279377
#120 #279377
>>279358
DontDestroyOnLoad();
Хранить сцены как префаб
SceneManager (самый лучшй)
Много способов
>>279384
#121 #279384
>>279377
Ну ты перед тем как пиздеть, посиди и подумай, как это реализовать. И если тебе лень, то блять не пизди. Вот придет какой-нибудь нормальный анон, увидет что на мой вопрос будто есть ответ и подумает что он на самом деле есть, а его блять нет.вот уже прошло три поста, где я поянсю тебе что ты обосрался, ты насрал и мажешь себя этим говном, а мой вопрос уже смлыло и гео никто не прочитает. Нахуя ы пиздишь про то что не знаешь? ты подума просто, прикинь варианты где есть две сцены где одна переходит в другую, как на видео. ты понимаешь что ты несешь хуйню ты нихуя не помог, ты только делаешь хуже смывая вопрос выше и выше . просто перестань мен отвечать. хватит пиздеь я уже поянл что ты нихуяя не знаешь какэ то реализовать . просто не пизди. ты блять вооб ще соображаешь? просто сяди и подумай вот есть у тебя сцена которыю ты решаешь не уничтожать есть другая сцена которая в этот момент появляется какого хуя объекты соо второй сцны должы блять покрывтаь первыеони все нахуй смешаются в сцене и блять никакого перехода не будет никакой ширмочик бялть. ты просто восроизведи этот пиздей в голове у себя. блять. просто возьме сцену блять чтобы тебе было проше с кубом. это сцена один и возьми с цену с шакрикм это врторая сцена. какого хуя чтобы могло проихзойти чтобы ониблять пресеклись блять изиди нахуй даун. ты просто ожешь понять. вот нахуя ты мне отвчешаешь? нахуя пиздеть про точто не знаешь просто не пизди заткнись нахуй. можешь не отвечать на мои вопросы? нахуя ты городишь про то что не знаешь каой нахуй ссценменеджер какие нахуй префабы ты пробовал подумать у себя в говлове воспроизвести? сколько раз тебе нужно повторять ты вообще игры делал когда-нибудь ты юнити запускал про что ты рассказваешь? ты думаешь что пишешь перестань мне отвечать если не знаешь что ответить
>>279386>>279387
54 Кб, 300x301
#122 #279386
>>279384

>Показываешь ширмочку


>SceneManager.UnloadScene("scene1");


>StartCoroutine(SceneManager.LoadSceneAsync("scene2"));

>>279388
#123 #279387
>>279384
Сидеть и думать - твое дело, за тебя никто делать не будет, уебывай.
>>279388
#124 #279388
>>279386
Все, иди нахуй.
>>279387
Это как если бы на вопрос как создать куб мне бы рассказывали как повернуть камеру, а когда я бы жаловался, что мне объесняют совершшенно нето, мне бы предъявляли чтобы думал сам. Тут один в один ситуация. Нахуй вы рассказываете эту парушу. Вы ширмачку мне сделайте.
>>279391>>279416
#125 #279391
>>279388
То, что ты не можешь объяснить что ты хочешь - это твоя проблема. Тут экстрасенсов нет
27 Кб, 350x350
#126 #279416
>>279388

>Сохраняешь первую сцену в текстуру


>Выводишь эту текстуру на UI rawimage. добавляешь паренту rectmask2d


>SceneManager.UnloadScene("scene1");


>StartCoroutine(SceneManager.LoadSceneAsync("scene2"));


>В корутине уменьшаешь ширину твоего rawimage - получается ширмочка

>>279441>>279480
#128 #279480
>>279416
Вот это уже больше похоже на правду, извини за вчерашний неадекват.
>>279441
Вот это уже пиздец как охуенно, все как мне нужно и уже готово, спасибо больше
#129 #279490
>>278387
Затем, чтобы не писать километровые конфиги с редакторами.
К примеру, у тебя есть йоба-скрипт, который двигает объект со скоростью float m_Speed = 5, а потом ты захотел, чтобы другой объект двигался со скоростью 3. Будешь писать другой скрипт или вообще загрузчик конфигов? (ScriptableObject мы не рассматриваем, только монобехи, только хардкор). Ну так вот, когда ты хардкодишь константы, как я показал выше, то с этого момента ты типичный байтоеб и лох, который дрочит себе в рот.
А если ты делаешь так [SerializedField] float m_Speed и уже в редакторе настраиваешь какое значение скорости будет у объекта, ты переиспользуешь скриптец и можешь создавать сраную тучу объектов и все будут двигаться с разными скоростями.

В этом вся прелесть Unity как движка, то что тебе не надо городить велосипеды, как это делают плюсобляди у которых ВСЕ ЛУДШИ.

мимоПРОбыдло
>>279491>>279508
#130 #279491
>>279490
А можно просто сделать переменную публичной и не жрать говно.
>>279497>>279583
#131 #279497
>>279491
Если например запилить редактор чего-нибудь (тайловых карт например) для работы в Editor'е, то необходимо, чтобы юнити сохранял все то, что ты наделаешь в этом редакторе. А засирать инспектор полями не предназначенными для ручной правки не лучшее решение.
>>279509
#132 #279508
>>279490
Долбоеб, вопрос был в том зачем сериализовать переменную и потом скрывать её в инспекторе.
То что ты описал очевидно любому, даже самому тупому анону, севшему за хуюнити два дня назад.
#133 #279509
>>279497
Хуюнити по умолчанию сериализует все публичные переменные.
>>279582
#134 #279540

>уже в редакторе настраиваешь


>засирать инспектор полями не предназначенными для ручной правки не лучшее решение


Если это один анон, то у него проблемы с его шизофренией, лол.
>>279570>>279582
#135 #279570
>>279540
Он вообще какой-то ебанутый.
#136 #279581
Поцаны, как в DOTween убить Sequence? От Kill эффекта нет.
#137 #279582
>>279509

>А засирать инспектор полями не предназначенными для ручной правки не лучшее решение.


>Хуюнити по умолчанию сериализует все публичные переменные.


И читаем мы как всегда жопой.
>>279540
А если не один, то нет проблем. Нахуя ты это написал? Я так то просто мимо проходил.
#138 #279583
>>279491
Инкапсуляцию нарушает епт, что хорошего, если все классы начнут видеть переменную, котрую надо редактировать только через редактор.
Для этого и есть [SerializedField]. Он позволяет привейты делать доступными для редактора.
>>279585>>279591
#139 #279585
>>279583

>Инкапсуляцию нарушает епт, что хорошего, если все классы начнут видеть переменную


Тебя это ебет? Пусть видят
>>279586
#140 #279586
>>279585
Про ООП погугли для начала, и основные парадигмы. Понятно, что накодить можно любое гавно, но почему бы не стараться делать это хорошо?
>>279588
#141 #279588
>>279586
С чего ты взял, что это правильно? Тем более, это портит читаемость кода, а я За читаемость в первую очередь.
>>279592
42 Кб, 604x465
#142 #279591
>>279583
Верно. Но вопрос то в другом, зачем делать приватную переменную сериализуемой и скрывать её в инспекторе через атрибут?

Я хочу выяснить, какие это дает преимущества помимо доступа к приватным переменным.

А в целом бы прав, а анон выше нихуя не прав, инкапсудяцию нарушать - долбоебом быть.
#143 #279592
>>279588
Когда класс "враг" (как и другие классы) будет открыто иметь доступ к полю "деньги", класса "игрок", нельзя будет гарантировать, что в каком-то месте в проекте поле "деньги" не может изменится из-за каких-то обстоятельств.
А это в свою очередь убивает и читаемость, и логичность кода.

Ну просто основы ООП же, ну.
>>279593>>279595
#144 #279593
>>279592
А если говорить о публичных полях в контексте Юнити? Зачем такие поля, которые задают поведение объекта, делать закрытыми? А если это ссылка на другой объект? И я уж молчу о тестах. Получается некий чёрный ящик, который откуда-то берёт значения для закрытых переменных.

Потом, какой смысл делать публичной переменную "Деньги" у скрипта игрока? Если ты хочешь задать начальное кол-во денег, то задаёшь публичную переменную int initialMoney, а после в методе Start задаёшь приватную переменную money, которая хранит актуальное кол-во денег:
private void Start()
{
money = initialMoney;
}
Собственно, в этом смысл таких переменных в скриптах по большей части.
#145 #279595
>>279592

>нельзя будет гарантировать, что в каком-то месте в проекте поле "деньги" не может изменится из-за каких-то обстоятельств.


Они изменится, если только ты его изменишь. Ты совсем ебанутый штоли? Ты же не бизнес-приложение делаешь. В игрострое ООП дроч скорее мешает
>>279604>>279608
#146 #279597

>Устаревший ООП в движке с компонентной системой


>Скрываем в редакторе переменные, доступные для редактирования только в редакторе


>Не можем гарантировать, что делает наш код


Ёбаные наркоманы.
>>279606
72 Кб, 604x554
#147 #279604
>>279595
Есть три сценария, при которых это может произойти:
1) с твоим кодом работает другой человек
2) ты сел работать бухим
3) ты пишешь нечто большее, чем платформер, из-за чего возникает необходимость вводить тонны функционала, пробовать множество новых фичей и всего такого, и проверь мне, рано или поздно ты из лени возьмёшь да и изменишь публичное поле одного объекта из другого объекта. А потом забудешь на неделю. А потом охуеешь от мелкого бага и начнёшь искать его причину. А потом вдвойне охуеешь, из-за того что весь твой код превратился в вермишель и от архитектуры там одно слово, из-за чего проще все с нуля переписать чем рефакторить.

Соблюдайте ооп, щенки.
>>279619
#148 #279606
>>279597
1) таки компонентной подход есть развитие ооп, так что принципы ооп для него тоже справедливы.
2) в голос
3) это норма для начинающих разработчиков
#149 #279608
>>279595
Тут зависит не от бизнес/не бизнес, а от количества человек, которые работают над проектом и размером проекта.
#150 #279613
>>279108
Блять, анончик, очень нужен твой совет. Очень.
>>279616>>279629
#151 #279616
>>279613
Шейдеры это тебе не ассеты таскать, это сириус буизнесс.
#152 #279619
>>279604

>Соблюдайте ооп, щенки.


Нет. ООП не для игор. Для игр лучшем решением является не прятать переменные, а наоборот сделать их как можно открытее: использовать глобальные статики где только можно, все поля сделать публичными.
>>279630>>279643
42 Кб, 375x358
#153 #279629
>>279613
Шейдер должен быть вертексным. Во фрагментную часть, естессна, надо передать вертекс. Потом надо захуярить текстуру глубины. _CameraDepthTexture это sampler2D_float, который надо объявить заранее.

half depth = SAMPLE_DEPTH_TEXTURE_PROJ(_CameraDepthTexture, UNITY_PROJ_COORD(vert.screenPos));

А потом глубину эту хуяришь в линейную
depth = LinearEyeDepth(depth);

Вот у тебя всё и готово. Но ты ж один хуй нихуя не понял, блядь.
>>279737
#154 #279630
>>279619
Слишком толсто.
>>279636
#155 #279636
>>279630
Ничего толстого. Со статиками в разы удобнее работать. Не нужно думать как передать ссылку на тот или иной объект. Всегда все под рукой в любом скрипте. И NullPointerException гораздо труднее словить с ними.
>>279640>>279644
#156 #279640
>>279636
Ни разу это исключение не ловил.
Боюсь даже представить, что у тебя творится в проекте.
>>279642
20 Кб, 200x315
#157 #279642
>>279640

>Ни разу это исключение не ловил.

>>279646
#158 #279643
>>279619

>использовать глобальные статики где только можно, все поля сделать публичными.


Спасибо что напомнил данное себе обещание никогда не качать игры местных юнитидебилов.
>>279647>>279665
#159 #279644
>>279636
Мне нравится паттерн "scene singleton". Его сами Юнитеки используют в классе EventSystem и может ещё где.
>>279648
#160 #279646
>>279642
Ловлю только NullReferenceException.
Чяднт?
#161 #279647
>>279643
Ты статики вообще никогда не используешь типа?
>>279650
#162 #279648
>>279644
Кинь линк
>>279653>>279654
#163 #279650
>>279647
Я никогда не использую, в ситуации не попадал, в которых они бы мне понадобились.

мимодругойанон
>>279660
#164 #279653
>>279648
Линка нет. Могу скинуть свой пример, как использую:
http://pastebin.com/cNd5wrnh
#165 #279654
>>279648
www.google.com
#166 #279660
>>279650
Даже синглтоны не используешь?
>>279697
#167 #279665
>>279643
И тут ты такой объясняешь зачем нужно прятать данные и постоянно гонять их туда сюда в аргументах/искать их
>>279667
#168 #279667
>>279665
Объяснят тебе в конторе коллеги, ректальным способом.
>>279677>>279716
522 Кб, 1920x1200
#169 #279677
>>279667
Ты через это уже прошёл, видимо.
#170 #279680
Анон, что не сильно сложное можно сделать ньюфагу? Сделал переписал пару учебных проектов с офф.сайта, а что делать дальше не знаю. платформеры идут нахой
>>279681>>279682
#171 #279681
>>279680
Шутер. Я серьёзно. Обычный шутер от первого лица. Постепенно, потихоньку. Так многие вещи освоишь.
>>279689
#172 #279682
>>279680
Текстовый квест дейт сим.
>>279689
#173 #279689
>>279681
Я представляю как его реализовать в примитивном виде, просто спавнить пулю и двигать ее вперед, пока не среагирует коллайдер. А на персонажа вешать characterController. Нужно что нибудь новое, или какие то механики к этому приделать. я без фантазии
>>279682
Это как новелла что ли? Для них можно и без движка обойтись.
>>279693
#174 #279693
>>279689

>Я представляю как его реализовать в примитивном виде


Реализуй в нормальном виде. С разными видами оружия, с противниками, с инвентарём и переключением оружия, с возможностью смены надетого оружия и тому подобное. Пили Half-Life 3
#175 #279697
>>279660
Нет, хоть и не отрицаю из полезности.
Да, так бывает
>>279700
#176 #279700
>>279697
Зацени структуру какого-нибудь своего юнити-проекта.
>>279702>>279706
#177 #279702
>>279700
Нормальная модульная структура
>>279703
#178 #279703
>>279702
Ну не сливайся, плизки.
#179 #279706
>>279700
public class GOTYGame : MonoBehaviour {

void Start () {
GameObject cube = GameObject.CreatePrimitive(PrimitiveType.Cube);
cube.transform.position = new Vector3(0, 0.5F, 0);
}
}
#180 #279716
>>279667
Причем тут коллеги на работе, полуебок? Я тебя про игру на юнити говорю.
Например я в классе Game сделаю статки для игрока, для уровня, для всего и в любом скрипте я парой строк могу сделать все что угодно. Мне не надо городить хуйню и абстракции и придумать где что и как передевать, куда влаживать и т.д.
>>279735>>279742
#181 #279735
>>279716
А если игроков небесная сотня? Не охуеешь?
>>279744
#182 #279737
>>279629
От души, серьёзно. Пока раскурю шейдеры, пойму смысл этих магических рун, но в целом логику-то я понимаю, мне скорее нужно было именно синтаксис и предефайнед слова для замера глубины, потому что в документации нагуглить не получилось.
Ещё раз, спасибо.
>>279752
#183 #279742
>>279716
Ты знатные шизик-долбоёб.
#184 #279744
>>279735
массив с игроками
>>279755
#185 #279752
>>279737
Если всерьёз решил курить эту херню, загляни-ка в стандартные ассеты, в шейдер воды. А особенно посмотри на edgeBlendFactors и foam.
Я, наверное, в процессе работы с кубизмом тоже буду делать воду с подобным шейдером, так что будет, что почитать, лол. Но до этого рановато.
>>279756
#186 #279755
>>279744

И массив тоже статичный, да?
Ебанутый, просто ебанутый, иди на бейсике сука программируй.
#187 #279756
>>279752
Майнкрофт пилишь свой?
>>279771
#188 #279771
>>279756

>Майнкрофт


>>278362

>Цель же - менеджер посёлка, в котором живут пезане. Управление пезанами непрямое, можно задавать задачи, которые они будут решать.


Воксельный колхоз. Анон назвал это майнкапф+маджести. Но я в него не играл, лол.
>>279777>>279779
#189 #279777
>>279771
Settlers же.
>>279800
#190 #279779
>>279771
А майнкрафтоподобные кубы можно разве назвать вокселами? Они имеют текстуры, а воксел это что-то вроде "3д пикселя".
>>279784>>279800
#191 #279784
>>279779
Расслабься, сейчас модно быть тупым и не знать значение употребляемых слов.
#192 #279794
>>279168
Бамп вопросу
#193 #279800
>>279777
Возможно. В них я тоже не играл. Но с ностальгией вспоминаю казачки и постараюсь добавить чуточку оттуда. С упором на сельское хозяйство, лол.

>>279779
Тыжпрограммист, ты должен понимать, что надо отделять логику от отображения. У меня есть структура, состоящая из вокселей. Которую я отображаю с помощью меша. По сути, невозможно сделать в юнити "тру-воксельную" графику, это всё равно будет куча треугольников и текстуры. Ну да, каждый куб можно залить одним цветом, чтоб графон стал как земля. Но это один хуй не будут воксели. А вот сама логика пока что воксельная. Так если доёбываться - все 2д пиксельарт игры на юнити нихуя не 2д и не пиксельные.
очередной кирюшка #194 #280050
Совсем не понимаю как работать с камерой в юнити, что и как делать? Где пиксели? Хочу например сделать для мобильного телефона с 480х854, как это делается? А если для айпада с его 4:3? Неясн.
#195 #280091
Я совсем тупой, ибо даже гугл мне не помог, поэтому надеюсь, что хоть тут мне помогут. Есть одна анимация, которая отказывается проигрываться. Использую Animation, а не Animator, поскольку объектов куча, а анимация только одна. Все в 2D.
>>280096>>280101
#196 #280096
>>280091
Аниматор - это как раз компонент, который проигрывает анимации
>>280098
#197 #280098
>>280096
Нагуглил, что раньше можно было проигрывать анимацию обычным компонентом Animationуверен, что и сейчас можно, но у меня просто руки из жопы. Есть же такой компонент
>>280101>>280106
#198 #280101
>>280091
>>280098
Спрошу еще кое-что и свалю. Допустим, у нас есть тысяча одинаковых объектов с одинаковой анимацией, но проигрываются в разное время + анимация только одна. Нормально ли для каждого из этих объектов создавать Animator?
Приношу свои извинения за тупые вопросы
#199 #280106
>>280098
Legacy выстави в свойствах даун
>>280107
#200 #280107
>>280106
Выставлял уже, не помогает
>>280112
sage #201 #280112
>>280107
Тогда убери
Вообще, если спрайты анимируешь, то в какой-то из версий с этим проблемы были, а может и во всех. Короче не анимируются они через Animation. Так что либо Animator юзай, либо другой движок. ВЕЛКАМ ТУ ЮНИТИ
13 Кб, 1273x85
sage #202 #280120
Можно ли как-то поменять масштаб интерфейса? Заебался, я и так слепой.
>>280121
#203 #280121
>>280120
Можно понизить разрешение экрана.
#204 #280142
Анон, нужна помощь.

Есть сцена. На сцене 3 камеры. Одна под юай, одна под скайбокс и фоновые удаленные объекты, и одна под все остальное.

У фоновой камеры обрезка в диапазоне 20к - 40к. У обычной 0,3 - 3к.

Есть объект (космический корабль). На нем висит скрипт, который раз в какое-то время заставляет корабль вылетать из-за спины наблюдателя (камеры) чуть снизу, и двигаться в закат. После того, как корабль преодолевает определенное расстояние, он возвращается в стартовую позицию.

На корабле висит 4 объекта с системами частиц: типа реактивная струя от движка.

Я столкнулся с такой проблемой. При первом запуске корабля все заебись. Но на втором системы частиц не отображаются в игровом виде. Если переключиться на сцену, то там все норм, и после переключения назад в игровой вид, партиклы становятся видны.

Сначала все отображалось, а потом вдруг перестало.

Чуть раньше я сталкивался с этой же проблемой, в случае, когда целевая точка движения корабля выходила за границы рендера камеры. Но потом я добавил дальности, и проблема пропала. Но сейчас появилась снова, и я хуй его, что делать.

Пробовал гуглить, но ничего не нашел толкового. Я даже не знаю, как правильно запрос написать, лол, чтобы проблему описать в двух словах.

Может кто сталкивался с подобным?
>>280151>>280163
293 Кб, 1440x819
309 Кб, 1440x819
231 Кб, 1440x819
#205 #280151
>>280142
Изначально партиклы запускались на эвейке, и лупились бесконечно. Но с появлением проблемы я пробовал разные варианты, в том числе включение из кода. Не помогло.

На картинках суть проблемы.

Пик1: второй вылет корабля, партиклов не видно.
Пик2: переход в сцену. Тут партиклы есть.
Пик3: возврат в игру. Партиклы магическим образом появились (до следующего запуска корабля).
Пик4: собственно настройки системы частиц.
>>280152>>280163
51 Кб, 686x905
#206 #280152
>>280151

>Пик4: собственно настройки системы частиц.


Отклеилось.
>>280163
#207 #280163
>>280152
>>280151
>>280142
Нашел. Это баг автокуллинга в юнити. Предлагают на выбор костыли по затыку.

https://issuetracker.unity3d.com/issues/shuriken-is-culling-particles-when-were-using-setparticles

http://answers.unity3d.com/questions/980950/particle-system-particles-disappear-when-game-obje.html

В моем случае решилось включением модуля субэмиттера.
#208 #280349
Привет, юнитипитухи)))
Какого быть опущенцами?

мимоанриалобог
>>280372
#209 #280372
>>280349
Свет уже перестроил, бог?
>>280380
1231 Кб, Webm
#210 #280380
>>280372
Хорошо ты приложил этого безигорного.
>>280411
#211 #280384
А чё, тут нельзя массив вот так присвоить?
array = [1, 2, 3, 4, 5];
#212 #280386
>>280384
Можно
#213 #280388
>>280384
Низзя. Только так:
var array = new int[] { 1, 2, 3 };
#214 #280389
>>280384
Жс-макака не палится.
>>280391
#215 #280391
>>280389
Шарпонищенку забыли спросить.
#216 #280411
>>280380
Свет это миф, в настоящем мире нет динамичного света.
231 Кб, 343x392
#217 #280445
Соскучился за вами, короче опять вопросы.
Есть корабли, 10 шт пусть, летают там себе, петушатся, вот один сдох, ну и короче дохлого надо из списка удалить. Можно перебрать список и вычислить по id петушка, но а может есть способ получше? А то возникает чувство что переборы это уже обсёр.

В голову ничего не приходит, список же меняется, хуй проссышь кто есть кто. Вот если бы каждый корабль знал какой элемент списка на него ссылается, можно было бы этот элемент удалить. Но такого же вроде не завезли? Вроде вот можно использовать массив, и если что расширить, пустые ячейки можно залеплять новыми построенными кораблями. id корабля равен числовом индексу, всем норм, малафья льется, перебора нет. Какие подводные камни у дырявого массива?
#218 #280450
>>280445
Списки бывают разные. Есть например словари(как мап в стл). Там удаление, добавление стоит нихуя и без перебора.
#219 #280451
>>280445
Если хочешь ебаться с массивом, можешь при построении давать элемнту знать свой номер, а при удалении - менять его местом с последним, удалять, а переставленному пересообщать свой номер. типа так.
#220 #280462
>>280445
List.Remove(GameObject pidor);
#221 #280466
>>280445
Юзай dictionary. Там доступ к элементу по ключу, которым может быть айди. Можно еще хешсеты юзать.
#222 #280472
>>280445
class MatherOfKorabliki
{
public GameObject korablickPrefab;
private List<GameObject> korabliki = new List<GameObject>();

public GameObject CreateKorablik(Vector3 position)
{
var korablik = Instantiate(korablickPrefab, position, ...);
korabliki.Add(korablik);
return korablik;
}

void Update()
{
for (var i = 0; i < korabliki.Count; i++)
{
if (!korabliki.activeSelf)
{
korabliki.RemoveAt(i);
i--;
}
}
}
}
#224 #280494
#225 #280496
>>280493
Чуть поправил:
http://pastebin.com/K8zLkDqw
#226 #280497
>>280493
Лучше уж GetInstanceID тогда использовать. GetHashCode скорее всего его и возвращает.
>>280502
4009 Кб, 915x607
683 Кб, 828x368
#227 #280498
Ананасы, как нарисовать широкую плоскую линию перпендикулярную земли? Юзаю LineRenderer, но он создает иллюзию объемной линии, всегда поворачивая ее за камерой. Нужно чтобы было например как на 2 пике.
>>280499
#228 #280499
>>280498
Остаётся самому создать Mesh.
>>280505
#229 #280502
>>280497
ты можешь переопределить гетХешКод, и возвращать из нее что угодно.
>>280544
#230 #280505
>>280499
Слишком заебисто, нужно хотя бы велосипедное решение.
>>280605
#231 #280544
>>280502
Вот только код от этого станет хуже.
>>280546
#232 #280546
>>280544

>Вот только код от этого станет хуже.


Это почему?
>>280550
#233 #280550
>>280546
Переопределение дефолтного метода object. Дурной тон. Тем более он уже у unity object переопределён. Нужно делать проще и понятнее. Хочешь разбить объекты по айдишникам? Так и пиши GetId() хуё-маё.
>>280551>>280713
#234 #280551
>>280550
Чем тебе простой ремув то не нравится?
>>280565
#235 #280562
Ребят, пояснить за Ray и raycast и всё это, пиздец туплю, не могу понять, как его юзать. Или гайды по нему какие-нибудь. Документацию читал, но что-то очевидного понять не могу.
>>280564>>280567
37 Кб, 526x480
#236 #280564
>>280562
Создаешь переменную HitInfo и в неё через out передаешь данные о точке попадания луча. Из неё же через точку все что тебе нужно извлекаешь, будь то ссылка на объект, координаты столкновения или что-либо еще.

Сам же луч кастуешь , передавая ему координаты начала луча, его направление и, по желанию, Layer бывает нужно, если тебе необходимо кидать луч игнорируя некоторые объекты, например при стрельбе сквозь деревянные доски. Также эта функция возвращает bool факта попадания.

Задавай вопросы, десу.
#237 #280565
>>280551
Если ты про list.remove(obj), то он во внутренней реализации все равное будет проходить по всему списку.
>>280569
#239 #280569
>>280565
Тебе не похуй ли?
Если ты фанат байтоебства, то выбрал ты явно не тот движок.
>>280571
#240 #280571
>>280569
Даун блять, как твой пост вообще относиться к оригинальному вопросу. Того куна не устраивал перебор элементов, значит оптимальным решением будет использование словарей.
119 Кб, 1369x673
#241 #280574
Импортировал obj-модель, теперь не могу нанести на него текстуру. Модель просто принимает оттенок тектстуры, но не саму текстуру. Пикрелейтед, слева обычный созданный куб, рядом модель, на низ одна и та же текстура и её параметры.
>>280595
#242 #280595
>>280574
Как на счёт UV, мозерфуцкер?
>>280597
20 Кб, 282x440
#243 #280597
>>280595
Выбираю UV1, UV0 безрезультатно. Или ты про что-то другое?
>>280604>>280607
227 Кб, 343x392
16 Кб, 240x240
#244 #280601
>>280493

>Юзай dictionary


>словарь


Благодарю за ответы и код.
sage #245 #280604
>>280597

>пижженая юнити

>>280607
127 Кб, 300x300
#246 #280605
>>280505
Ты охуел? Чем тебе это не велосипедное решение? Создать блядь 4 вертекса с определенным интервалом, ты даже на это не способен? Пошел нахуй из моего треда.
>>280653
#247 #280607
>>280597
UV2 нужен вообще-то, но как сказал >>280604
-господин выше, в твоей кастрированной пираской версии не завезли. Либо качай нормальную, либо зашивайся.
#248 #280611
>>280445

>но а может есть способ получше? А то возникает чувство что переборы это уже обсёр.



Пиздец. Переборы подобного типа - полная хуйня для процессоров. Да и пул нужно юзать. Вот это уже важнее.
33 Кб, 399x600
#249 #280640
>>280445

>10 кораблей


>НУ МАМ Я КРУТОЙ ПРАГРАМИСТ ПИРИБОР ЭТА ДОЛГА


>между тем в апдейте у программиста getcomponent придает импульс физическому телу, а sendmessageupwards - обновляет параметры в скриптах на объекте

>>280649
#251 #280649
>>280640
Что плохого в передаче импульса через GetComponent?
>>280654>>280674
#252 #280653
>>280605

> велосипедное решение


Долбоеб, где решение то? То что ты высрал в 1 предложение, у меня было первой мыслью, но не стал закапываться, потому что неебу как сглаживать, как считать сочленения на поворотах и прочую хуету. Ты либо предлагай решение, либо иди нахуй.
#253 #280654
>>280649

> в апдейте

>>280655>>280668
#254 #280655
>>280654
Ааа.
Ну, это лучше вешать на вызов, конечно.
У меня почти вся логика на GetComponent, вот и удивился такой реакции.
#255 #280657
Кто-нибудь из вас пробовал выжать мега-графон из юнити хотя бы в пределах одной комнаты? Может есть такие энтузиасты в интернетах?
>>280659
#256 #280659
>>280657
Эм, это какбэ один из самых графически навороченных движков.
Странный вопрос ты задал, конечно. Юнитимужики каждый новый серьезный апдейт выкатывают.
Но здесь нет большой красной кнопки "сделать заебись", если хочешь увидеть действительно хороший графон на юнити пиздуй на поликаунт.
Местные васяны не умеют ничего кроме таскания кубов.
#257 #280668
>>280654
Не знал что это затратно. Где можно почитать об этом?
>>280673
#258 #280673
>>280668
Об этом? Нигде.
Просто представь, что ты каждый фрейм доебываешь несчастный компонент тычками Вт бочок, вместо того чтобы сделать это всего один раз.
Ибо одного раза достаточно. В апдейте нормально вешать инпут, да и только.
Все остальное там держать, по большей части, моветон.
С системой событий знаком? Вот что-то вроде этого.
Это как с клавиатурой, кстати. ОС может с ней работать в двух режимах, в первом она опрашивает все клавиши один раз в сколько то миллисекунд на предмет того нажата она или нет, а во втором сама клавиатура отправляет сообщение о том что её нажали непосредственно самой системе.

Повсеместно используется второй режим.
>>280713
#259 #280674
>>280649
Кешируй компоненты.

При инициализации объекта (в эвейке, страте, либо в специальном публичном методе, который вызывается фабрикой при инстанциации) делай один раз геткомпонент, и схороняй в приватную переменную (это будет ссылка на объект класса, то есть на конкретный компонент, на конкретном геймобжекте), а потом обращайся к ней.
Гет компонент, по сути, это перебор всех компонентов, висящих на геймобжекте. Вызов huypizda.transform, работает тоже через геткомпонент, потому трансформы тоже кешируй.

>Не знал что это затратно. Где можно почитать об этом?


https://docs.unity3d.com/ru/current/Manual/MobileOptimizationPracticalScriptingOptimizations.html

>Кэшируйте ссылки вместо осуществления повторного поиска

>>280676>>280713
#260 #280676
>>280674
И так кеширую.
Я другой анон, мой вопрос был в том чем плох такой способ коммуникации и какая есть альтернатива ожидаю поток шизи от фаната симпатичных переменных
>>280677
#261 #280677
>>280676
Шизы
Статичных
самофикс
#262 #280713
>>280550

>Переопределение метода GetHashCode


>Дурной тон


И тут мне стало грустно и стыдно за юнити тред
>>280445

>10 элементов


>переборы это уже обсёр.


Разница хотя бы в миллисекунду появится когда у тебя будет их как минимум несколько десятков тысяч. И то эта разница будет из за сдвига элементов массива. Если на место удаляемого элемента просто переместить последний, то и тут до сотен тысяч спокойно можно работать. Завязывайте этот ярый дроч за такты процессора. Ни к чему хорошему это не приводит.
>>280673
А клавиатура как узнает что клавиша нажата, чтобы потом отправить эту информацию в комп? Не неси чепухи. От опроса клавиш каждые N мс. никуда не спрятаться.
>>280674
Опять дроч на такты процессора даже без отдаленного понимания как это все работает.

>Гет компонент, по сути, это перебор всех компонентов, висящих на геймобжекте.


Нихера там все не перебирается. Там Dictionary, из которого доступ к компонентам получается почти за константное время.

>Вызов huypizda.transform, работает тоже через геткомпонент, потому трансформы тоже кешируй.


Опять обосрамс. Юнити кэширует трансформ сам и делать это повторно нахуй не нужно.
Оптимизировать игру оставив минимум GetComponent конечно можно, но это будет 0.01% от остального говна, который вы наворотите и который уже НУЖНО оптимизировать, а не МОЖНО, как с GetComponent

Хуже статикодибилов только байтоебы
>>280723
#263 #280723
>>280713

>Опять обосрамс. Юнити кэширует трансформ сам и делать это повторно нахуй не нужно.



Маня, ты бы хоть прочитал статью, на которую я сослался.

>Это может работать медленно, если среди них достаточно много бегущих одновременно. Небольшой известный факт: все поля для доступа к компонентам в MonoBehaviour, такие как transform, renderer, и audio, эквивалентны соответствующим вызовам GetComponent(Transform), и потому они работают немного медленно. Метод GameObject.FindWithTag был оптимизирован, но в некоторых случаях, например, во вложенных циклах, или в скриптах, которые запущены на большом количестве экземпляров, оно тоже может работать немного медленно.



https://docs.unity3d.com/ru/current/Manual/MobileOptimizationPracticalScriptingOptimizations.html

Когда вы уже начнете читать документацию, вместо того, чтобы фантазировать?
>>280791
#264 #280728
Хочу перекатиться в это ваше унети с либгдх. Да не просто перекатиться, а на твг пилить на унетях игру. Много ли там всего надо знать чтобы хоть что-то запилить?
>>280730>>280739
#265 #280730
>>280728
Ну если ты осилил жабу с неудобный фреймворк, то уж юнити тебе покажется просто песочницей.
#266 #280739
>>280728
Вон, создатель That Level Again спокойно перекатился и запилил третью часть уже на Юнити.
#267 #280756
Если я накидаю в сцену объектов, и выключу их - это скажется на чем-нибудь? Объектов не больше сотни, на них скрипты и списки со всяким инвентарем.

Мне нужно хранить всех юнитов для менджмента их инвентарей, они есть префабами, что дальше - пока делаю велосипеды.
Подскажите аноны!
#268 #280759
>>280756

>всех юнитов для менджмента их инвентар


Не очень понятно, что тебе нужно, опиши точнее.
#269 #280762
>>280756
Ну давай разберем по частям тобою написанное

>Если я накидаю в сцену объектов, и выключу их - это скажется на чем-нибудь? Объектов не больше сотни, на них скрипты и списки со всяким инвентарем.


Нет, не скажется

>Мне нужно хранить всех юнитов для менджмента их инвентарей


Используй базы данных или еще что. Такой подход полное говно.
#270 #280791
>>280723

> Когда вы уже начнете читать документацию


> ru


Действительно, тебе бы пора начать ее читать.

http://blogs.unity3d.com/ru/2014/06/23/unity5-api-changes-automatic-script-updating/
Последний аобзац

> in Unity5 we also cache the transform component on the c# side, so there should no longer be a performance reason to cache the transform component yourself


Оптимизатор хуев.
>>280800
#271 #280800
>>280791
Просто тут половина мамкиных программиздов не может в другие языки. Слишком сложно.
#272 #280830
>>280756

> это скажется на чем-нибудь?


Потенциально это положительно скажется на производительности. Выключенные объекты, имеющие меш, не участвуют в сортировке сцены. И на них не выполняются скрипты, кроме явных вызовов из других скриптов. То есть выключать ненужное - хорошо и правильно.
#273 #280899
Ну что, поковырял я ваше юнити - ну 10\10 же(только си шарп я не знаю, только кресты и жабу, но это не важно как я понял), почему я раньше не знал какая это годнота?

Какие в нем подводные камни, если я собираюсь пилить 2д(пока что) игры под десктоп и андроид?
>>280908>>280912
#275 #280910
>>280919
#276 #280912
>>280899

>Какие в нем подводные камни


Никаких. Недостатки конечно есть, но они есть у всех и на данный момент это лучший движок на рынке.
Шарп от жабы кстати мало чем отличается. Я тоже с джавы перекатился, поставил себе IDE от JetBrains и часто забываю, что пишу на шарпе, а не жабе.
>>280920
#277 #280919
>>280910
Многое и сейчас актуально. Есть что-то лучше?
#278 #280920
>>280912

> IDE от JetBrains


Это который ReSharper? Там есть возможность дебага проекта юнити? И как ты его поставил, а то я пердолился и не смог настроить его на работу с юнити?
>>280921
#279 #280921
>>280920
Не, который с ReSharper пока не адаптировали для работы с Unity. Пока пользуюсь Consulo. Дебаг там есть. Багов тоже конечно хватает, но это в десятки раз лучше чем мерзская студия и в тысячу раз лучше убогого монодевелопа.
>>280924
#280 #280924
>>280921
Кривое джаваговно лучше студии? Ничего не путаешь, болезный?
>>280928>>280929
231 Кб, 1024x1024
#281 #280928
>>280924

>Кривое джаваговно лучше bloatware говностудии


Посмеялся над убогими.
Вам дали идеальную IDE: быстрая, красивая, компактная, занимает мало памяти, есть ВСЕ. Нет, хотим есть кал.
#282 #280929
>>280924
Ничего не путаю. Это очень сложно донести. Примерно как пытаться слепому с рождения описать что такое цвет. Нужно просто поработать с идеей какое-то время и все станет ясно.
Ну и да, если ты еще не вырос из возраста "все джава приложения - гавно!", то нам с тобой не о чем говорить конечно же.
Алсо, без ребят, которые сотворили это "джавагавно" студией вообще пользоваться невозможно и она становится не сильно лучше того же монодевелопа.
#283 #280931
>>280929

>Нужно просто поработать с идеей какое-то время и все станет ясно.


Я уже "поработал" с ее форком - android studio. До сих кошмары мучают.
>>280932
#284 #280932
>>280931
"поработал" - это открыл, не смог настроить проект и закрыл?
#285 #280940
Жесть, как вообще чем-то можно пользоваться, кроме студии с решарпером. Пересел бы на ридер, но он пока глючит.
Монодевлоп это же вообще пиздец какой-то.
>>280943
#286 #280942
>>280908

>4. Consider saving levels in XML


Сразу нахуй и в пизду.

>>280929

>не сильно лучше того же монодевелопа


Даже червь-пидор лучше монодевелопа.
>>280945>>281015
#287 #280943
>>280940

>решарпером


Что в нём такого крутого? Как-то прогаю до сих пор на чистой студии.
>>280969
#288 #280945
>>280942

>Даже червь-пидор лучше монодевелопа.


Обоснуй
#289 #280948
>>280929

>без ребят, которые сотворили это "джавагавно" студией вообще пользоваться невозможно и она становится не сильно лучше того же монодевелопа


Вообще-то все функции reshaper'а есть в monodevelop из коробки.
#290 #280965
Я не понял - в 2д можно использовать тени? Еще желательно чтобы на телефонах работало. Ну или не тени, а чтобы просто свет за стены не выходил(хоть это и есть тени лол).
#291 #280969
>>280943
Накатывал этот ваш решарпер, все так цветастенько становится, всякие пояснялки тут и там)))))))))))
Вобщем удалил эту блевотину, так как кроме автокомплита лично мне ничего не нужно.
>>280973
#292 #280973
>>280969
Именно автокомплит и тащит в решарпере. Без него можно с таким же успехом и в блокноте писать.
>>280974
#293 #280974
>>280973
Ставить тормозное платное говно только ради того чтоб в автокомплите нужная переменная была в списке на пару позиций выше? Может сразу в уе на блюпринтах писать?
>>280983
#294 #280983
>>280974
Эх... Как же мне жаль таких упоротых. И ведь при всем желании не получится им объяснить, что они жрут говно и просят добавки. Впрочем с возрастом наверное придет понимание.
>>280991
#295 #280991
>>280983

>Когда думал что жрут говно другие


>А на самом деле сам жрал говно

>>281169
#296 #280998
Поцаны, а как лучше делать проверку на клик? Рейкастом или void OnMouseUp() для 2d?
А еще как без велосипедов с состояниями, сделать проверку, что объект находится под UI, и не кликать на нем*
>>281003>>281014
#297 #281003
>>280998
Анус себе проверь
#298 #281014
>>280998
>>280998

>Поцаны, а как лучше делать проверку на клик? Рейкастом или void OnMouseUp() для 2d?



Создаешь класс ClickableBase, который наследуется от MonoBehaviour и имплементриует интерфейс IPointerDownHandler, и реализует метод OnPointerDown, как абстрактный, или виртуальный.

Описываешь наследников этого класса для каждого типа геймобжектов, которые должны реагировать на клик. У каждого из наследуемых классов переопределяешь метод OnPointerDown (вызываешь в нем нужный код).

На каждый геймобджект вешаешь соответствующий компонент.

Все.

https://docs.unity3d.com/ScriptReference/EventSystems.IPointerDownHandler.html

https://docs.unity3d.com/ScriptReference/EventSystems.IPointerDownHandler.OnPointerDown.html

>А еще как без велосипедов с состояниями, сделать проверку, что объект находится под UI, и не кликать на нем*



На элемент юая, который должен перекрывать, навешивыаешь компонент Canvas Group. Ставишь галочку Block Raycasts.

Все.

https://docs.unity3d.com/ru/current/Manual/class-CanvasGroup.html
>>281319
#299 #281015
>>280942
А что еще предлагаешь для сохранения?
>>281039
#300 #281020
Посоветуйте, какой программой можно автоматически уменьшить количество полигонов у меши?
>>281022
#301 #281021
Пацаны, я тут код рефаетарнул и грузится все стало в пятьдесят раз быстрее. Это из-за того что я отказался напроч от List<>, а следовательно и от библиотеки дженериков, или из-за того что почти все переменные сериализовал?

Проверять буду завтра, но мнение анона интересно.
#302 #281022
>>281020
Есть одна такая, но названия не помню. Но оно для автолодирования. Мог бы у знакомых название узнать, но ты её хуй добудешь, она стоит как твоя конура и продается только если ты крутая компания.

Чаще всего это делается руками в максе/майке.
Алсо, тебе же это для лодов?
Если нет то ты ебанутый.
>>281024
#303 #281024
>>281022

>Мог бы у знакомых название узнать, но ты её хуй добудешь, она стоит как твоя конура и продается только если ты крутая компания.


Ну такая мне точно не подойдет.

>Чаще всего это делается руками в максе/майке.


Неумею.

>Алсо, тебе же это для лодов?


Да.

>Это из-за того что я отказался напроч от List<>


Я не знаю как в шарпе, но вообще списки лучше не использовать. Будут частые cache-missing. Хотя, скорее всего, в шарпе точно есть хэш таблица, в которой все кэшируется (Но при итерировании это особо не помогает)..
>>281025>>281028
#304 #281025
#305 #281028
>>281024
Не думаю, что это могло так радикально повлиять на скорость загрузки сцены.
Но вдруг юнька как-то чрезжопно с дженериками работает, и именно загрузка стандартной библиотеки даёт такую задержку?
>>281030
#306 #281029
>>281021
Твою мать, я пропустил два мягких знака.
#307 #281030
>>281028
Ну а что тебе профайлер писал? Или ты наугад оптимизировал?
>>281032
23 Кб, 568x371
#308 #281032
>>281030
Да простой будничный рефакторинг, причина которого была не производительность, а тот факт, что архитектура от тотального насилования во все щели новым функционалом начала сыпаться.
Я оптимизировать планировал в самом конце, а тут такой неожиданный подарок судьбы, о котором я даже не просил.

Да и, опять же, загрузка сцены а не рантайм. Профайлер это не отслеживает.
#309 #281038
>>281042
#310 #281039
>>281015
Сериализация - просто, быстро, надежно и без пердолинга.
>>281162>>281163
#312 #281044
>>281021

> мнение анона интересно


Похвально, ты молодец.
>>281077
#313 #281045
Поцоны, короче такая хуйня. Частицы, которые выпускает персонаж, при попадании по цели должны добавлять + в счёт. Проблема в том, что когда частица попадает в цель - счёт обнуляется, так как это клон обьекта частицы и скрипт на ней. Как это пофиксить?
https://ideone.com/u7lN4B
#314 #281065
Можно как-то обращаться к переменным из других скриптов?
>>281071>>281075
#315 #281071
>>281065
Можно. Через GetComponent переменная должна быть public ну или иметь правило, если не хочешь видеть эту переменную в инспекторе пиши над ней [HideInInspector], ну или тупо сделать переменную public static и обращаться к объекту напрямую, но учти что статик переменная с одним именем может быть только одна на сцене.
Кстати никто не в курсе как сделать чтобы public static переменная отображалась в инспекторе без велосипедов?
>>281075
#316 #281075
>>281065
>>281071
А зачем обращаться? Можете привести пример такой ситуации когда это нужно?
>>281076
#317 #281076
>>281075
Да элементарно - например стрельба из оружия и нанесение урона.
>>281079>>281100
16 Кб, 510x340
#318 #281077
#319 #281079
>>281076
Таки лучше это делать через вызов методов, которые эти самые переменные и меняют.
Менять переменные одного скрипта напрямую из другого скрипта не очень правильно.
#320 #281082
>>281079
Ты имеешь в виду SendMessage или что?
>>281085>>281089
#321 #281083
>>281079
Какая разница? Выдумывают хуйню какую-то лишь бы игры не делать.
#322 #281085
>>281082
Нет, это говно вообще не используй.
Короче, пишешь например скрипт на нпц, который отвечает за его жизнь. В нем создаешь приватную переменную hp_ и публичный метод SendDamage(int hp). В этом методе вычитаешь из приватной переменной hp_ количество урона, которое этот метод принял в качестве аргумента.
Всиуо.
В качестве бонуса ты можешь в этом же методе ввести зависимость от класса брони, вести лог, записывая кто и сколько раз этот метод вызвал и все такое. Очень хорошо помогает не выстрелить себе в ногу и вообще это хороший тон.
>>281087>>281095
#323 #281087
>>281085
Отослал твоей мамке Damage
#324 #281089
>>281079
>>281082
У меня есть 2 скрипта, один с каунтером считает количество колизий, когда обьект получает 100 колизий он умирает. И есть еще клоны этого обьекта. Так вот, как мне вызвать все каунтеры из этих обьектов и записать их в один общий счет?
>>281090>>281095
#325 #281090
>>281089
Есть куча способов это сделать, но я сперва задам вопрос - какую проблему ты пытаешься решить?
>>281094
#326 #281092
Ну а вообще первое что приходит в голову, это добавить к твоему скрипту публичную переменную GameObject, и каждый удар коллизии вызывать в этом геймобжекте компонент счетчик, увеличивая его на единицу.

Счетчик ты должен, конечно же, написать сам.
#327 #281094
>>281090
Я пытаюсь получить во втором скрипте переменную из первого скрипта: https://ideone.com/iEElcE
Выбивает
NullReferenceException: Object reference not set to an instance of an object
TotalScore.Update () (at Assets/Scripts/TotalScore.cs:8)
>>281111
#328 #281095
>>281085
Ну можно и так. Хотя я лично не вижу особой разницы.
>>281089
Я бы лично не тупо создал скрипт, повесил бы его на главную камеру или на еще какой-нибудь объект который будет всего 1 и не будет уничтожаться во время игры создал бы в скрипте перемеренную public static int TotalDamage;
И каждый раз при коллижене обращался бы к нему. Например Camera.main.TotalDamage += 1;
>>281096
75 Кб, 685x465
#329 #281096
>>281095
Плохим манерам учишь же, бака.
Но, впрочем, если это будет использоваться только для выведения какой-то игровой статистики, то похуй.
>>281097
#330 #281097
>>281096
Ну так напиши как бы сделал ты.
>>281099
#331 #281099
>>281097
Не с телефона же.
Да и писать то нечего, по сути, задача же простая что пиздец. Я больше про использование статиков. В реальности есть очень мало ситуаций, где из использование было бы оправдано.
#332 #281100
>>281076
А, типа когда пуля столкнулась с врагом мы берем какой-то компонент который у нас за хп отвечает и с ним работаем?
я просто первый день еще вкатываюсь
>>281101>>281102
#333 #281101
>>281100
Да! Совершенно верно!
И ты можешь это сделать двумя путями. Либо напрямую изменить переменную, либо через метод в этом компоненте.
#334 #281102
>>281100
Ах да, берет этот компонент сама пуля.
Да и слово "берет" неправильно отражает действительность. Она его сначала ищет, и если находит то обращается к нему, передавая какое-либо сообщение. Это называется вызов метода. Вместе с сообщением ты можешь переслать какие-либо данные.
>>281105
#335 #281103
Так как тут у вас с глобальными переменными всякими?
Раз на какую-нибудь камеру скрипт для подсчета чего-то вешать не стоит, то как?
>>281106
#336 #281105
>>281102
Ну с погромированием я знаком, но вот с устройством юнити не очень.
>>281109
#337 #281106
>>281103
Вешать то можно, только статичной её не делай.
Статичная переменная доступна из любого скрипта, она может быть только в единственном экземпляре.
Это реально очень специфичный инструмент. Если ты сделаешь десять клонов, и у каждого будет глобальная переменная хп, то если одному из них прострелят яйца - без яиц останутся все.
>>281108
#338 #281108
>>281106
А я могу запилить скрипт-компонент, сделать в нем статичную переменную, но при этом не добавлять этот компонент ни к одному объекту - переменная же инициализируется все равно и я смогу к ней доступ из других скриптов получить?
>>281110
#339 #281109
>>281105
А, тогда сорян, все это ты и так знаешь.
Ну, у нас не ООП, а компонентно ориентированный подход. Так и гугли. Что-то вроде развития идеи ооп.
По сути, чтобы компоненты обращались между собой, тебе нужно как-то для них добывать ссылки. Делать это можно через физику, например при соприкосновении двух коллайдеров они оба могут получить ссылки друг на друга. Либо можно кастануть луч вперед себя и получить ссылку на тот коллайдер, с которым он столкнется. А уже через ссылку на коллайдер можно получить ссылку на любой другой компонент, который есть в этом же объекте.
#340 #281110
>>281108
Да, можешь.
Это тебе позволит, в частности, почувствовать себя бунтарем и послать КОП нахуй.
#341 #281111
>>281094
http://pastebin.com/B2hBnGgr
http://pastebin.com/BV8mxnGq

Только юзинги лишние потри. Я писал в одном файле, не все юзинги нужны в обоих.

И да, TotalScoreView - синглтон. Не навешивай на сцену больше одного экземпляра. Да и вообще, лучше синглтоны лишний раз не использовать. Но мне впадлу пояснять тебе, как там связи пробросить, и я не ебу, какие скрипты и на чем висят. Просто замени свой Score на объектах на ScoreView, а тоталскор на TotalScoreView. Нихуя назначать не нужно. Должно и так робить.
#342 #281116
Анон, как, по твоему мнению, можно реализовать систему "поля зрения"?
Я уже видел (насколько я понял это самая удобная реализация) как люди делают в три этапа - круг зрения, потом введение угла, потом проверка на наличие препятствий с помощью рейкастов.
Меня интересует третий этап. Если у меня много объектов в поле зрения, то эти рейкасты не сильно понизят фпс?
У меня в планах сделать поиск пути (хотя бы по алгоритму А*, для начала) на свой манер - связать это с полем зрения.
Ясное дело, что из-за этого придётся кастовать кучу лучей. Ты бы одобрил такой подход, анон? Если нет - то как пойти другим путём?
>>281122>>281271
#343 #281122
>>281116

>У меня в планах сделать поиск пути (хотя бы по алгоритму А*, для начала) на свой манер - связать это с полем зрения.


Чтобы путь прокладывался только в поле зрения? Или как? Я не понял.
>>281148
33 Кб, 490x398
#344 #281124
Есть например так:
public GameObject obj1;
public GameObject obj2;

в обоих ссылка на один префаб, GetInstanceID() возвращает, естественно, одинаковый ID. Как мне получить 2 уникальных ID (никак)?
>>281125
#345 #281125
>>281124
Верно, никак.
У тебя какая-то хуйня с логикой головного мозга.
>>281126>>281127
17 Кб, 300x323
#346 #281126
>>281125
И что-же делать? Где мне взять хешкод? Почему юнитидауны не предвидели такой случай
#347 #281127
>>281125
Вообще-то я напиздел. Это не префаб, а ScriptableObject ассет в котором предмет инвентария, например. То есть я как-бы добавляю в массив две ссылки на один объект, но это как-бы два уникальных предмета. Понимаешь?
>>281128>>281129
#348 #281128
>>281127
Короче придется делать holder-класс в котором хранить ссылку уже на ассет
#349 #281129
>>281127
Сделай два экземпляра одного класса, нахуй это безумие городить? Ты что, ебанутый?
>>281130
#350 #281130
>>281129
Там тогда начнется идиотия клон-не клон. Тем более не существует нормальных способов определить является объектом инстансом или ссылкой на префаб
>>281138
#351 #281132
1) сделай два префаба
2) сделай в Awake() создание инстансов из одного префаба
3) добавь на сцену два экземпляра этого префаба и помести их в свои поля
Нахуя тебе вообще ID префабов?
>>281196
#352 #281138
>>281130
public bool isPrefab = true;

void Awake(){
isPrefab = false;
}
#353 #281148
#354 #281162
>>281039
Что вообще есть сериализация - зачем, что дает мимо ньюф
#355 #281163
>>281039
Есть вещи в юнити, которые не сериализуются. Корутины, например. Нельзя расписываться за все случаи сразу.
sage #356 #281166
Как использовать деструкторы с юнити апи, если учесть что деструкторы юзают собственные треды?
>>281168
#357 #281168
>>281166
Нахуя тебе деструкторы?
>>281171
90 Кб, 500x700
#358 #281169
#359 #281171
>>281168
Я в книжке про них читал!
#360 #281196
>>281132

>Нахуя тебе вообще ID префабов?


А как-ты будешь синхронизировать данные и вид? Например, у меня массив с предметами и массив виджетов с инфой об этих предметах. Я удаляю предмет из середины списка данных, и как ты поймешь как надо обновлять виджеты?

Можно конечно при обновлении вида тупо удалить все виджеты и создать заново
>>281198>>281233
#361 #281198
>>281196
Надо еще понимать что у разных предметов могут показываться разными виджетами
#362 #281233
>>281196
Нахуя тебе два отдельных массива?
>>281241
#363 #281241
>>281233
Затем, что в одном ассеты, а другом геймобъекты из canvas на которых Text, Image и т.д. настраевые таким образом, чтобы показывать инфу об ассетах
50 Кб, 500x672
#364 #281271
>>281116
Кстати похожий вопрос только с "зоной покрытия" ну или круговым полем зрения - есть обжект, который "излучает" и есть объекты вокруг него - условно просто-кубы и кубы-препятствия. Я поле зрения делаю круговое с помощью сферкаста, а дальше как? Он покрывает все просто-кубы в поле каста, но требуется, что если между излучателем и просто-кубом есть препятствие, то соответственно он не покрывается попадание в зону символизируется сменой текстуры. Делать это простым рейкастом? В зоне покрытия может быть до сотни просто-кубов, не дохуя ли долго это будет делаться?
#365 #281298
Анончик, подскажи, как бороться с застреванием в текстурах? Вот например есть у меня персонаж который прыгает на платформу, если я не запрыгнул на платформу, а уперся в нее животом и зажал клавишу прыжка персонаж висит на этой платформе.
>>281304>>281305
#366 #281304
>>281298
Заменить коллайдер с острыми углами на круглый. Вроде так и делают.
#367 #281305
>>281298
Не делать платформер на физическом движке, очевидно же. Как тебе вообще в голову пришла такая ебанутая идея?
>>281306
#368 #281306
>>281305
Хуйлуша, на юнити овердохуя платформеров. Как-то же в них сделали чтоб нихуя не застревало.
>>281307
#369 #281307
>>281306
Гугли platformer asset skachat bez registracii i sms
>>281311
#370 #281311
>>281307
Да я уже решил хуёво решил проблему добавлением нулевого трения колайдеру персонажа. На первых порах прокатит.
#371 #281319
>>281014

>OnPointerDown


Попробовал, почему-то первое вообще никак не реагирует, хотя вроде попробовал все.
Второе почему-то тоже не дает результатов.
>>281325
#372 #281325
>>281319
Повесь на камеру компонент PhysicsRaycast.
#373 #281363
Хочу программировать говно по типу покемонов. Что учить кроме школьной программы? Какие там инструменты для позиционирования в пространстве и дополненной реальности?
>>281364
#374 #281364
>>281363
Ты соснешь.
>>281365
#375 #281365
>>281364
Каким образом? Просто приведи реальные факторы возможных проблем. Ведь я для этого и спрашиваю совета. Понятно, что одному не потянуть. Нужна команда и всё такое. Так я хочу выбрать сферу деятельности.
>>281366>>281367
#376 #281366
>>281365
Ты же не сделаешь покемонов.
>>281368
#377 #281367
>>281365
У тебя нет денег ни на разработку, ни на сервера. Ты и близко к покемонам по качеству не приблизишься, и людей ты тоже не найдешь, а тех что найдешь потеряешь через три недели потому что им надоест и мамка гонит в вуз.
#378 #281368
>>281366
я хочу сделать гигантские грибы. Будет называться ГИГАНТЫ МУШРУМС. Боровики там, всякие лисички. И они будут расти. Ты такой тихий охотник. Ещё будут ядовитые и съедобные грибы. И слизни. И лесник.
>>281369
#379 #281369
>>281368
Всем будет похуй на твои грибы.
>>281370
#380 #281370
>>281369
Главное зафорсить. Щас такое геолокационное игроговно массовое полезет.
#381 #281374
Как сделать так, чтобы объект-наследник двигался/вращался вместе с объектом-родителем, но с задержкой? То есть, если бы они не нужны мне были в такой иерархии, то я бы сделал следование с lerp, но как сделать это с родитель-наследник?
#382 #281375
>>281374
Никак.
>>281376
#383 #281376
>>281375
Не расстраивай меня...
>>281377
#384 #281377
>>281376
Решай проблему иначе.
>>281379
#385 #281379
>>281377
Ну ладно, мне нет смысла тебе не верить, в гугле я тоже ничего не нашел.
>>281384
#386 #281384
>>281379
Это базовой принцип движка, ты его без исходников не поменяешь.
Кроме того, я уверен, что твоя проблема великолепно решается и без этого.
#387 #281387
>>281374
Запоминаешь позицию родителя. Создаёшь ссылку на каждый дочерний объект в родителе. Сравниваешь позицию родителя с той, что запомнил. Если двигается - вычитаешь от позиции дочерних объектов дельту.
250 Кб, 1468x974
#388 #281399
Блджад анон, у меня проблемы с импортом объектов. Началось всё с того что все изображения которые я добавляю в папку ассетов определяются как 2дспрайты, хотя всегда раньше сразу определялись как текстура.
Но хуй с ними, просто теперь походу и модельки FBX поломались - любая фигура из блендера добавляются с поехавшими UV или хуй знает чем, суть в том что на любую фигуру созданную в блендере и перенесенный в юнити невозможно нанести текстуру, она тупо принимает только её цвет\оттенок. Пикрелейтед, куб слева создан в юнити, куб справа в блендере, на них одна и та же текстура.
Очевидно что тут такая же проблема со сбитыми настройками импорта, помоги настроить их так чтобы их можно было нормально текстурировать. Настройки стоят пикрелейтед (пробовал только галочку swap UV щелкать - не помогает). Я уверен на 100% что у меня тупо какая-то хуйня с настройками программы или освещения, ведь началось все недавно.

Я уже спрашивал но меня послали с UV2, я не смог разобраться что это за хуйня и почему она у меня не выбирается, говорили пиратка, но проблема не в ней, ведь месяц назад все работало. Умоляю аноны, я уже все кресло прожег, два дня сижу мучаюсь.
Также пробовал ставить самую последнюю юнити с рутрекера, 5.3.5р8, всё тоже самое, видимо неверные настройки подхватились со старых версий
>>281418>>281421
#389 #281418
>>281399
Edit -> Project Settings -> Editor -> Default Behavior Mode, Mode: 3D
#390 #281421
>>281399

> с рутрекера, 5.3.5р8


Последняя версия, кстати, 5.3.5f1. Скачивай с официального сайта.

>>281374
Сделай оба объекта дочками другого объекта и двигай/поворачивай по нужным тебе законам. Когда надо будет сдвинуть всю конструкцию, сдвигай родителя. Когда нужно "рассинхронное" поведение, двигай каждый дочерний объект по отдельности.
#391 #281430
>>281374
Физика. Джоинты.
#392 #281508
Анонусы, а как определить с какой стороны куба находится объект?
>>281519
#393 #281515
Парни, тупой вопрос.
Игрок во время игры инстанциирует объект с кучей настроек, которые вытирает сам. У этого объекта много дочерних объектов и вообще он очень сильно набит всякой разной логикой.

Как мне его сохранить во время игры?
Как я понял, создавать во время игры префабы невозможно. Неужели придется для каждого ебаного объекта создавать XML и туда пихать о нем данные, а потом при загрузке по этим данным его восстанавливать?
#394 #281516
>>281515
Выбирает
самофикс
#395 #281519
>>281508
чтобля?
>>281523
#396 #281522
>>281515
А что тебя смущает?

сериализация во все поля
>>281540
#397 #281523
>>281519
Ну есть объект. И нужно понять он слево от куба, справо, перед, за, сверху или снизу.
>>281524>>281576
#398 #281524
>>281523
Где у куба верх или низ?
А вообще почитай про векторное произведение, гарантирую понравится.
#399 #281540
>>281522
Хотелось бы просто и в одну кнопку >.>
>>281566
#400 #281566
>>281540
Зоделай 6 огромных коллайдеров, назови их ап, даун, лефт, райт, форвард, бэквард, и проверяй на пересечение с ними.
лул
>>281575>>281576
#401 #281575
>>281566
Охуенный способ сериализации. Спасибо.
>>281576>>281620
#402 #281576
>>281575

>Пожалуйста!



Блеать, не тому ответил.
>>281566
это >>281523
#403 #281620
>>281575
Я написал для себя простой скрипт, который сохраняет отмечанные атрибутом поля в MonoBehaviour. Могу его тебе продать. В таком поле можно например сохранить состояние объекта, а потом восстановить его.
>>281650>>281651
#404 #281650
>>281620
У меня огромная иерархия внутри объекта, каким то образом всю её целиком надо будет сохранять.
#405 #281651
>>281620
Алсо, заплачу тебе картинкой с лолей если дашь глянуть скрипт.
>>281854
#406 #281669
Если я напиздил кучу спрайтов, с древних и совсем неизвестных игор, гугл плей забанит мое говно? Или и так сойдет?
#407 #281670
Как в 2д юнити сделать динамический свет?
Как сделать сцену где будет ночь а источником света будут факела?
152 Кб, 978x398
17 Кб, 256x256
#408 #281700
То чувство, когда рендер от 1М до 2М трисов занимает всего 3 ДК.
>>281702>>281703
#409 #281702
>>281700

>1М трисов


Только не говори что у тебя там кубы.
>>281704
#410 #281703
>>281700

>742 драв колла


СУКА СЪЕБИ НАХУЙ МРАЗЬ КУБАМИ ОН ЗАМОСТИЛ СЦЕНУ УЕБОК БЛЯДЬ ДА У НАС ЗА ТАКОЕ ПИЗДЯТ НОГАМИ НАХУЙ
>>281704
#411 #281704
>>281702
>>281703
Размер этой хуйни 512х512х64 куба. То есть одних кубов 16М. В каждом кубе 6 граней, в грани 2 триса. Итого 201 трис.
>>281705>>281708
#412 #281705
>>281704

>Итого 201М трис.

#413 #281708
>>281704
На скрине виден размер куба, и их там не может быть 512 по стороне. Это не важно. Суть в том что кубами чанки пилят только слабоумные дегенераты и школьники. Там же у него каждый куб это GameObject, блядь! Надо генерировать меш, причем не просто ебучие кубы а только те плоскости которые видно.
149 Кб, 1068x436
#414 #281710
Снял верхнюю грань для особо ебанутых, которые думают, что там вообще существуют кубы. Размер мира 6х6 чанков по 32х32 куба х 64 слоя по высоте. Более 2М кубов, 28М трисов. Должно было бы быть.
>>281711
#415 #281711
>>281710

>Размер мира 6х6


36 дк должно быть, но никак не 4755. Ты что то делаешь неправильно.
>>281715
7 Кб, 364x234
#416 #281715
>>281711
Ну, начнём с того, что батчи это не дк. Вообще, если сделать как надо, то должно получиться 21 или 22 дк - материал везде один, должно сбатчится по полигонажу, а 1.5М влезет в 22 дк. Ну если совсем задрочить, то можно полигонаж ещё в пару раз уменьшить, но лень. Но да, есть перформанс хит из-за того, что каждый слой существует, независимо от того, видим он или нет. Хуёво для производительности, но хорошо для меня. Это потому что я пилю не майнкампф.
Вообще я писал, как добиться моего результата и там же - как сделать гораздо меньше дк и поликов для классического кубача. Но не взлетело. Ссылка находится в треде по слову landfill
>>281720>>281724
#417 #281719
>>281515
Я конечно нуфаг в юнетях, но я бы сделал компонент для хранения настроек(скрипт), там бы публичные статичные переменные, и в твоем объекте от туда бы значения таскал.

Еще как вариант можно создать компонент с настройками, потом при создании объекта пихать этому самому объекту настройки.

если я не прав объясните почему так нельзя плез
>>281862
#418 #281720
>>281715

> дк


Поясните нюфагу что это такое?
>>281721>>281722
#419 #281721
>>281720
draw calls, колличество вызовов функции отрисовки
#420 #281722
>>281720
Вызов отрисовки. Если по-простому, то это команда от процессора видеокарте. Естественно, чем их меньше, тем больше фпс.
#421 #281724
>>281715

>Ну, начнём с того, что батчи это не дк


Да что ты говоришь. До 5 версии эти твои батчи были подписаны как дк, вот тут можешь глянуть:
http://docs.unity3d.com/462/Documentation/Manual/RenderingStatistics.html
Суть не изменилась. Переделывай свое говно.
>>281729>>281731
#422 #281729
>>281724

>вот тут можешь глянуть:


>Legacy


Нахуя читать старьё, когда есть актуальная информация?
Читай справку
https://docs.unity3d.com/Manual/RenderingStatistics.html
Дк это SetPass, а не батчи. Батчи немного другое.

>Переделывай


Нахуя? Мне нужна именно такая схема.
>>281732
#423 #281731
>>281724
Лол, нет) И 10 батчей и 1000 могут вызывать на себя 1 дк. Ты сути не понимаешь.
#424 #281732
>>281729
Где тогда дк посмотреть, а? а? Если ты запилишь на старой юнити это кубоговно и там покажет те же 4К, но не батчей а дравколлов, почему их стало 2, куда они испарились, а? Закинь на пустую сцену куб, посмотри как меняется батчес. Закинь к кубу сферу, плейн и посмотри как меняется значение. Что это если не дравколы?

Из актуальных доков

>“Batching” is where the engine attempts to combine the rendering of multiple objects into a chunk


Успешные попытки - saved, а твоя дрисня рендерится по-отдельности судя по стате.
#425 #281734
>>281732

>Где тогда дк посмотреть, а?


Белые люди тебе профайлер запилили, чтобы ты глупых вопросов не задавал.
>>281736
#426 #281736
>>281734

>Батчи немного другое кококо не скажу что


>профайлер кукареку


Все равно свои кубы не допилишь, слишком тупой для этого.
>>281739
#427 #281737
>>281732

>Что это если не дравколы?


>Static Batching: combine static (i.e. not moving) objects into big meshes, and render them in a faster way.

14 Кб, 1068x436
#428 #281738
>>281732

>Где тогда дк посмотреть, а?


В документации пишут, что дк это SetPass. Не вижу смысла им не верить. Я тебе давал ссылку, кстати.

>Закинь на пустую сцену куб


Смотри пик. По-твоему, дефолтный куб юнити рендерится за 8 дк? Ты совсем ебанутый?
>>281741>>281748
#429 #281739
>>281736
Лол, а я и не пилю кубы. Мимо читаю твою хуйню и проигрываю.
#430 #281740
Кубоеб, а зачем ты делаешь кубы, собственно? почему не тэтры?
>>281742
#431 #281741
>>281738

>дк это SetPass


Ты не прав. Это не одно и тоже. Сперва идет батчинг, потом вызов отрисовки, а уже потом рендер проходит через шейдер, это и есть SetPass Call. Вы похоже тут оба не особо понимаете о чем спорите.
>>281742
#432 #281742
>>281740
Кубы простые и понятные. Вообще, я бы понял, если б ты гексы предложил, но профит тетров от меня ускользает.

>>281741

>SetPassThe number of rendering passes.


Тоже будешь со справкой спорить?
#433 #281743
>>281742
Тэтры упаковываются в любой объем и состоят из 6 треугольников, этоя тебе как КЭМ-инженегр говорю.
Хотя кубы канешь проще по осям выстроить и пердолить в объемах.
>>281747
#434 #281744
>>281742
Буду с тобой, а не со справкой. Один дк и один проход рендера это не одно и то же. Дк может быть больше одного перед тем как рендер проходит через шейдер. Ты бы это знал, если бы штудировал не только справку, а еще и на практике все тестировал.
>>281747>>281759
24 Кб, 572x414
#435 #281747
>>281743
Видимо, я не до конца понимаю, что ты имеешь ввиду под тетрами. Если ты про пирамидальные треугольные фигуры половина от второй фигуры на пике, то здесь слишком много пердолинга для меня. Смещения по осям, проблемы с ровными поверхностями. У меня была цель сделать "слоёный пирог" с удобным выключением послойно, из-за чего получилось дохуя объектов и лишних треугольников, но на это похуй, ведь я не намерен рисовать более 10 слоёв одновременно.

>>281744
Спорь лучше с тем поехавшим, у которого дк это батчи. Раз на то пошло - дк DEPRECATED и больше в профайлере не отображается вообще. Но сетпасс это почти дк, лол. Ну и если учитывать тот смысл, который всегда вкладывали в дк - то это сетпасс и есть. Но это такое.
>>281751
16 Кб, 552x400
#436 #281748
>>281738
Почему у меня 2 недравколла а не 8? У тебя пидора еще дк на тени (каст и ресив это отдельные дк) расходуются, тебя дебила послушать так графон вообще бесплатно рисуется за 2 прохода.
>>281750>>281760
#437 #281750
>>281748
Сразу надо объяснить почему 8 чтоб пресечь кукареки.
1 - очистка экрана
2 - куб
3, 4, 5, 6 - по дефолту стоят каскадные тени в 4 уровня, рендеринг 4-х шадоумепов
7, 8 - проходы при рендере материала, сам материал и наложение тени.
>>281753
#438 #281751
>>281747
Во-первых, это не почти дк, а это "дополнительные" дк, а не общее количество отрисовки. А, во-вторых, с тем поехавшим нет смысла спорить, он невменяем.
>>281785
#439 #281753
>>281750
Итого, у тебя должно быть - очистка экрана, куб, материал - у куба есть DEFAULT материал. Итого 3. Но у тебя на скрине 2 батча и 1 сетпасс. Очень похоже, что ты запизделся.
>>281755
#440 #281755
>>281753
Очистка экрана и куб, тени то отключены.
>>281756
#441 #281756
>>281755
Ты отрицаешь наличие материала?
>>281757
#442 #281757
>>281756
"Куб" читай как "отрисовка куба", дурачок. Что это еще может быть? Сетпасс входит в батчи-дроколы.
#443 #281759
>>281742
>>281744
Да вы тут все чушь пишите. Объясняю: draw call это когда в коде вызывается функция, например, директикс Draw(), DrawIndexed() или DrawIndexedInstanced() (последняя с поддержкой хардварного батчинга). В этот момент в видеокарту копируются указанные в параметрах буферы данных (если они еще не там), и видеокарта их рисует. Рисует она их не просто так, а в соответствие с заранее заданным состоянием. В это состояние входят: указанные текстуры с какими надо рисовать, шейдоры и состояние блендинга с каким надо нарисованный результат смешать с тем что уже было нарисовано в буферный кадр ранее (вся эта инфа по видимому включена в материал и переключения состояния видеокарты обозначено как SetPass calls).
>>281763
#444 #281760
>>281748
Кинь еще скрин профайлера, а то я вижу что ты пользоваться им не научился.
>>281764
#445 #281763
>>281759
Материал это и есть шейдер. Я так и написал, кэп.
#446 #281764
>>281760
Кинул, за щекой проверь. У тебя кубы в чанках это отдельные объекты, ну какие еще нужны доказательства того что ты даун?
>>281766
#447 #281766
>>281764
Дебил, нас тут уже трое, заебал детектить. Лучше бы скрин уже сделал.
>>281768
#448 #281767

>Опенсорц код с комментариями. Отдельные объекты только чанки, не кубы


>Скрины, где кубов нет вообще, объекты - только чанки.


>У тебя кубы в чанках это отдельные объекты, коооо-кок-ко!

>>281770
#449 #281768
>>281766
Пошел нахуй со своим профайлером. Мы тут дравколлы считаем а не кадры в секунду.
>>281769
#450 #281769
>>281768
Ну ясно все. Сразу бы сказал что ты гуманитарий, мы бы тебя даже не трогали.
>>281771
#451 #281770
>>281767
Кинь ссылку на сорцы. То что у тебя интеллекта хватает только на пиздинг готового - все уже поняли
>>281785
#452 #281771
>>281769
Хорошо, уговорил, сначала свой скрин кинь.
>>281772
#453 #281772
>>281771
Какой свой, дебил? Я не анон с кубами. Ты совсем поехал уже.
>>281773
#454 #281773
>>281772
Не встревай в разговор значит. Как пизда базарная, блядь.
>>281776
#455 #281776
>>281773
Короче ты понял что скрин окончательно докажет что ты долбоеб и слился. А десять минут такой уверенный в себе был.
#456 #281785
>>281751
Давай договоримся, что дк больше нет и хватит об этом, лол. А то и пиздануться недолго с этим шизиком. Да, у меня овердохуя сетпассов и батчей - так пока что и надо. Ради возможности смотреть сквозь пол - рисуется пол нижнего уровня. Конечно, рисовать до самого нижнего уровня не надо, так что я буду выключать уровни.

>>281770
Скачать мои сорцы нельзя, можешь из статей повыдирать код, ссылка в начале треда. Там с самой первой статьи указано, что кубов нет, а во второй выключаются невидимые грани. Даже более того, с самой первой части указано, что для кубов объекты не создаются.
>>281787>>281790
#457 #281787
>>281785

>дк больше нет


ДК УПРАЗДНИЛИ, ЗАЕБЦА МОЖНА МАЙНСРУФТ ИЗ КУБОВ ДЕЛАТЬ!
Короче пили свои кубы с 4К дравколлами и показывай друзьям в школе, может когда вырастешь и правда любое говно за 2 дравколла будет рисоваться.
>>281789>>281813
#458 #281789
>>281787
Тебе не говорили, что ты пизданутый?
#459 #281790
>>281785

>для кубов объекты не создаются


Каждый день узнаю в гд что-то новое.
#460 #281791
Господа, как перенести карту высот на terrain? Есть процедурно сгенерированная в unity карта высот. Нужно создать terrain на основе данных с карты высот? Как проще всего это сделать? И что вообще можно почитать по процедурной генерации ландшафтов? Именно книги или работы
>>281796
#461 #281796
>>281791
TerrainData.SetHeights

ApplyDelayedHeightmapModification у самого террейна не забудь потом вызвать
>>281809
3 Кб, 309x134
#462 #281809
>>281796
благодарю
235 Кб, 1005x488
#463 #281813
#464 #281854
>>281651

>Алсо, заплачу тебе картинкой с лолей если дашь глянуть скрипт.


Ишь какой хитрюга. Но нет, я свой чудесный скрипт буду ассетотаскателям в ассет сторе продавать по девять долларов и девяносто девять центов.
>>281862
#465 #281862
>>281719
Нет нет и нет.
Объяснять очень долго и дико лень.
>>281854
Тогда хуй тебе а не лоля, интернеты набиты сериализаторами до отказа.
>>281863>>281881
#466 #281863
>>281862
Почему нет? Работать будет. Что почитать по этому тогда можешь подсказать?
>>281874
#467 #281874
>>281863
Нет, маня, не будет. Потому и не покатит.
Читай форумы и документацию.
>>281879>>281881
#468 #281879
>>281874
Ну всмысле не будет? Публичная статическая переменная, она видна всем скриптам. Например у нас есть враги и у них какой-то скрипт для атаки, нам надо абсолютно всем врагам сделать урон 40 например, мы меняем статическую переменную, а в том атакующем скрипте в качестве наносимого урона тянем какую-то парашу вроде EnemiesParameters.damage
Теперь при изменении EnemiesParameters.damage будет меняться урон врагов
Или он что-то другое имел в виду?
>>281922
#469 #281881
>>281862

>интернеты набиты сериализаторами до отказа


Что же ты еще не взял его из интернетов в таком случае?

>>281874

>не будет


Ты не объяснил что тебе нужно. Тебе непременно нужно строить иерархию объектов и создавать компоненты в рантайме (нахуя?) или достаточно просто инстансировать префаб с этой иерархией и просто настроить поля? В последнем случае нет ничего сложного. Сохраняешь все данные из таких полей в классе, а потом сериализуешь его. А потом восстанавливаешь обратно
>>281894
#470 #281894
>>281881
Затем что не могу по объективным причинам. О которых я умолчу. Потому что я котик.
Да, в моем случае поведение объекта зависит от того, какие в нем есть компоненты и что у него в иерархии. И это меняется в рантайме. Да, это самый адекватный способ конкретно под решение моей задачи и отлично себя показывает.

Короче, вариант как решить проблему нашел, отсталость его опробовать.
#471 #281922
>>281879
ScriptableObject. Привет.
>>281935
#472 #281935
>>281922
Ну одно и то же по сути.
#473 #281954
Анон есть вопрос.
Есть контроллер, он нерушим как скала, я в него складываю разные полезные функции. Есть обьект в сцене, точнее это гуи елемент, кнопка. При клике на кнопку вызывается функция из контроллера. Меня интересует, на какой обьект ссылается при выполнении скрипта, допустим, перменная геймобжект, на контроллер, или на обьект, который вызвал функцию, то есть на кнопку?
>>281967
#474 #281967
>>281954
Очевидно же что на контроллер
39 Кб, 365x550
#475 #282044
Кто-нибудь использовал аналитику Unity в мультиплеерных проектах?
329 Кб, 1478x666
44 Кб, 1047x897
260 Кб, 1246x667
#476 #282166
Пик первый, 512 000 кубов, 64 геймобъекта.
Пик второй, 65536 кубов, 64 геймобъекта.
350 Кб, 474x400
#477 #282221
Аноны, ЧЯДНТ? Циркл контроллер и ригидбоди дают при аддфорсе такой результат
>>282239
#478 #282232
>>282166

>разные материалы на разных типах кубов


Что взять с юнитидетей.
>>282233>>282241
#479 #282233
>>282232
мимозаступлюсь за того анона. он шейдероёб и уж такие базовые вещи он скорее всего понимает и берет в рассчет
#480 #282239
>>282221
все, разобрался
10 Кб, 225x225
97 Кб, 1466x800
#481 #282241
>>282232
На всю сцену один инстанс одного материала.
1275 Кб, 1190x803
#482 #282271
Посоны, я конечно извиняюсь, я нюфаг полный, в-общем как создать кхм.. отверстие в объекте? По сути я хочу создать комнату с окнами и дверными проемами. Обычную комнату из четырех кубов за секунду можно создать, но как сделать в них двери и окна? Я вот только сейчас понял что нихуя не понимаю как это сделать, не прибегая к блендеру и 3д максу (там во-первых сложно рисовать, во-вторых надо правильно размещать UV-мапы, иначе текстуры не наносятся, короче пиздец). Можно конечно сделать как на пикрелейтед, но это сами понимаете, говно.
Уверен есть какой-нибудь инструмент или скрипт позволяющий делать хотя бы прямоугольные вырезки из плашек или кубов.
Алсо, пробовал качать всякие программы по созданию интерьеров, там очень легко и просто это делать, но вот импорта модели либо нет, либо она импортируется в ОBJ, где опять же нет UV отчего текстуры не нанести. Помогите
>>282272
#483 #282272
>>282271
тупой упитидаун
879 Кб, 994x701
#484 #282273
Охуительные динамические тени. 10 фонариков из 10 просто. Можно даже объявить это фичей, тип это не тени, а души, которые пытаются вырваться из зомбей))0
#485 #282274
>>282166
Сделаешь физон - тогда и приходи
>>282293
#486 #282293
>>282274
Не тот жанр.
>>282295
sage #487 #282295
>>282293
Какой не тот? Ты сквозь кубы летать собрался что ли? Или PhysX для коллизий юзать?
>>282299>>282382
#488 #282299
>>282295
Для коллизий у меня свой алгоритм проверки высоты объекта относительно поверхности кубов под ним. Без рейкаста, по координатам.
Очень оптимизировано! Намного лучше коллайдеров!
>>282300>>282382
sage #489 #282300
>>282299
Тогда маладэц. А многопоточную генерацию осилил?
>>282301
#490 #282301
>>282300
Зачем? Один поток это стабильно.
>>282318
#491 #282318
>>282301
Так ты соснешь, когда радиус генерации вокруг игрока начнешь увеличивать
#492 #282330
Есть учебник JS именно под хуюнити? Хочу совместить приятное с полезным.
>>282380
#493 #282380
>>282330

>джс под хуюнити



Ты ебанутый?
>>282496
#494 #282381
>>282166
Воксельный колхоз, это ты?
>>282382
126 Кб, 736x410
#495 #282382
>>282295

>PhysX


Это. Не вижу смысла не пользоваться быстрым физоном. Тем более, со своим фейко-физоном соснёшь с навмешами, соснёшь с райкастами, соснёшь с другими коллайдерами.

>>282299

>высоты объекта относительно поверхности кубов под ним


Соснёшь с норами.

>>282381
Ага, он самый.
#496 #282384
>>282382
А что, разве физикс можно применить к конкретному кубу из чанка, если отдельный куб не есть объект?
>>282390
131 Кб, 732x430
#497 #282390
>>282384
А как ты присобачишь к кубу коллайдер, если у тебя куба нет? Но, с другой стороны, коллизии с кубами и не нужны. Точно так же, как не нужны невидимые грани - не нужны и коллизии с невидимыми гранями. У кубов нет коллайдеров, они есть у чанков.
>>282398>>282440
#498 #282398
>>282390
У тебя чанк это пласт земли? Зачем невидимые грани кубов создаешь при генерации чанка?
>>282459
#499 #282401
Как научиться понимать то, о чём вы сейчас говорите?
Я серьёзно хотел бы осознанно уметь делать что-то подобное.
пять_месяцев_в_с#
>>282443>>282459
#500 #282426
>>282382

>Это. Не вижу смысла не пользоваться быстрым физоном



Физикс медленно коллайдеры считает в рантайме, слишком медленно для того, чтобы можно было его использовать в майнкрафте. Тут тебе без вариантов надо писать свои коллизии, иначе рискнуешь соснуть.
И не говори мне, что ты юзаешь не мешколлайдер, а лепишь чудовищные костыли с боксами
>>282459
#501 #282431
>>282382

>Тем более, со своим фейко-физоном соснёшь с навмешами, соснёшь с райкастами, соснёшь с другими коллайдерами.



Поэтому ты хуй найдешь нормальный клон майнкрафта на юнити микропараши с закрытыми мирами не в счет, потому что кириллу кастомный фейковый физон просто не осилить, и гайдики по кубам тут не очень помогут.
>>282459
#502 #282432
Про нормальное освещение я вообще молчу
sage #503 #282437
источник: сам пилил трехмерные кубы на юнити, закономерно соснул, и запилил двухмерные - со своим освещением и физоном, после чего к идеям клонов минесруфт-подобных игорей несколько охладел
#504 #282440
>>282390
Ну а если ты у чанка отхуяришь один куб, как менять коллайдер? азло, если у нас форма чанка генерится, то как приделать к нему коллайдер?
>>282459
#505 #282443
>>282401
Ну прост скачай хуюнити и попробуй сделать чо, смотри видео, читай доки, пользуйся гуглом и не велосипедь без нужды сам я где то 4 месяца с перерывами в сишарпе с хуюнити, но до этого несколько лет назад пилился на гейм мейкере
185 Кб, 850x438
#506 #282459
>>282398
У меня дохуя режимов. На скрине, где полмиллиона кубов высота чанка 20 кубов и рисуются только границы чанков. А на втором скрине с 65к кубов включены все грани каждого куба. Мам, это только для скриншота. Основной режим это чанки 32х1х32 куба без внутренних граней. Для тру-майнсруфта не годится.

>>282401
Читай мои высеры, очевидно же. >>278017 Я доступно всё поясняю, да и скилл у меня "начинающий говно игродел".

>>282426

>Физикс медленно коллайдеры считает в рантайме, слишком медленно для того, чтобы можно было его использовать в майнкрафте.


Уничтожал по 3-4 куба в секунду, есть лаг только в режиме со внутренними гранями - слишком тяжёлый меш. По идее, если скинуть в фоновый воркер, то лага не будет. Но нахуя. Юзаю мешколлайдер, говорю же - кубы это просто иллюзия, нет никаких кубов.

>>282431

>потому что кириллу кастомный фейковый физон просто не осилить


Я не считаю для себя лично это неподъёмной задачей, просто не вижу смысла. Фейковый физон будет для жидкостей и, возможно, для обрушений. Но он однозначно будет медленнее, чем шизикс, как и любой костыльный фейкофизон.

>>282440
Уничтожение одного куба вызывает полную перестройку меша чанка и коллайдера.

>если у нас форма чанка генерится


А форма чанка и так генерится на основе перлин нойз.
#507 #282464
>>282459

>перлин нойз


Поясни дебу, что это есть, плес.
>>282469
#508 #282469
>>282464
https://docs.unity3d.com/ScriptReference/Mathf.PerlinNoise.html
Обычный такой шум, самый распространённый в этих ваших игровых делах. По сути, чёрнобелая пикча с волнами. Весь профит этого шума в том, что пикча потенциально бесконечная, а просчитывать всю сразу не надо, можно попиксельно получать от юнити.
>>282472
#509 #282472
>>282469
Возьми библиотеку для перлин нойза, юнитивский плох. Например нельзя указать seed. Пилил кубач на юнити как ты, пока случайно не удалил папку с проектом при чистки говна с пека, с последующей дефрагментацией.
>>282543
#510 #282481
>>282459
Ох, бложик с пошаговым описанием.
Охуенно, добавил в закладки.
#511 #282482
Мне могут что-то сделать, если я заменю splash.png из апк на свой сплэш?
>>282486
#512 #282486
>>282482
Приедет толпа тянок и лишит тебя девственности.
#513 #282493
2D
Делаю IK-анимации для НПЧ, сейчас для птицы.

IK делаю при помощи набора скриптов "Sprites And Bones".

Вчера с анимацией вроде всё было нормально.

Сегодня - анимация отображается ПРАВИЛЬНО в следующих окнах - сцена, превью игры (окно Game, когда не нажата кнопка плей).
И НЕКОРРЕКТНО в окнах - Game (когда нажата кнопка плей) и в окне скомпиленого билда.
Тело по задумке наклоняется вслед за поворотами IK головы.
В "рабочих" окнах всё как надо. А в игре - тело не двигается за головой.

Я скоро ебанусь, перебрал все варианты, гугл не отвечает.
Может что-то с иерархией кусочков тела, хз. Но почему тогда в "рабочих" окнах всё ок?
#514 #282496
>>282380
Ну не шарподристню же использовать.
>>282542
#515 #282500
Посоны, как убрать нахуй все дирекшинал освещение и сделать равномерный свет без теней на всей сцене? Вид строго сверху
>>282518>>282532
#516 #282518
>>282500
Попробуй unlit шейдер.
>>282523
#517 #282523
>>282518
Так темное же получается.
#518 #282532
>>282500
Lighting -> ambient
#519 #282535
Вроде убрал блики в блендере, но в юнити они есть. Как сделать абсолютно матовый, неотражающий материал?
>>282543
#520 #282542
>>282496
Жс для юнити - не жс, а его кастрированный клон, который очень фанатеет по шарпу, тебе оно надо?
>>282548
#521 #282543
>>282472
Это херня на самом деле. Если тащить дополнительную либу, то уже с каким-нибудь другим шумом. А так можно брать дефолтный, вместо "зерна" брать рандомные множители по x,y,z и офсеты. У меня больше проблемы не-кубачевского характера, лол. Начинаю понимать, что плоские чанки это не так уж хорошо - надо отображать мир, иметь возможность скрыть этаж и чтоб не тупило. Получается, что много слоёв сразу я использовать не могу. А брать кубический чанк, то при въезде камеры в чанк - там будет пустота. Особенно пиздецки будет смотреться, если по чанку проложены норы. С фпс\тпс контроллером такими проблемами и пахнуть не будет.

>>282535
А если Smoothness на 0 поставить? Ну и металик тоже.
>>282820
#522 #282548
>>282542
То есть там нет последних стандартов с классами и прочим? Хуёво.
#523 #282613
Парни, че за хуйня? Почему не подхватывает изменения в файле? Рфреш/реимпорт не помогает, если заново импортнуть - то все нормально, но обновлять не хочет. Должна же вообще сама любые изменения сразу подхватывать.
>>282919
#524 #282820
>>282543
Так ты хочешь сделать типа дварф фортресс, только с графеном? Просто тогда можно делать топ даун камеру с просмотром конкретного слоя и 3д для лулзов
#525 #282919
>>282613
тому шо редачить файлик нужно тот что в твоей папке Assets внутри папки с прожектом.
#526 #282942
Наконец-то уродливое юнити-лого можно будет заменить на что-нибудь более адекватное.
http://blogs.unity3d.com/2016/07/22/in-development-unity-splash-screen-tools/
>>282951>>282952
#527 #282951
>>282942
Заменил на анус твоей мамаши)
>>282955
#528 #282952
>>282942
Игру сначала сделай.
>>282955
#529 #282955
>>282951 >>282952
Возвращайтесь в свой УЕче загон, кириллычи.
>>282960
20 Кб, 878x494
#530 #282960
>>282955
Нет, холоп, ты не сможешь прогнать Master Race
#531 #283020
Может кто спрашивал уже, но можно ли на унити сделать ASCII графику?
>>283047
#532 #283047
>>283020
Можно. Только зачем?
>>283048
#533 #283048
>>283047
Ну вдруг я хочу запилить еба рогалик.
#534 #283083
Бля посоны, поясните плес - вот есть куб который излучает рейкаст. Вокруг него есть многокубов слоя не-N и есть один куб например слоя N. У всех кубов есть колладеры. Я делаю рейкаст к какому нибудь обжекту hit.

if (!(Physics.Raycast(transform.position,hit.transform.position,Mathf.Infinity,layMask))
{
//действие, меняем цвет кубику например.
}
layMask в данном случае - маска слоя в котором находятся все не-N объекты и излучающий этот рейкаст куб. В данном конкретном случае это номер 9.
Так вот - на пути рейкаста точно есть объект из маски N, но код все равно выполняется хотя не должен ЧЯДНТ?
>>283193
#535 #283193
>>283083
Блядь, тебя тяжело понять, в следующий раз прилагай скриншоты.
Объекты, Layer которых отсутствует в маске, для рейкаста становятся прозрачными, он бьет сквозь них.
>>283275
41 Кб, 632x645
#536 #283201
кто знает как это решить? 5.3.5 работала нормально
>>283205
#537 #283205
>>283201
Ты ебанутый? Мы тебе ванги что-ли?
Давай, рассказывай, как довел юнити до жизни такой.
>>283208
#538 #283208
>>283205
скачал 5.3.6, запускаю проект, проходит 3-5 секунд и вуаля, краш.
>>283211>>283212
#539 #283211
>>283208
скачай бетку, хули
>>283219
#540 #283212
>>283208
Полагаю, ты сделал с юнити нечто крайне специфичное.
У меня такое было всего один раз, когда я загрузил стандартный ассет для юнит тестов и добавил на сцену из интереса два менеджера интеграционных тестов.
>>283219
#541 #283219
>>283211
попробую, отпишусь как установится
>>283212
в этом и дело, что ничего специфичного, и даже ничего обычного с ней не делал
>>283229
#542 #283229
>>283219
Мб драйвера? Ты же не амдхолоп, я надеюсь?
>>283246
sage #543 #283235
>>282459

>Уничтожал по 3-4 куба в секунду, есть лаг только в режиме со внутренними гранями - слишком тяжёлый меш.


Так в этом же и суть проблемы, или тебе норм? А если там динамит ебнет, и надо будет пересчитать 5-6 смежных мешей?
Хуй знает канеш, смотря какие у тебя там задачи вообще
>>283240>>283442
#544 #283240
>>283235
Моя игра про плантацию разумных кубов-говноедов.
#545 #283246
>>283229
нет, не амд
драйвера обновлял месяц назад, но вряд ли проблема в них

upd. поставил бетку, перед этим полностью удалив старую, ничего, та же самая ошибка
>>287198
19 Кб, 257x236
18 Кб, 297x209
20 Кб, 310x225
9 Кб, 232x151
#546 #283275
>>283193
С рейкастом разобрался, только он нихуя не работает как надо.
По идее кубы, до которых рейкаст от красного не дотягивается, не должны подкрашиваться.
У деревца-куба слой №8 , у красного слой 9 а у красных кубов-клеточек номер 10.

hits = Physics.SphereCastAll (transform.position,3f,transform.up,0,-1);

for (int i = 0; i < hits.Length;i++) {

RaycastHit currHit = hits;
if (currHit.transform.GetComponent<NodeMaterial> () != null && !Physics.Raycast(transform.position,currHit.transform.position,3f,layMask)) {

//красим

}
}

Получается же какая то хуйня - в одной из позиций вообще не подкрашивается область.
>>283281>>283594
#547 #283281
>>283275
А, забыл, layMask = 1<<8;
94 Кб, 780x448
#548 #283442
>>283235

>в этом же и суть проблемы


В игре не может возникнуть ситуации, когда рисуется каждый куб чанка. Максимально сложный меш это шахматка, где каждый второй куб уничтожен. А это уже вдвое меньше напрягов, чем с отрисовкой 100% кубов.

>динамит ебнет, и надо будет пересчитать 5-6 смежных мешей?


Я вернулся к кубическим чанкам, т.е максимальный пересчёт - 4 чанка. В очень редком случае. Но на самом деле хуй знает, лол. В крайнем случае сброшу пересчёт мешей в дополнительный тред, чтоб не подвисало. Если замечу лаги на своей некропк.
>>285180
#549 #283551
А бесплатные ассеты в ассет сторе совсем бесплатные? То есть можно из них сделать игру и продать в стиме?
17 Кб, 277x204
20 Кб, 263x211
20 Кб, 286x227
#550 #283594
>>283275
Поменял немного но картинка все равно не такая как надо.
hits = Physics.SphereCastAll (transform.position,3f,transform.up,0,-1);

for (int i = 0; i < hits.Length;i++) {

RaycastHit currHit = hits;
if (currHit.transform.GetComponent<NodeMaterial> () != null) {

currHit.transform.GetComponent<NodeMaterial> ().Cover();

if (Physics.Raycast (currHit.transform.position,transform.position,Vector3.Distance(currHit.transform.position,transform.position), layMask))
{
Debug.DrawLine (transform.position,currHit.transform.position, Color.red,30f);
currHit.transform.GetComponent<NodeMaterial> ().UnCover();
}

}
}
ЧЯДНТ? Хуй знате, уже всю документацию по рейкастам прочитал.
>>283597>>283918
#551 #283597
3 Кб, 227x192
#552 #283754
Как пофиксить то, что при нажатии вправо во время падения персонаж цепляется за коллайдеры, и можно висеть в таком положении, пока зажата клавиша?
>>283904>>283996
#553 #283770
Парни, а loadlevel aync до сих пор не доступна в free версии?
>>283777
#554 #283777
>>283770
Всегда было доступно.
>>283790
#555 #283790
>>283777
Лолшто, гугл выдаёт записи до 2015 года, что хуй нищебродам, а не loadlevelasync
>>283813
#556 #283813
>>283790
Унети 5.3. Все робит.
>>283815
#557 #283815
>>283813
Хорошо, спасибо
#558 #283823
Ньюфаг ИТТ.
Антон, дело в том, что я могу в рисование, концепт-дизайн и моделирование. 400-500 лойсов на артстейшене стабильно за работу
Но я тугой олень, совершенно не могу в программирование. Последний раз писал простенькую хуиту на C# в ВУЗе лет 5 назад, и с тех пор даже не вспоминал ничего про программирование.

Суть такова - хочу запилить игру визуальную конфетку, но без геймплея как такового. Симулятор ходьбы с зайчатками сюжета.

Придётся ли мне рвать жёпу и вспоминать всё программирование, или там требуются лишь минимальные познания в этом ремесле?
С моделями, текстурами и прочим проблем не будет - делаю всё сам, запекаю нормали и прочие карты, довольно придрочен в этом.

Всё что меня пугает - это программирование. Так ли оно страшно в Юнити?
>>283830>>283995
#559 #283830
>>283823
А тебя сильно пугают конструкции if/else?
#560 #283865
Чтобы делать игры на Uniti или работать в компании по раработке игр, как хорошо нужно знать алгебру, геометрию и тригонометрию?
>>283866
#561 #283866
>>283865
На уровне вникания в формулы и знания, что где применять
#562 #283904
>>283754
Это слишком сложный вопрос. Тебе на него здесь не ответят.

Create -> Physics2dMaterial. Friction 0. На вертикальные поверхности лепишь отдельные коллайдеры, на них уже вешаешь созданный материал.
>>283996>>284177
#563 #283918
>>283594
Бамп вопросу
>>283997
#564 #283995
>>283823
Есть готовые ассеты с контроллерами хождения от первого или третьего лица. Их ввинтить - дело 5 минут.
Если захочешь интерактива - его можно собрать на коллайдерах с тупой логикой за неделю.
#565 #283996
>>283904
>>283754
А проверять изОнГраунд уже не модно?
>>284068>>284177
#566 #283997
>>283918
Читал твои вопросы - нихуя не понял. Напиши чего хочешь то.
>>284146
#567 #284068
>>283996
Хах! Пока ты проверяешь всякую задротскую фигню я игры делаю! Так то!
1919 Кб, 1168x996
2092 Кб, 1168x996
2000 Кб, 1168x996
#568 #284081
доволен. сделал сорт автоматической расстановки укрытий и потенциальных мест для спрыгивания-запрыгивания (и возможно перепрыгивания с одного на другой). осталось с физоном юнити связать.
>>284142
#569 #284142
>>284081
Это встроенный навмеш?
Поделишься охуенной историей как с ним работал?
>>284594
#570 #284146
>>283997
Если между кубом и другим кубом есть объект из слоя коллизий - код не должен выполняться. Вроде просто, но получается какая то хуйня.
>>284238>>285657
#571 #284177
>>283996
У меня есть проверка.
>>283904
Спасибо!
>>284179
#572 #284179
>>284177
И раз есть проверка, то как у тебя сила работает, когда юнит в воздухе?
>>284196
#573 #284196
>>284179
У меня проверка влияет только на возможность прыгать в воздухе.
>>284202
#574 #284202
>>284196
Так ты силы не давай прикладывать юзеру на юнита пока он в воздухе.
#575 #284238
>>284146
При этом между ними есть еще объекты, из другого слоя.
>>284268
#576 #284247
Котаны, как лучше реализовать текст переливающийся разными цветами на новом UI? Проблема в том, что переливаться должна только часть текста, поэтому не получится изменять color у компонента Text. Есть вариант использовать RichText и каждый раз его перестраивать изменяя цвет при помощи тега color, но это как-то не очень. Несколько раз в минуту перестраивать меш только, чтобы изменить цвет.
#577 #284268
>>284238
Ладно, хуй с этим, но ответьте на один вопрос - если у меня два куба ровно на одних координатах и размером равны 1х1х1, но в разных слоях, то рейкаст для одного слоя вернет какой из объектов?
sage #578 #284480
>>284247

>Котаны, как лучше реализовать текст переливающийся разными цветами на новом UI?



Никак.
Новый UI предназначен для удобства разработки мобильного интерфейса, без всяких рюшечек и пердежей.

Юзай текст меш с кастомным шейдором
sage #579 #284483
>>284247
или гугли rich text, но вряд ли ты с ним достигнешь желаемого
68 Кб, 1144x780
180 Кб, 1152x780
289 Кб, 1644x962
720 Кб, 1112x796
#580 #284594
>>284142
нет, за исключением функции растеризации полностью моё решение. история уже довольно долгая и это история полная ошибок. и началась история с того что мои идеалы подсказали мне сделать процедурный шутероподобный мир который мог бы меняться в процессе. он должен иметь динамические обстаклы, должен иметь возможность перестроить нужную область и возможность делить область на зоны с разной проходимостью.
стоит сказать что к решению проблем я подходил сначала пробуя своё решение, потом пользовался гуглом. кажется, где-то в процессе я познал глубины своего безумия.

https://www.youtube.com/watch?v=R29OY7KbrlA
последней ошибкой, кстати, было моё желание сделать динамический размер агента. я решил все проблемы которые были, но решение было так себе. в итоге за последний месяц снова переписал половину имеющегося кода.

>>284247
можно сделать несколько канвасов. один для переливающегося текста и сделать переливание текста просто через освещение его фонариками разных цветов. например в https://www.assetstore.unity3d.com/en/#!/content/25468 посмотри как это сделано в экзамле где панелька с текстом светится и сверкает. элементы интерфейса же такие-же геймобжекты с материалами и хуйнёй, по моему это хороший метод это использовать.
#581 #284671
>>284594
Ебануться.
Я не понимаю, что происходит на видео, но теперь я обязан научиться так же.
>>285245
#582 #284864
>>284594
Большой код получился?
Что как вообще организовал?
Надеюсь кто-нибудь купит эту наркоманию у тебя и мы будем играть в шутаны с рандомными картами
>>285245
#583 #284871
>>284268
Бамп вопросу.
#584 #284912
>>284594
Выглядит нихуя не понятноно круто. Что ты с этим хочешь делать потом?
>>285245
#585 #284960
Юнити не импортирует анимации добавленные в файл после его импорта (т.е. если перезаписать уже импортированный). Что делать, удалять, имопртировать и настраивать все заново?
>>284961>>284963
#586 #284961
>>284960
Нажимаю reimport - нет анимаций. Импортирую как новый файл - есть анимации.
#587 #284963
>>284960
refresh в папке пробовал? мета файлы не перезаписались.
>>284968
5 Кб, 255x74
#588 #284968
>>284963
А, я разобрался. Это я идиот. Надо смотреть не на значки клипов, а создать новый клип и выбрать сурс.
Неинтуитивненько.
sage #589 #284970
>>277225 (OP)
Где можно достать пример 2д игры где все было бы сделано "правильно"?
Суть: Хочу посмотреть хорошие/стандарные решения обычных задач. (типа управление персонажем, переходы, обработка каких-нибудь пересечений). Понятное дело я все могу и так сделать, но может есть решение лучше.

И сразу вопрос: Как нибудь можно сделать чтобы один объект перескался/тригирлся только один раз даже если он состоит из двух колайдеров.
Пример: Герой состоящий из двух кругов (как цифра 8) врезался в "стену смерти". Пересечение с этой стеной произошло два раза изза того что два круга, но мне достаточно и одного -_-.
>>284971>>284977
#590 #284971
>>284970
Каждый коллайдер регистрирует столкновения. Хочешь одно столкновение - делай один коллайдер. Полигональный,например. Полигонами себе восьмерку и нарисуешь.
>>284984
#591 #284977
>>284970
На офсайте ищи. там был пример 2д игорь с картошкой.
>>284984
sage #592 #284984
>>284971
>>284977
Спасибо за ответы. Нашел пример.

Еще один вопрос: Что делать если уровень состоит из кубиков. Есть ли резон использовать Quad (текстуры) вместо SpriteRenderer (спрайты)?
#593 #285180
>>283442

>В крайнем случае сброшу пересчёт мешей в дополнительный тред


Как ты это собрался делать?
>>285245
980 Кб, 1008x762
408 Кб, 1144x762
753 Кб, 1140x796
652 Кб, 2016x762
#594 #285245
доволен. вбил один костыль чтобы исправить то что меня долгое время раздражало и мешало. сдвинул весь грид на пол вокселя в направлении -X / -Z. сделал клевое примагничивание спотов для кавера к краям навмеша, если далеко от него. и вообще много всего интересного там написал.

и немного стареньких скриншотиков.

>>284671
а на видео агент сделанный за вечер пытается следовать маршруту из навмеша который строится в реальном времени. видно в начале как навмеш строится. для веселья включил рут моушен чтобы двигать не через контролер, а через анимации. и так как скорость учитывается плоховато можно наблюдать то как он весело свалился в канаву но все равно нашел путь.

>>284864
ну прилично так. 9-10к строк. учитывая что я не открываю скобочки в новой строке и не люблю ставить лишние пробелы. (количество закоменченного кода наверно под 55-70к строк ололо)

вообще я не против написать про организацию стену текста. все равно нюансы в деталях.
параметры агента и всякая хуйня вроде размеров вокселя у меня хранятся как скриптабл обжект, при обращении к навигации он становится ключиком к словарю чтобы вернуть навмеш для этого типа агента, таким образом сделал чтобы не было той волшебной еботы что юнити предлагает делать для достижения схожего эффекта.
на скриншотике выше я показал как я получаю перемещабельную поверхность. это частично спиздил у rain но потом получше написал чуток. так как у меня не весь навмеш разом делается, а только небольшие его чанки то могу особо память не экономить. один хуй расход можно контролировать количеством обрабатываемых чанков в тредах. у меня есть абстрактные примитивы для каждого типа коллайдера, я подставляю примитивы на место коллайдера и растеризую в воксели. воксель описывает минимальную и максимальную высоту коллайдера в этой координате (да, я не могу иметь С-образные коллайдеры потому что они станут О-образными, но хули можно и сделать какой-нибудь компонент который бы указывал что надо делать это по другому. или просто делить коллайдер на два), имеет int в байтиках которого собираются флаги из enum, имеет отдельно проходимость из enum : int (раньше она была в байтиках но это была боль), массив из четырех соседних вокселей, ссылку на территорию которой принадлежит и отдельно список из "зон" которым принадлежит. дохуя конечно впихнуто, да.
потом привожу воксели в порядок убирая перекрываемые, получаю проходимость (стоя, присев и непроходимую), нахожу соседние воксели, делаю отступ от ближайшего края навмеша на радиус агента.
потом делаю важное - делю весь грид вокселей на несколько 2д плоскостей, которые не пересекаются через "затопление". выстраиваю все воксели сначала по высоте, потом по X потом по Z и проверяю может ли воксель захватить в плоскость которой принадлежит соседние воксели. если нет - создаю новую плоскость, если воксель уже принадлежит плоскости то проверяю можно ли их объединить.
потом каждый такой слой делает всякие важные карты и скармливает их последовательно marching squares (где я сделал хитрость с тем чтобы они ходили только вдоль границ. экономит время охуеть) отдельно для каждой зоны и проходимости. стоит сказать что ноды находятся все в одном пространстве для всех зон и проходимостей, много ебался с тем чтобы они хранили эджы удобно. потом весь тот пиздилиард эджей и нод упрощается через рамера-дугласа-пекера и я получаю контур навмеша. потом я через самописную триангуляцию (на самом деле какая это нахуй триангуляция. не триангуляция это, просто слово подходящее) делю контур сразу на конвексные области, через "зоны интереса", те углы которые смотрят вовнутрь навмеша ищут ближайшую ноду в области которая равна градусу угла (если подходящей ноды нет то берет подходящую ноду справа и слева наиболее близкую к нормали угла). ну а дальше всю эту хуйню я скармливаю графу который строит из неё готовый навмеш, после чего встает в очередь основного потока где в корутине разные чанки навмеша получают сведения о соседях.
так что я могу и выдернуть какой-то квадрат после чего построить его заново и из-за того что "триангуляция" сделана не через зад как у rain я могу потенциально иметь динамические обстаклы.
хотя я про много что не рассказал, про клеточный автомат, про хуйню, но это в общих чертах.

ну и теперь ещё в процессе получаю сведения о укрытиях. на самом деле там просто переиспользуется код marching squares и рамера-дугласа-пекера, просто скармливаются немного другие карты с каждого слоя и ноды попроще. и те самые "зоны" из вокселя которым он может принадлежать пропихиваются через и ту и другую хуйню и я знаю какие эджи находятся вблизи нужной мне зоны которая указывается вокселями, что сильно всё упрощает. таким образом делаются эти зоны для прыжков-подтягиваний и частично укрытия.

много времени потратил на написание своей тулзы для дебага, архимного времени потратил на совершенные ошибки. marching squares у меня сожрали наверно месяц, если не больше и те ошибки которые я в нем совершил привели к тому что я переписал проект с нуля. то как я храню эджи тоже наверно у меня столько-же сожрало. а если учесть сколько раз оно мне аукнулось то даже больше. раньше я хранил обе последовательности, я знал эджи которые впереди и эджи которые сзади. и это был пиздец. в результате два раза проект переписывал наверно, в итоге оставил только одну последовательность. хотя про ошибки я могу долго рассказывать.

>>284912
как доделаю навмеш то примусь за ИИ. для агента GOAP, чтобы была возможность указывать нужные цели, отдельно напишу стейтмашину для командования сквадом агентов, чтобы он раздавал эти самые цели. (а может не стейтмашину а нейросеть попробую ололо. давно хотел получить опыт имплементации). потом приделаю к основному проекту. периодически тут всплываю с ним показывая генератор острова. а потом когда навмеш и ИИ перестанут радовать меня оказиями может в ассетстор выложу, а может даже бесплатно и предложу давать мне донейшены.

>>285180
на самом деле это очень легко. нельзя к апи юнити обращатся в тредах, но это не проблема.
980 Кб, 1008x762
408 Кб, 1144x762
753 Кб, 1140x796
652 Кб, 2016x762
#594 #285245
доволен. вбил один костыль чтобы исправить то что меня долгое время раздражало и мешало. сдвинул весь грид на пол вокселя в направлении -X / -Z. сделал клевое примагничивание спотов для кавера к краям навмеша, если далеко от него. и вообще много всего интересного там написал.

и немного стареньких скриншотиков.

>>284671
а на видео агент сделанный за вечер пытается следовать маршруту из навмеша который строится в реальном времени. видно в начале как навмеш строится. для веселья включил рут моушен чтобы двигать не через контролер, а через анимации. и так как скорость учитывается плоховато можно наблюдать то как он весело свалился в канаву но все равно нашел путь.

>>284864
ну прилично так. 9-10к строк. учитывая что я не открываю скобочки в новой строке и не люблю ставить лишние пробелы. (количество закоменченного кода наверно под 55-70к строк ололо)

вообще я не против написать про организацию стену текста. все равно нюансы в деталях.
параметры агента и всякая хуйня вроде размеров вокселя у меня хранятся как скриптабл обжект, при обращении к навигации он становится ключиком к словарю чтобы вернуть навмеш для этого типа агента, таким образом сделал чтобы не было той волшебной еботы что юнити предлагает делать для достижения схожего эффекта.
на скриншотике выше я показал как я получаю перемещабельную поверхность. это частично спиздил у rain но потом получше написал чуток. так как у меня не весь навмеш разом делается, а только небольшие его чанки то могу особо память не экономить. один хуй расход можно контролировать количеством обрабатываемых чанков в тредах. у меня есть абстрактные примитивы для каждого типа коллайдера, я подставляю примитивы на место коллайдера и растеризую в воксели. воксель описывает минимальную и максимальную высоту коллайдера в этой координате (да, я не могу иметь С-образные коллайдеры потому что они станут О-образными, но хули можно и сделать какой-нибудь компонент который бы указывал что надо делать это по другому. или просто делить коллайдер на два), имеет int в байтиках которого собираются флаги из enum, имеет отдельно проходимость из enum : int (раньше она была в байтиках но это была боль), массив из четырех соседних вокселей, ссылку на территорию которой принадлежит и отдельно список из "зон" которым принадлежит. дохуя конечно впихнуто, да.
потом привожу воксели в порядок убирая перекрываемые, получаю проходимость (стоя, присев и непроходимую), нахожу соседние воксели, делаю отступ от ближайшего края навмеша на радиус агента.
потом делаю важное - делю весь грид вокселей на несколько 2д плоскостей, которые не пересекаются через "затопление". выстраиваю все воксели сначала по высоте, потом по X потом по Z и проверяю может ли воксель захватить в плоскость которой принадлежит соседние воксели. если нет - создаю новую плоскость, если воксель уже принадлежит плоскости то проверяю можно ли их объединить.
потом каждый такой слой делает всякие важные карты и скармливает их последовательно marching squares (где я сделал хитрость с тем чтобы они ходили только вдоль границ. экономит время охуеть) отдельно для каждой зоны и проходимости. стоит сказать что ноды находятся все в одном пространстве для всех зон и проходимостей, много ебался с тем чтобы они хранили эджы удобно. потом весь тот пиздилиард эджей и нод упрощается через рамера-дугласа-пекера и я получаю контур навмеша. потом я через самописную триангуляцию (на самом деле какая это нахуй триангуляция. не триангуляция это, просто слово подходящее) делю контур сразу на конвексные области, через "зоны интереса", те углы которые смотрят вовнутрь навмеша ищут ближайшую ноду в области которая равна градусу угла (если подходящей ноды нет то берет подходящую ноду справа и слева наиболее близкую к нормали угла). ну а дальше всю эту хуйню я скармливаю графу который строит из неё готовый навмеш, после чего встает в очередь основного потока где в корутине разные чанки навмеша получают сведения о соседях.
так что я могу и выдернуть какой-то квадрат после чего построить его заново и из-за того что "триангуляция" сделана не через зад как у rain я могу потенциально иметь динамические обстаклы.
хотя я про много что не рассказал, про клеточный автомат, про хуйню, но это в общих чертах.

ну и теперь ещё в процессе получаю сведения о укрытиях. на самом деле там просто переиспользуется код marching squares и рамера-дугласа-пекера, просто скармливаются немного другие карты с каждого слоя и ноды попроще. и те самые "зоны" из вокселя которым он может принадлежать пропихиваются через и ту и другую хуйню и я знаю какие эджи находятся вблизи нужной мне зоны которая указывается вокселями, что сильно всё упрощает. таким образом делаются эти зоны для прыжков-подтягиваний и частично укрытия.

много времени потратил на написание своей тулзы для дебага, архимного времени потратил на совершенные ошибки. marching squares у меня сожрали наверно месяц, если не больше и те ошибки которые я в нем совершил привели к тому что я переписал проект с нуля. то как я храню эджи тоже наверно у меня столько-же сожрало. а если учесть сколько раз оно мне аукнулось то даже больше. раньше я хранил обе последовательности, я знал эджи которые впереди и эджи которые сзади. и это был пиздец. в результате два раза проект переписывал наверно, в итоге оставил только одну последовательность. хотя про ошибки я могу долго рассказывать.

>>284912
как доделаю навмеш то примусь за ИИ. для агента GOAP, чтобы была возможность указывать нужные цели, отдельно напишу стейтмашину для командования сквадом агентов, чтобы он раздавал эти самые цели. (а может не стейтмашину а нейросеть попробую ололо. давно хотел получить опыт имплементации). потом приделаю к основному проекту. периодически тут всплываю с ним показывая генератор острова. а потом когда навмеш и ИИ перестанут радовать меня оказиями может в ассетстор выложу, а может даже бесплатно и предложу давать мне донейшены.

>>285180
на самом деле это очень легко. нельзя к апи юнити обращатся в тредах, но это не проблема.
#595 #285248
>>285245

>(количество закоменченного кода наверно под 55-70к строк ололо)


Мусор. Просто поставь себе cvs, заведи локальную репу и выкинь это все нахуй по частям с пометками от чего "нужного" ты избавляешься на этот раз. Потом можно будет в любой момент посмотреть чо ты там понаписал раньше.
>>285250>>285750
#596 #285250
>>285248
Боюсь, он настолько безумен, что решит по пути и свою cvs написать.
>>285750
#597 #285254
>>285245
Годное дело. Продолжай.
sage #598 #285275
>>285245

>на самом деле это очень легко


Пересчет мешей вообще на производительность не влияет почти, он похоже хочет сделать пересчет меш-коллайдеров в отдельном треде.
Я и спрашиваю, как
>>285750
#599 #285542
Привет. Ъотел спросить нормально ли в юньке использовать наследование? То есть грубо говоря класс монстр. А отт него наследуются все монстры конкретно с переопределением местодов.
>>285545>>285554
#600 #285545
>>285542
Нет.
>>285555
#601 #285554
>>285542
На самом деле задача такая. Есть много разных объектов, но по событию часть из них должна совершить какое либо действие (допустим часть пойдет налево, а часть направо).
Как бы вы сделали?
Самое очевидное решение: Пройтись по списку с этими объектами и вызывать нужный метод.
Возможно ли вызывать этот метод не создавая список?
>>285750
#602 #285555
>>285545
А что есть вместо наследования? Я чет нагуглить ни как не могу
>>285559
#603 #285559
>>285555
Композиция
>>285567
#604 #285567
>>285559
спасибо. Пошел гуглить
#605 #285578
Может кому понадобиться
"Приемы при проектировании архитектуры игр"
https://habrahabr.ru/post/255561/
>>285587
#606 #285587
>>285578
Бред какой-то
684 Кб, 2400x3600
#607 #285588
Аноны, нубский вопрос но все же спрошу.
Есть ли толк от визуального программирования в Юнити? Не спрашиваю про конкретный плагин, а в общем.
Если Кирилл не программист а художник, например, то ему будет проще формочки таскать, чем писать код? Или один хуй и все равно нужно знать теорию ООП, C#, требования к архитектуре, паттерны и прочую хуйню, а визуал только спасает от ошибок синтаксиса и путаницы в скобочках.
#608 #285589
>>285588
Визуал нужен только артистам. Без программиста, который логику для блоков напишет не обойтись.
>>285590>>285616
#609 #285590
>>285589
Доброчую

>>285588
Нихуя ты без прогера хоть какого-то не сделаешь. Игры без программирования это миф.
>>285616
#610 #285592
>>285588
Тогда анрил ставь - там вообще дум третий без единой строчки кода можно сделать, на блупринтах и плагинах из стора.
>>285599
#611 #285599
>>285592
Поддерживать и развивать не сможет, да и уровень игры будет ближе думу ко второму, по механикам.

Так что лучше научиться в код, энивей.
>>285614
#612 #285614
>>285599

>Поддерживать и развивать не сможет


А написать типа сможет
>>285617
#613 #285615
>>284268
Твою мамашу
#614 #285616
>>285589
Настоящий Кирилл делает свою игру мечты единолично.
>>285590
Не то, чтобы я совсем не умею кодить. Просто процесс кодинга, а особенно чтение scripting api, доставляет мне страдания.
#615 #285617
>>285614
Ассеты перетянуть уж получится, я думаю.
>>285620
#616 #285620
>>285617
Только если это будет один ассет - "Сделать заебись"
#617 #285621
Анон, я слишком даун в юничке объясни плз, почему не работает отрисовка кубиков по гизмосам?
http://pastebin.com/02aB2mkb
Это буквально второй мой скрипт, я не очень понимаю, что творю. Пытался сделать сетку для А*, как в одном туторе, но вместо квадратной сетки хотел сделать шар.
В теории эта штука на основе двух параметров - радиуса сферы и радиуса секторов сетки - должна сначала сосчитать количество вертикальных слоёв, потом количество окружностей на каждом слое, а потом расставить на всех окружностях секторы на определённой дистанции.
И всё работает, но через гизмосы нихуя не отображается.
Прогнал почти каждую зазубринку скрипта через дебаг, всё работает кроме проверки if (navGridArray != null) в гизмосах.
Что не так, блядь?
Уже закипел.
>>285624>>285667
#618 #285624
>>285621
Не хуярь логику в OnDrawGizmos, гизмы не для этого.
>>285626
#619 #285626
>>285624
https://www.youtube.com/watch?v=nhiFx28e7JY&index=2&list=PLFt_AvWsXl0cq5Umv3pMC9SPnKjfp9eGW
Здесь всё работало. Если бы он так не сделал, я бы так тоже не сделал.
>>285628
#620 #285628
>>285626
Какую же хуиту он творит, пиздец.
>>285630>>285659
#621 #285630
>>285628
Сотвори лучше
>>285632
#622 #285632
>>285630
Нахуя? Я же не долбоеб делать велосипеды.
#623 #285657
>>284146

> Если между кубом и другим кубом есть объект из слоя коллизий


Ну дак проверь рейкастом есть ли там этот слой, и если он есть, то не выполняй код. В чем проблема то конкретно?
>>285787
#624 #285658
>>284268
Самому такое проверить явно быстрее, чем ждать ответа.
>>285787
#625 #285659
>>285628
Что конкретно не так? Я просто нюфаг и серьезно неебу в чем подвох.
>>285661>>285662
#626 #285661
>>285659
Просто этому пидорасу что-то не нравится, вот и не так всё.
#627 #285662
>>285659
В том что для проверки используется физика, в то время как стандартный навмеш запекается по совершенно другим принципам и, в силу нативности, работает куда быстрее.

Видео нормальное, если ты хочешь понять принцип, но в реальном проекте я бы точно его использовать не стал.
>>285750
#628 #285667
>>285621

>кроме проверки if (navGridArray != null)


Ты нажимаешь на старт вообще?
>>285672
#629 #285672
>>285667
Да, лол.
>>285673
#630 #285673
>>285672
Тогда хз, потому что у меня работает все кроме расчетов в методе CreateLayers в промежуточных расчетах получается либо NaN либо 0, и в итоге все 0
>>285679
201 Кб, 1336x513
#631 #285679
>>285673
Сейчас заменил массив на лист - всё работает отлично.
Только я с раскидыванием дотов по окружности зафейлился, получился пикрил.
Странно, почему с массивом не работало?
#632 #285727
Поясните про соотношение сторон и ориентацию. Почему, например, камера в юнити зависит от размеров окна? Как сделать так, чтоб соотношение сторон не менялось? Обрезается фон при малых разрешениях, как его уменьшать? Хочу вертикальное окно, но под винду такие не делаются, как? Ничего годного на эти вопросы не нашел.
1491 Кб, 1992x800
162 Кб, 1168x728
189 Кб, 1384x976
561 Кб, 1152x750
#633 #285750
какая досадная неожиданность. результаты для включенного и выключенного плеймода неожиданным образом различаются. тот-же самый инпут, но когда я в эдитмоде то Physics.CheckCapsule и Physics.CapsuleCast волшебным образом игнорируют деревья. интересно находится ли причина в моей власти.

>>285248
meh. то что долго закоменченное просто переношу в конец и прячу под регион с говном. ну и периодически если где-то на меня больно упал костыль то переписываю весь тот сегмент кода и то что там закоменченное было улетает в анналы истории вместе со всем классом.
хотя периодически и вытаскиваю старые решения.

>>285250
да. поэтому я избегаю.

>>285275
а хуй знает как там это всё структурировано то. грид довольно большой, я не знаю как там треугольники делаются и вся хуйня. я не против узнать.

>>285554
если объекту не надо сообщать правый он или левый пользуясь его параметрами извне то наверно погугли BroadcastMessage.

>>285588
если кирилл один и он артист то ему следует задать важный вопрос. учитывая предполагаемые размеры проекта превосходят ли страдания от обучения погромированию те страдания которые он получит пользуясь визуальным погромированием? последнее не подвергается сомнению.

я вот знаю одного мудака и он полный артист. тягал он спагетти в UE, тягал и сдался. он однажды показывал мне как он эти спагетти тягает и я пришел к выводу - погромирование это знание методов и способов их применения. а это визуальное погромирование в итоге только мешает. дольше выбираешь всякие функции-хуюнции, один параметр может превратится в огромную такую спагетину на весь класс, на экране умещается меньше читабельной информации, много времени тратится на то чтобы убрать руку с клавиатуры и переложить на мыш, если надо ей что-то подрыгать. ну и конечно найти документацию и советы к нормальному языку гораздо проще чем к хуйне. а знание синтаксиса не такое большое дело.
я сам немного подергал эти спагетти и мне понравился только один важный аспект - распутывать приятно. расставлять их красиво чтобы по феншую.

>>285662
на самом деле учитывая пропорции грида в отношении к размеру обьектов все это одна хуйня. a star кстати когда я последний раз смотрел тоже глобальный грид делал через физон. и это гораздо быстрей чем проверить треугольники всех объектов чтобы составить тот-же самый грид.
при желании заодно и весь грид можно двигать вместе с агентом, если он один. будет довольно высокая точность маршрута даже при низком разрешении грида, из-за того что сам грид двигается.
1491 Кб, 1992x800
162 Кб, 1168x728
189 Кб, 1384x976
561 Кб, 1152x750
#633 #285750
какая досадная неожиданность. результаты для включенного и выключенного плеймода неожиданным образом различаются. тот-же самый инпут, но когда я в эдитмоде то Physics.CheckCapsule и Physics.CapsuleCast волшебным образом игнорируют деревья. интересно находится ли причина в моей власти.

>>285248
meh. то что долго закоменченное просто переношу в конец и прячу под регион с говном. ну и периодически если где-то на меня больно упал костыль то переписываю весь тот сегмент кода и то что там закоменченное было улетает в анналы истории вместе со всем классом.
хотя периодически и вытаскиваю старые решения.

>>285250
да. поэтому я избегаю.

>>285275
а хуй знает как там это всё структурировано то. грид довольно большой, я не знаю как там треугольники делаются и вся хуйня. я не против узнать.

>>285554
если объекту не надо сообщать правый он или левый пользуясь его параметрами извне то наверно погугли BroadcastMessage.

>>285588
если кирилл один и он артист то ему следует задать важный вопрос. учитывая предполагаемые размеры проекта превосходят ли страдания от обучения погромированию те страдания которые он получит пользуясь визуальным погромированием? последнее не подвергается сомнению.

я вот знаю одного мудака и он полный артист. тягал он спагетти в UE, тягал и сдался. он однажды показывал мне как он эти спагетти тягает и я пришел к выводу - погромирование это знание методов и способов их применения. а это визуальное погромирование в итоге только мешает. дольше выбираешь всякие функции-хуюнции, один параметр может превратится в огромную такую спагетину на весь класс, на экране умещается меньше читабельной информации, много времени тратится на то чтобы убрать руку с клавиатуры и переложить на мыш, если надо ей что-то подрыгать. ну и конечно найти документацию и советы к нормальному языку гораздо проще чем к хуйне. а знание синтаксиса не такое большое дело.
я сам немного подергал эти спагетти и мне понравился только один важный аспект - распутывать приятно. расставлять их красиво чтобы по феншую.

>>285662
на самом деле учитывая пропорции грида в отношении к размеру обьектов все это одна хуйня. a star кстати когда я последний раз смотрел тоже глобальный грид делал через физон. и это гораздо быстрей чем проверить треугольники всех объектов чтобы составить тот-же самый грид.
при желании заодно и весь грид можно двигать вместе с агентом, если он один. будет довольно высокая точность маршрута даже при низком разрешении грида, из-за того что сам грид двигается.
6 Кб, 357x89
#634 #285765
>>285783
#635 #285783
>>285765
А чо он умеет? Я вот шарящий в юнити энтузиаст.
>>285797
#636 #285785
Вот код в юнити пишется на шарпе. Однако ж юнити работает и на консольках, и на мобильниках. Каким образом там запускается шарповый код, если шарп заточен под форточки, а с кроссплатформенностью у него не густо.
#637 #285787
>>285657
>>285658
Лал, разобрался таки с этим - рейкаст с дистанцией чото не давал нужный результат, выдавал хуйню, сделал лайнкастом на строго заданное расстояние.
>>285800
#638 #285797
>>285783
У него "идея" блджад, а так он красный диплом защитил в тех вузе, то есть хорошо знает математику, физику, может считать любую хуйню для сложых муток. Могу вас связать.
>>285799>>285802
#639 #285799
>>285797
это не выглядит положительными качествами на фоне минусов.
>>285801
#640 #285800
>>285787
Бля тредом ошибся.
#641 #285801
>>285799
Ну давайте попиздите, разойтись всегда успеете.
>>285805
#642 #285802
>>285797
То есть он нихуя не умеет для геймдева, но имеет распухшее чсв из за красной корочки. идеи у меня и самого есть, считать я тоже могу
>>285803
198 Кб, 1050x1280
#643 #285803
>>285802
Та не, он со своей красной корочкой грузчиком работает считай. Я ему тоже самое говорю, но он наотрез не хочет кодить. Хули, пообещал написать, пишу вот вам. Я ему говорил что везде на хуй пошлют.
#644 #285804
>>285803
Это каким хиккой надо быть чтобы друг за тебя треды на дваче создавал?
>>285807>>285808
214 Кб, 1680x918
#645 #285805
рандом пик охуенного первого проекта

>>285801
мой опыт подсказывает мне что тот кто прячет идею всегда мудак.

>>285803
пускай нахуй идёт! нахуй! и работает там грузчиком! совсем грузчики охуели, хуже артистов. их хоть можно заставить кодить.
>>285806>>285811
#646 #285806
>>285805
Зачем юзать старый гуи?
>>285817
#647 #285807
>>285804
Я за него еще и в твиттор писал. По мне так если ты не можешь пойти на двач или зарегаться в твитторе, то значит не очень и хочешь в геймдев, но блядь, я понял, что никого ни в чем сука не убедишь, люди в основном убертые пиздец, еще и обижаются если им что-то советуешь. Только и остается сделать, что попросили, имхо помогать друзьям надо, даже если они долбоебы.
>>285810
45 Кб, 604x453
#648 #285808
>>285803
Ну объясни ему, что идеи есть у всех, а возможности для реализации - нет. Рисовка, звук, кодинг - вот что действительно нужно. Идеи, геймдизайнер-киррил, руководитель - не нужно, без сопливых разберемся.
>>285804
Двачую, лел.
>>285812
#649 #285810
>>285807
Нет, он просто считает себя умнее всех, такие - прямо и немного нахуй.
#650 #285811
>>285805
Он не прячет идею. Хочет какую-то тбс запилить, он уже и мир прописал и статы персонажей. Основная мечта запилить какой-то ебанутый клон квейка 3.
В первое верею, потому как он и вправду способен запилить какой-то баланс, это вообще его тема, дрочит на циферки во всяких стратежках.
>>285816>>285817
#651 #285812
>>285808

>Ну объясни ему, что идеи есть у всех, а возможности для реализации - нет.


Уже несколько лет объясняю.

Ребята, мне все и так понятно, срсли, кто захочет, отпишите, я скину какой нибудь его контакт, а так не хочу засирать оффтопом ваш тред, думаю мудаков тут и так хватает.
>>285814>>285825
#652 #285814
>>285812
Ну да, чтобы вместо тебя, самому возить с этим ленивым пидором
#653 #285815
Как же я проигрываю, за доморощеных геймдевов уже мамы ищут команды
>>285816
#654 #285816
>>285811
Если человек способен написулькать пару уравнений -то въехать в кирило-пограммирование на унити - ума хватит.

>>285815
Прекрати,я щас расплачусь.
192 Кб, 1680x918
#655 #285817
>>285806
это скриншот с конца 2013 года ололо. как-то мало опций было.

>>285811
как-то не выглядит охуенно. вот у меня есть друг-мудак который вообще на все цыферки дрочит. с ним можно пойти подрочить в совершенно нелепое говно, спросить "что это за парашей мне по ебалу проехались и почему она была такая охуенная" и он ответит что оказывается в каких-то там кондициях проценты резистов хуйня муйня. откуда он это знает? я не знаю. и кстати красного диплома у него нет, он любит доту, курить и чужие страдания. полагаю последний фактор самый важный в этом вопросе.
>>285821
#656 #285821
>>285817
Звучит как раз как мой друг, лол. Тоже все эти резисты хуизисты рассказывает, если доту с ним смотреть.
#657 #285825
>>285812
Я бы даже сказал, что помогая ему ты только делаешь хуже. Человек должен сам взять в руки ответственность и принять решение, сделав первые шаги. А так подрываешь одну из составляющих мотивации, которой у него итак маловато.
>>285826
#658 #285826
>>285825
Кстати да, спасибо, что обратил на это внимание.
Удачи вам в разработке ребята! Надеюсь однажды куплю ваше дерьмо в стиме :3
#659 #285882
>>285245
кстати, на тему того костыля что грид сдвинул. помимо этого поменял недавно то как делаются края чанка. с хуёвого неадекватного метода на красивый и хороший с флагами в байтиках, дополнительными самплами по краям и вообще. теперь края разных чанков соединяются гораздо лучше без всяких читов вроде снапинга. сделал на эту тему видео с рисованием. доволен.
https://www.youtube.com/watch?v=Cjf7QEJ4HCM
#660 #285896
Я недавно зашёл во вкудахтоигры и малость прихуел. Неужели людям не стыдно делать ТАКОЕ? И все на этом вашем юнити. Немного стыдно это говорить, но меня заинтересовали эти недоигры. Либо их делают отбитые великовозрастные ебанаты, либо школьники. А если у них это получается, то чем я хуже? Что вообще для этого нужно? Не думаю, что когда-либо осмелюсь показать свой высер кому-то, кроме пары знакомых, но, я думаю, в каждом человеке есть ребёнок, который мечтает о своей игре или о каком-то мультике, ну или кто там о чём мечтал.
Что нужно для работы с юнити? Я никогда не занимался программированием, кроме уроков информатики, но мы там обычно бесились. Так вот, чем нужно обмазаться, чтобы у меня хоть что-то заработало на это вашем юнити? Хотелось бы гайдов. Если на ангельском, то лучше в текстовом формате, ибо речь воспринимать я так и не научился.
Не бейте.
>>285904>>285907
#662 #285907
>>285896
да ничего и не нужно. ни красного диплома, ни знаний. слава прогрессу. скоро и мозгов не понадобится. вот я например сел писать навмеш, а реально знания дальше этак класса шестого не использую. как погромировать узнал посмотрев этого бородоча https://www.youtube.com/user/BurgZergArcade а дальше пошел творить следуя своим идеалам.
один хуй это больше вопрос личного опыта, а не теоретической хуйни.
>>285908>>285910
#663 #285908
Самое смешное, что этому анону даже меш писать не нужно было, благо что стандартный нормален >>285907
Он просто ебанутый.
>>285914
#664 #285910
>>285907
Какие именно видео бородача смотрел?
У него их там дохуйлион. С какого конкретного плейлиста стоит начать?
>>285914
#665 #285914
>>285908
вот только жаль что это часть в юнити писали подозрительно странные личности и NavMeshBuilder находитсяв неймспейсе UnityEditor, что несколько мешает адекватному его использованию для процедурных карт.
если конечно не играть в игры в эдиторе.

а ещё там нет каверов, использовать агентов разных размеров можно только через жопу, нельзя перестраивать отдельные куски, нельзя генерить карту для перемещения присев и вообще. вот не пересеклось с моими идеалами. пришлось своё делать чтобы было всё как я хочу и я мог залезть внутрь и поменять всё.
но сделали и правда заебись.

>>285910
самое большое. где он хак н слаш рпг делал (и не сделал). как по мне чем больше хуйни последовательно выстроено тем больше элементов которые можно связать между собой.
только про ссылочные и валуе типы почитай в процессе, эту часть он хуево показал.
>>286000
#666 #285932
Анон, как сделать такой материал, чтоб одна и та же поверхность была глянцевая, но местами диффузная?
Хочу сделать "грязное" стекло с разводами, имеется текстура этих самых разводов с альфа-каналом, а как всё сложить в кучу - хуй знает. Даже не знаю как такое гуглить.
>>285982
#667 #285949
На Юнити реально сделать ммо? С серверной частью, с взаимодействием с БД?
>>285970
#668 #285970
>>285949
Тебе нет.
247 Кб, 428x304
Анимация взаимодействий #669 #285973
Как правильно анимировать сложные катсцены, где персонажи взаимодействуют с окружающим миром и между собой? Адекватно ли в таких ситуациях использовать глобальный Ainmator Controller на сцене и анимировать сразу несколько объектов одной анимацией, чтобы получить больше контроля над ситуацией? Или же следует всегда использовать отдельные контроллеры? Поделитесь мыслями и материалами по этому вопросу.
Работаю над 2D эдвенчурой в Adventure Creator, поэтому катсцен и уникальных анимаций в игре будет много.
>>285977
#670 #285977
>>285973
Купи себе Spine и забудь вот это всё как мечту об идеальной тян с зарплатой меньше 800к в месяц, сынок.
>>285981
#671 #285981
>>285977
Со Спайном очень поверхностно знаком. Как он решит мой вопрос? Я же о подходе а не об инструменте спрашиваю.
#672 #285982
>>285932
Тебе надо написать шейдер для этого, ему скормить эти две текстуры и смешивать их по маске. По этой же маске смешивать нормаль мапы и прочее.
#673 #286000
>>285914
Я буду счастлив, если ты сделаешь что-то вроде урока по созданию навмеша.
>>286030
#674 #286002
Кармаки, есть сие говнокодище:

bool CheckForEnemies()
{
bool result = false;
RaycastHit[] hits = Physics.RaycastAll(transform.position, GetDirectionToEnemyRespawn());
for (int i = 0; 0 < hits.Length; i++)
{
Debug.Log(i);
if (
(hits.transform.tag != _side)
&&
((hits.transform.tag == SOV_SIDE) || (hits.transform.tag == GER_SIDE))
)
{
result = true;
break;
}
}
return result;
}

Вызывается оно из класса Update(), так что цикл for - норм.
Ругается:
IndexOutOfRangeException: Array index is out of range.
Не могу понять, в чем прикол.
9 Кб, 677x306
#675 #286003
>>286002
Скрин кода
>>286029
#676 #286005
>>286002

>0 < hits.Length



Алсо, убери вот этот пиздец

>(hits.transform.tag != _side)


&&
((hits.transform.tag == SOV_SIDE) || (hits.transform.tag == GER_SIDE))
)
Не пиши сопли в условиях, лучше заведи отдельную переменную, посчитай условие в нее и потом отдельно проверь.
Я бы вообще переписал:

var hits = Physics.RaycastAll(transform.position, GetDirectionToEnemyRespawn());
var enemiesFound = false;
foreach (var hit in hits)
{
var tag = hits.transform.tag;
if (tag == _side)
continue;

var isCorrectSide = (tag == SOV_SIDE || tag == GER_SIDE);
if (isCorrectSide == false)
continue;

enemiesFound = true;
break;
}
return enemiesFound;
#676 #286005
>>286002

>0 < hits.Length



Алсо, убери вот этот пиздец

>(hits.transform.tag != _side)


&&
((hits.transform.tag == SOV_SIDE) || (hits.transform.tag == GER_SIDE))
)
Не пиши сопли в условиях, лучше заведи отдельную переменную, посчитай условие в нее и потом отдельно проверь.
Я бы вообще переписал:

var hits = Physics.RaycastAll(transform.position, GetDirectionToEnemyRespawn());
var enemiesFound = false;
foreach (var hit in hits)
{
var tag = hits.transform.tag;
if (tag == _side)
continue;

var isCorrectSide = (tag == SOV_SIDE || tag == GER_SIDE);
if (isCorrectSide == false)
continue;

enemiesFound = true;
break;
}
return enemiesFound;
#677 #286008
>>286005
Спасибо, добрый человек. Очень я люблю допускать подобные мелкие косяки, а затем полдня рвать волосы на жопе в их поиске.
По поводу соплей в условии. С одной стороны - да, но с другой интуитивно хочется сокращать количество переменных - вот и получается такое.
Энивей, еще раз спасибо, буду исправлять.
>>286029
#678 #286029
>>286003
>>286005
Зачем вы вообще с _side сравниваете?
>>286008
Ты дебаггер запускал хоть перед этим? За 20 секунд же сам мог увидеть, что он зашел в цикл, например, в третий раз, хотя попаданий всего два было.
53 Кб, 738x212
#679 #286030
>>286002
>>286005
два наркомана. transfrom же теперь кешируется самим юнити, можно больше не писать такую хуйню. можно написать что-то вроде этого, или даже такого. это же читабельней чем стена кода с перебором массива, continue и прочим.

>>286000
боюсь это не та информация которую можно уместить урок. если ты не знаком с языком то это тот сорт информации который запутает тебя ещё больше, если ты знаком с языком то я выше описал основные шаги, имплементируй их как понял.
>>286031>>286032
#680 #286031
>>286030
Дебажить такой код вообще найс)
>>286033
#681 #286032
>>286030
ладно, проснулся, кофейку попил, понял что и я наркоман и transform тут непричем.

>>286002
анон, почитай про про делегаты
https://msdn.microsoft.com/ru-ru/library/ms173171.aspx
это когда функцию можно передавать как параметр. в особенности прочитай про Func и Action которые уже написали за тебя. например тут посмотри примеры использования.
http://professorweb.ru/my/csharp/charp_theory/level10/10_4.php
прочитай про неймспейс System.Linq который дает охуенные возможности вылавливания из коллекций всякого говна.

в сишарпе же столько всего написано за тебя. напиши себе гденибудь снизу что-то вроде
void DebugTags(IEnumerable<Transform> transfroms){
string s = "";
foreach (var trans in transfroms)
s += trans.name + " : " + trans.tag + "\n";
Debug.Log(s);
}
если часто там сям смотришь теги у коллекций трансформов и сомневаешся в их содержании. надо всё делать удобно.
>>286033>>286036
#682 #286033
>>286032
Лол, ньюфаг открыл для себя linq.
Эти сопли мало, что совершенно нечитаемы, так еще и отлаживать заебешься, этот анон >>286031 прав.
>>286034
#683 #286034
>>286033
это не тот код который вообще надо отлаживать. это код сорта "эй говно дай мне хуйню", где понятие о хуйне умещается в bool. если что-то не так то спасибо прогрессу, ребилды юнити очень быстрые. можно и пописать хуйни в предикт, поиграть в угадайку. или, для начала, проверить инпут.
#684 #286036
>>286032
Тебя блядь просто с ноги надо уебать за Linq, а потом обоссать.
Ты понимаешь, что это говно самое тормозное говнище эвар, которое срет тонной мусора?

мимоПРОбыдло
#685 #286037
>>286036
Абстрактно зато.
>>286039
#686 #286038
>>286036

>которое срет тонной мусора


Где ты там мусор нашёл?
https://github.com/mono/mono/blob/c1b43669320f96e4a2a482d993b7b36bb5e59496/mcs/class/System.Core/System.Linq/Enumerable.cs#L141

Может ты путаешь с IQueryable, который использует деревья выражений. Но он не используется с обычными списками. Это уже для баз данных.
>>286112
#687 #286039
>>286037
абстракция это великая сила. а с великой силой приходит великая ответственность.
за ту хуйню которую ты пишешь.

>>286036
не пиши хуйни, я даже не знаю о каком мусоре ты говоришь. я уже довольно продолжительное время медитирую на результаты работы linq с десятками тысяч самых разных элементов и вот что я скажу: это просто заебись. еблан тот кто не пользуется тем что написано за него.

и это гораздо лучше этого безумства которое описано выше. то что делает функция должно быть понятно из того как к ней обращаются. тот кто пишет все эти if continue var hits var enemiesFound var isCorrectSide для такой хуйни как проверка тегов в результатах рейкаста - тратит время впустую.
>>286041
#688 #286041
>>286039
Очередной джуниор дрочит на компактность кода в ущерб читаемости и предлагает использовать замыкания там, где достаточно простого if-а. Все были такими дебилами когда-то. Лет через 5 ты поймешь, а сейчас тебе бесполезно что-либо доказывать.
#689 #286042
>>286041
вопрос не в компактности кода. вопрос в том что предикт проще читать и его видно из места обращения к той хуйне которая написана ниже. так вот открываешь код а там какая-то хуйня if(CheckForEnemies()). это что, блять? что оно делает? жамкаеш "Go to Definition" а там это полотно, которое все что делает в итоге - делает сравнение стрингов. это конченым надо быть чтобы писать код в котором надо скакать по всему классу чтобы понять что он делает.
не говоря о том что а) использование IEnumerable в таких условиях исключает то что напорешься на null б) прочитать .Any(x => predicate(x.transform)); гораздо, блять, быстрей и проще чем гору хуйни. это вообще делает функцию из одной строчки которую при желании можно даже в /// <summary> </summary> скопировать чтобы даже не возникало вопросов с тем что же эта хуйня делает.
>>286044
#690 #286044
>>286042

>вопрос не в компактности кода


Тут всё скорее просто на любителя. Вот я не люблю слишком компактный код. Обычно люблю всё расписывать, заводить дополнительные переменные тупы для пояснения алгоритма.
>>286058>>286068
#691 #286045
Но ограничивать себя в использовании Linq руководствуясь производительностью - глупо. Это преждевременная оптимизация, которая большое зло и коду только вредит.
>>286068
#692 #286047

>пилят всякую говнину


>LINQ ЛЯМБДЫ АБСТРАКЦИЯ КУКАРЕКУ

#693 #286058
>>286041
Самое смешное, что через лет пять поймёшь ты, а он-то уже понял. Грамотное использование функциональщины почти не бьёт по производительности (зависит от "умности" компилятора), но убирает огромную кучу ошибок (например, если бы тот парень изначально писал так, как говорит мелкобуквенный, то этого разговора бы не было, потому что той ошибки в цикле не произошло бы).
>>286044
Разбор файла настроек (ключ = значение\n) на бейсике (string - уже считанный файл в виде строки; алсо, считай, что удалением пробелов занимается SetConfigVar):
i = 0
while i < StringLength(string)
eq = find(string, "=")
if eq <> -1 then
nl = find(string, "\n")
key = mid(i, eq)
value = mid(eq + 1, nl)
SetConfigVar(key, value)
i = nl + 1
else
error("invalid key")
endif
wend
Проблемы: если в конце файла нет перевода строки, то последняя настройка не будет считана (и произойдёт ещё хуй пойми что, потому что i не сдвинется); сообщение об ошибке совершенно непонятно - invalid key, а какой и почему - хуй его знает; нет защиты от key = value = garbage; возможно, ещё что-то, что я не вижу сейчас. Всё это я рекомендую тебе исправить самостоятельно, чтобы ты прочуствовал.
То же самое на питоне:
def print_error(e): print 'error in key', e[0]
vals = map(lambda x: x.split('='), string.split('\n'))
map(print_error, filter(lambda x: len(x) != 2, vals))
map(lambda x: SetConfigVar(x[0], x[1]), filter(lambda x: len(x) == 2, vals))
Проблемы: если в конфиге будет пустая строка, то print_error упадёт - правится одной строчкой (либо try, либо ещё раз отфильтровать); вроде, всё.
Что легче понять? Где легче ошибиться? Почему, по-твоему, первый код хороший, а второй плохой?
>>286060
sage #694 #286060
#695 #286066
>>286041

>дрочит на компактность кода в ущерб читаемости


LINQ наоборот даёт лучшую читабельность.

Хотя надо понимать, что ты делаешь, когда прикручиваешь всё это к методу, который будет дёргаться множественно каждый тик.
4095 Кб, 2576x952
#696 #286068
что-то новые охуенные возможности навмеша с трудом поддаются обьяснению их агенту. раньше то всё просто было, был один тип соединения, а теперь есть тип соединения требующий какие-то дополнительные действия. три часа в код пустым взглядом смотрел, час обьяснял резиновой уточке свои проблемы и ещё полтора живому заменителю уточки. и как-то не пришел к решению которое бы мне нравилось.

>>286044
>>286045
ты делаешь странное. если хочется расписывать подробно что делает функция то на мой взгляд надо выбирать подходящий для этого язык. по моему в данном случае все что хочется описать как подробности следует писать в комментариях, которые действительно могут быть чем-то хорошим. использовать язык погромирования для этого неадекватно. это не язык общения.
на мой взгляд если я "не абстрактными" словами словами быстрей расскажу что надо делать, чем напишу это кодом, то это значит что код скорей всего плох. потому что язык не исполняет важную функцию - сообщение комплюктеру того что я от него хочу. (под абстрактными словами понимаются такие как "хуй, говно, пидор". ими то легко всё обьяснить, жаль комплюктор их не понимает)

а то набросились, блять. "очередной джуниор", "через пять лет поймешь", "LINQ тормозное говно", "дебажить код из одной строки вообще найс". осталось только ещё этот петушиный крик процитировать, но для такого надо совсем охуеть.

вот читаю я чужой код, читаю свой код, пишу свой код, делаю всякие ошибки, вижу чужие ошибки. и я поделюсь очевидным наблюдением. чем сильней размазан код (внутри класса и внутри функции) тем дольше его читать.
наверно размазанный код признак прокрастинации.
#697 #286112
>>286038
Во-первых, ты манда тупая и смотришь не тот гитхаб. У юнитеков свой форк моно, 8-10 летней давности, который распидорасило неплохо так.

Во-вторых, я вас уебанов устал учить простым вещам -- то, что работает в энтерпрайзе никогда не работает в геймдеве. Тут чем тупее пишешь -- тем лучше резалты получаешь. Читай про KISS, тупица.

В-третьих, Linq при любом сука запросе начинает пердеть созданием Ienumerable, array и прочей залупы, которая будет тебе бить по производительности. Почему? А потому, что ты с каждым запросом начинаешь выделять память, которую в последствии не будешь использовать нигде. И вот когда у тебя место в куче закончится и у тебя тригернется gc, чтобы вычистить всю ту хуйню, которой ты насрал, тогда ты будешь сосать сверкающий болт 90 мс на кадр, вместо стабильных <16 мс.

Засунь в жопу свою читабельность и практики хорошего программирования, экономь, сука, ресурсы.

мимоПРОбыдло
>>286167>>287067
#698 #286113
Посоны, я так понял из гугла, что юнитипидорасы как похерили партиклы года три назад, так и не собираются их чинить. Ну то есть не зацикленные партиклы нельзя проиграть.
Не подскажите, какие сейчас есть костыли для обхода?
>>286114>>286122
#699 #286114
>>286113
Галку looping сними, слепой.

мимоПРОбыдло
>>286115
#700 #286115
>>286114

>не зацикленные


И кто тут слепой?
#701 #286122
>>286113
Хотя извиняюсь. Это я пидорас, а не юнити. Присваивал не тот префаб не из сцены в нужном геймобжекте, а из каталога
#702 #286167
>>286112

>и у тебя тригернется gc, чтобы вычистить всю ту хуйню


Но он будет чистить только объекты 0 поколения, дорогое пробыдло. Почитай на досуге.

мимодил
>>286307
#703 #286224
Вечера.
Не знаю, как забить вопрос в гугль, поэтому пишу здесь. Суть такова: 2D игра, вид сверху. Нужно, чтобы объект вылетевший за край карты вылетал с противоположной стороны, типа как в Asteroids. Подскажи, анон, ну или ткни в гугль.
>>286264
#704 #286264
>>286224
Добавь на локацию большой куб-триггер. Как только кто-то будет выходить за его пределы, ты будешь об этом узнавать через OnTriggerExit. Потом берёшь позицию этого коллайдера локации и отнимаешь от него позицию объекта, который вышел за пределы. Так ты узнаешь направление от объекта к центру.
>>286287
#705 #286265
Посоны, а как вы в 3D задники отрисовываете?
#706 #286287
>>286264
Понял тебя, спасибо, анон
#707 #286307
>>286167
А ты случайно не знаешь, как работает сборщик мусора в IL2CPP?
>>286318
#708 #286318
>>286307
Знаю, хуёво.
>>286327
#709 #286327
>>286318
Блин, даже не представляю, как я буду на WebGL перебираться. Там, наверное, со GC всё ещё хуже.
>>286358
#710 #286358
>>286327
Никак
>>286366
17 Кб, 477x354
#711 #286366
#712 #286682
реквестирую сюда свой вопрос
>>286210
быдло с 5 классами тригонометрии врывается в тред #713 #286701
Вот есть геймобжект.
На геймобжекте висит скрипт, в скрипте объявлена Vector3 с заданной точкой в пространстве.
Вот как мне поворачивать эту точку вслед за поворотом геймобжекта? Так, например, чтобы она всегда была у него за спиной. Спасибо.
#714 #286709
>>286701
point = transform.forward * -1
>>286716
быдло с 5 классами тригонометрии врывается в тред #715 #286716
#716 #286722
>>286701
Присобачить к объекту дочерний пустой объект на нужном месте, завести в скрипте public Transform твойДочернийОбъект, запихнуть его в инспекторе в родителя.
>>286724
быдло с 5 классами тригонометрии врывается в тред #717 #286724
>>286722

>Присобачить к объекту дочерний пустой объект


nope
>>286728
#718 #286728
>>286724
Да пошёл ты нахуй, быдло.
>>286729
быдло с 5 классами тригонометрии врывается в тред #719 #286729
>>286728
Сам иди нахуй.
Задача - вращать вектор, а не геймобжект
>>286731>>286739
#720 #286731
>>286729
Ну так решай её, хули.
#721 #286739
>>286729

> как мне поворачивать эту точку


Долбоеб, ты не можешь вращать точку. Если нужно найти именно вектор от нее до твоего геймобжекта, то геймобжект_позишн - точка, нормализуешь результат и получаешь вектор. Дальше ставишь ее за спину. или суешь за щеку
>>286743
быдло с 5 классами тригонометрии врывается в тред #722 #286743
>>286739

>Долбоеб, ты не можешь вращать точку


Точка должна вращаться вместе с объектом, ось - центр объекта, направление то же самое что у объекта
Я жопой чую, что к координате нужно просто прибавлять какой-нибудь ебучий косинус, но у меня с тригонометрией совсем все хуево, поэтому спрашиваю тут
>>286745
#723 #286745
>>286743
Тогда просто закрепи точку на определённой позиции относительно объекта.
Например сзади. Объект вращается - точка вращается тоже, сохряняя позицию относительно объекта.
А вообще иди нахуй, быдло.
sage #724 #286750
>>286752
sage #725 #286752
>>286750
Это хуевый и тяжелый способ. Но если ты такой тупой, что не можешь даже этого нагуглить сам, то тебе пойдет.
>>286838
28 Кб, 300x360
210 Кб, 343x394
#726 #286838

>linq, дроуколы, кулинг, батчинг


Блядь, полный энтузиазма, хотел продолжить пилить свою первую йобу, обучаться, но вот читая сей тред появляется зудящее ощущение в области ануса. Чувствую себя конюхом подслушивающим разговоры родовой феодальной знати. Как же мне неприятно.. Нужно ли вникать в этот ваш вычурной LINQ и активно использовать его, если ньюфаг? Или только ознакомится? Как раз йоба на всяких if-ах и тд. Но йоба не простая, будет постоянно разрастаться, покуда есть силы.

>>286752

>Это хуевый и тяжелый способ.


А у меня корабли летают с помощью этой хуйни, корабль определяет в какую сторону поворачиваться, далее строит вектор уже повернутый на какое-то количество градусов, покуда цель не будет впереди его. Это нормально? Какие есть альтернативы?
54 Кб, 604x518
#727 #286845
>>286838
Снисходительно посмеялся над нищим и ободранным простолюдином
sage #728 #286858
>>286838
Синусы и косинусы считаются через извлечение квадратного корня. Как известно, извлечение корня очень процессорозатратная функция. Если тебе нужно посчитать это несколько раз, то похуй. Если же ты суешь эту хуйню в апдейт, то это плохо. Если это считается еще и для большого количества точек, то это пиздец.

>Какие есть альтернативы?



https://habrahabr.ru/post/131931/
>>286916
#729 #286916
>>286858

Vector3.RotateTowards подойдет?
>>286949
#730 #286931
Асло, как посмотреть внутреннее устройство методов, того же Vector3.RotateTowards ?
>>286939
#731 #286939
>>286931
Никак.
>>286954
sage #732 #286949
>>286916

>Vector3.RotateTowards подойдет?


Я ебу, что ты там хочешь сделать. РотейтТовардс, это линейная интерполяция ротейта. Эта функция поворачивает не на указанный тобой угол, а на его часть. Используется в корутинах, для плавного равномерного пошагового поворота, а не моментального. Эта функция не перемещает объект в пространстве, относительно оси, а ПОВОРАЧИВАЕТ его, оставляя его на том же месте.

Если тебе нужно пересчитывать позиции объектов при повороте вокруг оси, то тебе нужны матрицы переходов.

Проблема с синусами и косинусами решается таблицей значений. Создай метод, который запишет значения синусов и косинусов в тхтшный файл для всех значений угла с точностью до какого-то символа после запятой. При загрузке сцены, в которой будет много поворотом, парси тхтшник в два дикшнари (один для синусов, второй дял косинусов). ПРи необходимости получить значение, просто дергай их из словарей.
sage #733 #286954
>>286939
Таки можно посмотреть, но придется декомпилировать библиотеку (если она не обфусцирована). Но проще написать свою реализацию, если не уверен, что тебе подойдет реализация уже существующей.
55 Кб, 503x604
#734 #286982
>>286949

>Я ебу, что ты там хочешь сделать.


Смотри, только не бей, есть корабль с позицией в пространстве и его угол повтора (пусть 93 ) . У корабля сзади двигатель который толкает его вперед, нужно получить новую позицию с учетом того что корабль пролетел столько-то и повернул на столько-то, 3 градуса влево например.

Сколхожено было примерно так

ship.position += YobaVector(93-3 );

vector2 YobaVector(angle){

Разворачиваем единичный вектор на angle, возвращаем
}

Хм, а действительно, в таблице будет всего 360 значений, вполне годно, что скажешь? О безкосинусном способе так и не понял, сложно сука, эти все матрицы поворота, ой.
>>287011>>287067
#735 #286984

>что скажешь?


Короче ты охуенен.
#736 #286987
Охуенен анон сказавший о таблицах имелось ввиду, ну это и так понятно, ладно уже ухожу.
#737 #287011
>>286949

>Проблема с синусами и косинусами решается таблицей значений.


Нет никакой проблемы, поехавший. Все оптимально и зделано уже до тебя.
>>286982
Не надо чинить то что работает. Пошел нахуй.
#738 #287067
>>286112

>У юнитеков свой форк моно, 8-10 летней давности


ты на полном серьёзе считаешь что их имплементация .Any() отличается? что она вообще может отличатся?

>Тут чем тупее пишешь -- тем лучше резалты получаешь


на этапе написания кода до его оптимизации гораздо более верно "чем тупее пишешь - тем дольше пишешь".

>Linq при любом сука запросе начинает пердеть созданием Ienumerable, array и прочей залупы


очевидно что только при тех при которых это требуется.
к тому-же ничего не мешает своими руками, или периодически вызывать GC.Collect() чтобы не происходило описанной хуйни.

>>286838

>Нужно ли вникать в этот ваш вычурной LINQ и активно использовать его, если ньюфаг? Или только ознакомится?


ознакомься, но не применяй. по мере личной прогрессии находя новые сложности можно не всегда понимать где эти сложности на самом деле и начать решать проблему не с того конца. а зная что где-то что-то решает подобные проблемы можно уже и раскопать информацию на эту тему.

>>286982
зачем такие сложности?
вообще, нахуй ты позицию корабля высчитываешь руками? а вдруг астероид? отдать на откуп физону не?
#739 #287072
>>286949

>вычисление хэша + рандомный доступ к памяти


Готов спорить, что просто посчитать синус будет быстрее.
быдло с 5 классами тригонометрии врывается в тред #740 #287096
>>286701

Ларчик просто открывался:

transform.TransformPoint(point)
>>287132
#741 #287121
>>287067

>чем тупее пишешь - тем дольше пишешь


Пиши быстро - тормози на релизе!

Вообще быдло сверху в чем-то право.
Линк это стильно, модно, молодежно, но есть ряд подводных камней.
1) Приведение колекции к IEnumerable - создание нового объекта-интерфейса, который потом нужно будет убрать.
2) Доступ к элементам через IEnumerator - тоже объект-интерфейса.
3) Сопли вида "(x) => very long soplina" - конпеляются в отдельные анонимные методы. Их вызов происходит на каждой итерации. Оверхед на вызов функции не то чтобы большой, но он есть хотя бы в предаче двух обязательных параметров. Тут немного спасает, что конпелятор умеет в инлайн, но он работает только для простых предикатов без циклов-ифов-достув к левым объектам.

Вот. Если просто взять фор и перебрать по индексу - то всех проблем выше можно избежать, гц даже не проснется.
>>287163
#742 #287125
>>287067

>зачем такие сложности?


>вообще, нахуй ты позицию корабля высчитываешь руками? а вдруг астероид? отдать на откуп физону не?



Кораблики простые, без коллизий на 2д плоскости, хотелось сделать пока так.
#743 #287132
>>287096
Точки в пространстве лучше задавать пустым GameObject'ом, чем писать их руками.
>>287133
#744 #287133
>>287132
щас пойду для каждого поинта моего кастомного Bounds задам геймобжект, ага
#745 #287163
>>287121

>Пиши быстро - тормози на релизе!


это всё-же лучше чем тормозить вообще весь путь.

>Линк это стильно, модно, молодежно, но есть ряд подводных камней.


дааа~ я знаю про то как работают анонимные методы, интерфейсы и что синтаксический сахар не совсем и бесплатный. но с другой стороны в случае с IEnumerable важность таких минусов коррелируется с размером коллекции.
как по мне лучше знать где эти камни расположены, чтобы потом вытащить их если слишком большие, чем бетонировать все подводное царство.

>взять фор и перебрать по индексу


а если взять foreach то можно так-же избежать и ошибки с null, но о ужас оно что-то делает в стаке и ест его ресурсы.
#746 #287177
>>287067

>к тому-же ничего не мешает своими руками, или периодически вызывать GC.Collect() чтобы не происходило описанной хуйни.


Я бы не рекомендовал. Периодически то он будет сам вызываться. Разве что можно его вызвать в периоды вообще без действий, в какой-то загрузки следующей локации, например.
>>287187
#747 #287187
>>287177
поэтому я написал "или". на самом деле оба варианта валидны в зависимости от условий.
кстати помоему этому даже страничка в мануале посвящена.
https://docs.unity3d.com/Manual/UnderstandingAutomaticMemoryManagement.html
#748 #287198
>>283246
Library/Temp сноси
#749 #287244
Есть у кого build report tool? С меня сотни нефти
>>287251
sage #750 #287251
>>287244
Есть, но тебе не дам, так как ты насрал в разделе.
#751 #287287
Можно логировать в юнити? Писать в отдель6ый файл было бы заебись. Ну типа посрал, поссал, вы так кстати делаете? Или как-то разделить дебаги, типа в одном все выводится, а в другом только нужное.
>>287300
#752 #287300
>>287287
так сам напиши, че ты. публик статик класс дебуг статик лист <стринг> и пубичные методы чтобы пхать в этот лист что-то или собирать в стринг и выводить в Debug.Log когда тебе там хочется.
и писать такое довольно важно, учитывая то насколько тормозным может быть Debug.Log.
>>287837
24 Кб, 766x515
#753 #287315
Как сделать одну функцию для создания разных типов кораблей? Можно функции на вход дать тип корабля? Или че тут делать-то?
>>287332>>287465
447 Кб, 694x371
181 Кб, 760x365
#754 #287316
столкнулся со следующей проблемой. Как задетектить самый отдаленный по выбранной оси мэш-фейс объекта?
В общем, моя игруля в зачаточном состоянии. И то над чем я сейчас работаю - это генерация race trackов процедурально при помощи различных префабов, некоторые элементы из которых предусматривают поворот трассы на 45 градусов.
Для генерации платформ использую следующий код:
http://pastebin.com/abwQYQ4v

Т.е. позиция следующей платформы определяется пока примитивно.

newPlatformPosition.z += chosenPlatform.GetComponent<Renderer> ().bounds.size.z;

Моя цель - добиться того, чтобы генерилось что-то вроде того, что я ручками нахуячил на 2й гифке.

Самое очевидное решение, что я вижу:
1. Пройтись в направлении forward.
2. найти самое отдаленное, лицо, по направлению этой оси.
3. манипулировать трансформацию следующей платформы, аттача ее на это найденное лицо.

Или же проидентифицировать на каждом типе платформы важные лица, которые будут соединять элементы дороги.

К сожалению, пока не знаю как выполнить оба варианта. Поэтому надеюсь, что двач поможет мне с поиском ответа
>>287543>>287928
#755 #287332
>>287315
CreateShip(string shipType)
sage #756 #287465
>>287315
Кури паттерн "абстрактная фабрика". Можно обойтись отдним статик-классом, в котором десяток приватных методов с одной сигнатурой, которые возвращают объект типа
бейзШип. Внутри методов прописана логика создания для каждого кораблся. В классе присутствует дикшнари (или макаронина из ифов/кейсов), которая выбирает нужный приватный метод по в зависимости от аргумента паблик функции, выполняет его и возвращает результат.
>>287600
#757 #287543
>>287316
Я не очень понял, что тебе нужно, но ты можешь сейчас меня закидают говном за неоптимизированность присунуть каждому префабу трэка по паре дочерних Empty GameObject и просто брать их координаты.

Это как раз твой второй вариант.
Создаешь компонент типа RaceTrackSegment, у которого будет два public Transform StartNode (и EndNode).
Кидаешь его на трек, присоединяешь ноды и вуаля, твой кусок тека готов.
>>287577
#758 #287577
>>287543
спасибо, затесчу на досуге.
Пока ты еще не заснул надеюсь, хотелось бы узнать как сделать так, чтобы локальное направление шарика, которым я управляю, менялось?
Другими словами, я не хочу чтобы шарик смещался в сторону, как у меня это происходит в этом коде: http://pastebin.com/UWh1iEFg

Я хочу, чтобы он поворачивал, изменял локальное направление. Как в у этого господина: https://www.youtube.com/watch?v=zNefO8RhUWU

Почти весь день убил на решение этой проблемы.
>>287587
#759 #287587
>>287577
Сделай перемещение, как Transform.position += Vector3 и этот вектор считай, как сумму текущей инерции и вектора силы. Вообще, если не хочешь ебаться с физикой (а тебе, по сути, надо будет), то нужно делать
Инерция = Инерция + Ускорение
Инерция = Инерция - Инерция * 0.3 (или что еще от 0.00001 до 0.99999), а в случае с физикой. Использовать AddForce() для физического компонента и шар сам покатится как надо.
>>287642
#760 #287591
Что за опция если выбрать объект и нажать W, камера перемащется к нему. Как ее выключить нахуй. Она у меня рандомно активируются, что дико бесит т.к. мешает управлять камерой в FPS режиме
17 Кб, 877x347
56 Кб, 650x420
#761 #287600
>>287465
Покурил , если правильно понял, то сей паттерн позволяет менять кишки корабля, радар , поведение , короче вместо копания в наследнике, копаемся в фабрике, не нужно делать пиратэШИп, треэдорШип, делаем просто шип, а фабрика ему сама разложит все?

Сделал макаронину, а потом в паттернах нашелся Activator.CreateInstance. Вот бы в функцию передавать просто тип, без параметра, ибо подсвечивает.
>>287626>>287632
#762 #287626
>>287600
Типа того. У тебя есть Ship с параметрами (Name, Class, Fraction и куча еще всего) и есть статичный Колян класс ShipFabric с не менее статичным методом SpawnShip(~параметры создания~) и возвращающим твой Ship уже настроенный и все такое. Только фишка вот в чем - у тебя же может быть несколько префабов этих самых кораблей. пусть фабрика инстанциирует определенный префаб, докручивает его и выдает тебе в нужную точку пространства, вот и вся магия.

А тип в функцию можно передавать, например с помощью enum.
#763 #287632
>>287600
Лучше используй шаблонные методы, а не строки
CreateShip<TShip>() where TShip : Ship
>>287633
#764 #287633
Или хотя бы enum >>287632
#765 #287642
>>287587
Я проснулся и понял - тебе, ясен красен, нужна физика, у тебя же шар по треку катается. Кидаешь на него Rigid Body и в компоненте со скриптом движения толкаешь его через разные виды AddForce().
29 Кб, 604x587
#766 #287655
Привет, посоны.
Пишу плагин на ассетстор и планирую добавить в него интеграцию с другим плагином. У человека либо может быть этот сторонний плагин в сборке, либо нет. Если я пишу компонент интеграции, он ссылается на класс, входящий в сторонний плагин, и все хорошо, но если стороннего плагина нет, то выплывают ошибки, говорящие о том что этот класс не найден что логично.
Шо делать, братцы? Комментировать куски кода с предложением покупателя их раскомментировать в случае необходимости не хочется.
>>287656>>287665
#767 #287656
>>287655
Хм, а #if() тут не подойдет?
>>287664
98 Кб, 960x660
#768 #287664
>>287656
Погоди, разве препроцессору юнити можно свои условия задавать? Из стандартных только выбор платформы или версии движка... И да, кажется в самом конце документации что-то об этом есть.
Если не затруднит, скинь пример. Спасибо!
>>287734
#769 #287665
>>287655
Тебе надо ссылаться на Object , и проверять, является ли он этим самым классом.
>>287669
43 Кб, 499x675
#770 #287669
>>287665
А это здесь при чем?
У меня не компонент потерян, а класс целиком. Невозможно сделать твою проверку, если нет класса в сборке.
>>287672>>287678
#771 #287672
>>287669
Все классы наследуются от базового Object class. Си шапр - язык строго типизированный, поэтому ты не можешь просто искать "а если тут такой-то класс?", если ты обращаешься к классу напрямую, это значит он уже должен быть полюбому. Если нет, вылазит твоя ошибка.
Поэтому,когда ты ищешь, существует ли какой-то класс, ты должен работать с Object, с классом всех классов. Ну правда тебе и весь код потом надо будет с учетом этого строить.
>>287674
55 Кб, 640x480
#772 #287674
>>287672
Класса нет.
Просто нет.
Но он может быть с некоторой вероятностью.
Прими это как факт.
Да, сисярп соснул, очевидно, и помогут мне тут только макросы.

А то что ты мне предлагаешь сорт оф бред.
>>287678
#773 #287678
>>287669
Представляю какой ты там плагин написал с такими-то познаниями в коде.

>>287674

>сисярп соснул


лал.
Самый простой вариант это попытаться найти тип по имени, создать через активатор и через рефлексию вызывать методы
>>287682>>287694
469 Кб, 1920x2715
#774 #287682
>>287678
Хули ты хотел, я с рефлексией не работал ещё :<

А за решение здоровенный тебе лойс, похоже это именно то что мне нужно!
#775 #287694
>>287678
Ладно, раз уж тут столь прошаренный анон, у меня есть два вопроса:
1) что думаешь по поводу использования наследования вместо композиции?
2) есть ли смысл в использовании свойств вместо полей, если при обращении к свойству не происходит никаких проверок?
#776 #287720
Нет, рефлексия идет нахуй, это дерьмо экстремально медленно.

Тупо закомментирую кусок кода с предложением его раскомментировать или заюзаю макросы.
#777 #287734
>>287664
PlayerSettings.SetScriptingDefineSymbolsForGroup(BuildTargetGroup.Standalone, "CLIENT");
Не подойдет?
>>287863
10 Кб, 968x579
30 Кб, 968x579
#778 #287749
Как бороться с размытыми шрифтами? В первой менюшке всё нормально, в любом подменю - шрифт размывается.
Pixel Perfect и Refernce Pixels per Unit вообще никакого эффекта не дают.
>>287845
68 Кб, 843x841
#779 #287837
>>287300
Бро, а как потом вывести в файл например? Дебуг еще показываает в какой строке произошло событие, я не знаю как такое делать, короче я маленький, мне погремушку пожалуйста. Неужели нет готового решения? Можно ли сделать несколько консолей, и в каждой выводить разное?В одной лог поведения, во второй лог боя, потому что с одного места разгребать все пиздец, при том что по сути нихуя не написано.
>>287928
#780 #287845
>>287749
У каждого шрифта есть материал. Посмотри в него.
>>287846>>287939
#781 #287846
>>287845
Ну не шрифта, надписи текстовой, в смысле.
#782 #287863
>>287734
Как это работает? -
#783 #287878
С чего начать изучение юнити? Хочу сделать 2Д говно игру.
#784 #287917
Unity
#785 #287919
Ubuntu
#786 #287927
Ubisoft
#787 #287928
>>287316
делаешь странное. взял бы кривые безье, сделал бы через них генерацию дорог любой формы.
если не хочешь то просто указывай места соединений примитивов. гораздо быстрей, проще и лучше любой автоматической хуйни будет.

>>287837

>как потом вывести в файл например


https://msdn.microsoft.com/ru-ru/library/8bh11f1k.aspx
ну и воспользуйся FileUtil.GetProjectRelativePath которого почему-то в документации не нашел.

>в какой строке произошло событие, я не знаю как такое делать


а хуй знает, я тоже не знаю. немного поискал, нашел http://answers.unity3d.com/questions/238229/debugconsole-console-clicking.html можешь ещё расковырять dll у Console Enhanced, но там не очень читабельно.

>Можно ли сделать несколько консолей, и в каждой выводить разное


создай свои окошки, хули ты.
https://docs.unity3d.com/ScriptReference/EditorWindow.html и выводи в них всё что тебе там надо.
#788 #287939
>>287845
Есть возможность добавить материал, но у меня он не добавлен. Да и как он повлияет на тот факт, что тот же самый шрифт, с теми же настройками в разных меню выглядит по-разному?
>>287955>>288207
#789 #287955
>>287939
Наверняка влияет настройка фильтрации текстуры при растягивани-сжатии. Для пикселей нужен Рoint, по дефолту там Linear.
Хз где это в юните крутить, у меня в велосипеде все ясно и понятно.
>>288256
#790 #287996
>>277225 (OP)
Чем больше яувел чиваю размер content, тем больше меняется scrollbar. Какая формула зависимости?
#791 #288090
Dictionary<GameObject, float> offsets = new Dictionary<GameObject, float>();

Посоны, а GameObject нормально использоватъ как ключк коллекциям? Там нет подводных камней. Думаю все норм, но на всякий....
>>288115>>288143
51 Кб, 1112x781
27 Кб, 523x316
обоссыте чтоли #792 #288106
1. Почему все получается на ебаных if-ах и переборах, сдается так не должно быть. Ну ладно, может в некоторых местах действительно лучше использовать их, но они повсюду. Вот смотрите, есть пять функций MoveTo, который двигают корабль к планете, или другому кораблю. Корабль стоит в доке, флаг "док" тру. Что делать? Городить очередной if в функции поведения , который будет проверять "если задание сидеть на жопе, то дальше тру, а если нет, то фолс". Но проверок таких может быть дохуя, в доке, в гипере, в сраке, страшно жить. Может юзать события, типа док и все остальные кому надо подписались на событие движения и всем норм. Но я так, мысли вслух, жду напутствий, и желательно пояснений за события. Медленные/быстрые, любят ньюфагов и тд?

2. Как убрать пидорский Random из System, чтоб остался только от юнити и не нужно было указывать пространство имен, или как это называется. Или наоборот, но от System ничего не подсвечивает, когда ставишь точку, схуяли?

3. Не до конца понимаю тонкий смысл переменных начинающихся на is.
#793 #288115
>>288090
Объекты должны быть уникальными, у них хеш это адрес в памяти. Если ты сможешь грантировать это то все норм.

Хотя твой словарь выглядит как говно, похоже что GameObject'ам просто не хватает одного компонента со свойством типа float.
>>288120>>288143
#794 #288118
>>288106
1) Заведи кораблю стейт. Проверяй в нем только те условия которые могут перевести корабль в другой стейт + что- важное. При смене стейта - меняй сам объект стета с логикой проверок состояния.
Короч: http://gameprogrammingpatterns.com/state.html
Квест: найди перевод. Он точно есть.

2) Никак. Пидорские проблемы на самом деле.

3) Соглашение об именовании логических переменных(bool).
Просто удобно писать и читать
// если оружие не в кулдавне то делать что-то
if (!weapons[j].IsCooldоwn)
{

}
#795 #288120
>>288115
чо я должен гарантировать? уникальность ссылочного типа компилятора лол?

я стекинг пилю, ну чтоб игрока совсем уж не облипляли, типа каждый сверчок знай свой шесток
>>288121
#796 #288121
>>288120
Что ты туда два раза один объект не подсунешь в качестве ключа.
Вот нужно тебе будет заиметь по два флоата на один объект и ты будешь соснулей писать велосипед. Продумай это сразу.
#797 #288123
>>288106
2) using Random = UnityEngine.Random;
#798 #288143
>>288115

>у них хеш это адрес в памяти.


Ахуенные истории ИТТ
>>288090
Работать скорее всего будет, но ты начинаешь делать такое дерьмище... Добавь компонент с этим флоатом
15 Кб, 480x360
#799 #288170
>>288106

> Не до конца понимаю тонкий смысл переменных начинающихся на is

#800 #288207
>>287939
Я не видел твой проект, не видел настроек текста и материалов. Такое может случиться если у тебя нет материалов на одних компонентах, а на других есть. Это может быть из за настроек канвы, а я практически уверен что на каждое меню у тебя минимум отдельная канва, а максимум - отдельная сцена. Если бы ты все сделал как положено, на одной канве с одними и теми же компонентами - в любом меню все было бы идентично. Значит обосрался именно ты. Ищи в чем.
>>288256
#801 #288212
>>288106

>почему все получается на ебаных if-ах и переборах, сдается так не должно быть


Не должно.

state = inDock;
switch state {
case inDock:
doSomething();
break;
case inSpace:
doSomethingElse();
break;
}
>>288242
#802 #288242
>>288212

> говно заменить мочой


Найс.
>>288251
#803 #288251
>>288242
Ну почему же говно. Все просто и понятно. И читабельно. Но ты продолжай плодить условия, оно потом к тебе само придет, со временем.
>>288332
#804 #288256
>>287955
>>288207
Всё хуйня, пацаны. Никакие настройки шрифтов и пикселей тут не при чём. Шрифт размывался, если тушить канвасы по типу

>mainMenu.enabled = false;



Переделал код на

>mainMenu.SetActive(false);



и все менюшки стали резкими.
310 Кб, 1867x1023
#805 #288318
>>277225 (OP)

Бесит герой иногда задевает стыки (после приземления после прыжка) и поэтому начинает подскакивать -_-.
Может тут кто нибудь делал игру с тайлами?
Может кто дать советы как на юньке лучше делать тайловую игру?
#806 #288320
>>288318
Если не пишешь клон террарии, где уровень будет непредсказуемо меняться в процессе - отдели логику тайлов от логики платформинга. Проще говоря - лепи тайлы без коллизий, а коллизию делай одну и большую.
Можно написать код, который бы делал PolygonCollision, анализируя твою тайловую сетку.
>>288325
#807 #288325
>>288320
Да суть в том что все можно будет менять -_-.
Но идея что можно все обвести большим полигоном норм.
#808 #288331
>>288318
Убери два ненужных коллайдера кружка и твоя проблема решится.
#809 #288332
>>288251

> И читабельно


Когда начнешь делать что то более крупное чем хелоуворды с кубами, тогда то ты обосрешься.
#810 #288334
>>288318
Без кругов он на "стыках" застревает (даже если они 1 к 1 подогнаны)
>>288351
#811 #288337
>>288332
Чем плох его метод?
>>288352
#812 #288341
>>288332
Хуя, у меня на стейтах написан "ИИ" юнита в RTS, отлично работает, отлично выглядит в коде. Это ИИ самолета, поддерживает двухэтапную посадку, взлет, заходы на атаку, отходы на перезарядку, уклонение от препятствий
#813 #288343
>>288332
Аргументация уровня гд, от человека, который масштабнее хеллоувордла ничего не писал) Прекрати этот цирк.
#814 #288351
>>288334
Если у тебя "застревает", значит ты что-то накриводелал. У тебя физический материал назначен или дефолтный стоит? Может стоит ему боунс скрутить до нуля?
#815 #288352
>>288337
Наверное он просто пишет функцию прямо в теле переключателя, вместо того, чтобы там ее вызывать. Гуманитарии, что с них взять.
>>288356
#816 #288356
>>288352
Оу, если это так, то это ужасно.
#817 #288394
Не подскажете почему у меня в монодевелопере нет выпадающих вариантов во время ввода кода?
>>288636
#818 #288569
Итак, вернёмся к вопросу, который был озвучен пареньком выше, про бесконечные нагромождения if-ов в коде.
Никто так однозначно и не решил, как же их правильно оформить.
В виде стейтов? В чём тогда проблема того анона, которому жопу от стейтов рвёт?
Может есть другие способы, которые всех бы устроили?
Я хотел бы точно знать, как мне делать, чтобы потом не было проблем ни с читабельностью кода, ни с, тем более, производительностью игры.
мимо-другой-анон
>>288573>>288591
#819 #288573
>>288569
Стейты - хороший вариант. Жопу рвет зеленому жирному, который почему-то решил, что паренек будет прямо в теле switch-case есь код писать, а не выносить его в отдельные методы.

Я линчо if-ы использую, зачастую, тогда, когда код, в них выполняемый, умещается в одну строку (и можно оформлять без скобочек)
>>288579
63 Кб, 600x450
#820 #288576
Борщаны, один тик в унити это сколько миллисекунд? А то смотрю скорость выполнения кода - в мс показывает ноль, в тиках несколько тысяч.
#821 #288577
>>288576
Использую Stopwatch, конечно же.
#822 #288579
>>288573
Окей, спасибо
#823 #288583
>>288576
Оптимизируешь код?
>>288640
sage #824 #288591
>>288569

>В виде стейтов? В чём тогда проблема того анона, которому жопу от стейтов рвёт?



То, что там, это не стейты, а замена ифовой макаронины на кейсовую. Стейты, это такая стратегия, заточенная на автоматические переходы между состояниями. В правильных стейтах нет ни ифов, ни кейсов.

Там есть интерфейс с методом (или абстрактный класс с абстрактным же методом). Есть несколько имплементаций интерфейса, с разной логикой в этом методе. Есть класс, имеющий поле, куда при переходах между стейтами схороняются ссылки на разные реализации интерфейса. А метод всегда вызывается один и тот же, без всяких ифов. Но так как в разных ситуациях в поле хранятся разные объекты с разной внутренней логикой, то и результат выполнения будет разный.

Отличие от стратегии, грубо говоря, только в том, что в реализации еще зашита логика перехода между состояниями в процессе выполнения.
>>288638>>288644
sage #825 #288599
Как-то так:
http://pastebin.com/Tzwvz6c3
#826 #288623
>>288576
не знаю, что там в унити, но тик - это тик процессора, походу, поэтому должен зависить от частоты
>>288645
#827 #288625
А где питух с кубиками?

йоба.жпг
21 Кб, 813x561
16 Кб, 809x562
#828 #288627
У меня есть две сцены и один куб. И этот куб выглядит в разных сценах по разному. Это буквально один куб, один префаб, я ньюфаг не знаю как объяснить. Даже сам материал имеет разный цвет то есть даже неперетасканный на сцену там в окошке на скришотах видно. Щито это? Это какая-то глобальная настройка?
#829 #288636
>>288394
Такое иногда бывает. Сделай ему рестарт. Или ты просто забыл нужные неймспейсы подключить.
>>288642
#830 #288638
>>288591

>в правильных стейтах нет ни ифов, ни кейсов


Смотрите, щас этот демагог нам пояснит как правильно. Нет.
#831 #288640
>>288583
Тип того
#832 #288642
>>288636
Ну понятное дело, что такое бывает и что рестарт помогает. Но я вот заебываюсь это проделывать каждый день. Так в чем собственно суть проблемы никто не знает? И почему ее решения до сих пор нет?
>>288643>>288647
#833 #288643
>>288642
Есть. Ставь VS.
#834 #288644
>>288591
Это всего лишь одна из реализаций. Имеет такое же право на существование, как и переключение стейтов ифом.
#835 #288645
>>288623
А в единицах меньше чем мс можно вывести?
#836 #288647
>>288642
Может быть проблема с правами доступа, хуй знает. Иногда бывает что юнька не подхватывает сохраненный код из-за этого. Логично предположить. Алсо, есть функция перезагрузки данных в самом монодевелопе.
#837 #288648
>>288576
Это столько, сколько ты указал в настройках. Прожект сеттингс - тайм. В справке все написано.
#838 #288659
>>288627
неужели у меня одного такая хуита? Иногда помогает создание нового проекта и перетаскивание ассетов из предыдущего, но есть же какие-то способы устранить вот это все.
>>288660
#839 #288660
>>288659
Ты уверен что дело не в освещении или настройках сцены?
>>288700
#840 #288700
>>288660
Настройки освещения и камера в сценах одинаковы. Да и потом даже когда объекты расположены не на сцене, то в окошке asstebundle из скриншота материалы отображаются по разному >>288627

А что за настройки сцены?
>>288704
#841 #288704
>>288700
Выглядит так, словно у тебя на второй сцене не рассчитался свет по какой-то причине. Консоль ничего не пишет?
>>288707
#842 #288707
>>288704
ничего, сейчас скомпелировал эти кубы. В одной сцене он светлый, в другой темный. Создавал новые сцены, в них опять все темно. Оди и тот же материал становится темнее, что это за аномалия такая? Это кстати после обновления стало появляться. у меня сейчас 5.3.5f1
>>288711
#843 #288711
>>288707
Ну и поставил на закачку 540f3 может там такого нет. Вообще я где-то слышал что весь проект от начала разработки и до релиза нужно делать на одной версии юнити, может проблема в этом? Это не из каких-то официальных рекомендаций, на форуме каком-то может даже здесь. Это пиздежь или я на этом и проебался?
#844 #288736
>>288627
Я просто сделал копию сцены в которой материалы отображаются коректно удалил из нее все объекты и теперь вместо созздания новой сцены копирую и переименовываю новую сцену, это пиздец, долго объяснять но там публичный массив из почит ста объектов который я перетаскиваю из оокошка вручную в инспектр. С этим багом это преваритлось в ебаый ад. Кто-нибудь может подсказать, что мне с этим делать?
>>288737
#845 #288737
>>288736
Попробуй реимпортнуть все ассеты(пкм на окошко с файлами проекта -> Reimport All)
>>288740
#846 #288740
>>288737
Я уже обновил юнити и все файлы реимпортировались. Я вообще прлолистал баг репорт из последний верисс там упоминались некоектные цвета, но в другом контексте. Это какая-то редкая ошибка. У меня в планах клепать проекты на две, три сцены, так что это не такая ужж и большая проблема для меня. Заебывает конечно, но даже на русскм языке я нем огу объснить в чем суть ошибки не то что отчет составлять. положу хуй до поры до времени. Но если кто-то сталкивался, то отпишитесь, что проблема не единичная.
>>288765
#847 #288765
>>288740
Готовься, будешь StateManagerom сцены менять, в редакторе у тебя по пизде снова все пойдет (а вот в скомпилированном проекте все норм будет), так что не пугайся
>>288777
#848 #288777
>>288765
Все, как ты говоришь уже произошло, да вроде норм. Я вообще хотя бы понял что такое юнити.
#849 #288834
Привет!
Подскажите плиз что за хуйня: когда я дергаю gameObject.SetActive у меня в консоли StackOverflowException
>>288837>>288849
#850 #288837
>>288834
Метод уходит в бесконечную рекурсию. Ты бы хоть сам код показал.
>>288844>>288845
#851 #288844
>>288837
да, точно, спасибо, нашел.
sage #852 #288845
>>288837

bool active
{
get
{
gameObjectSetActive(setActive);
return gameObject.activeInHierarchy;
}
}
>>288849
#853 #288849
>>288845
это не мой код, >>288834-кун
#854 #288903
Анон, если я хочу использовать float в виде "x,xx", могу я это сделать как-то без постоянного округления?
Ну то есть есть ли такие типы переменных, где есть только одна-две цифры после плавающей точки и всё?
>>288905>>288914
sage #855 #288905
>>288903
Decimal.
#856 #288914
>>288903
number.ToString("0.00");
>>288915
#857 #288915
>>288914

Если только в дебагер, лол
>>288918
#858 #288918
>>288915
че несешь?
#859 #288940
Хотел еще кое что спросить.
Есть ли в юнити может какая настройка для времени обработки пересечения?
Суть: Карта состоит из кубиков. И когда герой прыгает на них он на пару кадров проникает в блоки и сразу же выныривает. Такое ощущение что он не успевает обработать пересечение. (Хотя если поставить большой блок (из одного большого колайдера) то такого безобразия не заметно).

p.s. В box2d такой хуйни не было -_-
#860 #288964
>>288940
Да, можно увеличить частоту FixedUpdate (надеюсь, расчеты физики ты там делаешь?)
#861 #288966
>>288964
Ну как бы нет -_-. На юнити надеюсь.
"Расчет физики" - Это типа: поставить тригер внизу героя. Если во время пересечения тригера с объектом и rigibody2d.velocity.y < 0 то герой приземлился?
#862 #288967
>>288964
А все. Догнал.
Да. КОнечно все в нем
#863 #288970
>>288964
Кстати спасибо. Уменьшил с 0,02 до 0,016. И все как по маслу
sage #864 #289039
>>288940
У ригидбади есть настройка типа обработки столкновений. Поставь переключатель на постоянную.
sage #865 #289042
>>288940
в настройках риджид боди поставь collition detection -> continius dynamics
>>289043
#866 #289043
>>289042
сажа случайно прилипла
StangeIoc #867 #289044
Кто-нибудь упарывается StangeIoc? Хочу попробовать на следующем проекте. Какие подводные камни?
>>289053
#868 #289045

>StrangeIoc


быстрофикс
#869 #289053
>>289044

>Какие подводные камни?


Никаких, если тебе нравится заниматься ООП-аутофиляцией.
#870 #289104
У трансформов добавленных к костям не обновляется положение. Что же делать-то?
>>289128
#871 #289128
>>289104
нихуя не понятно, пиши более развернуто
>>289231
#872 #289134
Мне нужен материл, у которого будет только diffuse и emission в параметрах, то бишь только текстура и чтобы она светилась. Как это сделать? В стандартных шейдерах такого нету, ну в смысле есть standart shader, но там много параметров, а мне нужно два. Можно как-то просто накидать нужных параметров самодельному шейдеру, или только кодом? И да, есть ли смысл? Или на производительность не влияет и можно использовать стандартный с множеством ненужных параметров?
>>289176>>290272
#873 #289176
>>289134

>Или на производительность не влияет и можно использовать стандартный с множеством ненужных параметров?


this
>>289177>>289252
#874 #289177
>>289176

>влияет, но не настолько чтоб переживать об этом даже не открыв юнити


поправил.
>>289178
#875 #289178
>>289177
Не давай лишних поводов мамкиным оптимизаторам
>>289179
#876 #289179
>>289178
Он пойдет писать свой движок, а значит будет меньше конкуренции.
>>289192>>289201
#877 #289192
>>289179
Местные кириллы способны составить конкуренцию только пёсьему анусу
>>289201
#878 #289201
>>289192
>>289179
Баки, не шарите в шейдерах - не пишите.
Никаких просадок по оптимизону на стандартном шейдере от неиспользованных параметров не будет, даже малейшая задержка относительно самопального шейдера исключена.
30 Кб, 500x314
#879 #289231
>>289128
Ой все обновляется. Это я забыл инстансировать префаб и брал значения из префаба.
103 Кб, 800x768
43 Кб, 450x604
всем ку #880 #289235
Короче поцоны, пошел читать паттерн статер, заодно в другие заглянул. Есть паттерн стратегия, и не совсем ясна их разница. Смотрите, вот в пример со статером был дан принтер, у него там методы On(), Off(), Print(), AddPaper() и состояния, тоже 4. Если игрок раздрачивает принетр то збс, а если ИИ, то должно что-то же управлять свыше. Ибо откуда знать что нажимать? В моем случае в менеджере перебираются все корабли и вызывается Behavior(). Ну и норм, выполняется один алгоритм, если что пошло не так, заменил сам себя другим. Выходит что "стратегия" как бы урезанная версия статера, где алгоритмы по сути состояния, но только метод у них один. Или не?

От if-ов не удается избавится, но разложенное по классам удобнее, нежили городить в одном месте. Ведь состояния же переключатся внутри себя тоже всякими иф-ами, и от этого никак не уйти, а? а? Ну скажите.
>>289482>>289483
#881 #289252
>>289176
Спасибо, но можно ли избавиться от небольшого осветления объекта? Если использовать diffuse то текстура будет такая же, как и нарисовал, а стандартный ее немного обеляет.
>>289276
#882 #289276
>>289252
Он её обеляет потому что PBR. И это правильно. Но если это тебя так напрягает, заюзай legacy шейдер на самом деле нет, не надо, блядь, пожалуйста, не делай этого, из-за таких как ты люди начинают считать, что в юне нет графена
#883 #289280
Почему point light не работает с mobile шейдорами в forwading rendering. Это просто безобразие.
#884 #289284
Анон, поделись мудростью с ньюфагом. Сколько реально свободного места должно быть на системном разделе пекарни для установки Хуюнити с нуля?
У меня установщик уже сожрал пять свободных гигов на системном разделе, хотя я перед установкой указывал для загрузки путь на совершенно другой раздел.
>>289287>>289288
77 Кб, 833x502
#885 #289287
>>289296
sage #886 #289288
>>289284
Он тебе стандартных ассетов в документы накатил
>>289296
1 Кб, 198x51
#887 #289290
Поясните лучше за этот незадокументированный атрибут.
Это такой сорт оф траленк?
#888 #289296
>>289287
>>289288
Спасибо.
Алсо, как оказывается, основная проблема была в Visual Studio, который как раз эти пять гигов и сожрал.
Если его не устанавливать, какие подводные камне меня ожидают?
>>289297
#889 #289297
>>289296
MonoDevelop например
>>289300
#890 #289300
>>289297
Анон, я и правда ньюфаг. Типа как полный ньюфаг. Что в практическом смысле будет означать неустановленный супертяжелый кусок говна от микрософта в плане разработки игоря?
Мне будет не хватать жизненно важных библиотек, или типа того?
>>289302
#891 #289301
Поясните за музыку/звуки в игре. Почти закончил первый проект для андроид, он совершенно безвучный, откуда пиздить? и нужно ли вообще? я сам музон отключаю на играх, но может есть какой-нибудь генератор бесконечных амбиент мелодий?
>>289304>>289331
#892 #289302
>>289300

> Что в практическом смысле будет означать неустановленный супертяжелый кусок говна от микрософта в плане разработки игоря?


Просто не будет Клёвой Тёмной Темы™ из коробки. И, возможно, винда не обновится без спроса, и после перезагрузки у тебя всё ещё будут запускаться 32-битные приложения.
>>289341>>289372
#893 #289304
>>289301
Бля, не тот тред, вот тут правильный >>289303
#894 #289320
Сап. Хочу угореть по геймдеву, а в юнити нужен шарп. За сколько примерно можно выучить шарп только для юнити, без всяких дотнетов? Имею опыт node.js, python, go.
>>289330>>289338
#895 #289330
>>289320
си шарп довольно объемный, даже без дот нетов, но для юнити нужно далеко не все, только основы. так что не заморачивайся.
#897 #289338
>>289320
Шарп по сложности где-то между бейсиком и твоей парашей для макак.
#898 #289341
>>289302
Всё лучше чем моно.
sage #899 #289372
>>289302

>2016


>неспособность совладать с вендой



Что ты в этом разделе забыл, чепушило ламерское?
>>289422
#900 #289422
>>289372
Я просто поделился фактом из своего опыта. Забавно, что ты почувствовал необходимость оскорбить меня, причём несправедливо.
>>289424
sage #901 #289424
>>289422
Ой блять, иди нахуй, даун
sage #902 #289482
>>289235
Стейты, это один из вариантов реализации стратегии. Стратегия вообще в основе почти всего лежит. Это один из базовых паттернов.

Ифы это нормально, если их не много. Хуево, когда из ифов строится лесенка.
sage #903 #289483
>>289235
Алсо, не используй подчеркивание в названиях классов. Некомильфо.
#904 #289523
Поясните за использование кода/ассетов, которые в свободном доступе в интернете. Понятное дело ассетсторе, где все что бесплатно - используй как хочешь. Но вот допустим кто-то выложил на гитхаб или дропбокс свой скрипт, можно его использовать и потом продать результат с ним? Если он ничего про это не писал, то значит что можно, или наоборот нельзя?
>>289792
#905 #289534
Как перестать проигрывать с фразы UNITY COMMUNITY? Я не могу уже. ЮНИТИ КОМЬЮНИТИ, бля.
>>289603>>290167
#906 #289574
Братишки, поясните за проваливание в текстуры когда используешь полигон коллайдер 2д, как с этим бороться?
И еще вопрос: как сделать 2д лифт в игре? Пробовал создать с помощью анимации, так персонаж скакал и дергался как припадочный в этом лифте.
#907 #289603
>>289534
Сколько тебе лет?
>>289689
#908 #289689
>>289603
19, 20 почти.
>>289771
254 Кб, 800x1050
#909 #289712
#910 #289715
Как в скрипте экземпляра префаба изменить публичное свойство префаба, а не только экземпляра?
>>289747
#911 #289747
>>289715
Внезапно сделал по-другому, доволен как слон.
Пытался реализовать что-то вроде покупки вещей для игрушки на андроиде, ебался почти два часа, пойду спать
#912 #289771
>>289689
Ну хуй знает, в твоем возрасте уже не следует с такого проигрывать.
#913 #289792
>>289523
GitHub в своих правилах написал, что если не оговорено иное, то у выложенного на нём кода лицензия GNUv3. То есть ты можешь этот код использовать сколько влезет, но ты должен будешь на него сослаться в своей работе, а также свой код также сделать открытым. Но я плохо помню уже, лучше загугли.
>>289797
#914 #289797
>>289792
Извиняюсь, я всё перепутал.
https://help.github.com/articles/open-source-licensing/
Если лицензии нет, можно сделать форк кода, а потом его использовать.
Но вообще более-менее приличные люди как правило пихают наиболее понравившуюся им лицензию в исходники. Стоит обратить на неё внимание.
>>291681
#915 #290022
Охуительные истории из разряда детских ошибок:

>забыл поставить приватным полям атрибут SerializeField


>полдня ебался, пытаясь выяснить отчего же скриптаблы отказываются как следует сохраняться


>еще один день без ощутимого прогресса

>>290098
#916 #290085
Ньюфаг вкатывает в тред.
Нужно сделать эффект затенения картинки с одновременной подсветкой некоторых объектов (типа оутлайна). Подскажите, аноны добрые.
>>290095
#917 #290095
>>290085
Делай, разрешаю.
176 Кб, 480x480
#918 #290098
>>290022
Как я тебя понимаю
#919 #290150
Правда ли, что на фришной версии Юнити запрещено делать онлайн игры с монетизацией?
#920 #290167
>>289534
Блять, ору
#921 #290223
Аноны, вопрос. В юнити есть какая-то сильная разница между использованием с или питона?
Если питон вообще поддерживается...
>>290224
#922 #290224
>>290223
Ни того ни другого в юнити нету
>>290225
#923 #290225
>>290224
Под с Я имел ввиду с++ и с#
>>290235
#924 #290235
>>290225
Плюсов тоже нет, но ты можешь скормить шарпу библиотеку, написанную на плюсах.

А вообще иди ка ты нахуй отсюда, если гуглить не способен.
>>290256
#925 #290239
Посоны, хочу писать на Boo, какие подводные камни?
>>290243
#926 #290243
>>290239
Хз, например то что в юнити его уже давно нет.
>>290245
#927 #290245
>>290243
Буду работать на унити 2.5
Ничего не потеряю же? Все ради бу!
>>290250
#928 #290250
>>290245
Ты болен, сходи к врачу.
#929 #290256
>>290235
Я гуглил, и знаешь что нашел? Скриптинг поддерживается на с++, с# и питоне...
>>290265>>290313
#930 #290265
>>290256
Ты как-то очень хуево искал.
То что он на этих языках написан не значит, что он переваривает скрипты на этих языках.

Скрипты ты можешь писать только на обрезанном JavaScript или на шарпе под 4 дотнет.
>>290299
#931 #290272
>>289134
Если игра не на мобилки, то забей хуй и юзай стандартный шейдер. Если на мобилки, то legacy shaders -> Self-illumin -> Diffuse
#932 #290287
Аноны, поясните. Юнити использует component-based architecture. А как сам движок понимает, что у компоненты есть тот или иной метод?
>>290309
#933 #290299
>>290265

>на шарпе под 4 дотнет


>дотнет


Тупой и еще тупее.
>>290488
#934 #290309
>>290287
Какой например?
>>290315
#935 #290313
>>290256
Про C# правда, про C++ и Питон - нет.

Впрочем внешние подключаемые библиотеки можешь хоть на Brainfuck писать, только это не скриптинг и нужно будет делать враппер на C# или Javascript.
#936 #290315
>>290309
Ну допустим Update();. Мы же его не переопределяем.
>>290319>>290322
#937 #290319
>>290315
Он определен в классе MonoBehavior, который наследуется во всех твоих скриптах, слепошарый.
>>290322
#938 #290322
>>290319
Ты смотрел хотя бы декомпиляцию на уровне названий методов? Там нет ни его ни start, awake и пр.

>>290315
Скорее всего методы ищутся при помощи рефлексии. Спецификация движка определяет методы с какими названиями и с какой сигнатурой нужно искать.
>>290340>>290410
#939 #290340
>>290322

>декомпиляцию на уровне названий


Про обусфкацию слышал?
>>290342
1 Кб, 301x87
#940 #290342
>>290340
Даун, тебя с ложечки покормить?
56 Кб, 641x470
#941 #290356
Товарищи аноны, есть какой нибудь ассет, который творит Boolean Mesh магию в реал тайм? Boolean Ops не подходит, т.к. он только для едитора, а мне нужна такая срань - падает объект сложной формы и "просверливает" в меше дыру по форме себя. Как это реализовать?
>>290818
#942 #290410
>>290322
А ведь меня тоже всегда интересовал ответ на этот вопрос.
http://answers.unity3d.com/questions/896156/how-is-monobehaviour-update-called-and-how-do-i-im.html
http://answers.unity3d.com/questions/23830/c-overridable-methods.html

Вот что нашёл.
#943 #290488
>>290299
И в чем же я ошибся, петушок?
Только не задвигай мне телегу про реализацию, я о стандарте говорил.
#944 #290595
Заебался, пытаясь сделать в Юнити pixel-perfect графику. Вычисляю текущее разрешение и подгоняю размер камеры так, чтобы по вертикали получалось целое число пикселей. Тем не менее иногда возникают артефакты, почему-то только на вертикальных полосках пикселей. Выглядит это как будто половины пикселя нет. Есть теория, что это связано с горизонтальным разрешением, но хз. Горизонтальные артефакты победил путем перерисовывания всех спрайтов под 10 PPU. Пересмотрел все гайды в сети, попробовал кучу разных камер и подходов. Даже купил еба-камеру за 40 баксов. У кого-нибудь получалось заставить эту ссань нормально работать?
>>290603>>290821
#945 #290603
>>290595
Size камеры = разрешение окна игры по высоте, деленное на две высоты спрайта и твои пиксели будут идеальными как жопа Лопес. Например 1080/(2 x 16), укрупнить пиксели в 2 раза = поделить результат на 2 и т.д.
>>290606
#946 #290606
>>290603
Этот метод тоже пробовал. Работает как-то странно. В начале дает артефакты на некоторых разрешения, но после первого срабатывания Rigidbody (просто тыкаюсь персонажем в стену) все становится идеально.

Вообще просто пиздец у меня горит с этого Юнити. Сраные флоаты, ошибки округления какие-то, текстуры друг на друга наползают. В моем уютном вебе такого нет.
>>290610
#947 #290610
>>290606
Просто движение персонажем по диагонали дает тот же эффект. Ну вот что за хуйня? (
>>290612
#948 #290612
>>290610
Поставил персонажу начальные координаты (0.001, 0.001), все прекрасное работает, поставил (0, 0) — лезут артефакты. Это говно выше моего понимания.
>>290613>>290616
#949 #290613
>>290612
Проиграл почему-то.
#950 #290616
>>290612
Лол, как же хорошо, что я не делаю 2дпарашу.

Мимо3дбогссусьотюнити
#951 #290668
Посоны, может ли кто нить пояснить принцип, почему тут используется такая строка http://docs.unity3d.com/Manual/Layers.html

>int layerMask = 1 << 8;


То есть это равно 256, хули тогда он учитывает все, кроме слоя 8?
>>290694
#952 #290694
>>290668
Чтобы ты мог указать несколько слоев используется битовая маска, где позиция бита определяет индекс слоя, к которому он относится. Если тебе например надо выбрать первый и третий слой, то это будет 1010. Если третий, шестой и восьмой - 101001000.
>>290718
#953 #290718
>>290694
Спасибо.
#954 #290818
>>290356
двачую этого господина. Давно ищу нечто подобное. Был какой то туториал на тытрубе, который почти решал проблему, но мне было лень.
#955 #290819
Ребзя, есть комната, когда присоединяется игрок в ней спавнится стул(Одновременно может быть максимум 2 игрока).
Как идентифицировать эти стулья, дабы распределить на них пики точенные и хуи дроченные?(С условием что первый игрок получает только пики, а второй только хуи)
#956 #290821
>>290595
1. Ставишь камеру в режим ортографик.
2. Ортаграфик сайз должен равняться половине высоте экрана. То, есть ели у тебя девайс в высотой экрана в 640 пикселей, то ортографик сайз должен равняться 320. Ты можешь в рантайме делить высоту экрана на два (типа для всех экранов подойдет), это будет выглядеть примерно вот так:

void Start(){
GetComponent<Camera>().orthographicSize = Screen.height/2;
}
#957 #290824
Анончик, поясни за LOD в юнити шейдерах. У меня есть шейдер с двумя лодами 200 и 100, где 200 кукурузисный, а 100 для объектов подальше. Но естественно все это дело ничего не делает само по себе. Единственное что я нашел, это то, что можно для шейдера(или материала) перерубать максимальной LOD скриптом. Дело в том что у меня в целом используется всего один экземпляр материала, а значит, если я поменяю макс лод, то объекты на переднем плане тоже врубят пониженный лод.
Должен же быть какой-то чудо способ автоматизировать все это дело по дистанции? ЧЯДНТ?
>>291451
497 Кб, 669x1228
148 Кб, 852x756
131 Кб, 1040x658
#958 #290911
CG адепты, выручайте.
Как заставить transparent shader нормально работать на моих процедурных кубах?
Вершины/треугольники раскиданы по примеру стандартного кубического примитива юнити, нормали пересчитаны, тангенсы назначены. Не могу сделать нормальную воду из-за этой хуйни.
>>290996
305 Кб, 1269x841
#959 #290996
>>290911
Кажись врубился, всем спасибо
>>291270
#960 #291252
Саб, гд. Есть такой вопрос: В Юнити есть что-то наподобие многопоточности?
>>291262>>291264
#961 #291262
#962 #291264
>>291252
классы Debug и Mathf - thread safe

yoba.jpg
>>291277
#963 #291270
>>290996
Fade подрубил вместо транспарента?
>>291276
#964 #291276
>>291270
Если все было бы так просто, я бы сюда не писал
#965 #291277
>>291264
Не, мне нужно чтобы пока генерируется структура было что-то вроде загрузочного экрана, а потом сама сцена
>>291282
#966 #291282
>>291277
В чем проблема то? Делай генерацию в Start()
#967 #291364
>>279337
описываешь атрибуты меша и создаешь его
https://docs.unity3d.com/ScriptReference/Mesh.html
#968 #291450
>>277225 (OP)
Почему юнити говно?
Потому что разрабы ебанутые параноики:
Ограничения на встроенное программное обеспечение. Вам не разрешается непосредственно или опосредованно распространять контент лицензиата, установленный более чем на 1 000 электронных устройств или систем, если такой контент лицензиата обеспечивает пользовательский интерфейс или первичную функциональность таких электронных устройств или систем без отдельной лицензии, полученной от Unity. Это ограничение не препятствует Вам в распространении контента лицензиата, который был предварительно установлен на персональных компьютерах и потребительских электронных устройствах, таких как мобильные телефоны, планшеты, телевизоры или телевизионные приставки при том условии, что такой контент лицензиата не обеспечит пользовательский интерфейс или первичную функциональность такого устройства.

Коротко: Игры ты делать можешь, и продавать можешь, но распространять нет. Что за ебаный бред?
>>291452
#969 #291451
>>290824
ээээээ.. ЭЭЭЭЭЭ...
Если все отличе материалов только в йоба-текстурах, то смысла в таких лодах нет.
Текстуры генерят и переключают лоды автоматически.
При загрузке текстуры есть опция - генерить мип-мап уровни. Например для 8к х 8к текстуры лоды будут со сторонами 4к, 2к, 1к, 512 и т.д. до 16 пикселей. Памяти займут столькоже сколько и исходная текстура.
В шойдере когда ты выбираешь из текстуры то сразу учитывается нужный лод (сколько пикселей занимает объект на экране, под него ищется ближайшый подходящая мип-уровень по размеру, чтобы вибирать из него поменьше).
ВСЕ ЭТО РУЛИТСЯ НА УРОВНЕ ДЕВАЙСА БЕЗ УЧАСТИЯ ВЕРХНЕГО МОСКА ЧЕЛОВЕКА.
>>291493>>291624
#970 #291452
>>291450
То есть как я блять должен ограничить продажи?
Скачали тысячу копий и все вырубай продавалку?
Нихуя не понятно.
>>291456
#971 #291456
>>291452

>встроенное программное обеспечение


>обеспечивает пользовательский интерфейс или первичную функциональность таких электронных устройств


Ты идиот? Это значит ты не можешь сделать интерфейс для своего телефона или другого устройтсва на юнити
>>291487>>291498
#972 #291487
>>291456
представил ведройд, написанный в юнити и запущенный на айфоне и проиграл
>>291492
sage #973 #291492
>>291487
Не ведройд, а интерфейс приложухи под ведройд на юните реализующий основной функционал ведройда. Так нельзя.
#974 #291493
>>291451
В моем случае у меня два сабшейдера, где первый использует тесселляцию, генерацию нормалей, дисплейсмент вертексов, статичную нормаль, соответственно текстуры нормали и дисплейсмента, а второй сабшейдер с пониженным лодом, использует только цвет.
Ну и я хочу при достаточном отдалении перерубать всю эту штуку. Повторю шейдер всего один, однако используется для всей сцены, поэтому банальное глобальное переключение будет хуячить и ближайшие к игроку объекты
>>291521
#975 #291498
>>291456
Бля, лол реально пропустил запятую, вот ебан! У нас тут просто ночь, а я как полный долбоеб решил что 3 часа ночи это идеальное время для установки Юнити.

Но зачем им мои отпечатки пальцев?
Алсо, нет ли у них такой политики как у UE что комиссия из жирух, тумблерин и слабых на мозг жидов решает можно твою ДАЖЕ БЕСПЛАТНУЮ игру выпустить или нет.
#976 #291521
>>291493
Тогда есть два стула, выбирай, присаживайся:
1) Сделать в одном шейдоре несколько техник, перед каждой отрисовкой менять технику в зависимости от растояния. Тут надо руками рулить рендером на высоком уровне.
2) Передавать через юниформы информацию о расстоянии и уже в шейдере через иф выбирать подходящую обработку. Тут наверно батчинг сломается вместе с производительностью.
#977 #291535
Нужна поддержка приложением старых версий вёдер. Нужно ли для SDK качать API каждого уровня или можно обойтись самым последним?
#978 #291624
>>291451

>Памяти займут столькоже сколько и исходная текстура.


алгоритм бабушкина поможет?
>>291625
#979 #291625
>>291624
Школьник штоле?
Поможет формула суммы n-первых членов геометрической прогрессии. Считай, пробуй.
>>291668
#980 #291628
Сап, аноны. Кто-то сталкивался со слишком большим размером файла resources.assets.resS? Вся моя папка Assets весит 30мб. В билде игры этот файл весит 2,5ГБ(!) Хотя недавно весил не более 100мб. Гугл не помог.
#981 #291668
>>291625
Сам-то его в глаза видел, мистер абитура-уже-не-школота?
#982 #291681
>>289797

>Извиняюсь, я всё перепутал.


Совершенно верно.

Generally speaking, the absence of a license means that the default copyright laws apply. This means that you retain all rights to your source code and that nobody else may reproduce, distribute, or create derivative works from your work.
#983 #291744
сап юнитач. тред не читал
Как работает система подписки в юнити? Надо постоянно продлевать чтобы получать фичи типо "возможность made by unity и большой прибыли" или можно купить подписку, сделать билд игры и уже на этот билд будет пожизненная подписка?
#984 #291826
Пацаны такой вопрос к юнитиводам. Почему Ассеты с оф сайта не скачиваются, а только есть опция "открыть в юнити"? А если я хочу заготовку скачать себе чтобы открывать по вкусу из безсплатных то, что есть? Почему сразу только к текущему проекту и где скачать ассеты тогда?
>>292095
14 Кб, 547x547
#985 #292065
>>277225 (OP)
Посоны, проясните за сферкаст - он посылает сферу из ориджина по дирекшену на максимальную дистанцию?
Если так, то как мне кастануть сферу в точке, отличной от трансформа, причем не с проходом, а вот мне в точке Х, координаты которой отличны от координат трансформа, без чекания пространства между ними. Пик кароче.
>>292098>>292109
#986 #292095
>>291826
Добавляешь в проект, идешь в папку Assets, там находишь свой скачанный ассет. Перекидываешь в любой тебюе нужный проект.
#987 #292098
>>292065
Кастануть то есть в рандом месте, но только чтобы сфера при касте не пересекала куб?
>>292115
#988 #292109
>>292065
Иди нахуй, мудак.
#989 #292115
>>292098
Чтобы сфера не пересекала пространство между трансформом и тем местом, где надо кастануть.
>>292120
#990 #292120
>>292115
Ты ебанутый, ты что сделать пытаешься?
>>292241
#991 #292241
>>292120
Уже сделал, лал.
#992 #292246
Посоны, а если у меня в if идут два условия через &&, то в случае провала проверки первого, второе проверяться будет? просто вторым условием идет лайнкаст, не хотелось бы лишний раз дергать
>>292269>>292347
#993 #292269
>>292246
Нет
#994 #292289
А есть ли разница в этих записях и какую лучше использовать?
vector1.x = vector2.x;
vector1.y = vector2.y;
vector1.z = vector2.z;

и

vector1 = vector2;
#995 #292292
>>292289
По моему x y z у векторов это ридонли переменные.
>>292338
#996 #292338
>>292289
вторую
>>292292
нет
>>292346
#997 #292346
>>292338
Почему вторую?
>>292351
#998 #292347
>>292246
В случае дефолтного юнити, но в других языках или даже в пределах одного языка, но с разными компиляторами\их настройками результат может отличаться.
>>292561
#999 #292348
Посоны, пишу в старте
print("Хуinya");
При запуске сцены в консоли нихуя, объект на сцене и активен. ЧЯДНТ?
>>292361
#1000 #292351
>>292346
Хотя бы потому что в 100 раз читабельнее. Да и по производительности второй вариант лучше (правда эту разницу один хуй никто не заметит)
>>292572
#1001 #292361
>>292348
Да, вот я дебил, забыл прикрепить скрипт к объекту.
#1002 #292496
>>277234
на официальном сайте
Очень важная информация #1003 #292540
Когда будете перекат пилить, вкиньте ссылку сюда, а не как всегда.
>>292603
#1004 #292561
>>292347
Дибил. Не будет результат отличаться ни в одном языке (кроме языка от Васяна из 8го Б).
sage #1005 #292572
>>292351

>Да и по производительности второй вариант лучше (правда эту разницу один хуй никто не заметит)


Хватит нести хуйню про производительность, инвалиды ебаные, если нихуя в этом не понимаете.
#1006 #292574
Посоны, допустим я бокскастю по координатам и получаю RaycastHit. Там может быть два разных обжекта - ну куб-нода или куб-домик. В случае если это куб нода, мне нужно получить из него компонент скрипт и выполнить оттуда функцию. Если это куб-домик то соответственно нужно получить другой компонент и сделать другое действие.
Как это сделать лучше - через if (Получаем один компонент)else(если не получили, значит получаем другой компонент другого типа), или как то иначе?
>>292608>>292621
#1007 #292602
>>292289
В юнити перегружены операторы на операции с вектором, так что скорее всего при операции копирования происходит все точь в точь как первые 3 строки. Разницы никакой, но если любишь заниматься хуетой то можешь писать как угодно и даже 2 раза.
#1008 #292603
>>292540
ВСЕМ СКИНУ А ТЕБЕ НЕ СКИНУ
#1009 #292608
>>292574
Можно например написать кастомный интерфейс с методом триггером, который будут реализовывать заинтересованные классы подвешенные на эти 2 обжекта. И при столкновении просто вызываешь gameObject.SendMessage у таргета коллайдера или как его там. Тогда вообще не нужно знать с чем произошло столкновение. Вызываемые методы выполнятся если они есть на этом обжекте.
#1010 #292621
>>292574
лучше сделать 2 компонента с твоими действиями и повесить их на эти объекты, чем писать простыню в райкасте.
#1011 #293096
ПЕРЕКОТ ДЛЯ ЮНИТИ ГОСПОД https://2ch.hk/gd/res/292629.html (М)
ПЕРЕКОТ ДЛЯ ЮНИТИ ГОСПОД https://2ch.hk/gd/res/292629.html (М)
#1012 #300224
Народ подскажите UNITY_PROJ_COORD , что делает
и есть ли аналог ее под glsl
Обновить тред
Двач.hk не отвечает.
Вы видите копию треда, сохраненную 23 октября 2016 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
« /gd/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски